/* Shared layout guards and touch targets for narrow screens. */
header nav,header nav>*{min-width:0}
header .nav-dropdown a{min-height:44px}
header summary:focus-visible{outline:3px solid var(--green);outline-offset:4px;border-radius:4px}
header .nav-dropdown a[aria-current="page"]{background:#edf3e5;color:var(--green);font-weight:600}
#quote-feedback,.copy-fallback textarea{overflow-wrap:anywhere}
.contact>*{min-width:0}
@media(max-width:750px){
  header nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;align-items:stretch}
  header nav>a,header nav>a:first-child,header .nav-category summary{display:flex;justify-content:center;align-items:center;text-align:center;white-space:normal;min-height:44px;line-height:1.5}
  header .nav-category summary{padding:8px 1px}
  #quote-form input,#quote-form select,#quote-form textarea{font-size:16px}
  #quote-form .button{min-height:46px;max-width:100%}
  #quote-form .copy-quote-button{margin-left:0;margin-right:0}
  .tabs button{min-height:46px}
}
/* Keep Korean words together; let mobile sections grow with their content. */
h1,h2,h3,p,li,td,th{word-break:keep-all;overflow-wrap:break-word}
@media(max-width:750px){
  header nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px}
  header nav>a,header nav>a:first-child,header .nav-category summary{white-space:nowrap;word-break:keep-all;min-height:44px;font-size:12px}
  header .nav-category summary{gap:5px;padding-inline:0}
  .nav-dropdown{left:50%;transform:translateX(-50%)}
  .nav-category:last-of-type .nav-dropdown{left:auto;right:-20px;transform:none}
  .hero{height:auto;max-height:none;min-height:760px}
  .hero-content{padding:245px 7% 100px}
  .hero h1{font-size:clamp(30px,8.5vw,44px);line-height:1.4;letter-spacing:-.055em;word-break:keep-all}
  .hero-copy{font-size:15px;line-height:1.9}
  .hero-copy br{display:none}
  .hero-content>.button{max-width:100%;gap:20px;padding:17px 19px;font-size:13px;line-height:1.6}
  .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;padding:0 7% 28px;gap:20px;align-items:flex-end}
  .hero-bottom span{max-width:52%;line-height:1.8}
  .hero-bottom a{line-height:1.8;text-align:right}
  .steps{grid-template-columns:1fr;gap:25px}
  .steps article{padding-top:20px}
  .steps h3{margin:16px 0 12px;font-size:21px}
  .steps p{font-size:14px;line-height:1.9;margin-bottom:0}
  .steps p br{display:none}
  .service-process{grid-template-columns:1fr}
  .service-process p{font-size:14px;line-height:1.9}
  .intro-copy p br,.promise-values p br{display:none}
}
@media(max-width:380px){
  header nav{column-gap:13px}
  header nav>a,header nav>a:first-child,header .nav-category summary{font-size:11px}
  .hero-content{padding-top:245px}
  .hero h1{font-size:30px}
}
/* Five compact, unbroken menu labels on one mobile row. */
@media(max-width:750px){
  header nav{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:0;align-items:stretch}
  header nav>a,header nav>a:first-child,header .nav-category summary{font-size:11px;letter-spacing:-.065em;white-space:nowrap;min-height:44px}
  header .nav-category summary{gap:2px;padding-inline:0}
  header .nav-category summary:after{font-size:9px}
}
@media(max-width:360px){
  header{padding-inline:10px}
  header nav>a,header nav>a:first-child,header .nav-category summary{font-size:10px}
}

/* Footer channels share the same URLs and icons across public pages. */
footer .social-channels{flex:0 0 100%;display:flex;align-items:center;gap:24px;border-top:1px solid #dce2d8;padding-top:24px;margin-top:2px}
footer .social-caption{font-size:12px;color:var(--muted);white-space:nowrap;letter-spacing:-.02em}
footer .social-icons{display:flex;align-items:center;gap:12px}
footer .social-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d3dfd6;border-radius:50%;background:#f4f7ef;flex-shrink:0}
footer .social-icon img{width:22px;height:22px;display:block}
footer .social-icon.is-pending{opacity:.7;cursor:default}
footer a.social-icon:hover{background:var(--lime);border-color:var(--green)}
footer a.social-icon:focus-visible{outline:3px solid var(--green);outline-offset:4px}
@media(max-width:420px){footer .social-channels{gap:16px;flex-wrap:wrap}footer .social-icons{gap:10px}}
footer.wrap{flex-wrap:wrap}
