/* PPT 02: actual unresolved defects, loaded after earlier corrections. */
/* Original sub.css gives every h2 width:0 and height:0. Reset content headings. */
.odor-intro h2,.dredging-intro h2,.fee-hero h2{display:block;width:auto;height:auto;overflow:visible;text-align:center;margin:0;color:#fff}
/* Keep original artwork above/below the editable dredging text. */
.dredging-poster{background:#172526;overflow:hidden}
.dredging-poster-top{aspect-ratio:1000/345;background:url('../images/sub2/dredging_img1.jpg') center top/100% auto no-repeat}
.dredging-poster .dredging-intro{padding:10px 8px;background:linear-gradient(#0009,#0009),url('../images/sub2/dredging_img1.jpg') center 40%/100% auto no-repeat}
.dredging-poster-bottom{aspect-ratio:1000/620;background:url('../images/sub2/dredging_img1.jpg') center bottom/100% auto no-repeat}
.dredging-poster .dredging-intro h2{font-size:clamp(23px,4.6vw,48px);font-weight:800;line-height:1.15;letter-spacing:-.8px}
.dredging-poster .dredging-intro p{font-size:clamp(10px,2.3vw,22px);margin-top:8px;line-height:1.3}
/* Fee: edit real text while retaining the figure, frame and waves. */
.fee-hero{position:relative;display:block;aspect-ratio:1919/491;padding:0;margin:0;background:#206bc0 url('../images/sub/fee_visual.jpg') center/100% 100% no-repeat}
.fee-hero:after{display:none}
.fee-hero>p,.fee-hero>h2{position:absolute;left:24%;width:47%;background:#206bc0;text-align:center}
.fee-hero>p{top:7%;padding:4px 0;font-size:clamp(13px,1.6vw,26px);line-height:1.3}
.fee-hero>h2{top:20%;padding:5px 0;font-size:clamp(25px,3.3vw,62px);font-weight:700;line-height:1.1}
/* Explicit review title icon; this should never rely on background-size inheritance. */
.page-sewer .photo-review .tit-icon img{display:block;width:48px;height:48px;object-fit:contain;margin:0 auto}
@media(max-width:768px){
 /* Discount: preserve 863:259 proportions rather than stretch to 112px. */
 .sub-page .cash-discount{position:relative;width:calc(100% - 20px);aspect-ratio:863/259;height:auto;min-height:0;margin:24px 10px;padding:0;background:url('../images/sub2/discount_bg.jpg') center/100% 100% no-repeat}
 .sub-page .cash-discount .tit{position:absolute;left:23%;right:1%;top:45%;font-size:clamp(11px,3.2vw,24px);line-height:1.2;letter-spacing:-.5px;margin:0;white-space:nowrap;text-align:center}
 .sub-page .cash-discount .sub{position:absolute;left:23%;right:1%;top:65%;font-size:clamp(9px,2.65vw,20px);line-height:1.25;letter-spacing:-.5px;margin:0;white-space:nowrap;text-align:center}
 /* Photo reviews: compact original type, explicit breaks, aligned cards. */
 .sub-page .tc-reviews li .cont .name{font-size:clamp(9px,2.7vw,15px);line-height:1.3;padding-left:26px;min-height:28px;letter-spacing:-.3px}
 .sub-page .tc-reviews li .cont .name:before{display:block;width:21px;height:21px;top:2px;background-size:contain}
 .sub-page .tc-reviews li .cont .txt{font-size:clamp(10px,2.8vw,16px);line-height:1.45;margin-top:7px;word-break:normal;overflow-wrap:break-word;letter-spacing:-.3px}
 .page-sewer .photo-review .tit-icon{display:block;visibility:visible;opacity:1}
 .page-sewer .photo-review .tit-icon img{display:block;width:32px;height:32px}
 .page-sewer .sub-page .sw_review .tc-reviews{display:grid;grid-template-columns:1fr}
 .page-sewer .sub-page .sw_review .tc-reviews li .cont .name{font-size:10px;padding-left:25px}
 /* Odor text was hidden by global h2 dimensions. */
 .odor-intro .odor-copy{background:#172933;padding:8px 4px 12px}
 .odor-intro .odor-copy h2{width:auto;height:auto;font-size:clamp(23px,7vw,49px);line-height:1.15;font-weight:800;letter-spacing:-.7px}
 .odor-intro .odor-copy h2 strong{display:block;font-size:clamp(24px,7.3vw,51px);line-height:1.15;margin-top:6px}
 .odor-intro .odor-copy p{padding:10px 0 0;font-size:clamp(8px,2.5vw,17px);line-height:1.4;letter-spacing:-.4px;white-space:normal}
 /* Three by two odor cards: reduce copy rather than force tall words. */
 .page-odor .sub-page .odorous>.list li{padding:10px 5px;min-width:0}
 .page-odor .sub-page .odorous>.list li .cont .tit{font-size:clamp(8px,2.35vw,13px);line-height:1.3;letter-spacing:-.4px;word-break:keep-all}
 .page-odor .sub-page .odorous>.list li .cont .tit span{font-size:clamp(10px,2.7vw,15px);padding:3px 1px;margin:4px 0}
 .page-odor .sub-page .odorous>.list li .cont .txt{font-size:clamp(8px,2.25vw,12px);line-height:1.4;letter-spacing:-.3px;word-break:keep-all}
 /* PPT 02 now explicitly requests two introductory lines. */
 .page-dredging .sub-page h3.detail.sludge-heading{padding:0 8px;font-size:clamp(9px,2.9vw,20px);line-height:1.4;letter-spacing:-.4px}
 .page-dredging .sub-page h3.detail.sludge-heading>strong{font-size:clamp(14px,4.4vw,29px);margin-top:10px;line-height:1.3}
 .page-dredging .sub-page h3.detail.sludge-heading>strong:first-of-type{font-size:clamp(12px,3.8vw,25px);margin-top:10px}
 .dredging-poster .dredging-intro h2{font-size:clamp(28px,6.1vw,42px);line-height:1.15}
 .dredging-poster .dredging-intro p{font-size:clamp(14px,2.7vw,18px);margin-top:6px}
 /* Fee poster has editable headline with its original illustration below. */
 .fee-hero{aspect-ratio:720/798;background-image:url('../images/sub/fee_visual_mobile.jpg');margin:0}
 .fee-hero>p{left:5%;width:90%;top:4%;padding:3px 0;font-size:clamp(10px,3vw,21px)}
 .fee-hero>h2{left:7%;width:86%;top:13%;padding:0;font-size:clamp(30px,9vw,65px);line-height:1.15;letter-spacing:-.6px}
 /* PPT 42: separate the final call card from the two actions below it. */
 .sub-page>.image:has(.txt-call){margin-bottom:30px}
}
@media(min-width:769px){
 .fee-hero>p,.fee-hero>h2{inset:0;width:100%;height:100%;background:none;padding:0;pointer-events:none}
 .fee-hero .fee-left,.fee-hero .fee-right{position:absolute;display:block;background:#1e68c3;white-space:nowrap;text-align:center}
 .fee-hero .fee-left{left:23%;width:21%}
 .fee-hero .fee-right{left:54%;width:27%}
 .fee-hero h2 span{top:18%;height:19%;font-size:clamp(25px,3.3vw,65px);line-height:1.3}
 .fee-hero p span{top:41%;height:7%;font-size:clamp(10px,1.2vw,24px);line-height:1.3}
}
@media(max-width:768px){
 .fee-hero>p .fee-left,.fee-hero>p .fee-right{display:inline;position:static}
 .fee-hero>p .fee-right{font-size:0}
 .fee-hero>p .fee-right:after{content:' 출장비 무료!';font-size:clamp(10px,3vw,21px)}
 .fee-hero>h2 span{display:block;position:static}
}
@media(max-width:768px){
 .sub-page .txt-consult .zero{margin-top:0}
 .sub-page .txt-consult .care{margin-top:22px;line-height:1.5}
 .sub-page .txt-consult .txt-call{margin-top:24px;margin-bottom:12px}
 .sub-page .txt-consult{padding-bottom:28px}
}
@media(min-width:769px){.fee-hero .fee-left,.fee-hero .fee-right{background:#1b6ac7}}
/* Avoid printing the original image headline underneath the editable copy. */
.dredging-poster .dredging-intro{background:#142021}
@media(max-width:768px){
 .fee-hero:before{content:'';position:absolute;top:0;left:0;width:100%;height:40%;background:#1b6ac7;z-index:1}
 .fee-hero:after{content:'';display:block;position:absolute;top:19%;left:7%;width:86%;height:49%;margin:0;aspect-ratio:auto;border:3px solid #fff;border-bottom:0;background:none;box-sizing:border-box;z-index:1;pointer-events:none}
 .fee-hero>p,.fee-hero>h2{z-index:2;background:#1b6ac7}
 .fee-hero>h2{top:13%;padding:0 3px;box-sizing:border-box}
}
