
:root{
  --ink:#17231c;
  --muted:#5e6c62;
  --line:#dce7dd;
  --bg:#f5faf4;
  --paper:#ffffff;
  --brand:#2f7d46;
  --brand2:#1f5f35;
  --accent:#9bcf6b;
  --deep:#102217;
  --soft:#eaf5e9;
  --shadow:0 14px 34px rgba(23,35,28,.10);
  --radius:22px;
  --max:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fbfff9 0%,#eef7ef 100%);line-height:1.62;word-break:keep-all}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:18px;top:18px;z-index:9999;background:#fff;padding:10px 14px;border-radius:10px}
.container{width:min(var(--max),calc(100% - 36px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,255,249,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,231,221,.94)}
.header-inner{height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.04em;font-size:21px}
.brand-mark{width:40px;height:40px;border-radius:14px;box-shadow:0 10px 22px rgba(47,125,70,.20)}
.brand small{display:block;font-size:11px;color:var(--muted);letter-spacing:0;font-weight:700;margin-top:-5px}
.nav{display:flex;align-items:center;gap:7px}.nav a{font-size:14px;font-weight:800;color:#26372c;padding:9px 11px;border-radius:999px}.nav a:hover,.nav a.active{background:#fff;color:var(--brand2);box-shadow:0 6px 16px rgba(23,35,28,.08)}
.call-btn{display:inline-flex;align-items:center;gap:8px;background:var(--deep);color:#fff!important;border-radius:999px;padding:10px 15px!important;font-weight:900}
.mobile-top-link{display:none;position:fixed;right:14px;top:76px;z-index:60;background:var(--brand);color:white;border-radius:16px;padding:10px 13px;font-size:13px;font-weight:900;box-shadow:0 12px 28px rgba(47,125,70,.25)}
.hero{padding:54px 0 28px}.hero-grid{display:grid;grid-template-columns:1.02fr .9fr;gap:30px;align-items:center}.hero h1{font-size:clamp(32px,4.6vw,52px);line-height:1.12;letter-spacing:-.06em;margin:0 0 16px}.hero .lead{font-size:clamp(16px,1.7vw,19px);color:#35483b;max-width:690px;margin:0 0 22px}.hero-actions,.section-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 17px;font-weight:900;border:1px solid var(--deep);background:var(--deep);color:white}.btn.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.btn.brand{background:var(--brand);border-color:var(--brand);color:#fff}
.hero-media{position:relative;max-width:430px;margin-left:auto}.hero-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:10px;box-shadow:var(--shadow);overflow:hidden}.hero-card img{width:100%;height:300px;object-fit:cover;object-position:center 44%;border-radius:20px}.caption{font-size:13px;color:var(--muted);margin-top:9px;padding:0 4px}.hero-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.hero-badges div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 10px;font-weight:900;font-size:13px;color:#26372c}.hero-badges span{display:block;color:var(--brand2);font-size:12px;margin-bottom:1px}
.section{padding:48px 0}.section.alt{background:rgba(255,255,255,.55);border-top:1px solid rgba(220,231,221,.80);border-bottom:1px solid rgba(220,231,221,.80)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.section h2{font-size:clamp(24px,3.1vw,36px);line-height:1.18;letter-spacing:-.05em;margin:0}.section-desc{color:var(--muted);font-size:16px;max-width:680px;margin:9px 0 0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.card,.info-card,.step,.faq details,.source-box,.text-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 9px 24px rgba(23,35,28,.06)}.card:hover,.info-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card,.info-card{transition:.18s ease}.num{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:12px;background:var(--soft);color:var(--brand2);font-weight:900;margin-bottom:10px}.card h3,.info-card h3,.step h3{margin:0 0 7px;font-size:19px;letter-spacing:-.035em}.card p,.info-card p,.step p{margin:0;color:var(--muted)}.info-card{padding:18px}.info-card strong{color:var(--brand2);font-size:13px}.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1120px;margin:0 auto}.photo-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:9px;box-shadow:0 10px 24px rgba(23,35,28,.06)}.photo-card img{display:block;width:100%;aspect-ratio:4 / 3;height:auto;object-fit:cover;object-position:center 48%;border-radius:18px}.photo-card:nth-child(1) img{object-position:center 48%}.photo-card:nth-child(2) img{object-position:center 52%}.photo-card:nth-child(3) img{object-position:center 44%}.photo-card:nth-child(4) img{object-position:center 50%}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.step{position:relative}.step b{font-size:36px;line-height:1;color:rgba(47,125,70,.22);letter-spacing:-.06em}.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:start}.check-list{display:grid;gap:9px;margin-top:14px;padding:0}.check-list li{list-style:none;background:#fff;border:1px solid var(--line);border-radius:15px;padding:11px 13px;color:#35483b}.check-list li:before{content:"✓";font-weight:900;color:var(--brand2);margin-right:8px}.faq{display:grid;gap:10px}.faq details{padding:0;overflow:hidden}.faq summary{cursor:pointer;padding:17px 20px;font-weight:900;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq details p{margin:0;padding:0 20px 18px;color:var(--muted)}.cta{background:linear-gradient(135deg,var(--deep),#244f32);color:#fff;border-radius:30px;padding:32px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;box-shadow:var(--shadow)}.cta h2{color:#fff}.cta p{color:rgba(255,255,255,.84);margin:8px 0 0}.cta .btn{background:#fff;color:var(--ink);border-color:#fff}.site-footer{background:#102217;color:#fff;padding:42px 0 96px;margin-top:26px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:24px}.footer-grid h3{margin:0 0 12px}.footer-grid p,.footer-grid a{color:rgba(255,255,255,.75);font-size:14px}.footer-links{display:grid;gap:8px}.bottom-call{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:80;background:var(--brand);color:#fff;border-radius:18px;padding:13px 16px;text-align:center;font-weight:900;box-shadow:0 14px 36px rgba(47,125,70,.30)}
.page-hero{padding:46px 0 18px}.page-hero h1{font-size:clamp(30px,4.1vw,46px);line-height:1.14;letter-spacing:-.055em;margin:0 0 10px}.breadcrumbs,.eyebrow,.section-kicker{display:none!important}.content-wrap{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}.toc{position:sticky;top:88px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px}.toc a{display:block;padding:9px 10px;border-radius:12px;color:#405246;font-size:14px;font-weight:800}.toc a:hover{background:var(--soft);color:var(--brand2)}.article{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 12px 30px rgba(23,35,28,.07)}.article h2{font-size:28px;margin:32px 0 11px;letter-spacing:-.045em}.article h2:first-child{margin-top:0}.article h3{font-size:20px;margin:20px 0 8px}.article p{color:#46584d}.article table{width:100%;border-collapse:collapse;margin:15px 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:table}.article th,.article td{border-bottom:1px solid var(--line);padding:11px;text-align:left;vertical-align:top}.article th{background:#edf8ec;color:#223529}.article tr:last-child td{border-bottom:0}.note{background:#f2faef;border-left:5px solid var(--brand);padding:14px 15px;border-radius:14px;color:#35483b}.source-box{margin-top:22px;background:#f7fbf5}.source-box h3{margin-top:0}.source-box a{display:block;color:#405246;text-decoration:underline;text-underline-offset:3px;margin:7px 0}.mini-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.mini-gallery figure{margin:0;background:#f7fbf5;border:1px solid var(--line);border-radius:20px;padding:8px}.mini-gallery img{width:100%;height:230px;object-fit:cover;object-position:center 50%;border-radius:14px}.mini-gallery figcaption{font-size:13px;color:var(--muted);margin-top:7px}.mini-gallery figure:nth-child(2) img{object-position:center 55%}.sitemap-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sitemap-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;transition:.18s}.sitemap-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.sitemap-cat{display:inline-block;font-size:12px;font-weight:900;color:var(--brand2);background:var(--soft);border-radius:999px;padding:5px 9px;margin-bottom:9px}.sitemap-card h3{margin:0 0 8px}.sitemap-card p{color:var(--muted);font-size:14px;margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:980px){.nav{display:none}.mobile-top-link{display:block}.hero-grid,.split,.content-wrap{grid-template-columns:1fr}.hero{padding-top:38px}.hero-media{max-width:100%;margin:0}.hero-card img{height:280px}.info-grid{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.photo-strip{grid-template-columns:repeat(2,1fr);max-width:100%}.toc{position:relative;top:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.footer-grid{grid-template-columns:1fr 1fr}.cta{grid-template-columns:1fr}.bottom-call{display:block}}
@media(max-width:640px){.container{width:min(100% - 24px,var(--max))}.header-inner{height:64px}.brand{font-size:20px}.brand-mark{width:38px;height:38px}.hero h1{font-size:34px}.hero-card img{height:240px}.section{padding:40px 0}.section-head{display:block}.card-grid,.info-grid,.process-grid,.sitemap-list,.mini-gallery{grid-template-columns:1fr}.photo-strip{grid-template-columns:repeat(2,1fr)}.photo-card img,.mini-gallery img{height:220px}.hero-badges{grid-template-columns:1fr}.article{padding:21px;border-radius:24px}.article h2{font-size:24px}.toc{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.site-footer{padding-bottom:88px}.cta{padding:26px;border-radius:24px}}

/* v3 from V2: sitemap category layout */
.sitemap-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.sitemap-tabs a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;color:var(--brand2);box-shadow:0 8px 18px rgba(23,35,28,.05)}
.sitemap-tabs a:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.sitemap-group-head{margin-bottom:18px;max-width:760px}
.sitemap-group-head>span{display:inline-block;font-size:13px;font-weight:900;color:var(--brand2);background:var(--soft);border-radius:999px;padding:6px 10px;margin-bottom:10px}
.sitemap-group-head h2{font-size:clamp(24px,3vw,34px);line-height:1.18;letter-spacing:-.05em;margin:0 0 8px}
.sitemap-group-head p{margin:0;color:var(--muted)}
.sitemap-card.is-disabled{opacity:.82;background:#f7fbf5;box-shadow:none;transform:none;cursor:default}
.sitemap-card.is-disabled:hover{transform:none;box-shadow:none}
.sitemap-list-muted{grid-template-columns:repeat(2,1fr)}
@media(max-width:640px){.sitemap-tabs{display:grid;grid-template-columns:1fr 1fr}.sitemap-list-muted{grid-template-columns:1fr}}

/* v4-from-v2: homepage photo size correction without replacing image files */
@media (min-width: 981px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 460px;gap:42px;}
  .hero-media{max-width:460px;width:460px;margin-left:auto;}
  .hero-card{padding:11px;}
  .hero-card img{width:100%;height:340px;object-fit:cover;object-position:center 44%;border-radius:20px;}
  .hero-badges{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .photo-strip{max-width:1120px;gap:24px;}
  .photo-card{padding:10px;border-radius:24px;}
  .photo-card img{width:100%;aspect-ratio:4 / 3;height:auto;object-fit:cover;border-radius:18px;}
}
@media (min-width: 1200px){
  .hero-card img{height:350px;}
  .photo-card img{aspect-ratio:4 / 3;height:auto;}
}
@media (max-width:980px){
  .hero-media{width:100%;max-width:620px;margin:0 auto;}
  .hero-card img{height:320px;}
  .photo-strip{max-width:100%;gap:16px;}
  .photo-card img{aspect-ratio:4 / 3;height:auto;}
}
@media (max-width:640px){
  .hero-card img{height:245px;}
  .photo-card img{aspect-ratio:4 / 3;height:auto;}
}


/* v7-from-v2: home flow photo aspect correction */
@media (min-width: 981px){
  .photo-strip{max-width:1180px;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
  .photo-card{padding:10px 10px 12px;}
  .photo-card .caption{font-size:15px;line-height:1.45;min-height:44px;}
}
@media (max-width:980px){
  .photo-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .photo-card .caption{font-size:14px;line-height:1.45;}
}


/* v8-from-v2: enlarge home flow photos substantially */
#photos .container{width:min(1480px,calc(100% - 48px));}
#photos .section-head{margin-bottom:26px;}
#photos .photo-strip{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start;}
#photos .photo-card{padding:10px 10px 12px;border-radius:24px;}
#photos .photo-card img{width:100%;aspect-ratio:3 / 2;height:auto;object-fit:cover;border-radius:18px;}
#photos .photo-card .caption{font-size:15px;line-height:1.45;margin-top:10px;min-height:44px;}
@media (max-width:980px){
  #photos .container{width:min(100% - 28px, 1080px);}
  #photos .photo-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  #photos .photo-card img{aspect-ratio:4 / 3;}
}
@media (max-width:640px){
  #photos .container{width:min(100% - 20px, 1080px);}
  #photos .photo-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  #photos .photo-card{padding:8px 8px 10px;}
  #photos .photo-card img{aspect-ratio:4 / 3;}
  #photos .photo-card .caption{font-size:13px;line-height:1.4;min-height:40px;}
}


/* v9-from-v2: restore text alignment, keep enlarged photos, tighten equal gaps */
#photos .container{
  width:min(var(--max),calc(100% - 36px));
}
#photos .section-head{
  width:auto;
  margin-left:0;
  margin-right:0;
  margin-bottom:26px;
}
#photos .photo-strip{
  width:min(1480px,calc(100vw - 48px));
  max-width:none;
  margin-left:50%;
  transform:translateX(-50%);
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
#photos .photo-card{
  padding:10px 10px 12px;
}
#photos .photo-card img{
  aspect-ratio:3 / 2;
  height:auto;
  object-fit:cover;
}
@media (max-width:980px){
  #photos .container{
    width:min(100% - 28px,var(--max));
  }
  #photos .photo-strip{
    width:100%;
    margin-left:0;
    transform:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  #photos .photo-card img{
    aspect-ratio:4 / 3;
  }
}
@media (max-width:640px){
  #photos .container{
    width:min(100% - 20px,var(--max));
  }
  #photos .photo-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  #photos .photo-card{
    padding:8px 8px 10px;
  }
}


