@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@300;400&family=Inter:wght@300;400;500&display=swap');

* { margin: 0; padding: 0; box-sizing: border-box; }

/* ===== SVG ANIMATIONS ===== */
@keyframes float-up { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes sway { 0%,100%{transform:rotate(-2deg)} 50%{transform:rotate(2deg)} }
@keyframes sway2 { 0%,100%{transform:rotate(1deg)} 50%{transform:rotate(-3deg)} }
@keyframes petal-fall {
  0%{transform:translate(0,0) rotate(0deg); opacity:0.9}
  100%{transform:translate(-30px, 120px) rotate(200deg); opacity:0}
}
@keyframes petal-fall2 {
  0%{transform:translate(0,0) rotate(20deg); opacity:0.8}
  100%{transform:translate(20px, 100px) rotate(-180deg); opacity:0}
}
@keyframes petal-fall3 {
  0%{transform:translate(0,0) rotate(-10deg); opacity:0.9}
  100%{transform:translate(-15px, 140px) rotate(240deg); opacity:0}
}
@keyframes lantern-glow { 0%,100%{opacity:0.6} 50%{opacity:1} }
@keyframes star-twinkle { 0%,100%{opacity:0.2} 50%{opacity:0.9} }
@keyframes moon-rise { from{transform:translateY(30px);opacity:0} to{transform:translateY(0);opacity:1} }
@keyframes cloud-drift { 0%{transform:translateX(-10px)} 100%{transform:translateX(10px)} }
@keyframes slide-up { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

/* Daytime scene animations */
@keyframes float-slow { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
@keyframes cloud-l { 0%{transform:translateX(0)} 100%{transform:translateX(18px)} }
@keyframes cloud-r { 0%{transform:translateX(0)} 100%{transform:translateX(-14px)} }
@keyframes flag-wave { 0%,100%{transform:skewX(0deg) scaleX(1)} 50%{transform:skewX(-8deg) scaleX(0.92)} }
@keyframes flag-wave2 { 0%,100%{transform:skewX(0deg) scaleX(1)} 50%{transform:skewX(6deg) scaleX(0.94)} }
@keyframes petal-day1 { 0%{transform:translate(0,0) rotate(0deg);opacity:0.9} 100%{transform:translate(-25px,110px) rotate(200deg);opacity:0} }
@keyframes petal-day2 { 0%{transform:translate(0,0) rotate(20deg);opacity:0.8} 100%{transform:translate(18px,95px) rotate(-170deg);opacity:0} }
@keyframes petal-day3 { 0%{transform:translate(0,0) rotate(-10deg);opacity:0.9} 100%{transform:translate(-12px,130px) rotate(230deg);opacity:0} }
@keyframes bob { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
@keyframes sign-sway { 0%,100%{transform:rotate(-1deg)} 50%{transform:rotate(1.5deg)} }
@keyframes sun-pulse { 0%,100%{opacity:0.9} 50%{opacity:1} }
@keyframes shimmer-walk { 0%,100%{opacity:0.7} 50%{opacity:1} }

/* Daytime scene class bindings */
.pagoda-day { animation: float-slow 5s ease-in-out infinite; transform-origin: bottom center; }
.tree-a { animation: sway 4.5s ease-in-out infinite; transform-origin: bottom center; }
.tree-b { animation: sway2 3.8s ease-in-out infinite; transform-origin: bottom center; }
.cloud-a { animation: cloud-l 9s ease-in-out infinite alternate; }
.cloud-b { animation: cloud-r 7s ease-in-out infinite alternate; }
.cloud-c { animation: cloud-l 11s ease-in-out infinite 2s alternate; }
.flag-a { animation: flag-wave 2.5s ease-in-out infinite; transform-origin: left center; }
.flag-b { animation: flag-wave2 3s ease-in-out infinite 0.4s; transform-origin: left center; }
.flag-c { animation: flag-wave 2s ease-in-out infinite 0.8s; transform-origin: left center; }
.pd1 { animation: petal-day1 4s ease-in infinite; }
.pd2 { animation: petal-day2 5.2s ease-in infinite 1s; }
.pd3 { animation: petal-day3 3.6s ease-in infinite 2.2s; }
.pd4 { animation: petal-day1 4.8s ease-in infinite 0.6s; }
.pd5 { animation: petal-day2 3.9s ease-in infinite 1.8s; }
.sign-a { animation: sign-sway 3.2s ease-in-out infinite; transform-origin: top center; }
.sign-b { animation: sign-sway 2.8s ease-in-out infinite 0.6s; transform-origin: top center; }
.sun { animation: sun-pulse 4s ease-in-out infinite; }
.person-a { animation: shimmer-walk 3s ease-in-out infinite; }
.person-b { animation: shimmer-walk 3s ease-in-out infinite 1s; }
.person-c { animation: shimmer-walk 3s ease-in-out infinite 1.8s; }
.lantern-d { animation: bob 2.8s ease-in-out infinite; transform-origin: top center; }
.lantern-e { animation: bob 3.3s ease-in-out infinite 0.5s; transform-origin: top center; }

/* ===== NIGHT SCENE CLASS BINDINGS ===== */
.pagoda { animation: float-up 5s ease-in-out infinite; transform-origin: bottom center; }
.tree-left { animation: sway 4s ease-in-out infinite; transform-origin: bottom center; }
.tree-right { animation: sway2 3.5s ease-in-out infinite; transform-origin: bottom center; }
.star1 { animation: star-twinkle 2.1s ease-in-out infinite; }
.star2 { animation: star-twinkle 3.3s ease-in-out infinite 0.7s; }
.star3 { animation: star-twinkle 1.8s ease-in-out infinite 1.4s; }
.star4 { animation: star-twinkle 2.7s ease-in-out infinite 0.3s; }
.star5 { animation: star-twinkle 3.1s ease-in-out infinite 1.1s; }
.moon { animation: moon-rise 2s ease-out forwards; }
.lantern1 { animation: lantern-glow 2.2s ease-in-out infinite, float-up 3.8s ease-in-out infinite; transform-origin: center top; }
.lantern2 { animation: lantern-glow 1.9s ease-in-out infinite 0.5s; transform-origin: center top; }
.lantern3 { animation: lantern-glow 2.5s ease-in-out infinite 1s; transform-origin: center top; }
.cloud1 { animation: cloud-drift 8s ease-in-out infinite alternate; }
.cloud2 { animation: cloud-drift 6s ease-in-out infinite 2s alternate-reverse; }
.petal1 { animation: petal-fall 4s ease-in infinite; }
.petal2 { animation: petal-fall2 5s ease-in infinite 1s; }
.petal3 { animation: petal-fall3 3.5s ease-in infinite 2s; }
.petal4 { animation: petal-fall 4.5s ease-in infinite 0.5s; }
.petal5 { animation: petal-fall2 3.8s ease-in infinite 1.5s; }
.petal6 { animation: petal-fall3 5.2s ease-in infinite 0.8s; }

:root {
  --blush: #F4E8E0;
  --ink: #1a1a1a;
  --stone: #8a8478;
  --gold: #B8935A;
  --soft: #F9F4F0;
}

body {
  background: #fff;
  font-family: 'Inter', sans-serif;
}

/* ===== NAV BAR ===== */
.nav-bar {
  background: rgba(28,20,16,0.97);
  padding: 12px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 10;
}
/* When followed by hero-full, nav becomes transparent overlay */
.hero-full {
  margin-top: -64px;
  padding-top: 64px;
}
.hero-full ~ .nav-bar,
body:has(.hero-full) .nav-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: transparent;
}
.nav-transparent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background: transparent;
}
.nav-logo { display: none; }
.nav-logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.nav-logo-img {
  width: 180px;
  height: auto;
  display: block;
}

@media (max-width: 600px) {
  .nav-logo-img { width: 130px; }
}
.nav-links {
  display: flex;
  gap: 28px;
}
.nav-links a {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(245,237,229,0.5);
  text-decoration: none;
  transition: color 0.3s;
}
.nav-links a:hover { color: var(--gold); }

/* ===== HERO ===== */
.hero {
  background: #1C1410;
  position: relative;
  overflow: hidden;
}
.hero-scene {
  position: relative;
  width: 100%;
}
.hero-scene svg {
  display: block;
  width: 100%;
  height: auto;
}
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px;
  pointer-events: none;
  z-index: 2;
}
.hero-overlay .hero-cta { pointer-events: auto; }
.hero-caption {
  background: #1C1410;
  padding: 20px 40px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  border-top: 0.5px solid rgba(184,147,90,0.2);
}
.caption-kr {
  font-family: 'Noto Serif KR', serif;
  font-size: 11px;
  font-weight: 300;
  color: #B8935A;
  letter-spacing: 3px;
  margin-bottom: 4px;
}
.caption-title {
  font-family: 'Noto Serif KR', serif;
  font-size: 18px;
  font-weight: 300;
  color: #F5EDE5;
}
.caption-sub {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: rgba(245,237,229,0.35);
  margin-top: 3px;
}
.scene-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.tag {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 1px;
  color: rgba(184,147,90,0.7);
  border: 0.5px solid rgba(184,147,90,0.3);
  padding: 4px 10px;
  border-radius: 2px;
}
.hero-bg-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Noto Serif KR', serif;
  font-size: 160px;
  font-weight: 300;
  color: rgba(255,255,255,0.04);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
.tagline-kr {
  font-family: 'Noto Serif KR', serif;
  font-size: 13px;
  font-weight: 300;
  color: var(--gold);
  letter-spacing: 4px;
  margin-bottom: 20px;
  text-transform: uppercase;
}
.hero h1 {
  font-family: 'Noto Serif KR', serif;
  font-size: 42px;
  font-weight: 300;
  color: #F5EDE5;
  line-height: 1.3;
  margin-bottom: 16px;
}
.hero p {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 300;
  color: rgba(245,237,229,0.6);
  max-width: 460px;
  margin: 0 auto 36px;
  line-height: 1.8;
}
.hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--gold);
  color: #1C1410;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 14px 32px;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.3s;
}
.hero-cta:hover { background: #D4A96A; }

/* ===== DIVIDER ===== */
.divider-kr {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 40px 40px 0;
  background: var(--soft);
}
.divider-line { flex: 1; height: 0.5px; background: #C8B8A8; max-width: 120px; }
.divider-char {
  font-family: 'Noto Serif KR', serif;
  font-size: 22px;
  font-weight: 300;
  color: var(--gold);
}

/* ===== SERVICES ===== */
.services {
  background: var(--soft);
  padding: 48px 32px 56px;
}
.section-label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--stone);
  text-align: center;
  margin-bottom: 8px;
}
.section-title {
  font-family: 'Noto Serif KR', serif;
  font-size: 26px;
  font-weight: 300;
  color: #1C1410;
  text-align: center;
  margin-bottom: 40px;
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  max-width: 660px;
  margin: 0 auto;
}
.service-card {
  background: #fff;
  border: 0.5px solid #DDD3C8;
  border-radius: 2px;
  padding: 28px 20px 24px;
  text-align: center;
  transition: transform 0.3s, box-shadow 0.3s;
}
.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
.service-icon {
  font-size: 28px;
  color: var(--gold);
  margin-bottom: 14px;
  display: block;
}
.service-name {
  font-family: 'Noto Serif KR', serif;
  font-size: 14px;
  font-weight: 400;
  color: #1C1410;
  margin-bottom: 8px;
}
.service-desc {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: var(--stone);
  line-height: 1.7;
}

