/* Distinct page compositions share navigation and typography, not a hero template. */
.sav-services-page{--page-accent:#ef2938;--page-tint:#f3eeea}
.sav-services-page .service-shell{background:#000000;border-radius:0;padding-bottom:28px}
.sav-services-page .service-shell:before{display:none!important}
.sav-services-page .service-hero,.sav-content-page .content-hero{background:var(--page-tint);color:#202020;border-radius:24px;padding:42px 48px 48px;min-height:0;gap:48px;box-shadow:none;overflow:visible}
.sav-services-page .service-hero{grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);align-items:start}
.sav-services-page :is(.service-hero,.content-hero) h1{color:#202020;text-transform:none;font-size:clamp(40px,4.5vw,66px);margin:24px 0;max-width:950px}
.sav-services-page :is(.service-hero,.content-hero) p{color:#5c5c60;font-size:17px;line-height:1.8}
.sav-services-page :is(.service-hero,.content-hero) .eyebrow{color:var(--page-accent)}
.sav-services-page :is(.service-hero,.content-hero) .service-breadcrumb{color:#68686c;margin-bottom:32px;font-size:12px}
.sav-services-page :is(.service-hero,.content-hero) .text-link{color:#202020}
.sav-services-page :is(.service-hero,.content-hero) .button{border-radius:100px}
.sav-services-page .service-hero .service-technologies>span{background:#ffffff90;border-color:#20202018;color:#303034}
.service-hero-panel{align-self:center;min-width:0;padding:28px;border:1px solid #20202020;border-radius:18px;background:#ffffff80}
.hero-panel-heading{display:block;font:500 12px/1.6 var(--display);letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px;color:inherit}
.hero-panel-list{display:grid}
.hero-panel-row{display:flex;align-items:baseline;gap:16px;padding:16px 0;border-top:1px solid #20202020;font:500 17px/1.5 var(--display)}
.hero-panel-number{font:400 11px/1.5 var(--sav-body);color:#737378;flex:none}
.hero-panel-row[href]:hover{color:var(--page-accent)}
.sav-services-page .hero-panel-footnote{font-size:12px;margin-top:16px}
/* Service directory: a full-width introduction followed by a navigable index. */
.service-theme-directory .service-hero{grid-template-columns:1fr;background:#eeece6}
.service-theme-directory .service-hero-copy{display:grid;grid-template-columns:1.5fr 1fr;column-gap:60px}
.service-theme-directory .service-hero-copy>:is(nav,.eyebrow,h1){grid-column:1}
.service-theme-directory .service-hero-copy>p{grid-column:2;grid-row:3;align-self:center}
.service-theme-directory .service-hero-copy>.actions{grid-column:2;grid-row:4}
.service-theme-directory .service-hero-copy>.service-technologies{grid-column:1;grid-row:4}
.service-theme-directory .service-hero-panel{border:0;border-top:1px solid #20202030;border-radius:0;background:none;padding:24px 0 0}
.service-theme-directory .hero-panel-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px}
.service-theme-directory .hero-panel-row{font-size:16px}
.service-theme-directory .service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-theme-directory .service-detail-card{border-radius:8px;background:#fafafa}
/* Development: broad copy with a clean specification panel. */
.service-theme-web-development{--page-tint:#e9f0ed;--page-accent:#245e49}
.service-theme-web-development .service-hero-panel{background:#fff;border-radius:8px;box-shadow:12px 12px 0 #cbded4}
.service-theme-web-development .service-detail-grid{gap:0;border-top:1px solid #ddd}
.service-theme-web-development .service-detail-card{border-radius:0;border-width:0 0 1px;padding:32px}
/* Applications: dark, centred product brief with a horizontal feature strip. */
.service-theme-app-development{--page-tint:#262536;--page-accent:#cec2ff}
.service-theme-app-development .service-hero{grid-template-columns:1fr;text-align:center}
.service-theme-app-development .service-hero-copy{max-width:960px;margin:auto}
.service-theme-app-development .service-hero :is(h1,p,.eyebrow){margin-inline:auto}
.service-theme-app-development .service-hero :is(h1,.text-link){color:#fff}
.service-theme-app-development .service-hero :is(p,.service-breadcrumb){color:#c5c3d7}
.service-theme-app-development .service-hero :is(.actions,.service-technologies,.service-breadcrumb){justify-content:center}
.service-theme-app-development .service-hero-panel{background:#ffffff0b;border-color:#ffffff25;color:white;width:100%}
.service-theme-app-development .hero-panel-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.service-theme-app-development .hero-panel-row{border-color:#ffffff25;display:block}
.service-theme-app-development .hero-panel-number{display:block;margin-bottom:10px;color:#a49bbf}
.service-theme-app-development .service-detail-card{background:#f4f2fa;border-color:transparent;border-radius:28px}
/* Search: an editorial brief and a restrained, ordered work list. */
.service-theme-seo{--page-tint:#f2eedf;--page-accent:#76601a}
.service-theme-seo .service-hero-panel{background:transparent;border:0;border-left:2px solid #b6a66d;border-radius:0}
.service-theme-seo .service-hero{grid-template-columns:1.5fr .8fr}
.service-theme-seo .inclusions-grid{grid-template-columns:1fr}
.service-theme-seo .inclusion{display:grid;grid-template-columns:44px .7fr 1.3fr;gap:24px;align-items:start;border-radius:0;border-width:0 0 1px;padding:28px 0}
.service-theme-seo .inclusion h3{margin:0}
/* Social: warm canvas with an offset brief and compact content cards. */
.service-theme-social-media-marketing{--page-tint:#f9e6df;--page-accent:#a34d42}
.service-theme-social-media-marketing .service-hero-panel{background:#fff8f5;border:0;border-radius:32px 32px 8px 32px;align-self:end}
.service-theme-social-media-marketing .service-fit-grid article{border:0;background:#faeee9;padding:28px;border-radius:24px}
/* Paid campaigns: strong horizontal introduction, with a two-column brief. */
.service-theme-paid-advertising{--page-tint:#edf0cc;--page-accent:#596026}
.service-theme-paid-advertising .service-hero{grid-template-columns:1fr}
.service-theme-paid-advertising .service-hero-copy>p{max-width:800px}
.service-theme-paid-advertising .service-hero-panel{padding:24px 0 0;background:transparent;border:0;border-top:1px solid #20202030;border-radius:0;width:100%}
.service-theme-paid-advertising .hero-panel-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.service-theme-paid-advertising .service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Lead generation: narrow opening column and a substantial prospecting brief. */
.service-theme-lead-generation{--page-tint:#e6eef6;--page-accent:#275c88}
.service-theme-lead-generation .service-hero{grid-template-columns:1fr 1fr}
.service-theme-lead-generation .service-hero-panel{border:0;background:#fff;border-radius:0 30px 30px 30px;padding:36px}
.service-theme-lead-generation .service-fit-grid{gap:0}
.service-theme-lead-generation .service-fit-grid article{padding:30px;border:1px solid #ddd}
/* Automation: a numbered sequence spanning the bottom of the hero. */
.service-theme-automation{--page-tint:#eee9f5;--page-accent:#72528c}
.service-theme-automation .service-hero{grid-template-columns:1fr}
.service-theme-automation .service-hero-panel{background:transparent;border:0;padding:0;width:100%}
.service-theme-automation .hero-panel-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-theme-automation .hero-panel-row{display:block;background:#ffffff90;padding:24px;border:0;border-radius:12px}
.service-theme-automation .hero-panel-number{display:block;margin-bottom:18px}
.service-theme-automation .service-process .service-fit-grid article{border-left:1px solid #ffffff30;border-top:0;padding-left:25px}
/* Infrastructure: a technical, dark service specification. */
.service-theme-server-management{--page-tint:#142a2b;--page-accent:#9bdbc8}
.service-theme-server-management .service-hero{border-radius:8px}
.service-theme-server-management .service-hero :is(h1,.text-link){color:#fff}
.service-theme-server-management .service-hero :is(p,.service-breadcrumb){color:#bad0cd}
.service-theme-server-management .service-hero-panel{background:#000000;border:1px solid #496361;border-radius:4px;color:#e1efeb}
.service-theme-server-management .hero-panel-row{border-color:#ffffff20;font-family:var(--sav-body);font-size:15px}
.service-theme-server-management .hero-panel-number{color:#8eb5ac}
.service-theme-server-management .service-detail-card{border-radius:4px}
/* Local search: open, bright layout and a clean business listing brief. */
.service-theme-google-business-profile{--page-tint:#e8f0e9;--page-accent:#286845}
.service-theme-google-business-profile .service-hero-panel{border-radius:24px;background:#fff;border:0;border-top:5px solid #669878}
.service-theme-google-business-profile .service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Detail pages use a focused checklist rather than category browsing cards. */
.service-level-service .service-hero-panel .hero-panel-heading{font-size:11px}
.service-level-service .service-hero-panel .hero-panel-row{font-size:16px}
/* About: wide narrative and a company note underneath, with an asymmetric body. */
.content-about{--page-tint:#eee9df;--page-accent:#875543}
.sav-content-page.content-about .content-hero{display:block;padding-bottom:0}
.content-about .content-hero>div:first-child{max-width:1000px}
.content-about .about-hero-note{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #20202025;margin-top:40px;padding:28px 0}
.content-about .about-hero-note .hero-panel-heading{margin:0}
.content-about .about-hero-note p{font-size:21px;color:#202020}
.content-about .about-intro-layout{grid-template-columns:1.4fr .8fr;gap:80px}
.content-about .about-brand-panel{border-radius:100px 100px 12px 12px}
.content-about .service-fit-grid article{padding:32px;border:0;background:#fff;border-radius:18px}
/* Contact: split conversation layout, no decorative marks. */
.content-contact{--page-tint:#f5e7e5;--page-accent:#b73a40}
.sav-content-page.content-contact .content-hero{align-items:center}
.contact-hero-note{flex:0 1 390px!important;background:#fff;border-radius:24px;padding:32px;display:flex;align-items:flex-start;flex-direction:column;gap:20px}
.contact-hero-note .hero-panel-heading{margin:0}
.contact-hero-email{font-size:clamp(15px,1.5vw,20px);line-height:1.5;overflow-wrap:anywhere}
.contact-hero-note .button{margin-top:10px}
.content-contact .contact-route-grid{gap:0;border-block:1px solid #ddd}
.content-contact .contact-route-grid>*{border:0;border-radius:0;background:none;border-right:1px solid #ddd}
.content-contact .contact-route-grid>*:last-child{border-right:0}
/* Portfolio index: typographic gallery opening and alternating project spreads. */
.content-projects{--page-tint:#e8edf0;--page-accent:#406575}
.sav-content-page.content-projects .content-hero{display:grid;grid-template-columns:1.6fr .7fr;align-items:end}
.projects-hero-note{border-left:1px solid #20202025;padding-left:30px}
.projects-hero-types{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;font-size:15px}
.content-projects .project-index-grid{grid-template-columns:1fr;gap:64px}
.content-projects .project-index-card{display:grid;grid-template-columns:1.3fr 1fr;border:0;border-radius:0;gap:40px;align-items:center;background:none}
.content-projects .project-index-card:nth-child(even){grid-template-columns:1fr 1.3fr}
.content-projects .project-index-card:nth-child(even) .project-index-image{order:2}
.content-projects .project-index-image{border-radius:16px;aspect-ratio:1.5}
.content-projects .project-index-copy{padding:16px 0}
/* Project detail: case-study masthead, real project information, full-width image. */
.content-project{--page-tint:#edede8;--page-accent:#575d40}
.sav-content-page.content-project .content-hero{align-items:end;border-radius:0;border-bottom:3px solid #202020}
.project-hero-summary{flex:0 1 330px!important;border-top:1px solid #20202040;padding-top:22px}
.project-hero-summary>.service-technologies{margin-bottom:0}
.content-project .case-cover{border-radius:0}
/* Article library: newspaper-style heading and a topic rail. */
.content-articles{--page-tint:#f4f1e8;--page-accent:#755f30}
.sav-content-page.content-articles .content-hero{display:block;border-radius:0;border-top:5px solid #bba878}
.articles-hero-topics{display:flex;flex-wrap:wrap;gap:10px 22px;border-top:1px solid #20202025;margin-top:35px;padding-top:22px;align-items:center}
.articles-hero-topics .hero-panel-heading{margin:0 15px 0 0}
.articles-hero-topics a{font-size:13px;padding:8px 0}
.content-articles .editorial-card{border-radius:8px}
/* Reading pages: quiet, centred article masthead. */
.content-article{--page-tint:#f8f8f5;--page-accent:#6b6657}
.sav-content-page.content-article .content-hero{display:block;border-radius:0;text-align:center;padding-block:40px 55px}
.content-article .content-hero>div{max-width:1000px;margin:auto}
.content-article .content-hero :is(.service-breadcrumb,.eyebrow,.article-byline){justify-content:center;margin-inline:auto}
.content-article .content-hero :is(h1,p){margin-inline:auto}
.content-article .article-byline{color:#6c6c70}
.content-article .article-byline span+span{border-color:#20202025}
.content-article .article-cover img{border-radius:0}
@media(max-width:1100px){
 .sav-services-page .service-hero{gap:28px;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}
 .service-theme-directory .service-hero,.service-theme-app-development .service-hero,.service-theme-paid-advertising .service-hero,.service-theme-automation .service-hero{grid-template-columns:1fr}
 .service-theme-app-development .hero-panel-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sav-content-page.content-projects .content-hero{grid-template-columns:1.4fr .8fr}
 .contact-hero-note{padding:24px}
}
@media(max-width:760px){
 .sav-services-page .service-shell{padding-bottom:16px}
 .sav-services-page .service-hero,.sav-content-page .content-hero{display:block;padding:26px 22px 30px;border-radius:16px;min-height:0}
 .sav-services-page :is(.service-hero,.content-hero) h1{font-size:clamp(32px,8.5vw,48px);overflow-wrap:normal}
 .sav-services-page :is(.service-hero,.content-hero) p{font-size:16px}
 .sav-services-page :is(.service-hero,.content-hero) .service-breadcrumb{margin-bottom:26px}
 .service-hero-panel{margin-top:32px;padding:22px}
 .service-theme-directory .service-hero-copy{display:block}
 .service-theme-directory .hero-panel-list,.service-theme-app-development .hero-panel-list,.service-theme-paid-advertising .hero-panel-list,.service-theme-automation .hero-panel-list{grid-template-columns:1fr;gap:0}
 .service-theme-automation .hero-panel-list{gap:12px}
 .service-theme-app-development .service-hero{text-align:left}
 .service-theme-app-development .service-hero :is(.actions,.service-technologies,.service-breadcrumb){justify-content:flex-start}
 .service-theme-app-development .service-hero :is(h1,p,.eyebrow){margin-inline:0}
 .service-theme-app-development .hero-panel-row{display:flex}
 .service-theme-app-development .hero-panel-number{margin-bottom:0}
 .service-theme-seo .inclusion{display:flex;gap:0;padding:24px}
 .service-theme-seo .inclusion h3{margin:20px 0 12px}
 .service-theme-directory .service-detail-grid,.service-theme-paid-advertising .service-detail-grid,.service-theme-google-business-profile .service-detail-grid{grid-template-columns:1fr}
 .content-about .about-hero-note{align-items:flex-start;flex-direction:column;gap:18px}
 .content-about .about-intro-layout{grid-template-columns:1fr;gap:30px}
 .content-about .about-brand-panel{border-radius:40px 40px 12px 12px}
 .contact-hero-note{margin-top:30px;padding:24px;gap:18px}
 .contact-hero-note .button{font-size:13px;padding-inline:18px}
 .content-contact .contact-route-grid>*{border:0;border-bottom:1px solid #ddd}
 .sav-content-page.content-projects .content-hero{display:block}
 .projects-hero-note{margin-top:30px;border-left:0;border-top:1px solid #20202025;padding:24px 0 0}
 .projects-hero-types{flex-direction:row;flex-wrap:wrap;font-size:13px;gap:12px 18px}
 .content-projects .project-index-card,.content-projects .project-index-card:nth-child(even){grid-template-columns:1fr;gap:18px}
 .content-projects .project-index-card:nth-child(even) .project-index-image{order:0}
 .content-projects .project-index-grid{gap:40px}
 .project-hero-summary{margin-top:32px}
 .articles-hero-topics{gap:8px 16px}
 .articles-hero-topics .hero-panel-heading{width:100%;margin-bottom:8px}
 .sav-content-page.content-article .content-hero{padding:28px 22px;text-align:left}
 .content-article .content-hero :is(.service-breadcrumb,.eyebrow,.article-byline){justify-content:flex-start;margin-inline:0}
}