/* v10-from-v2: sitemap label cleanup */
.sitemap-group-head > span,
.sitemap-cat{
  display:none !important;
}
.sitemap-card-note{
  cursor:default;
}


/* v11-from-v2: final process photo spacing + cache-busted layout */
#photos .container{
  width:min(var(--max),calc(100% - 36px)) !important;
}
#photos .section-head{
  width:auto !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-bottom:26px !important;
}
#photos .photo-strip{
  display:grid !important;
  width:min(1520px,calc(100vw - 70px)) !important;
  max-width:none !important;
  margin-left:50% !important;
  margin-right:0 !important;
  transform:translateX(-50%) !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  column-gap:8px !important;
  row-gap:8px !important;
  justify-content:center !important;
  align-items:start !important;
}
#photos .photo-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:10px 10px 12px !important;
}
#photos .photo-card img{
  display:block !important;
  width:100% !important;
  aspect-ratio:3 / 2 !important;
  height:auto !important;
  object-fit:cover !important;
  border-radius:18px !important;
}
#photos .photo-card .caption{
  margin-top:10px !important;
  min-height:44px !important;
  line-height:1.45 !important;
}
@media (max-width:980px){
  #photos .container{
    width:min(100% - 28px,var(--max)) !important;
  }
  #photos .photo-strip{
    width:100% !important;
    margin-left:0 !important;
    transform:none !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:8px !important;
    row-gap:8px !important;
  }
  #photos .photo-card img{
    aspect-ratio:4 / 3 !important;
  }
}
@media (max-width:640px){
  #photos .container{
    width:min(100% - 20px,var(--max)) !important;
  }
  #photos .photo-strip{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:6px !important;
    row-gap:6px !important;
  }
  #photos .photo-card{
    padding:7px 7px 9px !important;
  }
  #photos .photo-card .caption{
    font-size:13px !important;
    line-height:1.4 !important;
    min-height:40px !important;
  }
}


