:root {
  --black: #302d2b;
  --pink: #f3c9dc;
  --paper: #f8f6f2;
  --line: #d6d0ca;
  --muted: #6f6a65;
  --rose-ink: #87425f;
}

body { background: var(--paper); }

.skip { color: var(--black); }
.site-header {
  background: #eae3db;
  color: var(--black);
  border-bottom-color: #d5ccc3;
}
.brand-dot, .pink { color: var(--rose-ink); }
.header-label { color: #6f6965; }

.hero {
  background: #eee6dd;
  color: var(--black);
}
.hero .eyebrow, .hero h1 em { color: var(--rose-ink); }
.hero-lede { color: #55504c; }
.hero-where { border-top-color: #cec3ba; color: #6e6761; }
.hero-visual { background: #e4ddd5; }
.hero-visual figcaption {
  background: #f8f5f0eb;
  color: var(--black);
}
.hero-visual figcaption a { color: var(--rose-ink); }

.button-pink { background: var(--pink); color: var(--black); }
.button-outline { border-color: #aaa099; color: var(--black); }
.button-outline:hover, .price-jumps a:hover {
  background: #e7ded7;
  color: var(--black);
}
.button:focus-visible, a:focus-visible { outline-color: var(--rose-ink); }
.section-nav a:hover { color: var(--rose-ink); }

.section-intro .eyebrow,
.gift-group h3 span,
.prices-section h2 em { color: var(--rose-ink); }
.section-intro > p:last-child { color: #57524e; }
.new-section { background: #e8e4df; }
.new-card { border-color: #d0c9c2; background: #fbf9f5; }
.pill { background: #f5dce8; }
.card-number { color: #817b75; }
.pine-photo figcaption { background: #fbf9f5; }
.prices-section { background: #f8f6f2; }
.price-jumps a { border-color: #bcb4ad; }
.gift-group h3 { border-bottom-color: #a8a09a; }
.gift-card { background: #fffdfa; border-color: #ded8d1; }
.gift-card img { background: #f0ece7; }

.buy-section {
  background: #dedbd7;
  color: var(--black);
}
.buy-section .section-intro .eyebrow,
.buy-num,
.buy-grid a { color: var(--rose-ink); }
.buy-grid article {
  border-color: #c7c0b9;
  background: #f8f6f2;
}
.buy-grid p { color: #57524e; }

.visit-section { background: #f1dfe7; }
.visit-copy dl > div { border-top-color: #cdb7c0; }
.visit-actions .button-pink {
  background: #e5d5ca;
  color: var(--black);
}
.visit-actions .button-outline {
  border-color: #ac929f;
  color: var(--black);
}
.visit-photo { background: #d6d0ca; }
.visit-photo figcaption {
  background: #f8f5f0eb;
  color: var(--black);
}
.visit-photo a { color: var(--rose-ink); }

.footer {
  background: #e5e0da;
  color: var(--black);
  border-top: 1px solid #d1c8bf;
}
.footer p { color: #615b55; }
.footer-links a { color: var(--rose-ink); }

.story-section { background: #f3eee8; }
.story-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr);
  gap: clamp(30px, 6vw, 90px);
  align-items: start;
}
.story-copy { max-width: 760px; }
.story-copy .eyebrow { color: var(--rose-ink); margin: 0 0 18px; }
.story-copy h2 {
  margin: 0 0 30px;
  font-size: clamp(34px, 4.2vw, 60px);
  line-height: 1.2;
  letter-spacing: -.07em;
  word-break: keep-all;
}
.story-copy > p:not(.eyebrow) {
  margin: 0 0 19px;
  color: #514c48;
  font-size: 16px;
  line-height: 1.85;
  word-break: keep-all;
}
.story-copy strong { color: #332c2c; font-weight: 800; }
.story-next {
  display: inline-flex;
  gap: 28px;
  align-items: center;
  margin-top: 9px;
  padding-bottom: 6px;
  color: var(--rose-ink);
  border-bottom: 1px solid var(--rose-ink);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}
.story-aside {
  padding: 28px;
  border: 1px solid #d3c5b9;
  background: #e9dfd7;
}
.story-aside-top { display: flex; align-items: end; gap: 15px; }
.story-numeral {
  color: var(--rose-ink);
  font: 800 clamp(82px, 10vw, 148px)/.88 Inter, Arial, sans-serif;
  letter-spacing: -.11em;
}
.story-aside-top p { max-width: 150px; margin: 0 0 5px; font-size: 13px; line-height: 1.5; font-weight: 700; }
.story-cities { margin: 25px 0 0; padding: 0; list-style: none; }
.story-cities li {
  padding: 12px 4px;
  border-top: 1px solid #cbbdb3;
  font: 800 13px Inter, Arial, sans-serif;
  letter-spacing: .12em;
}
.story-cities .is-seoul { color: var(--rose-ink); }
.story-aside-foot { margin-top: 20px; padding-top: 20px; border-top: 1px solid #cbbdb3; }
.story-aside-foot span { font: 800 11px Inter, Arial, sans-serif; letter-spacing: .12em; }
.story-aside-foot p { margin: 9px 0 0; font-size: 13px; line-height: 1.7; }
.story-links { margin: 34px 0 0; color: #706860; font-size: 12px; line-height: 1.8; }
.story-links a { margin-left: 12px; color: #5c4a52; text-underline-offset: 3px; }
@media (max-width: 850px) {
  .story-layout { grid-template-columns: 1fr; }
  .story-aside { max-width: 520px; }
}
@media (max-width: 560px) {
  .story-copy h2 { font-size: clamp(31px, 8vw, 42px); }
  .story-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.8; }
  .story-aside { padding: 23px; }
  .story-links a { display: block; width: fit-content; margin-left: 0; }
}

@media (max-width: 560px) {
  .mobile-rail {
    background: #f5f0ebf2;
    border-top-color: #d2c7be;
    backdrop-filter: blur(14px);
  }
  .mobile-rail a { background: #e7e1db; color: var(--black); }
  .mobile-rail a:last-child { background: var(--pink); color: var(--black); }
}

.special-gifts {
  padding: 28px 26px 30px;
  background: #eee8e2;
  border: 1px solid #ddd2c9;
}
.special-gifts h3 { border-bottom-color: #bba9a6; }
.special-intro {
  max-width: 680px;
  margin: 0 0 24px;
  color: #57504d;
  font-size: 14px;
  line-height: 1.75;
  word-break: keep-all;
}
.special-card { border-color: #d7c9c5; }
.special-card > img {
  height: clamp(220px, 26vw, 300px);
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center 61%;
}
.special-card .gift-info { padding: 20px; }
.special-card .special-label {
  min-height: 0;
  margin: 0 0 12px;
  color: var(--rose-ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}
.special-card .gift-info p:not(.special-label) { margin: 14px 0 20px; }
.petula-photos {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f0ece7;
}
.petula-photos img {
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  object-fit: cover;
  transform: scale(1.3);
}
.petula-photos span {
  position: absolute;
  right: 11px;
  bottom: 10px;
  padding: 6px 9px;
  background: #fffdf9e8;
  color: #514a46;
  font-size: 10px;
  font-weight: 700;
}
@media (max-width: 560px) {
  .special-gifts { padding: 22px 14px 16px; }
  .special-card { display: flex; min-height: 0; }
  .special-card > img { height: 250px; min-height: 0; aspect-ratio: auto; }
  .special-card .gift-info { padding: 17px; }
  .special-card .gift-title { display: flex; flex-wrap: wrap; }
  .special-card .gift-title h4 { font-size: 18px; }
  .special-card .gift-title strong { margin-top: 0; }
  .special-card .gift-info p:not(.special-label) { font-size: 13px; }
}
