/* Shared type, interaction and navigation rules. Loaded after page-specific layouts. */
:root{--muted:#536775;--line:#d7e3eb}body{font-size:16px}a,button{-webkit-tap-highlight-color:transparent}button,.button{font-size:15px;min-height:44px}.button{padding:13px 19px;line-height:1.4;gap:18px}.button.outline{border-color:#9db9cb}.text-link{font-size:15px;line-height:1.4;min-height:44px;align-items:center}.eyebrow{font-size:11px;letter-spacing:1.2px;line-height:1.6}.intro{font-size:17px;line-height:1.65}.mail-note,.field-hint,.field-help,.detail-note,.client-help{font-size:14px;line-height:1.6;color:var(--muted)}.skip-link{position:fixed;left:20px;top:-100px;background:white;color:var(--deep);padding:14px;z-index:100;border:2px solid var(--blue)}.skip-link:focus{top:12px}header .brand{flex-shrink:0}header nav{gap:22px}header nav a{font-size:15px;min-height:44px;display:inline-flex;align-items:center}header .button{font-size:14px}.mobile-toggle{display:none}.pro-home .hero-panel h1{font-size:46px;line-height:1.09}.pro-home .hero-panel .intro{font-size:17px;line-height:1.6}.pro-home .hero{min-height:575px}.pro-home .hero-panel{padding-bottom:24px}.pro-home .hero-note{margin-top:22px}.pro-home .hero-panel>.text-link{font-size:15px}.pro-home .section-title>p{font-size:16px;max-width:460px;line-height:1.6}.pro-home .section-title{align-items:center}.pro-home .filters{gap:8px;flex-wrap:wrap}.pro-home .filters button{font-size:14px;min-height:44px;padding:10px 14px}.pro-home .result{font-size:14px;margin:18px 0}.pro-home .card-visual{height:200px;min-height:200px}.pro-home .card-visual .photo-hardware{object-fit:cover;object-position:50% 45%;filter:none}.pro-home .card-visual .photo-managed{object-position:50% 40%}.pro-home .card-visual:has(.photo-power){background:#075a9f}.pro-home .card-visual .photo-power{filter:saturate(.8)}.pro-home .card-body{padding:24px;display:flex;flex-direction:column}.pro-home .card-body h3{font-size:23px;line-height:1.15;min-height:0}.pro-home .card-body>p{font-size:16px;line-height:1.6;min-height:0;margin:14px 0 18px}.pro-home .card-body .tags{margin-top:auto;margin-bottom:20px}.tags span{font-size:12px;line-height:1.3;padding:6px 9px;letter-spacing:0}.card-bottom{gap:12px;flex-wrap:wrap}.card-bottom a{display:inline-flex;gap:7px;align-items:center;min-height:44px;font-size:16px}.card-bottom .add{width:auto;height:auto;min-height:44px;border-radius:4px;padding:9px 11px;font-size:14px;line-height:1.25;white-space:nowrap}.card-bottom .add.selected{background:var(--pale);color:var(--deep);border-color:var(--blue)}.pro-home .audience-routes .button{font-size:15px;margin-top:auto}.pro-home .audience-routes article>p:not(.eyebrow){margin-bottom:20px}.pro-home .audience-routes article>.text-link{font-size:14px}.pro-home .support-points .pillar-icon{display:inline-flex;color:var(--deep);background:var(--pale);padding:11px;border-radius:8px;width:50px;height:50px;align-items:center;justify-content:center}.pro-home .support-points h3{margin-top:16px}.pro-home .local-copy .eyebrow{font-size:11px}.pro-home .local-offices span{font-size:11px;letter-spacing:.5px}.pro-home .local-offices .route-link{font-size:15px}.pro-home .contact>div>p:not(.eyebrow){font-size:16px;line-height:1.65}.pro-home .contact .contact-details>span{font-size:11px}.pro-home .contact .contact-details .small{font-size:14px}.pro-home .brands{padding-top:30px;padding-bottom:35px}.pro-home .brands>.brand-logos{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:28px 40px;margin:25px auto;max-width:1200px}.brand-logos>span{display:flex;align-items:center;justify-content:center;width:110px;height:55px;padding:5px}.brand-logos img{width:100%;max-width:110px;max-height:38px;object-fit:contain}.brand-logos .brand-hp{width:55px}.brand-logos .brand-hp img{width:38px;height:38px}.brand-logos .brand-microsoft{width:135px}.brand-logos .brand-microsoft img{max-width:135px}.pro-home .brands>p:last-child{font-size:12px;line-height:1.5;max-width:1000px;margin:auto}.pro-home footer{font-size:14px;gap:20px}.pro-home footer button{font-size:14px}.service-content p,.service-content li{font-size:17px}.service-content .eyebrow{font-size:11px}.service-content .intro{font-size:18px}.service-content nav[aria-label="Fil d’Ariane"]{font-size:14px}.service-image{border-radius:6px}.service-content .service-note{font-size:15px}.service-related{font-size:16px}.hardware-lead{font-size:20px!important;max-width:700px;color:var(--muted)}.hardware-page .hardware-image{height:320px;object-fit:cover;object-position:center;margin:28px 0 40px}.hardware-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.hardware-pillars article{border-top:1px solid var(--line);padding-top:24px}.hardware-pillars .pillar-icon{display:inline-flex;color:var(--blue);margin-bottom:10px}.hardware-pillars h2{font-size:23px;margin:14px 0}.hardware-pillars p{font-size:16px;line-height:1.65}.hardware-actions{display:flex;flex-wrap:wrap;gap:14px;margin:35px 0 20px}.hardware-note{font-size:14px!important;color:var(--muted)}.hardware-related{border-top:1px solid var(--line);margin:25px 0;padding-top:22px}.hardware-related a{text-decoration:underline}.send-status pre{font:15px/1.6 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--pale);padding:20px;max-height:400px;overflow:auto}.send-status .button{margin:15px 0}dialog{max-width:calc(100vw - 30px)}dialog .dialog-lead,dialog .detail-list{font-size:16px}dialog .gallery-product img{max-height:320px}.project-example p{font-size:18px}.project-example small{font-size:15px}.detail-gallery figcaption strong{font-size:17px}.detail-gallery figcaption span{font-size:14px}.clients-main .need-card,.client-main input,.client-main select{font-size:16px}body .clients-main [hidden],body .client-main [hidden]{display:none!important}
@media(max-width:1200px){header nav{gap:14px}header nav a{font-size:14px}header .brand{width:175px}header .button{font-size:13px;gap:8px}.pro-home .card-body{padding:20px}}
@media(max-width:1200px){body header{height:84px;min-height:84px;position:sticky;top:0;flex-wrap:nowrap;padding:12px 5%;gap:12px;z-index:30}body header .brand{width:175px;max-width:55%;margin-right:auto}body header .brand span{font-size:8px;letter-spacing:1.1px}body header>[data-project]{display:none}body header nav{display:none!important;position:absolute;top:100%;left:0;right:0;width:100%;height:auto;max-height:calc(100dvh - 90px);overflow:auto;background:white;border-bottom:1px solid var(--line);box-shadow:0 10px 15px #153d5210;padding:12px 5% 20px;gap:0;flex-direction:column;align-items:stretch}body header nav.is-open{display:flex!important}body header nav>a{font-size:17px;min-height:48px;padding:12px 0;border-bottom:1px solid var(--line)}body .mobile-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;min-width:90px;background:var(--pale);border:1px solid var(--line);border-radius:4px;padding:10px 12px;font-size:15px;color:var(--deep);flex-shrink:0}}
@media(max-width:700px){.pro-home .hero-panel h1{font-size:39px}.pro-home .hero-panel .intro{font-size:16px}.pro-home .hero-panel{margin-left:0}.pro-home .section-title>p{margin-top:18px}.pro-home .section-title>.text-link{font-size:15px;margin-top:18px}.pro-home .filters{display:flex;overflow:visible;white-space:normal;gap:6px}.pro-home .filters button{font-size:14px;padding:10px 12px}.pro-home .solutions-grid{grid-template-columns:1fr}.pro-home .card-body{padding:22px}.pro-home .card-body>p{font-size:16px}.pro-home .contact .contact-details>a{font-size:23px}.pro-home .local-offices{grid-template-columns:1fr 1fr}.pro-home .brands>.brand-logos{gap:20px 26px}.hardware-page .hardware-image{height:230px}.hardware-actions .button{width:100%}.service-content{padding:32px 5%}.service-content h1{font-size:36px}.service-content p,.service-content li{font-size:16px}.service-image{max-height:300px}footer{font-size:14px}dialog{padding:32px 20px}.client-main header nav{display:none}.need-grid .need-card{min-height:185px}}
@media(max-width:380px){.pro-home .hero-panel h1{font-size:34px}.pro-home .local-offices{grid-template-columns:1fr}.card-bottom .add{font-size:13px;padding:9px}.pro-home .card-body{padding:18px}.brand-logos>span{width:92px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}
.pro-home .card-visual .photo-hardware{object-position:left center}.hardware-page .hardware-image{object-position:left center}

.mobile-filter{display:none}@media(max-width:700px){.pro-home .filters{display:none}.pro-home .mobile-filter{display:flex;flex-direction:column;gap:8px;font-size:15px;margin:25px 0 15px}.mobile-filter select{background:white;color:var(--ink);border:1px solid #9db9cb;border-radius:4px;min-height:48px;padding:10px;font-size:16px;width:100%}}

body header{background:#fff}

#projectChoices .choice-row>button:first-child{font-size:15px;line-height:1.4;padding:12px 14px;text-align:left;min-height:48px}#projectChoices .choice-discover{font-size:13px;padding:10px;min-width:80px;min-height:48px}.brief-stage label,.qualified-needs label{font-size:16px;line-height:1.5}.brief-stage legend{font-size:20px}.brief-stage legend>span{font-size:12px}.close{width:44px;height:44px;min-height:44px;display:grid;place-items:center;top:10px;right:10px}.client-main .close{width:44px}
.brand-logos .brand-synology{overflow:hidden}.brand-logos .brand-synology img{width:160px;max-width:none;height:160px;max-height:none;object-fit:contain;flex-shrink:0;transform:translateY(3px)}

/* Contemporary pair, aligned to the main office visual. */
.pro-home .card-visual .photo-hardware{object-position:50% 52%}.pro-home .card-visual .photo-managed{object-position:50% 48%}.hardware-page .hardware-image{object-position:50% 50%;height:auto;max-height:400px;object-fit:cover}.service-image[src*="infogerance-supervision-v3"]{object-fit:cover;object-position:50% 48%}

/* Cohesive photographic scenes, without inset product cutouts. */
.pro-home .card-visual:has(.photo-power){background:#eef3f6}
.pro-home .card-visual :is(.photo-ia,.photo-backup,.photo-print,.photo-power){object-fit:cover;padding:0;transform:none;filter:none;background:transparent;object-position:50% 50%}
.pro-home .card-visual .photo-ia{object-position:50% 53%}
.pro-home .card-visual .photo-print{object-position:50% 47%}
.service-image:is([src*="serveur-ia-atelier-v2"],[src*="sauvegarde-restauration-v2"],[src*="onduleur-rack-v2"],[src*="copieur-bureau-v2"]){object-fit:cover;object-position:center}
#detail :is(.gallery-ia,.gallery-backup,.gallery-print,.gallery-power) figure>img{object-fit:cover;mix-blend-mode:normal;padding:0}

/* Shared storage and compact request flow. */
.pro-home .card-visual .photo-nas{object-fit:cover;padding:0;transform:none;filter:none;object-position:58% 50%;background:transparent}
.service-image[src*="nas-bureau-v2"]{object-fit:cover;object-position:58% 50%}
#detail .gallery-nas figure>img{object-fit:cover;mix-blend-mode:normal;padding:0}
.service-request{margin:22px 0 12px}.service-request+.service-image{margin-top:18px}
.request-scope{margin-top:22px}.request-scope label{min-width:0}
@media(max-width:700px){.pro-home .card-visual{height:auto;min-height:0;aspect-ratio:16/9}.pro-home .card-visual :is(.photo-hardware,.photo-ia,.photo-nas,.photo-backup,.photo-power,.photo-managed,.photo-print,.photo-furniture){height:100%;width:100%;object-fit:cover}.service-request .button{width:100%;justify-content:center}#projectDialog .brief-stage{margin-top:22px}#projectDialog select,#projectDialog input,#projectDialog textarea{font-size:16px;min-width:0}#projectDialog .form-grid{grid-template-columns:1fr}.choice-row>button{min-height:44px}#projectDialog .choice-row{min-width:0}#projectDialog .choice-row>button:first-child{overflow-wrap:anywhere}.pro-home .card-visual .photo-managed{object-position:50% 48%}.pro-home .card-visual .photo-print{object-position:50% 47%}}

/* Contextual links and visible keyboard focus. */
.service-request{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}.service-request>.text-link{font-size:15px;text-decoration:underline;text-underline-offset:4px;padding:12px 0}
.service-related{display:flex;flex-wrap:wrap;gap:12px 24px}.service-related h2{flex-basis:100%;font-size:21px;margin-bottom:4px}.service-related>a{color:var(--deep);text-decoration:underline;text-underline-offset:4px;padding:8px 0}
.request-context{background:var(--pale);border-left:3px solid var(--blue);padding:14px 16px;line-height:1.6;font-size:16px;margin-bottom:24px}.request-context[hidden]{display:none}.request-switch{margin-top:24px;text-decoration:underline;text-underline-offset:4px}
summary:focus-visible{outline:3px solid #1175b8;outline-offset:4px}
@media(max-width:700px){.service-request{align-items:stretch;flex-direction:column;gap:6px}.service-request>.text-link{align-self:flex-start}#administrationDialog .form-grid{grid-template-columns:1fr}#administrationDialog :is(input,select,textarea){font-size:16px}#administrationDialog{overflow-wrap:anywhere}#administrationDialog .brief-stage{min-width:0}}

dialog>.eyebrow{padding-right:28px}


/* Account opening is a permanent entry point on every page. */
header nav{white-space:nowrap}header nav .nav-account{padding:10px 14px;border:1px solid #9db9cb;border-radius:4px;background:var(--pale);font-weight:700;color:var(--deep)}header nav .nav-account:hover{background:#e3eef5;border-color:var(--blue)}header nav .nav-account[aria-current="page"]{border-color:var(--blue)}.pro-home header>[data-project]{white-space:nowrap}
.clients-main .client-onboarding{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0;padding:20px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:4px;background:var(--pale)}.clients-main .client-onboarding strong{display:block;font-size:17px;line-height:1.4}.clients-main .client-onboarding p{font-size:15px;line-height:1.5;color:var(--muted);margin:6px 0 0}.clients-main .client-onboarding>.button{flex-shrink:0;white-space:nowrap}.account-main .account-existing-route{margin-top:8px}.account-main .account-existing-route .account-link{padding-top:4px;padding-bottom:4px}
header nav .nav-account:focus-visible,.hero-account-link:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:1200px){body header nav>.nav-account{padding:12px 14px;margin:8px 0;border:1px solid #9db9cb}}
@media(max-width:900px){.hardware-pillars{grid-template-columns:1fr;gap:24px}.hardware-page .hardware-image{height:280px}}
@media(max-width:700px){.clients-main .client-onboarding{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.clients-main .client-onboarding>.button{justify-content:center;white-space:normal}}
header nav .nav-buy{font-weight:700;color:var(--blue);padding:10px 0;border-bottom:2px solid var(--blue)}header nav .nav-buy:focus-visible{outline:3px solid var(--blue);outline-offset:3px}header nav .nav-account{font-weight:400}header nav{gap:18px}

/* Navigation et parcours harmonisés, octobre 2026. */
.site-footer{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;padding:36px max(24px,calc((100% - 1180px)/2));border-top:1px solid #d4e2ed;background:#fff;color:#425b70}
.site-footer .footer-brand{flex:0 0 165px}.site-footer .footer-brand img{display:block;width:165px;height:auto}.site-footer>p{flex:1 1 260px;font-size:13px;line-height:1.6;margin:0}.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:14px 22px;flex:1 1 100%;font-size:13px}.site-footer .footer-links a{white-space:normal}.site-footer>#about{font-size:13px}
.card-request{font-weight:600;color:#0072bb}.card-bottom{flex-wrap:wrap;gap:12px}.client-secondary{padding:22px;background:#eff6fa;border:1px solid #d4e2ed;border-radius:5px;margin:24px 0}.client-secondary a{display:inline-block;margin:8px 24px 0 0}.urgent{margin:24px 0;padding:20px;border-left:3px solid #0072bb;background:#eff6fa}.project-review{margin-top:20px}.project-review pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f7fa;padding:20px;font-family:inherit;font-size:14px;line-height:1.7}.project-review>.text-link{margin:16px 0}.project-dialog [hidden],#administrationDialog [hidden]{display:none!important}.project-dialog .request-steps,#administrationDialog .request-steps{display:flex;gap:18px;list-style:none;padding:14px 0;font-size:13px}.request-steps [aria-current=step]{font-weight:700;color:#0072bb}.project-dialog .wizard-actions,#administrationDialog .wizard-actions{display:flex;gap:12px;margin-top:18px}.review-edit-actions{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0}.project-calendar-title{font-size:17px;margin-top:22px}
@media(max-width:700px){.site-footer{padding:28px 20px;gap:20px}.site-footer .footer-links{gap:14px 20px}.project-dialog .request-steps,#administrationDialog .request-steps{gap:12px;font-size:11px}.client-secondary{padding:18px}.urgent{padding:16px}}
