@charset "UTF-8";
/* =========================================================
   분양 홈페이지 템플릿 — style.css
   ---------------------------------------------------------
   목차 (Ctrl+F 로 "■ 섹션명" 검색)
     ■ 1. 테마 설정 (색상·폰트·크기)  ← 현장 바뀌면 여기부터 수정
     ■ 2. 기본 / 공통 (타이포·리빌·버튼·플로팅)
     ■ LOADER   ■ HEADER   ■ HERO   ■ LOCATION   ■ VIEW
     ■ PREMIUM  ■ NEWS     ■ REGISTER   ■ FOOTER   ■ POPUP
     ■ RESPONSIVE (1180 / 1023 / 767px)
     ■ FULLPAGE
   ---------------------------------------------------------
   · 이미지 경로는 css 폴더 기준이라 /Form/_guest/hanbangmain/images/ 로 시작합니다.
   · 외부 라이브러리 없이 HTML / CSS / JS 만 사용합니다.
   ========================================================= */

/* ■ 1. 테마 설정 ========================================== */
:root{
  /* 메인 컬러 (짙은 그린 계열: 950이 가장 어둡고 500이 가장 밝음) */
  --g-950:#031716; --g-900:#04211f; --g-800:#06302e; --g-700:#013f40; --g-600:#015152; --g-500:#036a6b;
  /* 포인트 컬러 */
  --teal:#00b8ba; --teal-2:#2bd3d3; --teal-off:#007273;
  --gold:#c2a271; --gold-2:#e4d3ae; --gold-3:#8f7448;   /* 골드: 기본 / 밝은 / 어두운 */
  /* 밝은 배경 */
  --ivory:#f7f3ec; --cream:#efe7da; --paper:#fbfaf7;
  /* 글자색 */
  --ink:#141917; --text:#2b302d; --muted:#7a807c; --muted-2:#a6aba7;
  /* 구분선 (d = 어두운 배경용, l = 밝은 배경용) */
  --line-d:rgba(255,255,255,.14); --line-l:rgba(20,25,23,.1);
  /* 움직임 */
  --ease:cubic-bezier(.22,1,.36,1); --ease-io:cubic-bezier(.76,0,.24,1);
  /* 레이아웃 */
  --container:1250px;                  /* 본문 최대 폭 */
  --gutter:clamp(20px,4vw,48px);       /* 좌우 여백 */
  --hd-h:88px;                         /* 헤더 높이 */
  /* 폰트 (index.html <head> 에서 불러옴) */
  --kr:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;
  --en:"Cormorant Garamond","Times New Roman",serif;
}

/* ■ 2. 기본 / 공통 ======================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--kr);color:var(--text);background:var(--g-950);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:keep-all;overflow-x:hidden;line-height:1.6}
body.is-loading{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,figure{margin:0;padding:0}
ul,ol{list-style:none}
strong,b{font-weight:700}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.container{width:min(var(--container),100% - var(--gutter)*2);margin-inline:auto}
.grain::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}

/* ---------- 공통 타이포 ---------- */
.kicker,.hero__en,.stats b,.view__count,.prem__now,.pitem__num,.ntab__top em,.loader__num,.news__sig{font-variant-numeric:lining-nums}
.kicker{display:flex;align-items:center;gap:14px;font-family:var(--en);font-weight:500;font-size:14px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-3)}
.kicker::before{content:"";width:34px;height:1px;background:currentColor;transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--ease) .2s}
.is-in.kicker::before,.is-in .kicker::before{transform:scaleX(1)}
.kicker--light{color:var(--gold-2)}
.h2{font-size:clamp(34px,4.1vw,75px);line-height:1.22;letter-spacing:-.035em;font-weight:300;color:var(--ink)}
.h2 strong{font-weight:800}

/* ---------- 리빌 애니메이션 ---------- */
[data-reveal]{opacity:0;transform:translate3d(0,42px,0);transition:opacity 1.1s var(--ease),transform 1.3s var(--ease);transition-delay:var(--d,0s)}
[data-reveal="fade"]{transform:none}
[data-reveal="left"]{transform:translate3d(-60px,0,0)}
[data-reveal="right"]{transform:translate3d(60px,0,0)}
[data-reveal="scale"]{transform:scale(.92)}
[data-reveal].is-in{opacity:1;transform:none}
.split .w{display:inline-block;white-space:nowrap}
.split .ch{display:inline-block;opacity:0;transform:translate3d(0,.55em,0) rotate(5deg);filter:blur(10px);
  transition:opacity .9s var(--ease),transform 1.15s var(--ease),filter 1s var(--ease);transition-delay:calc(var(--i) * 34ms + var(--d,0ms))}
.split.is-in .ch{opacity:1;transform:none;filter:blur(0)}

/* ---------- 버튼 ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:58px;padding:0 34px;border-radius:4px;font-size:16px;font-weight:600;letter-spacing:-.01em;overflow:hidden;isolation:isolate;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s,box-shadow .5s,transform .5s var(--ease)}
.btn svg{width:18px;height:18px;transition:transform .5s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn--primary{background:var(--g-600);color:#fff;box-shadow:0 12px 30px -12px rgba(15,90,80,.8)}
.btn--primary::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:shine 4.5s var(--ease) infinite 2s}
.btn--primary:hover{background:var(--g-500)}
.btn--ghost{border:1px solid rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
@keyframes shine{0%{transform:translateX(-120%)}35%,100%{transform:translateX(120%)}}

/* =========================================================
   ■ LOADER
   ========================================================= */
#loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--g-900);transition:transform 1.25s var(--ease-io) .1s}
#loader::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 50%,rgba(194,162,113,.14),transparent 70%)}
#loader.is-done{transform:translateY(-100%)}
.loader__in{position:relative;display:grid;justify-items:center;gap:26px;transition:opacity .6s,transform 1s var(--ease)}
#loader.is-done .loader__in{opacity:0;transform:translateY(-40px)}
.loader__logo{width:min(300px,64vw);clip-path:inset(0 100% 0 0);animation:logoIn 1.4s var(--ease) .15s forwards}
@keyframes logoIn{to{clip-path:inset(0 0 0 0)}}
.loader__line{width:min(300px,64vw);height:1px;background:rgba(255,255,255,.14);overflow:hidden}
.loader__line i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-3),var(--gold-2));transform-origin:left;transform:scaleX(var(--p,0))}
.loader__num{font-family:var(--en);font-size:15px;letter-spacing:.3em;color:var(--gold-2)}

/* =========================================================
   ■ HEADER
   ========================================================= */
