@charset "utf-8";
/* ============================================================
   THE RAUM PENTHOUSE - style.css
   더라움 펜트하우스 메인 스타일 (2026)
   ============================================================ */
:root{
  --maroon:#6d0b0b;
  --brown:#3e200b;
  --gold:#c6820a;
  --gold-l:#e2b24d;
  --gray:#555555;
  --dark:#414141;
  --beige:#cdbb92;
  --cream:#f6f2ea;
  --serif:'Annapurna SIL','Times New Roman',serif;
  --kserif:'Pretendard','Malgun Gothic',sans-serif;
  --sans:'Pretendard','Malgun Gothic',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:#222;line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block;border:0}
a{text-decoration:none;color:inherit}
li{list-style:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
.tr-wrap{width:100%;overflow-x:clip}
.tr-inner{width:100%;max-width:1500px;margin:0 auto;padding:0}
.tr-eng{font-family:var(--serif);letter-spacing:3px}

/* ===== HEADER ===== */
#tr-header{position:fixed;top:0;left:0;width:100%;height:110px;z-index:1000;display:flex;align-items:center;
  background:transparent;transition:background .4s ease,height .4s ease}
#tr-header.scrolled{background:#000;height:86px;box-shadow:0 3px 22px rgba(0,0,0,.4)}
#tr-header .tr-inner{max-width:1660px;display:flex;align-items:center;justify-content:space-between;position:relative}
.tr-logo{display:flex;align-items:center}
.tr-logo img{height:auto;width:auto;max-height:46px;max-width:440px;display:block;transition:max-width .3s,max-height .3s}
#tr-header.scrolled .tr-logo img{max-height:40px;max-width:380px}
.tr-logo-txt{display:flex;flex-direction:column;line-height:1;color:#fff;font-family:var(--serif)}
.tr-logo .l1{font-size:35px;font-weight:600;letter-spacing:5px}
.tr-logo .l1 em{font-style:normal;font-weight:700}
.tr-logo .l2{font-size:15px;letter-spacing:6px;margin-top:5px;font-weight:500;opacity:.92}
.tr-gnb{display:flex;gap:58px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.tr-gnb a{color:#fff;font-size:22px;font-weight:600;letter-spacing:1px;position:relative;padding:8px 2px}
.tr-gnb a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--gold-l);transition:width .3s}
.tr-gnb a:hover::after{width:100%}
.tr-util{display:flex;align-items:center;gap:16px;color:#fff}
.tr-util .tel{font-family:var(--serif);font-size:42px;font-weight:700;letter-spacing:1px}
.tr-util .fav{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.6);font-size:20px;transition:.3s}
.tr-util .fav:hover{background:var(--gold);border-color:var(--gold)}

/* ===== HERO ===== */
.tr-hero{position:relative;height:100vh;min-height:660px;overflow:hidden;background:#222b36}
.tr-hero .slides{position:absolute;inset:0}
.tr-hero .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease,transform 6s ease;
  background-size:cover;background-position:center;transform:scale(1.06)}
.tr-hero .slide.on{opacity:1;transform:scale(1)}
.tr-hero .slide::before{content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.60),rgba(0,0,0,.18) 55%,rgba(0,0,0,.05))}
.tr-hero .caption{position:absolute;inset:0;display:flex;align-items:center;z-index:5;text-align: center;}
.tr-hero .caption .tr-inner{max-width:1660px;width:100%}
.tr-hero .cap{opacity:0;transform:translateY(30px);transition:.9s ease;color:#fff}
.tr-hero .slide.on .cap{opacity:1;transform:translateY(0);transition-delay:.35s}
.tr-hero .cap .eng{font-size:139px;font-weight:600;line-height:1;text-shadow:0 4px 30px rgba(0,0,0,.4)}
.tr-hero .cap .sub{font-size:27px;font-weight:400;margin-top:22px;opacity:.95}
.tr-hero .cap .tit{font-family:var(--kserif);font-size:61px;font-weight:500;margin-top:12px;
  text-shadow:0 4px 24px rgba(0,0,0,.45)}
.tr-hero .cap .tit small{display:block;font-size:40px;letter-spacing:8px;margin-bottom:8px;font-weight:400}
/* hero controls */
.tr-hero .arw{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;
  border:1px solid rgba(255,255,255,.5);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:26px;z-index:8;transition:.3s;background:rgba(0,0,0,.05)}
.tr-hero .arw:hover{background:var(--gold);border-color:var(--gold)}
.tr-hero .arw.prev{left:40px}
.tr-hero .arw.next{right:40px}
.tr-hero .dots{position:absolute;left:0;right:0;bottom:38px;display:flex;justify-content:center;gap:12px;z-index:8}
.tr-hero .dots b{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:.3s}
.tr-hero .dots b.on{background:#fff;transform:scale(1.25)}
.tr-scroll{position:absolute;left:50%;bottom:128px;transform:translateX(-50%);z-index:8;color:#fff;
  font-size:14px;letter-spacing:3px;text-align:center;animation:trbounce 2s infinite}
.tr-scroll i{display:block;width:1px;height:44px;background:rgba(255,255,255,.7);margin:0 auto 8px}
@keyframes trbounce{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,10px)}}

