/* PH1603 SEOCHO — shared styles */
:root{
  --ink:#100F0D;
  --ink-2:#1B1815;
  --bronze:#B6904F;
  --bronze-soft:#D9C49A;
  --parchment:#F1ECE2;
  --parchment-2:#E7E0D2;
  --stone:#79726A;
  --wine:#5B2A27;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--parchment);
  color:var(--ink);
  font-family:'Gowun Dodum','Noto Sans KR',sans-serif;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Gowun Batang',serif;
  font-weight:700;
  margin:0;
  letter-spacing:-0.01em;
}
.label{
  font-family:'Space Mono',monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
section{position:relative;}

/* ---------- NAV ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 28px;
  background:linear-gradient(to bottom, rgba(16,15,13,.75), rgba(16,15,13,0));
  transition:background .3s;
}
.nav.scrolled{background:rgba(16,15,13,.92);backdrop-filter:blur(6px);}
.nav .logo{font-family:'Space Mono',monospace;color:#fff;font-size:15px;letter-spacing:.18em;}
.nav .logo b{color:var(--bronze-soft);}
.nav-cta{display:flex;gap:10px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 22px;border-radius:2px;
  font-family:'Space Mono',monospace;font-size:13px;letter-spacing:.06em;
  border:1px solid var(--bronze);
  cursor:pointer;transition:all .25s;white-space:nowrap;
}
.btn-gold{background:var(--bronze);color:var(--ink);border-color:var(--bronze);}
.btn-gold:hover{background:var(--bronze-soft);}
.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);}
.btn-line:hover{border-color:#fff;}
.nav .btn{padding:9px 16px;font-size:12px;}

/* ---------- HERO ---------- */
.hero{
  height:100vh;min-height:640px;
  display:flex;align-items:flex-end;
  background:linear-gradient(180deg, rgba(16,15,13,.15) 0%, rgba(16,15,13,.35) 55%, rgba(16,15,13,.92) 100%), url('hero_aerial_night.jpg') center/cover no-repeat;
  color:#fff;
}
.hero-inner{padding:0 28px 90px;max-width:var(--maxw);margin:0 auto;width:100%;}
.placard{
  display:inline-flex;align-items:center;gap:14px;
  border-top:1px solid var(--bronze);border-bottom:1px solid var(--bronze);
  padding:8px 0;margin-bottom:22px;
}
.placard .num{font-family:'Space Mono',monospace;font-size:22px;color:var(--bronze);}
.placard .txt{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.85;}
.hero h1{font-size:clamp(34px,5.2vw,64px);color:#fff;margin-bottom:18px;}
.hero h1 em{color:var(--bronze-soft);font-style:normal;}
.hero p.sub{font-size:17px;color:#E7E0D2;max-width:560px;margin-bottom:34px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.hero-btns .btn{padding:15px 28px;font-size:14px;}
.scroll-cue{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.6);font-family:'Space Mono',monospace;font-size:11px;
  letter-spacing:.2em;writing-mode:vertical-rl;
}

/* ---------- SECTION GENERIC ---------- */
.sec{padding:110px 0;}
.sec-dark{background:var(--ink);color:var(--parchment);}
.sec-dark .stone-txt{color:#A89E8F;}
.sec-light .stone-txt{color:var(--stone);}
.placard-light .num{color:var(--wine);}
.placard-light{border-color:var(--wine);}
.placard-light .txt{color:var(--wine);opacity:1;}
.sec-head{max-width:680px;margin-bottom:56px;}
.sec-head h2{font-size:clamp(26px,3.4vw,40px);margin-bottom:18px;}
.sec-head p{font-size:16px;}

/* ---------- WHY NOW (3 cards) ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.reason-card{
  background:var(--parchment-2);
  border:1px solid #D9D0BC;
  padding:32px 26px;
}
.reason-card .rn{font-family:'Space Mono',monospace;color:var(--wine);font-size:13px;letter-spacing:.1em;margin-bottom:14px;display:block;}
.reason-card h3{font-size:21px;margin-bottom:12px;}
.reason-card p{font-size:14.5px;color:var(--stone);margin:0;}

/* ---------- LOCATION ---------- */
.loc-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.loc-grid img{border:1px solid #3A352D;}
.loc-list{list-style:none;margin:26px 0 0;padding:0;}
.loc-list li{
  display:flex;justify-content:space-between;gap:14px;
  padding:16px 0;border-bottom:1px solid #3A352D;font-size:15px;
}
.loc-list li b{font-family:'Space Mono',monospace;font-weight:400;color:var(--bronze-soft);font-size:13px;letter-spacing:.05em;}

/* ---------- GALLERY GRID ---------- */
.shot-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:18px;}
.shot-grid .big{grid-row:span 2;}
.shot{overflow:hidden;border:1px solid #D9D0BC;}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.shot:hover img{transform:scale(1.04);}
.cap{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.08em;color:var(--stone);margin-top:8px;text-transform:uppercase;}

/* ---------- COMMUNITY ---------- */
.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.amenity-grid .shot{aspect-ratio:4/5;}
.amenity-grid .shot img{height:100%;}

/* ---------- RESIDENCE ---------- */
.res-top{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:46px;}
.res-top .shot{aspect-ratio:1/1;}
.res-top .shot img{height:100%;}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:56px;}
.spec-card img{border:1px solid #D9D0BC;margin-bottom:14px;}
.type-table{width:100%;border-collapse:collapse;font-size:14.5px;}
.type-table th,.type-table td{padding:14px 10px;border-bottom:1px solid #D9D0BC;text-align:left;}
.type-table th{font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);font-weight:400;}
.type-table td.num{font-family:'Space Mono',monospace;}
.note-box{
  margin-top:30px;padding:20px 24px;background:var(--parchment-2);
  border-left:3px solid var(--wine);font-size:14px;color:var(--stone);
}

/* ---------- INQUIRY ---------- */
.inquiry{text-align:center;}
.inquiry h2{font-size:clamp(28px,4vw,46px);color:#fff;margin-bottom:18px;}
.inquiry p{color:#C9C0AE;max-width:520px;margin:0 auto 40px;}
.inquiry-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:34px;}
.inquiry-btns .btn{padding:18px 36px;font-size:15px;}
.reserve-note{font-size:13px;color:#8C8579;letter-spacing:.02em;}

/* ---------- FOOTER ---------- */
footer{background:#0A0A09;color:#74695C;padding:50px 0 110px;font-size:12.5px;line-height:1.9;}
footer .wrap{display:flex;flex-direction:column;gap:14px;}
footer .biz{color:#9C9080;}
footer .disclaimer{max-width:820px;}

/* ---------- STICKY MOBILE BAR ---------- */
.sticky-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:60;
  display:flex;background:var(--ink);border-top:1px solid var(--bronze);
}
.sticky-bar a{
  flex:1;text-align:center;padding:16px 0;
  font-family:'Space Mono',monospace;font-size:13.5px;letter-spacing:.05em;
}
.sticky-bar .call{color:#fff;border-right:1px solid rgba(255,255,255,.15);}
.sticky-bar .apply{background:var(--bronze);color:var(--ink);}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.show{opacity:1;transform:translateY(0);}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 880px){
  .grid3{grid-template-columns:1fr;}
  .loc-grid{grid-template-columns:1fr;}
  .shot-grid{grid-template-columns:1fr 1fr;}
  .amenity-grid{grid-template-columns:repeat(2,1fr);}
  .res-top{grid-template-columns:repeat(2,1fr);}
  .spec-grid{grid-template-columns:1fr;}
  .sec{padding:74px 0;}
  .nav-cta{display:none;}
  body{padding-bottom:56px;}
}
@media (prefers-reduced-motion: reduce){
  .reveal{transition:none;opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}

/* ---------- TYPE TABS (added) ---------- */
.type-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
.type-tab{
  font-family:'Space Mono',monospace;font-size:13px;letter-spacing:.05em;
  padding:11px 22px;border:1px solid #C9BFA8;background:transparent;color:var(--stone);
  cursor:pointer;transition:all .2s;border-radius:2px;
}
.type-tab:hover{border-color:var(--wine);color:var(--wine);}
.type-tab.active{background:var(--wine);border-color:var(--wine);color:#fff;}

.type-panel{display:none;}
.type-panel.active{display:block;animation:panelfade .35s ease;}
@keyframes panelfade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.panel-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:start;}
.panel-imgs img{width:100%;border:1px solid #D9D0BC;display:block;}
.panel-imgs > img{margin-bottom:14px;}
.panel-imgs-sub{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.panel-tag{font-family:'Space Mono',monospace;font-size:12.5px;color:var(--wine);margin-bottom:20px;letter-spacing:.04em;text-transform:uppercase;}
.panel-spec-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #D9D0BC;font-size:14.5px;}
.panel-spec-row b{font-family:'Space Mono',monospace;font-weight:400;text-align:right;}
.panel-checks{list-style:none;margin:22px 0 0;padding:0;}
.panel-checks li{position:relative;padding:7px 0 7px 20px;font-size:14px;color:var(--stone);}
.panel-checks li::before{content:'';position:absolute;left:2px;top:16px;width:6px;height:6px;background:var(--bronze);border-radius:50%;}
.panel-note{margin-top:18px;font-size:13px;color:var(--stone);background:var(--parchment-2);padding:12px 16px;border-left:3px solid var(--bronze);}

@media (max-width: 880px){
  .type-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
  .type-tab{flex:0 0 auto;}
  .panel-grid{grid-template-columns:1fr;}
}
.lf-card{ background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.14); border-radius:14px; padding:28px 26px; max-width:440px; margin:32px auto 0; }
  .lf-title{ font-size:18px; font-weight:800; margin-bottom:4px; color:#fff; }
  .lf-sub{ font-size:13px; color:rgba(255,255,255,0.6); margin-bottom:18px; }
  .lf-label{ display:block; font-size:12.5px; font-weight:700; margin:14px 0 6px; color:rgba(255,255,255,0.85); text-align:left; }
  .lf-label:first-of-type{ margin-top:0; }
  .lf-input{ width:100%; border:1px solid rgba(255,255,255,0.18); border-radius:8px; padding:11px 13px; font-size:14px; font-family:inherit; background:rgba(255,255,255,0.06); color:#fff; box-sizing:border-box; }
  .lf-input::placeholder{ color:rgba(255,255,255,0.4); }
  .lf-textarea{ resize:vertical; min-height:80px; }
  .lf-btn{ all:unset; box-sizing:border-box; cursor:pointer; display:block; width:100%; text-align:center; margin-top:18px; background:#D4AF37; color:#121414; padding:13px; border-radius:8px; font-weight:800; font-size:14.5px; }
  .lf-btn[disabled]{ opacity:0.6; cursor:not-allowed; }
  .lf-success{ display:none; background:rgba(212,175,55,0.18); color:#D4AF37; padding:12px 14px; border-radius:8px; font-size:13px; font-weight:700; margin-top:14px; }
  .lf-success.show{ display:block; }
  .lf-error{ display:none; background:rgba(220,80,80,0.18); color:#ff8585; padding:12px 14px; border-radius:8px; font-size:13px; font-weight:700; margin-top:14px; }
  .lf-error.show{ display:block; }
  .lf-agree{ display:flex; gap:8px; align-items:flex-start; margin-top:16px; font-size:11.5px; color:rgba(255,255,255,0.55); line-height:1.5; text-align:left; }
  .lf-agree input{ margin-top:2px; flex-shrink:0; }

/* ================================================================
   v2 additions — narrative sections, FAQ, sub pages, channels, legal
   ================================================================ */
.nav .logo a{color:inherit;}
.nav-links{display:flex;gap:22px;margin-right:18px;}
.nav-links a{color:rgba(255,255,255,.78);font-size:13.5px;letter-spacing:.02em;transition:color .2s;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--bronze-soft);}
.nav-right{display:flex;align-items:center;}
.btn:focus-visible,.type-tab:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--bronze);outline-offset:3px;}

/* narrative prose */
.prose{max-width:760px;font-size:16.5px;line-height:1.95;}
.prose p{margin:0 0 1.15em;}
.prose h2,.prose h3{line-height:1.4;}
.prose h3{font-size:22px;margin:2.1em 0 .7em;}
.prose strong{color:var(--wine);font-weight:700;}
.sec-dark .prose strong{color:var(--bronze-soft);}
.prose ul{padding-left:1.2em;margin:0 0 1.2em;}
.prose li{margin-bottom:.45em;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.tag-plan{display:inline-block;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.06em;padding:2px 8px;border:1px solid currentColor;border-radius:2px;margin-left:6px;vertical-align:2px;opacity:.8;}
.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #D9D0BC;border-bottom:1px solid #D9D0BC;margin:40px 0 0;}
.fact-strip div{padding:22px 18px;border-right:1px solid #D9D0BC;}
.fact-strip div:last-child{border-right:none;}
.fact-strip b{display:block;font-family:'Gowun Batang',serif;font-size:24px;color:var(--wine);margin-bottom:4px;}
.fact-strip span{font-size:13px;color:var(--stone);}

/* who-fits cards */
.fit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.fit-card{border:1px solid #3A352D;padding:28px 24px;}
.fit-card .who{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;color:var(--bronze);text-transform:uppercase;display:block;margin-bottom:10px;}
.fit-card h3{font-size:20px;margin-bottom:10px;color:#fff;}
.fit-card p{font-size:14.5px;color:#A89E8F;margin:0;}

/* FAQ */
.faq{max-width:860px;}
.faq details{border-bottom:1px solid #D9D0BC;}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;position:relative;font-family:'Gowun Batang',serif;font-size:18px;font-weight:700;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';position:absolute;right:4px;top:18px;font-family:'Space Mono',monospace;font-size:22px;color:var(--wine);transition:transform .25s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .a{padding:0 0 24px;font-size:15.5px;color:var(--stone);line-height:1.85;}
.faq .a p{margin:0 0 .7em;}

/* page link cards */
.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.more-card{display:block;border:1px solid #D9D0BC;padding:30px 28px;background:var(--parchment-2);transition:border-color .2s,transform .2s;}
.more-card:hover{border-color:var(--wine);transform:translateY(-2px);}
.more-card .label{font-size:11.5px;color:var(--wine);display:block;margin-bottom:10px;}
.more-card h3{font-size:21px;margin-bottom:8px;}
.more-card p{margin:0;font-size:14.5px;color:var(--stone);}
.more-card .go{display:inline-block;margin-top:14px;font-family:'Space Mono',monospace;font-size:12.5px;color:var(--wine);}

/* channels */
.channels{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:28px;}
.channels a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid rgba(255,255,255,.22);border-radius:2px;color:#E7E0D2;font-size:13.5px;transition:border-color .2s,color .2s;}
.channels a:hover{border-color:var(--bronze-soft);color:#fff;}
footer .channels{justify-content:flex-start;margin:0;}
footer .channels a{color:#9C9080;border-color:#2A2723;padding:7px 14px;font-size:12.5px;}
footer .legal{color:#8C8274;border-top:1px solid #1F1D1A;padding-top:16px;}
footer .legal b{color:#A89E8F;font-weight:400;}
footer a.u{text-decoration:underline;}

/* sub page hero */
.sub-hero{padding:150px 0 70px;background:var(--ink);color:var(--parchment);}
.sub-hero h1{line-height:1.3;font-size:clamp(30px,4.4vw,52px);margin-bottom:16px;color:#fff;}
.sub-hero p{max-width:640px;color:#C9C0AE;font-size:16.5px;margin:0;}
.crumb{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;color:#8C8579;margin-bottom:22px;}
.crumb a:hover{color:var(--bronze-soft);}
.figure{margin:34px 0;}
.figure img{border:1px solid #D9D0BC;width:100%;}
.figure figcaption{font-size:12.5px;color:var(--stone);margin-top:8px;}
.cmp-table{width:100%;border-collapse:collapse;font-size:14.5px;margin:10px 0 26px;}
.cmp-table th,.cmp-table td{padding:13px 12px;border-bottom:1px solid #D9D0BC;text-align:left;vertical-align:top;}
.cmp-table th{font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:.05em;color:var(--stone);font-weight:400;text-transform:uppercase;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.cta-band{background:var(--wine);color:#fff;padding:56px 0;text-align:center;}
.cta-band h2{font-size:clamp(24px,3vw,34px);margin-bottom:12px;}
.cta-band p{color:#E9D9D5;margin:0 0 26px;}
.cta-band .btn-line{border-color:rgba(255,255,255,.55);}

/* privacy */
.policy{max-width:820px;font-size:15px;line-height:1.9;}
.policy h2{font-size:21px;margin:2em 0 .6em;}
.policy table{width:100%;border-collapse:collapse;margin:10px 0;font-size:14px;}
.policy th,.policy td{border:1px solid #D9D0BC;padding:10px 12px;text-align:left;}

.sticky-bar .kakao{color:#F5E6A8;border-right:1px solid rgba(255,255,255,.15);}
.sticky-bar{display:none;}

@media (max-width:880px){
  .nav-links{display:none;}
  .two-col,.fit-grid,.more-grid{grid-template-columns:1fr;gap:22px;}
  .fact-strip{grid-template-columns:1fr 1fr;}
  .fact-strip div:nth-child(2){border-right:none;}
  .fact-strip div:nth-child(-n+2){border-bottom:1px solid #D9D0BC;}
  .sticky-bar{display:flex;}
  .sub-hero{padding:120px 0 54px;}
  .wrap{padding:0 18px;}
  .nav{padding:14px 18px;}
  .hero-inner{padding:0 18px 80px;}
}
