/*
Theme Name: Atelier
Theme URI: https://example.com/atelier
Author: 하정우브라더스
Author URI: https://example.com
Description: Split-screen skin in espresso, latte and rust — on desktop a fixed full-height photo panel fills the left half and swaps its photo and "02 — 공간" caption as the right half scrolls through tall, airy chapters (hero, numbered services, three-step flow, facility checklist, FAQ, location with map, recent news, large-phone call-to-action). Below 1024px the split collapses into stacked chapters with their own photos and an app-like bottom tab bar. Generated per-site by the theme_builder pipeline.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: atelier
*/

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500&family=IBM+Plex+Sans+KR:wght@400;500;700&family=Noto+Sans+KR:wght@400;500;700;800&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

/* ==========================================================
   Tokens — single committed dark warm look (espresso / latte / rust)
   ========================================================== */
:root {
  --bg:            #1b1512;
  --surface:       #241c18;
  --raised:        #2e2520;
  --line:          #43362e;
  --text:          #efe3d3;
  --muted:         #bba995;
  --accent:        #c8683f;
  --accent-strong: #e08457;
  --fill:          #8e3f22;
  --fill-hover:    #a04828;
  --on-fill:       #fff5ec;
  --ff-sans:       'Pretendard', sans-serif;
  --ff-display:    'Oswald', 'Bebas Neue', 'Arial Narrow', sans-serif;
  --half:          50%;
  --bar:           64px;
  --tab:           64px;
  --gutter:        20px;
  --ease:          cubic-bezier(.22, .7, .25, 1);
}

@media (min-width: 1024px) {
  :root { --gutter: 56px; }
}
@media (min-width: 1440px) {
  :root { --gutter: 80px; }
}

/* ==========================================================
   Base
   ========================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; -webkit-text-size-adjust: 100%; background: var(--bg); }
body {
  position: relative;
  margin: 0;
  padding-bottom: calc(var(--tab) + env(safe-area-inset-bottom, 0px));
  background: var(--bg);
  color: var(--text);
  font-family: var(--ff-sans);
  font-size: 15px;
  line-height: 1.8;
  word-break: keep-all;
  overflow-wrap: break-word;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; color: var(--text); font-family: var(--ff-sans); font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
::selection { background: var(--fill); color: var(--on-fill); }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid var(--accent-strong);
  outline-offset: 3px;
  border-radius: 7px;
}
.qffzy89 { width: 18px; height: 18px; flex: none; fill: currentColor; }

.nqlcsvy {
  position: absolute;
  left: 12px;
  top: -60px;
  z-index: 100;
  padding: 10px 15px;
  background: var(--fill);
  color: var(--on-fill);
  font-weight: 700;
  border-radius: 11px;
}
.nqlcsvy:focus { top: 12px; }

/* ==========================================================
   Top bar (mobile: floats over the panel photo; desktop: fixed over the right half)
   ========================================================== */