/* ===== PILLARS ===== */
.pillars {
  background: #1C1410;
  padding: 56px 40px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0;
}
.pillar {
  padding: 24px 20px;
  border-right: 0.5px solid rgba(255,255,255,0.08);
  text-align: center;
}
.pillar:last-child { border-right: none; }
.pillar-num {
  font-family: 'Noto Serif KR', serif;
  font-size: 36px;
  font-weight: 300;
  color: var(--gold);
  opacity: 0.7;
  line-height: 1;
  margin-bottom: 10px;
}
.pillar-label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(245,237,229,0.5);
  margin-bottom: 6px;
}
.pillar-text {
  font-family: 'Noto Serif KR', serif;
  font-size: 13px;
  font-weight: 300;
  color: rgba(245,237,229,0.8);
  line-height: 1.6;
}

/* ===== TESTIMONIAL ===== */
.testimonial {
  background: var(--blush);
  padding: 56px 40px;
  text-align: center;
}
.quote-mark {
  font-family: 'Noto Serif KR', serif;
  font-size: 60px;
  font-weight: 300;
  color: var(--gold);
  opacity: 0.4;
  line-height: 0.8;
  margin-bottom: 16px;
}
.quote-text {
  font-family: 'Noto Serif KR', serif;
  font-size: 17px;
  font-weight: 300;
  color: #1C1410;
  line-height: 1.8;
  max-width: 480px;
  margin: 0 auto 20px;
}
.quote-author {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--stone);
}

