/* Shared editorial rhythm across equivalent sections; tool and legal layouts keep their purpose. */
.mockup{--site-width:1200px;--site-gutter:clamp(20px,4vw,64px);--site-ink:#102840;--site-muted:#425a6d;--site-teal:#086c68;--site-line:#d7e5e9}
.mockup main :is(.label,.eyebrow,.resources-eyebrow,.formation-kicker){font-size:12px;font-weight:750;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--site-teal);margin:0 0 12px}
.mockup main .resources-hero .resources-eyebrow,.mockup main .next .eyebrow,.mockup main .hero .eyebrow{color:#a6e1da}
.mockup main .formation-roadmap>.formation-kicker{color:#a6d9d4}
.mockup main a:is(.btn,.button,.formation-cta){min-height:44px;padding:13px 20px;border-radius:8px;font-size:15px;font-weight:700;line-height:1.5;text-decoration:none;max-width:100%;white-space:normal;background:#087b74;color:#fff}
.mockup main a:is(.btn,.button,.formation-cta):hover{background:#075f5b}
.mockup main a.btn.light{background:#fff;color:#086c68}
.mockup main a.btn.outline{background:transparent;color:#fff;border:2px solid #fff}
.mockup main .section-link{display:inline-block;font-weight:700;line-height:1.5;color:var(--site-teal)}
.mockup main>.seo-section{width:calc(100% - 2*var(--site-gutter));max-width:var(--site-width);margin:0 auto!important;padding:48px 0}
.mockup main>.seo-section>p.label{color:var(--site-teal);line-height:1.5}
.mockup main>.seo-section h2{font-size:clamp(26px,3vw,36px);line-height:1.2;margin:0 0 20px}
.mockup .seo-topic-grid a{padding:22px;border-radius:12px;font-size:17px;line-height:1.5;background:#f3f8f9;border:1px solid var(--site-line)}
.mockup .seo-topic-grid a:hover{background:#e8f3f3;border-color:var(--site-teal)}
.mockup.home-page :is(.expert.wrap,.training.wrap){width:calc(100% - 2*var(--site-gutter));max-width:var(--site-width);margin:0 auto;padding:48px 0}
.mockup.home-page .section-heading h2,.mockup.home-page .training h2{font-size:clamp(26px,3vw,36px);line-height:1.2}
.mockup.home-page .training{grid-template-columns:minmax(180px,.85fr) minmax(240px,1.2fr) minmax(220px,1fr);gap:28px}
.mockup.home-page .training img{grid-row:1/3;height:230px}
.mockup.home-page .training>p{font-size:16px;line-height:1.65;margin:0}
.mockup.home-page .training-link{grid-column:2/-1;justify-self:start;font-size:15px;font-weight:700;padding:13px 20px;min-height:44px;border-radius:8px;line-height:1.5}
.mockup.home-page .cards{gap:20px}.mockup.home-page .cards img{height:190px}.mockup.home-page .cards div{padding:22px 48px 22px 22px}.mockup.home-page .cards h3{font-size:21px;line-height:1.3;margin-bottom:10px}.mockup.home-page .cards p{font-size:15px;line-height:1.6}
/* Service family: explicit cards, readable copy, matching section widths. */
.mockup.service-page main{line-height:1.65}
.mockup.service-page main>section{width:calc(100% - 2*var(--site-gutter));max-width:var(--site-width);padding:48px 0;margin:0 auto}
.mockup.service-page main>.service-hero{width:100%;max-width:none;padding:56px var(--site-gutter);background:#f1f7f7}
.service-hero>div{max-width:var(--site-width);margin:0 auto}
.mockup.service-page .service-hero h1{font-size:clamp(34px,4vw,54px);line-height:1.12;margin:0 0 24px;max-width:1000px}
.service-hero>div>p:last-child{font-size:18px;line-height:1.65;margin:0;max-width:850px}
.mockup.service-page main h2{font-size:clamp(26px,3vw,36px);line-height:1.23;margin:0 0 20px}
.mockup.service-page main h3{font-size:21px;line-height:1.35;margin:0 0 12px}
.mockup.service-page main p{margin:0 0 20px;color:var(--site-muted)}
.mockup.service-page main .eyebrow{color:var(--site-teal)}
.mockup.service-page main>.editorial-photo-section{padding:28px 0 0!important}
.mockup.service-page main>.visual-section{padding:48px 0}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}
.service-grid.service-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.mockup.service-page .service-grid>article,.mockup.service-page .service-grid>div{min-width:0;padding:24px;border:1px solid var(--site-line);border-radius:12px;background:#f6f9fa}
.mockup.service-page .service-grid p:last-child{margin:0}
.mockup.service-page .service-grid~h2{margin-top:40px}
.service-section>div:has(>.service-steps){display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.service-steps{padding:24px;border:1px solid var(--site-line);border-radius:12px;background:#f6f9fa}
.mockup.service-page .service-steps h3:not(:first-child){border-top:1px solid var(--site-line);padding-top:20px;margin-top:24px}
.mockup.service-page .service-steps p:last-child{margin-bottom:0}
/* FAQ and further reading use the same pattern on every service page. */
.service-question{border:1px solid var(--site-line);border-radius:12px;background:#fff;margin:12px 0;overflow:hidden}
.service-question summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;cursor:pointer;list-style:none}
.service-question summary::-webkit-details-marker{display:none}
.mockup.service-page .service-question summary h3{font-size:18px;margin:0;line-height:1.45}
.service-question summary::after{content:'+';font-size:24px;line-height:1;color:var(--site-teal);flex:none}
.service-question[open] summary::after{content:'−'}
.service-question[open] summary{background:#edf6f5}
.service-question>div{padding:20px}
.mockup.service-page .service-question>div>p:last-child{margin:0}
.mockup .related-guides ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:24px 0 0;list-style:none}
.mockup .related-guides li{display:flex}.mockup .related-guides a{display:block;width:100%;padding:20px;border:1px solid var(--site-line);border-radius:12px;background:#f3f8f9;line-height:1.5;color:var(--site-teal);font-weight:650;text-decoration:none}
.mockup .related-guides a:hover{text-decoration:underline;border-color:var(--site-teal)}
.mockup.service-page main>.service-cta{max-width:none;width:100%;padding:48px var(--site-gutter);background:#102840;color:white}
.mockup.service-page .service-cta>*{max-width:var(--site-width);margin-inline:auto}
.mockup.service-page .service-cta>div{width:100%}
.mockup.service-page .service-cta p{color:#dceaf1}
.mockup.service-page .service-cta .eyebrow{color:#a6e1da}
.mockup.service-page .service-cta .button{margin-top:4px;margin-bottom:0}
/* Resources share the same gutters; long-form articles retain a reading column. */
.mockup.resources-page .resources-shell{width:calc(100% - 2*var(--site-gutter));max-width:var(--site-width)}
.mockup .geo-question-grid article{padding:24px;border-radius:12px}.mockup .geo-question-grid h3{font-size:21px;line-height:1.35}.mockup .geo-question-grid p{font-size:16px;line-height:1.65}
.mockup .contact-intro{min-height:0;padding-bottom:32px}
.mockup .contact-form-section{padding-top:24px}
.mockup .contact-form-section>h2{max-width:760px;margin-inline:auto}
.mockup main [id]{scroll-margin-top:155px}
.mockup .skip:focus{z-index:200}
@media(max-width:900px){.mockup.home-page .training{grid-template-columns:1fr 1fr}.mockup.home-page .training>p{grid-column:2}.mockup.home-page .training-link{grid-column:2}.service-grid{grid-template-columns:1fr}.service-section>div:has(>.service-steps){grid-template-columns:1fr;gap:20px}.mockup .related-guides ul{grid-template-columns:1fr}}
@media(max-width:600px){.mockup.home-page :is(.expert.wrap,.training.wrap),.mockup main>.seo-section{padding:36px 0}.mockup.home-page .training{grid-template-columns:1fr;gap:18px}.mockup.home-page .training img{grid-column:1;grid-row:auto;height:190px}.mockup.home-page .training>p,.mockup.home-page .training-link{grid-column:1}.mockup.home-page .training-link{justify-self:stretch;text-align:center}.mockup.service-page main>section{padding:36px 0}.mockup.service-page main>.service-hero{padding:40px var(--site-gutter)}.mockup.service-page .service-hero h1{font-size:34px}.service-hero>div>p:last-child{font-size:17px}.service-grid.service-grid-two{grid-template-columns:1fr}.mockup.service-page .service-grid>article,.mockup.service-page .service-grid>div{padding:20px}.mockup.service-page .service-question summary h3{font-size:17px}.mockup .geo-question-grid article{padding:20px}.mockup .seo-topic-grid a{padding:20px;font-size:17px}.mockup.resources-page .resources-article{padding-inline:20px}}

.mockup.home-page .cover p{line-height:1.6}
.mockup.home-page .benefits div{line-height:1.4}