.j9cs3n6 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  height: var(--bar);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 var(--gutter);
  background: linear-gradient(180deg, rgba(20, 15, 12, .82), rgba(20, 15, 12, 0));
  transition: background 0.307s ease, border-color 0.285s ease;
}
.fzxnfdj { display: flex; align-items: center; gap: 11px; min-width: 0; }
.i5gna3u { width: 30px; height: 30px; flex: none; fill: var(--accent-strong); }
.ajt2lit { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.gi20wvl { font-weight: 800; font-size: 18px; letter-spacing: -0.01em; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wabr0wc { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mict5o6 { display: none; }
.rkyfr4l { display: none; }

/* ==========================================================
   Photo panel (mobile: the top photo of the page; desktop: fixed left half)
   ========================================================== */
.v9asry1 {
  position: relative;
  height: 64vh;
  min-height: 380px;
  max-height: 620px;
  overflow: hidden;
  background: var(--surface);
}
.ae8cjdf {
  position: absolute;
  inset: 0;
  background-color: var(--surface);
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 0.812s var(--ease), transform 2.354s var(--ease);
}
.ae8cjdf.active { opacity: 1; transform: scale(1); }
.x822ui5 {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 15, 12, .1) 35%, rgba(20, 15, 12, .9) 100%);
  pointer-events: none;
}
.kagz2bn {
  position: absolute;
  left: var(--gutter);
  right: var(--gutter);
  bottom: 28px;
  display: flex;
  align-items: flex-end;
  gap: 13px;
  color: var(--text);
  transition: opacity 0.372s ease;
}
.kagz2bn.hidden { opacity: 0; }
@media (max-width: 1023px) {
  .kagz2bn { display: none; }
}
.kucnde5 {
  font-family: var(--ff-display);
  font-weight: 300;
  font-size: 63px;
  line-height: .9;
  letter-spacing: -0.01em;
  color: var(--accent-strong);
}
.xplf2xt { flex: none; width: 34px; height: 2px; margin-bottom: 14px; background: var(--text); opacity: .7; }
.nldfv8v { font-weight: 800; font-size: 22px; line-height: 1.25; letter-spacing: -0.02em; padding-bottom: 4px; }

/* ==========================================================
   Chapters (right-hand content)
   ========================================================== */
main { counter-reset: chap; }
[data-panel] { counter-increment: chap; }
.u8sh788 { position: relative; border-bottom: 1px solid var(--line); }
.u8sh788:nth-child(even) { background: var(--surface); }
.rhs9702 {
  height: 58vw;
  min-height: 220px;
  max-height: 420px;
  background-color: var(--raised);
  background-size: cover;
  background-position: center;
}
.n3jh4e7 { padding: 56px var(--gutter) 64px; max-width: 760px; }
.kytijfq { display: flex; align-items: baseline; gap: 14px; margin-bottom: 18px; }
.cir4wmf::before {
  content: counter(chap, decimal-leading-zero);
  font-family: var(--ff-display);
  font-weight: 300;
  font-size: 60px;
  line-height: 1;
  color: var(--accent);
}
.qhyepi2 {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--accent-strong);
}
.tousojd { font-size: 31px; line-height: 1.22; margin-bottom: 16px; }
.vmt53zz { color: var(--muted); font-size: 16px; margin-bottom: 28px; max-width: 560px; }
.emlh8oq { color: var(--accent-strong); }
.uzrvqk2 { color: var(--muted); font-size: 15px; line-height: 1.9; white-space: pre-line; }
.uzrvqk2:empty { display: none; }
.i1bssf9 { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.q12yhdq { margin-top: 28px; color: var(--muted); }
.q12yhdq a { color: var(--accent-strong); font-weight: 700; }
.w87j8j9 { font-size: 12px; color: var(--muted); margin-bottom: 22px; }
.w87j8j9 a:hover { color: var(--accent-strong); }
.vfwhd6s { margin-top: 28px; }
.cz8eksj { color: var(--accent-strong); font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.cz8eksj:hover { color: var(--text); }

/* Buttons */
.ev4q6ih { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.aj2na08 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 50px;
  padding: 11px 23px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  transition: background 0.21s ease, color 0.213s ease, border-color 0.173s ease, transform 0.195s ease;
}
.aj2na08:hover { transform: translateY(-2px); }
.v6krviw { background: var(--fill); color: var(--on-fill); }
.v6krviw:hover { background: var(--fill-hover); }
.a0oe2pt { border-color: var(--line); color: var(--text); background: transparent; }
.a0oe2pt:hover { border-color: var(--accent-strong); color: var(--accent-strong); }

/* Hero */
.p56jcbv { font-size: 40px; line-height: 1.08; letter-spacing: -0.035em; }
.r0ut1yd { display: block; margin-top: 12px; font-size: 22px; line-height: 1.35; font-weight: 700; color: var(--accent-strong); letter-spacing: -0.02em; }
.lynlaci { margin-top: 22px; font-size: 17px; color: var(--muted); max-width: 540px; }
.zrnekn5 { margin-top: 14px; max-width: 540px; }
.bd6tl9h { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 40px; background: var(--line); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; max-width: 560px; }
.ijhq95j { display: flex; flex-direction: column; gap: 2px; padding: 15px 14px; background: var(--bg); }
.u8sh788:nth-child(even) .ijhq95j { background: var(--surface); }
.yfvfegx { font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--accent-strong); }
.gvhas3b { font-size: 16px; font-weight: 700; color: var(--text); }
.prrc4ml { margin-top: 36px; }

/* Services (numbered rows) */
.dg48jw9 { border-top: 1px solid var(--line); }
.qp2zdfi { display: grid; grid-template-columns: 56px 1fr; gap: 16px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.oolubkj { font-family: var(--ff-display); font-weight: 400; font-size: 30px; line-height: 1.1; color: var(--accent); }
.i7dy5mv { min-width: 0; }
.t9kxzil { font-size: 20px; margin-bottom: 8px; }
.tru3cc0 { color: var(--muted); }
.tru3cc0 a { color: var(--accent-strong); font-weight: 700; }

/* Flow (three steps) */
.oc8yuwa { display: grid; gap: 14px; counter-reset: none; }
.xf8g6vu { position: relative; padding: 20px 21px 24px; background: var(--raised); border: 1px solid var(--line); border-radius: 22px; }
.da4mzqt { display: inline-block; margin-bottom: 10px; padding: 4px 11px; border-radius: 999px; background: var(--fill); color: var(--on-fill); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.mfvpk73 { font-size: 18px; margin-bottom: 6px; }
.etp6co3 { color: var(--muted); }
.etp6co3 a { color: var(--accent-strong); font-weight: 700; }

/* Facility checklist */
.luvtn8i { display: grid; grid-template-columns: 1fr; gap: 10px; align-items: start; }
.c0aqowg { position: relative; padding: 15px 15px 15px 47px; background: var(--raised); border: 1px solid var(--line); border-radius: 18px; font-weight: 500; color: var(--text); }
.c0aqowg::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--fill);
}
.c0aqowg::after {
  content: "";
  position: absolute;
  left: 21px;
  top: 50%;
  width: 8px;
  height: 4px;
  border-left: 2px solid var(--on-fill);
  border-bottom: 2px solid var(--on-fill);
  transform: translateY(-75%) rotate(-45deg);
}

/* FAQ */
.zk4zx4k { border-top: 1px solid var(--line); }
.k6516ax { border-bottom: 1px solid var(--line); }
.goz3hnv {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 17px;
  padding: 21px 0;
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  font-size: 16px;
  color: var(--text);
}
.goz3hnv::-webkit-details-marker { display: none; }
.sztxpvf { position: relative; flex: none; width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 50%; }
.sztxpvf::before, .sztxpvf::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 11px;
  height: 2px;
  transform: translate(-50%, -50%);
  background: var(--accent-strong);
  transition: transform 0.265s ease;
}
.sztxpvf::after { transform: translate(-50%, -50%) rotate(90deg); }
.k6516ax[open] .sztxpvf::after { transform: translate(-50%, -50%); }
.a9h6i59 { padding: 0 0 20px; color: var(--muted); max-width: 600px; }
.eczp9ra { padding: 23px; background: var(--raised); border: 1px solid var(--line); border-radius: 22px; }