/* ===== SECTION COMMON ===== */
.tr-sec{position:relative;width:100%}
.tr-sec-head{text-align:center;padding:100px 20px 46px}
.tr-sec-head .en{font-family:var(--serif);color:var(--gold);font-size:26px;letter-spacing:6px;font-weight:600;text-transform:uppercase}
.tr-sec-head .ko{font-family:var(--kserif);font-size:47px;font-weight:600;color:#1c1c1c;margin-top:12px;letter-spacing:2px}
.tr-sec-head .ko b{color:var(--maroon)}
.tr-sec-head .desc{margin-top:16px;color:#777;font-size:20px;line-height:1.8}
.tr-sec-head::after{content:'';display:block;width:60px;height:2px;background:var(--gold);margin:26px auto 0}

/* full-width image / parallax sections */
.tr-mainimg{position:relative;width:100%;background:#eeeae7 center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.tr-mainimg .ph{width:100%;display:block}
.tr-mainimg-stack{flex-direction:column;background:#fff}
.tr-mainimg .ph.empty{min-height:60vh;background:
  repeating-linear-gradient(45deg,#efece5,#efece5 22px,#e7e3da 22px,#e7e3da 44px);
  display:flex;align-items:center;justify-content:center;color:#b3a98f;font-size:18px;letter-spacing:1px;text-align:center}
.tr-mainimg .over{position:absolute;z-index:3;text-align:center;color:#fff;width:100%;padding:0 20px;
  opacity:0;transform:translateY(40px);transition:1s ease}
.tr-mainimg.show .over{opacity:1;transform:translateY(0)}
.tr-mainimg .over .en{font-family:var(--serif);font-size:31px;letter-spacing:8px;color:var(--gold-l)}
.tr-mainimg .over .ko{font-family:var(--kserif);font-size:54px;letter-spacing:6px;margin-top:10px;text-shadow:0 3px 18px rgba(0,0,0,.5)}

/* ===== SITE / LOCATION (입지환경) ===== */
.sec-site{background:#fafafa;padding-bottom:110px}
.site-map{max-width:1300px;margin:0 auto 70px;padding:0 30px}
.site-map .ph.empty{min-height:520px;border:1px solid #e2ddd2}
.loc-cols{max-width:1320px;margin:0 auto;padding:0 30px;display:flex;gap:34px}
.loc-col{flex:1;background:#fff;border:1px solid #ece7dc;border-top:4px solid var(--maroon);padding:46px 34px 44px;
  box-shadow:0 12px 34px rgba(0,0,0,.05);transition:.35s}
.loc-col:hover{transform:translateY(-8px);box-shadow:0 22px 44px rgba(109,11,11,.12)}
.loc-col .ico{width:88px;height:88px;margin:0 auto 22px;border-radius:50%;background:var(--cream);
  display:flex;align-items:center;justify-content:center;color:var(--maroon);font-size:45px}
.loc-col .en{font-family:var(--serif);text-align:center;color:var(--gold);font-size:28px;letter-spacing:4px;font-weight:700}
.loc-col .ko{text-align:center;font-size:27px;font-weight:700;color:#222;margin:6px 0 22px}
.loc-col ul li{position:relative;padding:11px 0 11px 20px;border-top:1px dashed #e3ddd0;color:#555;font-size:18px;line-height:1.6}
.loc-col ul li:first-child{border-top:0}
.loc-col ul li::before{content:'';position:absolute;left:0;top:19px;width:6px;height:6px;border-radius:50%;background:var(--gold)}

/* ===== LIFE / heading + image ===== */
.sec-life{padding:0 0 40px;text-align:center;background:#fff}
.life-head{padding:110px 20px 60px}
.life-head .en{font-family:var(--serif);color:var(--gold);font-size:26px;letter-spacing:6px;font-weight:600}
.life-head .ko{font-family:var(--kserif);font-size:52px;font-weight:600;color:#1c1c1c;line-height:1.35;margin-top:14px}
.life-head .ko b{color:var(--maroon)}
.life-img{max-width:1300px;margin:0 auto;padding:0 30px}
.life-img .ph.empty{min-height:560px}

/* ===== UNIT (세대안내) ===== */
.sec-unit{background:#f4f1ea;padding-bottom:120px}
.unit-slider{max-width:1320px;margin:0 auto;padding:0 30px;position:relative}
.unit-track{overflow:hidden}
.unit-slides{display:flex;transition:transform .6s cubic-bezier(.6,.05,.2,1)}
.unit-slide{min-width:100%;display:flex;gap:50px;align-items:center}
.unit-plan{flex:1.15}
.unit-plan .ph.empty{min-height:520px;border:1px solid #e2ddd2;background:#fff}
.unit-info{flex:1;padding:14px 10px}
.unit-info .ui-big{display:flex;align-items:flex-start;gap:16px;padding:6px 0 10px}
.unit-info .ui-num{font-family:var(--serif);font-size:97px;line-height:1;font-weight:700;color:#1c1c1c}
.unit-info .ui-meta{}
.unit-info .ui-ty{font-size:19px;letter-spacing:4px;color:var(--maroon);font-weight:700;line-height: 1;}
.unit-info .ui-hgt{color:#8a8378;font-size:17px;margin-top:8px;line-height:1.5}
.unit-info .ui-list{margin-top:16px}
.unit-info .ui-r{display:flex;justify-content:space-between;align-items:baseline;padding:17px 2px;border-top:1px solid #ececec}
.unit-info .ui-r .l{color:#999;font-size:17px;letter-spacing:.5px}
.unit-info .ui-r .v{font-size:22px;font-weight:700;color:#222}
.unit-info .ui-r .v .py{font-size:17px;color:#aaa;font-weight:600;margin-left:2px}
.unit-info .ui-tot{margin-top:18px;background:var(--maroon);color:#fff;border-radius:8px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}
.unit-info .ui-tot .l{font-size:18px;opacity:.9}
.unit-info .ui-tot .v{font-size:25px;font-weight:800}
.unit-info .note{margin-top:16px;color:#999;font-size:15px}
.unit-arw{position:absolute;top:42%;width:54px;height:54px;border-radius:50%;background:#fff;border:1px solid #ddd6c7;
  color:var(--maroon);font-size:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.08);transition:.3s;z-index:5}
.unit-arw:hover{background:var(--maroon);color:#fff}
.unit-arw.prev{left:-18px}
.unit-arw.next{right:-18px}
.unit-dots{display:flex;justify-content:center;gap:10px;margin:0 0 44px;flex-wrap:wrap}
.unit-dots b{padding:0 24px;height:46px;line-height:44px;font-size:19px;letter-spacing:1px;white-space:nowrap;text-align:center;border:1px solid #cdc4b0;color:#8a7f66;
  font-family:var(--serif);font-weight:600;cursor:pointer;transition:.3s;border-radius:2px}
.unit-dots b.on{background:var(--maroon);color:#fff;border-color:var(--maroon)}

/* ===== LOCATION (오시는길) ===== */
.sec-loc{padding:0 0 110px;background:#fff}
.loc-wrap{max-width:1320px;margin:0 auto;padding:0 30px;display:flex;gap:54px;align-items:flex-start}
.loc-text{flex:1 1 40%;min-width:0}
.loc-media{flex:1 1 60%;min-width:0}
.loc-media .ph{margin:0}
.loc-media .ph img{width:100%;height:auto;display:block;border-radius:4px}
.loc-media .ph.empty{min-height:460px}
.loc-text .addr{display:flex;flex-direction:column;gap:8px;font-size:24px;color:#222;line-height:1.45}
.loc-text .addr b{color:var(--maroon);font-family:var(--serif);letter-spacing:1px;font-size:18px;font-weight:700}
.loc-text .tel{margin-top:22px;display:flex;flex-direction:column;gap:4px}
.loc-text .tel b{color:#9a8f7c;font-size:17px;font-weight:700;letter-spacing:1px}
.loc-text .tel a{color:var(--maroon);font-family:var(--serif);font-size:50px;font-weight:800;letter-spacing:1px;line-height:1}
.loc-text .btns{display:flex;gap:12px;margin-top:26px}
.loc-text .btns a{padding:13px 28px;border:1px solid var(--maroon);color:var(--maroon);font-weight:600;border-radius:2px;transition:.3s}
.loc-text .btns a:hover{background:var(--maroon);color:#fff}
.loc-notes{margin-top:32px;padding-top:26px;border-top:1px solid #ececec;list-style:none}
.loc-notes li{position:relative;padding-left:15px;color:#8f8f8f;font-size:15px;line-height:1.75;margin-bottom:7px}
.loc-notes li:before{content:'*';position:absolute;left:0;top:2px;color:#c0c0c0}

/* ===== CUSTOMER FORM (관심고객등록) ===== */
.sec-customer{background:var(--maroon);padding:96px 20px 104px;color:#fff}
.cust-head{text-align:center;margin-bottom:44px}
.cust-head .en{font-family:var(--serif);color:var(--gold-l);font-size:26px;letter-spacing:6px;font-weight:600}
.cust-head .ko{font-family:var(--kserif);font-size:45px;font-weight:600;margin-top:10px}
.cust-head .desc{margin-top:14px;color:rgba(255,255,255,.8);font-size:19px}
.cust-form{max-width:1040px;margin:0 auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);
  padding:40px 44px;border-radius:4px}
.cust-form .req{text-align:right;color:var(--gold-l);font-size:15px;margin-bottom:14px}
.cust-row{display:flex;gap:18px;flex-wrap:wrap}
.cust-field{flex:1;min-width:220px;margin-bottom:18px}
.cust-field label{display:block;font-size:18px;margin-bottom:8px;font-weight:500}
.cust-field label i{color:var(--gold-l);font-style:normal}
.cust-field input{width:100%;height:52px;padding:0 16px;border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.95);color:#222;font-size:18px;border-radius:2px}
/* iOS 방문일자(date) 입력창 돌출 방지 */
.cust-field input[type=date]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;
  font-family:inherit;line-height:normal}
.cust-field input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}
.cust-field input[type=date]::-webkit-calendar-picker-indicator{margin-left:auto;margin-right:0}
.cust-agree{display:flex;align-items:center;gap:26px;margin:6px 0 26px;font-size:18px}
.cust-agree .lbl{color:rgba(255,255,255,.85)}
.cust-agree label{display:flex;align-items:center;gap:7px;cursor:pointer}
.cust-submit{width:100%;height:62px;background:var(--gold);color:#fff;font-size:24px;font-weight:700;border-radius:2px;transition:.3s}
.cust-submit:hover{background:var(--gold-l)}

/* ===== FOOTER ===== */
#tr-footer{background:var(--dark);color:#c9c9c9;padding:56px 20px 40px}
#tr-footer .tr-inner{max-width:1400px}
.ft-top{display:flex;align-items:flex-start;gap:40px;flex-wrap:wrap;border-bottom:1px solid #555;padding-bottom:26px;margin-bottom:26px}
.ft-logo{font-family:var(--serif);color:#fff;font-size:28px;letter-spacing:3px;font-weight:600}
.ft-meta{color:#bdbdbd;font-size:18px;line-height:1.9}
.ft-meta b{color:#fff;font-weight:600;margin-right:6px}
.ft-notes{font-size:15px;color:#9d9d9d;line-height:1.9}
.ft-links{margin:22px 0 10px;display:flex;gap:18px;font-size:17px}
.ft-links a{color:#e2e2e2}
.ft-links a:hover{color:var(--gold-l)}
.ft-copy{font-family:var(--serif);letter-spacing:1px;color:#8f8f8f;font-size:15px;margin-top:8px}

/* ===== FIXED BOTTOM BAR (플로팅 카드 CTA) ===== */
#tr-fixbar{position:fixed;left:0;right:0;bottom:0;z-index:900;padding:0 20px 16px;display:flex;pointer-events:none}
#tr-fixbar .fx-inner{width:100%;max-width:1660px;margin:0 auto;background:#fff;border:1px solid #efe9dd;border-radius:14px;
  box-shadow:0 14px 34px rgba(0,0,0,.22);display:flex;align-items:center;gap:14px;padding:12px 14px 12px 30px;pointer-events:auto}
#tr-fixbar .fx-info{display:flex;align-items:center;gap:13px}
#tr-fixbar .fx-info .fx-ic{width:46px;height:46px;border-radius:50%;background:var(--maroon);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 46px}
#tr-fixbar .fx-info .fx-tx{display:flex;flex-direction:column;line-height:1.15}
#tr-fixbar .fx-info .l{color:#9a8f7c;font-size:14px;font-weight:700;letter-spacing:1px}
#tr-fixbar .fx-info .n{color:#1c1c1c;font-size:44px;font-weight:800;font-family:var(--serif);letter-spacing:.5px;text-decoration:none}
#tr-fixbar .fx-sp{flex:1}
#tr-fixbar .fx-ghost{height:54px;padding:0 24px;justify-content:center;border:1px solid var(--maroon);color:var(--maroon);background:#fff;border-radius:8px; font-weight:700;display:flex;align-items:center;gap:8px;transition:.2s}
#tr-fixbar .fx-ghost:hover{background:var(--maroon);color:#fff}
#tr-fixbar .fx-cta{height:54px;padding:0 34px;justify-content:center;background:linear-gradient(90deg,var(--gold),var(--gold-l));color:#fff;border-radius:8px;
  font-weight:800;font-size:20px;display:flex;align-items:center;gap:9px;box-shadow:0 6px 16px rgba(198,130,10,.4);transition:.2s}
#tr-fixbar .fx-cta:hover{filter:brightness(1.06)}

/* ===== TOP BUTTON ===== */
#tr-top{position:fixed;right:26px;bottom:100px;width:52px;height:52px;border-radius:50%;background:var(--maroon);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;z-index:901;opacity:0;visibility:hidden;
  transition:.35s;box-shadow:0 8px 22px rgba(0,0,0,.25)}
#tr-top.on{opacity:1;visibility:visible}
#tr-top:hover{background:var(--gold)}

/* ===== VIP POPUP ===== */
#tr-pop{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.7)}
#tr-pop.on{display:flex}
.pop-box{width:380px;max-width:92vw;background:#2a1206;border:1px solid #6b4a2a;box-shadow:0 30px 80px rgba(0,0,0,.6);overflow:hidden}
.pop-body{position:relative;padding:34px 26px 30px;text-align:center;color:#f3e4c9;
  background:radial-gradient(120% 80% at 50% 0,#4a2410,#1e0d05)}
.pop-body .crown{color:var(--gold-l);font-size:31px;margin-bottom:6px}
.pop-body .p1{font-size:20px;letter-spacing:2px;color:#f0d9b0}
.pop-body .p2{font-family:var(--kserif);font-size:47px;font-weight:700;color:#fff;margin:4px 0 14px;font-style:italic}
.pop-body .vip{display:inline-block;border:1px solid var(--gold);color:var(--gold-l);font-size:24px;letter-spacing:6px;padding:7px 22px;margin-bottom:16px}
.pop-body .box{background:linear-gradient(90deg,#e9c877,#f6e6bf);color:#5a2b0c;border-radius:6px;padding:12px 10px;margin-bottom:18px}
.pop-body .box small{display:block;font-size:14px;color:#7a3d12;margin-bottom:2px}
.pop-body .box b{font-size:28px;font-weight:800;letter-spacing:1px}
.pop-list{text-align:left;margin:0 auto 18px;max-width:280px}
.pop-list li{display:flex;align-items:flex-start;gap:12px;padding:8px 0}
.pop-list .ic{color:var(--gold-l);font-size:24px;margin-top:2px}
.pop-list .tt{font-weight:700;color:#fff;font-size:19px}
.pop-list .dd{font-size:14px;color:#d3b98f}
.pop-cta{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;height:56px;
  background:linear-gradient(90deg,#7a1414,#a53b1e);color:#fff;font-size:22px;font-weight:700;letter-spacing:2px}
.pop-foot{display:flex;align-items:center;justify-content:space-between;background:#151515;color:#bbb;padding:12px 18px;font-size:15px}
.pop-foot label{display:flex;align-items:center;gap:8px;cursor:pointer}
.pop-foot .x{cursor:pointer;font-size:21px;color:#ddd}
.pop-img{width:100%;display:block}

/* ===== IMAGE PLACEHOLDER (파일 준비 전) ===== */
.ph{position:relative;display:block}
.ph img{max-width:100%;width:auto;height:auto;display:block;margin:0 auto}
.ph.empty{display:flex!important;align-items:center;justify-content:center;
  background:repeating-linear-gradient(45deg,#efece5,#efece5 22px,#e7e3da 22px,#e7e3da 44px)}
.ph.empty::after{content:'이미지 준비중 · ' attr(data-ph);padding:12px 18px;border:1px dashed #c6ba9c;
  background:rgba(255,255,255,.7);border-radius:4px;color:#a89b7c;font-size:15px;letter-spacing:.3px}

/* ============================================================
   서브페이지 & 드롭다운 GNB (추가)
   ============================================================ */
/* GNB 드롭다운 */
.tr-gnb .m{position:relative;display:flex;align-items:center}
.tr-gnb .m>a{color:#fff;font-size:22px;font-weight:600;letter-spacing:1px;position:relative;padding:6px 2px;display:block}
.tr-gnb .m>a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--gold-l);transition:width .3s}
.tr-gnb .m:hover>a::after{width:100%}
.tr-gnb .sub{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:158px;
  background:rgba(109,11,11,.97);padding:8px 0;margin-top:22px;opacity:0;visibility:hidden;transition:.28s ease;
  box-shadow:0 16px 34px rgba(0,0,0,.3);border-top:2px solid var(--gold)}
.tr-gnb .sub::before{content:'';position:absolute;left:0;right:0;top:-24px;height:24px}
.tr-gnb .m:hover .sub{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.tr-gnb .sub li a{display:block;padding:11px 24px;color:#f2e3e3;font-size:18px;font-weight:500;white-space:nowrap;text-align:center;transition:.2s}
.tr-gnb .sub li a:hover{background:var(--gold);color:#fff}
.tr-gnb .m.direct .sub{display:none}
.tr-gnb .caret{display:none;margin-left:6px;font-size:13px;opacity:.8}

/* 서브 비주얼 배너 */
.tr-subvisual{position:relative;height:44vh;min-height:330px;background:#20272f center/cover no-repeat;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff}
.tr-subvisual::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(20,12,10,.55),rgba(20,12,10,.4))}
.tr-subvisual .in{position:relative;z-index:2;padding-top:40px}
.tr-subvisual .en{font-family:var(--serif);color:var(--gold-l);font-size:26px;letter-spacing:7px;font-weight:600;text-transform:uppercase}
.tr-subvisual .ko{font-size:54px;font-weight:700;letter-spacing:4px;margin-top:10px}
.tr-subvisual .path{margin-top:18px;font-size:17px;color:rgba(255,255,255,.82);letter-spacing:1px}
.tr-subvisual .path b{color:var(--gold-l);font-weight:600}

/* 서브 콘텐츠 공통 */
.tr-subwrap{padding:20px 0 110px;background:#fff}
.tr-subwrap .tr-inner{max-width:1300px}
.sub-intro{text-align:center;padding:76px 20px 40px}
.sub-intro .en{font-family:var(--serif);color:var(--gold);font-size:24px;letter-spacing:5px;font-weight:600}
.sub-intro .tt{font-size:40px;font-weight:700;color:#1c1c1c;margin-top:12px;letter-spacing:1px;line-height:1.35}
.sub-intro .tt b{color:var(--maroon)}
.sub-intro .desc{margin-top:16px;color:#777;font-size:19px;line-height:1.9}
.sub-intro::after{content:'';display:block;width:56px;height:2px;background:var(--gold);margin:24px auto 0}

/* 사업개요 테이블 */
.ov-table{max-width:960px;margin:0 auto;border-top:2px solid var(--maroon)}
.ov-table dl{display:flex;border-bottom:1px solid #e8e2d6}
.ov-table dt{width:220px;background:#efe9dd;padding:20px 26px;font-weight:600;color:#3a2a15;font-size:19px}
.ov-table dd{flex:1;padding:20px 26px;color:#333;font-size:19px}

/* 세대 타입 탭 */
.unit-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:44px}
.unit-tabs a{padding:12px 26px;border:1px solid #cdc4b0;color:#8a7f66;font-family:var(--serif);font-weight:600;
  font-size:20px;border-radius:2px;transition:.3s}
.unit-tabs a:hover{border-color:var(--maroon);color:var(--maroon)}
.unit-tabs a.on{background:var(--maroon);color:#fff;border-color:var(--maroon)}

/* 배치도 */
.plan-wrap{max-width:1100px;margin:0 auto}
.plan-wrap .ph.empty{min-height:560px}


/* ============================================================
   서브페이지 (참고 사이트 동일 구조: 배너+서브탭+콘텐츠이미지)
   ============================================================ */
#tr-header.solid{background:#000;height:86px;box-shadow:0 3px 22px rgba(0,0,0,.4)}
.tr-subtop{margin-top:86px;height:150px;background:#c9c4bc url('../image/top/sub_texture.jpg') center/cover no-repeat}
.tr-subtabs{background:#fff;border-bottom:1px solid #e6e1d6;display:flex;justify-content:center}
.tr-subtabs .in{display:flex;width:100%;max-width:1500px}
.tr-subtabs a{flex:1;text-align:center;padding:24px 8px;font-size:21px;font-weight:600;color:#666;border-left:1px solid #ededed;transition:.2s;white-space:nowrap}
.tr-subtabs a:last-child{border-right:1px solid #ededed}
.tr-subtabs a:hover{color:var(--maroon)}
.tr-subtabs a.on{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.tr-subimg{max-width:1500px;margin:0 auto;padding:60px 0 40px}
.tr-subimg .ph.empty{min-height:600px}
.tr-subimg .ph+.ph{margin-top:20px}
.tr-subimg .cap{text-align:center;color:#999;font-size:15px;margin-top:16px;line-height:1.7}
/* 관심고객(참고 동일) */
.cust2{max-width:1500px;margin:0 auto;padding:70px 0 100px}
.cust2 .tt{text-align:center;font-size:47px;font-weight:700;color:#1c1c1c;letter-spacing:1px}
.cust2 .desc{text-align:center;color:#777;font-size:19px;margin-top:12px}
.cust2 h3{font-size:24px;font-weight:700;color:var(--maroon);margin:46px 0 16px}
.cust2 .policy{border:1px solid #e2ddd2;background:#faf8f4;border-radius:6px;padding:22px 24px;height:200px;overflow-y:auto;color:#555;font-size:17px;line-height:1.8}
.cust2 .policy b{color:#333}
.cust2 .agree1{margin:16px 0 30px;font-size:18px}
.cust2 .agree1 label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.cust2 .rows{border-top:2px solid var(--brown)}
.cust2 .row{display:flex;border-bottom:1px solid #e6e0d4}
.cust2 .row .lb{width:200px;background:#efe9dd;padding:20px 24px;font-weight:600;color:#3a2a15;display:flex;align-items:center;gap:6px}
.cust2 .row .lb i{color:var(--maroon);font-style:normal}
.cust2 .row .fd{flex:1;padding:14px 20px;display:flex;align-items:center;gap:20px}
.cust2 .row .fd input[type=text],.cust2 .row .fd input[type=tel],.cust2 .row .fd input[type=date]{width:100%;max-width:100%;height:46px;padding:0 14px;border:1px solid #d8d2c4;border-radius:3px;font-size:18px}
.cust2 .row .fd label{display:inline-flex;align-items:center;gap:7px;cursor:pointer;color:#444;font-size:18px}
.cust2 .sub-submit{display:block;width:100%;max-width:100%;margin:34px auto 0;height:60px;background:var(--maroon);color:#fff;font-size:22px;font-weight:700;letter-spacing:3px;border-radius:3px;transition:.2s}
.cust2 .sub-submit:hover{background:#000}

/* ===== 서브페이지 내용(참고 동일) 블록 ===== */
.sub-info{max-width:1500px;margin:0 auto;padding:16px 0 60px}
.sub-info .h{text-align:center;margin:20px 0 34px}
.sub-info .h .en{font-family:var(--serif);color:var(--gold);font-size:24px;letter-spacing:5px;font-weight:600}
.sub-info .h .ko{font-size:35px;font-weight:700;color:#1c1c1c;margin-top:8px}
.sub-info .h .ko b{color:var(--maroon)}
.sub-info .h::after{content:'';display:block;width:52px;height:2px;background:var(--gold);margin:20px auto 0}
.sub-spec{width:100%;max-width:100%;margin:0 auto;border-collapse:collapse;border-top:2px solid var(--brown)}
.sub-spec th,.sub-spec td{padding:16px 22px;font-size:19px;border-bottom:1px solid #e6e0d4;text-align:left}
.sub-spec th{width:42%;background:#efe9dd;color:#3a2a15;font-weight:600}
.sub-spec td{color:#333}
.val-cards{display:flex;flex-direction:column;gap:16px;max-width:100%;margin:0 auto}
.val-card{display:flex;align-items:center;gap:26px;background:#0f1f3a;border:1px solid #26375a;border-radius:8px;padding:26px 34px;color:#fff}
.val-card .no{font-family:var(--serif);color:var(--gold-l);font-size:26px;font-weight:700;letter-spacing:2px;white-space:nowrap;min-width:104px}
.val-card .tx{font-size:21px;line-height:1.6}
.fac-cards{display:flex;gap:20px;flex-wrap:wrap;max-width:100%;margin:0 auto}
.fac-card{flex:1 1 220px;border:1px solid #ece7dc;border-top:3px solid var(--maroon);padding:32px 26px;text-align:center;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.05)}
.fac-card .t{font-size:24px;font-weight:700;color:#222}
.fac-card .d{color:#777;font-size:18px;margin-top:10px;line-height:1.6}
@media (max-width:768px){
  .sub-info{padding:6px 16px 40px}
  .sub-info .h .ko{font-size:27px}
  .val-card{flex-direction:column;align-items:flex-start;gap:8px;padding:20px 22px}
  .val-card .tx{font-size:19px}
  .sub-spec th,.sub-spec td{padding:12px 14px;font-size:17px}
}

/* 입지 컬럼 상단 실사진 */
.loc-col .loc-photo{margin:-46px -34px 26px;height:190px;overflow:hidden}
.loc-col .loc-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:768px){.loc-col .loc-photo{margin:-34px -24px 20px;height:150px}}


/* ===== 그누보드 새창(팝업) ===== */
.tr-newwin{position:fixed;z-index:2000;display:none;background:transparent;border-radius:6px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.4);max-width:94vw}
.tr-newwin.on{display:block}
.tr-newwin:not([style*="left"]):not([style*="top"]){left:50%;top:50%;transform:translate(-50%,-50%)}
.tr-newwin-body{max-height:82vh;overflow:auto;line-height:0;font-size:0}
.tr-newwin-body.nw-clickable{cursor:pointer}
.tr-newwin-body.nw-clickable *{cursor:pointer;pointer-events:none}
.tr-newwin-body img{max-width:100%;height:auto;display:block;vertical-align:bottom}
.tr-newwin-body *{max-width:100%}
.tr-newwin-foot{display:flex;align-items:center;justify-content:space-between;background:#1a1a1a;margin-top:-1px;color:#ccc;padding:11px 18px;font-size:15px}
.tr-newwin-foot label{display:flex;align-items:center;gap:8px;cursor:pointer}
.tr-newwin-foot .nw-close{background:none;border:0;color:#fff;cursor:pointer}
