*{box-sizing:border-box}body{margin:0;background:#f3f6f8;color:#192d38;font:16px/1.68 system-ui,-apple-system,"Malgun Gothic",sans-serif}a{color:inherit;text-decoration:none}header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border-bottom:1px solid #dce5e8;padding:15px max(18px,calc((100vw - 1100px)/2))}.logo{font-weight:900;color:#13687b;white-space:nowrap;font-size:21px}.logo span{color:#223845}nav{display:flex;gap:15px;font-weight:650;font-size:14px}main{min-height:65vh}.hero{background:linear-gradient(125deg,#173e52,#117985);color:#fff;padding:70px 20px}.container{max-width:1100px;margin:auto}.hero h1{font-size:clamp(30px,4.8vw,52px);line-height:1.24;margin:10px 0 16px}.eyebrow{color:#a5f3e6;font-weight:800}.hero p{max-width:770px;font-size:18px}.section{max-width:1100px;margin:0 auto;padding:40px 20px}.section h2{font-size:27px;margin:0 0 8px}.muted{color:#536b77}.panel,.card,.article{background:white;border:1px solid #dde7eb;border-radius:16px;box-shadow:0 4px 20px #173f4e0d}.panel{padding:23px}.selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-weight:750}select{font:inherit;width:100%;min-width:0;background:#fff;border:1px solid #bfcdd4;border-radius:10px;padding:12px}.primary,.action{display:inline-block;background:#f0bd61;color:#203441;padding:13px 18px;border-radius:11px;font-weight:900;text-align:center}.primary{border:0;cursor:pointer;margin-top:18px}.preview{padding:12px 14px;background:#eaf5f5;border-radius:10px;margin-top:16px;font-size:14px;overflow-wrap:anywhere}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.card{padding:21px}.card h3{margin:0 0 9px;font-size:19px}.card p{color:#546975;margin:0 0 15px}.card a,.links a{color:#096c81;font-weight:800}.article{max-width:850px;margin:25px auto;padding:36px}.article h1{font-size:clamp(26px,4vw,38px);line-height:1.3}.article h2{font-size:22px;margin:32px 0 10px}.article ol,.article ul{padding-left:23px}.notice{background:#edf6f6;border-left:4px solid #0b8491;padding:16px;border-radius:8px}.crumb{font-size:13px;color:#647c88}.links{display:flex;flex-wrap:wrap;gap:9px}.links a{font-size:14px;padding:7px 10px;background:#e9f1f3;border-radius:8px}.small{font-size:13px;color:#526674}.disabled{background:#e6ebed;padding:12px;border-radius:10px}footer{padding:35px 20px 75px;background:#193747;color:#e7eef2}footer p{max-width:1100px;margin:6px auto;font-size:13px}footer strong{display:block;max-width:1100px;margin:auto}.float{position:fixed;bottom:17px;right:17px;z-index:11;box-shadow:0 5px 20px #0002;border-radius:11px}@media(max-width:700px){header{padding:12px 14px;display:block}nav{justify-content:space-between;margin-top:5px;font-size:12px;gap:5px}.hero{padding:46px 19px}.hero p{font-size:15px}.selectors{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.article{margin:13px;padding:20px}.section{padding:30px 16px}.float{right:12px;bottom:12px}}
:root{--blue:#07529b;--navy:#08294b;--gold:#f5bc3c;--paper:#f4f8fc}
body{background:#f6f9fc;color:#0d2845}
header{max-width:none;padding:14px max(18px,calc((100vw - 1270px)/2));box-shadow:0 2px 14px #05284b0c}
.logo{font-size:24px;color:#062a4e;letter-spacing:-.7px}.logo span{color:#092d56}
.logo:before{content:'◈';display:inline-grid;place-items:center;width:38px;height:38px;margin-right:9px;border:3px solid #168bd1;border-radius:13px;color:#147cb6}
nav a:hover,.card a:hover{color:#0d7bca}
.hero{position:relative;padding:78px 20px 102px;min-height:415px;background:linear-gradient(90deg,#075e83 0%,#076fa4 44%,#0a5284 65%,#154267 100%);overflow:hidden}
.hero:before{content:'';position:absolute;inset:0 0 0 56%;background:url('/assets/hero-bathroom.jpg') center center/cover no-repeat;opacity:.9}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,73,108,.06) 0%,rgba(0,75,125,.16) 52%,rgba(0,48,85,.03) 100%)}
.hero .container{position:relative;z-index:1;max-width:1270px}
.hero h1{font-size:clamp(37px,5vw,66px);font-weight:950;letter-spacing:-2px;color:#fff;text-shadow:0 2px 9px #012d4470}
.hero p{font-size:19px;max-width:670px;line-height:1.55;text-shadow:0 1px 4px #002c4980}
.hero .eyebrow{font-size:12px;letter-spacing:4px;color:#cfefff}
.hero .hero-icons{display:flex;gap:28px;margin-top:26px;font-weight:800;font-size:15px}
.hero .hero-icons span{display:inline-flex;align-items:center;gap:8px}
.hero .hero-icons b{font-size:24px}
.section{max-width:1270px;padding:42px 20px}
#finder{margin-top:-44px;position:relative;z-index:2;padding-top:0}
#finder h2{display:none}
#finder>.muted{display:none}
#finder .panel{box-shadow:0 15px 35px #0b37622b;border-radius:22px;padding:24px 27px;border:1px solid #dae4ef}
.selectors{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.field{font-size:14px;color:#102f52}
select{border-color:#cbd7e4;color:#243f5f;background:#fff;padding:13px 12px}
.preview{background:#eff6ff;color:#254c73;margin-top:16px;font-size:13px}
.primary{background:linear-gradient(180deg,#ffce53,#df9e1e);color:#172a42;box-shadow:0 3px 10px #ad81203d}
#services{padding-top:18px}
#services h2{color:#092e56;font-size:32px;letter-spacing:-.6px}
.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.card{padding:0;overflow:hidden;border-radius:14px;box-shadow:none}
.card .service-photo{display:block;width:100%;height:132px;object-fit:cover;background:#dfe9f0}
.card .card-body{padding:15px}
.card h3{font-size:16px;margin-bottom:7px;color:#082950}
.card p{font-size:13px;line-height:1.45;min-height:38px}
.card a{font-size:13px;color:#125ca1}
.article{box-shadow:0 8px 35px #16477312}
.article h1,.article h2{color:#0b335c}.notice{background:#ebf4ff;border-left-color:#2875c7}
.links a{background:#e9f2ff;color:#125b9b}
footer{background:#0a2946}
.float .disabled{display:none}
@media(max-width:950px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero:before{inset:0 0 0 45%;opacity:.48}.hero p{max-width:610px}.hero .hero-icons{flex-wrap:wrap}}
@media(max-width:700px){header{padding:10px 16px}.logo{font-size:21px}.logo:before{height:30px;width:30px}nav{margin-top:8px}.hero{min-height:410px;padding:53px 17px 90px}.hero:before{inset:0;opacity:.25}.hero h1{font-size:38px;letter-spacing:-1.2px}.hero p{font-size:15px}.hero .hero-icons{gap:12px;font-size:12px}#finder{margin-top:-44px;padding-left:15px;padding-right:15px}#finder .panel{padding:18px}.selectors{grid-template-columns:1fr;gap:10px}.section{padding:30px 15px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card .service-photo{height:115px}.card .card-body{padding:12px}.card h3{font-size:14px}.card p{font-size:12px;min-height:52px}#services h2{font-size:25px}.article{padding:20px}}
@media(max-width:360px){.cards{grid-template-columns:1fr}}

/* v6: 실제 설정한 전화번호 상단/모바일/하단 상시 표시 */
.header-actions{display:flex;align-items:center;gap:24px}
.header-cta{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;background:linear-gradient(125deg,#097ab4,#043c83);color:#fff;padding:9px 16px;border-radius:14px;line-height:1.15;box-shadow:0 4px 11px #194c7626}
.header-cta:hover,.header-cta:focus-visible{color:#fff;background:#053e7c}
.header-cta [aria-hidden]{font-size:22px}
.header-cta small{display:block;font-size:11px;opacity:.95;font-weight:650}
.header-cta strong{display:block;font-size:15px;font-weight:850;letter-spacing:-.15px}
.float .action{background:linear-gradient(125deg,#f9ca55,#e4a524);color:#082f56;white-space:nowrap}
.footer-phone{color:#fff;text-decoration:underline;text-underline-offset:3px;font-size:16px;font-weight:800}
@media(max-width:950px){header{gap:8px}.header-actions{gap:13px}.header-cta{padding:9px 12px}.header-cta strong{font-size:13px}nav{gap:10px;font-size:12px}}
@media(max-width:700px){header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.header-actions{display:contents}.logo{font-size:19px;order:1}.header-cta{order:2;padding:8px 10px;gap:5px;border-radius:10px}.header-cta [aria-hidden]{font-size:17px}.header-cta small{font-size:9px}.header-cta strong{font-size:12px}header nav{order:3;width:100%;display:flex;justify-content:space-around;margin:0;padding-top:6px;border-top:1px solid #e3ebf4}.float{left:12px;right:12px;bottom:10px}.float .action{display:block;padding:10px;font-size:15px;box-shadow:0 5px 22px #053a6255}body{padding-bottom:52px}}
@media(max-width:365px){.header-cta small{display:none}.logo{font-size:16px}.logo:before{width:25px;height:25px;margin-right:5px}.header-cta strong{font-size:11px}}

/* v10: only the toilet repair homepage thumbnail uses a complete 16:9 site photo.
   Original vertical before/during/after photos are untouched in service galleries. */
.card[data-service="toilet-repair"] .service-photo { object-fit:contain; object-position:center center; background:#e8eff6; }

.photo-source{display:block;font-size:11px;font-weight:650;color:#5a6c7a;margin-bottom:6px}
.owner-added{margin-top:24px;padding:16px;background:#f6faff;border:1px solid #dbe9f6;border-radius:13px;white-space:pre-line}
.expert-note{margin:26px 0 18px;padding:22px;border:1px solid #dae6f0;border-radius:16px;background:#f8fbff}.expert-note h2{margin:24px 0 12px}.expert-note h2:first-child{margin-top:0}.expert-note p,.expert-note li{line-height:1.85}.expert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.expert-grid>div{border-radius:12px;background:#fff;padding:16px;border:1px solid #e1e9f0}.expert-grid h3{font-size:17px;margin:0 0 10px;color:#133b60}.expert-grid p{margin:0}.expert-note details{background:white;border:1px solid #dae6f0;border-radius:10px;margin:9px 0;padding:12px}.expert-note details summary{font-weight:700;cursor:pointer;color:#12385e}.expert-note details p{margin:12px 0 0}@media(max-width:780px){.expert-grid{grid-template-columns:1fr}.expert-note{padding:15px}.expert-grid>div{padding:14px}}
.real-case-photo{margin:20px 0}.real-case-photo img{width:100%;max-width:650px;height:auto;border-radius:12px}.real-case-photo figcaption{font-size:12px;color:#54677b;margin-top:8px}
.process-gallery{margin:30px 0 34px}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.process-card{margin:0;border:1px solid #dde8f2;border-radius:14px;overflow:hidden;background:#f7fafc}.process-card img{display:block;width:100%;height:320px;object-fit:contain;background:#e8edf2}.process-card figcaption{padding:12px;font-size:13px;line-height:1.6}.process-card figcaption strong{display:block;font-size:15px;color:#113f66}.process-card figcaption span{display:block;color:#48586d;margin-top:3px}
@media(max-width:750px){.process-grid{grid-template-columns:1fr}.process-card img{height:340px}}
.case-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0 28px}
.case-tile{display:block;overflow:hidden;border:1px solid #dce7f1;border-radius:15px;background:#fff;transition:box-shadow .12s}
.case-tile:hover{box-shadow:0 6px 20px #092f5325}
.case-tile img{display:block;width:100%;height:172px;object-fit:cover;background:#e8eff5}
.case-tile .case-info{padding:12px 13px}.case-info strong{display:block;color:#0b345d;font-size:14px;line-height:1.4}
.case-info small{display:block;color:#506476;font-size:12px;margin-top:5px}
.case-intro{background:#eff6fd;border-left:4px solid #2479b9;border-radius:10px;padding:14px 16px;color:#254765;margin:22px 0}
.case-stage{font-size:13px;color:#32577a;font-weight:800;margin:12px 0 7px}
.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:19px 0 26px}
.case-gallery figure{margin:0;border:1px solid #dce7f1;border-radius:12px;overflow:hidden;background:#fff}
.case-gallery img{display:block;width:100%;height:310px;object-fit:contain;background:#e8eff5}
.case-gallery figcaption{font-size:13px;color:#233f5c;padding:10px 12px;line-height:1.5}
.case-gallery figcaption b{color:#0a549a}
.case-link{color:#0757a6;text-decoration:underline;text-underline-offset:3px;font-weight:750}
.case-links{margin:16px 0}
@media(max-width:1000px){.case-directory{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.case-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.case-tile img{height:125px}.case-gallery{grid-template-columns:1fr}.case-gallery img{height:auto;max-height:540px}.case-info strong{font-size:12px}.case-info small{font-size:11px}}
@media(max-width:360px){.case-directory{grid-template-columns:1fr}}


.footer-inner{max-width:1270px;margin:auto}
footer .footer-inner strong, footer .footer-inner p{max-width:none}
.directory{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}
.directory a{font-size:13px;padding:6px 10px;background:#e9f2ff;color:#105b98;border-radius:8px;border:1px solid #d9e8f7}
.directory a:hover{background:#d7e9fe}
.article .check-list{padding-left:22px}
.article .note{background:#f4f8fb;border:1px solid #deebf5;border-radius:12px;padding:14px 16px;color:#284662}
.mini-heading{margin-top:24px;font-weight:800;color:#073f72}
.preview{overflow-wrap:anywhere}
.service-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap}
.cat-filter{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 8px}
.cat-filter button{border:1px solid #c9d7e8;background:#fff;color:#164b7c;font:inherit;font-size:12px;font-weight:800;border-radius:999px;padding:7px 12px;cursor:pointer}
.cat-filter button[aria-pressed=true]{background:#0a579b;color:#fff;border-color:#0a579b}
.card[data-hidden="true"]{display:none}
.panel .field input{width:100%;padding:10px;font:inherit}
.eyebrow{letter-spacing:2px}
.region-count{color:#174872;font-weight:750;font-size:14px}
.region-notice{font-size:13px;color:#49617c}
.article summary{font-weight:750;cursor:pointer}
.article details{padding:11px 15px;background:#f3f7fc;border:1px solid #e0eaf5;border-radius:11px;margin-bottom:10px}
@media(max-width:700px){.service-heading{display:block}.hero h1{font-size:clamp(30px,9vw,40px)}.cards{gap:9px}.cat-filter{gap:6px}.article .note{padding:12px}}


/* v11.1: Compact and responsive job photographs, preventing oversized images */
html,body{max-width:100%;overflow-x:clip}
.article{width:min(850px,calc(100% - 28px));min-width:0;overflow-wrap:break-word}
.article img{max-width:100%}
.process-gallery,.case-gallery,.case-directory{max-width:100%;min-width:0}
.process-grid,.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.process-card,.case-gallery figure{min-width:0;max-width:100%;margin:0;overflow:hidden}
.process-card .photo-zoom,.case-gallery .photo-zoom{display:block;width:100%;max-width:100%;line-height:0;cursor:zoom-in}
.process-card img,.case-gallery img{display:block;width:100%;max-width:100%;height:220px;max-height:220px;object-fit:contain;object-position:center;background:#eef3f8}
.photo-zoom:focus-visible{outline:3px solid #1976bf;outline-offset:-3px}
.photo-zoom:hover img{background:#e4eff8}
.case-directory .case-tile{min-width:0;max-width:100%}
.case-directory .case-tile img{max-width:100%;width:100%;height:155px;object-fit:cover}
@media(max-width:700px){
  .article{width:calc(100% - 20px);max-width:100%;margin:12px auto;padding:18px}
  .process-grid,.case-gallery{grid-template-columns:minmax(0,1fr);gap:14px}
  .process-card img,.case-gallery img{height:260px;max-height:260px}
  .case-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-directory .case-tile img{height:130px}
}
@media(max-width:380px){.process-card img,.case-gallery img{height:235px;max-height:235px}}