/* v12-from-v2: process photo section changed to 2x2 */
#photos .container{
  width:min(var(--max),calc(100% - 36px)) !important;
}
#photos .section-head{
  width:auto !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-bottom:26px !important;
}
#photos .photo-strip{
  width:100% !important;
  max-width:980px !important;
  margin:0 auto !important;
  transform:none !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:14px !important;
  row-gap:14px !important;
  align-items:start !important;
}
#photos .photo-card{
  width:100% !important;
  margin:0 !important;
  padding:10px 10px 12px !important;
}
#photos .photo-card img{
  display:block !important;
  width:100% !important;
  aspect-ratio:3 / 2 !important;
  height:auto !important;
  object-fit:cover !important;
  border-radius:18px !important;
}
@media (max-width:980px){
  #photos .container{
    width:min(100% - 28px,var(--max)) !important;
  }
  #photos .photo-strip{
    width:100% !important;
    max-width:760px !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:12px !important;
    row-gap:12px !important;
  }
}
@media (max-width:640px){
  #photos .container{
    width:min(100% - 20px,var(--max)) !important;
  }
  #photos .photo-strip{
    max-width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:8px !important;
    row-gap:8px !important;
  }
  #photos .photo-card{
    padding:7px 7px 9px !important;
  }
  #photos .photo-card img{
    aspect-ratio:4 / 3 !important;
  }
  #photos .photo-card .caption{
    font-size:13px !important;
    line-height:1.4 !important;
  }
}


/* v13-from-v2: mobile sitemap button and visible-text debug fixes */
@media (max-width:980px){
  .site-header{
    z-index:900 !important;
  }
  .mobile-top-link{
    display:inline-flex !important;
    position:fixed !important;
    top:10px !important;
    right:14px !important;
    z-index:1000 !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:102px !important;
    min-height:42px !important;
    padding:0 16px !important;
    border-radius:18px !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    box-shadow:0 10px 24px rgba(47,125,70,.24) !important;
  }
  .header-inner{
    padding-right:118px !important;
  }
}
@media (max-width:420px){
  .mobile-top-link{
    right:12px !important;
    min-width:96px !important;
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:16px !important;
    font-size:13px !important;
  }
  .header-inner{
    padding-right:108px !important;
  }
  .brand{
    max-width:220px !important;
  }
}


