/* PRIMATE — shared visual direction: open layouts, two deliberate contrasts. */
:root{--space-section:104px;--radius:4px;--page-gutter:60px}
.header{height:104px;border-bottom:0}.header nav{gap:30px}.button{border-radius:3px;box-shadow:none}.button:hover{transform:none}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.06em}.text-link{font-size:13px}.brand{font-size:30px}
.hero{padding-top:0}.hero-main{display:grid;grid-template-columns:1fr 1fr;gap:0}.hero-copy{padding:76px 60px 76px max(var(--page-gutter),calc((100vw - var(--page-width))/2));align-self:center}.hero h1{font-size:clamp(38px,4.2vw,66px);margin-top:24px;line-height:1.16}.hero-description{max-width:510px;font-size:16px;line-height:1.65;margin:28px 0 30px}.hero-visual{min-height:500px;margin:0;border-radius:0}.hero-visual>img{border-radius:0;filter:none;object-position:center}.hero-copy .eyebrow{font-size:11px}
.expertise-strip{display:grid;grid-template-columns:repeat(4,1fr);padding-block:52px}.expertise-strip>a{padding-inline:28px;border-left:1px solid var(--color-border)}.expertise-strip>a:first-child{padding-left:0;border-left:0}.expertise-strip>a:last-child{padding-right:0}.expertise-strip h2{font-size:25px;margin-bottom:7px}.expertise-strip p{font-size:13px;line-height:1.5}.expertise-strip a:hover h2{color:var(--color-accent)}
.training{margin-top:0}.training .section-heading{align-items:center;gap:35px;margin-bottom:44px}.training h2{font-size:38px;line-height:1.2}.course-grid{gap:30px}.course{padding:36px;min-height:315px;border:0}.course-time{order:0;margin:0 0 23px;font-size:11px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-weight:500}.course h3{font-size:25px;line-height:1.2;margin-bottom:14px}.course>p:not(.course-time){font-size:15px;min-height:0;margin-bottom:25px}.course-cta{margin-top:auto;padding:0;border:0;justify-content:flex-start;gap:22px;min-height:40px;font-size:13px;text-decoration:underline;text-underline-offset:4px}.course.featured{background:var(--ink);color:var(--white);border:0}.course.featured p{color:#e0e3df}.course.featured .course-cta{background:white;color:var(--ink);padding:12px 18px;align-self:flex-start;text-decoration:none;border-radius:3px}.course.featured .course-cta svg{color:var(--ink)}
.method{gap:60px;align-items:center;padding-block:104px 0}.method-image{height:410px;border-radius:0}.method h2{font-size:34px}.method .intro{max-width:none;font-size:15px;margin-top:20px}.method ol{margin-top:25px}.method li{padding-block:16px;display:block}.method li:last-child{border-bottom:1px solid var(--color-border)}.method li h3{font-family:var(--font-body);font-size:15px;font-weight:400;margin:0;line-height:1.5}.usage-note{border-top:1px solid var(--color-border);padding-block:36px 44px;display:flex;align-items:center;justify-content:space-between;gap:30px}.usage-note h2{font-size:19px;line-height:1.4}.usage-note p{font-size:14px;margin-top:6px}.usage-note .text-link{flex-shrink:0}
.contact{background:var(--color-accent);color:white;margin-top:0;padding-block:48px}.contact-heading{gap:35px;display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center}.contact h2{font-size:32px;line-height:1.2}.contact-heading>p{font-size:14px;line-height:1.6;color:white;margin:0;border-left:1px solid #ffffff55;padding-left:28px}.contact .button{background:white;color:var(--ink);min-width:180px}.contact .button:hover{background:var(--blue-50)}.footer{border-top:0;padding-block:42px;gap:28px}.footer>p{font-size:11px}.footer>p strong{font-size:11px}.footer>p a:hover{text-decoration:underline;text-underline-offset:3px}
/* Interior pages share the same grid, spacing, quiet bands and closing CTA. */
.breadcrumb{margin-block:20px 42px}.detail-hero{max-width:none;width:100%}.detail-hero .breadcrumb{max-width:var(--page-width);width:calc(100% - var(--page-gutter)*2);margin-inline:auto}.detail-hero-grid{grid-template-columns:1fr 1fr;gap:0}.detail-hero-grid>div:first-child{padding:55px 60px 55px max(var(--page-gutter),calc((100vw - var(--page-width))/2))}.detail-hero h1{font-size:clamp(36px,3.8vw,58px);line-height:1.16}.detail-intro{font-size:16px;line-height:1.7;margin-block:24px 28px}.detail-photo{height:500px;border-radius:0}.detail-content>.wrap>h2{font-size:36px}.detail-content>.wrap>.eyebrow{display:none}.detail-sections{margin-top:52px}.detail-content--bands .detail-row{padding-block:80px}.detail-row{gap:100px;grid-template-columns:1fr 1.3fr}.detail-row h3{font-size:29px}.detail-row p,.detail-row ul{font-size:15px}.detail-row ul{margin-block:20px}.detail-result{border:0;padding:0;font-size:14px!important;font-weight:500}.detail-number{margin-bottom:16px}.detail-closing{background:transparent;border-top:1px solid var(--color-border);padding:56px 0 0;margin-top:64px;gap:70px}.detail-closing h2{font-size:29px}.detail-page>.contact{margin-top:104px}.detail-page>.usecases{margin-top:104px}.detail-page .stack{padding-block:88px}.detail-page .safety{padding:48px}.detail-page .faq{padding-top:88px}.detail-page .faq h2{font-size:32px}
@media(min-width:1600px){.hero-main,.detail-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-copy{padding-right:65px}}
@media(max-width:1100px){:root{--page-gutter:32px;--space-section:64px}.header nav{gap:20px}.hero-copy{padding-block:40px;padding-right:28px}.hero-visual{min-height:490px}.expertise-strip>a{padding-inline:18px}.expertise-strip h2{font-size:22px}.course-grid{gap:18px}.course{padding:25px}.course h3{font-size:23px}.training h2{font-size:33px}.method{gap:35px}.contact h2{font-size:27px}.contact-heading{gap:25px}.contact .button{min-width:0}.detail-hero-grid>div:first-child{padding-right:28px}.detail-row,.detail-closing{gap:45px}}
@media(max-width:760px){:root{--page-gutter:22px;--space-section:64px}.header{height:80px}.header nav{gap:0}.hero-main,.detail-hero-grid{grid-template-columns:1fr}.hero-copy{padding:34px 22px 36px}.hero h1{font-size:clamp(34px,8.8vw,55px);margin-top:20px}.hero-description{font-size:15px;margin-block:22px 26px}.hero-visual{min-height:0;height:320px;margin:0}.expertise-strip{grid-template-columns:1fr 1fr;gap:26px 0;padding-block:30px}.expertise-strip>a{padding-inline:18px}.expertise-strip>a:nth-child(odd){padding-left:0;border-left:0}.expertise-strip h2{font-size:22px}.expertise-strip p{font-size:12px}.training .section-heading{display:block;margin-bottom:25px}.training h2{font-size:30px}.training .section-heading .text-link{margin-top:20px}.course-grid{grid-template-columns:1fr;gap:18px}.course{padding:27px;min-height:265px}.course h3{font-size:27px}.course-time{margin-bottom:20px}.method{grid-template-columns:1fr;gap:30px;padding-block:64px 0}.method-image{height:280px}.method h2{font-size:30px}.usage-note{display:block;padding-block:28px 38px}.usage-note h2{font-size:18px}.usage-note .text-link{margin-top:18px}.contact{padding-block:38px}.contact-heading{display:block}.contact h2{font-size:29px}.contact-heading>p{border:0;padding:0;margin-block:16px 22px}.contact .button{width:auto}.footer{gap:25px}.footer>p{line-height:1.8}.detail-hero-grid>div:first-child{padding:16px 22px 32px}.detail-hero h1{font-size:clamp(32px,8.7vw,48px)}.detail-photo{height:280px}.detail-intro{font-size:15px}.detail-content>.wrap>h2{font-size:29px}.detail-row,.detail-closing{grid-template-columns:1fr;gap:22px}.detail-content--bands .detail-row{padding-block:48px}.detail-row h3,.detail-closing h2{font-size:26px}.detail-page>.contact,.detail-page>.usecases{margin-top:48px}.detail-page .faq{padding-top:48px}.detail-page .stack{padding-block:48px}.detail-page .safety{padding:28px}}

/* Consistent separation between page sections, with layouts specific to each service page. */
.stack{padding-block:88px 56px}.stack .eyebrow{margin-bottom:24px}.tool-list{padding-block:36px;margin-top:38px}.usage-note{margin-bottom:36px}.detail-deliverable{margin-top:30px;padding-top:24px;border-top:1px solid var(--color-border)}.detail-deliverable>.eyebrow{font-size:10px;margin-bottom:10px;color:var(--color-muted)}.detail-deliverable .detail-result{margin-bottom:24px;font-weight:500}.detail-body>p{max-width:660px}.detail-page--formations .detail-row{grid-template-columns:.9fr 1.3fr}.detail-page--formations .detail-number{font-family:var(--font-heading);font-size:28px;margin-bottom:24px}.detail-page--formations .detail-row h3{max-width:370px;font-size:32px}.detail-page--nos-expertises .detail-row h3{max-width:400px}.detail-page--notre-methode .detail-row{grid-template-columns:.9fr 1.3fr}.detail-page--notre-methode .detail-number{display:inline-block;font-family:var(--font-heading);font-size:28px;border-bottom:2px solid var(--color-accent);padding-bottom:12px;margin-bottom:24px}.detail-page .detail-closing{padding-bottom:8px}.detail-page .contact{margin-top:104px}.detail-page .faq{padding-bottom:0}.contact-heading h2{max-width:440px}.contact-heading>p{max-width:340px}.detail-page--formations .detail-band:nth-child(2) .detail-deliverable{border-color:#c9cdc7}
@media(max-width:1100px){.detail-row{gap:55px}.stack{padding-block:64px 44px}.detail-page--formations .detail-row h3{font-size:28px}}
@media(max-width:760px){.stack{padding-block:64px 32px}.usage-note{margin-bottom:22px}.detail-page--formations .detail-row,.detail-page--notre-methode .detail-row{grid-template-columns:1fr;gap:28px}.detail-row{gap:28px}.detail-page--formations .detail-row h3{font-size:27px}.detail-page .contact{margin-top:64px}.detail-closing{margin-top:48px;padding-top:36px}.detail-deliverable{margin-top:24px;padding-top:20px}.tool-list{gap:25px 32px}.expertise-strip{padding-block:36px}}

#contact-form input:not([type=hidden]){display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--color-border);border-radius:4px;background:white;color:var(--ink);font-size:14px}#contact-form .contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#contact-form button:disabled{opacity:.6;cursor:wait}#contact-status[data-state=error]{color:#a52020}#contact-form input:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}

/* Shared hero dimensions keep the four page openings aligned. Min-height
   allows edited content or enlarged text to grow without being clipped. */
:root{--hero-min-height:640px}
.hero-main{min-height:var(--hero-min-height)}
.hero-visual{min-height:var(--hero-min-height)}
@media(min-width:761px) and (max-width:1100px){:root{--hero-min-height:600px}}
@media(max-width:760px){
  .hero-main{min-height:0}
  .hero-copy{min-height:0;padding:40px var(--page-gutter) 48px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}
  .hero-visual{min-height:0;height:320px}
}


@media(min-width:1600px){:root{--hero-min-height:720px}}
