/* Service template pilot: every selector is isolated to the Graphics body. */
.service-template main{color:#171821}
.service-template :where(.hero,.section,.feature,.closing) p:not(.eyebrow){font-size:17px;line-height:1.6;color:#34343b;max-width:64ch}
.service-template :where(.hero,.section,.feature,.closing) h2{font-size:clamp(29px,3.2vw,43px);line-height:1.12;letter-spacing:-1.6px;font-weight:650}
.service-template :where(.hero,.section,.feature,.closing) h3{font-size:24px;line-height:1.2;letter-spacing:-.6px;font-weight:650}
.service-template main .hero{display:block;background:transparent;border:0;overflow:visible;min-height:495px;padding:55px 49% 42px 5.5%;isolation:isolate}
.service-template .hero h1{font-size:clamp(42px,4.5vw,64px);line-height:1.06;letter-spacing:-2.3px;font-weight:650;max-width:none;margin:25px 0}
.service-template .hero .eyebrow:before{display:none}
.service-template .hero .hero-bottom{max-width:none;display:block}
.service-template .hero .lead{font-size:19px;max-width:46ch;line-height:1.6;margin:25px 0}
.service-template .hero .cta{margin-top:2px}
.service-template .hero>.image-frame{right:7%;top:35px;width:35%;height:390px;object-fit:contain;z-index:-1}
.service-template .service-visual{display:none}
.service-template .section{padding:42px 5.5%}
.service-template .section-head{display:block;max-width:none}
.service-template .section-head h2{margin:18px 0 24px}
.service-template .section-head p:last-child{max-width:64ch;margin:0}
.service-template .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;margin-top:30px}
.service-template .card{padding:25px 26px 28px;border:1px solid #8a8b83;border-radius:0;min-height:0;background:transparent;box-shadow:none;transform:none}
.service-template .card>.image-frame{position:static;width:105px;height:105px;object-fit:contain;margin:0 0 20px}
.service-template .card h3{margin:0 0 18px;max-width:none}
.service-template .card p{margin:0;max-width:40ch}
.service-template .feature{margin:24px 0 22px;padding:42px 5.5%;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:55px;align-items:center;background:#eee4f4a8;border:0;border-block:1px solid #b7aabd;border-radius:0;box-shadow:none}
.service-template .feature h2{margin:20px 0 24px}
.service-template .feature p{margin-bottom:20px}
.service-template .feature p:last-child{margin-bottom:0}
.service-template .feature .image-frame{width:100%;height:315px;object-fit:contain}
.service-template .approach>h2{max-width:24ch;margin:18px 0 36px}
.service-template .three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;align-items:start}
.service-template .three article{padding:0 32px;min-height:0;border:0;border-right:1px solid #aaa79b;position:relative}
.service-template .three article:first-child{padding-left:0}
.service-template .three article:last-child{border-right:0;padding-right:0}
.service-template .three article>.image-frame{position:static;width:95px;height:95px;object-fit:contain;margin:0 0 18px}
.service-template .three article .number{display:block;font-family:'Chalkboard SE','Comic Sans MS',cursive;font-size:14px;color:#34343b;margin:0 0 14px}
.service-template .three h3{margin:0 0 18px}
.service-template .three p{margin:0;max-width:40ch}





.service-template main .closing{background:transparent;overflow:visible;margin:20px 20px 45px;padding:52px 6%}
.service-template main .closing:after{display:none}
.service-template .closing h2{font-size:clamp(30px,2.7vw,40px);margin:0}
@media(max-width:1000px){.service-template main .hero{min-height:460px;padding-right:48%}.service-template .hero h1{font-size:48px}.service-template .hero>.image-frame{right:4%;width:39%;height:340px}.service-template .cards{gap:18px}.service-template .card{padding:22px}.service-template :where(.hero,.section,.feature,.closing) h3{font-size:22px}.service-template .three article{padding-inline:22px}.service-template .feature{gap:30px}.service-template main .closing{padding:48px 7%}}
@media(max-width:900px){.service-template .cards{grid-template-columns:1fr}.service-template .card{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px 22px;padding:24px}.service-template .card>.image-frame{grid-column:1;grid-row:1/3;width:90px;height:95px;margin:0}.service-template .card h3{grid-column:2;margin:0}.service-template .card p{grid-column:2;max-width:none}.service-template .feature{grid-template-columns:1fr;gap:20px}.service-template .feature .image-frame{height:230px}.service-template .three{grid-template-columns:1fr;gap:28px}.service-template .three article,.service-template .three article:first-child,.service-template .three article:last-child{padding:0 0 25px 112px;border:0;border-bottom:1px solid #aaa79b;min-height:125px}.service-template .three article:last-child{border-bottom:0;padding-bottom:0}.service-template .three article>.image-frame{position:absolute;left:0;top:5px;width:85px;height:90px}.service-template .three article .number{margin:0 0 10px}.service-template .three h3{margin-bottom:14px}}
@media(max-width:600px){.service-template main .hero{min-height:0;padding:35px 6% 295px}.service-template .hero h1{font-size:43px!important;letter-spacing:-1.6px!important;line-height:1.08}.service-template .hero .lead{font-size:18px}.service-template .hero>.image-frame{top:auto;bottom:10px;right:12%;width:76%;height:260px}.service-template .section{padding:32px 6%}.service-template .section-head h2{margin-top:16px}.service-template .cards{margin-top:24px;gap:18px}.service-template .card{grid-template-columns:70px minmax(0,1fr);gap:12px 18px;padding:22px 18px}.service-template .card>.image-frame{width:70px;height:80px}.service-template :where(.hero,.section,.feature,.closing) h3{font-size:22px}.service-template .feature{margin:15px 0;padding:32px 6%;gap:16px}.service-template .feature h2{font-size:34px}.service-template .feature .image-frame{height:210px}.service-template .approach>h2{margin-bottom:30px}.service-template .three article,.service-template .three article:first-child,.service-template .three article:last-child{padding-left:98px}.service-template .three article>.image-frame{width:75px;height:80px}.service-template main .closing{padding:40px 10%;margin:8px 3% 32px}.service-template .closing h2{font-size:31px}}
@media(max-width:360px){.service-template .card{display:block}.service-template .card>.image-frame{float:right;width:65px;height:70px;margin:0 0 12px 12px}.service-template .card h3{margin-bottom:15px}.service-template .card p{clear:both}.service-template .three article,.service-template .three article:first-child,.service-template .three article:last-child{padding-left:80px}.service-template .three article>.image-frame{width:65px;height:70px}.service-template .hero h1{font-size:39px!important}}

.service-template .feature .cta{margin-top:8px}
@media(max-width:900px){.service-template .card>.image-frame{grid-row:1}.service-template .card h3{align-self:center}.service-template .card p{grid-column:1/-1}.service-template .three article,.service-template .three article:first-child,.service-template .three article:last-child{display:grid;grid-template-columns:85px minmax(0,1fr);gap:0 22px;padding-left:0}.service-template .three article>.image-frame{position:static;grid-column:1;grid-row:1/3;align-self:center;margin:0;width:85px;height:90px}.service-template .three .number{grid-column:2}.service-template .three h3{grid-column:2}.service-template .three p{grid-column:1/-1;max-width:none;margin-top:12px}}
@media(max-width:600px){.service-template .three article,.service-template .three article:first-child,.service-template .three article:last-child{grid-template-columns:75px minmax(0,1fr);gap:0 22px}.service-template .three article>.image-frame{width:75px;height:80px}.service-template .card p{margin-top:6px}}

/* Layout variations preserve readable rows for different service counts. */
.service-template.service-content .cards,.service-template.service-ai .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-template.service-ai .card:last-child,.service-template.service-overview .card:last-child{grid-column:1/-1;display:grid;grid-template-columns:105px minmax(0,1fr);gap:0 26px}
.service-template.service-ai .card:last-child>.image-frame,.service-template.service-overview .card:last-child>.image-frame{grid-row:1/3;margin:0}
.service-template.service-ai .card:last-child p,.service-template.service-overview .card:last-child p{max-width:64ch}
.service-template .principles{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:20px 0 0}
.service-template .principles li{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #8a8b83;background:transparent;font-size:17px;color:#34343b}
.service-template .principles img{width:24px;height:24px;object-fit:contain}
.service-template .cards+h3{margin-top:36px}
.service-template .intro{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:50px;align-items:center}
.service-template .intro .image-frame{position:static;width:100%;height:240px;object-fit:contain}
.service-template .intro h2{margin:18px 0 24px}
.service-template .faq{max-width:none;margin:0}
.service-template .faq details{max-width:none;border-bottom:1px solid #aaa79b;padding:20px 0}
.service-template .faq summary{font-size:20px;line-height:1.4;font-weight:600;cursor:pointer;color:#171821}
.service-template .faq details p{max-width:70ch;margin:20px 0 0}
.service-template .card h3 a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
@media(max-width:900px){.service-template.service-content .cards,.service-template.service-ai .cards{grid-template-columns:1fr}.service-template.service-ai .card:last-child,.service-template.service-overview .card:last-child{grid-template-columns:90px minmax(0,1fr);gap:12px 22px}.service-template.service-ai .card:last-child>.image-frame,.service-template.service-overview .card:last-child>.image-frame{grid-row:1}.service-template.service-ai .card:last-child p,.service-template.service-overview .card:last-child p{grid-column:1/-1}.service-template .intro{grid-template-columns:1fr;gap:15px}.service-template .intro .image-frame{height:200px}}
@media(max-width:600px){.service-template.service-ai .card:last-child,.service-template.service-overview .card:last-child{grid-template-columns:70px minmax(0,1fr);gap:12px 18px}}
@media(max-width:360px){.service-template.service-ai .card:last-child,.service-template.service-overview .card:last-child{display:block}}

.service-template .principles li{width:auto;min-width:0;flex:0 0 auto}

.service-template .principles{flex-direction:row}

.service-template .principles{justify-content:flex-start;border-bottom:0}
.service-template.service-overview .card h3 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.service-template.service-overview .card h3 a span{display:inline}