/* v14-from-v2: mobile hero call button protection */
@media (max-width:640px){
  .hero-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:10px !important;
  }
  .hero-actions .btn{
    box-sizing:border-box !important;
    width:min(100%, 340px) !important;
    min-height:54px !important;
    padding:0 18px !important;
    border-radius:999px !important;
    font-size:18px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    text-align:center !important;
  }
  .hero-actions .btn.brand{
    width:min(100%, 340px) !important;
  }
  .hero-actions .btn.secondary{
    width:min(100%, 220px) !important;
    font-size:17px !important;
  }
}
@media (max-width:360px){
  .hero-actions .btn{
    width:100% !important;
    font-size:16px !important;
    padding:0 12px !important;
  }
  .hero-actions .btn.secondary{
    width:min(100%, 210px) !important;
  }
}


/* v17-service-partial-repair */
.service-list{margin-top:18px}
.service-gallery img{object-position:center 50%}
.service-gallery figure:nth-child(1) img{object-position:center 54%}
.service-gallery figure:nth-child(2) img{object-position:center 48%}
.service-gallery figure:nth-child(3) img{object-position:center 48%}
.service-gallery figure:nth-child(4) img{object-position:center 50%}
.service-check-grid{margin:18px 0 6px}
.sitemap-card-note:hover{transform:none;box-shadow:none}
@media(max-width:640px){.service-check-grid{grid-template-columns:1fr}.service-gallery{grid-template-columns:1fr}.service-gallery img{height:220px}}


/* v19: sitemap live-card hover repair */
a.sitemap-card,
a.card{
  cursor:pointer;
}
a.sitemap-card:hover,
a.card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
}
.sitemap-card-note:not(a):hover{
  transform:none;
  box-shadow:none;
}


/* v20: partial replacement service page */
a.sitemap-card,
a.card{
  cursor:pointer;
}
a.sitemap-card:hover,
a.card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
}
.sitemap-card-note:not(a):hover{
  transform:none;
  box-shadow:none;
}
.service-gallery img{object-position:center 50%}
.service-gallery figure:nth-child(1) img{object-position:center 45%}
.service-gallery figure:nth-child(2) img{object-position:center 48%}
.service-gallery figure:nth-child(3) img{object-position:center 52%}
.service-gallery figure:nth-child(4) img{object-position:center 48%}

/* v22: leak repair service page */
a.sitemap-card,
a.card{
  cursor:pointer;
}
a.sitemap-card:hover,
a.card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
}
.sitemap-card-note:not(a):hover{
  transform:none;
  box-shadow:none;
}
.leak-repair-gallery img{
  object-position:center center;
}
.leak-repair-gallery figure:nth-child(1) img{
  object-position:center 28%;
}
.leak-repair-gallery figure:nth-child(2) img{
  object-position:center 25%;
}
.leak-repair-gallery figure:nth-child(3) img{
  object-position:center 27%;
}
.leak-repair-gallery figure:nth-child(4) img{
  object-position:center 32%;
}

/* v23: roof construction service page */
a.sitemap-card,
a.card{
  cursor:pointer;
}
a.sitemap-card:hover,
a.card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
}
.sitemap-card-note:not(a):hover{
  transform:none;
  box-shadow:none;
}
.roof-construction-gallery img{
  object-position:center center;
}
.roof-construction-gallery figure:nth-child(1) img{
  object-position:center 28%;
}
.roof-construction-gallery figure:nth-child(2) img{
  object-position:center 20%;
}
.roof-construction-gallery figure:nth-child(3) img{
  object-position:center 25%;
}
.roof-construction-gallery figure:nth-child(4) img{
  object-position:center 24%;
}

/* v24: Yongin regional page */
.area-index-list{margin-top:28px}
.related-service-list{margin-top:24px;grid-template-columns:repeat(2,1fr)}
.yongin-area-gallery img{object-position:center center}
.yongin-area-gallery figure:nth-child(1) img{object-position:center 28%}
.yongin-area-gallery figure:nth-child(2) img{object-position:center 24%}
.yongin-area-gallery figure:nth-child(3) img{object-position:center 34%}
.yongin-area-gallery figure:nth-child(4) img{object-position:center 30%}
a.sitemap-card,a.card{cursor:pointer}
a.sitemap-card:hover,a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
@media(max-width:640px){.related-service-list{grid-template-columns:1fr}}

/* v25: Suwon regional page */
.suwon-area-gallery img{object-position:center center}
.suwon-area-gallery figure:nth-child(1) img{object-position:center 24%}
.suwon-area-gallery figure:nth-child(2) img{object-position:center 34%}
.suwon-area-gallery figure:nth-child(3) img{object-position:center 40%}
.suwon-area-gallery figure:nth-child(4) img{object-position:center 30%}

/* v26: Seoul regional page */
.seoul-area-gallery img{object-position:center center}
.seoul-area-gallery figure:nth-child(1) img{object-position:center 18%}
.seoul-area-gallery figure:nth-child(2) img{object-position:center 66%}
.seoul-area-gallery figure:nth-child(3) img{object-position:center 62%}
.seoul-area-gallery figure:nth-child(4) img{object-position:center 18%}

/* v27: corrected Seoul regional photo sequence */
.seoul-area-gallery img{object-position:center center}
.seoul-area-gallery figure:nth-child(1) img{object-position:center 24%}
.seoul-area-gallery figure:nth-child(2) img{object-position:center 34%}
.seoul-area-gallery figure:nth-child(3) img{object-position:center 52%}
.seoul-area-gallery figure:nth-child(4) img{object-position:center 30%}

/* v29: Seoul area page chapter simplification and readability */
.seoul-area-page .toc{padding:12px 14px}
.seoul-area-page .toc a{padding:10px 10px}
.seoul-area-page .article > h2{
  margin-top:48px;
  margin-bottom:14px;
  padding-top:2px;
  scroll-margin-top:108px;
}
.seoul-area-page .article > h2:first-child{
  margin-top:0;
  padding-top:0;
}
.seoul-area-page .article > h3{
  margin-top:30px;
  margin-bottom:10px;
  scroll-margin-top:108px;
}
.seoul-area-page .article > h2 + p,
.seoul-area-page .article > h3 + p{
  margin-top:0;
}
@media(max-width:640px){
  .seoul-area-page .article > h2{margin-top:40px;margin-bottom:12px}
  .seoul-area-page .article > h3{margin-top:26px;margin-bottom:9px}
}

