:root {
  --ink: #f2ede3;
  --cream: #0d0f0e;
  --gold: #b89a63;
  --gold-light: #d7bd88;
  --gold-dark: #765c32;
  --surface: #141716;
  --surface-raised: #1a1e1c;
  --border-gold: rgba(196, 164, 103, .34);
  --muted: rgba(242, 237, 227, .66);
}

html { background: #090b0a; }
body { background: #0d0f0e; color: #f2ede3; }

.header,
.inner-header {
  background: linear-gradient(180deg, rgba(6, 8, 7, .96), rgba(10, 12, 11, .78));
  border-bottom-color: rgba(196, 164, 103, .28);
  backdrop-filter: blur(10px);
}
.brand-en, .header-call { color: #f4ead7; }
.brand-ko, .header nav a, .top-menu { color: rgba(255,255,255,.78); }
.header nav a:hover, .top-menu:hover, .top-menu[aria-expanded=true] { color: #d7bd88; }
.global-submenu { background: rgba(8,10,9,.98); border-color: rgba(196,164,103,.25); }

.hero-shade {
  background: linear-gradient(90deg,rgba(3,5,4,.9) 0%,rgba(5,7,6,.6) 42%,rgba(5,7,6,.18) 74%),
              linear-gradient(0deg,rgba(3,5,4,.72),transparent 55%);
}
.eyebrow, .eyebrow.dark, .section-title>p, .content-head small { color: #c8a96f; }
.hero em, .section-title em, .community em { color: #d7bd88; }
.lead { color: rgba(255,255,255,.82); }

.btn, .submit, .reservation-submit, .price-actions a, .modelhouse-open a {
  border: 1px solid rgba(232,210,168,.42);
  background: linear-gradient(135deg,#b79a65 0%,#876a3b 100%);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.2);
}
.ghost { background: rgba(7,9,8,.48); border-color: rgba(215,189,136,.58); }

.section, .answer { background: #0d0f0e; }
.premium, .visit { background: linear-gradient(145deg,#111412,#080a09); }
.section-title h2, .community h2, .content-head h2, .facts dd,
.facts>p, .community-copy>p:not(.eyebrow), .answer h3, .answer p {
  color: #eee8dd;
}
.facts>p, .community-copy>p:not(.eyebrow), .answer p, .content-head p { color: var(--muted); }
.facts dl div, .community ul, .community li, .answer-grid, .answer article {
  border-color: var(--border-gold);
}
.facts dt { color: #c0a16a; }
.view-card, .community-art, .official-sheet, .reservation-panel, .feature-cards article,
.contact-cards a, .image-gallery figure, .interior-stack figure, .notice {
  border: 1px solid var(--border-gold);
  background: linear-gradient(145deg,#1a1e1c,#111412);
  box-shadow: 0 24px 65px rgba(0,0,0,.38);
}
.community-art { background: radial-gradient(circle at 50% 38%,#2a2f2b,#0b0d0c 72%); }
.community li { color: #ddd5c7; }
.premium-grid { border-color: var(--border-gold); }
.premium article { border-color: var(--border-gold); }
.premium article p { color: rgba(255,255,255,.62); }

.reserve-form, .reservation-panel {
  background: linear-gradient(145deg,#1b1f1d,#111412);
  color: #f3ede1;
  border: 1px solid var(--border-gold);
}
.reserve-form>label, .reserve-form fieldset, .reservation-panel>label,
.reservation-panel fieldset { color: #c4a66f; border-color: rgba(196,164,103,.3); }
.reserve-form input:not([type=checkbox]), .reservation-panel input:not([type=radio]):not([type=checkbox]) { color: #fff; }
.reserve-form input::placeholder, .reservation-panel input::placeholder { color: rgba(255,255,255,.38); }
.chips span, .reservation-types span { color: #d9d1c3; background: #101311; border-color: rgba(196,164,103,.38); }
.chips input:checked+span, .reservation-types input:checked+span {
  background: linear-gradient(135deg,#b79a65,#765c32); color:#fff; border-color:#c7aa73;
}
.reserve-form .agree, .reservation-panel .agree, .form-note, .reservation-status { color: rgba(255,255,255,.6); }
.reservation-status:not(:empty) { padding: 13px 14px; border: 1px solid rgba(196,164,103,.38); background: rgba(0,0,0,.2); }
.reservation-status.success { color: #f4e5c5; border-color: #b99a61; background: rgba(185,154,97,.14); font-size: 15px; font-weight: 500; white-space: pre-line; }
.reservation-complete-open { overflow: hidden; }
.reservation-complete-modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(3,5,4,.82); backdrop-filter: blur(7px); animation: reservationFade .22s ease-out; }
.reservation-complete-card { width: min(92vw,480px); padding: 38px 34px 30px; text-align: center; color: #f5efe3; background: linear-gradient(145deg,#202521,#0e110f); border: 1px solid #b99a61; box-shadow: 0 28px 90px rgba(0,0,0,.58); animation: reservationRise .28s ease-out; }
.reservation-complete-mark { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 18px; border-radius: 50%; background: #b99a61; color: #101310; font-size: 34px; font-weight: 700; box-shadow: 0 0 0 8px rgba(185,154,97,.12); }
.reservation-complete-eyebrow { margin: 0 0 10px; color: #cdb47e; font-size: 12px; letter-spacing: .2em; }
.reservation-complete-card h2 { margin: 0 0 25px; font: 500 clamp(24px,5vw,31px)/1.4 var(--serif); }
.reservation-complete-card dl { margin: 0; border-top: 1px solid rgba(196,164,103,.35); }
.reservation-complete-card dl div { display: grid; grid-template-columns: 92px 1fr; gap: 12px; padding: 12px 4px; text-align: left; border-bottom: 1px solid rgba(196,164,103,.22); }
.reservation-complete-card dt { color: #bda16b; font-size: 14px; }
.reservation-complete-card dd { margin: 0; color: #fff; font-size: 15px; overflow-wrap: anywhere; }
.reservation-complete-notice { margin: 22px 0; color: #e8dfd0; font-size: 15px; line-height: 1.7; }
.reservation-complete-card button { width: 100%; height: 54px; border: 1px solid #c4a467; background: linear-gradient(135deg,#c2a46c,#806536); color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; }
@keyframes reservationFade { from { opacity: 0; } }
@keyframes reservationRise { from { opacity: 0; transform: translateY(18px) scale(.97); } }
@media(max-width:480px){.reservation-complete-modal{padding:18px}.reservation-complete-card{padding:32px 20px 24px}.reservation-complete-card dl div{grid-template-columns:78px 1fr}.reservation-complete-card h2{font-size:25px}}
.reserve-form .agree, .reservation-panel .agree { position: relative; align-items: flex-start; cursor: pointer; }
.agree input[type="checkbox"] { position: absolute; width: 1px !important; height: 1px; margin: 0; padding: 0 !important; opacity: 0; }
.reservation-types label { position: relative; display: block; min-width: 0; }
.reservation-panel .reservation-types input[type="checkbox"] { position: absolute; width: 1px !important; height: 1px; margin: 0; padding: 0 !important; opacity: 0; }
.agree-box { display: inline-grid; place-items: center; flex: 0 0 22px; width: 22px; height: 22px; margin-top: 1px; border: 1px solid rgba(215,189,136,.8); background: #0d100e; box-shadow: inset 0 0 0 2px #0d100e; }
.agree input[type="checkbox"]:checked + .agree-box { background: #b99a61; }
.agree input[type="checkbox"]:checked + .agree-box::after { content: "✓"; color: #111412; font-size: 16px; font-weight: 700; line-height: 1; }
.agree input[type="checkbox"]:focus-visible + .agree-box { outline: 2px solid #f0d7a3; outline-offset: 3px; }

.sub-hero { border-bottom: 1px solid var(--border-gold); }
.sub-nav { background:#111412; border-color:var(--border-gold); }
.sub-nav a { color:rgba(255,255,255,.62); }
.sub-nav a.active { color:#d7bd88; }
.content { color:#eee8dd; }
.info-table { border-top-color:#b99a61; }
.info-table div { border-color:var(--border-gold); }
.info-table dt, .unit-list span, .feature-cards b { color:#c8a96f; }
.info-table dd, .feature-cards p, .image-gallery figcaption, .wide-image figcaption,
.price-help, .visit-side p { color:var(--muted); }
.feature-cards h3, .interior-stack figcaption, .contact-cards strong, .visit-side h2 { color:#f1eadf; }
.unit-list a, .menu-grid a, .video-card {
  background:linear-gradient(145deg,#1a1e1c,#0c0f0d); border:1px solid var(--border-gold);
}
.unit-tabs a { background:#131614; color:#ddd5c7; border-color:var(--border-gold); }
.unit-tabs a.active { background:linear-gradient(135deg,#b79a65,#765c32); color:#fff; border-color:#c7aa73; }
.unit-section { border-color:var(--border-gold); }
.notice { color:rgba(255,255,255,.66); }
.modelhouse-frame { border-color:var(--border-gold); background:#080a09; }

dialog { background:#171a18; color:#eee8dd; border:1px solid var(--border-gold); }
dialog::backdrop { background:rgba(0,0,0,.82); }
dialog>button { color:#fff; }
footer { background:#070908; border-top:1px solid rgba(196,164,103,.25); }
.footer-brand strong { color:#d7bd88; }

@media(max-width:820px){
  .content, .reservation-layout, .reservation-panel { width: 100%; min-width: 0; max-width: 100%; }
  .reservation-panel { margin-inline: auto; }
  .header.open { background:#090b0a; }
  .header.open nav { align-items:stretch; }
  .top-menu { position:relative; padding:17px 34px 17px 0; }
  .top-menu::after { content:'+'; position:absolute; right:5px; top:50%; transform:translateY(-50%); color:#c8a96f; font-size:21px; font-weight:300; }
  .top-menu[aria-expanded=true]::after { content:'−'; }
  .header nav .global-submenu { position:static; order:initial; width:100%; min-height:0; padding:7px 14px 13px; display:none; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; background:#151916; border-top:1px solid rgba(196,164,103,.24); box-shadow:inset 3px 0 #9e814e; }
  .header nav .global-submenu.open { display:flex; }
  .header nav .global-submenu a { padding:12px 9px; color:#e8dfd0; border-bottom:1px solid rgba(255,255,255,.08); font-size:14px; }
  .section-title h2, .content-head h2, .visit-side h2 { word-break:keep-all; }
  .premium article:nth-child(-n+2) { border-bottom-color:var(--border-gold); }
}
