:root{--ink:#182320;--green:#263c35;--green-deep:#14221f;--muted:#79837e;--cream:#f5f4ef;--line:#dfe2db;--accent:#c48654;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);font-family:'DM Sans','Noto Sans KR',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.site-header{height:82px;padding:0 max(32px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #edf0eb}.brand{display:flex;align-items:center;gap:11px;min-width:180px}.brand>span:last-child{display:flex;flex-direction:column}.brand b{font-size:23px;font-weight:800;letter-spacing:-.08em;line-height:1}.brand small{font-size:8px;letter-spacing:.19em;color:#7d8982;margin-top:5px}.brand-mark{width:36px;height:36px;display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid #b9c2b8;border-radius:50%}.brand-mark i{height:19px;width:7px;border:1px solid #51685b;border-radius:7px;transform:rotate(-27deg)}.brand-mark i+ i{transform:rotate(27deg)}.main-nav{display:flex;gap:42px;font-size:13px;color:#48544d}.main-nav a:hover,.text-link:hover{color:var(--accent)}.header-cta{background:var(--green);color:#fff;padding:14px 20px;font-size:12px}.header-cta span{margin-left:14px}.menu-toggle{display:none}.hero{height:min(690px,calc(100vh - 110px));min-height:570px;position:relative;background:var(--green-deep);color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('assets/projects/market-counter.jpg') center 52%/cover no-repeat;opacity:.63;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,27,23,.94) 0%,rgba(18,34,29,.79) 42%,rgba(18,34,29,.12) 100%),linear-gradient(0deg,rgba(12,24,21,.28),transparent 52%)}.hero-content{position:relative;padding-top:122px}.eyebrow{font:600 10px 'DM Sans',sans-serif;letter-spacing:.2em;color:#d3d6cb;margin:0 0 25px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:23px;height:1px;background:var(--accent);display:inline-block}.eyebrow.dark{color:#79837e}.hero h1{font-size:clamp(44px,6vw,72px);line-height:1.28;letter-spacing:-.075em;margin:0;font-weight:600}.hero h1 em{color:#d59b6d;font-style:normal}.hero-copy{font-size:15px;line-height:1.9;color:#d4d9d4;margin:23px 0 35px}.hero-actions{display:flex;align-items:center;gap:28px}.button{border:0;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 21px;font:600 12px 'Noto Sans KR',sans-serif;cursor:pointer}.button span{font-size:17px}.button-light{background:#fff;color:var(--ink)}.text-link{font-size:12px;color:#e0e2dc}.text-link span{margin-left:13px;color:var(--accent)}.hero-caption{position:absolute;bottom:26px;left:max(32px,calc((100vw - 1160px)/2));right:max(32px,calc((100vw - 1160px)/2));display:flex;justify-content:space-between;font:10px 'DM Sans';letter-spacing:.16em;color:#d1d7cf}.hero-stamp{position:absolute;right:max(32px,calc((100vw - 1160px)/2));bottom:82px;border:1px solid #ffffff70;border-radius:50%;width:120px;height:120px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(9deg)}.hero-stamp span{font-size:24px;font-weight:800;letter-spacing:-.08em}.hero-stamp small{font-size:9px;line-height:1.5;text-align:center;color:#e5e4dc;margin-top:4px}.section-pad{padding:112px 0}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.intro h2,.section-heading h2,.location h2{font-size:42px;line-height:1.42;letter-spacing:-.07em;margin:0;font-weight:600}.intro-text{padding-top:38px}.intro-text>p:first-child{margin:0 0 27px;color:#58615b;font-size:15px;line-height:2}.under-link{font-size:12px;font-weight:700;border-bottom:1px solid #859088;padding-bottom:11px;display:inline-block}.under-link span{color:var(--accent);margin-left:18px}.edit-hint{font-size:11px!important;color:#8b938d!important;line-height:1.7!important;margin-top:16px!important}.values{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d6dad2;margin-top:74px;padding-top:29px;gap:36px}.values article>span{color:var(--accent);font:12px 'DM Sans';letter-spacing:.08em}.values h3{font-size:16px;margin:19px 0 9px;letter-spacing:-.04em}.values p{font-size:12px;line-height:1.8;color:#707a73;margin:0}.services{background:var(--green-deep);color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-heading h2{font-size:38px}.section-heading>p{font-size:12px;color:#a7b0a9;line-height:1.8;margin:0 0 4px}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}.service-card{grid-column:span 2}.service-card:nth-child(4){grid-column:2/4}.service-card:nth-child(5){grid-column:4/6}.service-card{position:relative;padding:27px 28px 31px;min-height:235px;background:#20332d;border:1px solid #34463f}.service-no{font:11px 'DM Sans';color:#bd8a61;letter-spacing:.1em}.service-icon{position:absolute;right:26px;top:26px;color:#a6b3a9;font-size:24px}.service-card h3{margin:45px 0 11px;font-size:18px;letter-spacing:-.05em}.service-card p{font-size:12px;color:#aeb8b0;line-height:1.8;margin:0}.service-card>a{position:absolute;right:26px;bottom:25px;color:#dfa878}.projects{background:#fff}.projects .section-heading>p{color:#77817a}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project-image{height:300px;position:relative;background-size:cover;background-position:center}.project-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,27,23,.25),transparent 45%)}.project-one{background-image:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1100&q=80')}.project-two{background-image:url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1100&q=80')}.project-image>span{position:absolute;z-index:1;top:18px;left:18px;color:#fff;border:1px solid #ffffff9c;padding:7px 10px;font:9px 'DM Sans';letter-spacing:.12em}.project-meta{padding:20px 2px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.project-meta small{font-size:10px;color:#818a83}.project-meta h3{font-size:16px;letter-spacing:-.04em;margin:7px 0 0}.project-meta>span{font-size:18px;color:var(--accent)}.projects .edit-hint{margin-top:12px!important}.contact{background:#1b3029;color:#fff}.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:12%;align-items:start}.contact h2{font-size:44px;line-height:1.4;letter-spacing:-.07em;margin:0}.contact-copy{font-size:13px;color:#bbc5bc;line-height:1.9;margin:18px 0 33px}.contact-placeholder{border-top:1px solid #4a5a52;border-bottom:1px solid #4a5a52;padding:16px 0;display:grid;grid-template-columns:90px 1fr;gap:5px 12px}.contact-placeholder span{font-size:11px;color:#bac2bb}.contact-placeholder b{font-size:14px}.contact-placeholder small{grid-column:2;font-size:10px;color:#91a097}.contact-form{display:flex;flex-direction:column;gap:17px;padding-top:12px}.contact-form>label:not(.consent){font-size:11px;color:#d5d9d3;display:flex;flex-direction:column;gap:8px}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;border:1px solid #46574f;background:#22372f;padding:13px;color:#fff;font:12px 'Noto Sans KR',sans-serif;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:#ca9468}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#84938a}.consent{display:flex;align-items:flex-start;gap:8px;color:#b9c3ba;font-size:10px;line-height:1.6}.consent input{accent-color:#c48654;margin-top:2px}.consent small{color:#84938a}.button-accent{background:#c48654;color:#fff;width:100%}.form-notice{font-size:10px;color:#9eada3;margin:-7px 0 0}.location{padding:78px 0;background:var(--cream)}.location-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center}.location h2{font-size:32px}.location-inner>div:first-child>p:not(.eyebrow){font-size:14px;margin:17px 0 6px}.location-inner small{font-size:10px;color:#838c85}.map-placeholder{height:190px;background:#e5e7df;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#899188}.map-placeholder span{font:600 10px 'DM Sans';letter-spacing:.2em;color:#a07a5c}.map-placeholder p{font-size:12px;line-height:1.8;text-align:center}.site-footer{background:#101c19;color:#c6cec7;padding:31px 0 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:23px;border-bottom:1px solid #304039}.brand-footer b{color:#fff}.brand-footer .brand-mark{border-color:#506158}.brand-footer .brand-mark i{border-color:#9eafa3}.brand-footer small{color:#91a098}.top-link{font-size:10px;color:#aab6ad}.footer-info{padding-top:16px}.footer-info p{font-size:10px;color:#9eaaa1;line-height:1.8;margin:4px 0}.footer-info p span{margin-left:13px}.copyright{margin-top:16px!important;font:9px 'DM Sans'!important;letter-spacing:.08em;color:#75857a!important}.copyright b{font:10px 'Noto Sans KR';letter-spacing:0;color:#b98c69;margin-left:12px}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:68px;padding:0 20px}.brand{min-width:0}.brand b{font-size:20px}.brand-mark{width:32px;height:32px}.header-cta{padding:11px 12px;font-size:10px}.header-cta span{margin-left:5px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:10px;margin-left:auto;margin-right:12px}.menu-toggle span{width:20px;height:1px;background:#304139}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 12px 18px #13221d18;flex-direction:column;gap:0}.main-nav.open{display:flex}.main-nav a{padding:14px 5px;border-bottom:1px solid #edf0eb}.hero{height:650px;min-height:0}.hero-photo{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(13,27,23,.9),rgba(18,34,29,.45)),linear-gradient(0deg,rgba(12,24,21,.38),transparent 60%)}.hero-content{padding-top:112px}.hero h1{font-size:48px}.hero-copy{font-size:13px}.hero-actions{align-items:flex-start;flex-direction:column;gap:19px}.button{padding:15px 17px}.hero-stamp{width:90px;height:90px;right:24px;bottom:75px}.hero-stamp span{font-size:20px}.hero-stamp small{font-size:8px}.hero-caption{left:20px;right:20px;font-size:8px}.section-pad{padding:76px 0}.intro-grid{grid-template-columns:1fr;gap:16px}.intro h2,.section-heading h2{font-size:34px}.intro-text{padding-top:0}.intro-text>p:first-child{font-size:13px}.values{margin-top:46px;grid-template-columns:1fr;gap:0}.values article{padding:18px 0;border-bottom:1px solid #d6dad2}.values h3{margin:8px 0 5px;font-size:14px}.values p br{display:none}.section-heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:28px}.section-heading>p{font-size:11px}.service-grid{grid-template-columns:1fr;gap:10px}.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto}.service-card{min-height:185px;padding:21px}.service-card h3{margin-top:30px;font-size:16px}.project-grid{grid-template-columns:1fr;gap:17px}.project-image{height:230px}.project-meta{padding:14px 2px}.contact-grid{grid-template-columns:1fr;gap:34px}.contact h2{font-size:38px}.contact-copy{font-size:12px}.contact-form{padding-top:0}.location{padding:61px 0}.location-inner{grid-template-columns:1fr;gap:24px}.map-placeholder{height:155px}.footer-info p span{display:block;margin:0}.footer-info p{font-size:9px}.copyright b{display:block;margin:5px 0 0}}
/* Keyboard and mobile access improvements */
:focus-visible{outline:3px solid #d89c6a;outline-offset:3px}
.skip-link{position:fixed;z-index:100;left:12px;top:8px;padding:10px 14px;background:#fff;color:#182320;transform:translateY(-150%);box-shadow:0 3px 16px #0002}
.skip-link:focus{transform:translateY(0)}
.mobile-contact{display:none}
@media(max-width:760px){
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .mobile-contact{display:flex;position:fixed;z-index:30;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));height:50px;align-items:center;justify-content:space-between;padding:0 18px;background:#c48654;color:#fff;font-size:13px;font-weight:700;box-shadow:0 4px 16px #1113}
  .mobile-contact span{font-size:18px}
  .site-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.phone-link{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;color:#fff}
.phone-link b{font-size:10px;color:#d9a579}
.footer-info a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Project gallery: authentic local work photos */
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.project-image{display:block;width:100%;height:235px;padding:0;border:0;background:#e7e9e2;cursor:zoom-in;text-align:left;overflow:hidden}
.project-image::after{pointer-events:none}
.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.project-image:hover img{transform:scale(1.035)}
.project-image>span{top:auto;left:14px;bottom:14px;padding:7px 9px;background:#182320aa;border:1px solid #ffffff88;color:#fff;font:9px 'DM Sans';letter-spacing:.1em}
.project-meta small{text-transform:uppercase;letter-spacing:.06em}
.photo-dialog{position:relative;width:min(1000px,calc(100% - 28px));max-width:1000px;max-height:calc(100dvh - 28px);padding:14px;background:#101c19;color:#fff;border:0}
.photo-dialog::backdrop{background:#07100edb}
.photo-dialog img{display:block;max-width:100%;max-height:calc(100dvh - 105px);margin:auto;object-fit:contain}
.photo-dialog p{margin:10px 48px 2px 4px;font-size:12px;color:#d5dbd6}
.photo-dialog-close{position:absolute;z-index:1;right:8px;top:8px;width:38px;height:38px;border:1px solid #ffffff66;background:#101c19e8;color:#fff;font-size:24px;cursor:pointer}
@media(max-width:760px){.project-grid{grid-template-columns:1fr;gap:15px}.project-image{height:230px}}
.gallery-note{margin:24px 0 0;color:var(--muted)}.gallery-note[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.project-image img{transition:none}}
/* Subtle IEUM watermark over gallery photos */
.project-image::before,.photo-dialog::before{content:'이음공사';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;white-space:nowrap;font-family:'Noto Sans KR',sans-serif;font-size:clamp(27px,4.2vw,44px);font-weight:800;letter-spacing:.12em;color:rgba(255,255,255,.48);text-shadow:0 2px 16px rgba(0,0,0,.42);pointer-events:none}
.project-image{position:relative}
.project-image::after{z-index:1}
.project-image img{position:relative;z-index:0}
.project-image>span{z-index:3}
.photo-dialog::before{font-size:clamp(32px,6vw,58px);color:rgba(255,255,255,.45)}
.photo-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;overflow:auto}
.map-link{display:inline-block;margin-top:9px;padding:11px 15px;background:#fff;color:#263c35;font-size:11px;font-weight:700}
.map-placeholder small{font-size:10px;color:#899188;margin-top:9px}
.location-inner>div:first-child>p:not(.eyebrow){line-height:1.7}
.location-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:31px}.location-heading h2{font-size:38px;line-height:1.4;letter-spacing:-.07em;margin:0;font-weight:600}.location-heading>p{margin:0;color:#65716a;font-size:13px;line-height:1.8;text-align:right}.location-heading>p strong{color:var(--ink)}.location-card{display:grid;grid-template-columns:1.55fr 1fr;min-height:370px;border:1px solid #e2e5df;background:#fff;box-shadow:0 14px 36px #17241d0a}.map-frame{position:relative;min-height:370px;background:#e8ece5}.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.map-credit{position:absolute;left:14px;bottom:14px;padding:9px 12px;background:#fff;color:#263c35;font-size:11px;font-weight:700;box-shadow:0 2px 10px #0002}.location-details{padding:48px 42px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.location-pin{width:38px;height:38px;border:1px solid #dce2d9;border-radius:50%;display:grid;place-items:center;color:#a56e42;font-size:21px}.location-label{margin:20px 0 8px;color:#8a938d;font:600 10px 'DM Sans';letter-spacing:.18em}.location-details h3{font-size:25px;letter-spacing:-.05em;margin:0 0 9px}.location-address{font-size:13px;line-height:1.8;color:#59655e;margin:0}.location-details .map-link{margin-top:23px;padding:14px 17px;background:var(--green);color:#fff;font-size:12px}.location-details .map-link span{margin-left:15px}.location-details small{margin-top:14px;color:#89928c;font-size:10px;line-height:1.7}.map-placeholder{display:none}
@media(max-width:700px){.location-heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:23px}.location-heading h2{font-size:34px}.location-heading>p{text-align:left;font-size:12px}.location-card{grid-template-columns:1fr}.map-frame{min-height:260px}.location-details{padding:28px 24px 30px}.location-pin{width:34px;height:34px}.location-label{margin-top:15px}.location-details h3{font-size:22px}.location-details .map-link{margin-top:18px}}
