* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: #f2f7f5;
  color: #15241f;
  font-family: Arial, "Noto Sans KR", sans-serif;
}
header {
  height: 58px;
  background: #087b61;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 max(16px, calc((100% - 980px) / 2));
}
header a {
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  font-size: 20px;
}
header select {
  border: 1px solid #ffffff66;
  border-radius: 9px;
  padding: 8px;
  background: #fff;
}
main {
  max-width: 980px;
  margin: auto;
  padding: 18px;
}
.hero {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 30px #163d3020;
}
.hero > img {
  width: 100%;
  height: 340px;
  object-fit: cover;
}
.shop-gallery{position:relative;width:100%;height:clamp(300px,48vw,520px);overflow:hidden;background:#26352f}.shop-gallery::before{content:"";position:absolute;inset:-24px;background-image:var(--gallery-bg);background-position:center;background-size:cover;filter:blur(24px) brightness(.55);transform:scale(1.08)}.shop-gallery-image{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;cursor:zoom-in}.shop-gallery-count{position:absolute;z-index:3;top:14px;right:14px;padding:6px 10px;border-radius:20px;background:#10231dcc;color:#fff;font-size:12px;font-weight:900}.shop-gallery-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:#103d35d9;color:#fff;font-size:32px;line-height:38px;cursor:pointer}.shop-gallery-arrow.prev{left:12px}.shop-gallery-arrow.next{right:12px}.expandable-image{cursor:zoom-in}.expandable-image:focus-visible{outline:4px solid #f5b941;outline-offset:-4px}
.shop-preview-card{overflow:hidden}.shop-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.shop-preview-head h2{margin:0}.shop-preview-count{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#e8f7f1;color:#087b61;font-size:12px;font-weight:900}.shop-preview-stage{position:relative}.shop-preview-track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain;border-radius:14px;background:#e5efeb}.shop-preview-track::-webkit-scrollbar{display:none}.shop-preview-slide{display:block;flex:0 0 100%;width:100%;aspect-ratio:4/3;overflow:hidden;scroll-snap-align:center;scroll-snap-stop:always;background:#dce8e3}.shop-preview-slide img{display:block;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;border-radius:0!important}.shop-preview-arrow{position:absolute;z-index:2;top:50%;display:grid;width:42px;height:42px;place-items:center;padding:0;border:1px solid #ffffff8c;border-radius:50%;background:#0a3329c9;color:#fff;font:900 29px/1 Arial;box-shadow:0 5px 18px #001b1450;cursor:pointer;transform:translateY(-50%);backdrop-filter:blur(6px)}.shop-preview-arrow.prev{left:9px}.shop-preview-arrow.next{right:9px}.shop-preview-arrow:disabled{opacity:.28;cursor:default}.shop-preview-arrow:focus-visible{outline:3px solid #f5b941;outline-offset:2px}
#imageLightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#06100deb;color:#fff;overflow:hidden}#imageLightbox::backdrop{background:#06100deb}.image-lightbox-stage{position:relative;display:grid;place-items:center;width:100%;height:100%;padding:46px 18px}.image-lightbox-stage img{display:block;max-width:100%;max-height:calc(100dvh - 92px);object-fit:contain;border-radius:8px}.image-lightbox-close{position:absolute;z-index:3;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:#12231d;font-size:30px;line-height:1;cursor:pointer}.image-lightbox-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:48px;height:56px;border:0;border-radius:14px;background:#fffde8;color:#075e4b;font-size:38px;line-height:1;cursor:pointer}.image-lightbox-arrow.prev{left:max(10px,env(safe-area-inset-left))}.image-lightbox-arrow.next{right:max(10px,env(safe-area-inset-right))}.image-lightbox-count{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:7px 12px;border-radius:20px;background:#06100dcc;color:#fff;font-size:13px;font-weight:900}.image-lightbox-arrow[hidden]{display:none}
.hero-body {
  padding: 20px;
}
.hero h1 {
  margin: 0 0 7px;
}
.meta {
  color: #5a6b65;
}
.hero-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.share-actions {
  display: flex;
  gap: 7px;
}
.share-actions button,
.short-link button,
.price-tabs button {
  border: 1px solid #bfd2cb;
  background: #fff;
  color: #087b61;
  border-radius: 9px;
  padding: 9px;
  font-weight: 900;
  cursor: pointer;
}
.actions {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 16px;
}
.actions a,
.actions button[data-copy-contact] {
  padding: 12px;
  text-align: center;
  border: 1px solid #bfd2cb;
  border-radius: 10px;
  text-decoration: none;
  color: #087b61;
  font-weight: 900;
  background: #fff;
  font: inherit;
  cursor: pointer;
}

/* One photo experience for legacy and restaurant detail templates. */
.tm-restaurant-hero > .shop-gallery{height:420px;min-height:420px}
.tm-restaurant-hero .shop-gallery-arrow{z-index:5}
.tm-restaurant-hero .shop-gallery-count{z-index:5}
.tm-restaurant-hero .shop-photo-attribution{z-index:5}
.tm-restaurant-overlay{z-index:2;pointer-events:none}
.tm-restaurant-overlay a,.tm-restaurant-overlay button{pointer-events:auto}
#imageLightbox .image-lightbox-stage{touch-action:pan-y pinch-zoom}
@media(max-width:680px){.tm-restaurant-hero > .shop-gallery{height:340px;min-height:340px}.image-lightbox-arrow{width:44px;height:52px;background:#fffef0e8}}
.actions .primary {
  background: #087b61;
  color: #fff;
}
.actions .mobile-booking {
  background: #0c5ca8;
}
.grid {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 15px;
  margin-top: 15px;
}
.card {
  background: #fff;
  border: 1px solid #dbe6e2;
  border-radius: 15px;
  padding: 17px;
  margin-bottom: 15px;
}
.card h2 {
  margin: 0 0 12px;
}
.share-card {
  display: grid;
  grid-template-columns: 1fr 118px;
  align-items: center;
  gap: 18px;
  margin-top: 15px;
}
.share-card img {
  width: 118px;
  height: 118px;
}
.short-link {
  display: flex;
  gap: 7px;
}
.short-link input {
  width: 100%;
  min-width: 0;
  border: 1px solid #d3dfdb;
  border-radius: 9px;
  padding: 11px;
  background: #f7faf9;
}
.price-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-bottom: 8px;
}
.price-tabs button.active {
  background: #087b61;
  color: #fff;
}
.price {
  display: flex;
  justify-content: space-between;
  padding: 11px 0;
  border-bottom: 1px solid #edf1ef;
}
.price-note {
  color: #66736f;
  font-size: 12px;
  line-height: 1.5;
}
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.chip {
  background: #e8f7f1;
  border-radius: 20px;
  padding: 7px 10px;
}
.event {
  background: #fff4d8;
  border-color: #f0d58c;
}
.map {
  width: 100%;
  height: 240px;
  border: 0;
  border-radius: 12px;
}
.review {
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}
.menu-product{border:1px solid #dce7e3;border-radius:14px;margin-bottom:10px;background:#fff}.menu-product-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,auto);gap:8px 12px;align-items:center;padding:12px}.menu-product-body p{grid-column:1/-1;margin:0;color:#4a5a55;font-size:13px;line-height:1.45;white-space:pre-line}.menu-product-body button{grid-column:2;grid-row:1;width:auto;min-width:118px;border:0;border-radius:10px;background:#087b61;color:#fff;padding:12px 14px;font-weight:900;cursor:pointer}.menu-product .price{display:grid;gap:4px;padding:0;border-bottom:0}.menu-product .price span{font-weight:900;color:#15241f}.menu-product .price b{color:#087b61;font-size:16px}#shopInquiryDialog{width:min(92vw,480px);max-height:88vh;border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px #102b2360}#shopInquiryDialog::backdrop{background:#0d231d99}#shopInquiryForm{padding:18px;overflow:auto}#shopInquiryForm label{display:grid;gap:5px;margin:10px 0;font-size:12px;font-weight:800;color:#496059}#shopInquiryForm input,#shopInquiryForm textarea{width:100%;border:1px solid #cddbd6;border-radius:10px;padding:11px;font:inherit}#shopInquiryForm textarea{min-height:72px}.inquiry-head{display:flex;justify-content:space-between;gap:10px}.inquiry-head small{color:#087b61;font-weight:900;letter-spacing:.1em}.inquiry-head h2{margin:4px 0}.inquiry-head>button{width:38px;height:38px;border:0;border-radius:50%;background:#edf4f1;font-size:23px}.contact-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.contact-choice button{border:1px solid #cddbd6;background:#fff;border-radius:9px;padding:9px 3px;font-size:11px}.contact-choice button.active{background:#087b61;color:#fff}.inquiry-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inquiry-consent{grid-template-columns:auto 1fr!important;align-items:center}.inquiry-consent input{width:18px!important;height:18px}.inquiry-submit{width:100%;border:0;border-radius:11px;background:#087b61;color:#fff;padding:14px;font-weight:900;font-size:15px}#inquiryResult{color:#087b61;line-height:1.5}
.loading {
  text-align: center;
  padding: 80px;
}
@media (max-width: 680px) {
  .shop-preview-card{padding:14px}.shop-preview-head{margin-bottom:10px}.shop-preview-track{border-radius:12px}.shop-preview-arrow{width:38px;height:38px;font-size:26px}.shop-preview-arrow.prev{left:7px}.shop-preview-arrow.next{right:7px}
  .shop-gallery{height:min(72vw,420px);min-height:260px}.shop-gallery-arrow{width:38px;height:38px;font-size:29px}.shop-gallery-count{top:10px;right:10px}
  .image-lightbox-stage{padding:52px 8px}.image-lightbox-stage img{max-height:calc(100dvh - 104px);border-radius:4px}.image-lightbox-arrow{width:42px;height:52px;background:#fffef0e8}.image-lightbox-arrow.prev{left:6px}.image-lightbox-arrow.next{right:6px}
  main {
    padding: 10px;
  }
  .hero > img {
    height: 230px;
  }
  .hero-body {
    padding: 15px;
  }
  .hero-title-row {
    display: block;
  }
  .share-actions {
    margin-top: 12px;
  }
  .share-actions button {
    flex: 1;
  }
  .menu-product-body{grid-template-columns:minmax(0,1fr) 112px;padding:10px;gap:7px 9px}.menu-product-body button{min-width:112px;padding:12px 8px}.menu-product-body p{font-size:12px}.menu-product .price b{font-size:15px}
  .grid {
    grid-template-columns: 1fr;
  }
  .actions {
    grid-template-columns: 1fr 1fr;
  }
  .share-card {
    grid-template-columns: 1fr 94px;
  }
  .share-card img {
    width: 94px;
    height: 94px;
  }
  .short-link {
    display: grid;
    grid-template-columns: 1fr auto;
  }
}
footer{max-width:1050px;margin:0 auto;padding:10px 16px 34px;color:#68766f;font-size:12px;line-height:1.55}footer strong{color:#087b61;letter-spacing:.12em}footer p{margin:5px 0}
.listing-status{display:inline-block;margin-bottom:8px;padding:6px 9px;border-radius:20px;background:#fff1ef;color:#a43126;font-size:12px;font-weight:900}.restaurant-actions{grid-template-columns:2fr 1fr}.delivery-order,.wide-order{background:#ef3e2f!important;color:#fff!important;border-color:#ef3e2f!important}.wide-order{display:block;margin-top:14px;padding:13px;border-radius:10px;text-align:center;text-decoration:none;font-weight:900}.menu-list{list-style:none;margin:0;padding:0}.menu-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #edf1ef;font-weight:900}.menu-list li small{max-width:46%;color:#7a8883;font-size:10px;font-weight:500;text-align:right}.verification-note{border-color:#f2c7c1;background:#fff8f7}.verification-note strong{color:#a43126}.source-card a{color:#087b61;font-weight:900}.restaurant-hero>img{background:#087b61}
.sns-why{margin:14px 0;padding:13px;border:1px solid #bfe3d7;border-radius:12px;background:#effaf6}.sns-why strong{color:#087b61}.sns-why p{margin:5px 0 0;color:#4e625b;font-size:12px;line-height:1.55}.sns-choose{font-weight:900}.sns-code-box{margin-top:12px;padding:12px;border-radius:12px;background:#f4f8f6}.sns-code-box>p{margin:0 0 8px;font-size:12px;line-height:1.5}.sns-code-box>strong{display:block;text-align:center;font-size:30px;letter-spacing:.18em;color:#087b61}.sns-code-box textarea{min-height:68px!important;font-size:11px!important}.sns-code-actions{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:6px}.sns-code-actions button,.sns-code-actions a{border:1px solid #bad1c9;border-radius:9px;padding:10px 5px;background:#fff;color:#075e4b;text-align:center;text-decoration:none;font-size:11px;font-weight:900}.sns-code-actions a{background:#087b61;color:#fff}.voucher-link{display:inline-block;margin-top:8px;padding:10px 14px;border-radius:10px;background:#087b61;color:#fff;text-decoration:none;font-weight:900}#inquiryVerifyStep .contact-choice{grid-template-columns:repeat(3,1fr)}
.sns-name-note{margin:12px 0;padding:11px 12px;border-radius:10px;background:#effaf6;color:#075e4b;font-size:12px;font-weight:800;line-height:1.5}
.tm-restaurant-hero{position:relative;min-height:380px;border-radius:22px;overflow:hidden;background:#0b4f40;color:#fff}.tm-restaurant-hero>img{width:100%;height:420px;object-fit:cover;display:block}.tm-restaurant-overlay{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,#063b2b22 25%,#062b23df 100%)}.tm-eyebrow{font-size:12px;letter-spacing:.16em;font-weight:900;color:#f7c958}.tm-restaurant-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto}.tm-restaurant-overlay h1{font-size:clamp(30px,5vw,58px);margin:12px 0 4px;line-height:1.05}.tm-restaurant-overlay p{font-size:18px;margin:0 0 8px;font-weight:800}.tm-restaurant-overlay small{font-size:14px}.tm-restaurant-actions{display:grid;grid-template-columns:1.3fr 1.3fr 1fr;gap:10px;margin:14px 0}.tm-restaurant-actions a,.tm-primary,.tm-secondary{display:block;border:1px solid #b9d7cd;border-radius:12px;padding:14px;text-align:center;text-decoration:none;font-weight:900;background:#fff;color:#075e4b}.tm-restaurant-actions .tm-primary,.tm-primary{background:#087b61;color:#fff;border-color:#087b61}.tm-owner-note{padding:17px 20px;margin:0 0 15px;border-radius:14px;background:#fff8df;border:1px solid #efd38b;color:#4a3d1d}.tm-owner-note strong{display:block;color:#9c6d00;font-size:13px;letter-spacing:.1em}.tm-owner-note p{margin:6px 0;font-weight:800}.tm-owner-note span{font-size:12px;color:#766a4e}.tm-restaurant-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.8fr);gap:15px}.tm-section,.tm-side-card{background:#fff;border:1px solid #d8e5e0;border-radius:16px;padding:22px;margin-bottom:15px}.tm-section-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.tm-section-heading>span{font-size:12px;color:#087b61;font-weight:900}.tm-section-heading small{color:#087b61;font-weight:900;letter-spacing:.14em}.tm-section-heading h2{margin:4px 0 0;font-size:26px}.tm-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tm-menu-card{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;border:1px solid #d7e5df;border-radius:13px;padding:14px;background:#fbfdfc}.tm-menu-number{color:#087b61;font-weight:900}.tm-menu-card h3{margin:0;font-size:17px}.tm-menu-card p{margin:4px 0 0;color:#6c7b75;font-size:12px}.tm-menu-card strong{color:#087b61;font-size:12px}.tm-menu-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #edf2ef;color:#66736f;font-size:12px}.tm-secondary{padding:9px 11px;font-size:12px;white-space:nowrap}.tm-about-copy{font-size:16px;line-height:1.75}.tm-gallery{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;margin-bottom:15px}.tm-gallery-main{height:310px;border-radius:15px;overflow:hidden;background:#edf5f1}.tm-gallery-main img{width:100%;height:100%;object-fit:cover}.tm-gallery-placeholder{height:150px;border-radius:15px;background:linear-gradient(135deg,#d8eee6,#f8edcf);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#075e4b;font-weight:900;text-align:center;margin-bottom:10px}.tm-gallery-placeholder small{font-size:11px;margin-top:5px;color:#668078}.tm-side-card small{color:#087b61;font-weight:900;letter-spacing:.14em}.tm-side-card h2{font-size:22px;margin:5px 0 14px}.tm-side-card p{line-height:1.6}.tm-primary.wide{margin-top:18px}.tm-restaurant-footer-note{padding:18px 20px;border-radius:15px;background:#eff9f5;border:1px solid #c8e3d9;margin:0 0 15px}.tm-restaurant-footer-note strong{color:#087b61}.tm-restaurant-footer-note p{margin:6px 0;color:#5e7069;font-size:13px}.tm-restaurant-footer-note a{color:#087b61;font-weight:900;font-size:13px}
@media(max-width:680px){.tm-restaurant-hero{border-radius:14px;min-height:330px}.tm-restaurant-hero>img{height:340px}.tm-restaurant-overlay{padding:18px}.tm-restaurant-overlay h1{font-size:34px}.tm-restaurant-overlay p{font-size:16px}.tm-restaurant-actions{grid-template-columns:1fr 1fr}.tm-restaurant-actions a:last-child{grid-column:1/-1}.tm-restaurant-layout{grid-template-columns:1fr}.tm-menu-grid{grid-template-columns:1fr}.tm-menu-footer{align-items:flex-start;flex-direction:column}.tm-gallery{grid-template-columns:1fr}.tm-gallery-main{height:230px}.tm-gallery-placeholder{height:100px}.tm-section,.tm-side-card{padding:16px}}
@media(max-width:680px){.restaurant-actions{grid-template-columns:1fr}.menu-list li{align-items:flex-start;flex-direction:column}.menu-list li small{max-width:none;text-align:left}}
.schedule-guests{display:inline-flex;align-items:center;gap:6px;margin:4px 8px 4px 0;font-size:13px;font-weight:700}.guest-stepper{display:inline-flex;align-items:center;border:1px solid #b8d2c9;border-radius:8px;overflow:hidden;background:#fff}.guest-stepper button{width:30px;height:34px;border:0;background:#eef7f3;color:#087e68;font-size:20px;font-weight:800;line-height:1}.guest-stepper input{width:42px;height:34px;padding:4px;border:0;text-align:center;font-size:16px;font-weight:700}.guest-stepper input::-webkit-inner-spin-button,.guest-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media(max-width:600px){.shop-golf-row{flex-wrap:wrap;gap:8px}.shop-golf-row .shop-golf-main{min-width:calc(100% - 90px)}.shop-golf-row .shop-golf-price{margin-left:auto}.shop-golf-row .schedule-guests{width:100%;margin:0}.shop-golf-row .schedule-guests label{display:flex;align-items:center;gap:8px}.shop-golf-row [data-service-inquiry]{margin-left:auto}}@media(min-width:601px){.shop-golf-row .schedule-guests{white-space:nowrap}}
/* Top QR action: show a compact, branded in-page QR instead of a duplicate
   share section at the bottom of every business page. */
.shop-qr-dialog {
  width: min(92vw, 420px);
  padding: 0;
  border: 0;
  border-radius: 24px;
  background: transparent;
}
.shop-qr-dialog::backdrop {
  background: rgba(3, 29, 24, .72);
  backdrop-filter: blur(5px);
}
.shop-qr-sheet {
  position: relative;
  padding: 28px 24px 24px;
  border-radius: 24px;
  background: #fff;
  text-align: center;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .25);
}
.shop-qr-sheet small {
  color: #087a61;
  font-weight: 900;
  letter-spacing: .12em;
}
.shop-qr-sheet h2 {
  margin: 8px 32px 12px;
  color: #071f1a;
  font-size: clamp(22px, 5vw, 30px);
  line-height: 1.2;
}
.shop-qr-sheet img {
  display: block;
  width: min(72vw, 300px);
  height: auto;
  margin: 0 auto;
  border-radius: 14px;
}
.shop-qr-sheet p {
  margin: 8px 0 16px;
  color: #344b45;
  font-weight: 800;
}
.shop-qr-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #edf5f2;
  color: #102b25;
  font-size: 26px;
}
.shop-qr-copy {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 13px;
  background: #087e65;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
}

/* Premium restaurant storefront shared by Hanok Beach Road and Terry Kim. */
body.hanok-premium-page {
  background: #0a1613;
  color: #f3eadb;
}
body.hanok-premium-page header {
  height: 64px;
  background: #07120f;
  border-bottom: 1px solid rgba(196, 154, 98, .28);
}
body.hanok-premium-page header a {
  color: #f6efe3;
  letter-spacing: -.02em;
}
body.hanok-premium-page header select {
  border-color: rgba(196, 154, 98, .48);
  background: #10211c;
  color: #fff8ed;
}
body.hanok-premium-page main {
  max-width: 1120px;
  padding: 22px;
}
body.hanok-premium-page footer {
  color: #9eada7;
}
body.hanok-premium-page footer strong {
  color: #d6ad75;
}
.hanok-page {
  --hanok-ink: #07120f;
  --hanok-green: #123a30;
  --hanok-cream: #f4ead9;
  --hanok-bronze: #c49a62;
  display: grid;
  gap: 22px;
}
.hanok-hero {
  position: relative;
  min-height: min(72vh, 690px);
  overflow: hidden;
  border: 1px solid rgba(196, 154, 98, .32);
  border-radius: 28px;
  background: #15251f;
  box-shadow: 0 32px 90px rgba(0, 0, 0, .36);
}
.hanok-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  transform: scale(1.015);
}
.hanok-hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 17, 14, .18) 0%, rgba(5, 17, 14, .14) 34%, rgba(5, 17, 14, .92) 100%),
    linear-gradient(90deg, rgba(5, 17, 14, .5), transparent 60%);
  pointer-events: none;
}
.hanok-hero-tools {
  position: absolute;
  z-index: 2;
  top: 22px;
  right: 22px;
  display: flex;
  gap: 8px;
}
.hanok-hero-tools button {
  min-height: 43px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .46);
  border-radius: 999px;
  background: rgba(7, 18, 15, .66);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  backdrop-filter: blur(12px);
  cursor: pointer;
}
.hanok-hero-copy {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  padding: clamp(28px, 6vw, 66px);
}
.hanok-kicker,
.hanok-section-head small,
.hanok-story-copy > small,
.hanok-visit-card > small {
  color: #e0b87e;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2em;
}
.hanok-hero-copy h1 {
  max-width: 780px;
  margin: 13px 0 10px;
  color: #fffaf1;
  font-family: Georgia, "Noto Serif KR", serif;
  font-size: clamp(44px, 8vw, 86px);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-shadow: 0 5px 34px rgba(0, 0, 0, .34);
}
.hanok-hero-copy > p {
  max-width: 680px;
  margin: 0;
  color: #f3eadb;
  font-size: clamp(18px, 2.6vw, 27px);
  font-weight: 800;
  line-height: 1.42;
}
.hanok-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}
.hanok-hero-meta span {
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, .23);
  border-radius: 999px;
  background: rgba(5, 17, 14, .48);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  backdrop-filter: blur(7px);
}
.hanok-quick-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.hanok-quick-actions.has-phone {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.hanok-quick-actions a {
  min-height: 56px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(196, 154, 98, .42);
  border-radius: 16px;
  background: #13241f;
  color: #f5ecdf;
  text-decoration: none;
  font-weight: 900;
  padding: 8px;
  text-align: center;
  line-height: 1.25;
}
.hanok-quick-actions a.call {
  background: #194c3d;
  color: #fff8ee;
}
.hanok-quick-actions a.primary {
  background: var(--hanok-cream);
  color: #10241e;
}
.hanok-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr);
  min-height: 470px;
  overflow: hidden;
  border-radius: 26px;
  background: var(--hanok-cream);
  color: var(--hanok-ink);
}
.hanok-story-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 7vw, 76px);
}
.hanok-story-copy > small,
.hanok-section-head small {
  color: #9c6730;
}
.hanok-story-copy h2,
.hanok-section-head h2,
.hanok-visit-card h2 {
  margin: 10px 0 14px;
  font-family: Georgia, "Noto Serif KR", serif;
  font-size: clamp(30px, 4.8vw, 52px);
  letter-spacing: -.04em;
  line-height: 1.08;
}
.hanok-story-copy p {
  margin: 0;
  color: #44524d;
  font-size: 16px;
  line-height: 1.82;
}
.hanok-story-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 25px;
}
.hanok-story-tags span {
  padding: 7px 10px;
  border: 1px solid #ceb895;
  border-radius: 999px;
  color: #674926;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}
.hanok-story figure {
  min-height: 470px;
  margin: 0;
  overflow: hidden;
}
.hanok-story figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hanok-section {
  padding: clamp(28px, 5vw, 54px);
  border: 1px solid rgba(196, 154, 98, .22);
  border-radius: 26px;
  background: #0f211b;
}
.hanok-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.hanok-section-head h2 {
  margin-bottom: 0;
  color: #fff8ee;
}
.hanok-section-head > p {
  max-width: 430px;
  margin: 0 0 5px;
  color: #aebdb7;
  line-height: 1.6;
}
.hanok-gallery-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding: 0 0 8px;
  scroll-snap-type: x mandatory;
  scrollbar-color: #b58b57 #1c3029;
}
.hanok-gallery-item {
  position: relative;
  flex: 0 0 min(74%, 560px);
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #172d26;
  scroll-snap-align: start;
}
.hanok-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.hanok-gallery-item:hover img {
  transform: scale(1.025);
}
.hanok-gallery-item figcaption {
  position: absolute;
  right: 13px;
  bottom: 13px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(5, 17, 14, .7);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  backdrop-filter: blur(8px);
}
.hanok-photo-credit {
  display: block;
  margin-top: 12px;
  color: #9eada7;
  font-size: 11px;
  line-height: 1.55;
}
.hanok-photo-credit a {
  color: #dcc39f;
  text-underline-offset: 3px;
}
.hanok-menu {
  background: #efe4d1;
  color: #0d1c18;
}
.hanok-menu .hanok-section-head h2 {
  color: #0d1c18;
}
.hanok-menu .hanok-section-head > p {
  color: #59635e;
}
.hanok-menu-preview-track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  margin: 0 0 18px;
  padding: 0 0 8px;
  scroll-snap-type: x mandatory;
  scrollbar-color: #9e6c38 #e2d3bb;
}
.hanok-menu-preview-item {
  position: relative;
  flex: 0 0 min(56%, 390px);
  aspect-ratio: 1 / 1;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #d8c5a7;
  scroll-snap-align: start;
}
.hanok-menu-preview-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.hanok-menu-preview-item:hover img {
  transform: scale(1.025);
}
.hanok-menu-preview-item figcaption {
  position: absolute;
  right: 10px;
  bottom: 10px;
  left: 10px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(8, 16, 13, .78);
  color: #fff;
  font-size: 13px;
  backdrop-filter: blur(10px);
}
.hanok-menu-preview-item figcaption span {
  color: #e4bb7d;
  font-size: 10px;
  font-weight: 900;
}
.hanok-menu-preview-item figcaption strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hanok-menu-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.hanok-menu-chips span {
  padding: 8px 11px;
  border: 1px solid #cfb993;
  border-radius: 999px;
  background: rgba(255, 255, 255, .42);
  color: #5d4529;
  font-size: 12px;
  font-weight: 900;
}
.hanok-menu-book {
  background: #f8f3eb;
  color: #0d1c18;
}
.hanok-menu-book .hanok-section-head h2 {
  color: #0d1c18;
}
.hanok-menu-book .hanok-section-head > p {
  color: #59635e;
}
.hanok-menu-book-track {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  overflow-x: auto;
  padding: 0 0 10px;
  scroll-snap-type: x mandatory;
  scrollbar-color: #9e6c38 #e5d7c2;
}
.hanok-menu-book-page {
  flex: 0 0 min(64%, 510px);
  margin: 0;
  overflow: hidden;
  border: 1px solid #d8c5a7;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(83, 58, 28, .14);
  scroll-snap-align: start;
}
.hanok-menu-book-page img {
  display: block;
  width: 100%;
  aspect-ratio: 1200 / 1669;
  object-fit: contain;
  background: #fff;
  cursor: zoom-in;
}
.hanok-menu-book-page figcaption {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 13px;
  border-top: 1px solid #eadfce;
  color: #2b3b35;
  font-size: 13px;
}
.hanok-menu-book-page figcaption span {
  color: #9e6c38;
  font-size: 10px;
  font-weight: 900;
}
.hanok-menu-book-page figcaption strong {
  font-weight: 900;
}
.hanok-menu-book-note {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: #efe4d1;
  color: #654d32;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.55;
}
.hanok-menu-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.hanok-menu-slot {
  min-height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  border: 1px solid #cfb993;
  border-radius: 18px;
  background: linear-gradient(145deg, #fbf4e8, #e1d0b4);
}
.hanok-menu-slot > span {
  color: #9e6c38;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}
.hanok-menu-slot h3 {
  margin: 0 0 7px;
  font-family: Georgia, "Noto Serif KR", serif;
  font-size: 20px;
}
.hanok-menu-slot p {
  margin: 0;
  color: #6e746f;
  font-size: 12px;
  font-weight: 800;
}
.hanok-visit-grid {
  display: grid;
  grid-template-columns: .95fr 1.15fr;
  gap: 14px;
}
.hanok-contact-card {
  margin: 0;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid rgba(196, 154, 98, .32);
  border-radius: 24px;
  background: #f4ead9;
  color: #10241e;
}
.hanok-contact-card h2 {
  margin: 0 0 8px;
  font-family: Georgia, "Noto Serif KR", serif;
  font-size: clamp(25px, 3.4vw, 38px);
  letter-spacing: -.04em;
}
.hanok-contact-card > p {
  margin: 0 0 14px;
  color: #52605b;
}
.hanok-contact-card .actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 9px;
  margin: 16px 0 12px;
}
.hanok-contact-card .actions a,
.hanok-contact-card .actions button {
  min-height: 50px;
  display: grid;
  place-items: center;
  padding: 9px 12px;
  border: 1px solid #bda47e;
  border-radius: 13px;
  background: #fffaf1;
  color: #17382e;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.hanok-contact-card .actions .primary {
  border-color: #17382e;
  background: #17382e;
  color: #fff;
}
.hanok-contact-card small {
  display: block;
  color: #65716d;
  line-height: 1.55;
}
.hanok-visit-card,
.hanok-map-card {
  overflow: hidden;
  border: 1px solid rgba(196, 154, 98, .3);
  border-radius: 24px;
  background: #11251e;
}
.hanok-visit-card {
  padding: clamp(28px, 5vw, 48px);
}
.hanok-visit-card h2 {
  color: #fff8ee;
}
.hanok-visit-card dl {
  margin: 22px 0 0;
}
.hanok-visit-card dl > div {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, .1);
}
.hanok-visit-card dt {
  color: #b2c0bb;
  font-size: 13px;
}
.hanok-visit-card dd {
  margin: 0;
  color: #fff;
  line-height: 1.45;
}
.hanok-phone-link {
  color: #fff;
  font-weight: 900;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.hanok-visit-card > p {
  margin: 20px 0 0;
  color: #9eada7;
  font-size: 12px;
  line-height: 1.6;
}
.hanok-map-card {
  position: relative;
  min-height: 390px;
}
.hanok-map-card .map {
  width: 100%;
  height: 100%;
  min-height: 390px;
  border-radius: 0;
  filter: saturate(.8) contrast(1.02);
}
.hanok-map-card > a {
  position: absolute;
  right: 16px;
  bottom: 16px;
  left: 16px;
  min-height: 52px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #f4ead9;
  color: #10241e;
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 10px 32px rgba(0, 0, 0, .24);
}
body.terry-premium-page {
  background: #160b09;
}
body.terry-premium-page header {
  background: #120705;
  border-bottom-color: rgba(211, 164, 94, .34);
}
body.terry-premium-page header select,
body.terry-premium-page .hanok-section,
body.terry-premium-page .hanok-visit-card,
body.terry-premium-page .hanok-map-card,
body.terry-premium-page .hanok-quick-actions a {
  background: #24110d;
}
body.terry-premium-page .hanok-quick-actions a.primary {
  background: #f1e3cf;
  color: #2b140e;
}
body.terry-premium-page .hanok-quick-actions a.call {
  background: #7a2f21;
  color: #fff8ee;
}
body.terry-premium-page .hanok-hero {
  background: #2c1610;
}
body.terry-premium-page .hanok-menu {
  background: #f1e3cf;
}
body.terry-premium-page .hanok-story-tags span {
  border-color: #c89357;
  color: #7b3d20;
}
@media (max-width: 760px) {
  body.hanok-premium-page main {
    padding: 10px;
  }
  .hanok-page {
    gap: 10px;
  }
  .hanok-hero {
    min-height: 68svh;
    max-height: 650px;
    border-radius: 20px;
  }
  .hanok-hero-tools {
    top: 13px;
    right: 13px;
  }
  .hanok-hero-tools button {
    min-height: 40px;
    padding: 0 11px;
    font-size: 11px;
  }
  .hanok-hero-copy {
    padding: 26px 20px;
  }
  .hanok-hero-copy h1 {
    font-size: clamp(40px, 13vw, 58px);
  }
  .hanok-hero-copy > p {
    font-size: 17px;
  }
  .hanok-hero-meta {
    margin-top: 16px;
  }
  .hanok-quick-actions a {
    min-height: 52px;
    border-radius: 13px;
    font-size: 14px;
  }
  .hanok-story {
    grid-template-columns: 1fr;
    min-height: 0;
    border-radius: 20px;
  }
  .hanok-story-copy {
    padding: 34px 22px;
  }
  .hanok-story-copy h2,
  .hanok-section-head h2,
  .hanok-visit-card h2 {
    font-size: 31px;
  }
  .hanok-story figure {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
  .hanok-section {
    padding: 28px 18px;
    border-radius: 20px;
  }
  .hanok-section-head {
    display: block;
    margin-bottom: 18px;
  }
  .hanok-section-head > p {
    margin-top: 10px;
    font-size: 13px;
  }
  .hanok-gallery-track {
    margin-right: -18px;
    gap: 9px;
  }
  .hanok-gallery-item {
    flex-basis: 82%;
    border-radius: 14px;
  }
  .hanok-menu-preview-track {
    margin-right: -18px;
    gap: 9px;
  }
  .hanok-menu-preview-item {
    flex-basis: 78%;
    border-radius: 14px;
  }
  .hanok-menu-book-track {
    margin-right: -18px;
    gap: 9px;
  }
  .hanok-menu-book-page {
    flex-basis: 84%;
    border-radius: 14px;
  }
  .hanok-menu-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .hanok-menu-slot {
    min-height: 112px;
  }
  .hanok-visit-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .hanok-contact-card {
    padding: 22px 16px;
    border-radius: 20px;
  }
  .hanok-contact-card .actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .hanok-visit-card,
  .hanok-map-card {
    border-radius: 20px;
  }
  .hanok-map-card,
  .hanok-map-card .map {
    min-height: 350px;
  }
}
.stay-product {
  border: 2px solid #0b876e;
  background: linear-gradient(145deg, #ffffff 0%, #eefaf6 100%);
}
.stay-inclusions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}
.stay-inclusions b {
  width: 100%;
  color: #19473d;
}
.stay-inclusions span {
  padding: 7px 10px;
  border-radius: 999px;
  background: #dff5ec;
  color: #075d4c;
  font-weight: 800;
  font-size: 0.9rem;
}
.lodging-total {
  min-height: 24px;
  margin: 4px 0 14px;
  padding: 12px;
  border-radius: 12px;
  background: #073f34;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 900;
}
