:root{--ink:#101113;--cream:#f5f2ec;--yellow:#d9be8a;--blue:#24262a;--font:"Pretendard","Noto Sans KR","Malgun Gothic",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 var(--font);word-break:keep-all;overflow-wrap:anywhere}
[hidden]{display:none!important}
a{text-decoration:none;color:inherit}
h1,h2,h3,p,figure{margin:0}
img{display:block;max-width:100%}
:focus-visible{outline:3px solid #4a79d0;outline-offset:4px}
.frame{width:min(1220px,calc(100% - 80px));margin-inline:auto}
.skip{position:fixed;top:8px;left:8px;z-index:10;transform:translateY(-160%);background:white;padding:10px}.skip:focus{transform:none}
.header{position:sticky;top:0;background:var(--cream);z-index:4;border-bottom:1px solid #e2e7ee}
.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{min-width:0;display:flex;align-items:center;gap:10px;max-width:55%;font-weight:900;font-size:18px;letter-spacing:-.055em}
.brand img{width:auto;height:57px;object-fit:contain;object-position:left;mix-blend-mode:multiply}
nav{display:flex;align-items:center;gap:clamp(10px,3vw,30px);white-space:nowrap}
.location-link{font-size:14px;font-weight:800}.location-link:hover{text-decoration:underline}
.register{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:48px;padding:9px 18px;border-radius:8px;background:var(--yellow);color:var(--ink);font-weight:900;font-size:15px;white-space:nowrap}
.register:hover{background:#ffef95}
.hero{position:relative;isolation:isolate;min-height:clamp(525px,77svh,830px);display:grid;align-items:center;background:linear-gradient(145deg,#0a1b35,#254e83);color:white;overflow:hidden}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 51%;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06152df0 0%,#06152dc2 29%,#06152d32 72%),linear-gradient(0deg,#06152d85,transparent 32%);z-index:-1;pointer-events:none}
.hero-inner{padding-block:64px 86px}
.property{font-size:clamp(16px,2vw,24px);font-weight:850;letter-spacing:-.025em;color:#fff4c5}
h1{font-size:clamp(56px,8vw,116px);line-height:1.02;letter-spacing:-.082em;font-weight:900;margin:12px 0 15px}
h1 small{font-size:.52em}
h1 em{font-style:normal;color:var(--yellow);font-size:1.23em}
.walking-note{font-size:13px;color:#f2f2f2;max-width:365px}
.hero-register{margin-top:23px;min-height:51px}
.image-label{position:absolute;bottom:15px;right:20px;background:#07162bce;padding:4px 8px;border-radius:4px;color:white;font-size:11px}
.site-location{padding-block:clamp(56px,7vw,95px)}
.location-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:19px}
.eyebrow{display:flex;align-items:center;gap:8px;color:#254b82;font-size:13px;font-weight:900}
.eyebrow span{width:8px;height:8px;border-radius:50%;background:#2c5bb5}
h2{font-size:clamp(31px,5vw,58px);line-height:1.12;letter-spacing:-.072em;font-weight:900;margin:6px 0 8px}
.address{font-weight:750;color:#475973;font-size:16px}
.map-link{display:inline-flex;align-items:center;gap:11px;border:1px solid #adbcd2;border-radius:8px;padding:10px 13px;font-size:14px;font-weight:850;white-space:nowrap}
.map-link:hover{background:#ecf1f9}
.map{max-width:981px;margin-inline:auto;overflow:hidden;border-radius:18px;background:#eceae3;border:1px solid #d8d4c9}
.map-original{display:block;cursor:zoom-in}
.map-original:focus-visible{outline-offset:-4px}
.map-original img{display:block;width:100%;height:auto}
.map figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:9px 13px;color:#45463e;background:#fbf9f3;font-size:12px}
.around,.tour{padding-block:clamp(49px,6vw,82px)}
.around{background:#eef2f8}
.section-heading{margin-bottom:20px}
.facilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.facility-card,.tour-grid figure{min-width:0;background:white;border:1px solid #d7e2ef;border-radius:15px;overflow:hidden}
.facility-card>a,.tour-grid a{display:block;position:relative}
.facility-card img,.tour-grid img{width:100%;aspect-ratio:16/10;object-fit:cover}
.facility-card>a span,.tour-grid a span{position:absolute;right:9px;bottom:9px;background:#091c35eb;border-radius:5px;color:white;font-size:12px;font-weight:800;padding:5px 8px}
.facility-copy{padding:16px}
.category{color:#254b82;font-weight:900;font-size:12px}
.facility-copy h3,.rail h3{font-size:clamp(19px,2.2vw,27px);letter-spacing:-.055em}
.facility-copy p:not(.category),.rail p{color:#475973;font-size:14px;margin-top:4px}
.facility-copy a{display:inline-block;color:#254b82;font-size:13px;font-weight:850;margin-top:11px;text-decoration:underline;text-underline-offset:3px}
.rail{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;background:white;padding:14px 16px;border:1px solid #d7e2ef;border-radius:15px;margin-top:15px}
.tour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.tour-note{margin-top:9px;color:#475973;font-size:12px}
.interest{background:var(--blue);color:white;padding-block:clamp(37px,5vw,68px)}
.interest-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.interest p{color:#e7edf9;font-size:15px}
.phone{font-size:clamp(25px,4vw,46px);letter-spacing:-.05em;gap:18px}
.phone span{font-size:.7em}
footer{background:#09182b;color:#dce5f3;font-size:13px;padding-block:19px}
.footer-inner{display:flex;flex-wrap:wrap;gap:6px 14px}
.mobile-bar{display:none}
@media(max-width:650px){
 html{scroll-padding-top:75px}body{padding-bottom:calc(61px + env(safe-area-inset-bottom))}
 .frame{width:calc(100% - 32px)}
 .header-inner{height:61px;gap:7px}
 .brand{font-size:14px;max-width:57%;gap:4px}.brand img{height:39px}
 .location-link{display:none}
 .header .register{min-height:42px;padding:8px 11px;font-size:13px;gap:6px}
 .hero{min-height:clamp(430px,75svh,630px);align-items:end}
 .hero-photo{object-position:54% 22%}
 .hero::after{background:linear-gradient(0deg,#06152df8 0%,#06152de4 24%,#06152d52 65%,#06152d13)}
 .hero-inner{padding-block:155px 55px}
 h1{font-size:clamp(48px,12vw,74px);margin:8px 0 11px}
 .walking-note{max-width:300px;font-size:12px}.hero-register{margin-top:15px}
 .image-label{right:12px;bottom:12px;font-size:10px}
 .location-head,.interest-inner{display:block}.map-link{margin-top:12px}
 .facilities,.tour-grid{grid-template-columns:1fr}
 .facility-card img,.tour-grid img{aspect-ratio:16/9}
 .phone{margin-top:15px}
 .mobile-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;inset-inline:0;bottom:0;background:var(--ink);gap:6px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));z-index:5}
 .mobile-bar a{display:flex;align-items:center;justify-content:center;gap:8px;color:white;border:1px solid #8a9bb6;border-radius:8px;min-height:47px;font-weight:900;font-size:14px}
 .mobile-bar a:last-child{color:var(--ink);background:var(--yellow);border-color:var(--yellow);font-size:17px}
}
@media(max-width:760px){.location-link{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);min-height:clamp(550px,72svh,800px);align-items:stretch;background:var(--ink)}
.hero::after{display:none}
.hero-visual{grid-column:2;grid-row:1;position:relative;min-height:0;overflow:hidden}
.hero-photo{z-index:auto;object-position:48% 47%}
.hero-inner{grid-column:1;grid-row:1;width:100%;padding:clamp(35px,6vw,94px);align-self:center}
.property{font-family:Georgia,serif;letter-spacing:.15em;font-size:14px;color:var(--yellow)}
.hero h1{font-size:clamp(51px,7vw,112px);line-height:1.03}
.hero-distance{font-size:clamp(19px,2.4vw,34px);margin:19px 0 7px;font-weight:800}
.hero-distance strong{color:var(--yellow)}
.hero-more{display:inline-block;margin:12px 0 0 12px;color:#fff;font-weight:800;font-size:13px}
.register:hover{background:#eed7aa}
.eyebrow,.category,.facility-copy a,.map figcaption a{color:#725a30}
.eyebrow span{background:#b59a6a}
.around{background:#ebe6dc}
.interest-inner{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(20px,5vw,66px)}
.interest-intro{padding-top:15px}
.interest-intro .phone{margin-top:19px}
.consultation{min-width:0;background:#faf8f3;color:var(--ink);border-radius:16px;padding:clamp(18px,3vw,30px)}
.consultation:target{outline:2px solid #b59a6a;outline-offset:4px}
.consultation h3{font-size:25px;letter-spacing:-.055em}
.consultation p{color:#35373b}
.consultation .test-notice{font-size:13px;margin-top:6px;color:#59431b}
.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:16px 0}
.form-fields label{display:block;min-width:0;font-weight:800;font-size:14px}
.form-fields input{display:block;width:100%;margin-top:4px;border:1px solid #9f9a90;background:white;border-radius:7px;padding:9px 10px;font:inherit;font-weight:500;min-height:44px}
.consent-notice{background:#eee9df;border-radius:8px;padding:12px;font-size:13px}
.consent-notice dl,.policy dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:8px 0}
.consent-notice dt,.policy dt{font-weight:800}
.consent-notice dd,.policy dd{margin:0}
.consent-notice a,.footer-inner a,.back-link{display:inline-block;text-decoration:underline;text-underline-offset:3px;font-weight:850}
.consent-notice a{margin-top:6px}
.consent-check{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:44px;font-size:14px}
.consent-check input{width:18px;height:18px;flex:none;accent-color:#725a30}
.test-submit{border:0;cursor:pointer}.test-submit:disabled{opacity:.48;cursor:not-allowed}
#lead-status:not(:empty){margin-top:10px;font-size:13px}
.tour-intro{margin-top:11px;font-size:15px}
footer{background:#101113}
.policy{width:min(820px,calc(100% - 48px));padding-block:clamp(32px,6vw,80px)}
.policy h1{font-size:clamp(34px,6vw,64px);letter-spacing:-.07em;margin-bottom:16px}
.policy-draft{background:#ece2cb;border-left:4px solid #b59a6a;padding:13px 15px}
.policy-draft strong{display:block}
.policy section{padding:19px 0;border-bottom:1px solid #d4cbbd}
.policy h2{font-size:clamp(19px,3vw,26px);letter-spacing:-.04em;margin:0 0 6px}
.policy section p+p{margin-top:7px}
.policy>.back-link{margin-top:20px}
@media(max-width:650px){
 .hero{display:flex;flex-direction:column;min-height:0}
 .hero-visual{order:0;min-height:0;aspect-ratio:4/3}
 .hero-photo{object-position:49% 46%}
 .hero-inner{order:1;padding:21px 16px 24px}
 .hero h1{font-size:clamp(43px,11vw,64px)}
 .hero h1 br{display:none}.hero h1 br::after{content:" "}
 .hero-distance{margin-top:11px}
 .hero-more{margin-left:9px}
 .interest-inner{display:block}
 .consultation{margin-top:20px}
 .form-fields{grid-template-columns:1fr}
 .mobile-bar{grid-template-columns:1fr 1fr .85fr;background:var(--ink)}
 .mobile-bar a:nth-child(2){background:var(--yellow);color:var(--ink);border-color:var(--yellow);font-size:17px}
 .mobile-bar a:last-child{background:transparent;color:white;border-color:#8a9bb6;font-size:12px;line-height:1.15;text-align:center}
 .policy-page{padding-bottom:0}
}