/* v31: Seoul-specific regional differentiation */
.seoul-area-page .seoul-source-note a,
.seoul-area-page .seoul-support-note a{
  display:inline-block;
  margin-top:8px;
  font-weight:800;
  color:var(--accent);
  text-decoration:underline;
  text-underline-offset:3px;
}
.seoul-area-page .seoul-work-plan{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.seoul-area-page .seoul-work-plan .card{height:100%}
.seoul-area-page .seoul-decision-table td:first-child{font-weight:700}
@media(max-width:720px){
  .seoul-area-page .seoul-work-plan{grid-template-columns:1fr;gap:14px}
}


/* v33: Seoul representative image + simplified regional page */
.seoul-area-page-v33 .seoul-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
  gap:44px;
  align-items:center;
}
.seoul-area-page-v33 .seoul-hero-copy{min-width:0}
.seoul-area-page-v33 .seoul-hero-copy h1{margin-bottom:18px}
.seoul-area-page-v33 .seoul-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.seoul-area-page-v33 .seoul-featured-image{
  margin:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 38px rgba(23,59,39,.10);
}
.seoul-area-page-v33 .seoul-featured-image picture{display:block}
.seoul-area-page-v33 .seoul-featured-image img{
  display:block;
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:16px;
}
.seoul-area-page-v33 .seoul-featured-image figcaption{padding:10px 4px 2px;font-size:.92rem;color:var(--muted)}
.seoul-area-page-v33 .seoul-compact-article>h2{
  margin-top:46px;
  margin-bottom:14px;
  scroll-margin-top:110px;
}
.seoul-area-page-v33 .seoul-compact-article>h2:first-child{margin-top:0}
.seoul-area-page-v33 .seoul-core-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
.seoul-area-page-v33 .seoul-core-grid .card{height:100%}
.seoul-area-page-v33 .seoul-v33-gallery{margin-top:22px}
.seoul-area-page-v33 .seoul-range-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:22px 0;
}
.seoul-area-page-v33 .seoul-range-list>div{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.seoul-area-page-v33 .seoul-range-list strong{font-size:1.05rem;color:var(--ink)}
.seoul-area-page-v33 .seoul-range-list span{color:var(--muted);line-height:1.65}
.seoul-area-page-v33 .seoul-v33-faq{margin-top:22px}
.seoul-area-page-v33 .seoul-related-list{margin-top:16px}
@media(max-width:980px){
  .seoul-area-page-v33 .seoul-hero-grid{grid-template-columns:1fr;gap:28px}
  .seoul-area-page-v33 .seoul-featured-image{max-width:760px}
}
@media(max-width:760px){
  .seoul-area-page-v33 .seoul-core-grid,
  .seoul-area-page-v33 .seoul-range-list{grid-template-columns:1fr}
  .seoul-area-page-v33 .seoul-hero-actions{display:grid;grid-template-columns:1fr 1fr}
  .seoul-area-page-v33 .seoul-hero-actions .btn{width:100%;justify-content:center;text-align:center}
}
@media(max-width:520px){
  .seoul-area-page-v33 .seoul-hero-actions{grid-template-columns:1fr}
  .seoul-area-page-v33 .seoul-featured-image{padding:7px;border-radius:19px}
  .seoul-area-page-v33 .seoul-featured-image img{border-radius:13px}
  .seoul-area-page-v33 .seoul-compact-article>h2{margin-top:38px;margin-bottom:12px}
}


@media(max-width:720px){
  .seoul-area-page-v33 .content-wrap.seoul-content-wrap{display:block}
  .seoul-area-page-v33 .toc{display:none}
}


/* v35: Incheon completed-roof regional page */
.incheon-area-page-v35 .incheon-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
  gap:44px;
  align-items:center;
}
.incheon-area-page-v35 .incheon-hero-copy{min-width:0}
.incheon-area-page-v35 .incheon-hero-copy h1{margin-bottom:18px}
.incheon-area-page-v35 .incheon-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.incheon-area-page-v35 .incheon-featured-image{
  margin:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 38px rgba(23,59,39,.10);
}
.incheon-area-page-v35 .incheon-featured-image picture,
.incheon-area-page-v35 .incheon-detail-gallery picture{display:block}
.incheon-area-page-v35 .incheon-featured-image img{
  display:block;
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:16px;
}
.incheon-area-page-v35 .incheon-featured-image figcaption{
  padding:10px 4px 2px;
  font-size:.92rem;
  color:var(--muted);
}
.incheon-area-page-v35 .incheon-compact-article>h2{
  margin-top:46px;
  margin-bottom:14px;
  scroll-margin-top:110px;
}
.incheon-area-page-v35 .incheon-compact-article>h2:first-child{margin-top:0}
.incheon-area-page-v35 .incheon-core-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:22px;
}
.incheon-area-page-v35 .incheon-core-grid .card{height:100%}
.incheon-area-page-v35 .incheon-detail-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}
.incheon-area-page-v35 .incheon-detail-gallery figure{
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.incheon-area-page-v35 .incheon-detail-gallery img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.incheon-area-page-v35 .incheon-detail-gallery figcaption{
  padding:13px 14px 15px;
  color:var(--muted);
  line-height:1.55;
}
.incheon-area-page-v35 .incheon-range-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:22px 0;
}
.incheon-area-page-v35 .incheon-range-list>div{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.incheon-area-page-v35 .incheon-range-list strong{
  font-size:1.05rem;
  color:var(--ink);
}
.incheon-area-page-v35 .incheon-range-list span{
  color:var(--muted);
  line-height:1.65;
}
.incheon-area-page-v35 .incheon-v35-faq{margin-top:22px}
.incheon-area-page-v35 .incheon-related-list{margin-top:16px}
@media(max-width:980px){
  .incheon-area-page-v35 .incheon-hero-grid{grid-template-columns:1fr;gap:28px}
  .incheon-area-page-v35 .incheon-featured-image{max-width:760px}
}
@media(max-width:760px){
  .incheon-area-page-v35 .incheon-core-grid,
  .incheon-area-page-v35 .incheon-detail-gallery,
  .incheon-area-page-v35 .incheon-range-list{grid-template-columns:1fr}
  .incheon-area-page-v35 .incheon-hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .incheon-area-page-v35 .incheon-hero-actions .btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}
@media(max-width:720px){
  .incheon-area-page-v35 .content-wrap.incheon-content-wrap{display:block}
  .incheon-area-page-v35 .toc{display:none}
}
@media(max-width:520px){
  .incheon-area-page-v35 .incheon-hero-actions{grid-template-columns:1fr}
  .incheon-area-page-v35 .incheon-featured-image{padding:7px;border-radius:19px}
  .incheon-area-page-v35 .incheon-featured-image img{border-radius:13px}
  .incheon-area-page-v35 .incheon-compact-article>h2{
    margin-top:38px;
    margin-bottom:12px;
  }
}


/* v36: Incheon search-intent content refinement */
.incheon-area-page-v36 .incheon-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
  gap:44px;
  align-items:center;
}
.incheon-area-page-v36 .incheon-hero-copy{min-width:0}
.incheon-area-page-v36 .incheon-hero-copy h1{margin-bottom:18px}
.incheon-area-page-v36 .incheon-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.incheon-area-page-v36 .incheon-featured-image{
  margin:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 38px rgba(23,59,39,.10);
}
.incheon-area-page-v36 .incheon-featured-image picture,
.incheon-area-page-v36 .incheon-detail-gallery picture{display:block}
.incheon-area-page-v36 .incheon-featured-image img{
  display:block;
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:16px;
}
.incheon-area-page-v36 .incheon-featured-image figcaption{
  padding:10px 4px 2px;
  font-size:.92rem;
  color:var(--muted);
}
.incheon-area-page-v36 .incheon-compact-article>h2{
  margin-top:46px;
  margin-bottom:14px;
  scroll-margin-top:110px;
}
.incheon-area-page-v36 .incheon-compact-article>h2:first-child{margin-top:0}
.incheon-area-page-v36 .incheon-core-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:22px;
}
.incheon-area-page-v36 .incheon-core-grid .card{height:100%}
.incheon-area-page-v36 .incheon-detail-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}
.incheon-area-page-v36 .incheon-detail-gallery figure{
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.incheon-area-page-v36 .incheon-detail-gallery img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.incheon-area-page-v36 .incheon-detail-gallery figcaption{
  padding:13px 14px 15px;
  color:var(--muted);
  line-height:1.55;
}
.incheon-area-page-v36 .incheon-range-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:22px 0;
}
.incheon-area-page-v36 .incheon-range-list>div{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.incheon-area-page-v36 .incheon-range-list strong{
  font-size:1.05rem;
  color:var(--ink);
}
.incheon-area-page-v36 .incheon-range-list span{
  color:var(--muted);
  line-height:1.65;
}
.incheon-area-page-v36 .incheon-cost-table{margin-top:20px}
.incheon-area-page-v36 .incheon-photo-list{margin-top:20px}
.incheon-area-page-v36 .incheon-v36-faq{margin-top:26px}
.incheon-area-page-v36 .incheon-related-list{margin-top:16px}
@media(max-width:980px){
  .incheon-area-page-v36 .incheon-hero-grid{grid-template-columns:1fr;gap:28px}
  .incheon-area-page-v36 .incheon-featured-image{max-width:760px}
}
@media(max-width:760px){
  .incheon-area-page-v36 .incheon-core-grid,
  .incheon-area-page-v36 .incheon-detail-gallery,
  .incheon-area-page-v36 .incheon-range-list{grid-template-columns:1fr}
  .incheon-area-page-v36 .incheon-hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .incheon-area-page-v36 .incheon-hero-actions .btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}
@media(max-width:720px){
  .incheon-area-page-v36 .content-wrap.incheon-content-wrap{display:block}
  .incheon-area-page-v36 .toc{display:none}
}
@media(max-width:520px){
  .incheon-area-page-v36 .incheon-hero-actions{grid-template-columns:1fr}
  .incheon-area-page-v36 .incheon-featured-image{padding:7px;border-radius:19px}
  .incheon-area-page-v36 .incheon-featured-image img{border-radius:13px}
  .incheon-area-page-v36 .incheon-compact-article>h2{
    margin-top:38px;
    margin-bottom:12px;
  }
}


/* v37: asphalt shingle lifting repair information page */
.lifting-repair-page-v37 .lifting-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);gap:44px;align-items:center}
.lifting-repair-page-v37 .lifting-hero-copy{min-width:0}
.lifting-repair-page-v37 .lifting-hero-copy h1{margin-bottom:18px}
.lifting-repair-page-v37 .lifting-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.lifting-repair-page-v37 .lifting-featured-image{margin:0;padding:10px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 38px rgba(23,59,39,.10)}
.lifting-repair-page-v37 .lifting-featured-image picture,.lifting-repair-page-v37 .lifting-process-gallery picture{display:block}
.lifting-repair-page-v37 .lifting-featured-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px}
.lifting-repair-page-v37 .lifting-featured-image figcaption{padding:10px 4px 2px;font-size:.92rem;color:var(--muted)}
.lifting-repair-page-v37 .lifting-compact-article>h2{margin-top:46px;margin-bottom:14px;scroll-margin-top:110px}
.lifting-repair-page-v37 .lifting-compact-article>h2:first-child{margin-top:0}
.lifting-repair-page-v37 .lifting-sign-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
.lifting-repair-page-v37 .lifting-sign-grid .card{height:100%}
.lifting-repair-page-v37 .lifting-process-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.lifting-repair-page-v37 .lifting-process-gallery figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}
.lifting-repair-page-v37 .lifting-process-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.lifting-repair-page-v37 .lifting-process-gallery figcaption{padding:13px 14px 15px;color:var(--muted);line-height:1.55}
.lifting-repair-page-v37 .lifting-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.lifting-repair-page-v37 .lifting-scope-grid>div{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.lifting-repair-page-v37 .lifting-scope-grid strong{font-size:1.05rem;color:var(--ink)}
.lifting-repair-page-v37 .lifting-scope-grid span{color:var(--muted);line-height:1.65}
.lifting-repair-page-v37 .lifting-photo-list{margin-top:20px}
.lifting-repair-page-v37 .lifting-v37-faq{margin-top:26px}
.lifting-repair-page-v37 .lifting-related-list{margin-top:16px}
.lifting-repair-page-v37 .lifting-source-box{margin-top:28px}
@media(max-width:980px){.lifting-repair-page-v37 .lifting-hero-grid{grid-template-columns:1fr;gap:28px}.lifting-repair-page-v37 .lifting-featured-image{max-width:760px}}
@media(max-width:760px){.lifting-repair-page-v37 .lifting-sign-grid,.lifting-repair-page-v37 .lifting-scope-grid{grid-template-columns:1fr}.lifting-repair-page-v37 .lifting-hero-actions{display:grid;grid-template-columns:1fr 1fr}.lifting-repair-page-v37 .lifting-hero-actions .btn{width:100%;justify-content:center;text-align:center}}
@media(max-width:720px){.lifting-repair-page-v37 .content-wrap.lifting-content-wrap{display:block}.lifting-repair-page-v37 .toc{display:none}}
@media(max-width:640px){.lifting-repair-page-v37 .lifting-process-gallery{grid-template-columns:1fr}}
@media(max-width:520px){.lifting-repair-page-v37 .lifting-hero-actions{grid-template-columns:1fr}.lifting-repair-page-v37 .lifting-featured-image{padding:7px;border-radius:19px}.lifting-repair-page-v37 .lifting-featured-image img{border-radius:13px}.lifting-repair-page-v37 .lifting-compact-article>h2{margin-top:38px;margin-bottom:12px}}


/* v38: asphalt shingle missing / blown-off repair information page */
.missing-repair-page-v38 .missing-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);gap:44px;align-items:center}
.missing-repair-page-v38 .missing-hero-copy{min-width:0}
.missing-repair-page-v38 .missing-hero-copy h1{margin-bottom:18px}
.missing-repair-page-v38 .missing-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.missing-repair-page-v38 .missing-featured-image{margin:0;padding:10px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 38px rgba(23,59,39,.10)}
.missing-repair-page-v38 .missing-featured-image picture,.missing-repair-page-v38 .missing-process-gallery picture{display:block}
.missing-repair-page-v38 .missing-featured-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px}
.missing-repair-page-v38 .missing-featured-image figcaption{padding:10px 4px 2px;font-size:.92rem;color:var(--muted)}
.missing-repair-page-v38 .missing-compact-article>h2{margin-top:46px;margin-bottom:14px;scroll-margin-top:110px}
.missing-repair-page-v38 .missing-compact-article>h2:first-child{margin-top:0}
.missing-repair-page-v38 .missing-sign-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
.missing-repair-page-v38 .missing-sign-grid .card{height:100%}
.missing-repair-page-v38 .missing-process-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.missing-repair-page-v38 .missing-process-gallery figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}
.missing-repair-page-v38 .missing-process-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.missing-repair-page-v38 .missing-process-gallery figcaption{padding:13px 14px 15px;color:var(--muted);line-height:1.55}
.missing-repair-page-v38 .missing-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.missing-repair-page-v38 .missing-scope-grid>div{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.missing-repair-page-v38 .missing-scope-grid strong{font-size:1.05rem;color:var(--ink)}
.missing-repair-page-v38 .missing-scope-grid span{color:var(--muted);line-height:1.65}
.missing-repair-page-v38 .missing-photo-list{margin-top:20px}
.missing-repair-page-v38 .missing-v38-faq{margin-top:26px}
.missing-repair-page-v38 .missing-related-list{margin-top:16px}
.missing-repair-page-v38 .missing-source-box{margin-top:28px}
@media(max-width:980px){.missing-repair-page-v38 .missing-hero-grid{grid-template-columns:1fr;gap:28px}.missing-repair-page-v38 .missing-featured-image{max-width:760px}}
@media(max-width:760px){.missing-repair-page-v38 .missing-sign-grid,.missing-repair-page-v38 .missing-scope-grid{grid-template-columns:1fr}.missing-repair-page-v38 .missing-hero-actions{display:grid;grid-template-columns:1fr 1fr}.missing-repair-page-v38 .missing-hero-actions .btn{width:100%;justify-content:center;text-align:center}}
@media(max-width:720px){.missing-repair-page-v38 .content-wrap.missing-content-wrap{display:block}.missing-repair-page-v38 .toc{display:none}}
@media(max-width:640px){.missing-repair-page-v38 .missing-process-gallery{grid-template-columns:1fr}}
@media(max-width:520px){.missing-repair-page-v38 .missing-hero-actions{grid-template-columns:1fr}.missing-repair-page-v38 .missing-featured-image{padding:7px;border-radius:19px}.missing-repair-page-v38 .missing-featured-image img{border-radius:13px}.missing-repair-page-v38 .missing-compact-article>h2{margin-top:38px;margin-bottom:12px}}


/* v41: asphalt shingle ridge repair information page */
.ridge-repair-page-v41 .ridge-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);gap:44px;align-items:center}
.ridge-repair-page-v41 .ridge-hero-copy{min-width:0}
.ridge-repair-page-v41 .ridge-hero-copy h1{margin-bottom:18px}
.ridge-repair-page-v41 .ridge-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.ridge-repair-page-v41 .ridge-featured-image{margin:0;padding:10px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 38px rgba(23,59,39,.10)}
.ridge-repair-page-v41 .ridge-featured-image picture,.ridge-repair-page-v41 .ridge-process-gallery picture{display:block}
.ridge-repair-page-v41 .ridge-featured-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px}
.ridge-repair-page-v41 .ridge-featured-image figcaption{padding:10px 4px 2px;font-size:.92rem;color:var(--muted)}
.ridge-repair-page-v41 .ridge-compact-article>h2{margin-top:46px;margin-bottom:14px;scroll-margin-top:110px}
.ridge-repair-page-v41 .ridge-compact-article>h2:first-child{margin-top:0}
.ridge-repair-page-v41 .ridge-sign-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
.ridge-repair-page-v41 .ridge-sign-grid .card{height:100%}
.ridge-repair-page-v41 .ridge-process-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.ridge-repair-page-v41 .ridge-process-gallery figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}
.ridge-repair-page-v41 .ridge-process-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.ridge-repair-page-v41 .ridge-process-gallery figcaption{padding:13px 14px 15px;color:var(--muted);line-height:1.55}
.ridge-repair-page-v41 .ridge-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.ridge-repair-page-v41 .ridge-scope-grid>div{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.ridge-repair-page-v41 .ridge-scope-grid strong{font-size:1.05rem;color:var(--ink)}
.ridge-repair-page-v41 .ridge-scope-grid span{color:var(--muted);line-height:1.65}
.ridge-repair-page-v41 .ridge-photo-list{margin-top:20px}
.ridge-repair-page-v41 .ridge-v41-faq{margin-top:26px}
.ridge-repair-page-v41 .ridge-related-list{margin-top:16px}
@media(max-width:980px){.ridge-repair-page-v41 .ridge-hero-grid{grid-template-columns:1fr;gap:28px}.ridge-repair-page-v41 .ridge-featured-image{max-width:760px}}
@media(max-width:760px){.ridge-repair-page-v41 .ridge-sign-grid,.ridge-repair-page-v41 .ridge-scope-grid{grid-template-columns:1fr}.ridge-repair-page-v41 .ridge-hero-actions{display:grid;grid-template-columns:1fr 1fr}.ridge-repair-page-v41 .ridge-hero-actions .btn{width:100%;justify-content:center;text-align:center}}
@media(max-width:720px){.ridge-repair-page-v41 .content-wrap.ridge-content-wrap{display:block}.ridge-repair-page-v41 .toc{display:none}}
@media(max-width:640px){.ridge-repair-page-v41 .ridge-process-gallery{grid-template-columns:1fr}}
@media(max-width:520px){.ridge-repair-page-v41 .ridge-hero-actions{grid-template-columns:1fr}.ridge-repair-page-v41 .ridge-featured-image{padding:7px;border-radius:19px}.ridge-repair-page-v41 .ridge-featured-image img{border-radius:13px}.ridge-repair-page-v41 .ridge-compact-article>h2{margin-top:38px;margin-bottom:12px}}


/* v42: asphalt shingle plywood replacement information page */
.plywood-replacement-page-v42 .plywood-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);gap:44px;align-items:center}
.plywood-replacement-page-v42 .plywood-hero-copy{min-width:0}
.plywood-replacement-page-v42 .plywood-hero-copy h1{margin-bottom:18px}
.plywood-replacement-page-v42 .plywood-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.plywood-replacement-page-v42 .plywood-featured-image{margin:0;padding:10px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 38px rgba(23,59,39,.10)}
.plywood-replacement-page-v42 .plywood-featured-image picture,.plywood-replacement-page-v42 .plywood-process-gallery picture{display:block}
.plywood-replacement-page-v42 .plywood-featured-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px}
.plywood-replacement-page-v42 .plywood-featured-image figcaption{padding:10px 4px 2px;font-size:.92rem;color:var(--muted)}
.plywood-replacement-page-v42 .plywood-compact-article>h2{margin-top:46px;margin-bottom:14px;scroll-margin-top:110px}
.plywood-replacement-page-v42 .plywood-compact-article>h2:first-child{margin-top:0}
.plywood-replacement-page-v42 .plywood-sign-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
.plywood-replacement-page-v42 .plywood-sign-grid .card{height:100%}
.plywood-replacement-page-v42 .plywood-process-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.plywood-replacement-page-v42 .plywood-process-gallery figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}
.plywood-replacement-page-v42 .plywood-process-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.plywood-replacement-page-v42 .plywood-process-gallery figcaption{padding:13px 14px 15px;color:var(--muted);line-height:1.55}
.plywood-replacement-page-v42 .plywood-waterproof-grid,.plywood-replacement-page-v42 .plywood-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.plywood-replacement-page-v42 .plywood-waterproof-grid>div,.plywood-replacement-page-v42 .plywood-scope-grid>div{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.plywood-replacement-page-v42 .plywood-waterproof-grid strong,.plywood-replacement-page-v42 .plywood-scope-grid strong{font-size:1.05rem;color:var(--ink)}
.plywood-replacement-page-v42 .plywood-waterproof-grid span,.plywood-replacement-page-v42 .plywood-scope-grid span{color:var(--muted);line-height:1.65}
.plywood-replacement-page-v42 .plywood-photo-list{margin-top:18px}
.plywood-replacement-page-v42 .plywood-v42-faq{margin-top:26px}
.plywood-replacement-page-v42 .plywood-related-list{margin-top:16px}
@media(max-width:980px){.plywood-replacement-page-v42 .plywood-hero-grid{grid-template-columns:1fr;gap:28px}.plywood-replacement-page-v42 .plywood-featured-image{max-width:760px}}
@media(max-width:760px){.plywood-replacement-page-v42 .plywood-sign-grid,.plywood-replacement-page-v42 .plywood-waterproof-grid,.plywood-replacement-page-v42 .plywood-scope-grid{grid-template-columns:1fr}.plywood-replacement-page-v42 .plywood-hero-actions{display:grid;grid-template-columns:1fr 1fr}.plywood-replacement-page-v42 .plywood-hero-actions .btn{width:100%;justify-content:center;text-align:center}}
@media(max-width:720px){.plywood-replacement-page-v42 .content-wrap.plywood-content-wrap{display:block}.plywood-replacement-page-v42 .toc{display:none}}
@media(max-width:640px){.plywood-replacement-page-v42 .plywood-process-gallery{grid-template-columns:1fr}}
@media(max-width:520px){.plywood-replacement-page-v42 .plywood-hero-actions{grid-template-columns:1fr}.plywood-replacement-page-v42 .plywood-featured-image{padding:7px;border-radius:19px}.plywood-replacement-page-v42 .plywood-featured-image img{border-radius:13px}.plywood-replacement-page-v42 .plywood-compact-article>h2{margin-top:38px;margin-bottom:12px}}
