
:root{--bg:#fff4c9;--bg2:#fff9df;--paper:#fffdf4;--ink:#24312f;--muted:#66706b;--line:#e5d9a9;--accent:#55abc4;--accent-deep:#236f82;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Malgun Gothic",Arial,sans-serif;line-height:1.7;word-break:keep-all}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.shell{width:min(calc(100% - 48px),var(--max));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:14px;top:14px;z-index:999;background:#fff;padding:8px 12px;border:1px solid var(--line)}
.site-header{position:sticky;top:0;z-index:40;height:72px;background:rgba(255,253,244,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:100%;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:9px;flex:0 0 auto}.brand img{width:42px;height:42px;object-fit:contain}.brand strong{font-size:22px;letter-spacing:-.04em}.nav{display:flex;gap:24px;margin-left:auto;align-items:center}.nav a{font-size:14px;font-weight:800;color:#4e5d58}.nav a:hover{color:var(--accent-deep)}.phone{font-size:14px;font-weight:900;color:var(--accent-deep);padding-left:22px;border-left:1px solid var(--line);white-space:nowrap}.menu{display:none;margin-left:auto;border:0;background:none;font-weight:900;color:var(--ink)}
.hero{padding:64px 0 72px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center}.eyebrow{font-size:13px;font-weight:900;color:var(--accent-deep);letter-spacing:.05em;margin-bottom:14px}.hero h1{font-size:clamp(44px,4.6vw,62px);line-height:1.05;letter-spacing:-.06em;margin:0 0 22px;white-space:nowrap}.hero-copy{font-size:18px;color:#4f625d;margin:0;max-width:600px}.hero-copy strong{color:var(--ink)}.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}.hero-actions a{font-weight:900;font-size:14px;border-bottom:2px solid var(--accent);padding:4px 0;color:var(--accent-deep)}.hero-image{margin:0;background:var(--paper);border:1px solid var(--line);padding:12px;border-radius:26px;box-shadow:0 22px 60px rgba(87,75,28,.08)}.hero-image img{width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:17px}.hero-image figcaption{font-size:12px;color:#69756f;padding:10px 4px 1px}
.section{padding:76px 0}.section.paper{background:var(--paper);border-top:1px solid rgba(229,217,169,.7);border-bottom:1px solid rgba(229,217,169,.7)}.section-head{margin-bottom:30px}.section-head h2{font-size:clamp(30px,4vw,42px);line-height:1.2;letter-spacing:-.045em;margin:0}.section-head p{margin:10px 0 0;color:var(--muted);font-size:16px;max-width:820px}.info-table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.5);border-top:2px solid var(--ink)}.info-table th,.info-table td{padding:16px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:15px}.info-table th{width:190px;font-size:14px;color:#42514d;font-weight:900;background:rgba(255,255,255,.38)}.info-table td{color:#53615d}.note{margin:14px 0 0;font-size:13px;color:#6d7773}
.service-list{border-top:2px solid var(--ink)}.service-row{display:grid;grid-template-columns:390px 1fr;gap:42px;align-items:center;padding:36px 0;border-bottom:1px solid var(--line)}.service-photo{display:block;overflow:hidden;border-radius:18px;background:#eee}.service-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-title{font-size:30px;font-weight:900;line-height:1.25;letter-spacing:-.045em;margin:0 0 10px;color:var(--ink)}.service-copy p{margin:0 0 14px;color:var(--muted);font-size:16px}.service-meta{display:grid;grid-template-columns:110px 1fr;margin:14px 0 18px;border-top:1px solid var(--line);font-size:14px}.service-meta b,.service-meta span{padding:8px 0;border-bottom:1px solid var(--line)}.service-meta span{color:#5b6864}.more{font-size:14px;font-weight:900;color:var(--accent-deep);border-bottom:1px solid var(--accent);padding-bottom:2px}
.criteria-table td:first-child{width:160px;font-weight:900;color:var(--ink)}.expert{font-size:17px;margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line);color:#4d5c58}.expert strong{color:var(--ink)}
.page-hero{padding:52px 0 64px}.crumb{font-size:12px;color:#79837f;margin-bottom:20px}.page-hero-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:50px;align-items:center}.page-hero h1{font-size:clamp(44px,5.4vw,64px);line-height:1.05;letter-spacing:-.055em;margin:0 0 20px}.page-lead{font-size:17px;color:#52625d;margin:0}.page-hero-visual{margin:0;background:var(--paper);border:1px solid var(--line);padding:12px;border-radius:24px;box-shadow:0 20px 55px rgba(87,75,28,.08);overflow:hidden}.page-hero-visual img{width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:16px}.page-hero-visual figcaption{font-size:14px;line-height:1.58;font-weight:700;color:#43514c;padding:12px 8px 4px;border-top:1px solid rgba(229,217,169,.72);margin-top:10px}.summary{margin-top:42px}
.two-col{display:grid;grid-template-columns:1.05fr .85fr;gap:40px;align-items:center}.prose h2{font-size:34px;letter-spacing:-.045em;line-height:1.24;margin:0 0 16px}.prose p{font-size:17px;color:#50605b;margin:0}.feature-photo{margin:0;border-radius:20px;overflow:hidden;background:#eee;width:100%;max-width:520px;justify-self:end}.feature-photo img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center}
.process-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.step{background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:20px;overflow:hidden}.step img{width:100%;aspect-ratio:4/3;object-fit:cover}.step-text{padding:18px 20px 21px}.step-no{font-size:12px;font-weight:900;color:var(--accent-deep);letter-spacing:.05em}.step-title{font-size:21px;font-weight:900;line-height:1.38;letter-spacing:-.03em;margin:4px 0 6px;color:var(--ink)}.step p{font-size:14px;color:var(--muted);margin:0}
.faq{border-top:2px solid var(--ink)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;font-size:17px;font-weight:900;padding:18px 4px}.faq summary::-webkit-details-marker{display:none}.faq p{margin:0;padding:0 4px 18px;color:var(--muted);max-width:900px}.related{border-top:2px solid var(--ink)}.related a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:17px 4px;border-bottom:1px solid var(--line)}.related-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.related b{display:block;font-size:18px;line-height:1.42;letter-spacing:-.02em;color:var(--ink)}.related small{display:block;font-size:14px;line-height:1.68;color:var(--muted)}.related span{color:var(--accent-deep);font-weight:900;white-space:nowrap}.consult{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding-top:26px;border-top:2px solid var(--ink)}.consult h2{font-size:30px;letter-spacing:-.04em;margin:0 0 8px}.consult p{margin:0;color:var(--muted)}.consult a{font-size:22px;font-weight:900;color:var(--accent-deep);white-space:nowrap}
.all-list{border-top:2px solid var(--ink)}.all-list a{display:grid;grid-template-columns:200px 1fr auto;gap:26px;padding:18px 4px;border-bottom:1px solid var(--line);align-items:start}.all-list b{font-size:17px}.all-list p{margin:0;color:var(--muted);font-size:14px}.all-list span{font-weight:900;color:var(--accent-deep)}
.footer{background:#273431;color:#f7f4df;padding:44px 0 84px}.footer-grid{display:grid;grid-template-columns:1.05fr 1fr .8fr;gap:42px;align-items:start}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.footer .brand strong{color:#fff}.footer-brand{margin-bottom:2px}.footer p,.footer a{display:block;font-size:13px;line-height:1.72;color:#cbd0c7;margin:0}.footer b{display:block;font-size:13px;line-height:1.5;color:#fff;margin:0 0 4px}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:16px;font-size:12px;color:#9ca69f}.mobile-call{display:none}
@media(max-width:980px){.nav{display:none}.phone{margin-left:auto}.menu{display:block}.nav-open .nav{display:flex;position:absolute;top:72px;left:24px;right:24px;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:8px 18px;box-shadow:0 18px 50px rgba(50,45,23,.14)}.nav-open .nav a{padding:12px 0;border-bottom:1px solid var(--line)}.hero-grid,.page-hero-grid,.two-col{display:grid;grid-template-columns:1.05fr .85fr;gap:40px;align-items:center}.hero-image,.page-hero-visual{max-width:760px}.service-row{grid-template-columns:330px 1fr;gap:30px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/3}}
@media(max-width:700px){body{padding-bottom:62px}.shell{width:min(calc(100% - 28px),var(--max))}.site-header{height:66px}.brand img{width:38px;height:38px}.brand strong{font-size:20px}.phone{display:none}.nav-open .nav{top:66px;left:14px;right:14px}.hero{padding:38px 0 50px}.hero h1{font-size:clamp(44px,4.6vw,62px);line-height:1.05;letter-spacing:-.06em;margin:0 0 22px;white-space:nowrap}.hero-copy{font-size:16px}.hero-image{padding:8px;border-radius:18px}.hero-image img{border-radius:12px}.section{padding:54px 0}.section-head{margin-bottom:24px}.section-head h2{font-size:30px}.section-head p{font-size:15px}.info-table{display:block;overflow-x:auto}.info-table th,.info-table td{padding:13px 12px;min-width:125px}.info-table th{width:140px}.service-row{grid-template-columns:1fr;gap:17px;padding:30px 0}.service-title{font-size:27px}.service-meta{grid-template-columns:90px 1fr}.page-hero{padding:34px 0 50px}.page-hero h1{font-size:40px}.page-lead{font-size:16px}.page-hero-visual{padding:8px;border-radius:18px}.page-hero-visual img{border-radius:12px}.summary{margin-top:30px}.prose h2{font-size:28px}.prose p{font-size:16px}.process-grid{grid-template-columns:1fr;gap:18px}.step-text{padding:16px 17px 19px}.consult{grid-template-columns:1fr}.consult h2{font-size:27px}.consult a{font-size:20px}.all-list a{grid-template-columns:1fr auto;gap:8px}.all-list p{grid-column:1/3}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.mobile-call{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60}.mobile-call a{height:62px;display:flex;align-items:center;justify-content:center;background:#2d8094;color:#fff;font-weight:900}.footer{padding-bottom:92px}}

.hero-gallery{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--paper);border:1px solid var(--line);padding:12px;border-radius:26px;box-shadow:0 22px 60px rgba(87,75,28,.08)}
.hero-gallery figure{margin:0;position:relative;overflow:hidden;border-radius:16px;background:#eee;min-height:365px}
.hero-gallery img{width:100%;height:100%;min-height:365px;object-fit:cover}
.hero-gallery figure:first-child img{object-position:center 58%}
.hero-gallery figure:last-child img{object-position:center 52%}
.hero-gallery figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,253,244,.94);border:1px solid rgba(229,217,169,.95);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;color:#34443f}
.page-hero-grid{grid-template-columns:1fr .9fr;gap:44px;align-items:center}
.page-hero-visual{max-width:600px;justify-self:end}
.page-hero-visual img{aspect-ratio:1200/630;object-fit:cover;object-position:center}
.hero-gallery img,.page-hero-visual img,.service-photo img,.feature-photo img,.step img{transition:transform .42s cubic-bezier(.2,.7,.2,1),filter .42s ease}
.hero-gallery figure:hover img,.page-hero-visual:hover img,.service-photo:hover img,.feature-photo:hover img,.step:hover img{transform:scale(1.035) translateY(-2px);filter:saturate(1.03) contrast(1.015)}
.service-photo,.feature-photo,.step,.page-hero-visual,.hero-gallery figure{overflow:hidden}
.faq p{line-height:1.82}
@media(prefers-reduced-motion:reduce){.hero-gallery img,.page-hero-visual img,.service-photo img,.feature-photo img,.step img{transition:none}.hero-gallery figure:hover img,.page-hero-visual:hover img,.service-photo:hover img,.feature-photo:hover img,.step:hover img{transform:none}}
@media(max-width:980px){.hero-gallery{max-width:760px}.page-hero-visual{justify-self:start;max-width:760px}}
@media(max-width:700px){
.hero-gallery{gap:8px;padding:8px;border-radius:18px}
.hero-gallery figure{min-height:250px;border-radius:12px}
.hero-gallery img{min-height:250px}
.hero-gallery figcaption{left:8px;bottom:8px;padding:5px 8px;font-size:11px}
.feature-photo{max-width:none;justify-self:stretch}
.feature-photo img{aspect-ratio:4/3}
.page-hero-visual{max-width:none}
}

/* v4 responsive final override */
@media(max-width:980px){
  .hero-grid,.page-hero-grid,.two-col{grid-template-columns:1fr;gap:28px}
  .hero-gallery,.page-hero-visual,.feature-photo{width:100%;max-width:760px;justify-self:stretch}
}
@media(max-width:700px){
  .hero h1{font-size:34px;line-height:1.08;white-space:nowrap;letter-spacing:-.055em;margin-bottom:18px}
  .hero-gallery figure,.hero-gallery img{min-height:220px}
}

.table-note{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.65}

/* v7 detail hero: 텍스트 왼쪽 + 손상 대표사진 오른쪽 */
.page-hero{padding:46px 0 54px}
.page-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:42px;
  align-items:center;
}
.page-hero-visual{
  width:100%;
  max-width:430px;
  justify-self:end;
  margin:0;
  padding:10px;
  border-radius:22px;
}
.page-hero-visual img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  border-radius:14px;
}
.page-hero-visual figcaption{
  padding:9px 3px 1px;
  line-height:1.45;
}
.page-hero .summary{margin-top:34px}

/* 781~980px: 메뉴는 모바일형이어도 본문은 2열 유지 */
@media (min-width:781px) and (max-width:980px){
  .page-hero-grid{
    grid-template-columns:minmax(0,1fr) 360px;
    gap:30px;
  }
  .page-hero-visual{
    max-width:360px;
    justify-self:end;
  }
  .page-hero h1{font-size:clamp(40px,5.2vw,54px)}
  .page-lead{font-size:16px;line-height:1.78}
}

/* 실제 모바일에서만 1열 */
@media (max-width:780px){
  .page-hero{padding:32px 0 44px}
  .page-hero-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .page-hero-visual{
    max-width:520px;
    justify-self:start;
  }
  .page-hero-visual img{aspect-ratio:4/3}
}

/* 아주 작은 화면 */
@media (max-width:480px){
  .page-hero-visual{max-width:none}
  .page-hero h1{font-size:36px}
}

/* content prose layout */
.section-lead{max-width:980px;margin:0 0 26px;font-size:17px;line-height:1.82;color:var(--muted)}
.prose-list{border-top:1px solid var(--line)}
.prose-list article{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(0,1.8fr);gap:34px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
.item-title{margin:0;font-size:20px;font-weight:900;line-height:1.45;letter-spacing:-.035em;color:var(--ink)}
.prose-list p{margin:0;font-size:16px;line-height:1.85;color:var(--muted)}
.summary-prose{margin-top:32px;padding:22px 24px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);background:rgba(255,255,255,.28)}
.summary-prose p{margin:0;font-size:16px;line-height:1.85;color:var(--muted)}
.standards-note{margin:18px 0 0;font-size:14px;line-height:1.75;color:var(--muted)}
@media(max-width:780px){
  .section-lead{font-size:15.5px;line-height:1.78;margin-bottom:20px}
  .prose-list article{grid-template-columns:1fr;gap:8px;padding:20px 0}
  .item-title{font-size:18px}
  .prose-list p{font-size:15px;line-height:1.8}
  .summary-prose{margin-top:26px;padding:18px 0;background:transparent}
  .summary-prose p{font-size:15px;line-height:1.8}
}

.single-prose{max-width:900px}
.single-prose p{margin:0;font-size:17px;line-height:1.86;color:var(--muted)}
@media(max-width:700px){
  .single-prose p{font-size:16px;line-height:1.82}
}

/* v15 unified service-card component */
.service-row>.service-copy>.service-meta{display:grid;grid-template-columns:110px minmax(0,1fr);margin:14px 0 18px;border-top:1px solid var(--line);font-size:14px}
.service-row>.service-copy>.service-meta>b,.service-row>.service-copy>.service-meta>span{display:block;padding:8px 0;border-bottom:1px solid var(--line)}
.service-row>.service-copy>.service-meta>span{color:#5b6864}
.service-row>.service-copy>.more{display:inline-block;font-size:14px;font-weight:900;color:var(--accent-deep);border-bottom:1px solid var(--accent);padding-bottom:2px}
@media(max-width:700px){.service-row>.service-copy>.service-meta{grid-template-columns:90px minmax(0,1fr)}}


/* v17 section intro + scalable case hub */
.section-intro{max-width:900px;margin:-14px 0 28px;color:var(--muted);font-size:16px;line-height:1.82}
.case-hub-link{display:flex;justify-content:flex-end;margin-top:24px}
.case-hub-link a{display:inline-block;font-size:15px;font-weight:900;color:var(--accent-deep);border-bottom:2px solid var(--accent);padding:4px 0}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.case-card{overflow:hidden;background:rgba(255,255,255,.56);border:1px solid var(--line);border-radius:20px}
.case-photo{display:block;overflow:hidden;background:#eee}
.case-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .42s ease,filter .42s ease}
.case-photo:hover img{transform:scale(1.035) translateY(-2px);filter:saturate(1.03) contrast(1.02)}
.case-copy{padding:20px 22px 22px}
.case-title{margin:0 0 9px;font-size:23px;font-weight:900;line-height:1.3;letter-spacing:-.035em;color:var(--ink)}
.case-copy>p:not(.case-title){margin:0 0 14px;color:var(--muted);font-size:15px;line-height:1.75}
@media(max-width:700px){
 .section-intro{margin:-10px 0 22px;font-size:15px;line-height:1.78}
 .case-grid{grid-template-columns:1fr;gap:18px}
 .case-copy{padding:17px 18px 20px}
 .case-title{font-size:21px}
 .case-hub-link{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.case-photo img{transition:none}.case-photo:hover img{transform:none;filter:none}}


/* v18 readability + unified content scale */
.section{padding:64px 0}
.section-head{margin-bottom:22px}
.section-head h2{font-size:clamp(30px,3.2vw,38px);line-height:1.24;letter-spacing:-.042em}
.section-intro{max-width:920px;margin:-6px 0 22px;color:var(--muted);font-size:16px;line-height:1.78}

.service-row{grid-template-columns:350px minmax(0,1fr);gap:38px;padding:32px 0}
.service-title{font-size:27px}
.service-copy p{font-size:16px;line-height:1.78}

.process-grid{max-width:1060px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.step img{aspect-ratio:16/11}
.step-text{padding:16px 18px 19px}
.step-title{font-size:19px;line-height:1.4;margin:4px 0 7px}
.step p{font-size:16px;line-height:1.78}

.prose-list{max-width:1040px;margin:0 auto;border-top:1px solid var(--line)}
.prose-list article{grid-template-columns:minmax(190px,.68fr) minmax(0,1.8fr);gap:28px;padding:20px 0}
.item-title{font-size:19px;line-height:1.42}
.prose-list p{font-size:16px;line-height:1.8}

.single-prose{max-width:1040px;margin:0 auto}
.single-prose p{font-size:16px;line-height:1.8}

.faq{max-width:1040px;margin:0 auto;border-top:2px solid var(--ink)}
.faq summary{font-size:17px;padding:16px 4px}
.faq p{font-size:16px;line-height:1.8;padding:0 4px 16px}

.related{max-width:1040px;margin:0 auto}
.related a{font-size:15px;padding:14px 4px}

.consult{max-width:1040px;margin:0 auto}
.consult h2{font-size:clamp(28px,3vw,34px)}
.consult p{font-size:16px;line-height:1.78}

.case-grid{max-width:1080px;margin:0 auto;gap:22px}
.case-photo img{aspect-ratio:16/11}
.case-copy{padding:18px 20px 20px}
.case-title{font-size:21px}
.case-copy>p:not(.case-title){font-size:16px;line-height:1.72}

@media(max-width:980px){
  .service-row{grid-template-columns:320px minmax(0,1fr);gap:28px}
}
@media(max-width:700px){
  .section{padding:48px 0}
  .section-head{margin-bottom:20px}
  .section-head h2{font-size:29px}
  .section-intro{margin:-6px 0 20px;font-size:15.5px;line-height:1.76}
  .service-row{grid-template-columns:1fr;gap:16px;padding:27px 0}
  .service-title{font-size:25px}
  .process-grid{grid-template-columns:1fr;gap:17px}
  .step img{aspect-ratio:16/11}
  .step-title{font-size:18px}
  .step p{font-size:15.5px}
  .prose-list article{grid-template-columns:1fr;gap:7px;padding:18px 0}
  .item-title{font-size:18px}
  .prose-list p,.single-prose p,.faq p,.consult p{font-size:15.5px;line-height:1.78}
  .case-grid{grid-template-columns:1fr;gap:17px}
  .case-photo img{aspect-ratio:16/11}
  .case-copy{padding:16px 17px 18px}
  .case-title{font-size:20px}
  .case-copy>p:not(.case-title){font-size:15.5px}
}

/* v48 footer navigation: prevent standalone separator artifacts */
.footer-page-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:7px}
.footer .footer-page-links a{display:inline-block;margin:0}

@media(max-width:700px){.page-hero-visual figcaption{font-size:13px;padding:10px 6px 2px}.related a{grid-template-columns:1fr;gap:8px;align-items:start}.related span{font-size:14px}}

/* 지역 시공 안내: 실제 파손 사진을 우선하는 히어로 비율 */
/* 분당 지역페이지: 단일 사진은 원본 1200:630 비율로, 제목/사진 비중을 통일 */
@media(min-width:981px){
.region-hero .page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:36px}
.region-hero .page-hero-visual{max-width:460px}
.region-hero h1{font-size:clamp(40px,4vw,56px);line-height:1.1}
}
@media(min-width:781px) and (max-width:980px){
.region-hero .page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:28px}
.region-hero h1{font-size:clamp(38px,4.2vw,48px)}
}
.region-hero .page-hero-visual img{aspect-ratio:1200/630;object-fit:cover}
@media(max-width:780px){
.region-hero .page-hero-grid{grid-template-columns:1fr;gap:24px}
.region-hero .page-hero-visual{max-width:none;justify-self:stretch}
.region-hero .page-hero-visual img{aspect-ratio:1200/630}
}
@media(max-width:700px){.region-hero .page-hero-visual{padding:8px;border-radius:18px}.region-hero .page-hero-visual img{border-radius:12px}}

/* v61: regional case hero uses natural 4:3 still-photograph ratio, separate from OG. */
.region-hero.region-hero-natural .page-hero-visual{min-width:0}
.region-hero.region-hero-natural .page-hero-visual img{
  display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;
}

/* v64 — preserve original 4:3 process photographs on regional detail pages. */
.region-content .step img{aspect-ratio:4/3;object-fit:cover}
.region-content .step picture{display:block;line-height:0}

/* v71: relevant repairs — four consistent photo cards, 4 columns desktop / 2 columns mobile. */
.related-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.related-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;text-decoration:none;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 22px rgba(37,51,45,.04);transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
.related-card:hover{border-color:#9eaaa0;box-shadow:0 12px 28px rgba(37,51,45,.12);transform:translateY(-2px)}
.related-card:focus-visible{outline:3px solid #087392;outline-offset:3px}
.related-card-media{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#e4e9e6}
.related-card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.related-card-info{padding:13px 13px 14px;display:flex;flex:1;flex-direction:column;gap:8px}
.related-card-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.43;min-height:2.86em;font-size:16px;font-weight:850;letter-spacing:-.025em;color:var(--ink);overflow-wrap:anywhere}
.related-card-cta{font-size:12px;font-weight:800;line-height:1.35;color:var(--accent-deep);margin-top:auto}
.related-all-link{display:flex;justify-content:flex-end;margin:18px 0 0}
.related-all-link a{font-size:14px;font-weight:850;color:var(--accent-deep);border-bottom:1px solid currentColor;padding:3px 0}
@media(max-width:700px){.related-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.related-card{border-radius:13px}.related-card-info{padding:10px 10px 12px;gap:7px}.related-card-title{font-size:14px;line-height:1.44;min-height:2.88em}.related-card-cta{font-size:11px}.related-all-link{justify-content:center;margin-top:19px}}
@media(max-width:340px){.related-card-grid{gap:9px}.related-card-info{padding:9px}}
@media(prefers-reduced-motion:reduce){.related-card{transition:none}.related-card:hover{transform:none}}




/* v72 homepage featured work: consistent 8 real-work photo cards, 4x2 / 2x4. */
.featured-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:16px;row-gap:20px;align-items:stretch;margin:24px 0 10px}
.featured-work-item{min-width:0;margin:0;padding:0}
.featured-work-card{display:flex;flex-direction:column;height:100%;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.62);color:var(--ink);text-decoration:none;box-shadow:0 3px 12px rgba(25,41,41,.045);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.featured-work-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 6px 18px rgba(25,41,41,.09)}
.featured-work-card:focus-visible{outline:3px solid var(--accent-deep);outline-offset:3px}
.featured-work-media{display:block;overflow:hidden;width:100%;background:#eeeee8}
.featured-work-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;max-width:none;height:auto;transition:transform .25s ease}
.featured-work-card:hover .featured-work-media img{transform:scale(1.025)}
.featured-work-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0;padding:15px 15px 17px}
.featured-work-type{display:block;color:var(--muted);font-size:12px;font-weight:700;line-height:1.4;letter-spacing:0}
.featured-work-title{display:block;margin:5px 0 9px;font-size:18px;font-weight:850;letter-spacing:-.035em;line-height:1.35;color:var(--ink);overflow-wrap:break-word}
.featured-work-summary{display:block;margin:0;color:var(--muted);font-size:13.5px;line-height:1.65;overflow-wrap:break-word}
.featured-work-more{display:inline-block;margin-top:auto;padding-top:17px;color:var(--accent-deep);font-weight:800;font-size:13px;line-height:1.5;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
@media(max-width:1050px){.featured-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.featured-work-body{padding:16px 17px 18px}.featured-work-title{font-size:20px}.featured-work-summary{font-size:14px}}
@media(max-width:700px){.featured-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:20px 0 8px}.featured-work-card{border-radius:13px;box-shadow:none}.featured-work-body{padding:12px 11px 13px}.featured-work-type{font-size:11px}.featured-work-title{font-size:16px;line-height:1.35;margin:5px 0 7px;word-break:keep-all}.featured-work-summary{font-size:12.5px;line-height:1.55;word-break:keep-all}.featured-work-more{padding-top:10px;font-size:12px}}
@media(max-width:359px){.featured-work-grid{grid-template-columns:1fr;gap:14px}.featured-work-body{padding:15px 17px}.featured-work-title{font-size:19px}.featured-work-summary{font-size:14px}}
@media(prefers-reduced-motion:reduce){.featured-work-card,.featured-work-media img{transition:none}.featured-work-card:hover,.featured-work-card:hover .featured-work-media img{transform:none}}


/* v73 home restructure: shared visual language, reduced lead-in, 8 consistent photo cards */
.ongyeol-home .hero{padding:46px 0 42px}
.ongyeol-home .hero-grid{gap:30px}
.ongyeol-home .hero h1{font-size:clamp(34px,3.9vw,51px);letter-spacing:-.055em;white-space:normal;line-height:1.16;margin-bottom:18px}
.ongyeol-home .hero-copy{font-size:16px;line-height:1.8;max-width:590px}
.ongyeol-home .hero-actions{margin-top:20px}
.ongyeol-home .hero-gallery figure,.ongyeol-home .hero-gallery img{min-height:0;height:280px}
.ongyeol-home #services{padding:50px 0 60px}
.ongyeol-home #services .section-head{margin-bottom:17px}
.ongyeol-home #services .section-intro{margin-bottom:16px}
.ongyeol-home #services .featured-work-grid{margin-top:19px}
.ongyeol-home .featured-work-card{background:rgba(255,255,255,.72)}
.ongyeol-home .featured-work-body{padding:14px 14px 16px}
.ongyeol-home .featured-work-summary{line-height:1.55}
.ongyeol-home .prose-list .item-title a{color:inherit;text-decoration:none}
.ongyeol-home .prose-list .item-title a:hover,.ongyeol-home .prose-list .item-title a:focus-visible{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){.ongyeol-home .hero{padding:32px 0 34px}.ongyeol-home .hero-grid{gap:20px}.ongyeol-home .hero-gallery figure,.ongyeol-home .hero-gallery img{height:210px}}
@media(max-width:700px){
  .ongyeol-home .hero{padding:29px 0 30px}
  .ongyeol-home .hero h1{font-size:32px;white-space:normal;margin-bottom:13px}
  .ongyeol-home .hero-copy{font-size:15px;line-height:1.7}
  .ongyeol-home .hero-gallery figure,.ongyeol-home .hero-gallery img{height:155px}
  .ongyeol-home #services{padding:36px 0 42px}
  .ongyeol-home #services .section-head h2{font-size:27px}
  .ongyeol-home .featured-work-body{padding:11px 11px 13px}
  .ongyeol-home .featured-work-title{font-size:15px;line-height:1.38}
  .ongyeol-home .featured-work-summary{font-size:12px;line-height:1.6}
  .ongyeol-home .featured-work-more{font-size:12px}
}
@media(max-width:360px){.ongyeol-home .hero h1{font-size:29px}.ongyeol-home .featured-work-title{font-size:14px}}
/* Keep the two-column case overview usable on narrow 320px phones. */
@media(max-width:359px){
 .ongyeol-home .featured-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .ongyeol-home .featured-work-body{padding:10px 9px 12px}
 .ongyeol-home .featured-work-type{font-size:10px}
 .ongyeol-home .featured-work-title{font-size:13.5px;line-height:1.35}
 .ongyeol-home .featured-work-summary{font-size:11.5px;line-height:1.53}
 .ongyeol-home .featured-work-more{font-size:11.5px}
}

/* Only /repair-cases/: four columns desktop, two columns mobile. */
.case-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;align-items:stretch}
.case-grid>.case-card{display:flex;min-width:0;flex-direction:column;border-radius:14px}
.case-grid>.case-card .case-photo{display:block;width:100%}
.case-grid>.case-card .case-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.case-grid>.case-card .case-copy{display:flex;min-width:0;flex:1;flex-direction:column;padding:15px 14px 16px}
.case-grid>.case-card .case-title{font-size:18px;line-height:1.38;margin:0 0 7px;letter-spacing:-.03em;word-break:keep-all}
.case-grid>.case-card .case-copy>p:not(.case-title){font-size:13.5px;line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0 0 12px;word-break:keep-all}
.case-grid>.case-card .case-copy>.more{margin-top:auto;align-self:flex-start;font-size:13px}

@media(max-width:700px){
 .case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .case-grid>.case-card{border-radius:12px}
 .case-grid>.case-card .case-copy{padding:11px 10px 13px}
 .case-grid>.case-card .case-title{font-size:15.5px;line-height:1.38;margin-bottom:6px}
 .case-grid>.case-card .case-copy>p:not(.case-title){font-size:12px;line-height:1.5;-webkit-line-clamp:2;margin-bottom:9px}
 .case-grid>.case-card .case-copy>.more{font-size:12px}
}
@media(max-width:359px){
 .case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .case-grid>.case-card .case-copy{padding:9px 8px 11px}
 .case-grid>.case-card .case-title{font-size:14px}
 .case-grid>.case-card .case-copy>p:not(.case-title){font-size:11.5px}
}

/* v78: Restore original pre-v72 work-photo rendering; keep the agreed 2 by 2 detail grid. */
.process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1060px;margin:0 auto}
@media(max-width:700px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}}

/* v82: Preserve untrimmed 3:4 source photo on this new case only; no changes to existing case-photo layouts. */
.case-inner-corner .process-grid>.step picture{display:block;flex:0 0 auto;width:100%;aspect-ratio:3/4;overflow:hidden;line-height:0}
.case-inner-corner .process-grid>.step picture img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