/* Location */
.x8awo8s { height: 300px; overflow: hidden; border-radius: 22px; border: 1px solid var(--line); background: var(--raised); }
.x8awo8s iframe { display: block; width: 100%; height: 100%; border: 0; filter: grayscale(.35) contrast(1.05); }
.ixj8wkw { margin: 25px 0 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.b5j6mud { display: grid; grid-template-columns: 96px 1fr; gap: 11px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.b5j6mud dt { font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--accent-strong); padding-top: 3px; }
.b5j6mud dd { margin: 0; font-weight: 700; color: var(--text); }
.b5j6mud dd small { display: block; font-weight: 400; font-size: 13px; color: var(--muted); }
.b5j6mud dd a { color: var(--accent-strong); }

/* News */
.zbwy6si { display: grid; gap: 14px; }
.wmn0j9b { display: block; padding: 22px; background: var(--raised); border: 1px solid var(--line); border-radius: 22px; transition: border-color 0.218s ease, transform 0.194s ease; }
a.wmn0j9b:hover { border-color: var(--accent); transform: translateY(-2px); }
.n1kyfly { display: block; font-size: 13px; font-weight: 700; letter-spacing: .14em; color: var(--accent-strong); margin-bottom: 6px; }
.d2rbk6e { font-size: 19px; line-height: 1.35; margin-bottom: 8px; }
.d2rbk6e a:hover { color: var(--accent-strong); }
.gutaux4 { color: var(--muted); font-size: 16px; }
.gutaux4 p { margin: 0 0 9px; }
.f6d9zl2 { color: var(--muted); }
.z6mctx3 { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 7px; }
.z6mctx3 a, .z6mctx3 span { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 14px; color: var(--text); }
.z6mctx3 span { background: var(--fill); border-color: var(--fill); color: var(--on-fill); }

/* Rooms (price) */
.eg2l5gl { display: grid; gap: 14px; }
.zvmt6v8 { padding: 26px; background: var(--raised); border: 1px solid var(--line); border-radius: 22px; }
.c82mu4d { border-color: var(--accent); }
.jd19j2b { font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-strong); margin-bottom: 8px; }
.s9romjw { font-size: 24px; margin-bottom: 8px; }
.s7gz3w3 { color: var(--muted); }
.ciuis0q { margin-top: 14px; font-weight: 700; color: var(--text); }

