@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&family=Pretendard:wght@400;500;600;700&display=swap');

:root { --ink:#14232b; --pine:#1c554e; --mint:#b9d7c8; --cream:#f6f3ec; --gold:#b78a45; --line:#dbe4de; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Pretendard,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.wrap { width:min(1120px, calc(100% - 40px)); margin:auto; }
.eyebrow { margin:0 0 13px; color:var(--gold); font-size:.73rem; letter-spacing:.18em; font-weight:700; text-transform:uppercase; }
.section-title { margin:0; font:800 clamp(1.9rem,4vw,3.1rem)/1.25 'Nanum Myeongjo',serif; letter-spacing:-.06em; }
.section-copy { color:#58645e; line-height:1.8; }

.site-header { position:absolute; inset:0 0 auto; z-index:5; color:#fff; border-bottom:1px solid rgba(255,255,255,.25); }
.nav { height:78px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:10px; font:700 1.28rem 'Nanum Myeongjo',serif; }
.cross { position:relative; display:block; width:21px; height:29px; }
.cross::before,.cross::after { content:''; position:absolute; background:#f6d59a; border-radius:1px; }
.cross::before { width:4px; height:29px; left:9px; }.cross::after { width:21px; height:4px; top:9px; }
.nav-links { display:flex; gap:29px; font-size:.92rem; }.nav-links a { opacity:.92; }.nav-links a:hover { color:#f6d59a; }

.hero { min-height:730px; position:relative; color:#fff; display:grid; align-items:end; overflow:hidden; background:#1c554e; }
.hero::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,29,32,.82) 0%,rgba(12,38,39,.46) 43%,rgba(11,38,42,.08) 100%),linear-gradient(0deg,rgba(9,28,30,.42),transparent 45%); z-index:1; }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; animation:slow-zoom 16s ease-out forwards; }
@keyframes slow-zoom { from { transform:scale(1); } to { transform:scale(1.055); } }
.hero-content { position:relative; z-index:2; padding:0 0 100px; max-width:720px; }
.hero h1 { margin:0; font:800 clamp(2.7rem,6.4vw,5.6rem)/1.14 'Nanum Myeongjo',serif; letter-spacing:-.08em; text-shadow:0 2px 18px rgba(0,0,0,.18); }
.hero h1 span { display:block; color:#f5d18d; font-size:.39em; letter-spacing:-.02em; margin:15px 0 0 5px; }
.hero p { max-width:530px; margin:29px 0; font-size:1.05rem; line-height:1.8; color:#f1f5f1; }
.hero-actions { display:flex; flex-wrap:wrap; gap:11px; }.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 21px; border:1px solid transparent; font-weight:600; font-size:.9rem; transition:.2s; }.button.primary { background:#f3d49b; color:#183931; }.button.secondary { border-color:rgba(255,255,255,.65); color:#fff; }.button:hover { transform:translateY(-2px); }
.scroll { position:absolute; bottom:25px; right:max(20px,calc((100vw - 1120px)/2)); z-index:2; font-size:.72rem; letter-spacing:.18em; writing-mode:vertical-rl; opacity:.75; }

.vision { background:#fff; padding:96px 0; }.vision-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:90px; align-items:center; }.vision-message { padding-left:28px; border-left:2px solid var(--gold); font:700 clamp(1.65rem,3vw,2.55rem)/1.55 'Nanum Myeongjo',serif; letter-spacing:-.06em; }.vision-message em { display:block; margin-top:12px; color:var(--pine); font:500 .9rem Pretendard,sans-serif; letter-spacing:.08em; }
.slogan { background:var(--pine); color:#fff; padding:88px 0; text-align:center; }.slogan .eyebrow { color:#f2d49d; }.slogan h2 { margin:0; font:800 clamp(2rem,4vw,3.45rem)/1.38 'Nanum Myeongjo',serif; letter-spacing:-.08em; }.slogan p { margin:23px auto 0; max-width:670px; color:#dceae3; line-height:1.9; }

.quick { padding:102px 0; }.quick-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:33px; }.quick-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.quick-card { min-height:310px; position:relative; overflow:hidden; padding:28px; color:#fff; display:flex; flex-direction:column; justify-content:end; background:#2b4e4a; isolation:isolate; }.quick-card::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(12,31,29,.86),rgba(15,50,47,.04)); }.quick-card img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform .5s; }.quick-card:hover img { transform:scale(1.06); }.quick-card h3 { margin:0 0 10px; font:800 1.55rem 'Nanum Myeongjo',serif; }.quick-card p { margin:0; line-height:1.65; color:#edf2ee; }.quick-card .arrow { margin-top:25px; color:#f2d49d; font-size:1.3rem; }
.quick-card.plain { background:#e5eee8; color:var(--ink); }.quick-card.plain::before { display:none; }.quick-card.plain p { color:#53605a; }.quick-card.plain .icon { color:var(--gold); font-size:2.4rem; margin-bottom:auto; }.quick-card.plain .arrow { color:var(--pine); }

.about { background:#e8efe9; padding:100px 0; }.about-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:65px; align-items:center; }.about-photo { width:100%; min-height:390px; object-fit:cover; }.about .section-copy { max-width:495px; }.team { border-top:1px solid #b9c9bf; margin-top:25px; padding-top:16px; display:grid; grid-template-columns:105px 1fr; row-gap:10px; font-size:.92rem; line-height:1.55; }.team strong { color:var(--pine); }
.visit { padding:95px 0; background:#fff; }.visit-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }.visit-card { padding:37px; background:var(--cream); border:1px solid var(--line); }.visit-card h3 { margin:0 0 20px; font:800 1.6rem 'Nanum Myeongjo',serif; }.visit-card p { line-height:1.8; color:#56615c; }.map-link { display:inline-block; margin-top:10px; color:var(--pine); font-weight:700; border-bottom:1px solid var(--pine); }
.site-footer { padding:33px 0; color:#dfe8e3; background:#173530; font-size:.82rem; }.footer-inner { display:flex; justify-content:space-between; gap:20px; }.footer-inner p { margin:0; line-height:1.65; }

@media (max-width:760px) { .nav { height:66px; }.nav-links { display:none; }.hero { min-height:650px; }.hero-content { padding-bottom:80px; }.scroll { display:none; }.vision,.quick,.about,.visit { padding:68px 0; }.vision-grid,.about-grid,.visit-grid { grid-template-columns:1fr; gap:34px; }.vision-message { padding-left:20px; }.quick-head { display:block; }.quick-head .section-copy { margin-top:14px; }.quick-grid { grid-template-columns:1fr; }.quick-card { min-height:250px; }.about-photo { min-height:270px; }.visit-card { padding:27px; }.footer-inner { display:block; }.footer-inner p + p { margin-top:9px; } }