/* ===== CTA STRIP ===== */
.cta-strip {
  background: var(--gold);
  padding: 48px 40px;
  text-align: center;
}
.cta-strip h2 {
  font-family: 'Noto Serif KR', serif;
  font-size: 24px;
  font-weight: 300;
  color: #1C1410;
  margin-bottom: 8px;
}
.cta-strip p {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: rgba(28,20,16,0.7);
  margin-bottom: 28px;
}
.cta-btn-light {
  display: inline-block;
  background: #1C1410;
  color: #F5EDE5;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 14px 36px;
  border-radius: 2px;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: background 0.3s;
}
.cta-btn-light:hover { background: #2D2520; }

/* ===== ENQUIRY FORM ===== */
.enquiry-sec {
  display: none !important;
  background: #1C1410;
  padding: 48px 40px 56px;
}
.enquiry-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  text-align: center;
  margin-bottom: 8px;
}
.enquiry-title {
  font-family: 'Noto Serif KR', serif;
  font-size: 24px;
  font-weight: 300;
  color: #F5EDE5;
  text-align: center;
  margin-bottom: 6px;
}
.enquiry-sub {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: rgba(245,237,229,0.4);
  text-align: center;
  margin-bottom: 28px;
  line-height: 1.7;
}
.enquiry-card {
  background: var(--soft);
  border-radius: 2px;
  padding: 28px 24px;
  max-width: 500px;
  margin: 0 auto;
}
.elabel {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--stone);
  margin-bottom: 6px;
}
.einput {
  width: 100%;
  background: #fff;
  border: 0.5px solid #DDD3C8;
  border-radius: 2px;
  padding: 11px 12px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: #1C1410;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  margin-bottom: 14px;
}
.einput:focus { border-color: var(--gold); }
.einput::placeholder { color: #C8B8A8; }
.etexta { resize: none; line-height: 1.6; margin-bottom: 4px; }
.erow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.erow .einput { margin-bottom: 0; }
.erow-wrap { margin-bottom: 14px; }
.echecks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 4px;
  margin-bottom: 14px;
}
.echk {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 0.5px solid #DDD3C8;
  border-radius: 2px;
  padding: 10px 10px;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #1C1410;
}
.echk input { display: none; }
.echkbox {
  width: 14px;
  height: 14px;
  border: 0.5px solid #C8B8A8;
  border-radius: 2px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.echk.on .echkbox { background: var(--gold); border-color: var(--gold); }
.echk.on { border-color: var(--gold); }
.echktick { display: none; color: #fff; font-size: 10px; }
.echk.on .echktick { display: block; }
.echkicon { font-size: 13px; color: var(--stone); }
.esubmit {
  width: 100%;
  background: #1C1410;
  color: #F5EDE5;
  border: none;
  border-radius: 2px;
  padding: 15px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  margin-top: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.eprivacy {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: #B4A898;
  text-align: center;
  margin-top: 12px;
  line-height: 1.6;
}

/* ===== FOOTER ===== */
.footer {
  background: #111;
  padding: 28px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.footer-brand-link {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.footer-logo-img {
  width: 160px;
  height: auto;
  display: block;
}
.footer-logo-img:hover { opacity: 0.9; }
.footer-nav {
  display: flex;
  gap: 24px;
}
.footer-nav a {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(245,237,229,0.35);
  text-decoration: none;
  transition: color 0.3s;
}
.footer-copyright {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: rgba(245,237,229,0.4);
}

/* ===== MOBILE: pixel-match korea_concierge_mobile.html ===== */
@media (max-width: 600px) {

  .nav-bar {
    padding: 14px 20px;
    background: #1C1410;
    position: relative;
  }
  .hero-full { margin-top: 0; padding-top: 0; }
  .hero-full ~ .nav-bar,
  body:has(.hero-full) .nav-bar { position: relative; background: #1C1410; }
  .nav-logo-img { width: 130px; }
  .nav-links { gap: 14px; }
  .nav-links a { font-size: 10px; letter-spacing: 1px; }

  .hero {
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  .hero-overlay {
    position: relative;
    order: 1;
    padding: 32px 20px 28px;
    text-align: center;
    background: #1C1410;
  }
  .hero-scene { order: 2; background: #1C1410; }
  .hero-bg-text {
    font-size: 100px;
    font-weight: 300;
    color: rgba(255,255,255,0.04);
  }
  .tagline-kr {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 3px;
    margin-bottom: 8px;
  }
  .hero h1 {
    font-size: 26px;
    font-weight: 300;
    line-height: 1.35;
    margin-bottom: 10px;
    animation: slide-up 1s ease-out;
  }
  .hero p {
    font-size: 13px;
    font-weight: 300;
    line-height: 1.75;
    margin-bottom: 22px;
    max-width: 100%;
    color: rgba(245,237,229,0.55);
  }
  .hero-cta {
    font-size: 11px;
    font-weight: 500;
    padding: 13px 24px;
    letter-spacing: 1.5px;
  }

  .hero-caption { display: none; }
  .divider-kr { display: none; }

  .services {
    background: var(--soft);
    padding: 32px 20px;
  }
  .section-label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 3px;
    margin-bottom: 6px;
  }
  .section-title {
    font-size: 20px;
    font-weight: 300;
    margin-bottom: 24px;
  }
  .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .service-card { padding: 18px 14px 16px; }
  .service-icon { font-size: 22px; margin-bottom: 10px; }
  .service-name { font-size: 13px; margin-bottom: 5px; }
  .service-desc { font-size: 11px; line-height: 1.6; }

  .pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0;
    gap: 1px;
    background: rgba(255,255,255,0.08);
  }
  .pillar {
    background: #1C1410;
    padding: 20px 16px;
    border-right: none;
    border-bottom: none;
  }
  .pillar:last-child {
    grid-column: 1 / -1;
    border-top: 1px solid rgba(255,255,255,0.06);
  }
  .pillar-num { font-size: 28px; font-weight: 300; margin-bottom: 6px; opacity: 0.7; }
  .pillar-label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 2px;
    color: rgba(245,237,229,0.4);
    margin-bottom: 4px;
  }
  .pillar-text {
    font-size: 12px;
    font-weight: 300;
    color: rgba(245,237,229,0.75);
    line-height: 1.6;
  }

  .testimonial { background: var(--blush); padding: 28px 20px; text-align: center; }
  .quote-mark { font-size: 44px; font-weight: 300; opacity: 0.4; line-height: 0.8; margin-bottom: 12px; }
  .quote-text { font-size: 14px; font-weight: 300; max-width: 100%; line-height: 1.85; margin-bottom: 14px; }
  .quote-author { font-size: 11px; letter-spacing: 2px; }

  .enquiry-sec { display: block !important; padding: 32px 20px 40px; }
  .enquiry-eyebrow { font-size: 10px; margin-bottom: 8px; }
  .enquiry-title { font-size: 20px; margin-bottom: 6px; }
  .enquiry-sub { font-size: 12px; margin-bottom: 24px; }
  .enquiry-card { padding: 24px 18px; }

  .footer {
    padding: 20px;
    flex-direction: row;
    justify-content: space-between;
    gap: 10px;
  }
  .footer-logo-img { width: 120px; }
  .footer-nav { gap: 14px; }
  .footer-nav a { font-size: 10px; letter-spacing: 1.5px; }
  .footer-copyright { font-size: 10px; color: rgba(245,237,229,0.35); }

  .page-hero { padding: 50px 20px 40px; }
  .page-hero-short { padding: 40px 20px 30px; }
  .page-hero-bg-text { font-size: 70px; }
}

/* =============================================
   SHARED PAGE HERO
   ============================================= */
.page-hero {
  background: #1C1410;
  padding: 70px 40px 60px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.page-hero-short { padding: 50px 40px 40px; }
.page-hero-bg-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Noto Serif KR', serif;
  font-size: 140px;
  font-weight: 300;
  color: rgba(255,255,255,0.035);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
.page-hero h1 {
  font-family: 'Noto Serif KR', serif;
  font-size: 38px;
  font-weight: 300;
  color: #F5EDE5;
  line-height: 1.3;
  margin-bottom: 14px;
}
.page-hero p {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: rgba(245,237,229,0.6);
  max-width: 440px;
  margin: 0 auto 0;
  line-height: 1.8;
}

/* =============================================
   SERVICES DETAILED PAGE
   ============================================= */
.services-detailed {
  background: var(--soft);
  padding: 0 40px 48px;
  max-width: 860px;
  margin: 0 auto;
}
.service-detail-row {
  display: grid;
  grid-template-columns: 1fr 120px;
  gap: 40px;
  padding: 48px 0;
  border-bottom: 0.5px solid #DDD3C8;
  align-items: center;
}
.service-detail-row:last-child { border-bottom: none; }
.service-detail-row.reverse { grid-template-columns: 120px 1fr; }
.service-detail-row.reverse .service-detail-visual { order: -1; }
.service-num {
  font-family: 'Noto Serif KR', serif;
  font-size: 28px;
  font-weight: 300;
  color: var(--gold);
  opacity: 0.6;
  display: block;
  margin-bottom: 6px;
}
.service-detail-text h2 {
  font-family: 'Noto Serif KR', serif;
  font-size: 22px;
  font-weight: 300;
  color: #1C1410;
  margin-bottom: 14px;
}
.service-detail-text p {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: var(--stone);
  line-height: 1.8;
  margin-bottom: 16px;
}
.service-features {
  list-style: none;
  padding: 0;
}
.service-features li {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #1C1410;
  padding: 5px 0 5px 18px;
  position: relative;
}
.service-features li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: var(--gold);
}
.service-visual-placeholder {
  width: 100px;
  height: 100px;
  background: #fff;
  border: 0.5px solid #DDD3C8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  color: var(--gold);
}
@media (max-width: 700px) {
  .service-detail-row,
  .service-detail-row.reverse { grid-template-columns: 1fr; }
  .service-visual-placeholder { margin: 0 auto; }
  .service-detail-row.reverse .service-detail-visual { order: 0; }
}

/* =============================================
   ABOUT PAGE
   ============================================= */
.about-story {
  background: var(--soft);
  padding: 48px 40px 56px;
}
.about-grid {
  max-width: 860px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 48px;
  align-items: center;
}
.about-text h2 {
  font-family: 'Noto Serif KR', serif;
  font-size: 24px;
  font-weight: 300;
  color: #1C1410;
  margin-bottom: 16px;
}
.about-text p {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: var(--stone);
  line-height: 1.9;
  margin-bottom: 14px;
}
.about-placeholder {
  width: 100%;
  aspect-ratio: 1;
  max-width: 300px;
  background: #fff;
  border: 0.5px solid #DDD3C8;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Serif KR', serif;
  font-size: 48px;
  color: var(--gold);
  opacity: 0.5;
  margin: 0 auto;
}
@media (max-width: 700px) {
  .about-grid { grid-template-columns: 1fr; }
  .about-placeholder { max-width: 180px; }
}

/* =============================================
   JOURNAL PAGE
   ============================================= */
.journal-grid-section {
  background: var(--soft);
  padding: 48px 40px 56px;
}
.journal-grid {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
}
.journal-card {
  background: #fff;
  border: 0.5px solid #DDD3C8;
  border-radius: 2px;
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
}
.journal-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
.journal-card-visual {
  background: #1C1410;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.journal-placeholder {
  font-family: 'Noto Serif KR', serif;
  font-size: 40px;
  color: rgba(184,147,90,0.4);
}
.journal-card-body { padding: 20px; }
.journal-category {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}
.journal-title {
  font-family: 'Noto Serif KR', serif;
  font-size: 15px;
  font-weight: 400;
  color: #1C1410;
  line-height: 1.5;
  margin-bottom: 8px;
}
.journal-excerpt {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: var(--stone);
  line-height: 1.7;
  margin-bottom: 12px;
}
.journal-meta {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 400;
  color: #B0A89C;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* =============================================
   PRIVACY PAGE
   ============================================= */
.privacy-content {
  background: var(--soft);
  padding: 48px 40px 56px;
}
.privacy-container {
  max-width: 720px;
  margin: 0 auto;
}
.privacy-block {
  margin-bottom: 36px;
}
.privacy-block h2 {
  font-family: 'Noto Serif KR', serif;
  font-size: 20px;
  font-weight: 300;
  color: #1C1410;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 0.5px solid #DDD3C8;
}
.privacy-block p {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: var(--stone);
  line-height: 1.9;
  margin-bottom: 10px;
}
.privacy-block ul {
  list-style: none;
  padding: 0;
  margin-bottom: 10px;
}
.privacy-block ul li {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: var(--stone);
  line-height: 1.9;
  padding-left: 16px;
  position: relative;
}
.privacy-block ul li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: var(--gold);
}
.privacy-block a {
  color: var(--gold);
  text-decoration: none;
}
.privacy-updated {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: #B0A89C;
  margin-top: 8px;
}

/* =============================================
   CONTACT PAGE
   ============================================= */
.contact-section {
  background: var(--soft);
  padding: 48px 40px 56px;
}
.contact-grid {
  max-width: 960px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
}
.contact-info { display: flex; flex-direction: column; gap: 16px; }
.contact-card {
  background: #fff;
  border: 0.5px solid #DDD3C8;
  border-radius: 2px;
  padding: 20px;
  text-align: center;
}
.contact-icon {
  font-size: 24px;
  color: var(--gold);
  margin-bottom: 8px;
}
.contact-card h3 {
  font-family: 'Noto Serif KR', serif;
  font-size: 14px;
  font-weight: 400;
  color: #1C1410;
  margin-bottom: 6px;
}
.contact-card p {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: var(--stone);
  line-height: 1.6;
}
.contact-sub {
  font-size: 10px !important;
  color: #B0A89C !important;
  margin-top: 4px;
}

.contact-form-wrap {
  background: #fff;
  border: 0.5px solid #DDD3C8;
  border-radius: 2px;
  padding: 32px;
}
.contact-form-wrap h2 {
  font-family: 'Noto Serif KR', serif;
  font-size: 22px;
  font-weight: 300;
  color: #1C1410;
  margin-bottom: 8px;
}
.form-intro {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: var(--stone);
  line-height: 1.7;
  margin-bottom: 24px;
}

.contact-form { display: flex; flex-direction: column; gap: 16px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group { display: flex; flex-direction: column; }
.form-group.full { grid-column: 1 / -1; }
.form-group label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--stone);
  margin-bottom: 6px;
}
.form-group input,
.form-group textarea,
.form-group select {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: #1C1410;
  padding: 10px 14px;
  border: 0.5px solid #DDD3C8;
  border-radius: 2px;
  background: #FDFCFB;
  outline: none;
  transition: border-color 0.3s;
}
.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--gold);
}
.form-group textarea { resize: vertical; min-height: 100px; }
.checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.check-label {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #1C1410;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.check-label input[type="checkbox"] { accent-color: var(--gold); }

@media (max-width: 750px) {
  .contact-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
}

/* =============================================
   ENQUIRE / BOOKING FORM PAGE
   ============================================= */
.form-wrap {
  background: #1C1410;
  padding: 56px 40px 64px;
}
.form-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #B8935A;
  text-align: center;
  margin-bottom: 10px;
}
.form-title {
  font-family: 'Noto Serif KR', serif;
  font-size: 28px;
  font-weight: 300;
  color: #F5EDE5;
  text-align: center;
  margin-bottom: 8px;
}
.form-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: rgba(245,237,229,0.45);
  text-align: center;
  margin-bottom: 40px;
  line-height: 1.7;
}
.form-card {
  background: #F9F4F0;
  border-radius: 2px;
  padding: 40px 36px;
  max-width: 560px;
  margin: 0 auto;
}
.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}
.field-full { margin-bottom: 20px; }
.field-label {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #8a8478;
  margin-bottom: 8px;
}
.field-input {
  width: 100%;
  background: #fff;
  border: 0.5px solid #DDD3C8;
  border-radius: 2px;
  padding: 11px 14px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: #1C1410;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.field-input:focus {
  border-color: #B8935A;
  box-shadow: 0 0 0 2px rgba(184,147,90,0.15);
}
.field-input::placeholder { color: #C8B8A8; }
select.field-input { cursor: pointer; background-image: none; }
textarea.field-input { resize: none; line-height: 1.7; }
.services-grid-check {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 4px;
}
.check-label {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 0.5px solid #DDD3C8;
  border-radius: 2px;
  padding: 11px 14px;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: #1C1410;
  transition: border-color 0.15s;
}
.check-label:hover { border-color: #B8935A; }
.check-label input { display: none; }
.check-box {
  width: 16px;
  height: 16px;
  border: 0.5px solid #C8B8A8;
  border-radius: 2px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, border-color 0.15s;
}
.check-label.checked .check-box {
  background: #B8935A;
  border-color: #B8935A;
}
.check-tick {
  display: none;
  color: #fff;
  font-size: 11px;
}
.check-label.checked .check-tick { display: block; }
.check-label.checked { border-color: #B8935A; }
.divider-form {
  border: none;
  border-top: 0.5px solid #DDD3C8;
  margin: 28px 0;
}
.submit-btn {
  width: 100%;
  background: #1C1410;
  color: #F5EDE5;
  border: none;
  border-radius: 2px;
  padding: 16px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: background 0.15s;
}
.submit-btn:hover { background: #2e1f15; }
.submit-btn:active { transform: scale(0.99); }
.privacy-note {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: #B4A898;
  text-align: center;
  margin-top: 16px;
  line-height: 1.6;
}
.success-state {
  display: none;
  text-align: center;
  padding: 40px 20px;
}
.success-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(184,147,90,0.12);
  border: 0.5px solid #B8935A;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: 22px;
  color: #B8935A;
}
.success-title {
  font-family: 'Noto Serif KR', serif;
  font-size: 20px;
  font-weight: 300;
  color: #1C1410;
  margin-bottom: 10px;
}
.success-text {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: #8a8478;
  line-height: 1.7;
}
.kr-accent {
  text-align: center;
  font-family: 'Noto Serif KR', serif;
  font-size: 13px;
  font-weight: 300;
  color: rgba(184,147,90,0.5);
  letter-spacing: 3px;
  margin-top: 36px;
}

@media (max-width: 600px) {
  .form-wrap { padding: 40px 16px 48px; }
  .form-card { padding: 28px 20px; }
  .field-row { grid-template-columns: 1fr; }
  .services-grid-check { grid-template-columns: 1fr; }
}

/* =============================================
   COMPREHENSIVE MOBILE (max-width: 600px)
   ============================================= */
@media (max-width: 600px) {
  /* Nav */
  .nav-bar { padding: 10px 16px; flex-wrap: wrap; gap: 8px; }
  .nav-logo-img { width: 130px; }
  .nav-links { gap: 14px; flex-wrap: wrap; justify-content: center; width: 100%; }
  .nav-links a { font-size: 11px; letter-spacing: 1px; }
  .hero-full { margin-top: -56px; padding-top: 56px; }

  /* Hero */
  .hero-overlay { padding: 24px 16px; }
  .hero-overlay h1 { font-size: 24px; }
  .hero-overlay p { font-size: 12px; max-width: 100%; }
  .hero-cta { font-size: 11px; padding: 12px 22px; }
  .hero-bg-text { font-size: 60px; }
  .tagline-kr { font-size: 10px; letter-spacing: 2px; }
  .hero-caption { padding: 14px 16px 20px; flex-direction: column; align-items: flex-start; }
  .caption-title { font-size: 15px; }
  .caption-sub { font-size: 10px; }
  .tag { font-size: 9px; padding: 3px 8px; }

  /* Page Hero */
  .page-hero { padding: 48px 16px 36px; }
  .page-hero-short { padding: 36px 16px 28px; }
  .page-hero-bg-text { font-size: 80px; }
  .page-hero h1 { font-size: 26px; }

  /* Divider */
  .divider-kr { padding: 24px 16px 0; gap: 10px; }

  /* Services Cards */
  .services { padding: 28px 14px 36px; }
  .section-title { font-size: 20px; margin-bottom: 24px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .service-card { padding: 18px 12px 16px; }
  .service-icon { font-size: 22px; margin-bottom: 10px; }
  .service-name { font-size: 13px; }
  .service-desc { font-size: 11px; }

  /* Pillars */
  .pillars { grid-template-columns: repeat(2, 1fr); padding: 36px 16px; }
  .pillar { padding: 20px 14px; }
  .pillar:nth-child(2) { border-right: none; }
  .pillar:nth-child(3) { grid-column: 1 / -1; border-top: 0.5px solid rgba(255,255,255,0.08); border-right: none; }
  .pillar-num { font-size: 26px; }
  .pillar-text { font-size: 12px; }

  /* Testimonial */
  .testimonial { padding: 36px 16px; }
  .quote-mark { font-size: 40px; }
  .quote-text { font-size: 14px; }
  .quote-author { font-size: 10px; }

  /* CTA */
  .cta-strip { padding: 36px 16px; }
  .cta-strip h2 { font-size: 19px; }
  .cta-strip p { font-size: 12px; }
  .cta-btn-light { font-size: 11px; padding: 12px 24px; }

  /* Footer */
  .footer { padding: 20px 16px; flex-direction: column; text-align: center; gap: 10px; }
  .footer-logo { width: 110px; }
  .footer-nav { gap: 16px; }

  /* Services detail page */
  .services-detailed { padding: 0 16px 36px; }
  .service-detail-row, .service-detail-row.reverse { grid-template-columns: 1fr; gap: 16px; padding: 28px 0; }
  .service-detail-row.reverse .service-detail-visual { order: 0; }
  .service-visual-placeholder { width: 64px; height: 64px; font-size: 24px; margin: 0 auto; }
  .service-detail-text h2 { font-size: 18px; }

  /* About */
  .about-story { padding: 32px 16px 40px; }
  .about-grid { grid-template-columns: 1fr; gap: 28px; }
  .about-placeholder { max-width: 140px; }
  .about-text h2 { font-size: 20px; }

  /* Journal */
  .journal-grid-section { padding: 32px 16px 40px; }
  .journal-grid { grid-template-columns: 1fr; gap: 16px; }
  .journal-card-visual { height: 100px; }

  /* Privacy */
  .privacy-content { padding: 32px 16px 40px; }
  .privacy-block h2 { font-size: 17px; }

  /* Contact */
  .contact-section { padding: 32px 16px 40px; }
  .contact-grid { grid-template-columns: 1fr; gap: 20px; }
  .contact-form-wrap { padding: 20px 16px; }
  .form-row { grid-template-columns: 1fr; }
  .contact-info { flex-direction: row; flex-wrap: wrap; }
  .contact-card { flex: 1 1 140px; }

  /* Enquire form */
  .form-wrap { padding: 32px 12px 40px; }
  .form-card { padding: 20px 14px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .field-row > div { margin-bottom: 14px; }
  .services-grid-check { grid-template-columns: 1fr; }
  .form-title { font-size: 22px; }
  .kr-accent { margin-top: 24px; font-size: 11px; }
}
