
:root{
 --green:#079447;--green-dark:#057238;--green-soft:#eef8f2;--green-pale:#f7fbf8;
 --ink:#151a17;--text:#303a34;--muted:#6b746f;--line:#e7ebe8;--soft:#f7f8f7;--white:#fff;
 --max:1180px;--reading:820px;--radius:18px;--radius-lg:26px;
 --shadow:0 18px 50px rgba(21,42,31,.08);--shadow-sm:0 8px 24px rgba(21,42,31,.07)
}
*{box-sizing:border-box} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Pretendard,"Pretendard Variable","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;color:var(--ink);font-size:16px;line-height:1.72;letter-spacing:-.018em;background:#fff;word-break:keep-all;overflow-wrap:break-word}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block;height:auto} button,input,textarea,select{font:inherit} ul{padding-left:1.2em}
:focus-visible{outline:3px solid rgba(7,148,71,.25);outline-offset:3px}
.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.narrow{width:min(var(--reading),calc(100% - 48px));margin:auto}
.skip-link{position:fixed;left:14px;top:10px;z-index:999;transform:translateY(-160%);background:#fff;border:2px solid var(--green);border-radius:10px;padding:10px 14px;font-weight:800}.skip-link:focus{transform:none}

/* header — JM처럼 얇고 단정한 상단 */
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{height:72px;display:flex;align-items:center;gap:24px}.brand{margin-right:auto;display:flex;align-items:center}.brand img{width:190px;height:auto}
.nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:760}.nav>a{min-height:44px;display:flex;align-items:center;position:relative}.nav>a:hover,.nav>a[aria-current="page"]{color:var(--green)}
.nav>a:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--green);transform:scaleX(0);transition:.2s}.nav>a:hover:after,.nav>a[aria-current="page"]:after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 18px;border-radius:11px;border:1px solid var(--green);background:var(--green);color:#fff;font-weight:800;transition:.2s ease;cursor:pointer}.btn:hover{background:var(--green-dark);border-color:var(--green-dark);transform:translateY(-1px)}.btn.ghost{background:#fff;color:var(--green);border-color:#b8d9c5}.btn.ghost:hover{background:var(--green-soft)}
.header-call{min-height:44px;padding:10px 16px;font-size:14px}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:19px;height:2px;background:var(--ink);border-radius:2px}.mobile-nav-contact{display:none}

/* typography */
.eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:12px;font-weight:850;letter-spacing:.10em;text-transform:uppercase}.eyebrow:before,.kicker:before{content:"";width:20px;height:2px;background:currentColor;border-radius:2px}
h1,h2,h3,p{margin-top:0} h1{font-size:clamp(36px,4vw,46px);line-height:1.18;letter-spacing:-.052em;margin-bottom:18px}h2{font-size:clamp(27px,3vw,32px);line-height:1.28;letter-spacing:-.038em;margin-bottom:14px}h3{font-size:19px;line-height:1.42;letter-spacing:-.025em}.lead{font-size:18px;color:var(--text);line-height:1.75}.section-intro,.article-lead{color:var(--muted);font-size:16.5px;line-height:1.8;max-width:720px}

/* sections */
.section{padding:86px 0}.section.compact{padding:66px 0}.section.soft{background:var(--soft)}.section.greenwash{background:var(--green-pale)}.section.dark{background:#17201b;color:#fff}.section.dark .section-intro{color:#c9d2cd}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head .copy{max-width:760px}.section-head h2{margin:7px 0 8px}.link-arrow{color:var(--green);font-weight:800;font-size:14px;white-space:nowrap}.link-arrow:hover{transform:translateX(3px)}

/* HOME hero — 3장 겹침 폐기, 한 장 중심 */
.hero{padding:68px 0 44px;background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%)}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:center}.hero-copy{padding:8px 0}.hero-copy h1{font-size:46px;margin-top:14px;max-width:560px}.hero-copy h1 em{font-style:normal;color:var(--green)}.hero-copy .lead{max-width:590px;margin-bottom:26px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 18px}.hero-note{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:14px}.hero-note i{width:18px;height:18px;flex:0 0 18px;background:url('/assets/icons/camera.svg') center/18px no-repeat;filter:invert(38%) sepia(5%) saturate(520%) hue-rotate(94deg)}
.hero-media{position:relative}.hero-main{width:100%;aspect-ratio:1.28/1;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.hero-inset{display:none}.hero-caption{position:absolute;left:20px;right:20px;bottom:20px;background:rgba(17,25,21,.82);backdrop-filter:blur(10px);color:#fff;border-radius:15px;padding:15px 17px;display:flex;gap:10px;align-items:center}.hero-caption b{white-space:nowrap;font-size:14px}.hero-caption span{font-size:13px;color:#e6ece8}.proof-bar{margin-top:42px;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.proof-item{padding:22px 28px;display:flex;align-items:center;gap:12px;border-right:1px solid var(--line)}.proof-item:last-child{border-right:0}.proof-item strong{font-size:24px;letter-spacing:-.04em}.proof-item span{color:var(--muted);font-size:14px}

/* reusable icon tiles */
.icon-tile,.card-icon{width:46px;height:46px;border-radius:13px;background:var(--green-soft);display:grid;place-items:center;flex:0 0 auto}.icon-tile img,.card-icon img{width:23px;height:23px;filter:invert(43%) sepia(83%) saturate(572%) hue-rotate(94deg) brightness(87%)}

/* problem finder */
.problem-list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.problem-item{position:relative;min-height:220px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:24px;transition:.22s ease;overflow:hidden}.problem-item:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#cfe3d6}.problem-num{display:none}.problem-copy h3{margin:18px 0 11px;font-size:20px}.problem-copy p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.problem-arrow{position:absolute;right:20px;bottom:18px;width:34px;height:34px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--green);transition:.2s}.problem-item:hover .problem-arrow{background:var(--green);color:#fff;transform:translateX(2px)}

/* category / hub cards */
.hub-grid,.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.hub-card,.category-feature,.category-showcase,.card,.visual-card,.contact-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 1px 0 rgba(20,30,25,.02);transition:.22s ease}.hub-card:hover,.category-feature:hover,.visual-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#cfe3d6}.hub-card{padding:28px}.hub-card h3{margin:14px 0 8px;font-size:22px}.hub-card p{color:var(--muted);margin-bottom:14px}.category-showcase{overflow:hidden}.category-showcase img{width:100%;aspect-ratio:1.5/1;object-fit:cover;transition:transform .35s}.category-showcase:hover img{transform:scale(1.025)}.category-body{padding:24px}.category-body h3{font-size:22px;margin-bottom:9px}.category-body p{color:var(--muted)}
.service-list-grid,.service-shortcuts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service-list-card,.shortcut-card{display:grid;grid-template-columns:150px 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;min-height:145px;transition:.2s}.service-list-card:hover,.shortcut-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#cfe3d6}.service-list-card img,.shortcut-card img{width:100%;height:100%;object-fit:cover}.shortcut-body,.service-list-card .body{padding:18px 20px}.shortcut-body h3,.service-list-card h3{margin:5px 0 6px;font-size:18px}.shortcut-body p,.service-list-card p{font-size:14px;color:var(--muted);margin-bottom:0}.meta{font-size:12px;font-weight:800;color:var(--green)}.mini-tags,.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.mini-tags span,.tag{font-size:12px;background:var(--soft);color:#5c665f;padding:5px 8px;border-radius:999px}

/* cases */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;transition:.22s}.case-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d6e6dc}.case-card .media{position:relative;overflow:hidden}.case-card .media img{width:100%;aspect-ratio:1.35/1;object-fit:cover;transition:transform .4s}.case-card:hover .media img{transform:scale(1.035)}.badge{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.93);backdrop-filter:blur(7px);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;color:var(--green)}.case-card .body{padding:20px}.case-card h3{margin-bottom:8px}.case-card p{font-size:14px;color:var(--muted)}.more{font-size:13px;font-weight:800;color:var(--green)}
.filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-size:13px;cursor:pointer}.filter button.active{background:var(--ink);color:#fff;border-color:var(--ink)}

/* standard / decision / process */
.standard-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.standard-media img{border-radius:20px;aspect-ratio:1.35/1;object-fit:cover}.standard-copy p{color:var(--muted)}.check-list{display:grid;gap:9px;margin-top:18px}.check{display:flex;gap:9px;align-items:flex-start}.check:before{content:"";width:18px;height:18px;margin-top:4px;background:url('/assets/icons/check.svg') center/18px no-repeat;filter:invert(43%) sepia(83%) saturate(572%) hue-rotate(94deg)}
.decision-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0 42px}.decision-card{border:1px solid var(--line);border-radius:16px;padding:23px;background:#fff}.decision-card.good{background:#f8fcf9}.decision-card h3{margin:8px 0}.decision-card p{color:var(--muted);margin-bottom:0}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:800}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid rgba(255,255,255,.15)}.process-item{padding:28px 22px;border-right:1px solid rgba(255,255,255,.13)}.process-item:last-child{border-right:0}.process-item .num{font-size:12px;color:#83c99f;font-weight:850}.process-item h3{margin:15px 0 8px;color:#fff}.process-item p{font-size:14px;color:#c7d1cc}

/* contact */
.contact-band{border-radius:24px;background:#15251c;color:#fff;padding:38px 40px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.contact-band h2{margin:6px 0 10px}.contact-band p{color:#d1dbd5;margin-bottom:0;max-width:650px}.contact-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;min-width:440px}.contact-action{background:#fff;color:var(--ink);border-radius:13px;padding:15px 16px;display:flex;align-items:center;gap:11px}.contact-action:before{content:"";width:22px;height:22px;background:center/22px no-repeat;flex:0 0 22px;filter:invert(42%) sepia(78%) saturate(589%) hue-rotate(94deg)}.contact-action[href^="tel:"]:before{background-image:url('/assets/icons/phone.svg')}.contact-action[href^="sms:"]:before{background-image:url('/assets/icons/message.svg')}.contact-action.naver:before{background-image:url('/assets/icons/chat.svg')}.contact-action strong{display:block;font-size:14px}.contact-action span{display:block;font-size:12px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contact-card{padding:26px}.photo-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.photo-guide .item{background:var(--soft);border-radius:14px;padding:18px}.photo-guide .label{font-weight:800}

/* detail pages */
.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#7a837e;margin-bottom:25px}.breadcrumbs a:hover{color:var(--green)}
.detail-hero,.case-detail-hero,.page-hero{padding:52px 0 58px;background:#fbfcfb;border-bottom:1px solid var(--line)}.detail-hero-grid,.case-detail-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:50px;align-items:center}.detail-hero h1,.case-detail-hero h1,.page-hero h1{font-size:clamp(34px,3.5vw,42px);margin:10px 0 15px}.detail-hero .lead,.case-detail-hero .lead{font-size:17px;color:var(--text)}.detail-hero-media img,.case-detail-grid>img{width:100%;aspect-ratio:1.35/1;object-fit:cover;border-radius:20px;box-shadow:var(--shadow-sm)}.detail-points{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.detail-points span{font-size:12px;background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:999px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:54px;align-items:start}.article{max-width:820px}.article h2{margin-top:52px}.article h2:first-of-type{margin-top:8px}.article p{color:var(--text)}
.symptom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 42px}.symptom-card{border:1px solid var(--line);border-radius:16px;padding:21px;background:#fff}.symptom-card .num{color:var(--green);font-size:12px;font-weight:850}.symptom-card h3{margin:12px 0 7px}.symptom-card p{font-size:14px;color:var(--muted);margin:0}.toc-card{position:sticky;top:92px;border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}.toc-card h3{font-size:15px}.toc-card a{display:block;padding:8px 0;font-size:13px;color:var(--muted)}.toc-card a:hover{color:var(--green)}
.gallery-modern{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0 44px}.gallery-modern img{width:100%;border-radius:16px;object-fit:cover;background:var(--soft);border:1px solid #edf0ee}.gallery-modern figure{margin:0}.gallery-modern figcaption{font-size:13px;color:var(--muted);padding:9px 2px 0}.process-detail{display:grid;gap:0;margin:20px 0 38px;border-top:1px solid var(--line)}.process-detail .step{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.process-detail .step b{color:var(--green);font-size:12px}.process-detail .step h3{margin:0 0 7px}.process-detail .step p{margin:0;color:var(--muted)}.callout{margin:34px 0;padding:24px 26px;border-radius:16px;background:var(--green-soft);border-left:4px solid var(--green)}.callout strong{font-size:18px}.callout p{margin:6px 0 0;color:#486052}
.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:0}.faq summary{cursor:pointer;list-style:none;font-weight:800;padding:20px 36px 20px 2px;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:4px;font-size:22px;font-weight:400;color:var(--green)}.faq details[open] summary:after{content:"−"}.faq details p{padding:0 2px 20px;color:var(--muted);margin:0}

/* case detail — 사진만 나열하지 않고 스토리 구조 */
.case-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}.case-summary div{border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px}.case-summary b{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}.case-summary span{font-size:13px;font-weight:750}.case-story{max-width:920px}.case-story>h2{margin-top:52px}.case-story>h2:first-of-type{margin-top:8px}.case-story>p{font-size:16.5px;line-height:1.9;color:var(--text);max-width:800px}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 44px}.case-fact{border:1px solid var(--line);border-radius:16px;padding:20px}.case-fact .fact-icon{width:40px;height:40px;background:var(--green-soft);border-radius:12px;display:grid;place-items:center;margin-bottom:13px}.case-fact .fact-icon img{width:20px;height:20px;filter:invert(43%) sepia(83%) saturate(572%) hue-rotate(94deg)}.case-fact b{display:block;margin-bottom:5px}.case-fact span{font-size:14px;color:var(--muted)}.case-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 44px}.case-story-card{border:1px solid var(--line);border-radius:16px;padding:22px}.case-story-card h3{margin-bottom:7px}.case-story-card p{color:var(--muted);font-size:14px;margin:0}

