/* V4 — coherent brand/editorial system + deliberately restrained conversion animation */
:root {--midnight:#061522;--night:#091b2c;--ocean:#102b40;--champagne:#e2bd80;--champagne-soft:#f7e3b4;--warm:#f5f1e9;--offwhite:#fffaf1;--line:#d7b783}
html{scroll-padding-top:83px}
body{font-family:'Pretendard Variable','Noto Sans KR','Malgun Gothic',sans-serif;font-size:19px;line-height:1.66;color:#142333;background:var(--warm)}
.container{width:min(1200px,calc(100% - 72px))}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e9ac46;outline-offset:4px}
.header{background:#071827;border-bottom:1px solid #d9b9823f;box-shadow:0 9px 27px #071c2755}
.header__inner{height:86px}.brand b{color:#f5dab0;font-size:37px}.brand span{font-size:11px;color:#e9c895;letter-spacing:.13em}
.nav{gap:23px}.nav a{color:#f7f3e9;font-size:15px;font-weight:800}.nav a:hover,.nav a:focus-visible{color:#ecc98b}
.header__call small{color:#cfb487;font-size:13px}.header__call strong{font-size:25px;color:#f5dbac}.menu-toggle span{background:#eed2a3}
/* 01 — image appears in the FIRST viewport, not behind dark gradient */
.hero{display:block;min-height:0;max-height:none;overflow:hidden;background:radial-gradient(circle at 0% 20%,#1c3a4d88,transparent 60%),#061522;color:#fff;border-bottom:4px solid #b99560}
.hero::before,.hero::after,.hero__grain,.hero__photo,.hero__bottom{display:none!important}
.hero-grid{display:grid;grid-template-columns:1fr 1.08fr;align-items:stretch;min-height:665px;gap:28px}
.hero-main{padding:80px 5px 76px 0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}
.hero-kicker{font-size:13px;letter-spacing:.20em;font-weight:900;color:#e9c58a;display:flex;align-items:center;gap:12px;white-space:normal}
.tiny-rule{width:29px;height:2px;background:#e5bf78;display:inline-block;flex:0 0 auto}
.hero-main h1{font-size:clamp(48px,5.1vw,78px);font-weight:850;line-height:1.08;letter-spacing:-.065em;margin:23px 0 12px}
.hero-main h1 em{font-style:normal;color:#f5d9a2;font-weight:650}
.hero-sub{font-size:21px;line-height:1.6;color:#cfdae0;margin-bottom:18px}
.hero-offer{padding:14px 0 12px;border-top:1px solid #ceb17c5e;border-bottom:1px solid #ceb17c5e;width:max-content;max-width:100%}
.offer-label{font-size:18px;color:#d7bc8d;font-weight:750}
.hero-discount{display:flex;gap:14px;align-items:baseline;white-space:nowrap;line-height:1}
.hero-discount>span{font-size:32px;font-weight:800;color:#fff}
.hero-discount strong{font-family:inherit;font-size:clamp(90px,9vw,146px);letter-spacing:-.1em;font-weight:950;color:#f9d794;line-height:.98;text-shadow:0 8px 31px #e8bb5640}
.hero-discount small{font-size:.48em;letter-spacing:-.04em}.offer-caption{font-size:25px;font-weight:950;letter-spacing:-.03em}
.hero-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:18px 0 24px}
.hero-price>span{font-size:18px;color:#ccb993;font-weight:750}
.hero-price strong{font-size:clamp(23px,2.5vw,34px);letter-spacing:-.045em;color:#fff;white-space:nowrap}
.hero-price strong em{font-style:normal;color:#f0c882;font-weight:950}
.hero-price small{font-size:12px;color:#bdc7c9;display:block;width:100%}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:2px}
.cta{min-height:64px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:20px;font-weight:900;text-decoration:none;padding:14px 24px;position:relative;overflow:hidden;transition:transform .2s,filter .2s}
.cta:hover{transform:translateY(-2px);filter:brightness(1.04)}
.cta-primary{background:linear-gradient(119deg,#e8ce9b,#c79e60 56%,#f3dbab);color:#071827;border:1px solid #ebd5ac}
.cta-line{border:1px solid #e2c28d;color:#f7eddb;background:#0b2437}
.cta-shine::after{content:"";position:absolute;inset:-45% auto -45% -50%;width:38%;transform:skewX(-27deg);background:linear-gradient(90deg,transparent,#fff8,transparent);pointer-events:none;animation:ctaShine 1.2s .85s both}
@keyframes ctaShine{from{left:-50%;opacity:.4}to{left:140%;opacity:0}}
.hero-visual{position:relative;align-self:stretch;min-height:565px;display:flex;align-items:stretch;justify-content:center;padding:50px 0}
.hero-photo{width:100%;height:100%;min-height:510px;object-fit:cover;object-position:center;background:#334b55;border:1px solid #d0ad725c;filter:contrast(1.05) saturate(.92);box-shadow:0 18px 58px #0007}
.hero-visual::after{content:"";position:absolute;top:50px;bottom:50px;left:0;right:0;background:linear-gradient(180deg,transparent 52%,#051521e5 100%);pointer-events:none}
.hero-visual-caption{position:absolute;z-index:1;left:29px;right:24px;bottom:77px;color:#fff;display:flex;flex-direction:column;gap:7px;text-shadow:0 2px 12px #000}
.hero-visual-caption span{font-size:13px;letter-spacing:.2em;color:#efd0a1;font-weight:850}
.hero-visual-caption strong{font-size:27px;line-height:1.26}
.hero-ticker{border-top:1px solid #bd9c6955;background:#091e2e;display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;padding:0 18px}
.hero-ticker span{padding:13px 30px;border-right:1px solid #d5b57d40;font-weight:750;font-size:16px;color:#e9d2a7}.hero-ticker span:last-child{border-right:0}
/* benefits — show the user-supplied conditions ONCE in a deliberate editorial hierarchy */
#benefits{background:linear-gradient(140deg,#081827,#102d40 60%,#061827);border-top:0}
.section{padding:105px 0}
.section-head .eyebrow{font-size:15px;color:#bf955e}
#benefits .section-head h2{font-size:clamp(37px,4.4vw,61px);line-height:1.3}
#benefits .section-head h2 strong{color:#f3d49a}
#benefits .section-head p{color:#d8dee1;font-size:20px}
.deal-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:22px;align-items:stretch;margin-top:38px}
.deal-main{background:radial-gradient(circle at 100% 100%,#38556a,transparent 45%),linear-gradient(140deg,#142e43,#081827);border:1px solid #c8a46b;padding:52px 44px;display:flex;flex-direction:column;min-width:0}
.deal-eyebrow{color:#ddbc82;letter-spacing:.19em;font-size:16px;font-weight:900}
.deal-main h3{color:#fff;font-size:clamp(39px,4vw,56px);font-weight:800;margin:24px 0 14px}
.deal-main h3 strong{font-size:clamp(51px,5.2vw,75px);color:#f5d697;letter-spacing:-.07em;white-space:nowrap}
.deal-main>p:not(.deal-eyebrow){color:#dce2e4;font-size:19px}.deal-main>p b{color:#f0d6a5}
.deal-nums{border-top:1px solid #d1b67a82;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 15px;margin:34px 0 26px;padding-top:25px}
.deal-nums span{font-size:17px;color:#dbc99f}.deal-nums strong{font-size:clamp(24px,3vw,35px);color:#f2d49c}.deal-nums small{width:100%;color:#bdcbd0;font-size:14px}
.deal-main .cta{margin-top:auto;justify-content:space-between;font-size:21px}
.deal-details{background:linear-gradient(130deg,#f7f2e8,#ede2cd);color:#142636;padding:46px 42px;border:1px solid #bfa074;min-width:0}
.deal-details-head>span{color:#967342;font-size:15px;font-weight:900;letter-spacing:.18em}.deal-details h3{font-size:clamp(33px,3vw,43px);line-height:1.35;margin:14px 0 25px;color:#12283c}
.deal-list{padding:0;margin:0;list-style:none;display:grid;gap:10px}
.deal-list li{display:flex;gap:18px;align-items:center;padding:16px 17px;background:#fff;border-left:4px solid #c5a16a;box-shadow:0 8px 14px #00000009}
.deal-list li span{font-size:14px;color:#927042;font-weight:900}.deal-list strong{font-size:clamp(19px,1.8vw,23px);letter-spacing:-.035em;color:#142535}.deal-list em{color:#ac7e38;font-style:normal}
.deal-details .fine-print{color:#6c7476;font-size:14px;line-height:1.7;margin-top:20px}
.key-stripe{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;border-top:1px solid #d8b57869;border-bottom:1px solid #d8b57869}
.key-stripe>div{display:flex;gap:4px;flex-direction:column;text-align:center;padding:25px 12px;border-right:1px solid #cba97258}
.key-stripe>div:last-child{border-right:0}.key-stripe span{font-size:15px;color:#c3cbd0}.key-stripe strong{font-size:clamp(23px,2.4vw,32px);font-weight:900;color:#f1d5a0}
/* selected graphic evidence placeholders should be stylish but explicitly not disguised as real floor plans */
.editorial-panel{border:1px solid #c3a16c;min-height:440px;padding:36px;display:flex;flex-direction:column;justify-content:center;gap:20px;overflow:hidden;position:relative}
.editorial-panel::after{content:'V';font-family:Georgia,serif;font-size:450px;color:transparent;-webkit-text-stroke:1px #c4a06d25;position:absolute;top:0;right:-70px;line-height:1;pointer-events:none}
.editorial-panel>*{position:relative;z-index:1}.editorial-panel--overview{background:linear-gradient(130deg,#193a4e,#081a2a)}.editorial-index{color:#e2bf81;font-size:14px;font-weight:850;letter-spacing:.17em}
.editorial-number{font-size:clamp(66px,7vw,102px);color:#f0d19b;font-weight:950;letter-spacing:-.085em;line-height:1}
.editorial-number span{font-size:16px;display:block;letter-spacing:.12em;margin-top:13px}
.editorial-panel p{font-size:23px;line-height:1.5;color:#fff}
.editorial-panel a{display:inline-flex;width:fit-content;border-bottom:1px solid #c6a26e;color:#f6d59f;font-size:18px;font-weight:850;padding-bottom:7px}
.editorial-panel small{font-size:12px;color:#c5ced1}
.editorial-panel--location{background:linear-gradient(135deg,#0b2636,#234b5a);min-height:420px}
.location-panel-title{color:#fff;font-size:clamp(28px,3vw,44px);font-weight:850;line-height:1.35;letter-spacing:-.05em}
.location-panel-title strong{color:#e7cd9d}
.location-lines{display:grid;gap:10px}.location-lines span{padding:9px 0;border-bottom:1px solid #c2b08b6f;color:#e8dfcf;font-size:18px}
#plans .plan-wrap{box-shadow:0 22px 52px #0006}
.plan-picture{min-height:450px;align-items:stretch;flex-direction:column;padding:25px 25px 68px;background:linear-gradient(140deg,#f4efe5,#e9dfcf)}
.plan-pending{display:flex;flex:1;flex-direction:column;gap:13px;align-items:center;justify-content:center;text-align:center;color:#1c3448;padding:15px}
.plan-pending__glyph{width:160px;height:160px;border:2px solid #c3a16a;display:grid;place-content:center;color:#b38c53;font-size:68px;font-weight:950;letter-spacing:-.09em;position:relative;line-height:1}
.plan-pending__glyph::after{content:'';position:absolute;inset:10px;border:1px solid #c6aa7b}.plan-pending__glyph span{font-size:25px}
.plan-pending__title{font-size:15px;letter-spacing:.19em;color:#9b793f;font-weight:900}
.plan-pending strong{font-size:28px}.plan-pending p{color:#4f606b;font-size:18px}
.plan-pending a{border-bottom:1px solid #b5975e;color:#142c42;font-size:19px;font-weight:900}
.plan-pending small{font-size:13px;color:#7c7c79}
#planZoom{border-color:#b39361;background:#fffaf0;font-size:17px}
#interior{background:#f9f5ed}.interior-grid{grid-template-columns:1.1fr .9fr;gap:18px}
.interior-feature{background:linear-gradient(135deg,#183b51,#091d2c);min-height:470px;border:1px solid #c6a46f;color:#fff;padding:47px;display:flex;flex-direction:column;justify-content:center;gap:24px;position:relative;overflow:hidden}
.interior-feature>span{color:#e2c38f;font-size:16px;font-weight:850;letter-spacing:.15em}
.interior-feature h3{font-size:clamp(33px,4vw,57px);line-height:1.25;color:#f4ecd9}
.interior-feature p{font-size:19px;color:#d0d6d7;max-width:430px}
.interior-feature a{font-size:20px;color:#f2d18d;border-bottom:1px solid #c8a574;width:fit-content;padding-bottom:7px;font-weight:850}
.interior-feature--alt{background:#ede3d2;color:#172b3c}
.interior-feature--alt>span{color:#947345}.interior-feature--alt p{color:#374c5a}
.interior-feature--alt a{color:#8a663c}
.interior-feat-type{font-size:clamp(98px,13vw,186px);font-weight:950;line-height:.95;letter-spacing:-.1em;color:#b18d59}
.interior-feat-type span{font-size:.3em}
.editorial-panel--community{background:radial-gradient(circle at 80% 8%,#3b5668,#091d30 67%);color:#fff}
.editorial-panel--community h3{font-size:clamp(34px,3.2vw,50px);line-height:1.3;color:#f8f3e8}
.editorial-panel--community h3 strong{color:#edce8d}
.community-graphic{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.community-graphic div{display:grid;place-content:center;padding:23px 5px;color:#ead0a1;font-size:15px;letter-spacing:.12em;font-weight:900;border:1px solid #be9a6077}
.editorial-panel--community p{font-size:14px;color:#b3c1c9}
.contract-highlight small{font-size:15px;line-height:1.6;color:#6d6357;display:block;margin-top:8px}
.faq{margin-top:55px;border-top:1px solid #ba9760;color:#12293b}.faq h3{padding:25px 0;font-size:30px}
.faq details{border-top:1px solid #d2c3a9;padding:19px 0}
.faq details summary{cursor:pointer;font-size:20px;font-weight:850;padding:4px 12px 4px 0;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq details summary::after{content:'+';color:#a77f45;font-size:29px;line-height:1}
.faq details[open] summary::after{content:'−'}
.faq details p{font-size:18px;color:#4a5d65;padding:13px 16px 3px 0}
#reservation{padding-bottom:120px}.reservation-phone a{white-space:nowrap}
.reserve-form .form-feedback{min-height:2em}
.footer__metadata{line-height:1.7}
.promo__dialog{max-height:calc(100svh - 32px);overflow-y:auto}
/* reveal animations: only once, no layout shifts; always visible without JS */
.js-motion .reveal{opacity:0;transform:translateY(23px);transition:opacity .65s ease,transform .65s cubic-bezier(.18,.69,.14,1)}
.js-motion .reveal.is-visible{opacity:1;transform:none}
.js-motion .hero-main .reveal:nth-child(2){transition-delay:.09s}
.js-motion .hero-main .reveal:nth-child(3){transition-delay:.15s}
.js-motion .hero-main .reveal:nth-child(4){transition-delay:.22s}
.js-motion .hero-main .reveal:nth-child(5){transition-delay:.28s}
.animate-number{display:inline-block;animation:offerEnter .8s .4s both}
.animate-price{display:inline-block;animation:priceAccent .8s 1.05s both}
@keyframes offerEnter{from{opacity:.1;transform:translateY(22px) scale(.91)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes priceAccent{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}
/* RESPONSIVE */
@media(max-width:1120px){.header__inner{gap:12px}.nav{gap:12px}.nav a{font-size:13px}.hero-grid{gap:20px}.hero-main{padding:70px 0}.hero-photo{min-height:465px}.hero-visual{min-height:500px}}
@media(max-width:900px){.nav{background:#0b1f31}.nav a{font-size:19px}.header__inner{height:72px}.hero-grid{grid-template-columns:1fr;gap:0;min-height:0}.hero-main{padding:48px 6px 54px;grid-row:2}.hero-visual{grid-row:1;min-height:0;height:330px;padding:0;margin:0 -21px}.hero-photo{height:330px;min-height:0;border:0;object-fit:cover;object-position:center 53%}.hero-visual::after{inset:0;background:linear-gradient(180deg,transparent 40%,#061522bb)}.hero-visual-caption{bottom:20px;left:28px}.hero-visual-caption strong{font-size:22px}.deal-grid{grid-template-columns:1fr}.deal-main,.deal-details{padding:42px}.key-stripe{margin-top:26px}.section{padding:82px 0}.editorial-panel{min-height:350px}.interior-grid{grid-template-columns:1fr}.interior-feature{min-height:360px}.contract-layout{gap:30px}}
@media(max-width:640px){
 body{font-size:20px}.container{width:calc(100% - 38px)}.header__inner{height:70px}
 .brand b{font-size:32px}.brand span{font-size:10px}.menu-toggle{padding:11px}
 .hero{min-height:0;max-height:none;display:block}.hero-grid{display:flex;flex-direction:column;width:100%}
 .hero-visual{order:0;grid-row:auto;height:240px;margin:0;min-height:240px;padding:0;max-width:100%;overflow:hidden}
 .hero-photo{height:100%;min-height:0;width:100%;object-position:50% 43%;object-fit:cover}
 .hero-visual-caption{bottom:13px;left:18px;right:18px}.hero-visual-caption span{font-size:11px}.hero-visual-caption strong{font-size:19px}
 .hero-main{order:1;grid-row:auto;width:calc(100% - 38px);margin:0 auto;padding:28px 0 43px}
 .hero-kicker{font-size:11px;letter-spacing:.13em;line-height:1.5;gap:7px}
 .hero-main h1{font-size:clamp(37px,10.6vw,47px);margin:13px 0 7px;line-height:1.12}
 .hero-sub{font-size:18px;margin-bottom:11px;line-height:1.4}
 .hero-offer{padding:9px 0 12px;width:100%}.offer-label{font-size:18px}
 .hero-discount{gap:13px}.hero-discount>span{font-size:26px}.hero-discount strong{font-size:clamp(80px,22vw,112px);line-height:.92}
 .offer-caption{font-size:23px}
 .hero-price{margin:12px 0 0;gap:0 10px}
 .hero-price>span{font-size:16px}.hero-price strong{font-size:24px}.hero-price small{font-size:12px}
 .hero-actions{display:none}
 .hero-ticker{padding:9px 10px 14px;gap:7px 13px}
 .hero-ticker span{padding:0;border:0;font-size:14px;color:#d7bb8b}
 .section{padding:73px 0}
 .section-head h2,.overview-copy h2,.community-copy h2,.contract-layout h2,.reservation-intro h2{font-size:clamp(31px,8.7vw,40px)}
 .section-head p{font-size:19px}.deal-grid{margin-top:28px;gap:13px}.deal-main{padding:30px 21px}.deal-details{padding:30px 20px}
 .deal-main h3{font-size:36px;margin:13px 0}.deal-main h3 strong{font-size:clamp(52px,14vw,65px)}
 .deal-main>p:not(.deal-eyebrow){font-size:19px}.deal-nums{margin:19px 0 24px;padding-top:20px}.deal-nums strong{font-size:29px}.deal-main .cta{font-size:20px;padding:14px;min-height:61px}
 .deal-details h3{font-size:35px;margin:10px 0 23px}.deal-list li{padding:15px 14px;gap:12px}.deal-list strong{font-size:20px}
 .key-stripe>div{padding:20px 5px}.key-stripe span{font-size:12px}.key-stripe strong{font-size:20px;word-break:keep-all}
 .editorial-panel{min-height:320px;padding:28px}.editorial-number{font-size:67px}.editorial-panel p{font-size:19px}.location-panel-title{font-size:31px}
 .plan-picture{padding:15px 13px 70px;min-height:405px}.plan-pending{padding:10px;gap:13px}.plan-pending__glyph{width:135px;height:135px;font-size:55px}.plan-pending strong{font-size:25px}.plan-pending p{font-size:17px}
 .interior-feature{min-height:340px;padding:29px 25px;gap:19px}.interior-feature h3{font-size:38px}.interior-feature p{font-size:18px}.interior-feat-type{font-size:116px}
 .editorial-panel--community h3{font-size:34px}.community-graphic div{padding:17px 0}
 .faq{margin-top:38px}.faq h3{font-size:26px}.faq details summary{font-size:19px}.faq details p{font-size:18px}
 .reservation-phone a{font-size:clamp(37px,10.7vw,50px)}
 .mobile-actions{grid-template-columns:52% 48%;height:calc(88px + env(safe-area-inset-bottom))}
 .mobile-actions__phone span{font-size:20px}.mobile-actions__phone strong{font-size:26px;white-space:nowrap}.mobile-actions__reserve strong{font-size:26px}.mobile-actions__reserve small{font-size:14px}
 .footer{padding-bottom:calc(125px + env(safe-area-inset-bottom))}
}
@media(max-width:359px){.container{width:calc(100% - 30px)}.hero-main{width:calc(100% - 30px)}.hero-visual{height:208px;min-height:208px}.hero-main h1{font-size:38px}.hero-discount strong{font-size:80px}.hero-price strong{font-size:22px}.hero-ticker span{font-size:12px}.deal-main h3 strong{font-size:50px}.deal-details{padding:26px 14px}.deal-list strong{font-size:19px}.deal-nums strong{font-size:27px}.mobile-actions__phone strong{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js-motion .reveal{opacity:1!important;transform:none!important;transition:none!important}.animate-number,.animate-price,.cta-shine::after{animation:none!important}}

.hero-photo-price{position:absolute;top:72px;right:18px;z-index:2;color:#f8efdf;background:#071522e8;border:1px solid #d9b57e;padding:10px 17px;font-size:17px;font-weight:750;box-shadow:0 8px 20px #0006;white-space:nowrap}
.hero-photo-price strong{color:#f9da98;font-size:27px;font-weight:950}
.deal-popup-link{background:transparent;border:0;color:#e7cf9c;text-decoration:underline;text-underline-offset:5px;font-size:18px;font-weight:800;margin:21px auto 0;display:block;padding:10px}
@media(max-width:640px){.hero-visual{height:217px;min-height:217px}.hero-photo-price{font-size:15px;top:11px;right:12px;padding:6px 10px}.hero-photo-price strong{font-size:22px}.hero-main{padding-top:21px}.hero-main h1{margin:10px 0 5px}.hero-sub{margin-bottom:8px}.hero-offer{padding:7px 0 9px}.hero-price{margin-top:8px}.deal-popup-link{font-size:17px}}
@media(max-width:359px){.hero-visual{height:190px;min-height:190px}.hero-photo-price{font-size:14px}.hero-photo-price strong{font-size:20px}.hero-main{padding-top:16px}.hero-main h1{margin:9px 0 5px}}
