/* Ordered catalogue and editorial service details, October 2026. */
.service-group + .service-group{margin-top:66px;padding-top:50px;border-top:1px solid #e2e6e5}
.catalogue-heading{margin-bottom:28px;max-width:710px}
.catalogue-heading h2{font-size:clamp(28px,3.2vw,43px);line-height:1.15;letter-spacing:-.04em;margin:10px 0 13px}
.catalogue-heading p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}
.catalogue-card .service-content{display:flex;flex-direction:column;flex:1}
.catalogue-card .readmore{margin-top:auto;padding-top:16px}
.catalogue-card p{margin-bottom:20px}
.catalogue-card .readmore span{font-family:Arial,sans-serif;font-variant-emoji:text;font-size:22px}
.service-card .readmore{justify-content:flex-start;gap:10px}
.service-card .readmore-arrow{display:block;width:20px;height:20px;flex:0 0 20px;color:currentColor}
.service-group.filter-hide{display:none!important}
.service-catalogue .services-grid{align-items:stretch}
.service-editorial .detail-editorial{padding-block:72px 88px}
.detail-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(260px,320px);justify-content:space-between;gap:70px;align-items:start}
.detail-article{min-width:0}
.detail-article>section{scroll-margin-top:120px;padding-bottom:48px;margin-bottom:48px;border-bottom:1px solid #e2e6e5}
.detail-article>section:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.detail-article h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;line-height:1.2;margin:10px 0 23px}
.detail-article p{font-size:16px;line-height:1.9;color:#5a6568;margin-bottom:22px}
.detail-article .article-lead{font-size:18px;line-height:1.85;color:#435054}
.detail-checklist{list-style:none;padding:0;margin:26px 0;display:grid;gap:0}
.detail-checklist li{position:relative;padding:17px 0 17px 30px;border-bottom:1px solid #e8ecea;font-size:15px;line-height:1.7}
.detail-checklist li:before{content:'✓';position:absolute;left:0;top:17px;color:var(--red);font-weight:700}
.detail-article .detail-note{font-size:13px;color:#6c7779}
.cost-factors{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;padding:0;margin:27px 0}
.cost-factors li{display:flex;flex-direction:column;gap:16px;padding:22px;background:#f3f5f4;border:1px solid #e7ebe9;border-radius:10px;font-size:15px;line-height:1.65;font-weight:550}
.cost-factors span{color:var(--red);font-size:12px;letter-spacing:.06em}
.editorial-callout{padding:28px 30px;border-left:3px solid var(--red);background:#f7f4f3;border-radius:0 10px 10px 0;margin-top:28px}
.editorial-callout h3{font-size:23px;margin:0 0 12px;letter-spacing:-.025em}
.editorial-callout p{font-size:15px;margin-bottom:18px}
.editorial-callout .text-link{font-size:14px;font-weight:650;color:var(--red)}
.detail-process{list-style:none;padding:0;margin:28px 0 0;counter-reset:step}
.detail-process li{display:grid;grid-template-columns:44px 1fr;gap:22px;counter-increment:step;padding-bottom:26px}
.detail-process li:before{content:counter(step,decimal-leading-zero);width:42px;height:42px;border:1px solid #dbe0dd;border-radius:50%;display:grid;place-items:center;font-size:12px;color:var(--red);font-weight:650;background:#f7f8f7}
.detail-process h3{font-size:20px;margin:7px 0 10px;line-height:1.3}
.detail-process p{font-size:15px;margin:0}
.detail-process li:last-child{padding-bottom:0}
.detail-sidebar{position:sticky;top:115px}
.detail-toc{padding:25px;border:1px solid #e1e6e3;border-radius:12px;background:#fff}
.detail-toc>.eyebrow{font-size:10px;display:block;margin-bottom:17px}
.detail-toc a{display:flex;gap:13px;padding:12px 0;border-top:1px solid #edf0ee;font-size:11px;color:var(--red)}
.detail-toc a span{font-size:13px;color:#465254;font-weight:550}
.detail-toc a:hover span,.detail-toc a:focus-visible span{color:var(--red)}
.detail-request{padding:27px;margin-top:20px;background:#30383c;color:#fff;border-radius:12px;border-top:3px solid var(--red)}
.detail-request .eyebrow{font-size:10px;color:#cbd2d3}
.detail-request h2{font-size:28px;line-height:1.22;margin:15px 0;color:#fff;letter-spacing:-.035em}
.detail-request p{font-size:14px;line-height:1.8;color:#d3dadb;margin-bottom:22px}
.detail-request .btn{width:100%;font-size:12px;padding-inline:12px;white-space:normal}
.detail-phone{display:block;text-align:center;color:#fff;font-size:14px;margin-top:20px}
.detail-article .service-faq summary{font-size:16px;padding-block:22px}
.detail-article .service-faq p{font-size:15px}
.service-editorial .service-hero-photo img{object-position:center 45%}
.primary-nav>.nav-dropdown>button{white-space:nowrap}
.primary-nav .dropdown-panel{max-height:calc(100dvh - 120px);overflow-y:auto}
@media(min-width:1024px){
 .service-editorial .service-hero-grid{min-height:550px}
 .service-editorial .page-hero h1{font-size:clamp(40px,4.1vw,62px)}
 .service-editorial .service-place{font-size:.36em;letter-spacing:0;font-weight:400}
 .service-editorial .service-hero-photo img{object-position:center 40%}
 .service-editorial .page-hero:after{background:linear-gradient(90deg,#142025f5 0%,#142025df 35%,#14202550 75%,#14202520 100%)}
}
@media(min-width:861px) and (max-width:1200px){.primary-nav{gap:12px}.primary-nav>a,.primary-nav>.nav-dropdown>button{font-size:11px}.header-cta .btn{padding-inline:12px;font-size:11px}.header-inner{gap:15px}.brand-logo{max-width:175px}}
@media(max-width:1000px){.detail-layout{gap:30px;grid-template-columns:minmax(0,1fr) 270px}.detail-toc,.detail-request{padding:22px}}
@media(max-width:860px){
 .detail-layout{display:flex;flex-direction:column;gap:35px}
 .detail-sidebar{position:static;width:100%;order:-1;display:block}
 .detail-toc{padding:18px 22px;display:flex;flex-wrap:wrap;gap:0 22px}
 .detail-toc>.eyebrow{width:100%;margin-bottom:8px}
 .detail-toc a{border:0;padding:8px 0}
 .detail-request{display:none}
 .service-editorial .detail-editorial{padding-block:32px 55px}
 .primary-nav .dropdown-panel{max-height:none;overflow:visible}
}
@media(max-width:600px){
 .service-group + .service-group{margin-top:38px;padding-top:32px}
 .catalogue-heading{margin-bottom:23px}
 .catalogue-heading .eyebrow{font-size:10px;letter-spacing:.08em}
 .catalogue-heading p{font-size:14px}
 .service-filter{gap:8px;flex-wrap:wrap;margin-bottom:30px}
 .service-filter .filter-button{padding:12px 16px;font-size:12px;min-height:44px}
 .services-grid .catalogue-card{grid-template-columns:110px minmax(0,1fr);min-height:170px!important}
 .services-grid .catalogue-card:before{min-height:170px;height:100%;background-position:50% center}
 .services-grid .catalogue-card .service-content{padding:19px 15px}
 .services-grid .catalogue-card h3{font-size:17px;line-height:1.35;overflow-wrap:normal;hyphens:auto}
 .services-grid .catalogue-card p{font-size:12px;line-height:1.7;margin-bottom:13px}
 .services-grid .catalogue-card .readmore{font-size:11px;padding-top:11px}
 .detail-article>section{scroll-margin-top:100px;padding-bottom:32px;margin-bottom:32px}
 .detail-article p,.detail-article .article-lead{font-size:15px;line-height:1.85}
 .detail-article h2{font-size:29px}
 .detail-checklist li{font-size:14px}
 .cost-factors{grid-template-columns:1fr;gap:8px}
 .cost-factors li{flex-direction:row;align-items:baseline;gap:16px;padding:17px;font-size:14px}
 .editorial-callout{padding:23px 20px}
 .editorial-callout h3{font-size:21px}
 .detail-process li{grid-template-columns:34px 1fr;gap:15px}
 .detail-process li:before{width:34px;height:34px;font-size:10px}
 .detail-process h3{font-size:18px;margin-top:5px}
 .detail-article .service-faq summary{font-size:15px}
 .detail-toc{gap:0 16px;padding:17px}
 .detail-toc a{font-size:10px;gap:7px}
 .detail-toc a span{font-size:12px}
 .service-editorial .service-hero-photo img{height:250px}
}

/* Homepage service hierarchy and owner-supplied promises. */
.home-page .hero-photo .hero-service-heading{font-size:clamp(42px,4.8vw,67px);letter-spacing:-.055em}
.home-page .hero-photo .hero-primary-service{font-size:1em;line-height:1.16;overflow-wrap:normal}
.home-page .hero-photo .display .hero-secondary-services{display:block;color:#fff;font-size:clamp(15px,1.65vw,23px);font-weight:400;line-height:1.65;letter-spacing:0;margin-top:14px}
.home-page .hero-photo .hero-secondary-services>span{color:#b9c3c6;font-size:inherit;font-weight:300;padding-inline:5px}
.home-page .hero-photo .hero-service-heading .headline-bold{font-size:.78em;margin-top:20px;letter-spacing:-.035em}
.home-page .hero-photo .hero-promises{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.home-page .hero-photo .hero-promises>span{font-size:14px;line-height:1.5;display:flex;align-items:baseline;gap:10px}
.home-page .hero-photo .hero-promises>span:before{content:"";display:inline-block;width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--red)}
@media(max-width:600px){
 .home-page .hero-photo .hero-service-heading{font-size:clamp(28px,8.8vw,48px)}
 .home-page .hero-photo .display .hero-secondary-services{font-size:clamp(12px,3.5vw,17px);margin-top:12px;line-height:1.6}
 .home-page .hero-photo .hero-secondary-services>span{padding-inline:2px}
 .home-page .hero-photo .hero-service-heading .headline-bold{font-size:.82em;margin-top:17px}
 .home-page .hero-photo .hero-promises>span{font-size:12px}
}
