:root{--navy:#0b2038;--green:#1b4e3b;--gold:#b99457;--cream:#f4f1ea;--line:#dedbd3;--text:#142234;--muted:#68717c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;background:#fff}body.menu-open{overflow:hidden}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);box-shadow:0 1px 0 rgba(0,0,0,.08)}.header-top{height:88px;display:flex;align-items:center;justify-content:center;position:relative}.brand img{display:block;width:245px;height:67px;object-fit:contain}.header-call{position:absolute;right:0;top:50%;transform:translateY(-50%);text-decoration:none;color:var(--navy);text-align:right}.header-call small{display:block;color:var(--gold);font-size:12px;letter-spacing:.12em}.header-call strong{font-family:Georgia,serif;font-size:24px}.main-nav{border-top:1px solid #ececec}.nav-inner{height:54px;display:flex;justify-content:center;align-items:stretch}.nav-inner a{position:relative;display:flex;align-items:center;padding:0 28px;text-decoration:none;color:#172233;font-weight:700;font-size:15px}.nav-inner a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:3px;background:var(--green);transition:.25s}.nav-inner a:hover::after,.nav-inner a.active::after{left:25%;right:25%}.menu-toggle{display:none}.hero{position:relative;height:min(650px,calc(100vh - 142px));min-height:480px;overflow:hidden;background:#14243a}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,17,31,.72),rgba(5,17,31,.13) 65%,rgba(5,17,31,.05))}.hero-copy{position:absolute;left:max(7vw,calc((100vw - 1180px)/2));top:50%;transform:translateY(-50%);color:#fff}.hero-copy p{font-family:Georgia,serif;letter-spacing:.28em;color:#dfc38f}.hero-copy h1{font-family:Georgia,"Noto Serif KR",serif;font-size:clamp(42px,5vw,70px);line-height:1.18;margin:18px 0}.hero-copy span{font-size:18px;letter-spacing:.08em}.section{padding:110px 0;scroll-margin-top:142px}.section.soft{background:var(--cream)}.section.dark{background:var(--navy)}.section-heading{text-align:center;margin-bottom:52px}.section-heading span,.gold-label{font-family:Georgia,serif;font-size:13px;letter-spacing:.28em;color:var(--gold);font-weight:700}.section-heading h2{font-family:Georgia,"Noto Serif KR",serif;font-size:44px;margin:13px 0 16px;color:var(--navy)}.section-heading p{margin:0;color:var(--muted);font-size:17px}.section-heading.light h2,.section-heading.light p{color:#fff}.project-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.eyebrow{color:var(--gold);font-weight:700}.project-copy h3{font-family:Georgia,"Noto Serif KR",serif;font-size:32px;line-height:1.45;margin:12px 0 30px}.info-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);margin:0}.info-grid div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.info-grid dt{font-size:12px;color:#8a8f95;margin-bottom:9px}.info-grid dd{font-size:15px;font-weight:700;margin:0;line-height:1.5}.info-grid a{color:var(--green)}.image-button{display:block;border:0;padding:0;background:none;cursor:zoom-in;width:100%}.image-button img{display:block;width:100%;height:auto}.project-grid>.image-button img{border-radius:3px}.content-image{max-width:1100px;margin:auto;box-shadow:0 22px 55px rgba(17,32,48,.14)}.tabs{text-align:center}.tab-list{display:flex;justify-content:center;gap:8px;margin-bottom:34px}.tab-list button{border:1px solid #d8dce1;background:#fff;color:#4c5663;padding:15px 30px;min-width:145px;font-weight:700;font-size:15px;cursor:pointer;transition:.2s}.tab-list button.active{background:var(--navy);border-color:var(--navy);color:#fff}.tab-panel{display:none}.tab-panel.active{display:block}.tab-panels{max-width:1100px;margin:auto}.unit-stage{max-width:820px;margin:auto}.interior-stage{max-width:1040px;margin:auto}.unit-stage img,.interior-stage img{max-height:1000px;object-fit:contain}.contact{background:linear-gradient(120deg,#102942,#173d35);color:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.contact h2{font-family:Georgia,"Noto Serif KR",serif;font-size:48px;margin:16px 0}.contact p{color:#d6dde2}.big-call{display:inline-block;margin-top:20px;color:#dfc38f;text-decoration:none;font:700 43px Georgia,serif}form{background:#fff;padding:40px;color:var(--text)}form label{display:block;font-weight:700;font-size:14px;margin-bottom:18px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #ccd1d5;padding:13px 2px;margin-top:8px;font:inherit;outline:none;resize:vertical}input:focus,textarea:focus{border-color:var(--gold)}.privacy{display:flex;align-items:center!important;font-weight:400!important;color:#666}.privacy input{display:inline-block;width:auto;margin:0 8px 0 0}form button[type=submit]{width:100%;border:0;background:var(--green);color:#fff;padding:17px;font-weight:800;font-size:16px;cursor:pointer}footer{background:#071521;color:#aeb7bf;padding:55px 0 80px;text-align:center;font-size:13px;line-height:1.7}footer img{width:180px;height:54px;object-fit:contain;background:#fff;padding:7px;margin-bottom:12px}footer small{display:block;max-width:900px;margin:14px auto 0;color:#788692}.mobile-call{display:none}.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:60px 30px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}.lightbox-close{position:absolute;top:15px;right:24px;border:0;background:none;color:#fff;font-size:45px;cursor:pointer}.reveal{opacity:0;transform:translateY(25px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:860px){.wrap{width:min(100% - 32px,1180px)}.header-top{height:68px;justify-content:flex-start}.brand img{width:180px;height:52px}.header-call{display:none}.menu-toggle{display:flex;position:absolute;right:0;border:0;background:none;width:42px;height:42px;flex-direction:column;justify-content:center;gap:6px}.menu-toggle span{width:24px;height:2px;background:var(--navy);margin:auto}.main-nav{position:fixed;top:68px;left:0;right:0;max-height:0;overflow:hidden;border:0;background:#fff;transition:max-height .3s;box-shadow:0 10px 20px rgba(0,0,0,.1)}.main-nav.open{max-height:430px}.nav-inner{width:100%;height:auto;display:block;padding:8px 22px 20px}.nav-inner a{height:49px;border-bottom:1px solid #eee;padding:0 8px}.nav-inner a::after{display:none}.hero{height:520px;min-height:0}.hero>img{object-position:62% center}.hero-copy{left:24px;right:24px;top:auto;bottom:50px;transform:none}.hero-copy h1{font-size:40px}.hero-copy span{font-size:14px}.section{padding:78px 0;scroll-margin-top:68px}.section-heading{margin-bottom:36px}.section-heading h2{font-size:35px}.section-heading p{font-size:15px;line-height:1.7}.project-grid,.contact-grid{grid-template-columns:1fr;gap:36px}.project-copy h3{font-size:26px}.info-grid{grid-template-columns:1fr}.tab-list{justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.tab-list button{min-width:112px;padding:13px 18px;white-space:nowrap}.contact h2{font-size:38px}.big-call{font-size:34px}form{padding:28px 22px}.mobile-call{display:block;position:fixed;z-index:200;left:0;right:0;bottom:0;background:var(--green);color:#fff;text-align:center;text-decoration:none;padding:14px;box-shadow:0 -3px 12px rgba(0,0,0,.18)}footer{padding-bottom:100px}}
@media(max-width:480px){.hero{height:460px}.hero-copy h1{font-size:33px}.hero-copy p{font-size:11px}.section{padding:62px 0}.section-heading h2{font-size:31px}.project-copy h3{font-size:23px}.info-grid div{padding:15px}.tab-list button{min-width:98px}.contact-grid{gap:28px}.big-call{font-size:31px}}

/* Navigation underline: avoid a collapsed pseudo-element leaving a 1px dot. */
@media(min-width:861px){
  .nav-inner a::after{left:50%;right:auto;width:0;transform:translateX(-50%);transition:width .25s ease}
  .nav-inner a:hover::after{left:50%;right:auto;width:50%}
  .nav-inner a.active:not(:hover)::after{left:50%;right:auto;width:0}
  .nav-inner a:focus:not(:focus-visible){outline:0}
}

footer img{width:230px;height:auto;object-fit:contain;background:transparent;padding:0;margin-bottom:18px}
