:root { --ink:#111315; --coral:#ff4f32; --muted:#72767b; --paper:#f5f3ef; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial,"Pretendard","Noto Sans KR",sans-serif; word-break:keep-all; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.header { position:absolute; z-index:20; top:0; left:0; right:0; height:80px; display:flex; align-items:center; justify-content:space-between; padding:0 4.5vw; border-bottom:1px solid rgba(255,255,255,.12); color:white; }
.brand { font-size:26px; font-weight:900; letter-spacing:-1.5px; }
.brand em { color:var(--coral); font-style:italic; }
.nav { display:flex; align-items:center; gap:40px; font-weight:700; font-size:15px; }
.nav a { transition:.2s; }
.nav a:hover { color:var(--coral); }
.navCta { border:1px solid var(--coral); border-radius:6px; padding:13px 25px; }
.menuBtn { display:none; }
.hero { min-height:900px; height:100vh; position:relative; color:white; background:url("./images/hero.jpg") center/cover no-repeat; overflow:hidden; }
.heroShade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,10,12,.94) 0%,rgba(8,10,12,.7) 42%,rgba(8,10,12,.14) 72%,rgba(8,10,12,.25)); }
.heroContent { position:relative; z-index:2; max-width:1180px; margin:auto; padding:190px 28px 70px; }
.eyebrow { color:#ff694f; font-size:18px; margin:0 0 25px; }
.eyebrow:before { content:""; display:inline-block; width:70px; height:2px; background:var(--coral); vertical-align:middle; margin-right:18px; }
.hero h1 { font-size:clamp(58px,5.4vw,82px); line-height:1.12; letter-spacing:-5px; margin:0; max-width:820px; }
.hero h1 strong { font-weight:900; }
.heroCopy { color:#d6d6d6; font-size:21px; font-weight:600; margin:22px 0 34px; }
.heroActions { display:flex; gap:14px; }
.primaryBtn,.ghostBtn { min-width:245px; padding:20px 26px; border-radius:5px; font-size:18px; font-weight:800; display:flex; justify-content:space-between; }
.primaryBtn { background:var(--coral); }
.ghostBtn { border:1px solid rgba(255,255,255,.75); background:rgba(12,14,15,.3); backdrop-filter:blur(5px); }
.heroActions b { font-size:25px; font-weight:400; }
.quickFacts { margin-top:55px; display:flex; width:max-content; max-width:100%; border:1px solid rgba(255,255,255,.28); background:rgba(15,17,18,.58); backdrop-filter:blur(10px); border-radius:8px; padding:20px 8px; }
.quickFacts span { padding:0 25px; border-right:1px solid rgba(255,255,255,.28); font-weight:700; white-space:nowrap; }
.quickFacts span:last-child { border:0; }
.quickFacts b { color:#ff806a; font-size:20px; }
.address { margin:26px 0 0; color:#d9d9d9; font-size:16px; }
.scrollCue { position:absolute; right:3vw; bottom:45px; z-index:3; writing-mode:vertical-rl; font-size:10px; letter-spacing:2px; color:#ccc; }
.scrollCue span { color:var(--coral); font-size:20px; margin-top:8px; }
.mobileOnly { display:none; }
.section { padding:130px max(28px,5vw); }
.sectionHead p,.contactCopy>p { color:var(--coral); font-weight:800; letter-spacing:2px; font-size:13px; }
.sectionHead h2,.contactCopy h2 { margin:14px 0 0; font-size:clamp(38px,4vw,58px); line-height:1.18; letter-spacing:-3px; }
.orangeLabel { color:var(--coral); font-weight:800; }
.rentalIntro { max-width:1300px; margin:55px auto 0; display:grid; grid-template-columns:.9fr 1.1fr; gap:6vw; align-items:center; }
.rentalLead h3 { font-size:36px; line-height:1.35; letter-spacing:-2px; margin:18px 0 24px; }
.rentalLead>p:not(.orangeLabel) { color:var(--muted); line-height:1.9; margin:0 0 13px; }
.rentalFacts { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rentalFacts article { position:relative; min-height:230px; padding:30px 27px; background:var(--paper); border:2px solid transparent; border-top:5px solid var(--coral); overflow:hidden; }
.rentalFacts b { color:var(--coral); font-size:28px; letter-spacing:-1px; }
.rentalFacts h3 { font-size:21px; margin:22px 0 10px; }
.rentalFacts p { margin:0; color:#3f4245; font-size:18px; font-weight:800; line-height:1.55; letter-spacing:-.5px; }
.rentalFacts .keyFact { animation:factPulse 5.4s ease-in-out infinite; }
.rentalFacts .keyFact:nth-child(2) { animation-delay:1.8s; }
.rentalFacts .keyFact:nth-child(4) { animation-delay:3.6s; }
.rentalFacts .keyFact::after { content:""; position:absolute; inset:-40% auto -40% -55%; width:38%; transform:skewX(-18deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent); animation:factShine 5.4s ease-in-out infinite; pointer-events:none; }
.rentalFacts .keyFact:nth-child(2)::after { animation-delay:1.8s; }
.rentalFacts .keyFact:nth-child(4)::after { animation-delay:3.6s; }
@keyframes factPulse {
  0%,14%,100% { transform:translateY(0) scale(1); border-color:transparent; box-shadow:none; }
  5%,9% { transform:translateY(-4px) scale(1.025); border-color:var(--coral); box-shadow:0 14px 34px rgba(255,79,50,.2); }
}
@keyframes factShine {
  0%,3%,14%,100% { left:-55%; }
  9% { left:125%; }
}
.rentalNote { max-width:1300px; margin:24px auto 0; color:#999; font-size:12px; line-height:1.6; }
dl { margin:35px 0 0; border-top:2px solid var(--ink); }
dl div { display:grid; grid-template-columns:90px 1fr; padding:17px 0; border-bottom:1px solid #ddd; }
dt { font-weight:800; } dd { margin:0; color:#666; }
.darkSection { background:#151719; color:white; }
.sectionHead.light h2 { color:white; }
.locationCards { max-width:1300px; margin:60px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#3c3f42; }
.locationCards article { background:#1b1d1f; padding:45px 38px; min-height:270px; }
.locationCards span { color:var(--coral); font-weight:900; }
.locationCards h3 { font-size:25px; margin:55px 0 14px; }
.locationCards p { color:#aeb0b2; line-height:1.7; margin:0; }
.center { text-align:center; }
.center span { display:block; color:#777; margin-top:20px; }
.planWrap { max-width:1300px; margin:55px auto 0; overflow:hidden; background:white; box-shadow:0 20px 60px rgba(0,0,0,.12); }
.planWrap img { width:100%; height:auto; object-fit:contain; }
.complexVisual { max-width:1300px; margin:70px auto 0; display:grid; grid-template-columns:1.45fr .55fr; background:#151719; color:white; overflow:hidden; }
.complexVisual>img { width:100%; height:500px; object-fit:cover; }
.complexVisual>div { padding:55px 42px; align-self:center; }
.complexVisual small { color:var(--coral); font-weight:900; letter-spacing:1.7px; }
.complexVisual h3 { margin:18px 0; font-size:34px; line-height:1.25; letter-spacing:-2px; }
.complexVisual p { color:#aeb0b2; line-height:1.75; }
.units { background:var(--paper); }
.unitGrid { max-width:1200px; margin:60px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.unitGrid article { background:white; padding:34px; overflow:hidden; box-shadow:0 18px 45px rgba(17,19,21,.06); }
.unitGrid small { color:var(--coral); font-weight:800; }
.unitGrid h3 { font-size:50px; margin:8px 0 0; }
.unitGrid p { color:#777; margin-top:4px; }
.unitImage { margin-top:22px; border:1px solid #ece9e4; background:#fff; overflow:hidden; }
.unitGrid img { width:100%; height:auto; object-fit:contain; }
.unitGrid ul { list-style:none; padding:0; margin:18px 0 0; display:flex; flex-wrap:wrap; gap:7px; }
.unitGrid li { padding:8px 12px; background:#f5f3ef; border-radius:20px; color:#555; font-size:12px; font-weight:700; }
.notice { color:#888; font-size:12px; max-width:1200px; margin:20px auto 0; }
.contact { background:linear-gradient(125deg,#111315,#222629); color:white; display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; }
.contactCopy span { display:block; color:#aaa; line-height:1.7; margin-top:24px; max-width:470px; }
form { background:white; color:var(--ink); padding:40px; border-radius:8px; }
form label { display:block; font-size:13px; font-weight:800; margin-bottom:18px; }
form input:not([type=checkbox]) { width:100%; border:0; border-bottom:1px solid #bbb; padding:14px 2px; font-size:16px; outline:none; }
.agree { color:#777; font-weight:500; display:flex; gap:8px; align-items:center; }
form button { width:100%; border:0; background:var(--coral); color:white; padding:19px 22px; font-weight:900; font-size:17px; display:flex; justify-content:space-between; cursor:pointer; }
form button:disabled { cursor:wait; opacity:.72; }
.formMessage { margin:16px 0 0; padding:13px 15px; border-radius:5px; font-size:14px; font-weight:800; line-height:1.5; }
.success { color:#126c4a; background:#e9f8f1; }
.error { color:#a53122; background:#fff0ed; }
footer { padding:55px max(28px,5vw) 80px; background:#0c0d0e; color:#777; }
footer .brand { color:white; margin-bottom:20px; }
footer p { font-size:13px; }
.disclaimer { max-width:900px; line-height:1.7; }
.footerPhone { color:white; font-size:20px; font-weight:900; }
.mobileBar { display:none; }

@media (max-width:900px) {
  .header { height:66px; padding:0 20px; position:absolute; }
  .brand { font-size:21px; }
  .menuBtn { display:flex; flex-direction:column; gap:5px; background:none; border:0; padding:10px; }
  .menuBtn span { width:23px; height:2px; background:white; }
  .nav { display:none; position:absolute; top:66px; left:0; right:0; background:#111315; flex-direction:column; align-items:stretch; gap:0; padding:15px 20px 24px; }
  .nav.open { display:flex; }
  .nav a { padding:14px 5px; border-bottom:1px solid #333; }
  .navCta { margin-top:10px; text-align:center; border:1px solid var(--coral)!important; }
  .hero { min-height:760px; height:92svh; background-position:58% center; }
  .heroShade { background:linear-gradient(0deg,rgba(8,10,12,.94),rgba(8,10,12,.68) 62%,rgba(8,10,12,.25)); }
  .heroContent { padding:150px 22px 100px; }
  .eyebrow { font-size:14px; margin-bottom:18px; }
  .eyebrow:before { width:38px; margin-right:10px; }
  .hero h1 { font-size:clamp(34px,10.2vw,43px); line-height:1.16; letter-spacing:-2.6px; }
  .hero h1 strong { display:inline-block; white-space:nowrap; }
  .heroCopy { font-size:16px; line-height:1.6; margin:18px 0 25px; }
  .mobileOnly { display:block; }
  .heroActions { flex-direction:column; width:100%; gap:9px; }
  .primaryBtn,.ghostBtn { min-width:0; width:100%; padding:16px 19px; font-size:16px; }
  .quickFacts { display:grid; grid-template-columns:1fr 1fr; width:100%; margin-top:25px; padding:8px; }
  .quickFacts span { border:0; padding:10px 7px; font-size:12px; }
  .address { font-size:12px; margin-top:15px; }
  .scrollCue { display:none; }
  .section { padding:85px 22px; }
  .sectionHead h2,.contactCopy h2 { font-size:clamp(26px,7.5vw,32px); letter-spacing:-1.8px; line-height:1.2; }
  .sectionHead h2 br,.contactCopy h2 br { display:none; }
  .rentalIntro { grid-template-columns:1fr; margin-top:34px; gap:28px; }
  .rentalLead h3 { font-size:25px; letter-spacing:-1.3px; line-height:1.4; }
  .rentalLead h3 br { display:none; }
  .rentalLead>p:not(.orangeLabel) { font-size:15px; line-height:1.8; }
  .rentalFacts { grid-template-columns:1fr 1fr; gap:9px; }
  .rentalFacts article { min-height:230px; padding:24px 18px; }
  .rentalFacts b { font-size:28px; }
  .rentalFacts h3 { font-size:19px; margin:18px 0 10px; }
  .rentalFacts p { font-size:16px; line-height:1.5; }
  .rentalNote { margin-top:16px; font-size:11px; }
  dl div { grid-template-columns:70px 1fr; font-size:13px; line-height:1.5; }
  .locationCards { grid-template-columns:1fr; margin-top:38px; }
  .locationCards article { min-height:0; padding:30px 26px; }
  .locationCards h3 { margin:28px 0 10px; }
  .planWrap { width:calc(100% + 44px); margin:35px -22px 0; box-shadow:none; }
  .planWrap img { width:100%; height:auto; }
  .complexVisual { margin:32px -22px 0; grid-template-columns:1fr; }
  .complexVisual>img { height:330px; }
  .complexVisual>div { padding:28px 22px 34px; }
  .complexVisual h3 { font-size:26px; }
  .unitGrid { grid-template-columns:1fr; margin-top:38px; }
  .unitGrid { width:calc(100% + 44px); margin-left:-22px; margin-right:-22px; gap:18px; }
  .unitGrid article { padding:24px 18px; }
  .unitGrid h3 { font-size:42px; }
  .unitImage { margin-left:-18px; margin-right:-18px; border-left:0; border-right:0; }
  .unitGrid img { width:100%; height:auto; }
  .contact { grid-template-columns:1fr; gap:40px; }
  form { padding:26px 22px; }
  footer { padding-bottom:105px; }
  .mobileBar { position:fixed; z-index:50; bottom:0; left:0; right:0; height:62px; display:grid; grid-template-columns:1fr 1.5fr; background:white; box-shadow:0 -5px 20px rgba(0,0,0,.15); }
  .mobileBar a { display:flex; align-items:center; justify-content:center; font-weight:900; font-size:14px; }
  .mobileBar .hot { background:var(--coral); color:white; }
}

@media (prefers-reduced-motion:reduce) {
  .rentalFacts .keyFact,
  .rentalFacts .keyFact::after { animation:none; }
}