.progress{position:fixed;left:0;top:0;z-index:120;width:100%;height:2px;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--gold-3),var(--gold-2))}
.hd{position:fixed;inset:0 0 auto 0;z-index:110;height:var(--hd-h);color:#fff;transition:background .5s var(--ease),height .5s var(--ease),transform .6s var(--ease),color .4s,box-shadow .5s}
.hd__in{display:flex;align-items:center;justify-content:space-between;height:100%;width:min(var(--container),100% - var(--gutter)*2);margin-inline:auto}
.hd__logo{position:relative;display:block;width:190px}
.hd__logo img{width:100%;transition:opacity .4s}
.hd__logo .logo-g{position:absolute;inset:0;opacity:0}
.hd__nav ul{display:flex;gap:clamp(36px,4.6vw,84px)}
.hd__nav a{position:relative;display:block;padding:10px 0;font-size:16px;font-weight:600;letter-spacing:-.01em}
.hd__nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.hd__nav a:hover::after,.hd__nav a.is-active::after{transform:scaleX(1);transform-origin:left}
.hd__call{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 28px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-weight:600;font-size:15px;transition:background .4s,color .4s,border-color .4s}
.hd__call svg{width:17px;height:17px}
.hd__call:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.hd__call:hover svg{animation:ring .8s ease}
@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(-16deg)}40%{transform:rotate(14deg)}60%{transform:rotate(-10deg)}80%{transform:rotate(6deg)}}
.hd__burger{display:none;position:relative;width:44px;height:44px}
.hd__burger i{position:absolute;left:10px;right:10px;height:1.5px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.hd__burger i:first-child{top:17px}.hd__burger i:last-child{top:26px}
body.menu-open .hd__burger i:first-child{top:21px;transform:rotate(45deg)}
body.menu-open .hd__burger i:last-child{top:21px;transform:rotate(-45deg)}
.hd.is-scrolled{--hd-h:74px;background:rgba(5,28,25,.72);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.hd.is-light{color:var(--ink)}
.hd.is-light .logo-w{opacity:0}.hd.is-light .logo-g{opacity:1}
.hd.is-light .hd__call{border-color:rgba(20,25,23,.2);background:rgba(255,255,255,.5)}
.hd.is-light.is-scrolled{background:rgba(251,250,247,.82);box-shadow:0 1px 0 rgba(20,25,23,.06)}
.hd.is-hidden{transform:translateY(-100%)}
body.menu-open .hd{transform:none;color:#fff;background:transparent;box-shadow:none}
body.menu-open .hd .logo-w{opacity:1}body.menu-open .hd .logo-g{opacity:0}

/* 모바일 메뉴 */
.mmenu{position:fixed;inset:0;z-index:105;background:var(--g-900);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:100px var(--gutter) 60px;clip-path:circle(0% at calc(100% - 42px) 44px);transition:clip-path .9s var(--ease-io);visibility:hidden}
body.menu-open .mmenu{clip-path:circle(150% at calc(100% - 42px) 44px);visibility:visible}
.mmenu li{overflow:hidden}
.mmenu a{display:flex;align-items:baseline;gap:18px;padding:12px 0;font-size:34px;font-weight:700;letter-spacing:-.03em;transform:translateY(110%);transition:transform .9s var(--ease)}
.mmenu a small{font-family:var(--en);font-size:15px;font-weight:500;color:var(--gold);letter-spacing:.1em}
body.menu-open .mmenu a{transform:none}
body.menu-open .mmenu li:nth-child(2) a{transition-delay:.06s}
body.menu-open .mmenu li:nth-child(3) a{transition-delay:.12s}
body.menu-open .mmenu li:nth-child(4) a{transition-delay:.18s}
.mmenu__call{margin-top:44px;font-family:var(--en);font-size:30px;color:var(--gold-2)}

/* 우측 섹션 도트 */
.dots{position:fixed;right:30px;top:50%;z-index:90;transform:translateY(-50%);display:grid;gap:14px;transition:opacity .5s,color .4s;color:#fff}
.dots.is-off{opacity:0;pointer-events:none}
.dots.is-light{color:var(--ink)}
.dots a{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:12px;height:16px}
.dots a::after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.35;transition:all .5s var(--ease)}
.dots a span{font-family:var(--en);font-size:12px;letter-spacing:.24em;opacity:0;transform:translateX(8px);transition:all .5s var(--ease)}
.dots a:hover span,.dots a.is-active span{opacity:1;transform:none}
.dots a.is-active::after{opacity:1;background:var(--gold);box-shadow:0 0 0 5px rgba(194,162,113,.22)}

/* 빠른상담 플로팅 뱃지 */
.quick{position:fixed;left:clamp(16px,3vw,44px);bottom:clamp(16px,3vw,44px);z-index:95;width:116px;height:116px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--g-600);box-shadow:0 18px 40px -14px rgba(0,0,0,.55);transition:transform .6s var(--ease),background .5s;opacity:0}
body.is-ready .quick{animation:qIn 1s var(--ease) 1.4s both}
@keyframes qIn{from{opacity:0;scale:.5}to{opacity:1;scale:1}}
.quick:hover{transform:scale(1.07);background:var(--gold-3)}
.quick svg{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);animation:spin 14s linear infinite}
.quick text{font-family:var(--en);font-size:12px;letter-spacing:0;fill:rgba(255,255,255,.85);font-weight:600}
.quick span{position:relative;font-size:16px;line-height:1.2;text-align:center;font-weight:500}
.quick span b{display:block;font-size:20px;font-weight:800}
.quick::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(194,162,113,.6);animation:pulse 2.6s var(--ease) infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%{transform:scale(.92);opacity:1}100%{transform:scale(1.28);opacity:0}}

@media (min-width:768px) and (max-width:1599px){
  .quick{left:auto;right:clamp(16px,3vw,40px);bottom:calc(clamp(16px,3vw,40px) + 70px);width:100px;height:100px}
  .quick span{font-size:14px}.quick span b{font-size:18px}
}
/* TOP 버튼 */
.to-top{position:fixed;right:clamp(16px,3vw,40px);bottom:clamp(16px,3vw,40px);z-index:95;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 10px 30px -10px rgba(0,0,0,.4);opacity:0;transform:translateY(20px);pointer-events:none;transition:all .5s var(--ease)}
.to-top.is-on{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--gold);color:#fff}
.to-top svg{width:18px;height:18px}

/* =========================================================
   ■ HERO
   ========================================================= */
