/* Compact responsive rhythm; image originals remain available in the lightbox. */
.section{padding:64px 0}
.hero{height:76svh;min-height:520px;max-height:680px}
.hero-content{bottom:115px}
.hero h1{font-size:clamp(36px,3.6vw,56px)}
.intro-grid{gap:55px}.intro-media img{height:320px}
.intro-copy h2{font-size:32px}.intro-copy>p{margin-top:18px}
.intro-points{margin-top:18px;padding-top:16px}.intro-copy>.text-link{margin-top:14px}
.section-heading{margin-bottom:26px}
.flow-layout{grid-template-columns:320px minmax(0,1fr);gap:60px}
.flow-intro h2{font-size:34px}.flow-intro>p{margin-top:18px}
.flow-index{margin-top:35px;font-size:54px}
.timeline-step{grid-template-columns:44px minmax(0,1fr) 170px;gap:20px;padding-bottom:24px;margin-bottom:22px}
.timeline-step img{width:170px;height:112px}
.step-copy h3{font-size:22px}.step-copy p{margin-top:8px;line-height:1.8}.step-copy small{margin-top:10px}
.card-image img{height:185px}.card-copy{padding:20px}
.card-copy p{min-height:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.card-actions{margin-top:14px;padding-top:5px}
.page-content .card-image img{height:155px}
.flow-summary{padding:40px 0}
.policy-grid{column-gap:40px}.policy-item:first-child .policy-image img{height:220px}
.policy-item{padding:14px 0}.policy-item:first-child>div{padding-top:16px}
.policy-meta a{min-height:44px}.cta{padding:50px 0}
.footer{padding-top:42px}.footer-grid{padding-bottom:35px;gap:40px}
.inner-banner{padding:34px 0}.inner-banner h1{font-size:34px}
.inner-banner p{margin-top:10px}.breadcrumbs{padding-block:16px}
.inner-layout{padding-bottom:60px;gap:40px}
.gallery-preview img{height:260px}.service-tabs{margin-top:30px}
.service-tabs [role=tabpanel]{padding:20px 0}
.richtext img{width:100%;max-height:350px;object-fit:cover}
.richtext h2{margin:24px 0 14px}.richtext p{margin:12px 0}
.article-lead{padding:18px;margin:22px 0}.article-meta{margin-top:12px}
.content-chapter.with-media{grid-template-columns:minmax(0,1fr) 250px;gap:25px}
.chapter-media img{height:200px}.single-content>.content-chapter{padding-bottom:22px;margin-bottom:26px}
.flow-document .timeline-step{grid-template-columns:44px minmax(0,1fr) 170px}
.flow-document .timeline-step img{width:170px;height:125px}
.news-row{padding:20px 0;grid-template-columns:180px minmax(0,1fr);gap:24px}
.news-row img{width:180px;height:125px}
.related-heading{margin:30px 0 20px}
.page-content>.cta{margin-top:30px;padding:26px}
.form-section{margin-top:30px;padding-top:26px}
.form-grid{gap:16px 22px}.form-grid textarea{min-height:120px;height:120px}
.form-note{margin:18px 0}.inquiry-heading>p{margin-bottom:24px}
@media(min-width:641px) and (max-width:1000px){
 .section{padding:48px 0}.intro-grid{gap:28px}.intro-media img{height:285px}
 .flow-layout{grid-template-columns:210px minmax(0,1fr);gap:28px}
 .timeline-step,.flow-document .timeline-step{grid-template-columns:40px minmax(0,1fr)}
 .timeline-step img,.flow-document .timeline-step img{grid-column:2;width:100%;height:105px}
 .content-chapter.with-media{grid-template-columns:1fr}.chapter-media img{height:180px}
 .inner-layout{gap:24px}.service-detail{gap:22px}
}
@media(max-width:640px){
 .section{padding:32px 0}.hero{height:490px;min-height:0;max-height:none}
 .hero-content{bottom:100px}.hero h1{font-size:29px;line-height:1.4}
 .hero-kicker{margin-bottom:12px}.hero-content p{margin-top:14px;line-height:1.8}
 .hero-actions{margin-top:18px}.hero-controls button{min-width:44px}
 .hero-bottom>span{max-width:110px}.hero-bottom{gap:4px}
 .intro-grid{gap:20px}.intro-media img{height:180px}.intro-copy h2{font-size:26px}
 .intro-copy>p{margin-top:12px;line-height:1.85}.intro-points{gap:8px;margin-top:14px;padding-top:12px}
 .intro-copy>.text-link{margin-top:10px}.section-heading{margin-bottom:20px}
 .section-heading h2{font-size:24px}.flow-layout{display:block}
 .flow-intro h2{font-size:27px}.flow-intro>p{margin-top:12px;line-height:1.85}
 .flow-intro .text-link{margin-top:8px}.timeline{margin-top:16px;gap:12px}
 .timeline-step,.timeline-step:last-child,.flow-document .timeline-step{display:flex;flex-direction:column;padding:16px;gap:10px;flex:0 0 90%;margin:0}
 .step-number{width:32px;height:32px}.step-copy h3{font-size:21px}
 .step-copy p{min-height:0;margin-top:6px}.step-copy small{margin-top:8px}
 .timeline-step img,.flow-document .timeline-step img{width:100%;height:105px}
 .service-grid,.case-grid,.page-content .service-grid,.page-content .case-grid{gap:12px}
 .card-image img,.page-content .card-image img{height:105px}
 .card-copy,.page-content .card-copy,.case-card .card-copy{padding:12px 10px}
 .card-copy h3,.page-content .card-copy h3{font-size:15px;line-height:1.55}
 .card-copy p,.page-content .card-copy p{min-height:0;margin-top:8px;line-height:1.8;-webkit-line-clamp:2}
 .card-actions{display:flex;flex-wrap:wrap;margin-top:10px;padding-top:3px}
 .card-actions .text-link{min-height:44px;width:auto;flex:1 1 65px;font-size:10px;gap:3px;justify-content:space-between}
 .case-card .eyebrow{margin-bottom:6px}.case-card .card-copy>.text-link{margin-top:6px}
 .section-note{margin-bottom:16px}.flow-summary{padding:28px 0}
 .flow-summary h2{font-size:22px}.flow-summary p{margin-top:10px}.flow-summary .btn{margin-top:16px}
 .policy-item:first-child .policy-image img{height:165px}.policy-item:first-child>div{padding-top:12px}
 .policy-item:first-child h3{font-size:19px}.policy-item{padding:12px 0;gap:12px}
 .policy-image img{height:88px}.policy-meta{margin-top:4px}
 .cta{padding:32px 0}.cta h2{font-size:26px}.cta p{margin-top:12px}.cta .btn{margin-top:18px}
 .footer{padding-top:28px}.footer-grid{padding-bottom:20px}
 .footer-grid>div:first-child>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
 .inner-banner{padding:22px 0}.inner-banner h1{font-size:26px}.inner-banner p{margin-top:8px}
 .breadcrumbs{padding-block:12px}.inner-layout{gap:20px;padding-bottom:36px}
 .sidebar{padding-bottom:10px}.sidebar nav{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:4px;max-width:100%;overscroll-behavior-x:contain}
 .sidebar nav a{white-space:nowrap;min-height:44px}
 .gallery-preview img{height:185px}.service-detail{gap:18px}.detail-heading h1{font-size:25px}
 .detail-heading>p{margin-top:12px}.detail-heading .btn{margin-top:15px}
 .service-tabs{margin-top:22px}.service-tabs [role=tabpanel]{padding:16px 0}
 .richtext{line-height:1.85}.richtext img{max-height:180px}
 .richtext h2{font-size:21px;margin:20px 0 12px}.richtext p{margin:10px 0}
 .article h1{font-size:25px}.article-lead{padding:15px;margin:16px 0}
 .content-chapter.with-media{grid-template-columns:1fr;gap:14px}
 .chapter-media img{height:145px}.single-content>.content-chapter{margin-bottom:20px;padding-bottom:18px}
 .news-row{grid-template-columns:85px minmax(0,1fr);gap:12px;padding:15px 0}
 .news-row img{width:85px;height:95px}.news-row h2{font-size:16px}
 .news-row p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
 .related-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
 .related-grid>.service-card{flex:0 0 72%;scroll-snap-align:start}
 .related-heading{margin:24px 0 16px}.page-content>.cta{margin-top:24px;padding:20px}
 .map-wrap>div{min-height:220px}.form-section{margin-top:24px;padding-top:22px}
 .inquiry-heading>p{margin:12px 0 20px}.form-grid{grid-template-columns:1fr 1fr;gap:14px 12px}
 .form-grid .full{grid-column:1/-1}.form-grid label:last-child{grid-column:1/-1}
 .form-grid input,.form-grid textarea{padding:10px;margin-top:6px;min-height:44px;font-size:16px}
 .form-grid textarea{height:112px;min-height:112px}.captcha-row{max-width:260px}
 .form-note{margin:15px 0}
}
@media(max-width:359px){.hero{height:515px}.hero h1{font-size:27px}.form-grid{grid-template-columns:1fr}.hero-bottom>span{display:none}.hero-bottom{justify-content:flex-end}}
