/* 桌面端：将背景、信息区和价目单融合为横向海报 */
body { min-height: 100vh; background: #f5e5e8; }
.page {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: clamp(28px, 4vw, 64px);
  display: grid;
  grid-template-columns: minmax(330px, .83fr) minmax(530px, 1.42fr);
  grid-template-rows: auto;
  gap: 0 clamp(24px, 3vw, 58px);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.page::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: 0;
  background: var(--site-background, none) center / cover no-repeat;
}
.page::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(circle at 16% 28%, rgba(255,255,255,.38), transparent 24%), radial-gradient(circle at 78% 72%, rgba(255,221,231,.28), transparent 27%), linear-gradient(90deg, rgba(255,250,247,.76) 0%, rgba(255,250,247,.58) 32%, rgba(255,250,247,.16) 61%, rgba(255,250,247,.22) 100%);
  background-size: 120% 120%, 130% 130%, 100% 100%;
  opacity: var(--background-overlay-opacity, 1);
  animation: ambient-light 15s ease-in-out infinite alternate;
}
.page > * { position: relative; z-index: 1; }
.admin-entry { position: absolute; z-index: 3; top: 15px; right: 17px; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(128,54,80,.18); border-radius: 50%; background: rgba(255,255,255,.14); color: rgba(118,41,70,.42); font-size: 15px; text-decoration: none; opacity: .28; transition: opacity .2s ease, transform .2s ease, background .2s ease; }
.admin-entry:hover, .admin-entry:focus-visible { background: rgba(255,255,255,.62); opacity: .9; outline: none; transform: scale(1.12); }
.background-ripple { position: absolute; z-index: 0; width: 16px; height: 16px; margin: -8px 0 0 -8px; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.12) 0%, rgba(255,235,242,.05) 45%, transparent 70%); box-shadow: 0 0 0 1px rgba(187,75,115,.1), 0 0 14px rgba(255,255,255,.3); pointer-events: none; animation: background-ripple .8s ease-out forwards; }
.hero {
  grid-column: 1;
  grid-row: 1;
  min-height: 0;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  align-self: center;
  background: none;
  border-radius: 0;
  box-shadow: none;
}
.hero-copy { max-width: 100%; padding: 20px 0; }
.hero-copy > h1 { margin-bottom: 24px; }
.hero-info { display: grid; grid-template-columns: max-content max-content; justify-content: start; gap: 22px 16px; }
.hero-info .subtitle { grid-column: 1 / -1; justify-self: start; width: fit-content; }
.hero-info .contact { justify-self: start; width: fit-content; }
.hero-info .live-link { grid-column: 1; width: fit-content; }
.hero-copy::after { left: -12px; }
.hero .notice { width: auto; max-width: none; margin: 16px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: left; font-size: 12px; }
.price-grid {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  max-height: none;
  overflow: hidden;
  background: rgba(255, 253, 251, var(--panel-opacity, .34));
  box-shadow: 0 12px 34px #6d2e4026, inset 0 0 0 1px rgba(255,255,255,.56);
  backdrop-filter: blur(4px);
}
.price-column { min-width: 0; }
.price-column:first-child { border-right: 1px solid #e8bfcd; }
.price-column .card { border: 0 !important; border-radius: 0; }
.price-column .card + .card { border-top: 1px solid #e8bfcd !important; }
.price-column .item { display: grid; grid-template-columns: minmax(0, 74%) minmax(0, 26%); align-items: center; column-gap: 0; }
.price-column .price { min-width: 0; padding-left: 10px; text-align: left; white-space: nowrap; }
.price-column .blank-price { display: block; margin-left: 10px; }
footer { grid-column: 2; grid-row: 1; align-self: start; justify-self: end; z-index: 2; max-width: 52%; margin: 14px 19px 0 0; padding: 5px 9px; border-radius: 99px; background: rgba(255,255,255,.3); color: #8a5968; font-size: 11px; text-align: right; }
@keyframes ambient-light { from { background-position: 0% 40%, 100% 55%, 0 0; } to { background-position: 100% 60%, 0% 42%, 0 0; } }
@keyframes background-ripple { from { opacity: .56; transform: scale(.35); } 55% { opacity: .24; } to { opacity: 0; transform: scale(5); } }
@keyframes title-breathe { 0%, 100% { text-shadow: 2px 3px 0 #fff, 0 0 0 rgba(174,51,98,0); } 50% { text-shadow: 2px 3px 0 #fff, 0 0 18px rgba(174,51,98,.18); } }
@keyframes eyebrow-drift { 0%, 100% { opacity: .76; transform: translateX(0); } 50% { opacity: 1; transform: translateX(7px); } }
@keyframes live-breathe { 0%, 100% { box-shadow: 0 4px 12px color-mix(in srgb, var(--live-color, #b93d66), transparent 70%); } 50% { box-shadow: 0 8px 23px color-mix(in srgb, var(--live-color, #b93d66), transparent 40%); } }
.hero h1 { animation: title-breathe 5s ease-in-out infinite; }
.hero .eyebrow { animation: eyebrow-drift 4.5s ease-in-out infinite; }
.hero .live-link { border-color: color-mix(in srgb, var(--live-color, #b93d66), white 28%); background: var(--live-color, #b93d66); animation: live-breathe 3.2s ease-in-out infinite; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.hero .live-link:hover { background: color-mix(in srgb, var(--live-color, #b93d66), white 14%); transform: translateY(-2px) scale(1.02); box-shadow: 0 10px 21px color-mix(in srgb, var(--live-color, #b93d66), transparent 48%); }
@media (max-width: 980px) {
  .page { width: min(1120px, 100%); min-height: 0; margin: 0 auto; padding: 0 18px 52px; display: block; border: 0; border-radius: 0; box-shadow: none; }
  .page::before { background-position: 57% top; }
  .page::after { background: linear-gradient(180deg, rgba(255,249,246,.42), rgba(248,222,225,.94) 30%, rgba(248,222,225,.98)); }
  .hero { min-height: 355px; margin: 0 -18px; padding: 44px clamp(28px,7vw,80px); display: flex; background: linear-gradient(90deg,rgba(255,248,242,.95) 0%,rgba(255,248,242,.76) 45%,rgba(255,248,242,.14) 78%); border-radius: 0 0 36px 36px; }
  .hero .notice { margin: 14px 0 0; }
  .price-grid { max-height: none; overflow: hidden; }
  .price-column:first-child { border-right: 0; }
  .price-column + .price-column { border-top: 1px solid #e8bfcd; }
  footer { margin-top: 20px; max-width: none; padding: 0; background: none; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .page::after, .hero h1, .hero .eyebrow, .hero .live-link { animation: none; }
  .background-ripple { display: none; }
  .hero .live-link { transition: none; }
}
@media (max-width: 680px) {
  .page { padding: 0 11px 34px; }
  .hero { min-height: 330px; margin: 0 -11px; padding: 34px 24px; border-radius: 0 0 28px 28px; }
  .hero-copy > h1 { margin-bottom: 18px; }
  .hero-info { gap: 16px 10px; }
}
