/* Functional and small-screen refinements; approved desktop design is retained. */
:focus-visible{outline:2px solid #e1ca8b;outline-offset:4px}
.site-links a{border:1px solid transparent}
.site-links a.active{border-color:#7b683b}
.head>div,.project-head>div,.gov-head>div,.section-title>div:last-child{min-width:0}
.photos{align-items:start}
.photos>img{height:auto!important;aspect-ratio:4/3;object-fit:cover!important}
.photos .thumb img{height:100%!important}
.major img{max-width:100%}
.poster img{height:auto!important}
#lb{background:rgba(3,5,8,.97);z-index:1000;padding:64px 62px 76px;flex-direction:column;overscroll-behavior:contain}
#lb .lb-stage{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}
#lb .lb-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border:1px solid rgba(201,173,104,.6)}
#lb .lb-control{position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid #74623a;border-radius:9px;background:#15191f;color:#f4ead1;cursor:pointer;font-family:inherit;font-size:15px;line-height:1}
#lb .lb-close{top:15px;right:16px;padding:12px 16px;gap:8px}
#lb .lb-prev,#lb .lb-next{top:50%;transform:translateY(-50%);width:44px;height:54px;font-size:34px}
#lb .lb-prev{left:10px}#lb .lb-next{right:10px}
#lb .lb-control:hover{background:#c9ad68;color:#090b0f}
#lb .lb-control[hidden]{display:none}
#lb .lb-caption{position:absolute;left:62px;right:62px;bottom:15px;text-align:center;color:#ddd7c9;font-size:14px;line-height:1.6}
#lb .lb-count{color:#e1ca8b;margin-left:12px;white-space:nowrap}
body.lb-open{overflow:hidden}
.contact-cta{scroll-margin-top:84px}
.service-links{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 6px}
.service-links a{border:1px solid #62583f;color:#e1ca8b;text-decoration:none;padding:10px 14px;border-radius:8px;background:#0c0f14}
.service-links a:hover{background:#c9ad68;color:#090b0f}
@media(max-width:760px){
 .head p,.project-head p,.gov-head p,.section-title p{line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}
 .section-title h2,.card h2,.project h3,.gov-card h3{word-break:keep-all;overflow-wrap:anywhere}
 #lb{padding:64px 12px 100px}
 #lb .lb-prev,#lb .lb-next{top:auto;bottom:46px;transform:none;height:38px;width:42px;font-size:28px}
 #lb .lb-prev{left:14px}#lb .lb-next{right:14px}
 #lb .lb-caption{left:62px;right:62px;bottom:21px;font-size:12px}
}
@media(max-width:500px){
 .sitebar-inner{gap:12px}.brand{gap:10px}.brand span{font-size:11px;letter-spacing:.6px}
 .site-links{gap:3px}.site-links a{font-size:13px}
 .hero h1{font-size:clamp(29px,8.4vw,38px);letter-spacing:-1px;word-break:keep-all;overflow-wrap:anywhere}
 .hero .hero-kicker{font-size:10px;letter-spacing:1.4px;line-height:1.8}
 .hero p{font-size:16px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
 .cert-badge{font-size:16px;padding:12px 14px;gap:8px}
 .hero .hero-actions{gap:8px}.hero .hero-actions a{font-size:13px;padding:12px 14px}
 .intro-copy,.intro-panel{padding:20px}.intro h2{font-size:27px;word-break:keep-all}
 .intro-panel{gap:9px}.service-chip{padding:14px}
 .section-title{padding:18px 14px;gap:12px}.section-title h2{font-size:23px}
 .section-title p{font-size:14px}.big-num{width:46px;height:46px;flex-basis:46px;font-size:28px}
 .project,.card,.gov-card{padding:16px}.project-head,.head,.gov-head{gap:10px}
 .project h3,.card h2,.gov-card h3{font-size:20px}.num{padding:8px;font-size:13px}
 .head p,.project-head p,.gov-head p{font-size:14px}.work-list{font-size:14px;padding:14px}
 .contact-buttons a{font-size:14px;padding:13px 14px}.contact-cta h2{word-break:keep-all}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

@media(max-width:760px){.intro p{word-break:keep-all;overflow-wrap:anywhere}}

/* Kakao consultation button in the existing bottom contact area. */
.contact-buttons.contact-with-kakao{display:grid;grid-template-columns:max-content max-content;flex-shrink:0;max-width:100%;align-items:stretch}
.contact-buttons .kakao-chat{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fee500;color:#191919}
.contact-buttons .kakao-chat svg{flex-shrink:0}
.contact-buttons .kakao-chat:hover{background:#f5dc00}
.contact-buttons.contact-with-kakao>a:last-child{justify-self:start}
@media(max-width:420px){
 .contact-buttons.contact-with-kakao{width:100%;grid-template-columns:minmax(0,1fr) auto}
 .contact-buttons.contact-with-kakao>a:first-child{white-space:normal;text-align:center;line-height:1.5}
}