/* Prose */
.r8we0li { color: var(--muted); max-width: 620px; }
.r8we0li p { margin-bottom: 16px; }
.r8we0li .uzrvqk2 { margin-top: 8px; }

/* Hours */
.z2scdrz { font-family: var(--ff-display); font-weight: 300; font-size: 64px; line-height: 1; letter-spacing: -0.01em; color: var(--text); margin-bottom: 18px; }

/* Inner banners */
.nv3aquk { font-size: 38px; line-height: 1.12; letter-spacing: -0.035em; }
.fgv9syj { margin-top: 18px; color: var(--muted); font-size: 15px; max-width: 560px; }

/* Closing CTA */
.odj5ail { background: var(--raised); }
.odj5ail:nth-child(even) { background: var(--raised); }
.r4c1e9v { font-size: 28px; line-height: 1.22; max-width: 560px; }
.c1lvxwn { margin-top: 14px; color: var(--muted); }
.f9f9wrr {
  display: inline-block;
  margin-top: 22px;
  font-family: var(--ff-display);
  font-weight: 400;
  font-size: 47px;
  line-height: 1.05;
  letter-spacing: .01em;
  color: var(--accent-strong);
  border-bottom: 2px solid var(--accent);
  padding-bottom: 4px;
}
.f9f9wrr:hover { color: var(--text); }

/* Single post */
.p9olkn0 { margin-bottom: 28px; }
.lqwu3cp { font-size: 31px; line-height: 1.25; }
.d5t0wns { margin-bottom: 28px; border-radius: 22px; overflow: hidden; }
.joyck1f { font-size: 17px; color: var(--text); }
.joyck1f > * + * { margin-top: 18px; }
.joyck1f h2 { font-size: 24px; margin-top: 40px; padding-top: 18px; border-top: 1px solid var(--line); }
.joyck1f h3 { font-size: 20px; margin-top: 30px; color: var(--accent-strong); }
.joyck1f p { color: var(--text); }
.joyck1f a { color: var(--accent-strong); text-decoration: underline; text-underline-offset: 3px; }
.joyck1f ul, .joyck1f ol { padding-left: 22px; color: var(--text); }
.joyck1f ul { list-style: disc; }
.joyck1f ol { list-style: decimal; }
.joyck1f li { margin: 6px 0; }
.joyck1f li::marker { color: var(--accent-strong); }
.joyck1f blockquote { margin: 26px 0; padding: 16px 22px; border-left: 3px solid var(--accent); background: var(--raised); color: var(--muted); }
.joyck1f img { border-radius: 18px; }
.joyck1f table { width: 100%; border-collapse: collapse; font-size: 14px; }
.joyck1f th, .joyck1f td { padding: 10px; border: 1px solid var(--line); text-align: left; }
.epxszmv { display: grid; gap: 13px; margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--line); }
.epxszmv a { color: var(--accent-strong); font-weight: 700; }

/* ==========================================================
   Footer
   ========================================================== */
.t9glf9c { padding: 48px var(--gutter) 32px; background: var(--bg); border-top: 1px solid var(--line); }
.inxv5q9 { display: grid; gap: 29px; }
.l35mbwo { min-width: 0; }
.usv36s7 { font-weight: 800; font-size: 20px; color: var(--text); }
.dhp2fi8 { margin-top: 6px; color: var(--muted); font-size: 13px; }
.bj1c002 { display: inline-block; margin-top: 12px; font-family: var(--ff-display); font-size: 24px; color: var(--accent-strong); }
.ghxyegv { display: flex; flex-wrap: wrap; gap: 7px 20px; }
.ghxyegv a { color: var(--muted); font-size: 14px; }
.ghxyegv a:hover { color: var(--accent-strong); }
.ugaac0k { margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); display: grid; gap: 8px; }
.kcbcwib { color: var(--muted); font-size: 13px; }
.kcbcwib strong { color: var(--accent-strong); }
.a9a9tqz { color: var(--muted); font-size: 12px; }

/* ==========================================================
   Bottom tab bar (mobile / tablet only)
   ========================================================== */
