/* 빌리브 명지 듀클래스 : Premium Navy / Champagne Gold V2 visual system.
   Retains existing markup, reservation logic and tracking hooks. */
:root {
  --navy: #091a2a;
  --navy2: #10283d;
  --gold: #d6b47b;
  --gold-light: #f4dfb2;
  --ivory: #f4f0e8;
  --ink: #162638;
  --muted: #617080;
  --edge: #d8c9aa;
}
body {background:#0a1826;color:var(--ink);font-size:19px;}
::selection {background:#ba9658;color:#061725;}
.topline {background:#06121f;border-bottom:1px solid #b7935a44;min-height:35px;color:#e6d8c0;font-size:13px;}
.topline__dot {background:#ebc684;box-shadow:0 0 0 4px #c39c5940;}
.topline a {color:#f7daa7;}
.header {background:#0a1b2b;box-shadow:0 8px 22px #020b1680;border-bottom:1px solid #d8b47b66;}
.brand b {color:#f4e0b8;letter-spacing:-.09em;}
.brand span {color:#c6a771;}
.nav a {color:#f8f4e9;}
.nav a:hover,.nav a:focus-visible {color:#dfbd83;}
.header__call small {color:#c6bba8;font-size:13px;}
.header__call strong {color:#efd3a0;font-size:24px;}
.menu-toggle span {background:#edcf9b;}
.hero {isolation:isolate;min-height:790px;background:
 radial-gradient(ellipse at 79% 25%,#6f684c49 0%,transparent 42%),
 linear-gradient(112deg,#071725 0%,#0c2235 51%,#20354a 100%);}
.hero__photo {inset:0 0 0 36%;background:linear-gradient(90deg,#0b1d2b 3%,#0b1d2b20 62%),none center/cover no-repeat;opacity:.85;filter:saturate(.80) contrast(1.07);}
.hero::before {background:linear-gradient(90deg,#071624 0%,#081928 23%,#091a29e8 42%,#091a2966 72%,#091a2911 100%);}
.hero::after {content:'V';font-family:Georgia,serif;font-size:min(65vw,830px);font-weight:400;line-height:1;position:absolute;z-index:1;right:-9vw;top:-10vh;color:transparent;-webkit-text-stroke:1px #dfbc7a33;pointer-events:none;}
.hero__grain {opacity:.09;background-image:repeating-linear-gradient(90deg,transparent 0 37px,#dfc28f19 38px 39px),repeating-linear-gradient(0deg,transparent 0 54px,#dfc28f19 55px 56px);}
.hero__content {padding-top:105px;padding-bottom:120px;}
.eyebrow,.eyebrow--light {color:#cda969;letter-spacing:.27em;font-weight:900;}
.eyebrow span {width:42px;height:2px;background:#d8b77e;}
.hero h1 {color:#faf7f0;font-size:clamp(58px,7vw,98px);font-weight:900;text-shadow:0 5px 25px #00101e77;}
.hero h1 em {color:#e6c992;font-weight:400;}
.hero__lead {color:#e2e2db;font-size:clamp(21px,2.2vw,26px);}
.hero__offer {margin-top:22px;padding:23px 34px 22px 30px;border-left:3px solid #cba465;background:linear-gradient(90deg,#0b1c2ded, #10253a70);max-width:680px;box-shadow:10px 15px 50px #06131f77;}
.hero__offer>span {font-size:20px;color:#dfc48f;}
.hero__offer strong {font-size:clamp(40px,5vw,60px);}
.hero__offer i {font-size:clamp(100px,12vw,155px);color:#ffe2a5;text-shadow:0 5px 36px #f6b84c39;}
.hero__offer b {font-size:29px;color:#fff;}
.hero__note {font-size:15px;color:#e1d9cd;max-width:540px;}
.hero__actions .btn {min-height:70px;border-radius:0;font-size:21px;}
.btn--gold,.form-submit,.promo__cta {background:linear-gradient(125deg,#f3dea9 0%,#c59b5d 48%,#f5daa0 100%);color:#0c1e2e;box-shadow:0 8px 26px #050e19a6;}
.btn--gold:hover,.form-submit:hover,.promo__cta:hover {filter:brightness(1.07);}
.btn--outline {border-color:#d8b77e;color:#f5e5c9;background:#0a192ab3;}
.btn--navy {background:#0f2a40;border:1px solid #bb965b;}
.hero__bottom {border-top:1px solid #c9ae7d66;padding-top:12px;color:#ebd2a8;}
.section {position:relative;}
.section-head h2,.overview-copy h2,.community-copy h2,.contract-layout h2,.reservation-intro h2 {letter-spacing:-.058em;}
.section-head strong,.overview-copy h2 strong,.community-copy h2 strong,.contract-layout h2 strong,.reservation-intro h2 strong {font-weight:900;}
#benefits {background:radial-gradient(circle at 100% 0%,#2b3e4e,transparent 39%),linear-gradient(180deg,#132d43,#071a2b);color:#f8f4ec;border-top:6px solid #d5ad6c;}
#benefits .section-head h2 {color:#f8f4ec;}
#benefits .section-head h2 strong {color:#f0d39d;}
#benefits .section-head p {color:#d8d8d4;}
.benefit-feature {background:linear-gradient(121deg,#142e44,#07192b 60%,#112a40);border:1px solid #cfaa6a;min-height:470px;padding:52px 65px;box-shadow:0 24px 60px #0005;border-radius:0;}
.benefit-feature::after {opacity:.6;background:repeating-linear-gradient(90deg,transparent 0 58px,#dcb67622 59px 60px);}
.benefit-feature h3 {font-size:clamp(40px,4.5vw,67px);}
.benefit-feature h3 em {color:#f2cf8f;}
.benefit-feature p {color:#e0e2df;font-size:20px;}
.benefit-feature a {color:#f0cc89;font-size:21px;}
.benefit-feature__number {color:#f4d598;opacity:.55;}
.benefit-grid article {background:#0e263a;color:#f8f0df;border:1px solid #b9965a8a;border-top:3px solid #dbb981;box-shadow:0 10px 30px #010a1666;}
.benefit-grid article span {color:#e9c889;font-size:17px;}
.benefit-grid article h3 {color:#fff;font-size:26px;}
.benefit-grid article p {color:#cfdae0;font-size:19px;}
#benefits .fine-print {color:#b9c6ca;font-size:14px;}
#overview {background:linear-gradient(130deg,#071725,#0f273a);border-top:1px solid #bf995c88;border-bottom:1px solid #bf995c99;}
#overview h2 strong,#community h2 strong,.reservation-intro h2 strong {color:#eac88d;}
#overview .figure,#community .figure {border:1px solid #ba9a65;background:#102738;box-shadow:0 18px 40px #0006;}
.overview-stats {border-color:#dbb77b88;}
.overview-stats dt {color:#d2d8d9;font-size:17px;}
.overview-stats dd {color:#f0ce91;}
#location {background:#f4f0e7;}
#location .section-head h2 strong {color:#a17a43;}
.location-grid__info article {background:#fffdf8;border-left:3px solid #ba955c;box-shadow:0 10px 30px #192f4312;}
.location-icon {font-size:15px;color:#947042;}
.location-grid__info h3 {color:#14293c;}
.location-grid__info p {color:#526576;}
#location .figure {border:1px solid #b9a07c;background:#ecdfc7;}
#plans {background:radial-gradient(circle at 10% 10%,#26415288,transparent 48%),linear-gradient(150deg,#0b2033,#061625);color:#fff;}
#plans .section-head strong {color:#ebc98f;}
#plans .section-head p {color:#d2dae0;}
.plan-wrap {border:1px solid #cfad76;background:#fdfcf7;box-shadow:0 27px 60px #0009;}
.plan-tabs {background:#0d273c;border-bottom:1px solid #d1aa68;}
.plan-tab {color:#d8e1e1;}
.plan-tab.active {color:#071a29;background:linear-gradient(120deg,#edd3a4,#c2985a);border-bottom-color:#f1e3c3;}
.plan-info {background:#fffdf8;}
.plan-info h3 {color:#13283c;}
.plan-picture {background:#fdfbf6;}
#plans .fine-print {color:#bec9cf;}
#interior {background:#faf7f1;}
#interior .section-head h2 strong {color:#a37a44;}
#interior .figure {background:#dfd6c4;border:1px solid #bba37a;}
.interior-action {border-color:#c8aa73;}
.interior-action strong {color:#172c3c;}
.text-link--big {color:#977140;}
#community {background:linear-gradient(125deg,#0c1c2a,#16364b);}
.community-chips span {border-color:#d1b17d;color:#ecd3a5;font-size:15px;}
#pricing {background:#e9e0d0;border-top:6px solid #bb965f;}
#pricing h2 strong {color:#997139;}
.contract-points {border-color:#c2a675;}
.contract-points li {border-color:#c2a675;}
.contract-card {background:radial-gradient(circle at 50% 32%,#324252 0%,#091a2b 68%);box-shadow:0 25px 45px #06172555;min-height:510px;}
.contract-card::before {inset:21px;border:2px solid #d3b378;}
.contract-card>strong em {color:#f2d69d;}
#reservation {background:linear-gradient(115deg,#071727,#122b40);border-top:2px solid #d0ab70;}
.reserve-form {border-top:5px solid #d1aa6d;background:#fbfaf6;}
.form-title h3 {color:#0b2033;}
.field input,.field select {border:1px solid #aa9f8e;background:#fff;}
.field input:focus,.field select:focus {border-color:#a47a3e;outline:2px solid #e8c891;outline-offset:1px;}
.form-submit {box-shadow:none;}
.footer {border-top:1px solid #b6935b;background:#061321;}
.mobile-actions__phone {background:#102c43;border-top:3px solid #e0c48f;}
.mobile-actions__reserve {background:linear-gradient(120deg,#f3d9a3 0%,#bf965b 48%,#efd29e 100%);border-top:3px solid #f9e8bd;}
.promo__dialog {background:radial-gradient(circle at 50% 20%,#345168,#0a1c2d 65%);border:2px solid #ccab73;}
.promo__dialog h2 strong {color:#f0d498;}
/* Any remote official image that fails to load: make the source-needed state explicit, not a blank rectangle. */
.plan-picture.image-missing {min-height:380px;}
.plan-picture.image-missing img {opacity:0;}
.plan-picture.image-missing::before {content:'공식 평면도 원본 연결이 필요합니다';position:absolute;top:30px;left:18px;right:18px;bottom:66px;display:grid;place-items:center;background:linear-gradient(135deg,#f4e9d4,#e9e1d1);border:1px solid #ba9b64;color:#233b4e;text-align:center;font-size:20px;font-weight:750;padding:24px;}

.image-warning {width:100%;height:100%;min-height:220px;background:linear-gradient(145deg,#182f40,#091c2b)!important;color:#e8d0a3!important;border:1px solid #c6a56b!important;padding:30px!important;font-size:18px!important;line-height:1.6!important;}
@media(max-width:900px) {
 .nav {background:#0b2032;border-bottom:1px solid #caab75;}
 .nav a {color:#f9f4e7;border-bottom-color:#ebc98f37;}
 .hero__photo {left:0;}
 .hero::before {background:linear-gradient(90deg,#071626f7 0%,#091a2dd9 40%,#091a2d66 100%);}
}
@media(max-width:640px) {
 body {font-size:20px;}
 .topline {font-size:12px;min-height:38px;justify-content:center;}
 .topline a {display:none;}
 .header__inner {height:72px;}
 .brand b {font-size:32px;}
 .brand span {font-size:10px;}
 .hero {min-height:735px;min-height:calc(100svh - 100px);}
 .hero__photo {inset:0;background:linear-gradient(180deg,#06162722 0%,#0d24355e 37%,#081725 88%),none center 20%/cover no-repeat;opacity:.80;}
 .hero::before {background:linear-gradient(180deg,#0818259a 0%,#081825a8 27%,#081825db 49%,#081825ff 89%);}
 .hero::after {font-size:110vw;right:-8vw;top:4vh;-webkit-text-stroke:1px #d7b47b3b;}
 .hero__grain {opacity:.25;}
 .hero__content {padding:103px 0 119px;}
 .hero h1 {font-size:clamp(41px,10.8vw,53px);}
 .hero h1 em {color:#f0d9aa;}
 .hero__lead {font-size:20px;margin:13px 0 14px;}
 .hero__offer {margin-top:9px;padding:17px 14px 17px 20px;width:100%;max-width:none;}
 .hero__offer>span {font-size:19px;}
 .hero__offer strong {font-size:36px;}
 .hero__offer i {font-size:clamp(86px,24vw,106px);}
 .hero__offer b {font-size:25px;}
 .hero__note {font-size:14px;line-height:1.6;margin:13px 0;}
 .hero__actions {display:none;} /* 모바일은 88px 하단 고정 CTA 사용: 중복 버튼 겹침 방지 */
 .hero__actions .btn {min-height:62px;font-size:17px;padding:8px 7px;line-height:1.2;white-space:normal;text-align:center;}
 .section {padding:85px 0;}
 .section-head h2,.overview-copy h2,.community-copy h2,.contract-layout h2,.reservation-intro h2 {font-size:clamp(33px,8.6vw,42px);}
 .eyebrow {font-size:15px;}
 .section-head p {font-size:20px;}
 .benefit-feature {padding:30px 24px;min-height:390px;}
 .benefit-feature h3 {font-size:clamp(36px,9.4vw,47px);}
 .benefit-feature p {font-size:19px;}
 .benefit-feature__number {bottom:-3px;right:4px;font-size:136px;opacity:.2;}
 .benefit-feature a {font-size:19px;}
 .benefit-grid article {padding:24px 25px;}
 .benefit-grid article p {font-size:18px;}
 .overview-stats dt {font-size:16px;}
 .overview-stats dd {font-size:38px;}
 .overview-stats dd small {font-size:14px;}
 .location-grid__info article {padding:24px 24px;}
 .location-grid__info p {font-size:19px;}
 .community-chips span {font-size:14px;}
 .contract-card {min-height:430px;}
 .reserve-form {padding:29px 20px;}
 .form-notice,.fine-print {font-size:14px;line-height:1.75;}
 .field input,.field select {font-size:19px;}
 .form-submit {font-size:25px;}
 .mobile-actions {height:calc(88px + env(safe-area-inset-bottom));grid-template-columns:52% 48%;}
 .mobile-actions__phone span {font-size:20px;}
 .mobile-actions__phone strong {font-size:26px;letter-spacing:-.055em;}
 .mobile-actions__reserve strong {font-size:26px;}
 .mobile-actions__reserve small {font-size:14px;}
 .figure figcaption {font-size:15px;}
}
@media(max-width:359px) {
 .hero__content {padding-top:94px;padding-bottom:122px;}
 .hero h1 {font-size:39px;}
 .hero__offer i {font-size:78px;}
 .hero__offer strong {font-size:32px;}
 .mobile-actions__phone strong {font-size:26px;letter-spacing:-.085em;}
 .mobile-actions__reserve strong {font-size:25px;}
}
