body[data-draft]{overflow-x:clip}body[data-draft] .catalog-hero{background:radial-gradient(ellipse at right,#17333d,#0c1916);color:#f2f7f5;padding:80px var(--page-gutter)}
.catalog-hero>p,.catalog-heading>p,.catalog-process>p,.catalog-projects>p,.catalog-feedback>p,.catalog-faq>p{font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.catalog-hero h1{font:400 clamp(42px,5.5vw,80px)/1.1 'DM Sans',Arial;letter-spacing:-.04em;max-width:1000px;margin:30px 0}
.catalog-hero>div>p{max-width:650px;font-size:19px;line-height:1.75;color:#c8d8d2}.catalog-hero .btn-primary{margin:20px 14px 0 0}
.catalog-intro{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;margin-top:85px}.catalog-intro figure{margin:0;min-width:0}.catalog-intro img{width:100%;aspect-ratio:1.5;object-fit:contain;background:#eaf1f4;border-radius:5px}.catalog-intro figcaption{font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px}.catalog-intro button{background:transparent;color:#d5e8de;border:1px solid #718e81;padding:10px;cursor:pointer}.catalog-intro h2{font-size:clamp(25px,2.8vw,40px);line-height:1.3;color:#f1f7f3;font-weight:400}.catalog-intro p{line-height:1.8;color:#c8d8d2}.catalog-clients{padding:25px 0;border-bottom:1px solid #ffffff30;font-size:13px}.catalog-metrics{display:grid;grid-template-columns:1fr 1fr;margin-top:30px}.catalog-metrics strong{display:block;font-size:42px;font-weight:400}.catalog-metrics div{font-size:12px;color:#d3e4da}
.catalog-heading,.catalog-process,.catalog-projects,.catalog-feedback,.catalog-faq,.catalog-end{padding:85px var(--page-gutter);background:#f7f9f7;color:#1c3028}
.catalog-heading h2,.catalog-process h2,.catalog-projects>h2,.catalog-feedback h2,.catalog-faq h2,.catalog-end h2{font-size:clamp(34px,4.5vw,64px);line-height:1.15;letter-spacing:-.04em;font-weight:400;max-width:1000px;margin:25px 0 55px}
.service-catalog{padding:0 var(--page-gutter);display:grid;grid-template-columns:170px minmax(0,1fr);gap:4vw;background:#f7f9f7}.service-index{position:sticky;top:120px;align-self:start;display:flex;flex-direction:column;gap:15px}.service-index a{font-size:14px;color:#65766c;text-decoration:none;line-height:1.5}.service-index small{display:none}.service-index a[aria-current]{color:#173d2c;font-weight:700}.service-index .btn-primary{margin-top:35px;color:#fff}.service-catalog main{min-width:0}.service-catalog .section{padding:0;margin:0}.service-detail-row{scroll-margin-top:110px;padding:0 0 95px;margin-bottom:65px;border-bottom:1px solid #d4dfd7;position:relative!important;transform:none!important}.service-detail-num{display:none}.service-detail-title{font-size:clamp(32px,3.8vw,54px);font-weight:400;line-height:1.2;color:#183c2b;margin:0 0 28px}.catalog-picture{margin:0 0 35px;display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse,#e3edf2,#f7f9f7 70%);height:380px}.catalog-picture img{width:100%;height:100%;object-fit:contain;padding:18px;box-sizing:border-box}.service-detail-text{font-size:16px;line-height:1.85;color:#40594b;max-width:820px}.service-detail-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;padding:0;margin:40px 0 0}.service-detail-item{padding:28px 22px 28px 0;border-top:1px solid #d4dfd7;line-height:1.7;font-size:16px;transition:background .25s,transform .25s}.service-detail-item:hover{background:#e8f0ec;transform:translateY(-3px)}
.catalog-process{background:#e9f0ec}.process-layout{display:grid;grid-template-columns:170px 1fr;gap:4vw}.process-layout [role=tablist]{display:flex;flex-direction:column;gap:15px}.process-layout [role=tab]{background:none;border:0;text-align:left;color:#53695c;font-size:20px;cursor:pointer;padding:10px 0}.process-layout [aria-selected=true]{color:#173d2b;font-weight:700}.phase h3{font-size:36px;line-height:1.2;font-weight:400}.phase p{max-width:750px;line-height:1.8}.phase ul{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:30px 0;list-style:none}.phase li{border-top:1px solid #a7bdb0;padding-top:20px;line-height:1.7}.phase[hidden]{display:none}
.catalog-case{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding:65px 0;border-top:1px solid #d4dfd7}.catalog-case>img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:5px}.catalog-case h3{font-size:clamp(30px,3vw,45px);font-weight:400;line-height:1.2}.catalog-case p{line-height:1.85}.catalog-case h4{font-weight:500}.catalog-case hr{border:0;border-top:1px solid #d4dfd7;margin:30px 0}.catalog-feedback{background:#152a22;color:#eaf4ee}.catalog-feedback h2{color:inherit}.catalog-feedback blockquote{margin:0;padding:35px 0;font-size:clamp(24px,3vw,40px);line-height:1.5;max-width:1000px}.catalog-feedback cite{display:block;font-size:14px;margin-top:30px;font-style:normal;color:#c2d7c9}.catalog-faq details{border-top:1px solid #c9d8ce;padding:25px 0}.catalog-faq summary{font-size:20px;cursor:pointer;display:flex;justify-content:space-between;gap:20px}.catalog-faq details p{line-height:1.8;max-width:800px}.catalog-end{background:#dce8e0}.catalog-end p{line-height:1.8}
@media(max-width:800px){.catalog-intro,.catalog-case{grid-template-columns:1fr}.service-catalog{display:block}.service-index{top:72px;z-index:4;flex-direction:row;gap:20px;overflow:auto;background:#f7f9f7;padding:18px 0;margin-bottom:40px}.service-index a{white-space:nowrap}.service-index .btn-primary{display:none}.process-layout{display:block}.process-layout [role=tablist]{flex-direction:row;gap:25px}.phase ul{grid-template-columns:1fr}.catalog-picture{height:300px}.catalog-heading,.catalog-process,.catalog-projects,.catalog-feedback,.catalog-faq,.catalog-end{padding-top:55px;padding-bottom:55px}.catalog-hero{padding-top:50px!important}.catalog-intro{margin-top:45px}.service-detail-list{grid-template-columns:1fr}}
/* Reset the legacy 64px number-column grid after hiding its number. */
body[data-draft] .service-catalog .service-detail-row{display:block;grid-template-columns:none;width:100%;min-width:0;box-sizing:border-box}
body[data-draft] .service-detail-row>div{width:100%;min-width:0}
body[data-draft] .service-detail-grid{display:block;grid-template-columns:none}
body[data-draft] .service-detail-list{border:0;border-radius:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
body[data-draft] .catalog-case h3{margin:20px 0 25px;line-height:1.25;color:#19382b;position:relative}
body[data-draft] .catalog-case p{margin:0 0 22px}
body[data-draft] .catalog-case .btn-primary{margin-top:12px}
@media(max-width:650px){body[data-draft] .service-detail-list{grid-template-columns:1fr}}

/* Desktop service rows: illustration left, description and capabilities right. */
@media(min-width:1000px){
 body[data-draft] .service-detail-row>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:clamp(24px,3vw,52px);align-items:start}
 body[data-draft] .service-detail-title{grid-column:1/-1}
 body[data-draft] .catalog-picture{grid-column:1;grid-row:2;height:clamp(260px,28vw,420px);margin:0;position:sticky;top:120px}
 body[data-draft] .service-detail-grid{grid-column:2;grid-row:2;min-width:0}
 body[data-draft] .service-detail-list{grid-template-columns:1fr;margin-top:28px}
 body[data-draft] .service-detail-text:first-child{margin-top:0}
}

/* Keep the service name and its supporting copy in the same column. */
@media(min-width:1000px){
 body[data-draft] .catalog-picture{grid-row:1}
 body[data-draft] .service-detail-grid{grid-row:1}
 body[data-draft] .service-detail-grid .service-detail-title{font-size:clamp(30px,3vw,46px);margin:0 0 24px;line-height:1.18}
}
body[data-draft] .service-detail-list{margin-top:36px;gap:0;background:transparent}
body[data-draft] .service-detail-item{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:18px;align-items:baseline;padding:24px 20px;line-height:1.6;font-size:16px;color:#304c3d;background:transparent;border-top:1px solid #cbd9d0}
body[data-draft] .service-detail-item::before{position:static;display:block;margin:0;width:22px;color:#4d7862;line-height:inherit}
body[data-draft] .service-detail-item:hover{background:#e8f0ec;transform:none}
body[data-draft] .catalog-faq summary{gap:32px;padding-right:8px;line-height:1.5}
body[data-draft] .catalog-faq summary span{flex-shrink:0;margin-left:auto}

.catalog-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:92%;gap:32px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:#52715b #dce6dd;padding-bottom:24px}
.catalog-carousel .catalog-case{scroll-snap-align:start;min-width:0;margin:0;padding:30px 0;gap:32px}
.customer-tags{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.customer-tags span,.customer-tags a{display:inline-block;font-size:12px;padding:7px 12px;border:1px solid #b8cdbf;border-radius:4px;background:#e9f1ec;color:#304d3b;text-decoration:none}
.customer-tags a:hover{background:#d2e3d8}.case-controls{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:20px}
.case-controls button{padding:12px 18px;border:1px solid #799885;background:transparent;color:#234534;cursor:pointer;font-size:22px}
@media(max-width:800px){.catalog-carousel{grid-auto-columns:94%;gap:20px}.catalog-carousel .catalog-case{display:block}.catalog-case>img{margin-bottom:24px}}

/* Page scroll moves the story rail; no wheel interception or trapped scrolling. */
@media(min-width:1000px) and (min-height:720px) and (prefers-reduced-motion:no-preference){
 body[data-draft] .catalog-projects.scroll-stories{padding-top:0;padding-bottom:0;height:320vh}
 .scroll-stories .customer-scroll-pin{position:sticky;top:90px;padding:20px 0}
 .scroll-stories .customer-scroll-pin>h2{font-size:clamp(30px,3vw,44px);margin:12px 0 20px}
 .scroll-stories .catalog-carousel{grid-auto-columns:100%;overflow:hidden;scroll-snap-type:none;padding-bottom:0}
 .scroll-stories .catalog-case{padding:16px 0;align-items:center}
 .scroll-stories .catalog-case>img{height:clamp(250px,43vh,460px);aspect-ratio:auto}
 .scroll-stories .catalog-case h3{margin:10px 0 16px}
 .scroll-stories .catalog-case p{margin-bottom:12px}
 .scroll-stories .catalog-case hr{margin:18px 0}
 .scroll-stories .case-controls{margin-top:12px}
 .scroll-stories .case-controls button{display:none}
}
