/* Shared architecture. Existing fonts, logo, palette and mobile controller. */
.header .nav a[aria-current]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
@media(min-width:1341px){
 .header .nav-wrap{gap:22px;max-width:1440px}
 .header .nav,.header .nav.open{display:flex;position:static;width:auto;padding:0;flex-direction:row;align-items:center;gap:18px;background:transparent;border:0;margin-left:auto;max-height:none;overflow:visible}
 .header .nav a{font-size:14px;white-space:nowrap}
 .header .menu-toggle{display:none}
}
@media(max-width:1340px){
 .header .nav-wrap{min-height:78px;gap:20px}
 .header .menu-toggle{display:block;margin-left:auto;min-height:44px}
 .header .nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;padding:16px 24px;flex-direction:column;align-items:stretch;gap:0;background:#101b29;border-bottom:1px solid #52616d;max-height:calc(100dvh - 130px);overflow-y:auto;margin:0!important}
 .header .nav.open{display:flex}
 .header .nav a{padding:12px;font-size:16px;white-space:normal;min-height:44px}
}
.footer .arch-footer-grid{display:grid;grid-template-columns:1.65fr 1fr 1.25fr 1fr;gap:36px;align-items:start}
.footer .footer-brand p{max-width:34ch;font-size:15px;line-height:1.65}
.footer .footer-links a{font-size:14px;min-height:32px}
.footer .footer-links strong{font-size:15px;color:#fff}
.footer .footer-logo{max-width:260px;width:100%;height:auto}
.arch-resource-nav{display:flex;flex-wrap:wrap;gap:12px 28px;padding-block:20px;border-bottom:1px solid #dfe5e9;font-size:15px}
.cx-structure .arch-section{padding:68px 0;border-bottom:1px solid #dfe5e9;scroll-margin-top:120px}
.cx-structure .arch-section .wrap>h2,.cx-structure .cx-sim-head h2{font-size:clamp(28px,3vw,40px);max-width:30ch;line-height:1.18;letter-spacing:-.025em;margin:12px 0 28px}
.cx-structure .arch-section p{line-height:1.7}
.cx-structure .arch-section h3{font-size:23px;line-height:1.3;letter-spacing:-.015em}
.cx-structure .arch-hero{padding:48px 0 58px;background:#101b29;color:#f4f7fa;--cx-ink:#f4f7fa;--cx-muted:#cbd6df;--cx-steel:#bfd2df;border-bottom:0}
.cx-structure .arch-hero .breadcrumb{font-size:14px;margin-bottom:24px}
.cx-structure .arch-hero .eyebrow{color:#bfd2df!important;letter-spacing:.1em;font-size:12px;line-height:1.7}
.cx-structure .arch-hero h1{font-size:clamp(36px,4vw,58px);line-height:1.12;letter-spacing:-.035em;max-width:23ch;margin:16px 0 22px}
.cx-structure .arch-hero .arch-lead{font-size:21px;line-height:1.5;max-width:65ch;margin:0 0 16px;color:#e4ebf0!important}
.cx-structure .arch-hero .arch-intro{font-size:17px;max-width:81ch;line-height:1.7;margin-bottom:26px;color:#cbd6df!important}
.cx-structure .arch-hero .arch-intro p{max-width:none;margin:10px 0}
.cx-structure .actions{align-items:center;gap:18px 26px;flex-wrap:wrap}
.cx-structure .arch-hero .btn,.cx-structure .arch-dark .btn{background:#f5f5f1!important;border-color:#f5f5f1!important;color:#101b29!important}
.cx-structure .arch-hero .text-link,.cx-structure .arch-dark .text-link{color:#e4ebf0!important}
.cx-structure .arch-tint{background:#edf0f0}
.cx-structure .arch-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cx-structure .arch-door{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #ccd6dd;border-radius:10px;padding:30px;min-width:0;position:relative}
.cx-structure .arch-door>span:first-child{color:#456b84;font-size:13px;letter-spacing:.1em;font-weight:600}
.cx-structure .arch-door h3{margin:16px 0 12px;font-size:26px}
.cx-structure .arch-door>p{margin:0 0 16px;font-size:17px}
.cx-structure .arch-door .arch-note{font-size:16px;font-weight:600;color:#172634!important}
.cx-structure .arch-door .arch-small{font-size:14px;line-height:1.55;margin-top:-4px}
.cx-structure .arch-door .text-link{margin-top:auto;padding-top:8px;min-height:44px}
.cx-structure .arch-alias{display:block;scroll-margin-top:140px}
.cx-structure .arch-proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;margin:30px 0}
.cx-structure .arch-proof{min-width:0}
.cx-structure .arch-proof img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid #cbd3da;border-radius:8px;margin:0 0 20px}
.cx-structure .arch-proof h3{margin:10px 0 12px}
.cx-structure .arch-proof .arch-small{font-size:13px;color:#52616d!important;text-transform:uppercase;letter-spacing:.07em}
.cx-structure .arch-proof p{margin:12px 0 20px}
.cx-structure .arch-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.cx-structure .arch-values h3{font-size:20px;margin:0 0 14px}
.cx-structure .arch-values p{margin:0;font-size:16px}
.cx-structure .arch-dark{--cx-ink:#f4f7fa;--cx-muted:#cbd6df;--cx-steel:#bfd2df;background:#101b29;color:#f4f7fa;border:0}
.cx-structure .arch-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;list-style:none;padding:0;margin:36px 0 0}
.cx-structure .arch-steps li{border-top:1px solid #52616d;padding-top:22px;font-size:21px;line-height:1.5}
.cx-structure .arch-steps span{display:block;color:#bfd2df;font-size:14px;margin-bottom:14px}
.cx-structure .arch-founder{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:center}
.cx-structure .arch-founder img{display:block;width:100%;height:auto;border-radius:10px}
.cx-structure .arch-founder h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:12px 0 22px}
.cx-structure .arch-founder .arch-small{font-size:14px}
.cx-structure .arch-closing .wrap>h2{margin-bottom:22px}
.cx-structure .arch-closing .actions{margin-top:28px}
.cx-structure .arch-editorial-list{display:grid;margin-top:36px}
.cx-structure .arch-editorial{display:grid;grid-template-columns:55px minmax(200px,1fr) minmax(0,1.6fr);gap:28px;border-top:1px solid #ccd6dd;padding:26px 0}
.cx-structure .arch-editorial>span{color:#456b84;font-size:14px;font-weight:600;padding-top:5px}
.cx-structure .arch-editorial h3{margin:0}
.cx-structure .arch-editorial p{margin:0;font-size:17px}
.cx-structure .arch-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.cx-structure .arch-two h3{margin:0 0 16px}
.cx-structure .arch-two p{margin:0 0 18px}
.cx-structure .arch-two ul{padding-left:20px;line-height:1.8}
.cx-structure .arch-flow{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.cx-structure .arch-flow span{padding:12px 18px;border:1px solid #ccd6dd;border-radius:6px;font-size:16px}
.cx-structure .arch-express{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;align-items:start}
.cx-structure .arch-price{font-size:clamp(30px,3vw,42px);font-weight:600;margin:0 0 12px;line-height:1.2!important;color:#172634!important}
.cx-structure .arch-small{font-size:14px;line-height:1.6}
.cx-structure .arch-training .card{background:#fff!important;border:1px solid #ccd6dd!important;border-radius:10px!important;padding:28px!important}
.cx-structure .arch-training .price{font-size:38px}
.cx-structure .arch-simulator .cx-sim-panel{max-width:900px;margin:34px auto 0}
.cx-structure .arch-simulator .cx-time-calculator{border-radius:10px;border-color:#ccd6dd;padding:32px;background:#fff}
.cx-structure .arch-simulator .cx-time-calculator h3{font-size:26px;margin:0 0 16px}
.cx-structure .arch-simulator .cx-time-results>div{border-radius:7px;background:#f0f3f4}
.cx-structure .arch-simulator .cx-time-results output{color:#172634}
.cx-structure .arch-simulator .cx-time-note{font-size:15px}
.cx-structure .arch-inline-links{display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:28px}
.cx-structure .arch-resource-list{list-style:none;padding:0;margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:0 42px}
.cx-structure .arch-resource-list li{padding:18px 0;border-top:1px solid #ccd6dd;scroll-margin-top:140px}
.cx-structure .arch-resource-list a{min-height:28px;display:inline-flex;align-items:center}
.cx-structure details{margin:20px 0}
.cx-structure summary{cursor:pointer;min-height:44px;padding:15px 0;font-weight:600}
.cx-structure a:focus-visible,.cx-structure summary:focus-visible{outline:3px solid #456b84;outline-offset:5px}
.cx-structure .arch-hero a:focus-visible,.cx-structure .arch-dark a:focus-visible{outline-color:#bfd2df}
@media(max-width:1000px){.footer .arch-footer-grid{grid-template-columns:1.3fr 1fr;gap:36px}.cx-structure .arch-values{grid-template-columns:1fr 1fr}.cx-structure .arch-founder{gap:32px}.cx-structure .arch-editorial{grid-template-columns:40px 1fr;gap:12px 20px}.cx-structure .arch-editorial p{grid-column:2}.cx-structure .arch-two,.cx-structure .arch-express{gap:32px}}
@media(max-width:760px){
 .cx-structure .arch-section{padding:44px 0}.cx-structure .arch-hero{padding:34px 0 42px}.cx-structure .arch-hero .arch-lead{font-size:19px}.cx-structure .arch-hero .arch-intro{font-size:17px}
 .cx-structure .arch-doors,.cx-structure .arch-two,.cx-structure .arch-founder,.cx-structure .arch-express,.cx-structure .arch-steps,.cx-structure .arch-resource-list{grid-template-columns:minmax(0,1fr)}
 .cx-structure .arch-door{padding:24px}.cx-structure .arch-door h3{font-size:25px}.cx-structure .arch-proof-grid{grid-template-columns:minmax(0,1fr)}.cx-structure .arch-founder img{max-width:480px}
 .cx-structure .arch-steps{gap:24px}.cx-structure .arch-simulator .cx-time-calculator{padding:22px}.cx-structure .arch-simulator .cx-time-row{gap:14px}.cx-structure .arch-training .grid{grid-template-columns:minmax(0,1fr)}
 .cx-structure .arch-hero .eyebrow{font-size:12px!important}.cx-structure .arch-section .arch-small{font-size:14px!important}.cx-structure .actions .btn{max-width:100%;white-space:normal;text-align:center}
}
@media(max-width:480px){.footer .arch-footer-grid{grid-template-columns:minmax(0,1fr)}.footer .footer-links a{min-height:44px}.cx-structure .arch-values{grid-template-columns:minmax(0,1fr);gap:26px}.cx-structure .arch-editorial{grid-template-columns:28px 1fr}.cx-structure .arch-door{padding:22px}.cx-structure .arch-flow{flex-direction:column}}
/* Editorial layouts used by the new shared page templates. */
.cx-structure .arch-overline{display:block;color:#456b84;font-size:13px;letter-spacing:.09em;font-weight:600}
.cx-structure .arch-service-note{font-weight:600;color:#172634!important;font-size:16px!important}
.cx-structure .arch-anchor{display:block;scroll-margin-top:140px}
.cx-structure .arch-president{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:center}
/* Même portrait et même cadrage circulaire que la page À propos. */
.cx-structure .arch-president-picture{position:relative;width:216px;height:216px;max-width:100%;margin:0 auto;overflow:hidden;border-radius:50%;background:#1d1f23;outline:1px solid #d7e0e6}
.cx-structure .arch-president .arch-president-picture img{position:absolute;display:block!important;max-width:none!important;width:900px!important;height:auto!important;left:50%;top:50%;transform:translate(-50%,-50%) translateY(29px);border-radius:0}
.cx-structure .arch-president h3{font-size:26px}
.cx-structure .arch-steps p{font-size:17px}
.cx-structure .arch-editorial-list article{display:grid;grid-template-columns:55px minmax(0,1fr);gap:24px;border-top:1px solid #ccd6dd;padding:28px 0}
.cx-structure .arch-editorial-list article>span{color:#456b84;font-size:14px;padding-top:5px;font-weight:600}
.cx-structure .arch-editorial-list article h3{margin:0 0 12px}
.cx-structure .arch-editorial-list article p{margin:0;max-width:85ch}
.cx-structure .arch-resource-link{margin-top:30px}
@media(max-width:760px){.cx-structure .arch-president{grid-template-columns:minmax(0,1fr);gap:28px}.cx-structure .arch-president img{max-width:480px}.cx-structure .arch-editorial-list article{grid-template-columns:28px minmax(0,1fr);gap:18px}}
body.cx-structure .arch-simulator .cx-time-calculator{background:#fff!important;border:1px solid #ccd6dd!important;box-shadow:none!important;border-radius:10px!important;color:#172634!important}
body.cx-structure .arch-simulator .cx-time-calculator::before{display:none}
body.cx-structure .arch-simulator .cx-time-calculator :is(label,output){color:#172634!important}
body.cx-structure .arch-simulator .cx-time-results span{color:#586873!important;font-size:16px}
body.cx-structure .arch-simulator .cx-time-calculator input[type=number]{background:#fff;color:#172634;border:1px solid #8295a4;border-radius:7px}
@media(max-width:600px){body.cx-structure .arch-simulator .cx-time-results{grid-template-columns:minmax(0,1fr)}}

@media(min-width:761px) and (max-width:1000px){.cx-structure .arch-door{padding:22px}.cx-structure .arch-door h3{font-size:23px}.cx-structure .arch-door>p{font-size:16px}}