.gfk5yff {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background: rgba(36, 28, 24, .97);
  border-top: 1px solid var(--line);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.oitg7xz {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  height: var(--tab);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.x48n7xl { line-height: 1.1; white-space: nowrap; }
.r2l6lqt { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.oitg7xz.active { color: var(--accent-strong); }
.zlnmc2x { color: var(--on-fill); background: var(--fill); }
.zlnmc2x .r2l6lqt { fill: currentColor; stroke: none; }

/* ==========================================================
   Reveal (only hidden once main.js has added html.js)
   ========================================================== */
.js .reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.628s var(--ease), transform 0.704s var(--ease); }
.js .reveal.visible { opacity: 1; transform: none; }

/* ==========================================================
   Responsive
   ========================================================== */
@media (min-width: 600px) {
  .bd6tl9h { grid-template-columns: repeat(4, 1fr); }
  .luvtn8i { grid-template-columns: 1fr 1fr; }
  .p56jcbv { font-size: 57px; }
  .tousojd, .r4c1e9v { font-size: 39px; }
  .nv3aquk { font-size: 49px; }
  .f9f9wrr { font-size: 54px; }
  .inxv5q9 { grid-template-columns: 1fr 1fr; align-items: start; }
  .epxszmv { grid-template-columns: 1fr 1fr; }
  .epxszmv div + div { text-align: right; }
}

@media (min-width: 1024px) {
  body { padding-bottom: 0; }
  .gfk5yff { display: none; }

  .j9cs3n6 {
    position: fixed;
    left: var(--half);
    right: 0;
    background: rgba(27, 21, 18, 0);
    border-bottom: 1px solid transparent;
  }
  .j9cs3n6.scrolled {
    background: rgba(27, 21, 18, .94);
    border-bottom-color: var(--line);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
  .fzxnfdj { flex: none; }
  .wabr0wc { display: none; }
  .mict5o6 { display: block; margin-left: auto; }
  .yzmtuav { display: flex; align-items: center; gap: 21px; }
  .yzmtuav a { font-size: 13px; font-weight: 600; color: var(--muted); white-space: nowrap; transition: color 0.178s ease; }
  .yzmtuav a:hover, .yzmtuav a.active { color: var(--accent-strong); }
  .yzmtuav li:nth-child(3), .yzmtuav li:nth-child(6) { display: none; }
  .rkyfr4l {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: none;
    height: 40px;
    padding: 0 16px;
    border-radius: 999px;
    background: var(--fill);
    color: var(--on-fill);
    font-weight: 700;
    font-size: 15px;
  }
  .rkyfr4l:hover { background: var(--fill-hover); }
  .rkyfr4l .qffzy89 { width: 16px; height: 16px; }
  .g4lbdmu { white-space: nowrap; }

  .v9asry1 {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: var(--half);
    height: auto;
    max-height: none;
    z-index: 5;
  }
  .kagz2bn { bottom: 48px; left: 48px; right: 48px; gap: 20px; }
  .kucnde5 { font-size: 136px; }
  .xplf2xt { width: 56px; margin-bottom: 26px; }
  .nldfv8v { font-size: 36px; padding-bottom: 12px; }

  .kduhl5e { margin-left: var(--half); min-width: 0; }
  .rhs9702 { display: none; }
  .u8sh788 {
    min-height: 86vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .iwza3nd { min-height: 100vh; }
  .tksafhe { min-height: 72vh; }
  .im4gvfc, .z4rs9k4 { min-height: 0; }
  .n3jh4e7 { padding: 128px var(--gutter) 112px; max-width: 720px; }
  .iwza3nd .n3jh4e7 { padding-top: 140px; }
  .cir4wmf::before { font-size: 72px; }
  .p56jcbv { font-size: 55px; }
  .nv3aquk { font-size: 45px; }
  .tousojd, .r4c1e9v { font-size: 39px; }
  .f9f9wrr { font-size: 66px; }
  .bd6tl9h { grid-template-columns: 1fr 1fr; }
  .oc8yuwa { gap: 17px; }
  .x8awo8s { height: 340px; }
}

@media (min-width: 1600px) {
  .yzmtuav li:nth-child(3), .yzmtuav li:nth-child(6) { display: list-item; }
}

@media (min-width: 1280px) {
  .bd6tl9h { grid-template-columns: repeat(4, 1fr); }
  .p56jcbv { font-size: 66px; }
}

@media (max-width: 1599px) and (min-width: 1024px) {
  .g4lbdmu { display: none; }
  .rkyfr4l::after { content: "예약"; }
}

@media (max-width: 380px) {
  .p56jcbv { font-size: 39px; }
  .r0ut1yd { font-size: 20px; }
  .tousojd, .r4c1e9v { font-size: 27px; }
  .nv3aquk { font-size: 33px; }
  .f9f9wrr { font-size: 37px; }
  .aj2na08 { width: 100%; }
  .b5j6mud { grid-template-columns: 80px 1fr; }
  .kucnde5 { font-size: 53px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