/* footer */
.area-chips{display:flex;gap:8px;flex-wrap:wrap}.area-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:13px}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.site-footer{padding:42px 0 94px;border-top:1px solid var(--line);background:#fbfcfb}.footer-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:50px}.site-footer strong{font-size:19px}.site-footer p{color:var(--muted);font-size:13px;margin:7px 0}.footer-contact a{color:var(--ink);font-weight:700}.small{font-size:12px!important}.mobile-cta{display:none}

/* motion */
.reveal-target{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal-target.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal-target{opacity:1;transform:none}}

@media(max-width:1040px){.nav{gap:16px}.header-call{display:none}.problem-list{grid-template-columns:repeat(3,1fr)}.problem-item:nth-child(4),.problem-item:nth-child(5){min-height:190px}.case-grid{grid-template-columns:repeat(2,1fr)}.contact-band{grid-template-columns:1fr}.contact-actions{min-width:0}.detail-layout{grid-template-columns:1fr}.toc-card{display:none}}
@media(max-width:860px){body{font-size:15.5px}.wrap,.narrow{width:min(100% - 32px,var(--max))}.site-header{position:sticky}.header-inner{height:66px}.brand img{width:172px}.nav{position:absolute;left:16px;right:16px;top:74px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px 18px 18px;display:none;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav>a{padding:12px 2px;border-bottom:1px solid var(--line)}.nav>a:after{display:none}.menu-toggle{display:flex}.mobile-nav-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.mobile-nav-contact a{background:var(--green-soft);color:var(--green);border-radius:9px;text-align:center;padding:10px 5px;font-size:12px;font-weight:800}
.section{padding:62px 0}.section.compact{padding:52px 0}.hero{padding:46px 0 32px}.hero-grid,.detail-hero-grid,.case-detail-grid,.standard-grid{grid-template-columns:1fr;gap:28px}.hero-copy h1{font-size:36px;max-width:100%}.hero-media{order:-1}.hero-main{aspect-ratio:1.5/1}.hero-caption{left:12px;right:12px;bottom:12px}.proof-bar{grid-template-columns:repeat(2,1fr);margin-top:30px}.proof-item:nth-child(2){border-right:0}.proof-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.problem-list{grid-template-columns:repeat(2,1fr)}.hub-grid,.category-grid,.service-list-grid,.service-shortcuts{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.process-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.13);padding:21px 0}.process-item:last-child{border-bottom:0}.contact-actions{grid-template-columns:1fr 1fr 1fr}.detail-hero,.case-detail-hero,.page-hero{padding:36px 0 42px}.detail-hero h1,.case-detail-hero h1,.page-hero h1{font-size:34px}.detail-hero-media img,.case-detail-grid>img{aspect-ratio:1.45/1}.symptom-grid{grid-template-columns:1fr}.case-facts{grid-template-columns:1fr 1fr 1fr}.footer-grid{grid-template-columns:1fr}.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:75;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dfe5e1;border-top:1px solid var(--line)}.mobile-cta .btn{border-radius:0;border:0;min-height:56px;font-size:13px}.mobile-cta .contact-sms{background:#fff;color:var(--green)}.mobile-cta .contact-talk{background:#03c75a;color:#fff}.site-footer{padding-bottom:86px}}
@media(max-width:600px){.wrap,.narrow{width:calc(100% - 28px)}.header-inner{height:62px}.brand img{width:158px}.hero{padding-top:36px}.hero-copy h1{font-size:31px;line-height:1.23;letter-spacing:-.045em}.lead{font-size:16.5px}.hero-main{aspect-ratio:1.25/1}.hero-caption span{display:none}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .btn:first-child{grid-column:1/-1}.proof-item{padding:17px}.proof-item strong{font-size:20px}.proof-item span{font-size:12px}.section-head{display:block;margin-bottom:24px}.section-head .link-arrow{display:inline-block;margin-top:10px}.section h2{font-size:27px}.problem-list{grid-template-columns:1fr}.problem-item{min-height:0;padding:21px}.case-grid{grid-template-columns:1fr}.service-list-card,.shortcut-card{grid-template-columns:112px 1fr;min-height:120px}.shortcut-body,.service-list-card .body{padding:15px}.contact-band{padding:27px 20px;border-radius:18px}.contact-actions{grid-template-columns:1fr}.contact-action{padding:13px}.gallery-modern{grid-template-columns:1fr;gap:18px}.decision-grid{grid-template-columns:1fr}.case-summary{grid-template-columns:1fr}.case-facts{grid-template-columns:1fr}.case-story-grid{grid-template-columns:1fr}.process-detail .step{grid-template-columns:1fr;gap:5px}.photo-guide{grid-template-columns:1fr 1fr}.area-grid{grid-template-columns:1fr}.detail-actions{display:grid;grid-template-columns:1fr 1fr}.detail-actions .btn:first-child{grid-column:1/-1}.case-detail-grid>img,.detail-hero-media img{aspect-ratio:1.2/1}.footer-grid{gap:20px}}
.service-symbol{width:52px;height:52px;border-radius:15px;background:var(--green-soft);display:grid;place-items:center;margin-bottom:16px}.service-symbol img{width:25px;height:25px;filter:invert(43%) sepia(83%) saturate(572%) hue-rotate(94deg) brightness(87%)}


/* v8 — restrained JM-style visual system, adapted to 공대남 리페어 */
:root{
  --green:#087b3e; --green-dark:#056f36; --green-soft:#eef8f2; --green-pale:#f8fbf9;
  --ink:#151a17; --text:#35403a; --muted:#727a75; --line:#e6ebe8; --soft:#f7f8f7;
  --max:1160px; --reading:800px; --radius:14px; --radius-lg:18px;
  --shadow:0 12px 34px rgba(18,42,29,.065); --shadow-sm:0 5px 18px rgba(18,42,29,.055)
}
body{font-size:16px;line-height:1.75;letter-spacing:-.015em}
.wrap{width:min(var(--max),calc(100% - 48px))}.narrow{width:min(var(--reading),calc(100% - 48px))}
.site-header{box-shadow:none}.header-inner{height:70px}.brand img{width:184px}.nav{font-size:14px;gap:24px}.header-call{border-radius:9px}
.btn{min-height:46px;border-radius:9px;padding:10px 17px;font-size:14px;box-shadow:none}.btn:hover{transform:none}
.eyebrow,.kicker{font-size:11px;letter-spacing:.12em}.eyebrow:before,.kicker:before{width:16px;height:1px}
h1{font-size:clamp(34px,3.6vw,42px);line-height:1.22;letter-spacing:-.047em;font-weight:850}
h2{font-size:clamp(25px,2.5vw,30px);line-height:1.34;letter-spacing:-.033em;font-weight:830}
h3{font-size:18px;line-height:1.46;font-weight:790}.lead{font-size:17.5px;line-height:1.78}.section-intro,.article-lead{font-size:16px;line-height:1.82}
.section{padding:78px 0}.section.compact{padding:58px 0}.section-head{margin-bottom:30px}

/* hero: no collage, one strong field image + restrained title scale */
.hero{padding:54px 0 34px;background:#fff}.hero-grid{grid-template-columns:.9fr 1.1fr;gap:56px}.hero-copy h1{font-size:42px;line-height:1.2;margin:10px 0 10px;max-width:520px}.hero-slogan{font-size:21px;line-height:1.5;font-weight:760;color:#25312b;margin:0 0 14px}.hero-main{border-radius:18px;aspect-ratio:1.42/1;box-shadow:none;border:1px solid var(--line)}.hero-caption{border-radius:10px;left:16px;right:auto;bottom:16px;padding:11px 14px;max-width:78%;background:rgba(20,27,23,.82)}.hero-caption b{font-size:13px}.hero-caption span{font-size:12px}.proof-bar{margin-top:34px}.proof-item{padding:19px 24px}.proof-item strong{font-size:22px}

/* cards: flatter, cleaner, less 'template-like' */
.problem-item,.hub-card,.category-feature,.category-showcase,.card,.visual-card,.contact-card,.service-list-card,.shortcut-card,.case-card,.symptom-card,.decision-card,.toc-card,.case-fact,.case-story-card{border-radius:12px;box-shadow:none}
.problem-item:hover,.hub-card:hover,.category-feature:hover,.visual-card:hover,.service-list-card:hover,.shortcut-card:hover,.case-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#bdd8c8}
.icon-tile,.card-icon,.service-symbol{border-radius:10px;background:#f1f8f4}.icon-tile img,.card-icon img,.service-symbol img{transition:transform .2s ease}.problem-item:hover .icon-tile img,.hub-card:hover .card-icon img{transform:translateY(-2px)}
.problem-list{gap:14px}.problem-item{padding:22px;min-height:210px}.problem-copy h3{font-size:18px;margin:16px 0 9px}.problem-copy p{font-size:13.5px}
.category-showcase img,.case-card .media img{transition:transform .32s ease}.category-body{padding:21px}.category-body h3{font-size:20px}
.service-list-card,.shortcut-card{border-radius:12px}.shortcut-body,.service-list-card .body{padding:16px 18px}.shortcut-body h3,.service-list-card h3{font-size:17px}.mini-tags span,.tag{border:1px solid #e8ece9;background:#fafbfa}
.case-card .body{padding:18px}.case-card h3{font-size:17px;line-height:1.48}.badge{border-radius:7px;font-size:11px}

/* JM-like clean process instead of a large dark block */
.section.dark{background:#f7f9f8;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section.dark .section-intro{color:var(--muted)}.section.dark .kicker{color:var(--green)}
.process-grid{border-top:1px solid var(--line)}.process-item{border-right:1px solid var(--line);padding:25px 20px}.process-item .num{color:var(--green)}.process-item h3{color:var(--ink);font-size:17px}.process-item p{color:var(--muted);font-size:13.5px}

/* service/article density modules */
.detail-hero,.case-detail-hero,.page-hero{padding:44px 0 50px;background:#fafbfa}.detail-hero-grid,.case-detail-grid{gap:44px}.detail-hero h1,.case-detail-hero h1,.page-hero h1{font-size:clamp(32px,3.2vw,39px);line-height:1.24}.detail-hero-media img,.case-detail-grid>img{border-radius:14px;box-shadow:none;border:1px solid var(--line)}
.detail-points span{border-radius:6px;padding:6px 9px;background:#fff}.article{max-width:800px}.article h2,.case-story h2{margin-top:48px;font-size:26px}.article h2:first-of-type{margin-top:6px}
.symptom-grid{gap:10px}.symptom-card{padding:19px}.symptom-card h3{font-size:17px}.decision-card{padding:21px}.pill{border-radius:6px;padding:5px 8px}
.gallery-modern{gap:12px}.gallery-modern figure{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.gallery-modern figure img{border:0;border-radius:0}.gallery-modern figcaption{padding:10px 12px 11px;font-size:12.5px;color:#68736d}
.toc-card{border-radius:12px;padding:19px}.toc-card strong{display:block;margin-bottom:8px;font-size:14px}.toc-card a{font-size:12.5px}

.scope-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;margin:18px 0 42px;padding:0;list-style:none}.scope-list li{position:relative;padding:10px 0 10px 27px;border-bottom:1px solid var(--line);color:var(--text)}.scope-list li:before{content:"";position:absolute;left:0;top:14px;width:17px;height:17px;background:url('/assets/icons/check.svg') center/16px no-repeat;filter:invert(43%) sepia(73%) saturate(650%) hue-rotate(93deg)}
.inquiry-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 42px}.inquiry-quote{margin:0;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:15px;line-height:1.65;color:#334039;position:relative}.inquiry-quote:before{content:'Q';display:inline-grid;place-items:center;width:24px;height:24px;margin-right:9px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:850;vertical-align:1px}
.expert-note{margin:24px 0 42px;padding:22px 24px;background:#f8faf9;border-left:3px solid var(--green)}.expert-note h3{margin:0 0 8px}.expert-note p{margin:0;color:var(--text)}

/* contact: lighter and closer to reference site's simple CTA */
.contact-band{border-radius:14px;background:#16221c;padding:32px 34px}.contact-action{border-radius:9px;padding:13px 14px}.contact-band h2{font-size:26px}
.faq details{border-top:1px solid var(--line);padding:17px 0}.faq summary{font-size:15px;list-style:none;position:relative;padding-right:28px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:3px;top:-2px;font-size:22px;font-weight:400;color:var(--green)}.faq details[open] summary:after{content:'−'}
.site-footer{background:#17201b}

/* motion is subtle */
.reveal-target{transform:translateY(10px);transition:opacity .42s ease,transform .42s ease}

@media(max-width:860px){
  .hero{padding:36px 0 28px}.hero-media{order:0}.hero-grid{gap:28px}.hero-copy h1{font-size:34px}.hero-slogan{font-size:19px}.hero-main{aspect-ratio:1.45/1}
  .process-item{border-right:0;border-bottom:1px solid var(--line)}.scope-list,.inquiry-list{grid-template-columns:1fr}.detail-hero h1,.case-detail-hero h1,.page-hero h1{font-size:32px}
}
@media(max-width:600px){
  .wrap,.narrow{width:calc(100% - 28px)}.brand img{width:154px}.hero{padding-top:30px}.hero-copy h1{font-size:29px;line-height:1.26}.hero-slogan{font-size:18px}.lead{font-size:16px}.hero-main{aspect-ratio:1.28/1}.section{padding:56px 0}.section h2{font-size:25px}.detail-hero h1,.case-detail-hero h1,.page-hero h1{font-size:29px}.article h2,.case-story h2{font-size:24px;margin-top:40px}.inquiry-quote{font-size:14px}.scope-list li{font-size:14.5px}.proof-item{padding:15px}.proof-item strong{font-size:19px}
}

/* v9 — image scale, layout density, carousel, comparison, footer QA */
:root{--max:1120px;--reading:780px}

/* Keep large photography from dominating the viewport */
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,470px);gap:54px}
.hero-media{width:100%;max-width:470px;justify-self:end}
.hero-carousel{position:relative;width:100%}
.hero-slides{position:relative;aspect-ratio:3/2;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#eef2ef}
.hero-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.015);transition:opacity .65s ease,transform 1.2s ease;pointer-events:none}
.hero-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto;z-index:2}
.hero-slide img{width:100%;height:100%;object-fit:cover}
.hero-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 15px;background:linear-gradient(180deg,transparent,rgba(15,23,19,.82));color:#fff;display:grid;gap:2px}
.hero-slide figcaption strong{font-size:14px}.hero-slide figcaption span{font-size:12.5px;color:#e8eeea}
.hero-carousel-ui{display:flex;justify-content:space-between;align-items:center;margin-top:10px;min-height:22px}
.hero-dots{display:flex;gap:6px}.hero-dots button{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:#ced8d1;cursor:pointer}.hero-dots button.is-active{width:20px;border-radius:999px;background:var(--green)}
.hero-count{font-size:12px;color:var(--muted)}.hero-count b{color:var(--ink)}

/* Before/after: compact 2-column comparison instead of two giant stacked portraits */
.standard-grid{grid-template-columns:minmax(0,430px) minmax(0,1fr);gap:58px;align-items:center}
.standard-media{width:100%;max-width:430px;justify-self:center}
.standard-media.compare-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.compare-card{position:relative;margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.compare-card img{width:100%;height:300px;aspect-ratio:auto!important;object-fit:cover;border-radius:0!important}
.compare-card figcaption{padding:9px 10px 11px;font-size:12px;line-height:1.45;color:var(--muted)}
.compare-label{position:absolute;z-index:2;left:9px;top:9px;padding:5px 8px;border-radius:6px;background:rgba(20,28,24,.82);color:#fff;font-size:11px;font-weight:800;letter-spacing:-.01em}
.compare-label.after{background:rgba(7,143,69,.92)}
.check-list{list-style:none;padding-left:0}.check-list li{padding:10px 0 10px 27px;position:relative;border-bottom:1px solid var(--line);line-height:1.65;color:var(--text)}
.check-list li:before{content:"";position:absolute;left:0;top:14px;width:17px;height:17px;background:url('/assets/icons/check.svg') center/16px no-repeat;filter:invert(43%) sepia(73%) saturate(650%) hue-rotate(93deg)}
.check-list li b{display:block;margin:0 0 2px;font-size:14px;color:var(--ink)}

/* Detail hero media stays secondary to the content */
.detail-hero-grid,.case-detail-grid{grid-template-columns:minmax(0,1fr) minmax(330px,440px);gap:48px}
.detail-hero-media,.case-detail-grid>img{width:100%;max-width:440px;justify-self:end}
.detail-hero-media img,.case-detail-grid>img{width:100%;height:300px!important;aspect-ratio:auto!important;object-fit:cover;border-radius:12px}
.standard-grid>img{width:100%;max-width:430px;height:310px;justify-self:end;object-fit:cover;border-radius:12px;border:1px solid var(--line)}

/* Work galleries: always compact 2-column on desktop, consistent thumbnail height, full photo available in lightbox */
.case-story{max-width:860px}
.gallery-modern,.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:18px auto 38px}
.gallery-modern figure,.work-gallery figure{min-width:0}
.gallery-modern figure img,.work-gallery figure img{width:100%;height:265px!important;aspect-ratio:auto!important;object-fit:cover;background:#f1f3f2;cursor:zoom-in}
.gallery-modern figcaption,.work-gallery figcaption{min-height:46px;padding:9px 11px 10px!important}

/* Compact image cards everywhere else */
.hub-card>img{width:100%;height:190px!important;object-fit:cover;border-radius:10px;margin:14px 0 2px}
.category-feature>img{width:100%;height:320px!important;object-fit:cover}
.visual-card>img{width:100%;height:205px!important;object-fit:cover}
.case-card .media img{height:210px!important;aspect-ratio:auto!important;object-fit:cover}
.service-list-card img,.shortcut-card img{height:100%!important;min-height:132px;object-fit:cover}

/* Lighter, readable footer; no dark-on-dark text */
.site-footer{padding:48px 0 20px!important;background:#f6f8f6!important;border-top:1px solid var(--line);color:var(--ink)!important}
.footer-grid-v9{display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:72px;align-items:start}
.footer-logo{display:inline-block;margin-bottom:14px}.footer-logo img{width:180px;height:auto}
.footer-brand p{margin:6px 0;color:#5f6963!important;font-size:13px}.footer-brand .small{color:#7b847f!important}
.footer-col{display:grid;gap:8px}.footer-col strong{font-size:14px;margin-bottom:5px}.footer-col a{font-size:13px;color:#5c6760}.footer-col a:hover{color:var(--green)}
.footer-bottom{margin-top:34px;padding-top:16px;border-top:1px solid #dfe5e1;display:flex;justify-content:space-between;gap:20px;color:#87908a;font-size:11.5px}

/* Lightbox for gallery detail without making the page images huge */
.photo-lightbox{position:fixed;inset:0;z-index:250;background:rgba(8,13,10,.88);display:none;place-items:center;padding:30px}
.photo-lightbox.open{display:grid}.photo-lightbox-inner{position:relative;width:min(100%,1000px);height:min(86vh,820px);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px}
.photo-lightbox img{width:100%;height:100%;object-fit:contain;border-radius:8px;background:#0d120f}.photo-lightbox p{margin:0;color:#fff;text-align:center;font-size:13px}.photo-lightbox-close{position:absolute;right:-10px;top:-10px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#111;font-size:24px;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.25)}

@media(max-width:860px){
 .hero-grid,.detail-hero-grid,.case-detail-grid,.standard-grid{grid-template-columns:1fr}
 .hero-media{max-width:620px;justify-self:center;order:-1}.hero-slides{aspect-ratio:3/2}
 .detail-hero-media,.case-detail-grid>img,.standard-grid>img{max-width:560px;justify-self:center}
 .detail-hero-media img,.case-detail-grid>img{height:320px!important}
 .standard-media{max-width:520px;justify-self:center}.compare-card img{height:330px}
 .footer-grid-v9{grid-template-columns:1.2fr 1fr 1fr;gap:34px}
}
@media(max-width:600px){
 .hero-media{max-width:100%}.hero-slide figcaption{padding:28px 13px 11px}.hero-slide figcaption span{display:none}
 .standard-media.compare-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.compare-card img{height:230px}.compare-card figcaption{font-size:11px;padding:7px 8px 9px}.compare-label{left:7px;top:7px;font-size:10px}
 .detail-hero-media img,.case-detail-grid>img{height:240px!important}.standard-grid>img{height:250px}
 .gallery-modern,.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 32px}.gallery-modern figure img,.work-gallery figure img{height:190px!important}.gallery-modern figcaption,.work-gallery figcaption{font-size:11px;min-height:42px;padding:7px 8px 8px!important}
 .hub-card>img{height:160px!important}.category-feature>img{height:230px!important}.visual-card>img{height:170px!important}.case-card .media img{height:190px!important}
 .footer-grid-v9{grid-template-columns:1fr;gap:24px}.footer-bottom{display:block}.footer-bottom span{display:block;margin:4px 0}.site-footer{padding-bottom:88px!important}
 .photo-lightbox{padding:14px}.photo-lightbox-inner{height:82vh}.photo-lightbox-close{right:2px;top:2px}
}


/* ============================================================
   v10 VISUAL QA — JM-inspired density, stable typography,
   compact photography, high-contrast footer, no stale cache
   ============================================================ */
:root{--max:1080px;--reading:760px;--green:#087b3e;--green-dark:#036936;--ink:#111713;--text:#38433d;--muted:#657069;--line:#e1e7e3;--soft:#f7f9f7}
html{scroll-behavior:smooth}
body{font-size:15.5px;line-height:1.76;letter-spacing:-.006em;word-break:keep-all;overflow-wrap:normal;color:var(--ink)}
p,li,a,span{word-break:keep-all}
h1,h2,h3,h4{word-break:keep-all;overflow-wrap:normal;letter-spacing:-.018em!important;word-spacing:.06em;text-wrap:balance}
h1{line-height:1.24}h2{line-height:1.34}h3{line-height:1.48}
.section h2{font-size:clamp(24px,2.4vw,29px)}
.section-head{margin-bottom:28px}.section-intro{max-width:690px;line-height:1.78}

/* hero: compact, unmistakable auto-changing field-photo stage */
.hero{padding:44px 0 30px!important;background:#fff!important}
.hero-grid{grid-template-columns:minmax(0,1fr) 390px!important;gap:58px!important;align-items:center}
.hero-copy h1{font-size:38px!important;line-height:1.23!important;margin:9px 0 8px!important}
.hero-slogan{font-size:19px!important;margin-bottom:12px!important}
.hero-copy .lead{font-size:16px!important;line-height:1.78!important;max-width:580px}
.hero-media{width:390px!important;max-width:390px!important;justify-self:end!important}
.hero-carousel{width:100%;position:relative}
.hero-slides{aspect-ratio:4/3!important;border-radius:11px!important;border:1px solid #dde5e0!important;background:#edf2ef!important;box-shadow:none!important}
.hero-slide{transition:opacity .7s ease,transform 4.2s linear!important;transform:scale(1.025)!important}
.hero-slide.is-active{transform:scale(1)!important}
.hero-slide img{width:100%;height:100%;object-fit:cover!important;object-position:center}
.hero-slide figcaption{padding:28px 14px 12px!important;background:linear-gradient(180deg,transparent,rgba(9,17,12,.80))!important}
.hero-slide figcaption strong{font-size:13px!important}.hero-slide figcaption span{font-size:11.5px!important}
.hero-carousel-ui{margin-top:8px!important}.hero-dots button{height:6px!important;width:6px!important}.hero-dots button.is-active{width:18px!important}
.proof-bar{margin-top:28px!important}.proof-item{padding:16px 20px!important}.proof-item strong{font-size:20px!important}.proof-item span{font-size:12.5px!important}

/* Home work categories: no single giant roof image. Five equal, compact cards. */
.category-showcase-v10{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.category-card-v10{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:.2s ease}
.category-card-v10:hover{transform:translateY(-2px);border-color:#bdd8c8;box-shadow:0 9px 26px rgba(16,35,24,.06)}
.category-card-v10 .category-photo-v10{width:100%;height:142px!important;object-fit:cover;display:block}
.category-card-v10 .category-body-v10{padding:14px 14px 16px;display:grid;gap:5px}
.category-card-v10 .category-head-v10{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.category-card-v10 .category-icon-v10{width:30px;height:30px;border-radius:8px;background:#eef8f2;display:grid;place-items:center;flex:0 0 30px}
.category-card-v10 .category-icon-v10 img{width:16px;height:16px;filter:invert(43%) sepia(83%) saturate(572%) hue-rotate(94deg) brightness(87%)}
.category-card-v10 h3{font-size:16px!important;line-height:1.42;margin:0!important}.category-card-v10 p{font-size:12.5px;line-height:1.62;color:var(--muted);margin:0}
.category-card-v10 .more{margin-top:5px;font-size:11.5px}

/* Inquiry/criteria text: remove compressed Korean spacing and awkward wraps. */
.inquiry-list{gap:10px 14px!important}.inquiry-quote{font-size:14px!important;letter-spacing:-.005em!important;line-height:1.72!important;padding:15px 17px!important}
.scope-list{gap:7px 24px!important}.scope-list li{font-size:14px!important;line-height:1.65!important}
.check-list li{padding:11px 0 11px 26px!important}.check-list li b{display:block!important;margin:0 0 3px!important;font-size:14px!important;letter-spacing:-.006em!important}.check-list .check-desc{display:block;color:var(--text);font-size:14px;line-height:1.72}

/* Repair-range cards: top label + full-width heading + body, never a skinny column. */
.decision-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-width:760px;margin:20px auto 34px!important}
.decision-card{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0!important;padding:20px!important;border-radius:10px!important;background:#fff!important}
.decision-card.good{background:#f7fcf9!important}.decision-card .pill{display:inline-flex!important;white-space:nowrap!important;font-size:11px!important;border-radius:5px!important;margin-bottom:8px!important}
.decision-card h3{width:100%!important;max-width:none!important;font-size:16px!important;line-height:1.5!important;margin:0 0 7px!important;white-space:normal!important;word-break:keep-all!important}
.decision-card p{width:100%!important;font-size:13.5px!important;line-height:1.72!important;margin:0!important;color:var(--muted)!important}

/* Images everywhere: information first, photo second. */
.detail-hero-grid,.case-detail-grid{grid-template-columns:minmax(0,1fr) 360px!important;gap:44px!important}
.detail-hero-media,.case-detail-grid>img{max-width:360px!important}.detail-hero-media img,.case-detail-grid>img{height:248px!important;border-radius:10px!important;object-fit:cover!important}
.gallery-modern,.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;max-width:700px!important;margin:16px auto 32px!important}
.gallery-modern figure img,.work-gallery figure img{height:220px!important;border-radius:8px!important;object-fit:cover!important}
.gallery-modern figcaption,.work-gallery figcaption{min-height:40px!important;font-size:11.5px!important;line-height:1.45!important;padding:7px 9px!important}
.case-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.case-card{min-width:0!important;border-radius:10px!important}.case-card .media img{height:178px!important;object-fit:cover!important}.case-card .body{padding:14px 15px 15px!important}.case-card h3{font-size:15px!important;line-height:1.5!important;margin:0 0 5px!important}.case-card p{font-size:12.5px!important;line-height:1.6!important}.badge{left:10px!important;top:10px!important;padding:5px 8px!important;font-size:10px!important}
.cases-index .case-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cases-index .case-card .media img{height:185px!important}
.hub-card>img{height:150px!important}.category-feature>img{height:210px!important}.visual-card>img{height:160px!important}.service-list-card img,.shortcut-card img{min-height:112px!important}

/* Footer: JM-like information hierarchy, but branded and fully legible. */
.site-footer.footer-v10{background:#122019!important;color:#fff!important;border:0!important;padding:46px 0 18px!important}
.footer-main-v10{display:grid;grid-template-columns:1.35fr .72fr .72fr;gap:64px;align-items:start}
.footer-lockup-v10{display:inline-flex;align-items:center;gap:11px;color:#fff!important;margin-bottom:16px}
.footer-lockup-v10 img{width:44px!important;height:44px!important;border-radius:9px;background:#fff}
.footer-lockup-v10 span{display:grid;gap:1px}.footer-lockup-v10 strong{color:#fff!important;font-size:20px!important;line-height:1.25}.footer-lockup-v10 small{color:#8fdda9!important;font-size:11px;font-weight:700}
.footer-services-v10{color:#c4d1c9!important;font-size:12.5px!important;line-height:1.7;margin:0 0 10px!important}
.footer-message-v10{color:#aebdb4!important;font-size:12.5px!important;line-height:1.8;margin:0 0 16px!important}
.footer-quick-v10{display:flex;gap:8px;flex-wrap:wrap}.footer-quick-v10 a{color:#fff!important;border-bottom:1px solid rgba(255,255,255,.35);font-size:12.5px;padding-bottom:2px}
.footer-links-v10,.footer-contact-v10{display:grid;gap:7px}.footer-links-v10 strong,.footer-contact-v10 strong{color:#fff!important;font-size:13.5px!important;margin-bottom:6px}.footer-links-v10 a,.footer-contact-v10 a{color:#c5d2ca!important;font-size:12.5px!important;line-height:1.55}.footer-links-v10 a:hover,.footer-contact-v10 a:hover,.footer-quick-v10 a:hover{color:#7fe2a1!important}
.footer-contact-v10 .footer-phone-v10{color:#fff!important;font-size:16px!important;font-weight:800}.footer-contact-v10 p{color:#8fa096!important;font-size:11.5px!important;margin:7px 0 0!important}
.footer-bottom-v10{margin-top:30px;padding-top:14px;border-top:1px solid rgba(255,255,255,.11);display:flex;justify-content:space-between;gap:16px;color:#92a49a!important;font-size:10.5px!important}

/* Keep section density controlled and visual rhythm similar across all pages. */
.section{padding:54px 0!important}.section.compact{padding:46px 0!important}.page-hero,.detail-hero,.case-detail-hero{padding:38px 0 42px!important}
.article h2,.case-story>h2{margin-top:38px!important}.case-story>p{font-size:15px!important;line-height:1.82!important}

@media(max-width:980px){
 .category-showcase-v10{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-main-v10{grid-template-columns:1fr 1fr;gap:34px}.footer-brand-v10{grid-column:1/-1}
 .case-grid,.cases-index .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:860px){
 .hero-grid{grid-template-columns:1fr!important;gap:26px!important}.hero-media{width:min(100%,440px)!important;max-width:440px!important;justify-self:center!important;order:0!important}.hero-copy{text-align:left}
 .detail-hero-grid,.case-detail-grid{grid-template-columns:1fr!important}.detail-hero-media,.case-detail-grid>img{max-width:430px!important;justify-self:center!important}.detail-hero-media img,.case-detail-grid>img{height:270px!important}
 .decision-grid{max-width:100%}
}
@media(max-width:650px){
 body{font-size:15px}.hero{padding:30px 0 25px!important}.hero-copy h1{font-size:29px!important}.hero-media{width:100%!important;max-width:360px!important}.hero-slides{aspect-ratio:4/3!important}.hero-slide figcaption span{display:none}
 .category-showcase-v10{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.category-card-v10 .category-photo-v10{height:112px!important}.category-card-v10 .category-body-v10{padding:11px 11px 13px}.category-card-v10 h3{font-size:14px!important}.category-card-v10 p{font-size:11.5px}
 .decision-grid{grid-template-columns:1fr!important}.decision-card{padding:17px!important}
 .gallery-modern,.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.gallery-modern figure img,.work-gallery figure img{height:158px!important}.gallery-modern figcaption,.work-gallery figcaption{font-size:10.5px!important;min-height:36px!important}
 .case-grid,.cases-index .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.case-card .media img,.cases-index .case-card .media img{height:132px!important}.case-card .body{padding:10px 11px 12px!important}.case-card h3{font-size:13px!important;line-height:1.48!important}.case-card p{display:none}.badge{font-size:9px!important;padding:4px 6px!important}
 .footer-main-v10{grid-template-columns:1fr;gap:28px}.footer-brand-v10{grid-column:auto}.footer-bottom-v10{display:block}.footer-bottom-v10 span{display:block;margin:3px 0}.site-footer.footer-v10{padding-bottom:86px!important}
 .inquiry-list,.scope-list{grid-template-columns:1fr!important}.inquiry-quote{font-size:13.5px!important}
}

/* v10 hero class namespace — explicit fresh selectors */
.hero-carousel-v10{position:relative;width:100%}
.hero-slides-v10{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid #dde5e0;border-radius:11px;background:#edf2ef}
.hero-slide-v10{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.025);transition:opacity .72s ease,transform 4.2s linear;pointer-events:none}
.hero-slide-v10.is-active{opacity:1;transform:scale(1);pointer-events:auto;z-index:2}
.hero-slide-v10 img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero-slide-v10 figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;background:linear-gradient(180deg,transparent,rgba(9,17,12,.80));color:#fff;display:grid;gap:2px}
.hero-slide-v10 figcaption strong{font-size:13px;line-height:1.35;color:#fff}.hero-slide-v10 figcaption span{font-size:11.5px;line-height:1.45;color:#e7efe9}
.hero-carousel-ui-v10{display:flex;justify-content:space-between;align-items:center;margin-top:8px;min-height:18px}
.hero-dots-v10{display:flex;gap:6px;align-items:center}.hero-dots-v10 button{width:6px;height:6px;padding:0;border:0;border-radius:99px;background:#ced8d1;cursor:pointer}.hero-dots-v10 button.is-active{width:18px;background:var(--green)}
.hero-count-v10{font-size:11px;color:var(--muted)}.hero-count-v10 b{color:var(--ink)}
@media(max-width:650px){.hero-slide-v10 figcaption{padding:24px 11px 10px}.hero-slide-v10 figcaption span{display:none}}

/* v11 — homepage field-photo carousel: larger but balanced, 10 real before-work cases */
@media(min-width:861px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 510px!important;gap:52px!important}
  .hero-media{width:510px!important;max-width:510px!important;justify-self:end!important}
  .hero-slides-v10{aspect-ratio:3/2!important}
}
.hero-slide-v10 img{object-position:center center!important}
.hero-carousel-ui-v10{margin-top:10px!important}
.hero-dots-v10{gap:5px!important;flex-wrap:wrap;max-width:330px}
.hero-dots-v10 button{width:6px!important;height:6px!important}
.hero-dots-v10 button.is-active{width:20px!important}
.hero-count-v10{font-size:11.5px!important}
@media(max-width:860px){
  .hero-media{width:min(100%,500px)!important;max-width:500px!important;justify-self:center!important}
  .hero-slides-v10{aspect-ratio:3/2!important}
}
@media(max-width:650px){
  .hero-media{width:100%!important;max-width:100%!important}
  .hero-slides-v10{aspect-ratio:1.38/1!important}
  .hero-dots-v10{max-width:250px;gap:5px!important}
}


/* ===== v13: editorial consistency + problem-first imagery ===== */
/* Balanced split sections: photo and copy carry comparable visual weight */
.standard-grid-balanced{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:52px!important;align-items:center!important}
.standard-media-balanced{max-width:560px!important;justify-self:start!important}
.standard-media-balanced.compare-pair{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.standard-media-balanced .compare-card img{height:340px!important;object-fit:cover!important}
.standard-media-balanced .compare-card figcaption{min-height:48px!important;padding:10px 12px!important}
.standard-grid-balanced .standard-copy{max-width:560px!important}
.standard-grid-balanced .standard-copy h2{max-width:520px!important}

/* Decision cards: same geometry, no utility-class collision */
.decision-grid{align-items:stretch!important}
.decision-card,.decision-card.good,.decision-card.review{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;min-height:172px!important;padding:22px 22px 20px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
.decision-card.good{background:#f8fcf9!important;border-color:#dcebe1!important}
.decision-card.review{background:#fff!important}
.decision-card.review:before,.decision-card.good:before{display:none!important;content:none!important}
.decision-card .pill{display:inline-flex!important;align-items:center!important;height:27px!important;padding:0 9px!important;border-radius:6px!important;background:#eaf7ef!important;color:var(--green)!important;font-size:11px!important;font-weight:850!important;white-space:nowrap!important;margin:0 0 10px!important}
.decision-card.review .pill{background:#f0f2f1!important;color:#47524c!important}
.decision-card h3{font-size:17px!important;line-height:1.48!important;letter-spacing:-.02em!important;word-break:keep-all!important;margin:0 0 8px!important}
.decision-card p{font-size:14px!important;line-height:1.75!important;margin:0!important;color:var(--muted)!important;word-break:keep-all!important}

/* Service details: integrate real photos and steps into one editorial flow */
.work-process-story,.case-process-story{display:grid;gap:0;margin:20px 0 44px;border-top:1px solid var(--line)}
.work-process-row,.case-process-row{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:34px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.work-process-row:nth-child(even) .work-process-media,.case-process-row:nth-child(even) .case-process-media{order:2}
.work-process-row:nth-child(even) .work-process-copy,.case-process-row:nth-child(even) .case-process-copy{order:1}
.work-process-media,.case-process-media{margin:0;min-width:0}
.work-process-media img,.case-process-media img{display:block;width:100%!important;height:320px!important;object-fit:cover!important;border-radius:12px!important;border:1px solid #e5ebe7!important;background:#f3f5f4!important;cursor:zoom-in}
.work-process-media figcaption{font-size:12px;color:var(--muted);padding:8px 2px 0}
.work-process-copy,.case-process-copy{max-width:520px}
.step-no{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;padding:0 8px;margin-bottom:9px;border-radius:6px;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:900;letter-spacing:.04em}
.work-process-copy h3,.case-process-copy h3{font-size:21px!important;line-height:1.42!important;margin:0 0 9px!important;word-break:keep-all!important}
.work-process-copy p,.case-process-copy p{font-size:15px!important;line-height:1.82!important;color:var(--muted)!important;margin:0!important;word-break:keep-all!important}

/* Problem-first hero photos: large enough to read the defect, not a decorative thumbnail */
.case-detail-grid{grid-template-columns:minmax(0,1fr) 450px!important;gap:52px!important;align-items:center!important}
.case-detail-grid>img,.case-hero-photo{width:450px!important;max-width:450px!important;height:318px!important;object-fit:cover!important;border-radius:12px!important;justify-self:end!important;background:#f1f4f2!important}
.detail-hero-grid{grid-template-columns:minmax(0,1fr) 430px!important;gap:50px!important}
.detail-hero-media{max-width:430px!important}.detail-hero-media img{height:304px!important;object-fit:cover!important}
/* Eave close-up and other selected hero sources already use issue-focused photos */
.problem-photo{object-position:center center!important}

/* Case range cards stay compact but visually identical */
.case-decision{max-width:820px!important;margin:18px 0 42px!important}

@media(max-width:900px){
 .standard-grid-balanced,.work-process-row,.case-process-row,.case-detail-grid,.detail-hero-grid{grid-template-columns:1fr!important}
 .standard-media-balanced{max-width:620px!important;justify-self:center!important}
 .case-detail-grid>img,.case-hero-photo,.detail-hero-media,.detail-hero-media img{width:100%!important;max-width:620px!important;justify-self:center!important}
 .case-detail-grid>img,.case-hero-photo{height:360px!important}.detail-hero-media img{height:340px!important}
 .work-process-row:nth-child(even) .work-process-media,.case-process-row:nth-child(even) .case-process-media,.work-process-row:nth-child(even) .work-process-copy,.case-process-row:nth-child(even) .case-process-copy{order:initial}
 .work-process-media img,.case-process-media img{height:360px!important}
}
@media(max-width:600px){
 .standard-media-balanced .compare-card img{height:235px!important}
 .standard-grid-balanced{gap:28px!important}
 .case-detail-grid>img,.case-hero-photo{height:270px!important}.detail-hero-media img{height:260px!important}
 .work-process-row,.case-process-row{gap:16px;padding:22px 0}.work-process-media img,.case-process-media img{height:250px!important}
 .work-process-copy h3,.case-process-copy h3{font-size:19px!important}.work-process-copy p,.case-process-copy p{font-size:14px!important}
 .decision-grid{grid-template-columns:1fr!important}.decision-card,.decision-card.good,.decision-card.review{min-height:0!important}
}

/* v13 global split-layout audit: image and text columns use the same visual weight */
.standard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:52px!important;align-items:center!important}
.standard-grid .standard-media{width:100%!important;max-width:560px!important}
.standard-grid>img{width:100%!important;max-width:540px!important;height:350px!important;object-fit:cover!important;border-radius:12px!important;justify-self:end!important}
.standard-grid .standard-copy{max-width:560px!important}
@media(max-width:900px){.standard-grid{grid-template-columns:1fr!important;gap:30px!important}.standard-grid>img,.standard-grid .standard-media{max-width:620px!important;justify-self:center!important}}
@media(max-width:600px){.standard-grid>img{height:270px!important}}

/* Related cases on case detail pages: compact internal-navigation block */
.related-cases-section{padding:54px 0!important}
.related-cases-section .case-card .media img{height:180px!important}
.related-cases-section .case-card h3{font-size:15px!important}


/* ===== GDN v14 - JM-inspired unified design system ===== */
:root{--g14-green:#087b3e;--g14-green-dark:#055f33;--g14-ink:#11231c;--g14-body:#395148;--g14-line:#dfe9e4;--g14-soft:#f3f8f6;--g14-soft2:#eaf5f0;--g14-naver:#03c75a;--g14-wrap:1120px;--g14-radius:16px;--g14-shadow:0 10px 28px rgba(18,46,35,.07)}
html{scroll-behavior:smooth} body{font-family:Pretendard,"Pretendard Variable","Noto Sans KR","Apple SD Gothic Neo",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--g14-ink);font-size:16px;line-height:1.75;letter-spacing:-.018em;background:#fff}.wrap,.g14-wrap{width:min(var(--g14-wrap),calc(100% - 40px));margin:0 auto}.site-header{height:76px;background:rgba(255,255,255,.97);border-bottom:1px solid #e6ece8;backdrop-filter:blur(12px);position:sticky;top:0;z-index:100}.header-inner{height:76px}.brand img{width:190px;height:auto}.nav{gap:30px}.nav a{font-size:14px;font-weight:750;color:#1c2a25;letter-spacing:-.025em}.nav a:hover,.nav a[aria-current="page"]{color:var(--g14-green)}.header-call{background:var(--g14-green);border-color:var(--g14-green);border-radius:10px;padding:11px 19px;font-size:14px}.btn{border-radius:10px}.g14-main{overflow:hidden}.g14-service-hero{padding:92px 0 88px;background:#fff}.g14-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:76px}.g14-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--g14-green);font-size:13px;font-weight:850;letter-spacing:.04em;margin-bottom:16px}.g14-eyebrow:before,.g14-section-line{content:"";display:inline-block;width:38px;height:3px;background:#36b972;border-radius:999px}.g14-hero-copy h1{font-size:clamp(34px,3vw,46px);line-height:1.22;letter-spacing:-.045em;margin:0 0 18px;font-weight:850}.g14-hero-lead{font-size:17px;line-height:1.9;color:#52645d;max-width:650px;margin:0 0 24px}.g14-checklist{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}.g14-checklist li{position:relative;padding-left:27px;color:#244237;font-weight:650}.g14-checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--g14-green);font-weight:900}.g14-hero-trust{display:flex;flex-wrap:wrap;gap:8px}.g14-hero-trust span{border:1px solid #cfe2d8;background:#f7fbf9;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:750;color:#2c5443}.g14-hero-media{margin:0;position:relative}.g14-hero-media img{display:block;width:100%;height:380px;object-fit:cover;border-radius:18px;box-shadow:var(--g14-shadow);background:#eef3f0}.g14-hero-media figcaption{position:absolute;left:16px;bottom:16px;background:rgba(8,33,24,.78);color:#fff;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:750}.g14-section{padding:92px 0}.g14-soft{background:#eef6f2}.g14-principle-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:78px;align-items:center}.g14-principle-grid h2,.g14-section-title h2{font-size:32px;line-height:1.35;letter-spacing:-.04em;margin:13px 0 16px;font-weight:850}.g14-principle-grid p,.g14-section-title p{color:#597067;line-height:1.95;margin:0;max-width:720px}.g14-principle-grid figure{margin:0}.g14-principle-grid figure img{display:block;width:100%;height:360px;object-fit:cover;border-radius:18px;box-shadow:var(--g14-shadow)}.g14-principle-list{list-style:none;margin:25px 0 0;padding:0;border-top:1px solid var(--g14-line)}.g14-principle-list li{position:relative;padding:14px 12px 14px 28px;border-bottom:1px solid var(--g14-line);font-weight:700;color:#2f5042}.g14-principle-list li:before{content:"✓";position:absolute;left:2px;color:var(--g14-green)}.g14-section-title{margin-bottom:36px}.g14-section-title.centered{text-align:center}.g14-section-title.centered .g14-section-line{display:block;margin:0 auto}.g14-section-title.centered p{margin-left:auto;margin-right:auto}.g14-inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:920px;margin:0 auto}.g14-inquiry-grid blockquote{margin:0;background:#fff;border:1px solid #dce8e2;border-radius:15px;padding:26px 28px;min-height:118px;box-shadow:0 4px 14px rgba(13,47,34,.025)}.g14-inquiry-grid blockquote span{font-size:28px;line-height:1;color:#15a85a;font-weight:900}.g14-inquiry-grid blockquote p{margin:8px 0 0;color:#36564a;font-size:15px;line-height:1.8}.g14-decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.g14-decision-grid article{border:1px solid var(--g14-line);border-radius:16px;padding:28px 30px;background:#fff;min-height:190px}.g14-decision-grid article:first-child{background:#f4faf7;border-color:#cfe8db}.g14-decision-grid article>span{display:inline-block;background:#e5f6ec;color:#087b3e;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:850;margin-bottom:13px}.g14-decision-grid h3{font-size:20px;line-height:1.45;margin:0 0 10px;letter-spacing:-.03em}.g14-decision-grid p{margin:0;color:#5c7068;line-height:1.85}.g14-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.g14-process-card{background:#fff;border:1px solid #dce8e2;border-radius:16px;padding:28px 24px;min-height:270px}.g14-process-card>span{display:block;color:var(--g14-green);font-size:25px;font-weight:900;letter-spacing:-.03em;margin-bottom:12px}.g14-process-card h3{font-size:17px;margin:0 0 12px;line-height:1.45}.g14-process-card p{font-size:14px;line-height:1.85;color:#60766c;margin:0}.g14-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:920px;margin:0 auto}.g14-gallery-card{margin:0;border:1px solid #e0e8e4;border-radius:16px;overflow:hidden;background:#fff}.g14-img-button{display:block;width:100%;border:0;padding:0;background:#edf2ef;cursor:zoom-in}.g14-gallery-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}.g14-gallery-card:hover img{transform:scale(1.025)}.g14-gallery-card figcaption{padding:14px 16px;display:flex;gap:10px;align-items:center;font-weight:700;color:#2f4c41;font-size:14px}.g14-gallery-card figcaption span{color:var(--g14-green);font-weight:900}.g14-popular-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.g14-popular-card{border:1px solid #cfe2d8;border-radius:14px;padding:20px 22px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:15px}.g14-popular-card strong{font-size:15px}.g14-popular-card span{font-size:12px;color:#739085;white-space:nowrap}.g14-related-block{margin-top:42px}.g14-related-block h3{font-size:15px;margin:0 0 13px;color:#49675b}.g14-related-block>div{display:flex;gap:9px;flex-wrap:wrap}.g14-related-chip{display:inline-flex;border:1px solid #c9dfd5;border-radius:999px;padding:8px 13px;color:#26734e;font-size:13px;font-weight:700;text-decoration:none}.g14-faq-wrap{max-width:780px}.g14-faq{border-top:1px solid #bfd8cd}.g14-faq details{border-bottom:1px solid #bfd8cd;background:transparent}.g14-faq summary{cursor:pointer;list-style:none;padding:19px 6px;font-size:16px;font-weight:800;position:relative}.g14-faq summary::-webkit-details-marker{display:none}.g14-faq summary:after{content:"+";position:absolute;right:8px;color:var(--g14-green);font-size:20px}.g14-faq details[open] summary:after{content:"−"}.g14-faq details p{padding:0 34px 20px 6px;margin:0;color:#5d7369;line-height:1.9}.g14-consult{background:#0c3527;color:#fff;padding:54px 0}.g14-consult-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.g14-consult span{color:#8ee4b0;font-weight:800;font-size:13px}.g14-consult h2{font-size:27px;line-height:1.4;margin:7px 0 8px;letter-spacing:-.035em}.g14-consult p{margin:0;color:#c3d8ce}.g14-consult-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.g14-consult-actions a{color:#0b3526;background:#fff;text-decoration:none;border-radius:10px;padding:12px 15px;font-weight:800;font-size:13px}.g14-consult-actions a:first-child{background:#a6efc0}.g14-footer{background:#09271d;color:#d7e7df;padding:58px 0 0}.g14-footer-grid{display:grid;grid-template-columns:1.4fr .7fr .75fr;gap:64px}.g14-footer-logo img{filter:brightness(0) invert(1);width:210px;height:auto}.g14-footer-tags{color:#89c7a7;font-size:13px;margin:18px 0 10px}.g14-footer-slogan{font-size:13px;line-height:1.9;color:#b9d0c5}.g14-footer-inline{display:flex;gap:14px;margin-top:18px}.g14-footer a{color:#e5f3ec;text-decoration:none}.g14-footer-inline a,.g14-footer-nav a,.g14-footer-contact>a{font-size:13px}.g14-footer-nav,.g14-footer-contact{display:flex;flex-direction:column;gap:9px}.g14-footer-nav strong,.g14-footer-contact strong{color:#fff;margin-bottom:8px}.g14-footer-phone{font-size:22px!important;font-weight:900!important;color:#fff!important}.g14-footer-contact p{font-size:12px;line-height:1.8;color:#9db8aa;margin-top:10px}.g14-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding:18px 0 22px;display:flex;justify-content:space-between;color:#7fa091;font-size:11px}.g14-float{position:fixed;right:22px;bottom:48px;z-index:90;display:grid;gap:9px;width:128px}.g14-float a{height:56px;border-radius:28px;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 25px rgba(16,41,31,.16)}.g14-float span{font-size:13px;font-weight:900}.g14-float small{font-size:10px;margin-top:1px}.g14-float-sms{background:#dff3e8;color:#0f5638}.g14-float-call{background:#0b3527;color:#fff}.g14-float-talk{background:#03c75a;color:#08371f}.g14-mobile-contact{display:none}
/* Case pages: blog-like, readable long-form */
.case-detail-v14 .case-detail-hero{padding:74px 0 60px;background:#fff}.case-detail-v14 .case-detail-grid{grid-template-columns:minmax(0,1.05fr) minmax(330px,.65fr);gap:70px;align-items:center}.case-detail-v14 .case-detail-grid h1{font-size:40px;line-height:1.28}.case-detail-v14 .case-hero-photo{width:100%;height:340px;object-fit:cover;border-radius:16px}.case-detail-v14 .case-story{max-width:900px}.case-detail-v14 .case-story>h2{font-size:28px;line-height:1.4;margin:68px 0 18px;border:0;padding:0}.case-detail-v14 .case-story>p{font-size:16px;line-height:2;color:#50665d;max-width:760px}.case-detail-v14 .case-process-story{display:grid;gap:56px;margin-top:28px}.case-detail-v14 .case-process-row{display:grid;grid-template-columns:1.03fr .97fr;gap:45px;align-items:center}.case-detail-v14 .case-process-row:nth-child(even) .case-process-media{order:2}.case-detail-v14 .case-process-media{margin:0}.case-detail-v14 .case-process-media img{width:100%;height:330px;object-fit:cover;border-radius:16px}.case-detail-v14 .case-process-copy{max-width:360px}.case-detail-v14 .case-process-copy .step-no{font-size:13px;font-weight:900;color:var(--g14-green)}.case-detail-v14 .case-process-copy h3{font-size:22px;margin:7px 0 10px}.case-detail-v14 .case-process-copy p{color:#5d7168;line-height:1.95;margin:0}.case-detail-v14 .decision-grid{gap:18px}.case-detail-v14 .decision-card{border-radius:15px;min-height:190px}.case-detail-v14 .related-cases-section{background:#f3f8f6}.case-detail-v14 .case-grid{grid-template-columns:repeat(3,1fr);gap:16px}.case-detail-v14 .case-card{border-radius:15px;overflow:hidden}.case-detail-v14 .case-card .media{height:210px}.case-detail-v14 .case-card .media img{height:100%;object-fit:cover}.case-detail-v14 .case-card .body{padding:16px}.case-detail-v14 .case-card h3{font-size:16px;line-height:1.45}
/* Existing home/category/general pages get same visual language */
.home-v14 .section,.category-v14 .section,.service-index-v14 .section,.general-v14 .section,.cases-v14 .section{padding-top:82px;padding-bottom:82px}.home-v14 h1{font-size:44px;line-height:1.22}.home-v14 h2,.category-v14 h2,.service-index-v14 h2,.general-v14 h2,.cases-v14 h2{font-size:30px;letter-spacing:-.035em}.home-v14 .card,.category-v14 .card,.service-index-v14 .card,.cases-v14 .case-card{border-radius:15px;border-color:#dfe8e3;box-shadow:none}.home-v14 .soft,.category-v14 .soft,.service-index-v14 .soft,.general-v14 .soft,.cases-v14 .soft{background:#f1f7f4}.cases-v14 .case-grid{grid-template-columns:repeat(3,1fr);gap:18px}.cases-v14 .case-card .media{height:220px}.cases-v14 .case-card .media img{height:100%;object-fit:cover}.footer-v10{display:none!important}
@media(max-width:980px){.g14-hero-grid,.g14-principle-grid{grid-template-columns:1fr;gap:38px}.g14-service-hero{padding:62px 0}.g14-hero-media{max-width:680px}.g14-hero-media img{height:360px}.g14-process-grid{grid-template-columns:1fr 1fr}.g14-popular-grid{grid-template-columns:1fr 1fr}.g14-footer-grid{grid-template-columns:1fr 1fr}.g14-footer-brand{grid-column:1/-1}.g14-float{display:none}.g14-mobile-contact{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:120;background:#fff;border-top:1px solid #dce5e0;padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));gap:7px}.g14-mobile-contact a{min-height:43px;display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:9px;background:#eef7f2;color:#13623f;font-size:13px;font-weight:850}.g14-mobile-contact a:first-child{background:#0d3d2b;color:#fff}.service-detail-v14,.case-detail-v14,.home-v14,.category-v14,.general-v14,.cases-v14{padding-bottom:64px}.case-detail-v14 .case-detail-grid{grid-template-columns:1fr;gap:28px}.case-detail-v14 .case-hero-photo{max-width:640px}.case-detail-v14 .case-process-row{grid-template-columns:1fr;gap:18px}.case-detail-v14 .case-process-row:nth-child(even) .case-process-media{order:0}.case-detail-v14 .case-process-copy{max-width:none}.case-detail-v14 .case-process-media img{height:auto;aspect-ratio:4/3}.cases-v14 .case-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.wrap,.g14-wrap{width:min(100% - 30px,var(--g14-wrap))}.site-header,.header-inner{height:66px}.brand img{width:168px}.g14-service-hero{padding:42px 0 48px}.g14-hero-copy h1{font-size:31px}.g14-hero-lead{font-size:15px;line-height:1.85}.g14-hero-media img{height:auto;aspect-ratio:4/3}.g14-section{padding:64px 0}.g14-principle-grid h2,.g14-section-title h2{font-size:25px}.g14-principle-grid figure img{height:auto;aspect-ratio:4/3}.g14-inquiry-grid,.g14-decision-grid,.g14-process-grid,.g14-popular-grid{grid-template-columns:1fr}.g14-inquiry-grid blockquote{min-height:0}.g14-process-card{min-height:0}.g14-gallery-grid{gap:10px}.g14-gallery-card figcaption{font-size:12px;padding:11px}.g14-consult-grid{grid-template-columns:1fr}.g14-consult-actions{justify-content:flex-start}.g14-footer{padding-top:42px}.g14-footer-grid{grid-template-columns:1fr;gap:34px}.g14-footer-brand{grid-column:auto}.g14-footer-bottom{flex-direction:column;gap:4px}.case-detail-v14 .case-detail-grid h1{font-size:31px}.case-detail-v14 .case-story>h2{font-size:24px;margin-top:50px}.case-detail-v14 .case-grid,.cases-v14 .case-grid{grid-template-columns:1fr 1fr}.case-detail-v14 .case-card .media,.cases-v14 .case-card .media{height:150px}.case-detail-v14 .case-card h3,.cases-v14 .case-card h3{font-size:13px}.home-v14 h1{font-size:34px}}

/* =========================
   v15 — service-page system
   ========================= */
:root{--g15-green:#07964a;--g15-green-deep:#073c2b;--g15-mint:#eef8f3;--g15-soft:#f6faf8;--g15-line:#dbe8e1;--g15-text:#153126;--g15-muted:#5b7168}

/* Footer logo: transparent asset, no white rectangle. */
.g14-footer-logo{display:inline-flex;align-items:center;min-height:52px}
.g14-footer-logo img{width:205px;height:auto;filter:brightness(0) invert(1);background:transparent!important;mix-blend-mode:normal}

/* Stronger global vertical rhythm so headings never collide with previous cards/images. */
.service-detail-v15 .g14-section{padding:96px 0}
.service-detail-v15 .g14-section-title{margin-bottom:42px}
.service-detail-v15 .g14-section-title h2,
.service-detail-v15 .g14-principle-grid h2{margin-top:14px;margin-bottom:18px}
.category-v15 .section{padding-top:94px;padding-bottom:94px}
.category-v15 .g15-separated-heading{margin-top:74px!important;margin-bottom:26px!important}
.category-v15 .inquiry-list{margin-bottom:0}
.category-v15 .inquiry-list + .g15-separated-heading{padding-top:6px}
.category-v15 .expert-note{margin-top:34px}

/* Rich "이 분야에서 하는 작업" section. */
.g15-work-scope{background:#fff}
.g15-work-scope-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:72px;align-items:start}
.g15-work-scope-copy h2{font-size:32px;line-height:1.36;letter-spacing:-.04em;margin:14px 0 16px;font-weight:850}
.g15-scope-intro{font-size:16px;line-height:1.95;color:var(--g15-muted);margin:0 0 26px;max-width:500px}
.g15-scope-tags{display:flex;flex-wrap:wrap;gap:9px}
.g15-scope-tags span{display:inline-flex;align-items:center;min-height:38px;padding:7px 12px;border:1px solid #cfe3d9;border-radius:999px;background:#f8fcfa;color:#19653f;font-size:13px;font-weight:800}
.g15-work-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--g15-line);border-left:1px solid var(--g15-line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(24,61,45,.045)}
.g15-work-item{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;min-height:82px;padding:18px 20px;border-right:1px solid var(--g15-line);border-bottom:1px solid var(--g15-line)}
.g15-work-item p{margin:0;font-size:14px;line-height:1.68;color:#355347;font-weight:680}
.g15-check{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:#e7f7ee;color:var(--g15-green);font-size:12px;font-weight:900;margin-top:1px}

/* Inquiry cards: five cards, balanced layout, clear separation. */
.service-detail-v15 .g14-inquiries{padding-top:104px;padding-bottom:104px}
.service-detail-v15 .g14-inquiry-grid{grid-template-columns:1fr 1fr;gap:18px;max-width:940px}
.service-detail-v15 .g14-inquiry-grid blockquote{min-height:126px;padding:27px 30px;display:flex;flex-direction:column;justify-content:center}
.service-detail-v15 .g14-inquiry-grid blockquote:last-child:nth-child(odd){grid-column:1/-1;min-height:106px}
.service-detail-v15 .g14-inquiry-grid blockquote p{font-size:15px;line-height:1.82}

/* Principle: balanced image and copy, not tiny photo beside oversized text. */
.service-detail-v15 .g14-principle-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
.service-detail-v15 .g14-principle-grid figure img{height:400px}

/* Decision cards: exact same visual grammar for both states. */
.service-detail-v15 .g14-decision{background:var(--g15-soft)}
.service-detail-v15 .g14-decision-grid{gap:18px;align-items:stretch}
.service-detail-v15 .g14-decision-grid article,
.service-detail-v15 .g14-decision-grid article:first-child{background:#fff;border:1px solid var(--g15-line);border-radius:16px;padding:28px 30px;min-height:200px;box-shadow:none}
.service-detail-v15 .g14-decision-grid article>span{background:#e7f6ee;color:#067f3c;margin-bottom:14px}
.service-detail-v15 .g14-decision-grid h3{min-height:58px;display:flex;align-items:flex-start}

/* Process: compact, readable 4-card rhythm. */
.service-detail-v15 .g14-process{background:#eef7f3}
.service-detail-v15 .g14-process-grid{gap:18px}
.service-detail-v15 .g14-process-card{min-height:292px;padding:30px 25px;border-radius:16px;border-color:#d6e6de}
.service-detail-v15 .g14-process-card>span{font-size:28px}
.service-detail-v15 .g14-process-card h3{font-size:18px}
.service-detail-v15 .g14-process-card p{font-size:14px;line-height:1.9}

/* Gallery: larger, consistent with text density. */
.service-detail-v15 .g14-gallery-grid{max-width:960px;gap:20px}
.service-detail-v15 .g14-gallery-card img{aspect-ratio:4/3;object-fit:cover}

/* Popular / related links become functional navigation. */
.g15-popular-link{text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.g15-popular-link:hover{transform:translateY(-2px);border-color:#95cdb0;box-shadow:0 8px 22px rgba(18,62,43,.06)}

/* Other work fields, matching the site's service architecture. */
.g15-other-fields{background:#fff}
.g15-field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.g15-field-card{min-height:86px;padding:18px 20px;border:1px solid #cfe1d8;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:20px;text-decoration:none;color:var(--g15-text);background:#fff;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.g15-field-card:hover{transform:translateY(-2px);border-color:#92c9ac;background:#f8fcfa}
.g15-field-card strong{font-size:15px;line-height:1.45}
.g15-field-card span{font-size:12px;color:#39835e;white-space:nowrap}
.g15-field-all{background:#eff8f3}

/* Category pages: add real work-list density instead of jumping from cards straight to questions. */

/* Floating contact buttons: compact icons + labels, not plain text pills. */
.g14-float a{height:60px;border-radius:30px;display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:8px;padding:0 14px;text-align:left;align-content:center;justify-content:stretch}
.g14-float a:before{content:"";grid-row:1/3;width:20px;height:20px;background-repeat:no-repeat;background-size:contain;background-position:center}
.g14-float-sms:before{background-image:url('/assets/icons/message.svg')}
.g14-float-call:before{background-image:url('/assets/icons/phone.svg');filter:brightness(0) invert(1)}
.g14-float-talk:before{background-image:url('/assets/icons/chat.svg')}
.g14-float span,.g14-float small{align-self:center}

/* Footer readability. */
.g14-footer{background:#082b20}
.g14-footer-grid{grid-template-columns:1.35fr .75fr .8fr;gap:72px}
.g14-footer-tags{color:#8fd5ae}
.g14-footer-slogan{color:#c8ddd3}
.g14-footer-nav a,.g14-footer-contact>a,.g14-footer-inline a{color:#edf7f2}
.g14-footer-contact p{color:#acc7ba}

/* Category + legacy section spacing audit fixes. */
.category-v15 .section-head{margin-bottom:34px}
.category-v15 .service-list-grid{margin-bottom:0}
.category-v15 .inquiry-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.category-v15 .inquiry-quote{margin:0;min-height:72px;display:flex;align-items:center}
.category-v15 .scope-list{margin-top:18px}
.category-v15 .section > .wrap > h2{line-height:1.38}

/* Case pages: consistent block spacing. */
.case-detail-v15 .case-story>h2{margin-top:76px;margin-bottom:22px}
.case-detail-v15 .case-process-story{margin-top:34px}
.case-detail-v15 .related-cases-section{padding-top:92px;padding-bottom:92px}

@media(max-width:980px){
  .g15-work-scope-grid{grid-template-columns:1fr;gap:38px}
  .g15-work-scope-copy{max-width:720px}
  .g15-field-grid{grid-template-columns:1fr 1fr}
  .service-detail-v15 .g14-principle-grid{grid-template-columns:1fr;gap:36px}
  .service-detail-v15 .g14-principle-grid figure{max-width:720px}
  .service-detail-v15 .g14-principle-grid figure img{height:auto;aspect-ratio:4/3}
}
@media(max-width:720px){
  .service-detail-v15 .g14-section{padding:70px 0}
  .service-detail-v15 .g14-inquiries{padding:74px 0}
  .g15-work-scope-copy h2{font-size:26px}
  .g15-work-list{grid-template-columns:1fr}
  .g15-work-item{min-height:0;padding:15px 16px}
  .service-detail-v15 .g14-inquiry-grid{grid-template-columns:1fr}
  .service-detail-v15 .g14-inquiry-grid blockquote:last-child:nth-child(odd){grid-column:auto}
  .service-detail-v15 .g14-decision-grid h3{min-height:0}
  .g15-field-grid{grid-template-columns:1fr}
    .category-v15 .inquiry-list{grid-template-columns:1fr}
  .category-v15 .g15-separated-heading{margin-top:58px!important}
  .g14-footer-logo img{width:190px}
}


/* v16 content-first service layout */
.g14-footer-logo img{filter:none!important;background:transparent!important;width:218px}
.v16-scope .g14-section-title{max-width:820px;margin-bottom:30px}
.v16-keyword-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:0 0 34px}
.v16-keyword-card{border:1px solid #cfe2d8;border-radius:14px;padding:18px 17px;background:#fff;min-height:76px;display:flex;align-items:center}
.v16-keyword-card strong{font-size:15px;line-height:1.45;color:#193f30}
.v16-detail-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 34px;border-top:1px solid #e0ebe5}
.v16-detail-list li{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:14px 2px;border-bottom:1px solid #e0ebe5;line-height:1.75;color:#405d51;font-size:15px}
.v16-list-check{color:#0ba657;font-weight:900}
.v16-inquiries{padding-top:96px;padding-bottom:96px}.v16-inquiry-grid{grid-template-columns:1fr 1fr}.v16-inquiry-grid blockquote:last-child:nth-child(odd){grid-column:1/-1;width:100%;max-width:calc(50% - 9px);justify-self:center}
.v16-principle-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:72px;align-items:start}
.v16-principle-copy h2{font-size:32px;line-height:1.35;letter-spacing:-.04em;margin:13px 0 18px}.v16-principle-copy>p{color:#5a7067;line-height:1.95;margin:0}
.v16-principle-list{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dce8e2}
.v16-principle-list li{padding:14px 0;border-bottom:1px solid #dce8e2;font-weight:750;color:#315345}.v16-principle-list li:before{content:'✓';color:#0ba657;margin-right:9px}
.v16-decision-stack>h3{font-size:21px;margin:0 0 15px}.v16-decision-card{border:1px solid #d9e6e0;border-radius:15px;padding:22px 24px;background:#fff;margin-bottom:12px;min-height:150px}.v16-decision-label{display:inline-block;background:#e9f7ef;color:#087b3e;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:850;margin-bottom:12px}.v16-decision-card strong{display:block;font-size:17px;line-height:1.5;margin-bottom:8px}.v16-decision-card p{margin:0;color:#60766c;line-height:1.8;font-size:14px}
.v16-process .g14-process-card{min-height:250px}.v16-gallery .g14-gallery-grid{max-width:960px}.v16-gallery .g14-gallery-card img{aspect-ratio:4/3;object-position:center}
.v16-popular-grid{grid-template-columns:1fr 1fr}.v16-popular-link{text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.v16-popular-link:hover{transform:translateY(-2px);border-color:#79bd99;box-shadow:0 8px 22px rgba(12,53,39,.06)}.v16-popular-link span{color:#0b8f48!important}.v16-case-cta{display:inline-flex;margin-top:22px;color:#087b3e;font-weight:850;text-decoration:none;border-bottom:1px solid #b7d8c7;padding-bottom:3px}
.v16-faq .g14-faq-wrap{max-width:850px}
.g14-section + .g14-section{scroll-margin-top:90px}
@media(max-width:980px){.v16-keyword-grid{grid-template-columns:repeat(2,1fr)}.v16-principle-grid{grid-template-columns:1fr;gap:36px}.v16-inquiry-grid blockquote:last-child:nth-child(odd){max-width:none}.v16-popular-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.v16-keyword-grid{grid-template-columns:1fr 1fr;gap:8px}.v16-keyword-card{padding:14px;min-height:66px}.v16-keyword-card strong{font-size:13px}.v16-detail-list{grid-template-columns:1fr}.v16-inquiry-grid{grid-template-columns:1fr}.v16-inquiry-grid blockquote:last-child:nth-child(odd){grid-column:auto;width:auto;max-width:none;justify-self:stretch}.v16-principle-copy h2{font-size:25px}.v16-principle-list{grid-template-columns:1fr}.v16-popular-grid{grid-template-columns:1fr}.g14-footer-logo img{width:198px}}

.v16-gallery .g14-gallery-grid{grid-template-columns:repeat(3,1fr);max-width:1100px}.v16-gallery .g14-gallery-card img{height:240px;aspect-ratio:auto;object-fit:cover}@media(max-width:900px){.v16-gallery .g14-gallery-grid{grid-template-columns:1fr 1fr}.v16-gallery .g14-gallery-card img{height:220px}}@media(max-width:520px){.v16-gallery .g14-gallery-card img{height:170px}}


/* ===== GDN v17 - global debugging, readability and consistency hardening ===== */
html{scroll-padding-top:88px}
body{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{image-orientation:from-image}
h1,h2,h3,h4,.case-card .body h2,.v16-keyword-card strong,.g14-popular-card strong{word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}
p,li,blockquote,.lead,.g14-hero-lead{word-break:keep-all;overflow-wrap:break-word}
a,button{touch-action:manipulation}

/* One typography rhythm across all current templates */
.g14-section-title{margin-bottom:40px}
.g14-section-title h2{margin-top:14px;margin-bottom:14px}
.g14-section-title p{font-size:15.5px;line-height:1.9}
.service-detail-v15 .g14-section{padding-top:92px;padding-bottom:92px}
.service-detail-v15 .g14-inquiries{padding-top:96px;padding-bottom:96px}
.service-detail-v15 .g14-scope{padding-top:88px;padding-bottom:92px}
.service-detail-v15 .g14-process,.service-detail-v15 .g14-gallery-section,.service-detail-v15 .g14-popular,.service-detail-v15 .g14-faq-section,.service-detail-v15 .g15-other-fields{scroll-margin-top:92px}

/* Core service content: consistent card height and readable line lengths */
.v16-keyword-grid{align-items:stretch}
.v16-keyword-card{min-height:86px;height:100%}
.v16-keyword-card strong{font-size:15px;line-height:1.55}
.v16-detail-list li{min-height:58px;align-items:start}
.v16-inquiry-grid{align-items:stretch}
.v16-inquiry-grid blockquote{height:100%;min-height:120px}
.v16-inquiry-grid blockquote:last-child{min-height:120px}
.v16-decision-stack{min-width:0}
.v16-decision-card{height:auto;min-height:162px}
.v16-decision-card strong{word-break:keep-all}
.v16-process .g14-process-grid{align-items:stretch}
.v16-process .g14-process-card{height:100%;min-height:272px}

/* Gallery: no rotation tricks, no repeated hero crop, stable proportions */
.v16-gallery .g14-gallery-card{height:100%}
.v16-gallery .g14-img-button{overflow:hidden}
.v16-gallery .g14-gallery-card img{width:100%;height:250px;object-fit:cover;object-position:center center;transform:none;image-orientation:from-image}
.v16-gallery .g14-gallery-card:hover img{transform:scale(1.018)}
.v16-gallery .g14-gallery-card figcaption{min-height:52px}

/* Related-work cards are clearly clickable throughout the card */
.v16-popular-link,.g15-field-card{cursor:pointer;position:relative}
.v16-popular-link:focus-visible,.g15-field-card:focus-visible{outline:3px solid rgba(7,143,69,.25);outline-offset:3px}
.v16-popular-link span:after,.g15-field-card span:after{content:""}

/* Case index semantic H2s retain compact card appearance */
.case-card .body h2{font-size:17px;line-height:1.45;margin:0 0 8px;font-weight:850;letter-spacing:-.025em}
.case-card .body p{line-height:1.7;min-height:48px}
.case-grid{align-items:stretch}
.case-card{height:100%}

/* Footer: transparent logo only, no filters/background blocks */
.g14-footer-logo{display:inline-flex;align-items:center;background:transparent!important}
.g14-footer-logo img{filter:none!important;background:transparent!important;width:218px!important;height:auto!important;display:block}
.g14-footer-grid{align-items:start}
.g14-footer-slogan{max-width:430px}

/* Category/readability rhythm */
.category-v15 .section{padding-top:84px;padding-bottom:84px}
.category-v15 .section-head{margin-bottom:38px}
.category-v15 .category-v15 .inquiry-list{margin-top:8px}
.category-v15 .section > .wrap > h2{margin-top:0;margin-bottom:26px}

/* Case detail rhythm */
.case-detail-v15 .case-story>h2{margin-top:72px;margin-bottom:20px}
.case-detail-v15 .case-story>p{max-width:760px}
.case-detail-v15 .case-process-row{align-items:center}

@media(max-width:980px){
 .service-detail-v15 .g14-section{padding-top:78px;padding-bottom:78px}
 .v16-process .g14-process-grid{grid-template-columns:1fr 1fr}
 .v16-process .g14-process-card{min-height:225px}
 .g14-footer-grid{gap:38px}
}
@media(max-width:720px){
 body{font-size:15px}
 .wrap,.g14-wrap{width:min(100% - 28px,var(--g14-wrap))}
 .service-detail-v15 .g14-section,.service-detail-v15 .g14-inquiries,.service-detail-v15 .g14-scope{padding-top:66px;padding-bottom:66px}
 .g14-section-title{margin-bottom:30px}
 .g14-section-title h2{font-size:25px;line-height:1.38}
 .v16-keyword-card{min-height:70px}
 .v16-detail-list li{min-height:0}
 .v16-inquiry-grid blockquote{min-height:0!important}
 .v16-process .g14-process-grid{grid-template-columns:1fr}
 .v16-process .g14-process-card{min-height:0}
 .v16-gallery .g14-gallery-grid{grid-template-columns:1fr 1fr;gap:10px}
 .v16-gallery .g14-gallery-card img{height:170px}
 .v16-gallery .g14-gallery-card figcaption{font-size:12.5px;padding:11px 12px;min-height:46px}
 .case-card .body h2{font-size:15px}
 .case-card .body p{min-height:0;font-size:13px}
 .g14-footer-logo img{width:198px!important}
 .g14-footer-bottom{gap:10px;flex-wrap:wrap}
}
@media(max-width:420px){
 .v16-keyword-grid{grid-template-columns:1fr}
 .v16-gallery .g14-gallery-card img{height:155px}
}

/* v17 contrast audit: primary green supports white normal-size button text */
:root{--green:#087b3e;--green-dark:#055f33;--g14-green:#087b3e;--g14-green-dark:#055f33;--g15-green:#087b3e}


/* v18: information-first service detail layout */
.g14-footer-logo img{filter:none!important;background:transparent!important}
.service-detail-v18 .g14-service-hero{padding:82px 0 78px}
.service-detail-v18 .g14-checklist{grid-template-columns:1fr 1fr;gap:10px 28px;margin-bottom:22px}
.service-detail-v18 .g14-checklist li{font-size:15px;line-height:1.65}
.v18-scope{padding:96px 0;background:#fff}
.v18-scope-label{color:#087b3e;font-size:13px;font-weight:850;letter-spacing:.03em;margin-bottom:34px}
.v18-scope-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:72px;align-items:center}
.v18-scope-copy h2{font-size:32px;line-height:1.38;letter-spacing:-.04em;margin:14px 0 18px;font-weight:850;word-break:keep-all}
.v18-scope-copy>p{font-size:16px;line-height:1.95;color:#52685f;margin:0 0 25px;max-width:680px;word-break:keep-all}
.v18-detail-list{list-style:none;margin:0;padding:0;border-top:1px solid #dfe9e4}
.v18-detail-list li{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:12px 0;border-bottom:1px solid #dfe9e4;color:#315044;font-size:15px;line-height:1.7;align-items:start}
.v18-detail-list li>span:first-child{color:#087b3e;font-weight:900}
.v18-scope-media{margin:0;background:#f4f7f5;border:1px solid #e0e9e4;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(18,54,39,.07)}
.v18-scope-media .g14-img-button{display:flex;align-items:center;justify-content:center;background:#f4f7f5;min-height:360px}
.v18-scope-media img{display:block;width:100%;height:390px;object-fit:contain;background:#f4f7f5}
.v18-scope-media figcaption{padding:13px 16px;background:#fff;color:#496258;font-size:13px;font-weight:700}
.service-detail-v18 .v16-inquiries{padding-top:92px;padding-bottom:92px}
.service-detail-v18 .v16-principle{padding-top:96px;padding-bottom:96px}
.service-detail-v18 .v16-process,.service-detail-v18 .v16-gallery{padding-top:92px;padding-bottom:92px}
.service-detail-v18 .g14-section-title{margin-bottom:38px}
@media(max-width:980px){.v18-scope-grid{grid-template-columns:1fr;gap:36px}.v18-scope-media{max-width:680px}.service-detail-v18 .g14-checklist{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.service-detail-v18 .g14-service-hero{padding:46px 0 52px}.service-detail-v18 .g14-checklist{grid-template-columns:1fr;gap:8px}.v18-scope{padding:68px 0}.v18-scope-label{margin-bottom:24px}.v18-scope-copy h2{font-size:25px;line-height:1.42}.v18-scope-copy>p{font-size:15px;line-height:1.85}.v18-detail-list li{font-size:14px;padding:11px 0}.v18-scope-media .g14-img-button{min-height:0}.v18-scope-media img{height:auto;max-height:520px;object-fit:contain}.service-detail-v18 .v16-inquiries,.service-detail-v18 .v16-principle,.service-detail-v18 .v16-process,.service-detail-v18 .v16-gallery{padding-top:68px;padding-bottom:68px}}

.v18-hero-scope-label{margin:2px 0 10px;color:#274b3d;font-size:14px;font-weight:850}.service-detail-v18 .g14-checklist{margin-top:0}


/* ===== v19 thumbnail audit: prioritize problem visibility over decorative crop ===== */
.service-index-v14 .hub-card>.card-icon{display:none!important}
.service-index-v14 .hub-card{padding:22px 22px 24px!important}
.service-index-v14 .hub-card>img{display:block;width:100%;height:268px!important;object-fit:contain!important;object-position:center center!important;background:#f4f7f5!important;border:1px solid #e3ebe6!important;border-radius:12px!important;padding:10px!important;margin:0 0 16px!important}
.service-index-v14 .hub-card h3{margin-top:10px!important}

.home-v14 .category-card-v10 .category-photo-v10{height:170px!important;object-fit:contain!important;object-position:center center!important;background:#f4f7f5!important;padding:8px!important;border-bottom:1px solid #ebf0ed}

.category-v14 .service-list-card,.category-v14 .shortcut-card{grid-template-columns:176px 1fr!important;min-height:166px!important}
.category-v14 .service-list-card img,.category-v14 .shortcut-card img{width:100%!important;height:100%!important;min-height:146px!important;object-fit:contain!important;object-position:center center!important;background:#f4f7f5!important;padding:8px!important}

.category-v14 .case-card .media,.cases-v14 .case-card .media,.case-detail-v14 .case-card .media{display:grid!important;place-items:center!important;background:#f4f7f5!important}
.category-v14 .case-card .media img,.cases-v14 .case-card .media img,.case-detail-v14 .case-card .media img{width:100%!important;height:232px!important;object-fit:contain!important;object-position:center center!important;background:#f4f7f5!important;padding:8px!important;transform:none!important}

@media(max-width:980px){
  .service-index-v14 .hub-card>img{height:244px!important}
  .category-v14 .service-list-card,.category-v14 .shortcut-card{grid-template-columns:160px 1fr!important;min-height:156px!important}
  .category-v14 .case-card .media img,.cases-v14 .case-card .media img,.case-detail-v14 .case-card .media img{height:210px!important}
}
@media(max-width:720px){
  .service-index-v14 .hub-card>img{height:226px!important;padding:8px!important}
  .home-v14 .category-card-v10 .category-photo-v10{height:148px!important;padding:6px!important}
  .category-v14 .service-list-card,.category-v14 .shortcut-card{grid-template-columns:132px 1fr!important;min-height:132px!important}
  .category-v14 .service-list-card img,.category-v14 .shortcut-card img{min-height:120px!important;padding:6px!important}
  .category-v14 .case-card .media img,.cases-v14 .case-card .media img,.case-detail-v14 .case-card .media img{height:168px!important;padding:6px!important}
}
@media(max-width:520px){
  .service-index-v14 .hub-card{padding:18px!important}
  .service-index-v14 .hub-card>img{height:206px!important}
  .home-v14 .category-card-v10 .category-photo-v10{height:136px!important}
  .category-v14 .service-list-card,.category-v14 .shortcut-card{grid-template-columns:118px 1fr!important;min-height:124px!important}
  .category-v14 .case-card .media img,.cases-v14 .case-card .media img,.case-detail-v14 .case-card .media img{height:152px!important}
}


/* ===== v20 visual consistency repair ===== */
/* 1) Card photos: restore full-bleed readability instead of tiny contained thumbnails */
.service-index-v14 .hub-card{padding:22px 22px 24px!important}
.service-index-v14 .hub-card>.card-icon{display:none!important}
.service-index-v14 .hub-card>img{display:block;width:100%;height:236px!important;object-fit:cover!important;object-position:center center!important;background:#edf2ef!important;border:0!important;border-radius:12px!important;padding:0!important;margin:0 0 16px!important}
.service-index-v14 .hub-card[href="/service/roof/"]>img{object-position:center 38%!important}
.service-index-v14 .hub-card[href="/service/concrete/"]>img{object-position:center 36%!important}
.service-index-v14 .hub-card[href="/service/home/"]>img{object-position:center center!important}
.service-index-v14 .hub-card[href="/service/removal/"]>img{object-position:center 42%!important}
.service-index-v14 .hub-card[href="/service/facility/"]>img{object-position:center 40%!important}

.home-v14 .category-card-v10 .category-photo-v10{height:154px!important;object-fit:cover!important;object-position:center center!important;background:#edf2ef!important;padding:0!important;border-bottom:0!important}

.category-v14 .service-list-card,.category-v14 .shortcut-card{grid-template-columns:186px 1fr!important;min-height:166px!important}
.category-v14 .service-list-card img,.category-v14 .shortcut-card img{width:100%!important;height:100%!important;min-height:166px!important;object-fit:cover!important;object-position:center center!important;background:#edf2ef!important;padding:0!important}

.category-v14 .case-card .media,.cases-v14 .case-card .media,.case-detail-v14 .case-card .media{background:#edf2ef!important}
.category-v14 .case-card .media img,.cases-v14 .case-card .media img,.case-detail-v14 .case-card .media img{width:100%!important;height:218px!important;object-fit:cover!important;object-position:center center!important;background:#edf2ef!important;padding:0!important;transform:none!important}

/* 2) v16 detail sections: stack vertically for cleaner hierarchy */
.v16-principle-grid{grid-template-columns:1fr!important;gap:26px!important;max-width:940px!important}
.v16-principle-copy{max-width:760px!important}
.v16-principle-copy h2{margin-bottom:16px!important}
.v16-principle-copy>p{max-width:760px!important}
.v16-principle-list{margin-top:24px!important}
.v16-decision-stack{border-top:1px solid #dce8e2!important;padding-top:26px!important;max-width:760px!important}
.v16-decision-stack>h3{font-size:24px!important;line-height:1.45!important;margin:0 0 16px!important;letter-spacing:-.03em!important}
.v16-decision-card{margin-bottom:14px!important;min-height:0!important;padding:24px 24px 22px!important}
.v16-decision-card strong{font-size:18px!important;line-height:1.55!important;margin-bottom:9px!important}
.v16-decision-card p{font-size:14.5px!important;line-height:1.88!important}

/* 3) Footer brand: use crisp transparent logo and remove color distortion */
.g14-footer-logo{display:inline-flex!important;align-items:center!important;min-height:56px!important;background:transparent!important}
.g14-footer-logo img{width:230px!important;height:auto!important;display:block!important;filter:none!important;background:transparent!important;mix-blend-mode:normal!important}
.g14-footer-slogan{max-width:430px!important}

@media(max-width:980px){
  .service-index-v14 .hub-card>img{height:220px!important}
  .category-v14 .service-list-card,.category-v14 .shortcut-card{grid-template-columns:168px 1fr!important;min-height:154px!important}
  .category-v14 .service-list-card img,.category-v14 .shortcut-card img{min-height:154px!important}
  .category-v14 .case-card .media img,.cases-v14 .case-card .media img,.case-detail-v14 .case-card .media img{height:198px!important}
}
@media(max-width:720px){
  .service-index-v14 .hub-card{padding:18px!important}
  .service-index-v14 .hub-card>img{height:198px!important}
  .home-v14 .category-card-v10 .category-photo-v10{height:136px!important}
  .category-v14 .service-list-card,.category-v14 .shortcut-card{grid-template-columns:126px 1fr!important;min-height:126px!important}
  .category-v14 .service-list-card img,.category-v14 .shortcut-card img{min-height:126px!important}
  .category-v14 .case-card .media img,.cases-v14 .case-card .media img,.case-detail-v14 .case-card .media img{height:168px!important}
  .v16-decision-stack{padding-top:22px!important}
  .v16-decision-stack>h3{font-size:21px!important}
  .g14-footer-logo img{width:212px!important}
}
@media(max-width:520px){
  .service-index-v14 .hub-card>img{height:184px!important}
  .category-v14 .service-list-card,.category-v14 .shortcut-card{grid-template-columns:112px 1fr!important;min-height:118px!important}
  .category-v14 .service-list-card img,.category-v14 .shortcut-card img{min-height:118px!important}
  .category-v14 .case-card .media img,.cases-v14 .case-card .media img,.case-detail-v14 .case-card .media img{height:152px!important}
  .g14-footer-logo img{width:198px!important}
}

/* ===== v21 full consistency pass ===== */
/* Remove leftover decorative micro-label spacing */
.page-hero .breadcrumbs{margin-bottom:18px!important}
.section-head{margin-bottom:34px!important}
.section-head .copy{max-width:820px}
.section-head h2{margin-top:0!important;margin-bottom:10px!important}
.g14-section-title{margin-bottom:34px!important}
.g14-section-title h2{margin-top:0!important}
.g14-section-line{display:none!important}

/* Homepage / service overview cards: use the dedicated before-work 4:3 crops full bleed */
.service-index-v14 .hub-grid{gap:22px!important}
.service-index-v14 .hub-card{padding:20px!important;overflow:hidden!important}
.service-index-v14 .hub-card>img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important;border:0!important;border-radius:11px!important;padding:0!important;margin:0 0 18px!important;background:#eef3f0!important}
.service-index-v14 .hub-card .body{padding:0!important}
.service-index-v14 .hub-card h3{font-size:22px!important;line-height:1.45!important;margin:10px 0 8px!important}
.service-index-v14 .hub-card p{font-size:14px!important;line-height:1.8!important;margin-bottom:13px!important}
.service-index-v14 .hub-card ul{margin:0!important;padding-left:20px!important;display:grid!important;gap:6px!important}
.service-index-v14 .hub-card li{font-size:14px!important;line-height:1.55!important}

.home-v14 .category-card-v10 .category-photo-v10{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important;padding:0!important;background:#eef3f0!important;border-bottom:0!important}

/* Category pages: thumbnail and copy maintain the same rhythm */
.category-v14 .service-list-grid{gap:18px!important}
.category-v14 .service-list-card,.category-v14 .shortcut-card{grid-template-columns:210px minmax(0,1fr)!important;min-height:158px!important;border-radius:14px!important}
.category-v14 .service-list-card img,.category-v14 .shortcut-card img{display:block!important;width:100%!important;height:100%!important;min-height:158px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;padding:0!important;background:#eef3f0!important}
.category-v14 .service-list-card .body,.category-v14 .shortcut-body{padding:20px 22px!important}
.category-v14 .service-list-card h3,.category-v14 .shortcut-card h3{font-size:18px!important;line-height:1.5!important}

/* Service-detail hero: one clear before-work image, no mid-process hero photo */
.service-detail-v15 .g14-service-hero,.service-detail-v18 .g14-service-hero{padding-top:76px!important;padding-bottom:74px!important}
.service-detail-v15 .g14-hero-grid,.service-detail-v18 .g14-hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(400px,.86fr)!important;gap:64px!important;align-items:center!important}
.service-detail-v15 .g14-hero-media,.service-detail-v18 .g14-hero-media{max-width:560px!important;justify-self:end!important}
.service-detail-v15 .g14-hero-media img,.service-detail-v18 .g14-hero-media img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important;border-radius:16px!important;box-shadow:0 14px 34px rgba(12,53,39,.08)!important}
.service-detail-v15 .g14-hero-media figcaption,.service-detail-v18 .g14-hero-media figcaption{left:14px!important;bottom:14px!important;background:rgba(8,33,24,.82)!important;padding:7px 10px!important;font-size:12px!important}
.v21-hero-scope-title{font-size:17px!important;line-height:1.45!important;letter-spacing:-.025em!important;margin:24px 0 10px!important;color:#183c2d!important}
.service-detail-v15 .g14-checklist,.service-detail-v18 .g14-checklist{grid-template-columns:1fr 1fr!important;gap:7px 22px!important;margin:0!important}
.service-detail-v15 .g14-checklist li,.service-detail-v18 .g14-checklist li{font-size:14px!important;line-height:1.55!important;padding-left:22px!important}

/* Detailed scope: full photo visible at a useful size */
.v18-scope-grid{grid-template-columns:minmax(0,1fr) minmax(370px,.82fr)!important;gap:62px!important;align-items:start!important}
.v18-scope-media{max-width:500px!important;justify-self:end!important;margin:0!important}
.v18-scope-media img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:3/4!important;object-fit:cover!important;background:#fff!important;border-radius:14px!important}
.v18-scope-media figcaption{font-size:13px!important;padding-top:9px!important;color:#64776f!important}
.v18-detail-list{margin-top:22px!important}

/* Decision section: single column, explicit subheadings, no split-screen card composition */
.v16-principle-grid{display:block!important;max-width:880px!important;margin:0!important}
.v16-principle-copy{max-width:880px!important}
.v16-principle-copy>p{max-width:780px!important}
.v16-principle-list{max-width:780px!important;margin-top:22px!important;grid-template-columns:1fr 1fr!important}
.v21-decision-list{max-width:780px!important;margin-top:34px!important;border-top:1px solid #d9e5df!important}
.v21-decision-item{padding:26px 0 24px!important;border-bottom:1px solid #d9e5df!important}
.v21-decision-item h3{font-size:21px!important;line-height:1.45!important;margin:0 0 10px!important;letter-spacing:-.03em!important;color:#163d2e!important}
.v21-decision-item strong{display:block!important;font-size:16px!important;line-height:1.7!important;margin:0 0 7px!important;color:#243f34!important}
.v21-decision-item p{font-size:14.5px!important;line-height:1.9!important;color:#5a7067!important;margin:0!important}

/* Work photos: 4 photos in chronological 2x2 layout, source orientation preserved */
.v16-gallery .g14-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;max-width:1060px!important;margin:0 auto!important}
.v16-gallery .g14-gallery-card{border-radius:14px!important;overflow:hidden!important;border:1px solid #dde7e2!important;background:#fff!important}
.v16-gallery .g14-gallery-card img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:3/4!important;object-fit:cover!important;object-position:center!important;transform:none!important;background:#fff!important}
.v16-gallery .g14-gallery-card figcaption{display:block!important;padding:16px 17px 18px!important;min-height:92px!important}
.v16-gallery .g14-gallery-card figcaption strong{display:block!important;font-size:13px!important;line-height:1.45!important;color:#087b3e!important;margin-bottom:6px!important}
.v16-gallery .g14-gallery-card figcaption span{display:block!important;font-size:14px!important;line-height:1.7!important;color:#40594e!important}

/* Case listing cards: dedicated 4:3 before-work thumbnails */
.case-card .media{background:#eef3f0!important;aspect-ratio:4/3!important;height:auto!important}
.case-card .media img,.cases-v14 .case-card .media img,.case-detail-v14 .case-card .media img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;padding:0!important;background:#eef3f0!important;transform:none!important}
.cases-v14 .case-grid,.cases-index .case-grid{gap:20px!important}
.cases-v14 .case-card .body,.cases-index .case-card .body{padding:16px 17px 18px!important}
.cases-v14 .case-card h3,.cases-index .case-card h3{font-size:16px!important;line-height:1.5!important}

/* Case detail process photos: do not crop portrait source photography */
.case-detail-v14 .case-process-story{gap:66px!important}
.case-detail-v14 .case-process-row{grid-template-columns:minmax(300px,450px) minmax(0,1fr)!important;gap:52px!important;align-items:center!important}
.case-detail-v14 .case-process-media{max-width:450px!important;width:100%!important}
.case-detail-v14 .case-process-media img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:3/4!important;object-fit:cover!important;border-radius:15px!important;background:#fff!important}
.case-detail-v14 .case-process-copy{max-width:440px!important}

/* Areas page: proper card padding and hierarchy; no unrelated decorative photo */
.v21-area-section{padding-top:76px!important;padding-bottom:78px!important}
.v21-area-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.v21-area-grid article{border:1px solid #dce6e1!important;border-radius:14px!important;background:#fff!important;padding:22px 24px!important;min-height:132px!important}
.v21-area-grid h3{font-size:18px!important;line-height:1.45!important;margin:0 0 12px!important;color:#163d2e!important}
.v21-area-grid p{font-size:14px!important;line-height:1.75!important;margin:0!important;color:#52665d!important}
.v21-before-visit{padding-top:78px!important;padding-bottom:82px!important}
.v21-visit-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;margin-top:4px!important}
.v21-visit-grid article{background:#fff!important;border:1px solid #dce6e1!important;border-radius:14px!important;padding:24px 24px 25px!important;min-height:190px!important}
.v21-visit-grid article>span{display:block!important;font-size:13px!important;font-weight:900!important;color:#0a8c49!important;margin-bottom:12px!important}
.v21-visit-grid h3{font-size:20px!important;margin:0 0 10px!important}
.v21-visit-grid p{font-size:14px!important;line-height:1.82!important;color:#576c63!important;margin:0!important}
.v21-area-note{max-width:820px!important;margin-top:44px!important;padding-top:34px!important;border-top:1px solid #d7e3dd!important}
.v21-area-note h2{font-size:25px!important;margin:0 0 12px!important}
.v21-area-note p{font-size:15px!important;line-height:1.9!important;color:#556c62!important;max-width:720px!important}
.v21-area-note .btn{margin-top:16px!important}

/* Footer: exact high-resolution symbol + CSS wordmark, no washed-out raster logo */
.g14-footer-logo{display:inline-flex!important;align-items:center!important;gap:12px!important;min-height:60px!important;background:transparent!important;text-decoration:none!important}
.g14-footer-logo>img{width:56px!important;height:56px!important;object-fit:contain!important;filter:none!important;background:transparent!important;mix-blend-mode:normal!important;flex:0 0 56px!important}
.g14-footer-wordmark{display:flex!important;flex-direction:column!important;align-items:flex-start!important;line-height:1!important}
.g14-footer-brandline{font-size:27px!important;font-weight:900!important;letter-spacing:-.055em!important;color:#fff!important;white-space:nowrap!important}
.g14-footer-brandline b{color:#27cf77!important;font-weight:900!important}
.g14-footer-wordmark small{font-size:12px!important;font-weight:750!important;letter-spacing:.12em!important;color:#8fd8ad!important;margin-top:8px!important}
.g14-footer-tags{margin-top:22px!important}
.g14-footer-slogan{max-width:470px!important}

@media(max-width:980px){
  .service-detail-v15 .g14-hero-grid,.service-detail-v18 .g14-hero-grid{grid-template-columns:1fr!important;gap:34px!important}
  .service-detail-v15 .g14-hero-media,.service-detail-v18 .g14-hero-media{justify-self:start!important;max-width:620px!important}
  .v18-scope-grid{grid-template-columns:1fr!important;gap:32px!important}
  .v18-scope-media{justify-self:start!important;max-width:500px!important}
  .case-detail-v14 .case-process-row{grid-template-columns:minmax(260px,390px) minmax(0,1fr)!important;gap:36px!important}
  .v21-area-grid,.v21-visit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .section-head{margin-bottom:26px!important}
  .service-index-v14 .hub-grid{gap:16px!important}
  .service-index-v14 .hub-card{padding:16px!important}
  .service-index-v14 .hub-card>img{margin-bottom:15px!important}
  .category-v14 .service-list-card,.category-v14 .shortcut-card{grid-template-columns:132px minmax(0,1fr)!important;min-height:126px!important}
  .category-v14 .service-list-card img,.category-v14 .shortcut-card img{min-height:126px!important}
  .category-v14 .service-list-card .body,.category-v14 .shortcut-body{padding:15px!important}
  .service-detail-v15 .g14-service-hero,.service-detail-v18 .g14-service-hero{padding-top:48px!important;padding-bottom:54px!important}
  .service-detail-v15 .g14-checklist,.service-detail-v18 .g14-checklist{grid-template-columns:1fr!important;gap:7px!important}
  .v18-scope-media{max-width:100%!important}
  .v16-principle-list{grid-template-columns:1fr!important}
  .v16-gallery .g14-gallery-grid{grid-template-columns:1fr!important;gap:18px!important;max-width:540px!important}
  .v16-gallery .g14-gallery-card figcaption{min-height:0!important}
  .case-detail-v14 .case-process-row{grid-template-columns:1fr!important;gap:20px!important}
  .case-detail-v14 .case-process-media{max-width:520px!important}
  .case-detail-v14 .case-process-row:nth-child(even) .case-process-media{order:0!important}
  .v21-area-grid,.v21-visit-grid{grid-template-columns:1fr!important;gap:12px!important}
  .v21-area-grid article{min-height:0!important;padding:20px!important}
  .v21-visit-grid article{min-height:0!important;padding:21px!important}
  .g14-footer-logo>img{width:50px!important;height:50px!important;flex-basis:50px!important}
  .g14-footer-brandline{font-size:24px!important}
}


/* ===== v22: unified heading hierarchy, readable service copy, reliable process images ===== */
.service-detail-v18 .g14-section-title.centered,.service-detail-v15 .g14-section-title.centered{text-align:left!important;max-width:920px!important;margin-left:auto!important;margin-right:auto!important}
.service-detail-v18 .g14-section-title.centered .g14-section-line,.service-detail-v15 .g14-section-title.centered .g14-section-line{margin:0!important}
.service-detail-v18 .g14-section-title.centered p,.service-detail-v15 .g14-section-title.centered p{margin-left:0!important;margin-right:0!important;max-width:760px!important}
.service-detail-v18 .g14-section-title h2,.service-detail-v15 .g14-section-title h2,.service-detail-v18 .v18-scope-copy h2,.service-detail-v15 .v18-scope-copy h2,.service-detail-v18 .v16-principle-copy h2,.service-detail-v15 .v16-principle-copy h2{font-size:30px!important;line-height:1.42!important;letter-spacing:-.035em!important;word-break:keep-all!important;text-wrap:balance!important}
.service-detail-v18 .v18-scope-copy>p,.service-detail-v15 .v18-scope-copy>p{font-size:15.5px!important;line-height:1.95!important;color:#52685e!important;max-width:760px!important;margin:0 0 12px!important}
.service-detail-v18 .v18-scope-copy>p+p,.service-detail-v15 .v18-scope-copy>p+p{margin-top:4px!important}
.service-detail-v18 .v16-principle-copy>p,.service-detail-v15 .v16-principle-copy>p{font-size:15.5px!important;line-height:1.95!important;color:#52685e!important;max-width:780px!important}
.service-detail-v18 .g14-process-card p,.service-detail-v15 .g14-process-card p{font-size:14.5px!important;line-height:1.85!important}
.service-detail-v18 .g14-process-card,.service-detail-v15 .g14-process-card{min-height:304px!important;padding:26px 22px!important}
.service-detail-v18 .v16-gallery .g14-gallery-card img,.service-detail-v15 .v16-gallery .g14-gallery-card img{width:100%!important;height:auto!important;aspect-ratio:3/4!important;object-fit:cover!important;object-position:center!important;background:#eef3f0!important}
.service-detail-v18 .v16-gallery .g14-gallery-card figcaption,.service-detail-v15 .v16-gallery .g14-gallery-card figcaption{min-height:98px!important}
.service-detail-v18 .g14-faq details p,.service-detail-v15 .g14-faq details p{font-size:14.5px!important;line-height:1.9!important}
@media(max-width:900px){.service-detail-v18 .g14-process-grid,.service-detail-v15 .g14-process-grid{grid-template-columns:1fr 1fr!important}.service-detail-v18 .g14-process-card,.service-detail-v15 .g14-process-card{min-height:0!important}}
@media(max-width:720px){.service-detail-v18 .g14-section-title h2,.service-detail-v15 .g14-section-title h2,.service-detail-v18 .v18-scope-copy h2,.service-detail-v15 .v18-scope-copy h2,.service-detail-v18 .v16-principle-copy h2,.service-detail-v15 .v16-principle-copy h2{font-size:25px!important}.service-detail-v18 .g14-process-grid,.service-detail-v15 .g14-process-grid{grid-template-columns:1fr!important}.service-detail-v18 .v16-gallery .g14-gallery-grid,.service-detail-v15 .v16-gallery .g14-gallery-grid{grid-template-columns:1fr!important;max-width:520px!important}.service-detail-v18 .v16-gallery .g14-gallery-card figcaption,.service-detail-v15 .v16-gallery .g14-gallery-card figcaption{min-height:0!important}}

/* ===== v23: heading de-duplication + practical content audit ===== */
.v23-practical{max-width:760px!important}


/* ===== v24: compact service process gallery =====
   Keep the 4-step sequence readable without letting two portrait photos dominate a desktop viewport. */
.service-detail-v18 .v16-gallery .g14-section-title,
.service-detail-v15 .v16-gallery .g14-section-title{
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.service-detail-v18 .v16-gallery .g14-gallery-grid,
.service-detail-v15 .v16-gallery .g14-gallery-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  max-width:820px!important;
  margin:0 auto!important;
  align-items:stretch!important;
}
.service-detail-v18 .v16-gallery .g14-gallery-card,
.service-detail-v15 .v16-gallery .g14-gallery-card{
  min-width:0!important;
  border-radius:13px!important;
}
.service-detail-v18 .v16-gallery .g14-img-button,
.service-detail-v15 .v16-gallery .g14-img-button{
  overflow:hidden!important;
  background:#edf2ef!important;
}
.service-detail-v18 .v16-gallery .g14-gallery-card img,
.service-detail-v15 .v16-gallery .g14-gallery-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#edf2ef!important;
}
.service-detail-v18 .v16-gallery .g14-gallery-card figcaption,
.service-detail-v15 .v16-gallery .g14-gallery-card figcaption{
  min-height:82px!important;
  padding:13px 15px 15px!important;
}
.service-detail-v18 .v16-gallery .g14-gallery-card figcaption strong,
.service-detail-v15 .v16-gallery .g14-gallery-card figcaption strong{
  font-size:12.5px!important;
  margin-bottom:5px!important;
}
.service-detail-v18 .v16-gallery .g14-gallery-card figcaption span,
.service-detail-v15 .v16-gallery .g14-gallery-card figcaption span{
  font-size:13.5px!important;
  line-height:1.65!important;
}
@media(max-width:900px){
  .service-detail-v18 .v16-gallery .g14-gallery-grid,
  .service-detail-v15 .v16-gallery .g14-gallery-grid{
    max-width:720px!important;
    gap:16px!important;
  }
}
@media(max-width:720px){
  .service-detail-v18 .v16-gallery .g14-gallery-grid,
  .service-detail-v15 .v16-gallery .g14-gallery-grid{
    grid-template-columns:1fr!important;
    max-width:390px!important;
    gap:16px!important;
  }
  .service-detail-v18 .v16-gallery .g14-section-title,
  .service-detail-v15 .v16-gallery .g14-section-title{
    max-width:520px!important;
  }
  .service-detail-v18 .v16-gallery .g14-gallery-card figcaption,
  .service-detail-v15 .v16-gallery .g14-gallery-card figcaption{
    min-height:0!important;
  }
}
@media(max-width:430px){
  .service-detail-v18 .v16-gallery .g14-gallery-grid,
  .service-detail-v15 .v16-gallery .g14-gallery-grid{
    max-width:350px!important;
  }
}


/* ===== v25: compact process media across every same-level detail page =====
   Service-detail galleries were compacted in v24. v25 applies the same viewport-density
   rule to all case-detail process sections so one photo never dominates a desktop screen. */
.case-detail-v14 .case-process-story{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  max-width:820px!important;
  margin:28px 0 0!important;
  align-items:stretch!important;
}
.case-detail-v14 .case-process-row{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  min-width:0!important;
  border:1px solid #dde7e2!important;
  border-radius:13px!important;
  overflow:hidden!important;
  background:#fff!important;
  align-items:stretch!important;
}
.case-detail-v14 .case-process-row:nth-child(even) .case-process-media{
  order:0!important;
}
.case-detail-v14 .case-process-media{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  overflow:hidden!important;
  background:#edf2ef!important;
}
.case-detail-v14 .case-process-media img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  background:#edf2ef!important;
  transform:none!important;
}
.case-detail-v14 .case-process-copy{
  width:100%!important;
  max-width:none!important;
  padding:14px 16px 17px!important;
  flex:1 1 auto!important;
}
.case-detail-v14 .case-process-copy .step-no{
  display:inline-block!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#087b3e!important;
  background:#e9f7ef!important;
  border-radius:6px!important;
  padding:5px 8px!important;
  margin-bottom:8px!important;
}
.case-detail-v14 .case-process-copy h3{
  font-size:17px!important;
  line-height:1.48!important;
  margin:0 0 7px!important;
  letter-spacing:-.025em!important;
  word-break:keep-all!important;
}
.case-detail-v14 .case-process-copy p{
  font-size:13.5px!important;
  line-height:1.72!important;
  color:#586d64!important;
  margin:0!important;
  word-break:keep-all!important;
}

/* Keep process headings aligned to the compact media block. */
.case-detail-v14 .case-story>h2.case-process-heading{
  max-width:820px!important;
  margin-bottom:18px!important;
}

/* Identical density for service process photo blocks across all 15 service-detail pages. */
.service-detail-v18 .v16-gallery .g14-gallery-grid,
.service-detail-v15 .v16-gallery .g14-gallery-grid{
  max-width:820px!important;
  gap:20px!important;
}
.service-detail-v18 .v16-gallery .g14-gallery-card img,
.service-detail-v15 .v16-gallery .g14-gallery-card img{
  aspect-ratio:4/5!important;
}

@media(max-width:900px){
  .case-detail-v14 .case-process-story{
    max-width:720px!important;
    gap:16px!important;
  }
}
@media(max-width:720px){
  .case-detail-v14 .case-process-story{
    grid-template-columns:1fr!important;
    max-width:390px!important;
    gap:16px!important;
    margin-top:20px!important;
  }
  .case-detail-v14 .case-process-copy{
    padding:13px 14px 15px!important;
  }
  .case-detail-v14 .case-process-copy h3{
    font-size:16px!important;
  }
  .case-detail-v14 .case-process-copy p{
    font-size:13px!important;
  }
}
@media(max-width:430px){
  .case-detail-v14 .case-process-story{
    max-width:350px!important;
  }
}


/* ===== v26: unified site-wide layout, field cards and page rhythm ===== */
/* Remove old decorative icon tiles where photos/text already identify the section. */
.problem-item .card-icon,.hub-card>.card-icon,.category-card-v10 .category-icon-v10,.contact-card>.card-icon{display:none!important}

/* Global section hierarchy: consistent alignment and breathing room. */
.section-head{align-items:end!important;gap:24px!important}
.section-head .copy{max-width:780px!important}
.section-head h2{margin-bottom:10px!important}
.section-intro{max-width:760px!important;line-height:1.85!important}

/* Problem finder: text-first, no decorative icons, enough information at a glance. */
.home-v14 .problem-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.home-v14 .problem-item{min-height:138px!important;padding:22px 54px 22px 22px!important}
.home-v14 .problem-item.wide{grid-column:1/-1!important;min-height:118px!important}
.home-v14 .problem-num{display:inline-block!important;font-size:12px!important;font-weight:900!important;color:#0a8a47!important;margin-bottom:8px!important}
.home-v14 .problem-copy h3{font-size:18px!important;line-height:1.45!important;margin:0 0 7px!important}
.home-v14 .problem-copy p{font-size:13.5px!important;line-height:1.7!important;margin:0!important}

/* Home field cards: larger photos and no icon clutter. */
.home-v14 .category-showcase-v10{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.home-v14 .category-card-v10{border:1px solid #dce7e1!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important;min-width:0!important}
.home-v14 .category-card-v10 .category-photo-v10{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important;padding:0!important;background:#edf2ef!important}
.home-v14 .category-card-v10 .category-body-v10{padding:16px 17px 18px!important}
.home-v14 .category-card-v10 .category-head-v10{display:block!important}
.home-v14 .category-card-v10 h3{font-size:17px!important;line-height:1.45!important;margin:0 0 6px!important}
.home-v14 .category-card-v10 p{font-size:13px!important;line-height:1.65!important;margin:0 0 9px!important}

/* Full field overview used on /service/ and /about/. */
.v26-field-grid,.service-index-v14 .hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
.v26-field-card,.service-index-v14 .hub-card{padding:0!important;border:1px solid #dce7e1!important;border-radius:15px!important;overflow:hidden!important;background:#fff!important;display:flex!important;flex-direction:column!important;min-width:0!important}
.v26-field-card>img,.service-index-v14 .hub-card>img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#edf2ef!important}
.v26-field-card .body,.service-index-v14 .hub-card .body{padding:21px 22px 23px!important;flex:1 1 auto!important}
.v26-field-card h3,.service-index-v14 .hub-card h3{font-size:21px!important;line-height:1.45!important;margin:0 0 9px!important}
.v26-field-card p,.service-index-v14 .hub-card p{font-size:14px!important;line-height:1.78!important;margin:0 0 12px!important;color:#586d64!important}
.v26-field-card ul,.service-index-v14 .hub-card ul{margin:0!important;padding-left:20px!important;display:grid!important;gap:5px!important;font-size:13.5px!important;line-height:1.6!important}
.v26-field-card-wide{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important}
.v26-field-card-wide>img{height:100%!important;aspect-ratio:auto!important;min-height:270px!important}
.v26-field-card-wide .body{display:flex!important;flex-direction:column!important;justify-content:center!important}

/* About page: replace marketing counters with practical criteria. */
.v26-about-principles{padding-top:64px!important;padding-bottom:76px!important}
.v26-principle-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.v26-principle-grid article{border:1px solid #dce7e1!important;border-radius:14px!important;background:#fff!important;padding:22px!important;min-height:170px!important}
.v26-principle-grid b{font-size:12px!important;color:#078644!important;display:block!important;margin-bottom:11px!important}
.v26-principle-grid h3{font-size:18px!important;line-height:1.45!important;margin:0 0 8px!important}
.v26-principle-grid p{font-size:14px!important;line-height:1.78!important;color:#5b7067!important;margin:0!important}
.v26-about-fields{background:#f3f8f5!important}
.v26-about-consult .v26-consult-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)!important;gap:64px!important;align-items:center!important}
.v26-consult-actions{display:grid!important;gap:9px!important;max-width:320px!important;width:100%!important;justify-self:end!important}
.v26-consult-actions .btn{width:100%!important;justify-content:center!important}

/* About hero is a representative problem-before photo, not a generic completed facility image. */
.general-v14 .detail-hero-media img{object-position:center center!important}

/* Contact page: simple text cards instead of icon tiles. */
.general-v14 .contact-grid{gap:14px!important}
.general-v14 .contact-card{padding:24px!important;min-height:150px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important}
.general-v14 .contact-card strong{font-size:18px!important;margin-bottom:5px!important}
.general-v14 .contact-card>span:not(.card-icon){font-size:15px!important;font-weight:750!important;color:#153c2d!important}
.general-v14 .contact-card small{margin-top:6px!important;color:#687b72!important;line-height:1.55!important}

/* Category pages: one consistent service-card geometry. */
.category-v14 .service-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.category-v14 .service-list-card{grid-template-columns:190px minmax(0,1fr)!important;min-height:166px!important;border-radius:14px!important;overflow:hidden!important}
.category-v14 .service-list-card img{width:100%!important;height:100%!important;min-height:166px!important;object-fit:cover!important;padding:0!important;background:#edf2ef!important}
.category-v14 .service-list-card .body{padding:18px 20px!important}
.category-v14 .service-list-card h3{font-size:17px!important;line-height:1.48!important;margin:0 0 7px!important}
.category-v14 .service-list-card p{font-size:13.5px!important;line-height:1.72!important;margin:0!important}

/* Detail-page field navigation: same dimensions across all 15 service pages. */
.g15-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.g15-field-card{min-height:82px!important;padding:17px 18px!important;border-radius:12px!important;background:#fff!important}
.g15-field-card strong{font-size:14px!important;line-height:1.45!important}
.g15-field-card span{font-size:11.5px!important}
.g15-field-all{background:#eef7f2!important}

/* Case listing and process cards: stable image/text proportions. */
.cases-v14 .case-grid,.cases-index .case-grid{gap:16px!important}
.cases-v14 .case-card,.cases-index .case-card{border-radius:13px!important;overflow:hidden!important}
.cases-v14 .case-card .media img,.cases-index .case-card .media img{height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;padding:0!important}
.cases-v14 .case-card .body,.cases-index .case-card .body{padding:15px 16px 17px!important}

/* Prevent old icon-box spacing from surviving on revised cards. */
.hub-card h3{margin-top:0!important}
.problem-copy h3{margin-top:0!important}

@media(max-width:980px){
  .home-v14 .category-showcase-v10{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v26-principle-grid{grid-template-columns:1fr 1fr!important}
  .v26-field-card-wide{grid-template-columns:1fr!important}
  .v26-field-card-wide>img{aspect-ratio:16/9!important;min-height:0!important}
  .v26-about-consult .v26-consult-grid{grid-template-columns:1fr!important;gap:28px!important}
  .v26-consult-actions{justify-self:start!important;max-width:420px!important}
}
@media(max-width:720px){
  .home-v14 .problem-list{grid-template-columns:1fr!important}
  .home-v14 .problem-item.wide{grid-column:auto!important}
  .home-v14 .category-showcase-v10{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .home-v14 .category-card-v10 .category-body-v10{padding:13px 13px 15px!important}
  .home-v14 .category-card-v10 h3{font-size:14.5px!important}
  .home-v14 .category-card-v10 p{font-size:12px!important}
  .v26-field-grid,.service-index-v14 .hub-grid{grid-template-columns:1fr!important}
  .v26-field-card-wide{grid-column:auto!important;display:flex!important}
  .v26-field-card>img,.service-index-v14 .hub-card>img{aspect-ratio:16/10!important}
  .v26-principle-grid{grid-template-columns:1fr!important}
  .v26-principle-grid article{min-height:0!important}
  .category-v14 .service-list-grid{grid-template-columns:1fr!important}
  .category-v14 .service-list-card{grid-template-columns:132px minmax(0,1fr)!important;min-height:128px!important}
  .category-v14 .service-list-card img{min-height:128px!important}
  .category-v14 .service-list-card .body{padding:14px 15px!important}
  .g15-field-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:520px){
  .home-v14 .category-showcase-v10{grid-template-columns:1fr!important}
  .home-v14 .category-card-v10 .category-photo-v10{aspect-ratio:16/10!important}
  .category-v14 .service-list-card{grid-template-columns:112px minmax(0,1fr)!important}
  .category-v14 .service-list-card h3{font-size:14.5px!important}
  .category-v14 .service-list-card p{font-size:12.5px!important}
  .g15-field-grid{grid-template-columns:1fr!important}
}


/* v26.1 balance pass */
.service-index-v14 .hub-grid>.hub-card:last-child{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important}
.service-index-v14 .hub-grid>.hub-card:last-child>img{height:100%!important;aspect-ratio:auto!important;min-height:270px!important}
.service-index-v14 .hub-grid>.hub-card:last-child .body{display:flex!important;flex-direction:column!important;justify-content:center!important}
.home-v14 .category-showcase-v10{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.home-v14 .category-showcase-v10>.category-card-v10{grid-column:span 2!important}
.home-v14 .category-showcase-v10>.category-card-v10:nth-child(4){grid-column:2/span 2!important}
.home-v14 .category-showcase-v10>.category-card-v10:nth-child(5){grid-column:4/span 2!important}
.v26-inline-link{display:inline-flex!important;margin-top:20px!important}
@media(max-width:980px){
 .service-index-v14 .hub-grid>.hub-card:last-child{grid-template-columns:1fr!important}
 .service-index-v14 .hub-grid>.hub-card:last-child>img{height:auto!important;aspect-ratio:16/9!important;min-height:0!important}
 .home-v14 .category-showcase-v10{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .home-v14 .category-showcase-v10>.category-card-v10,.home-v14 .category-showcase-v10>.category-card-v10:nth-child(4),.home-v14 .category-showcase-v10>.category-card-v10:nth-child(5){grid-column:auto!important}
}
@media(max-width:520px){.home-v14 .category-showcase-v10{grid-template-columns:1fr!important}}


/* ===== v34: site-wide vertical rhythm and spacing normalization ===== */
/* Category hubs: keep a clear pause between the last photo card and the next heading. */
.category-v14 .service-list-grid + .g15-separated-heading{
  margin-top:56px!important;
  margin-bottom:24px!important;
}
.category-v14 .inquiry-list + .g15-separated-heading{
  margin-top:58px!important;
  margin-bottom:24px!important;
}
.category-v14 .g15-separated-heading + .inquiry-list,
.category-v14 .g15-separated-heading + .scope-list{
  margin-top:0!important;
}
.category-v14 .scope-list + .expert-note{
  margin-top:30px!important;
}
.category-v14 .service-list-grid{
  margin-bottom:0!important;
}

/* Service details: previous templates stacked 90px+ paddings at both sides of a section boundary.
   Use one consistent rhythm so content does not feel detached from the following heading. */
.service-detail-v18 .g14-section{
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.service-detail-v18 .v16-inquiries{
  padding-top:76px!important;
  padding-bottom:72px!important;
}
.service-detail-v18 .v18-scope{
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.service-detail-v18 .v16-principle{
  padding-top:72px!important;
  padding-bottom:54px!important;
}
.service-detail-v18 .v16-process{
  padding-top:62px!important;
  padding-bottom:72px!important;
}
.service-detail-v18 .v16-gallery,
.service-detail-v18 .v16-popular,
.service-detail-v18 .v16-faq,
.service-detail-v18 .g15-other-fields{
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.service-detail-v18 .v21-decision-list{
  margin-bottom:0!important;
}
.service-detail-v18 .g14-section-title{
  margin-bottom:30px!important;
}
.service-detail-v18 .g14-section-title h2{
  margin-bottom:12px!important;
}

/* Keep card-to-heading spacing predictable on general, home and index pages too. */
.home-v14 .case-grid + .section-head,
.general-v14 .card-grid + .section-head,
.service-index-v14 .hub-grid + .section-head,
.cases-v14 .case-grid + .section-head{
  margin-top:54px!important;
}

@media(max-width:720px){
  .category-v14 .service-list-grid + .g15-separated-heading,
  .category-v14 .inquiry-list + .g15-separated-heading{
    margin-top:42px!important;
    margin-bottom:20px!important;
  }
  .category-v14 .scope-list + .expert-note{
    margin-top:24px!important;
  }
  .service-detail-v18 .g14-section,
  .service-detail-v18 .v16-inquiries,
  .service-detail-v18 .v18-scope,
  .service-detail-v18 .v16-principle,
  .service-detail-v18 .v16-process,
  .service-detail-v18 .v16-gallery,
  .service-detail-v18 .v16-popular,
  .service-detail-v18 .v16-faq,
  .service-detail-v18 .g15-other-fields{
    padding-top:54px!important;
    padding-bottom:54px!important;
  }
  .service-detail-v18 .v16-principle{padding-bottom:44px!important}
  .service-detail-v18 .v16-process{padding-top:48px!important}
  .service-detail-v18 .g14-section-title{margin-bottom:24px!important}
}


/* ===== v35: mobile footer cleanup + draggable/swipe homepage carousel ===== */
.hero-carousel-v10{position:relative!important}
.hero-slides-v10{touch-action:pan-y!important;cursor:grab!important;user-select:none!important;-webkit-user-select:none!important}
.hero-slides-v10.is-dragging{cursor:grabbing!important}
.hero-slide-v10 img{-webkit-user-drag:none!important;user-select:none!important}
.hero-nav-v35{position:absolute;top:calc(50% - 18px);z-index:8;width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(10,34,24,.68);color:#fff;display:grid;place-items:center;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 5px 18px rgba(8,31,22,.15);backdrop-filter:blur(5px);opacity:.92;transition:.18s ease}
.hero-nav-v35:hover,.hero-nav-v35:focus-visible{background:rgba(7,81,47,.9);transform:scale(1.04);outline:none}
.hero-prev-v35{left:12px}.hero-next-v35{right:12px}
.hero-carousel-v10:focus-within .hero-nav-v35,.hero-carousel-v10:hover .hero-nav-v35{opacity:1}

@media(max-width:720px){
  .hero-nav-v35{width:34px;height:34px;top:calc(50% - 16px);font-size:24px;background:rgba(10,34,24,.6)}
  .hero-prev-v35{left:8px}.hero-next-v35{right:8px}
  .hero-carousel-ui-v10{margin-top:8px!important}
  .hero-dots-v10{max-width:210px!important}

  /* Mobile footer: remove repeated prose and keep only useful navigation/contact. */
  .g14-footer{padding-top:32px!important;padding-bottom:calc(74px + env(safe-area-inset-bottom))!important}
  .g14-footer-grid{grid-template-columns:1fr!important;gap:22px!important}
  .g14-footer-brand{grid-column:auto!important}
  .g14-footer-logo{min-height:48px!important;gap:10px!important}
  .g14-footer-logo>img{width:44px!important;height:44px!important;flex-basis:44px!important}
  .g14-footer-brandline{font-size:21px!important;letter-spacing:-.045em!important}
  .g14-footer-wordmark small{font-size:10.5px!important;letter-spacing:.09em!important;margin-top:6px!important}
  .g14-footer-tags,.g14-footer-slogan{display:none!important}
  .g14-footer-inline{margin-top:13px!important;gap:12px!important}
  .g14-footer-inline a{font-size:12px!important}
  .g14-footer-nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 14px!important}
  .g14-footer-nav strong{grid-column:1/-1!important;margin:0 0 4px!important;font-size:13px!important}
  .g14-footer-nav a{font-size:12px!important;line-height:1.35!important;padding:8px 0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;white-space:nowrap!important}
  .g14-footer-contact{gap:5px!important}
  .g14-footer-contact strong{font-size:13px!important;margin-bottom:2px!important}
  .g14-footer-phone{font-size:19px!important;line-height:1.25!important}
  .g14-footer-contact>a:not(.g14-footer-phone){font-size:12px!important;line-height:1.35!important}
  .g14-footer-contact p{font-size:10.5px!important;line-height:1.5!important;margin:5px 0 0!important;white-space:nowrap!important}
  .g14-footer-bottom{margin-top:22px!important;padding:13px 0 14px!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;font-size:10px!important;line-height:1.3!important}
  .g14-footer-bottom span{white-space:nowrap!important}
}
@media(max-width:380px){
  .g14-footer-nav{gap:0 10px!important}
  .g14-footer-nav a{font-size:11.5px!important}
  .g14-footer-bottom{flex-direction:column!important;align-items:flex-start!important;gap:3px!important}
}


/* ===== v36 home information hierarchy: remove duplicate detail cards, emphasize completed work ===== */
.home-v14 .home-results-v36{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.home-v14 .home-results-v36 .case-card .media img{height:190px!important;object-fit:cover!important}
.home-v14 .home-results-v36 .case-card .body{padding:15px 16px 17px!important}
.home-v14 .home-results-v36 .case-card h3{font-size:15px!important;line-height:1.5!important}
.home-v14 .home-results-v36 .case-card p{font-size:12.5px!important;line-height:1.7!important;margin:0 0 10px!important;color:#60736a!important}
@media(max-width:980px){.home-v14 .home-results-v36{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-v14 .home-results-v36 .case-card .media img{height:210px!important}}
@media(max-width:600px){.home-v14 .home-results-v36{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.home-v14 .home-results-v36 .case-card .media img{height:auto!important;aspect-ratio:4/3!important}.home-v14 .home-results-v36 .case-card .body{padding:10px 10px 12px!important}.home-v14 .home-results-v36 .case-card h3{font-size:13px!important;line-height:1.45!important;margin-bottom:7px!important}.home-v14 .home-results-v36 .case-card p{display:none!important}.home-v14 .home-results-v36 .case-card .more{font-size:11px!important}.home-v14 .home-results-v36 .badge{font-size:9px!important;padding:4px 6px!important}}


/* ===== v37 search-registration stabilization ===== */
.home-process-cta-v37{margin-top:24px;padding:22px 24px;border:1px solid #dbe8e1;border-radius:14px;background:#f7fbf9;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.home-process-cta-copy-v37 strong{display:block;font-size:17px;line-height:1.45;color:#173c2d;margin-bottom:5px}
.home-process-cta-copy-v37 p{margin:0;color:#5b7067;font-size:13.5px;line-height:1.75;max-width:700px}
.home-process-cta-actions-v37{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.home-process-cta-actions-v37 a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:9px;border:1px solid #bdd9ca;background:#fff;color:#12623e;text-decoration:none;font-size:13px;font-weight:850}
.home-process-cta-actions-v37 a:first-child{background:#0d7e49;border-color:#0d7e49;color:#fff}
@media(max-width:800px){.home-process-cta-v37{grid-template-columns:1fr;gap:14px;padding:19px 18px}.home-process-cta-actions-v37{justify-content:flex-start}}
@media(max-width:520px){.home-process-cta-actions-v37{display:grid;grid-template-columns:1fr 1fr}.home-process-cta-actions-v37 a{padding-left:8px;padding-right:8px;font-size:12.5px}}


/* ==========================================================
   v44 — same-level component consistency + responsive cleanup
   ========================================================== */
/* Category/service cards: same component = same proportions */
.category-v14 .service-list-grid,
.category-v15 .service-list-grid{
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}
.category-v14 .service-list-card,
.category-v15 .service-list-card{
  height:100%!important;
  min-height:178px!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.category-v14 .service-list-card img,
.category-v15 .service-list-card img{
  width:100%!important;
  height:100%!important;
  min-height:178px!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
}
.category-v14 .service-list-card .body,
.category-v15 .service-list-card .body{
  min-width:0!important;
  padding:19px 20px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.category-v14 .service-list-card h3,
.category-v15 .service-list-card h3{
  margin:0 0 8px!important;
  font-size:17px!important;
  line-height:1.48!important;
  letter-spacing:-.025em!important;
}
.category-v14 .service-list-card p,
.category-v15 .service-list-card p{
  margin:0!important;
  font-size:13.5px!important;
  line-height:1.72!important;
  color:#60736a!important;
}

/* Same-level cards should stretch consistently across every row */
.case-grid,
.g14-inquiry-grid,
.inquiry-list,
.g14-process-grid,
.g14-gallery-grid,
.g14-popular-grid,
.v21-decision-list,
.g15-field-grid{
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}
.case-card,
.g14-inquiry-grid blockquote,
.inquiry-quote,
.g14-process-card,
.g14-gallery-card,
.g14-popular-card,
.v21-decision-item,
.g15-field-card{
  height:100%!important;
}
.case-card{display:flex!important;flex-direction:column!important}
.case-card .body{display:flex!important;flex:1 1 auto!important;flex-direction:column!important}
.case-card .more{margin-top:auto!important}
.g14-process-card,.v21-decision-item{display:flex!important;flex-direction:column!important}
.g14-process-card p,.v21-decision-item p{margin-bottom:0!important}
.g14-popular-card,.g15-field-card{box-sizing:border-box!important}

/* Inquiry cards: same padding/type rhythm */
.g14-inquiry-grid blockquote,
.inquiry-quote{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  min-height:74px!important;
}

/* Gallery captions and cards stay aligned even when copy differs */
.g14-gallery-card{display:flex!important;flex-direction:column!important;overflow:hidden!important}
.g14-gallery-card .g14-img-button{display:block!important;width:100%!important}
.g14-gallery-card figcaption{flex:1 1 auto!important}

/* Keep mobile readable: avoid forced desktop-like heights */
@media(max-width:760px){
  .category-v14 .service-list-grid,
  .category-v15 .service-list-grid,
  .case-grid,
  .g14-inquiry-grid,
  .inquiry-list,
  .g14-process-grid,
  .g14-gallery-grid,
  .g14-popular-grid,
  .v21-decision-list,
  .g15-field-grid{grid-auto-rows:auto!important}
  .category-v14 .service-list-card,
  .category-v15 .service-list-card{
    min-height:126px!important;
    grid-template-columns:118px minmax(0,1fr)!important;
  }
  .category-v14 .service-list-card img,
  .category-v15 .service-list-card img{min-height:126px!important}
  .category-v14 .service-list-card .body,
  .category-v15 .service-list-card .body{padding:14px 15px!important}
  .category-v14 .service-list-card h3,
  .category-v15 .service-list-card h3{font-size:14.5px!important;line-height:1.48!important;margin-bottom:6px!important}
  .category-v14 .service-list-card p,
  .category-v15 .service-list-card p{font-size:12.5px!important;line-height:1.62!important}
  .g14-inquiry-grid blockquote,.inquiry-quote{min-height:0!important;height:auto!important}
}

/* v44 — remaining grid/card families: equal visual rhythm by component type */
.hub-grid,.decision-grid,.standard-grid,.standard-grid-balanced,.process-grid,.v26-field-grid,.proof-grid,.problem-list,.area-grid{
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}
.hub-card,.decision-card,.compare-card,.contact-card,.v26-field-card,.category-card-v10,.process-item,.problem-item{
  height:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:760px){
  .hub-grid,.decision-grid,.standard-grid,.standard-grid-balanced,.process-grid,.v26-field-grid,.proof-grid,.problem-list,.area-grid{grid-auto-rows:auto!important}
  .hub-card,.decision-card,.compare-card,.contact-card,.v26-field-card,.category-card-v10,.process-item,.problem-item{height:auto!important}
}

/* ==========================================================
   v45 — strict same-level card normalization
   ========================================================== */
/* Service cards must be image + title + one explanatory paragraph only. */
.category-v14 .service-list-card .meta,
.category-v15 .service-list-card .meta,
.category-v14 .service-list-card .mini-tags,
.category-v15 .service-list-card .mini-tags{
  display:none!important;
}
.category-v14 .service-list-card .body,
.category-v15 .service-list-card .body{
  justify-content:center!important;
}

/* Category 'actual work' cards use one consistent content stack. */
.category-v14 .case-grid .case-card .body,
.category-v15 .case-grid .case-card .body{
  padding:16px 17px 18px!important;
}
.category-v14 .case-grid .case-card h3,
.category-v15 .case-grid .case-card h3{
  margin:0 0 7px!important;
  font-size:15px!important;
  line-height:1.5!important;
}
.category-v14 .case-grid .case-card p,
.category-v15 .case-grid .case-card p{
  display:block!important;
  min-height:0!important;
  margin:0 0 11px!important;
  font-size:12.5px!important;
  line-height:1.68!important;
  color:#60736a!important;
}
.category-v14 .case-grid .case-card .more,
.category-v15 .case-grid .case-card .more{
  margin-top:auto!important;
}

@media(max-width:600px){
  .category-v14 .case-grid .case-card p,
  .category-v15 .case-grid .case-card p{
    display:block!important;
    font-size:12px!important;
    line-height:1.62!important;
    margin-bottom:9px!important;
  }
}


/* ==========================================================
   v46 — relationship + related-card consistency
   ========================================================== */
.g14-popular-grid,.v16-popular-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;grid-auto-rows:1fr!important}
.g14-popular-card,.v16-popular-link{display:flex!important;flex-direction:column!important;justify-content:space-between!important;min-height:108px!important;height:100%!important;padding:18px 19px!important}
.g14-popular-card strong,.v16-popular-link strong{font-size:15px!important;line-height:1.48!important;margin-bottom:10px!important}
.g14-popular-card span,.v16-popular-link span{margin-top:auto!important}
.v16-case-cta{display:inline-flex!important;margin-top:18px!important}
@media(max-width:760px){.g14-popular-grid,.v16-popular-grid{grid-template-columns:1fr!important;grid-auto-rows:auto!important}.g14-popular-card,.v16-popular-link{min-height:0!important;padding:15px 16px!important}}

/* ===== v63 home photo integrity + decision section consistency ===== */
/* Recent work: fixed 4:3 visual box. The card-specific thumbnails already contain the full photo, so no source photo is cut. */
.home-v14 .home-results-v36 .case-card .media{
  aspect-ratio:4/3!important;
  height:auto!important;
  background:#e9efec!important;
  overflow:hidden!important;
}
.home-v14 .home-results-v36 .case-card .media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#e9efec!important;
}
.home-v14 .home-results-v36 .case-card{
  display:flex!important;
  flex-direction:column!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.home-v14 .home-results-v36 .case-card .body{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  border-top:1px solid #e2ebe6!important;
  background:#fff!important;
}
.home-v14 .home-results-v36 .case-card .more{margin-top:auto!important;padding-top:6px!important}

/* Partial-repair decision: photos, captions and explanation use the same card geometry and visual language. */
.home-v14 .home-decision-section .standard-grid-balanced{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
  gap:28px!important;
  align-items:stretch!important;
}
.home-v14 .home-decision-section .standard-media-balanced{
  width:100%!important;
  max-width:none!important;
  align-self:center!important;
  justify-self:stretch!important;
}
.home-v14 .home-decision-section .standard-media-balanced.compare-pair{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.home-v14 .home-decision-section .compare-card{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  border:1px solid #dce7e1!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.home-v14 .home-decision-section .compare-card img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:3/4!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0!important;
}
.home-v14 .home-decision-section .compare-card figcaption{
  display:flex!important;
  align-items:center!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border-top:1px solid #e5ede9!important;
  background:#fff!important;
  color:#5d7168!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}
.home-v14 .home-decision-section .home-decision-copy{
  max-width:none!important;
  height:auto!important;
  padding:28px 30px!important;
  border:1px solid #dce7e1!important;
  border-radius:14px!important;
  background:#f8fbf9!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.home-v14 .home-decision-section .home-decision-copy h2{margin-top:0!important;margin-bottom:14px!important}
.home-v14 .home-decision-section .home-decision-copy .section-intro{margin:0 0 16px!important;line-height:1.82!important}
.home-v14 .home-decision-section .check-list{margin:0!important;gap:8px!important}
.home-v14 .home-decision-section .check-list li{
  padding:12px 13px 12px 40px!important;
  border:1px solid #e1ebe6!important;
  border-radius:10px!important;
  background:#fff!important;
}
.home-v14 .home-decision-section .check-list li:before{left:14px!important;top:15px!important}
.home-v14 .home-decision-section .check-list li:last-child{border-bottom:1px solid #e1ebe6!important}

@media(max-width:980px){
  .home-v14 .home-decision-section .standard-grid-balanced{grid-template-columns:1fr!important;gap:22px!important}
  .home-v14 .home-decision-section .standard-media-balanced{max-width:640px!important;justify-self:center!important}
  .home-v14 .home-decision-section .home-decision-copy{max-width:640px!important;justify-self:center!important;width:100%!important}
}
@media(max-width:600px){
  .home-v14 .home-results-v36 .case-card .media img{height:100%!important;aspect-ratio:4/3!important}
  .home-v14 .home-decision-section .standard-media-balanced.compare-pair{gap:8px!important}
  .home-v14 .home-decision-section .compare-card figcaption{min-height:44px!important;padding:8px 9px!important;font-size:11px!important}
  .home-v14 .home-decision-section .home-decision-copy{padding:20px 18px!important}
  .home-v14 .home-decision-section .check-list li{padding:10px 10px 10px 36px!important}
  .home-v14 .home-decision-section .check-list li:before{left:11px!important;top:13px!important}
}