.hero{position:relative;height:100vh;height:100svh;min-height:680px;overflow:hidden;color:#fff;background:linear-gradient(180deg,#030d16 0%,#061725 9vh,#08203a 100%)}
.hero__bg{position:absolute;inset:0;will-change:transform}
.hero__bg-in{position:absolute;top:4vh;left:-2%;right:-2%;bottom:-5vh;will-change:transform;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 7%);mask-image:linear-gradient(180deg,transparent 0,#000 7%)}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center bottom;transform:scale(1.12);transform-origin:50% 60%;transition:transform 3.2s var(--ease)}
body.is-ready .hero__bg img{transform:scale(1)}
.hero__stars{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-mask-image:linear-gradient(#000 0%,#000 40%,transparent 66%);mask-image:linear-gradient(#000 0%,#000 40%,transparent 66%)}
.hero__sweep{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:soft-light;-webkit-mask-image:radial-gradient(42% 58% at 50% 70%,#000,transparent);mask-image:radial-gradient(42% 58% at 50% 70%,#000,transparent)}
.hero__sweep::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:60%;background:linear-gradient(100deg,transparent 15%,rgba(255,236,200,.85) 50%,transparent 85%);animation:sweep 8s var(--ease-io) infinite 3s}
@keyframes sweep{0%{transform:translateX(0)}55%,100%{transform:translateX(270%)}}
.hero__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,12,26,.3) 0%,rgba(3,12,26,0) 26%,rgba(3,12,26,0) 80%,rgba(3,14,14,.45) 100%)}
.hero__content{position:relative;z-index:2;padding-top:clamp(100px,15.5vh,176px);text-align:center;will-change:transform,opacity}
.hero__eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:clamp(16px,1.25vw,24px);font-weight:300;letter-spacing:-.02em;opacity:0;transform:translateY(20px);transition:all 1.2s var(--ease) .2s}
.hero__eyebrow strong{font-weight:800}
.hero__eyebrow .spark{color:var(--gold-2);font-size:.8em;animation:twinkle 2.4s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.4;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(45deg)}}
.hero__title{margin-top:6px;font-size:clamp(40px,4.25vw,82px);font-weight:800;line-height:1.08;letter-spacing:-.035em;text-shadow:0 10px 50px rgba(0,10,30,.35)}
.hero__title{--d:350ms}
.hero__en{margin-top:16px;font-family:var(--en);font-weight:500;font-size:clamp(16px,1.35vw,26px);letter-spacing:.2em;opacity:0;transform:translateY(16px);transition:all 1.2s var(--ease) .95s}
.hero__tag{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:6px;font-size:clamp(10px,.75vw,13px);letter-spacing:.62em;color:rgba(255,255,255,.62);opacity:0;transition:opacity 1.2s 1.3s}
.hero__tag i{width:0;height:1px;background:rgba(255,255,255,.4);transition:width 1.4s var(--ease) 1.4s}
.hero__cta{display:flex;justify-content:center;gap:12px;margin-top:26px;opacity:0;transform:translateY(20px);transition:all 1.2s var(--ease) 1.25s}
body.is-ready .hero__eyebrow,body.is-ready .hero__en,body.is-ready .hero__cta{opacity:1;transform:none}
body.is-ready .hero__tag{opacity:1}
body.is-ready .hero__tag i{width:44px}
.hero__script{position:absolute;left:50%;bottom:15.5%;z-index:2;transform:translateX(-50%);font-family:var(--en);font-style:italic;font-weight:400;font-size:clamp(18px,1.7vw,28px);letter-spacing:.04em;color:rgba(255,255,255,.82);white-space:nowrap;clip-path:inset(0 100% 0 0);transition:clip-path 2.4s var(--ease) 2s;text-shadow:0 4px 20px rgba(0,0,0,.4)}
body.is-ready .hero__script{clip-path:inset(0 0 0 0)}
.hero .btn{height:48px;padding:0 28px;font-size:15px}
.hero__note{position:absolute;left:0;right:0;bottom:24px;z-index:2;padding:0 var(--gutter);text-align:center;font-size:12px;color:rgba(255,255,255,.55)}
.scroll-ind{position:absolute;right:clamp(18px,2.6vw,40px);top:50%;z-index:3;display:flex;flex-direction:column;align-items:center;gap:16px;transform:translateY(-30%)}
.scroll-ind span{writing-mode:vertical-rl;font-family:var(--en);font-size:12px;letter-spacing:.3em;color:rgba(255,255,255,.75)}
.scroll-ind i{position:relative;width:1px;height:110px;background:rgba(255,255,255,.2);overflow:hidden}
.scroll-ind i::after{content:"";position:absolute;left:0;top:0;width:100%;height:40%;background:#fff;animation:drop 2.2s var(--ease-io) infinite}
@keyframes drop{0%{transform:translateY(-100%)}100%{transform:translateY(260%)}}

/* =========================================================
   ■ LOCATION
   ========================================================= */
.loc{position:relative;overflow:hidden;background:#fff;color:var(--ink);min-height:100vh;display:flex;align-items:center;}
.loc::before{content:"";position:absolute;right:-20vw;top:-30vw;width:70vw;height:70vw;border-radius:50%;background:radial-gradient(closest-side,rgba(194,162,113,.10),transparent)}
.loc__grid{position:relative;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,3vw,56px);align-items:center}
.loc__text .h2{margin-top:26px}
.loc__desc{margin-top:30px;font-size:clamp(15px,1.05vw,18px);line-height:1.8;color:#5b615d}
.loc__desc strong{color:var(--ink)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:42px}
.tag{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 20px;border-radius:999px;color:#fff;font-size:15px;font-weight:600;box-shadow:0 10px 20px -12px var(--c);background:var(--c);transform:translateY(16px) scale(.9);opacity:0;transition:transform .9s var(--ease),opacity .9s,box-shadow .4s;transition-delay:var(--d)}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;opacity:.9}
.tags.is-in .tag{transform:none;opacity:1}
.tag:hover{transform:translateY(-4px)!important;box-shadow:0 16px 28px -12px var(--c)}
.loc__sub{margin-top:18px;font-size:15px;line-height:1.7;color:#6c726e}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:54px;border-top:1px solid var(--line-l)}
.stats li{padding:26px 10px 0 0;position:relative}
.stats li+li{padding-left:22px;border-left:1px solid var(--line-l)}
.stats b{display:flex;align-items:baseline;gap:4px;font-family:var(--en);font-weight:500;font-size:clamp(42px,4vw,62px);line-height:1;color:var(--g-600)}
.stats b em{font-style:normal;font-size:.36em;letter-spacing:.06em;color:var(--gold-3)}
.stats p{margin-top:10px;font-size:13.5px;line-height:1.55;color:var(--muted)}
.map{position:relative;aspect-ratio:1800/1544;width:calc(100% + (100vw - min(var(--container),100vw - var(--gutter)*2)) / 2 + 2%);max-height:none}
.map__clip{position:absolute;inset:0;clip-path:circle(var(--r,34.6%) at 41.1% 42.1%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%);mask-image:linear-gradient(90deg,transparent 0,#000 16%);will-change:clip-path}
.map__clip img{width:100%;height:100%;object-fit:cover;transform:scale(var(--s,1.08));transform-origin:41.1% 42.1%;will-change:transform}
.map__ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.map__ring .r1{fill:none;stroke:var(--gold);stroke-width:2.2;stroke-dasharray:4 14;transform-origin:740px 650px;animation:spin 60s linear infinite;opacity:.85}
.map__ring .r2{fill:none;stroke:url(#ringGrad);stroke-width:3;transform-origin:740px 650px;animation:spin 9s linear infinite}
.map__pin{position:absolute;left:37.5%;top:39.2%;width:0;height:0}
.map__pin i{position:absolute;left:-28px;top:-28px;width:56px;height:56px;border-radius:50%;border:2px solid var(--gold);animation:ping 2.4s var(--ease) infinite}
.map__pin i+i{animation-delay:1.2s}
.map__pin b{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(255,255,255,.9),0 6px 16px rgba(0,0,0,.25)}
@keyframes ping{0%{transform:scale(.3);opacity:1}100%{transform:scale(1.7);opacity:0}}
.map__card{position:absolute;right:4%;bottom:6%;display:grid;gap:4px;padding:18px 22px;border-radius:14px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 20px 40px -20px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.9)}
.map__card small{font-family:var(--en);font-size:12px;letter-spacing:.24em;color:var(--gold-3)}
.map__card strong{font-size:17px;color:var(--ink)}
.map__card span{font-size:13px;color:var(--muted)}
.map__route{position:absolute;right:12.2%;top:13%;z-index:2;margin:0;padding:10px;border-radius:14px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);box-shadow:0 20px 40px -20px rgba(0,0,0,.35)}
.map__route img{display:block;width:clamp(110px,11vw,170px);height:auto}

/* =========================================================
   ■ VIEW & LANDMARK — 디자이너 시안 기준 풀스크린 배경 슬라이드
   ========================================================= */
.view{position:relative;height:100vh;height:100svh;min-height:720px;overflow:hidden;background:#0b1513;color:#fff}
.view__bgs{position:absolute;inset:0;cursor:grab;touch-action:pan-y}
.view__bgs:active{cursor:grabbing}
.view__bg{position:absolute;inset:0;z-index:1;clip-path:inset(0 0 0 100%);transition:clip-path 1.5s var(--ease-io)}
.view__bg.from-left{clip-path:inset(0 100% 0 0)}
.view__bg.is-prev{z-index:2;clip-path:inset(0 0 0 0)}
.view__bg.is-active{z-index:3;clip-path:inset(0 0 0 0)}
.view__bg .mv{position:absolute;inset:-2%;transform:translate3d(var(--mx,0),var(--my,0),0);transition:transform 1.2s var(--ease)}
.view__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.16);transition:transform 2.8s var(--ease)}
.view__bg.is-active img{transform:scale(1.02)}
.view__bg.is-active.kb img{transform:scale(1.09);transition:transform 10s linear}
.view__shade{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(90deg,rgba(0,8,7,.32) 0%,rgba(0,8,7,.06) 50%,rgba(0,8,7,0) 75%)}
.view__inner{position:relative;z-index:5;height:100%;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hd-h) + 10px) 0 clamp(160px,21vh,250px);pointer-events:none}
.view__h{margin-top:18px;font-size:clamp(30px,2.75vw,52px);font-weight:700;letter-spacing:-.035em;line-height:1.22}
.view__lead{margin-top:12px;font-size:clamp(15px,1.05vw,19px);line-height:1.65;color:rgba(255,255,255,.88)}
.view__lead strong{color:#fff}
.view__items{display:grid;margin-top:clamp(36px,7vh,84px)}
.vitem{grid-area:1/1}
.vitem .chip{display:inline-block;padding:9px 24px;border-radius:999px;background:var(--g-600);font-family:var(--en);font-weight:600;font-size:15px;letter-spacing:.26em}
.vitem h3{margin-top:20px;font-size:clamp(44px,4.6vw,90px);font-weight:800;line-height:1.02;letter-spacing:-.05em;text-shadow:0 10px 40px rgba(0,0,0,.25)}
.vitem h3 small{display:inline-block;margin-left:12px;font-size:.26em;font-weight:500;letter-spacing:-.01em;vertical-align:middle;color:rgba(255,255,255,.92)}
.vitem p{margin-top:14px;font-size:clamp(17px,1.45vw,26px);font-weight:300;color:rgba(255,255,255,.88)}
.vitem p strong{font-weight:700;color:#fff}
.vitem>*{opacity:0;transform:translate3d(-30px,0,0);transition:opacity .45s,transform .6s var(--ease)}
.vitem.is-active>*{opacity:1;transform:none;transition:opacity 1s var(--ease) .35s,transform 1.2s var(--ease) .35s}
.vitem.is-active>:nth-child(2){transition-delay:.47s}
.vitem.is-active>:nth-child(3){transition-delay:.59s}
.view__nav{position:absolute;z-index:6;left:0;right:0;bottom:clamp(150px,21vh,240px)}
.view__nav .container{display:flex;justify-content:flex-end;align-items:flex-end;gap:22px}
.view__ctrl{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.view__count{font-family:var(--en);font-size:16px;letter-spacing:.14em;color:rgba(255,255,255,.65)}
.view__count b{font-size:28px;font-weight:500;color:#fff}
.view__arrows{display:flex;gap:8px}
.arrow{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.06);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:all .45s var(--ease)}
.arrow svg{width:17px;height:17px}
.arrow:hover{background:#fff;color:var(--ink);border-color:#fff}
.view__thumbs{display:flex;gap:clamp(10px,1vw,18px)}
.vthumb{position:relative;width:clamp(120px,8.7vw,168px);border-radius:12px;overflow:hidden;box-shadow:0 14px 30px -16px rgba(0,0,0,.6);transition:transform .5s var(--ease)}
.vthumb img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.2s var(--ease)}
.vthumb:hover{transform:translateY(-4px)}
.vthumb:hover img{transform:scale(1.08)}
.vthumb::after{content:"";position:absolute;inset:0;border-radius:inherit;border:3px solid transparent;transition:border-color .4s;pointer-events:none}
.vthumb.is-active::after{border-color:#fff}
.vthumb .bar{position:absolute;left:12px;right:12px;bottom:10px;height:2px;border-radius:2px;background:rgba(255,255,255,.35);overflow:hidden;transition:opacity .4s}
.vthumb .bar b{display:block;height:100%;background:#fff;transform-origin:left;transform:scaleX(0)}
.vthumb:not(.is-active) .bar{opacity:0}
.view__note{position:absolute;z-index:6;left:0;right:0;bottom:22px;padding:0 var(--gutter);text-align:center;font-size:13px;color:rgba(255,255,255,.62)}

/* =========================================================
   ■ PREMIUM.6
   ========================================================= */
.prem{position:relative;overflow-x:clip;color:var(--ink);background:#f1ebe5 url(/Form/_guest/hanbangmain/images/premium_bg.jpg) center top/100% 100% no-repeat}
.prem__wrap{position:relative;display:grid;grid-template-columns:minmax(300px,34%) minmax(0,1fr)}
.prem__side{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;border-top-right-radius:260px;background:#0c1520}
.prem__side-in{position:absolute;left:0;right:0;top:0;height:190%;will-change:transform}
.prem__side-in img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.prem__side::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(3,12,18,.75) 100%)}
.prem__side-ov{position:absolute;left:clamp(26px,3vw,52px);right:clamp(26px,3vw,52px);bottom:clamp(30px,5vh,60px);z-index:2;color:#fff;display:flex;align-items:flex-end;justify-content:flex-end;gap:22px}
.prem__now{position:relative;height:118px;flex:1;overflow:hidden;text-align:right}
.prem__now div{position:absolute;right:0;bottom:0;transition:transform .9s var(--ease),opacity .9s}
.prem__now div:not(.is-on){transform:translateY(60%);opacity:0}
.prem__now div.is-out{transform:translateY(-60%);opacity:0}
.prem__now b{display:block;font-family:var(--en);font-weight:500;font-size:84px;line-height:.9;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.85)}
.prem__now span{display:block;margin-top:8px;font-family:var(--en);font-size:17px;letter-spacing:.18em;color:var(--gold-2)}
.prem__rail{display:grid;gap:8px;padding-bottom:6px}
.prem__rail li{width:3px;height:22px;border-radius:3px;background:rgba(255,255,255,.28);transition:all .6s var(--ease)}
.prem__rail li.is-on{height:44px;background:var(--gold-2)}
.prem__main{padding:clamp(110px,10vw,160px) var(--gutter) clamp(100px,9vw,160px) clamp(40px,6.5vw,120px);max-width:1080px}
.prem__head .h2{margin-top:24px}
.prem__head p{font-size:clamp(15px,1.05vw,17px);line-height:1.8;color:#6a706c; margin-top: 20px;}
.prem__head p strong{color:var(--ink)}
.plist{margin-top:clamp(50px,6vw,90px);display:grid;gap:clamp(50px,6vw,96px)}
.pitem{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(24px,4vw,70px)}
.pitem:nth-child(even){grid-template-columns:auto minmax(0,1fr)}
.pitem:nth-child(even) .pitem__img{order:-1}
.pitem__txt{position:relative;padding-left:clamp(64px,5.4vw,88px)}
.pitem__num{position:absolute;left:0;top:-24px;font-family:var(--en);font-weight:400;font-size:clamp(60px,5.2vw,84px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(143,116,72,.4);transition:-webkit-text-stroke-color .6s,transform 1s var(--ease);z-index:0}
.pitem.is-on .pitem__num{-webkit-text-stroke-color:var(--gold);transform:translateY(-6px)}
.pitem__en{position:relative;font-size:14px;color:#77736b;letter-spacing:.01em}
.pitem__en b{color:var(--ink)}
.pitem__sub{position:relative;margin-top:14px;font-size:clamp(20px,1.6vw,27px);font-weight:300;letter-spacing:-.03em;color:#4b4f4c}
.pitem__title{position:relative;margin-top:2px;font-size:clamp(25px,2.05vw,34px);font-weight:800;letter-spacing:-.04em;color:var(--g-600);display:inline-block;background:linear-gradient(transparent 62%,rgba(194,162,113,.28) 62%) no-repeat 0 0/0% 100%;transition:background-size 1.2s var(--ease) .3s}
.pitem.is-in .pitem__title{background-size:100% 100%}
.pitem__desc{position:relative;margin-top:16px;font-size:14.5px;line-height:1.75;color:#6d706c}
.pitem__desc small{font-size:.86em}
.pitem__img{position:relative;width:clamp(170px,17vw,250px);aspect-ratio:1;border-radius:50%}
.pitem__img::before{content:"";position:absolute;inset:-10px;border-radius:50%;background:conic-gradient(from 0deg,var(--gold) 0deg,rgba(194,162,113,0) 120deg,rgba(194,162,113,0) 240deg,var(--gold-2) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));animation:spin 10s linear infinite;opacity:0;transition:opacity .8s}
.pitem.is-on .pitem__img::before{opacity:1}
.pitem__img .ph{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 30px 50px -28px rgba(40,30,10,.55);clip-path:circle(0% at 50% 50%);transition:clip-path 1.5s var(--ease)}
.pitem.is-in .pitem__img .ph{clip-path:circle(50% at 50% 50%)}
.pitem__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.35) rotate(-6deg);transition:transform 1.8s var(--ease)}
.pitem.is-in .pitem__img img{transform:scale(1.04)}
.pitem:hover .pitem__img img{transform:scale(1.14)}
.plist--pair{gap:clamp(56px,6vw,96px)}
.pgroup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3.4vw,60px);align-items:start}
.pgroup .pitem,.pgroup .pitem:nth-child(even){grid-template-columns:1fr;gap:40px;align-items:start}
.pgroup .pitem .pitem__img,.pgroup .pitem:nth-child(even) .pitem__img{order:-1;width:clamp(130px,11vw,180px)}
.pgroup .pitem__desc br{display:none}
.pgroup.is-on .pitem__num{-webkit-text-stroke-color:var(--gold);transform:translateY(-6px)}
.pgroup.is-on .pitem__img::before{opacity:1}
.prem__now b i{font-style:normal;margin:0 .06em;-webkit-text-stroke:0;color:rgba(255,255,255,.55);font-size:.6em;vertical-align:.25em}

/* =========================================================
   ■ NEWS
   ========================================================= */
.news{position:relative;overflow:hidden;color:#fff;padding:clamp(120px,9vw,150px) 0 clamp(100px,8vw,140px);background:#2c2925}
.news__bg{position:absolute;inset:-6% 0;will-change:transform}
.news__bg img{width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.news__grid{position:relative;z-index:2;isolation:isolate;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(30px,5vw,90px);align-items:start}
.news__text{position:sticky;top:130px;padding-top:clamp(20px,6vh,90px)}
.news__text h3{margin-top:28px;font-size:clamp(24px,2vw,34px);font-weight:500;letter-spacing:-.03em}
.news__text h2{font-size:clamp(46px,4.3vw,70px);font-weight:800;letter-spacing:-.05em;line-height:1.1;margin-top:4px; margin-bottom: 25px;}
.news__text .vline{background:linear-gradient(rgba(255,255,255,.7),transparent)}
.news__text.is-in .vline{transform:scaleY(1)}
.news__text p{font-size:clamp(15px,1.05vw,17px);line-height:1.8;color:rgba(255,255,255,.72)}
.news__text p strong{color:#fff;box-shadow:inset 0 -1px 0 #fff}
.ntabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:44px;max-width:430px}
.ntab{position:relative;display:grid;gap:14px;padding:16px 16px 14px;border-radius:8px;text-align:left;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);overflow:hidden;transition:transform .5s var(--ease),border-color .5s}
.ntab::before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,var(--gold-3),var(--g-600));transform:translateY(101%);transition:transform .6s var(--ease)}
.ntab:hover{transform:translateY(-4px);border-color:rgba(194,162,113,.5)}
.ntab:hover::before,.ntab.is-on::before{transform:none}
.ntab>*{position:relative}
.ntab__top{display:flex;justify-content:space-between;align-items:center}
.ntab__ico{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18)}
.ntab__ico svg{width:15px;height:15px}
.ntab__top em{font-family:var(--en);font-style:normal;font-size:16px;color:rgba(255,255,255,.7)}
.ntab__lbl{font-size:14px;font-weight:300;line-height:1.3}
.ntab__lbl b{font-weight:700}
.board{position:relative;background:#fff;color:var(--ink);border-radius:140px 0 140px 0;padding:clamp(34px,3.4vw,58px) clamp(22px,2.6vw,46px) clamp(36px,3.4vw,58px);box-shadow:0 -12px 0 #8f8a84,0 40px 80px -40px rgba(0,0,0,.6)}
.board__head{padding-left:clamp(20px,5vw,80px)}
.board__head h3{font-size:clamp(21px,1.75vw,32px);font-weight:400;letter-spacing:-.04em;line-height:1.3}
.board__head h3 strong{font-weight:800}
.board__head p{margin-top:10px;font-size:14px;line-height:1.7;color:var(--muted)}
.board__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.ncard{position:relative;padding:20px 22px 22px;border-radius:14px;background:#f5f4f1;border:1px solid transparent;transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .6s,background .6s}
.ncard:hover{transform:translateY(-5px);box-shadow:0 26px 40px -26px rgba(20,25,23,.35);background:#fff;border-color:#ece7de}
.ncard.is-focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 5px rgba(194,162,113,.18),0 26px 40px -26px rgba(20,25,23,.35)}
.ncard--wide{grid-column:1/-1}
.ncard__lbl{display:flex;align-items:center;gap:8px;font-size:14px;color:#6e726f}
.ncard__lbl .badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;background:#c8463b;color:#fff;font-family:var(--en);font-size:11px;font-weight:600;letter-spacing:.12em;animation:blink 1.8s ease-in-out infinite}
@keyframes blink{50%{opacity:.45}}
.ncard__ttl{margin-top:6px;padding-bottom:13px;border-bottom:1px solid #e3e0da;font-size:clamp(16px,1.15vw,19px);font-weight:700;line-height:1.45;letter-spacing:-.03em}
.ncard__body{margin-top:13px;font-size:14px;line-height:1.75;color:#6a6e6b}
.blist{display:grid;gap:4px;margin-top:13px;font-size:14px;color:#4f5450}
.blist li{display:flex;gap:9px;align-items:flex-start;line-height:1.55}
.blist li::before{content:"";flex:none;width:5px;height:5px;margin-top:.62em;border-radius:50%;background:var(--g-600)}
.blist small{font-size:.82em;color:#8b8f8c}
.blist--2{grid-template-columns:1fr 1fr;column-gap:24px}
.clist{display:grid;gap:7px;margin-top:13px;font-size:14px;color:#3c413e}
.clist li{display:flex;align-items:center;gap:10px}
.clist svg{flex:none;width:18px;height:18px;color:var(--g-600)}
.clist svg path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .8s var(--ease)}
.ncard.is-in .clist svg path{stroke-dashoffset:0}
.ncard.is-in .clist li:nth-child(2) path{transition-delay:.12s}.ncard.is-in .clist li:nth-child(3) path{transition-delay:.24s}
.ncard.is-in .clist li:nth-child(4) path{transition-delay:.36s}.ncard.is-in .clist li:nth-child(5) path{transition-delay:.48s}
.ncard__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chipbtn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:600;border:1px solid #d9d4ca;transition:all .4s var(--ease)}
.chipbtn svg{width:15px;height:15px}
.chipbtn:hover{background:var(--g-600);border-color:var(--g-600);color:#fff}
.chipbtn--dark{background:var(--ink);border-color:var(--ink);color:#fff}
/* 언론 보도 카드 */
.press{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);column-gap:24px;margin-top:24px;padding:24px}
.press__thumb{display:block;border-radius:10px;overflow:hidden;aspect-ratio:296/161;background:#e3e0da}
.press__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.press:hover .press__thumb img{transform:scale(1.05)}
.press__info{display:flex;flex-direction:column;justify-content:center;min-width:0}
.press__src{display:flex;align-items:center;gap:12px;font-size:13px;color:#8b8f8c}
.press__src img{width:96px;height:auto}
.press__info .ncard__ttl{margin-top:10px;border-bottom:0;padding-bottom:0}
.press__sum,.press .ncard__actions,.press__copy{grid-column:1/-1}
.press__sum{margin-top:22px;padding-top:18px;border-top:1px solid #e3e0da}
.press__copy{margin-top:16px;font-size:12px;color:#9a9e9b}
@media (max-width:767px){
  .press{grid-template-columns:1fr;padding:20px}
  .press__info .ncard__ttl{margin-top:8px}
  .press__info{margin-top:16px}
}
.news__sig{position:absolute;right:clamp(18px,3vw,44px);bottom:30px;text-align:right;font-family:var(--en);color:rgba(255,255,255,.35)}
.news__sig b{display:block;font-weight:500;font-size:20px;letter-spacing:.06em}
.news__sig span{font-size:11px;letter-spacing:.5em}

/* =========================================================
   ■ REGISTER
   ========================================================= */
.reg{position:relative;overflow:hidden;color:#fff;padding:clamp(120px,12vw,230px) 0 clamp(110px,11vw,210px);background:#012624}
.reg__bg{position:absolute;inset:0;pointer-events:none}
.reg__bg img{width:100%;height:100%;object-fit:cover;animation:silkDrift 26s ease-in-out infinite alternate}
@keyframes silkDrift{0%{transform:scale(1.02) translate3d(0,0,0)}100%{transform:scale(1.12) translate3d(-2%,-1.5%,0)}}
.reg__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(120,240,230,.10) 50%,transparent 65%);background-size:300% 100%;animation:silkSheen 9s ease-in-out infinite}
@keyframes silkSheen{0%{background-position:120% 0}60%,100%{background-position:-20% 0}}
.reg__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,110px);align-items:center}
.reg__text small{display:block;font-size:16px;color:rgba(255,255,255,.75)}
.reg__text .l1{margin-top:22px;font-size:clamp(20px,1.7vw,27px);font-weight:300;letter-spacing:-.03em}
.reg__text .l2{margin-top:6px;font-size:clamp(34px,3.2vw,52px);font-weight:300;line-height:1.3;letter-spacing:-.045em}
.reg__text .l2 strong{font-weight:800}
.form{display:grid;gap:32px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{position:relative}
.field label{display:block;margin-bottom:10px;font-size:15px;font-weight:600}
.field input{width:100%;height:56px;padding:0 18px;border-radius:6px;border:1px solid transparent;background:#fff;color:var(--ink);font:inherit;font-size:15.5px;outline:none;transition:box-shadow .4s,border-color .4s}
.field input::placeholder{color:#9a9e9b}
.field input:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(20,169,159,.25)}
.field.is-err input{border-color:#e0675c;box-shadow:0 0 0 4px rgba(224,103,92,.2);animation:shake .45s}
.field .err{position:absolute;left:2px;top:100%;margin-top:6px;font-size:12.5px;color:#ff9b91;opacity:0;transform:translateY(-4px);transition:all .3s}
.field.is-err .err{opacity:1;transform:none}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.privacy{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;padding:22px 24px;border-radius:8px;background:#fff;color:var(--ink);font-size:14px}
.privacy dt{color:#8b8f8c}
.privacy dd{margin:0;font-weight:500}
.privacy dd strong{color:var(--g-600)}
.agree{display:inline-flex;align-items:center;gap:10px;font-size:15px;cursor:pointer;user-select:none}
.agree input{position:absolute;opacity:0;pointer-events:none}
.agree .box{position:relative;width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);display:grid;place-items:center;transition:all .35s var(--ease)}
.agree .box svg{width:13px;height:13px;color:#fff}
.agree .box svg path{stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset .4s var(--ease) .1s}
.agree input:checked+.box{background:var(--teal);border-color:var(--teal);transform:scale(1.06)}
.agree input:checked+.box svg path{stroke-dashoffset:0}
.agree input:focus-visible+.box{outline:2px solid var(--gold);outline-offset:3px}
.agree.is-err .box{border-color:#ff9b91;animation:shake .45s}
.agree-txt{color:rgba(255,255,255,.85);transition:color .4s}
.agree input:checked~.agree-txt{color:var(--teal-2)}
.form__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.submit{position:relative;min-width:296px;height:62px;border-radius:6px;font-size:17px;font-weight:700;color:rgba(255,255,255,.88);background:var(--teal-off);overflow:hidden;transition:background .6s var(--ease),box-shadow .6s,transform .4s var(--ease),color .4s}
.submit::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);transform:translateX(-120%)}
.submit.is-ready{background:var(--teal);color:#fff;box-shadow:0 18px 40px -16px rgba(0,184,186,.85)}
.submit.is-ready::before{animation:shine 3.2s var(--ease) infinite .4s}
.submit:hover{background:var(--teal);color:#fff}
.submit .spin{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;opacity:0;animation:spin .8s linear infinite}
.submit.is-loading span{opacity:0}.submit.is-loading .spin{opacity:1}

/* =========================================================
   ■ FOOTER
   ========================================================= */
.ft{position:relative;background:#3e4241;color:#a2a6a3;padding:64px 0;text-align:center;font-size:13px;line-height:1.85}
.ft__logo{width:210px;margin:0 auto 24px;opacity:.95}
.ft p+p{margin-top:2px}
.ft__copy{margin-top:26px;font-size:12px;letter-spacing:.04em;color:#878b88}
.ft__copy b{color:#fff;font-weight:600}

/* =========================================================
   ■ POPUP
   ========================================================= */
.pop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(3,10,9,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
.pop.is-open{opacity:1;visibility:visible}
.pop__box{position:relative;min-width:0;width:min(620px,100%);transform:translateY(40px) scale(.96);transition:transform .8s var(--ease)}
.pop.is-open .pop__box{transform:none}
.pop__close{position:absolute;right:0;bottom:calc(100% + 12px);display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:17px;font-weight:600}
.pop__close svg{width:20px;height:20px;transition:transform .5s var(--ease)}
.pop__close:hover svg{transform:rotate(90deg)}
.pop__view{position:relative;width:100%;overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.pop__track{display:flex;transition:transform .8s var(--ease)}
.pslide{flex:0 0 100%;height:300px;display:grid;overflow:hidden}
.pslide .ph{position:relative;overflow:hidden;background:#e9e9ea}
.pslide .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pslide--agent{grid-template-columns:200px 1fr}
.pslide--agent .ph img{object-position:50% 10%}
.pslide__info{padding:44px 30px 30px 40px;color: #fff; background: radial-gradient(80% 90% at 100% 0%,rgba(201, 166, 112, .30),transparent 58%), linear-gradient(135deg, #315654 0%, #032522 100%); overflow: hidden;}
.pslide__name{font-size:21px;font-weight:800;letter-spacing:-.03em}
.pslide__name small{margin-left:6px;font-size:13px;font-weight:500;color: #fff}
.pslide__line{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:15px}
.pslide__line svg{width:18px;height:18px;color:#FFF}
.pslide__line:first-of-type{margin-top:16px}
.pslide__note{margin-top:12px;font-size:13px;color:#fff}
.pslide__btns{display:flex;gap:8px;margin-top:22px}
.pbtn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;border-radius:6px;font-size:15px;font-weight:700;transition:transform .4s var(--ease),filter .4s}
.pbtn svg{width:18px;height:18px}
.pbtn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.pbtn--kakao{background:#fee500;color:#191600}
.pbtn--green{background:var(--g-600);color:#fff}
.pslide--event{position:relative;color:#fff;padding:40px 44px;background:radial-gradient(80% 90% at 100% 0%,rgba(194,162,113,.35),transparent 60%),linear-gradient(135deg,var(--g-800),var(--g-950));overflow:hidden}
.pslide--event::after{content:"✦";position:absolute;right:30px;top:24px;font-size:28px;color:var(--gold-2);animation:twinkle 2.4s ease-in-out infinite}
.pslide--event small{font-family:var(--en);font-size:13px;letter-spacing:.3em;color:var(--gold-2)}
.pslide--event h4{margin-top:10px;font-size:28px;font-weight:800;letter-spacing:-.04em}
.pslide--event .date{margin-top:6px;font-size:16px;color:rgba(255,255,255,.85)}
.pslide--event ul{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.pslide--event li{padding:7px 12px;border-radius:999px;font-size:13px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15)}
.pslide--event .pbtn{display:inline-flex;margin-top:22px;padding:0 26px;flex:none;background:var(--gold);color:#fff}
.pslide--house{grid-template-columns:1fr 1fr}
.pslide--house .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(255,255,255,.35))}
.pop__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 18px;background:#f4f3f0;border-top:1px solid #e7e4de;font-size:13px;color:#555b57}
.pop__bar label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.pop__nav{display:flex;align-items:center;gap:6px}
.pop__nav button{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid #d9d6cf;color:#444;transition:all .3s}
.pop__nav button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.pop__nav svg{width:13px;height:13px}
.pop__count{position:absolute;right:14px;top:14px;z-index:2;padding:3px 10px;border-radius:999px;background:rgba(40,44,42,.72);color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em}

/* 토스트 */
.toast{position:fixed;left:50%;bottom:110px;z-index:1100;display:flex;align-items:center;gap:12px;max-width:calc(100% - 40px);padding:16px 22px;border-radius:999px;background:rgba(10,20,18,.92);color:#fff;font-size:15px;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);transform:translate(-50%,30px);opacity:0;pointer-events:none;transition:all .6s var(--ease)}
.toast.is-on{transform:translate(-50%,0);opacity:1}
.toast i{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--teal);font-style:normal;font-size:13px}

/* 모바일 하단 바 */
.mbar{display:none}

/* =========================================================
   ■ RESPONSIVE
   ========================================================= */
@media (max-width:1180px){
  .hd__nav ul{gap:36px}
  .prem__wrap{grid-template-columns:minmax(260px,32%) minmax(0,1fr)}
  .prem__now b{font-size:64px}
}
@media (max-width:1023px){
  :root{--hd-h:68px}
  .hd.is-scrolled{--hd-h:62px}
  .hd__nav,.hd__call{display:none}
  .hd__burger{display:block}
  .hd__logo{width:150px}
  .dots{display:none}
  .loc__grid,.news__grid,.reg__grid{grid-template-columns:1fr}
  .loc{min-height:0;display:block;padding:clamp(100px,8vw,120px) 0 clamp(70px,6vw,100px)}
  .map{width:100%;margin:10px 0 0;}
  .prem__wrap{grid-template-columns:1fr}
  .prem__side{position:relative;height:62vh;min-height:380px;border-top-right-radius:160px}
  .prem__side-in{height:150%}
  .prem__main{padding:90px var(--gutter) 100px}
  .news__text{position:relative;top:0}
  .board{border-radius:110px 0 110px 0}
  .scroll-ind{display:none}
}
@media (max-width:767px){
  .hero{min-height:600px}
  .hero__content{padding-top:max(104px,13vh)}
  .hero__title{font-size:clamp(36px,10.4vw,56px)}
  .hero__tag{letter-spacing:.32em;font-size:10px}
  .hero__tag i{display:none}
  .hero__cta{padding:0 var(--gutter)}
  .hero__cta .btn{flex:1;height:50px;padding:0 12px;font-size:15px;white-space:nowrap;gap:8px}
  .hero__script{bottom:150px;font-size:16px}
  .hero__note{bottom:84px;font-size:11px}
  .stats{grid-template-columns:repeat(3,1fr)}
  .stats li+li{padding-left:14px}
  .stats p{font-size:12px}
  .map__card{right:2%;bottom:-2%;padding:12px 14px;gap:2px;max-width:78%}
  .map__card strong{font-size:15px}.map__card span{font-size:11.5px}
  .loc__visual{margin-bottom:24px}
  .view{min-height:660px}
  .view__inner{justify-content:flex-start;padding:calc(var(--hd-h) + 44px) 0 0}
  .view__items{margin-top:44px}
  .vitem h3{font-size:clamp(38px,11vw,54px)}
  .vitem h3 small{display:block;margin:10px 0 0;font-size:14px}
  .view__nav{bottom:105px}
  .view__ctrl{display:none}
  .view__thumbs{width:100%;gap:8px}
  .vthumb{flex:1;width:auto;border-radius:10px}
  .view__note{bottom:65px;font-size:11px}
  .pitem,.pitem:nth-child(even){grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:start}
  .pitem .pitem__img,.pitem:nth-child(even) .pitem__img{order:-1;width:112px}
  .pitem__txt{padding-left:0}
  .pitem__num{position:relative;top:0;display:block;font-size:48px;margin-bottom:6px}
  .pitem__desc br{display:none}
  .prem__now b{font-size:60px}
  .ntabs{max-width:none}
  .board{padding:46px 20px 30px;border-radius:72px 0 72px 0}
  .board__head{padding-left:28px}
  .board__grid{grid-template-columns:1fr}
  .blist--2{grid-template-columns:1fr}
  .form__row{grid-template-columns:1fr;gap: 32px;}
  .privacy{grid-template-columns:1fr;gap:2px}
  .privacy dd{margin-bottom:8px}
  .submit{width:100%;min-width:0}
  .news__sig{display:none}
  .to-top{bottom:calc(14px + env(safe-area-inset-bottom));width:46px;height:46px}
  .pslide{height:auto;min-height:330px}
  .pslide--agent{grid-template-columns:120px 1fr}
  .pslide__info{padding:30px 18px 20px 20px}
  .pslide__btns{flex-direction:column}
  .pslide__btns .pbtn{flex:none;height:44px}
  .pslide--house{grid-template-columns:1fr}
  .pslide--house .ph{height:150px}
  .pslide--event{padding:32px 26px}
  .toast{bottom:96px}
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:96;display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:env(safe-area-inset-bottom);background:rgba(1,52,53,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08)}
  .mbar a,.mbar button{display:grid;justify-items:center;gap:4px;padding:11px 0 10px;color:#fff;font-size:12px;font-weight:600}
  .mbar svg{width:20px;height:20px}
  .mbar>:last-child{background:var(--gold-3)}
  .ft{padding-bottom:140px}
  .map__route{display:none}
  .pgroup{grid-template-columns:1fr;gap:44px}
  .pgroup .pitem,.pgroup .pitem:nth-child(even){grid-template-columns:112px minmax(0,1fr);gap:20px}
  .pgroup .pitem .pitem__img,.pgroup .pitem:nth-child(even) .pitem__img{width:112px}
  .prem__now b{font-size:48px}
}
/* =========================================================
   ■ FULLPAGE (PC 전용 섹션 단위 스크롤)
   - 1024px 이상 & 높이 600px 이상에서만 동작 (html.fp-on)
   - 화면보다 긴 섹션은 내부에 정지 지점(data-fp-stop)을 두고 나눠서 이동
   ========================================================= */
html.fp-on{scroll-behavior:auto}
html.fp-on body{overscroll-behavior:none}
/* @media (prefers-reduced-motion:reduce){
  .rm *,.rm *::before,.rm *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
} */


html, body { height:auto !important; }
html { overflow-x:visible !important; }
body { overflow-x:clip !important; }

/* =========================================================
   ■ POPUP-방문예약
   ========================================================= */
.vpop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99999;display:flex;align-items:center;justify-content:center;cursor:default;}
.vpop__box{position:relative;background:#fff;border-radius:15px;padding:24px 16px 24px 20px;width:460px;max-width:92vw;max-height:90vh;overflow:hidden;box-sizing:border-box;}
.vpop__scroll{overflow-y:auto;max-height:calc(90vh - 80px);padding-right:6px;}
.vpop__close{position:absolute;top:14px;right:14px;width:20px;height:20px;background:none;border:none;cursor:pointer;padding:0;}
.vpop__close:before,.vpop__close:after{content:"";position:absolute;width:18px;height:2px;top:9px;left:1px;background:#333;}
.vpop__close:before{transform:rotate(45deg);}.vpop__close:after{transform:rotate(-45deg);}
.vpop__title{text-align:center;font-size:20px;font-weight:700;padding-bottom:18px;margin:0;}
.vpop__field{padding-bottom:14px;box-sizing:border-box;}
.vpop__label{display:block;font-size:14px;font-weight:600;padding-bottom:5px;margin:0;}
.vpop__input{width:100%;border:1px solid #e2e2e2;background:#f5f5f5;height:44px;font-size:15px;padding:0 12px;border-radius:8px;box-sizing:border-box;font-family:inherit;}
.vpop__input::placeholder{color:rgba(0,0,0,.25);}
.vpop__addr{display:flex;gap:8px;}
.vpop__select{flex:1;border:1px solid #e2e2e2;height:44px;padding:0 10px;border-radius:8px;font-size:14px;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;font-family:inherit;}
.vpop__date{display:flex;gap:8px;}
.vpop__date .vpop__input{flex:2;min-width:0;}
.vpop__date .vpop__select{flex:1;min-width:0;}
.vpop__terms{padding:10px;overflow-y:scroll;height:110px;border:1px solid #e2e2e2;border-radius:8px;font-size:12px;line-height:1.6;box-sizing:border-box;}
.vpop__agree{display:flex;align-items:center;gap:6px;padding-top:10px;font-size:14px;font-weight:500;cursor:pointer;}
.vpop__agree input[type=checkbox]{display:none;}
.vpop__chk{display:inline-block;width:22px;height:22px;flex-shrink:0;border:2px solid #ccc;border-radius:4px;background:#fff;position:relative;box-sizing:border-box;}
.vpop__agree input[type=checkbox]:checked + .vpop__chk{background:var(--g-600);border-color:var(--g-600);}
.vpop__agree input[type=checkbox]:checked + .vpop__chk:after{content:"";position:absolute;left:4px;top:4px;width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);}
.vpop__submit{display:block;width:100%;height:50px;background:var(--g-600);color:#fff;font-size:17px;font-weight:700;border-radius:10px;margin-top:6px;border:none;cursor:pointer;font-family:inherit;box-sizing:border-box; transition: 0.3s ease;}
.vpop__submit:hover{background:var(--g-500);}
.vpop{display:none;padding:20px;box-sizing:border-box;background:rgba(3,10,9,.45);}
.vpop .vpop__box{box-shadow:0 40px 80px -30px rgba(0,0,0,.6);}
.vpop__input[type=date]{-webkit-appearance:none;appearance:none;line-height:44px;}
.vpop__input:focus,.vpop__select:focus{outline:none;border-color:var(--g-600);background:#fff;}