/* Cap Entreprise 360 — hierarchy, audience paths and accessible navigation. */
.cap-refined{--r:18px;--shadow:0 16px 42px rgba(7,23,34,.08)}
.cap-refined .wrap{width:min(1200px,calc(100% - 48px))}
.cap-refined .section{padding:80px 0}
.cap-refined .section h2{font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.035em;line-height:1.12}
.cap-refined h3{letter-spacing:-.025em;line-height:1.25}
.cap-refined .intro{line-height:1.7}
.cap-refined .kicker,.cap-refined .eyebrow{font-size:.875rem;letter-spacing:.08em}
.cap-refined .topline{font-size:.875rem;padding:8px 20px}
.cap-refined .navin{min-height:82px;flex-wrap:nowrap;gap:24px;padding-block:12px}
.cap-refined .navin>.links{width:auto;order:0;flex:0 1 auto;display:flex;position:static;flex-direction:row;flex-wrap:nowrap;padding:0;gap:22px;background:transparent;box-shadow:none}
.cap-refined .links a,.nav-solutions>summary{font-size:.9375rem;white-space:nowrap;font-weight:650;padding:10px 0}
.cap-refined .navin>.btn{display:inline-flex;margin-left:0;font-size:.875rem;padding:12px 18px;white-space:nowrap}
.cap-refined .brand{font-size:1.05rem;letter-spacing:-.035em;white-space:nowrap}
.cap-refined .menu{display:none}
.nav-solutions{position:relative}
.nav-solutions>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;border-radius:6px}
.nav-solutions>summary::-webkit-details-marker{display:none}
.nav-solutions>summary:after{content:'⌄';font-size:1rem;color:#087e69}
.nav-solutions[open]>summary{color:#087e69}
.nav-solutions>summary:focus-visible{outline:3px solid #d67c14;outline-offset:4px}
.nav-dropdown{position:absolute;top:calc(100% + 10px);left:-18px;min-width:260px;display:grid;padding:12px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 20px 40px #07172220}
.cap-refined .nav-dropdown a{display:block;padding:12px 8px;line-height:1.4;border-radius:8px}
.nav-dropdown a:hover{background:#edf7f4}
.home-page .hero{padding:68px 0 72px;background:linear-gradient(110deg,#071722 10%,#0d303b 100%)}
.home-page .hero:after{display:none}
.home-page .hero-grid{grid-template-columns:1.08fr 1fr;gap:62px;align-items:center}
.home-page .hero h1{font-size:clamp(2.65rem,4.65vw,4.5rem);line-height:1.04;letter-spacing:-.05em;margin:20px 0 24px}
.home-page .hero .lead{font-size:1.125rem;max-width:560px;line-height:1.65}
.home-page .hero .btn.ghost{color:#fff;border-color:#82999d}
.home-page .hero-note{font-size:.875rem;line-height:1.6;color:#c2d6d9;max-width:500px}
.home-page .hero-visual{padding-bottom:34px;max-width:none}
.home-page .hero-visual>img{aspect-ratio:5/4;object-position:56% center;border-radius:20px;box-shadow:none}
.home-page .national-badge{position:absolute;bottom:0;left:22px;right:22px;width:auto;padding:20px 22px;margin:0;border-radius:14px;box-shadow:0 12px 32px #0002}
.home-page .national-badge span{font-size:.875rem;letter-spacing:.04em;text-transform:none}
.home-page .national-badge strong{font-size:1rem;line-height:1.5}
.home-page .visual-pill{top:18px;right:18px;left:auto;font-size:.875rem;max-width:calc(100% - 36px)}
.home-page .trust{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-page .trust div{padding:24px 22px;border-bottom:0;grid-column:auto}
.home-page .trust strong{font-size:1.15rem;color:#0b4f49}
.home-page .trust small{font-size:.875rem;color:#4e656d;line-height:1.5}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:64px;margin-bottom:32px}
.section-heading h2{margin-bottom:0!important}
.section-heading .intro{margin-bottom:0}
.audience-section{background:#fff}
.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.audience-card{display:flex;flex-direction:column;border:1px solid #dbe6e3;border-radius:18px;overflow:hidden;background:#fff;color:var(--ink);text-decoration:none;transition:box-shadow .2s,transform .2s}
.audience-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #07172215}
.audience-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:#123b48}
.audience-image img{display:block;width:100%;height:100%;object-fit:cover}
.audience-label{position:absolute;left:16px;bottom:16px;padding:7px 12px;border-radius:6px;background:#fff;color:#164f47;font-size:.875rem;font-weight:800}
.audience-copy{padding:24px;display:flex;flex:1;flex-direction:column}
.audience-copy h3{font-size:1.5rem}
.audience-copy p{font-size:1rem;line-height:1.6;color:var(--muted);margin:12px 0 24px}
.card-link{font-weight:750;font-size:.9375rem;line-height:1.45;margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#0b6558}
.card-link b{font-size:1.4rem;font-weight:500}
.audience-hotel{border-color:#75a69c}
.home-page .universe-gallery{background:#f0f5f4}
.home-page .universe-heading{grid-template-columns:1fr auto;gap:32px;margin-bottom:32px}
.home-page .universe-heading h2{max-width:720px}
.home-page .universe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.home-page .universe-card{grid-column:auto;min-height:0;display:flex;flex-direction:column;border-radius:16px;background:white;color:var(--ink);box-shadow:none;border:1px solid #d8e3df;text-decoration:none}
.home-page .universe-card:after{display:none}
.home-page .universe-card img{position:static;display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transform:none}
.home-page .universe-tag{font-size:.875rem;text-transform:none;letter-spacing:0;top:14px;left:14px;border-radius:6px;padding:6px 10px;box-shadow:none}
.home-page .universe-copy{position:static;padding:24px;display:flex;flex:1;flex-direction:column;gap:12px}
.home-page .universe-copy strong{font-size:1.25rem;line-height:1.3}
.home-page .universe-copy span{font-size:.9375rem;color:#0b6558;font-weight:650;line-height:1.5;margin-top:auto}
.home-page .universe-card:hover{border-color:#327f70;box-shadow:0 10px 30px #0717220c}
.home-page .positioning-section{padding:72px 0;background:#fff}
.home-page .positioning-head{display:block}
.home-page .positioning-head .intro{max-width:850px}
.home-page .comparison-panel{margin-top:28px;background:#0d303b;gap:40px;padding:32px;border-radius:18px}
.home-page .comparison-panel .kicker{color:#a8ded2}
.home-page .comparison-header{font-size:.875rem;text-transform:none;letter-spacing:0}
.home-page .comparison-row{font-size:1rem;padding:16px 18px}
.home-page .comparison-row span{color:#d8e5e7}
.home-page .positioning-cta{background:#eff8f4;border-color:#cadfd6}
.home-page .positioning-cta strong{color:#174f47}
.home-page .positioning-cta span{color:#466a64}
.method-section{background:#f0f5f4}
.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.method-grid article{border-top:1px solid #a8c4bc;padding:26px 0 0;display:flex;flex-direction:column}
.method-number{font-size:2.7rem;font-weight:800;color:#146353;letter-spacing:-.05em;line-height:1;margin-bottom:24px}
.method-grid h3{font-size:1.35rem}
.method-grid p{font-size:1rem;color:var(--muted);line-height:1.7;margin:12px 0 22px}
.method-grid strong{font-size:.9375rem;color:#164f47;margin-top:auto}
.partner-inline{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid #c7d9d3;margin-top:44px;padding-top:28px}
.partner-inline p{margin:0;color:var(--muted);font-size:1rem;line-height:1.7}
.partner-inline strong{color:var(--ink)}
.partner-inline a{font-weight:750;color:#0b6558;text-underline-offset:5px;flex-shrink:0}
.home-page .complementary-services{background:#fff}
.home-page .complementary-services .card{box-shadow:none;border-radius:16px}
.home-page .commercial-body h3{font-size:1.25rem}
.faq-section{background:#f0f5f4}
.faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.faq-list details{border-bottom:1px solid #bed1ca;padding:0 0 4px;margin:0;background:transparent}
.faq-list summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:22px 0;font-size:1.0625rem;line-height:1.5;font-weight:750}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';font-size:1.4rem;font-weight:400;color:#146353}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{margin:0 24px 22px 0;font-size:1rem;line-height:1.75;color:#455f67}
.home-page #diagnostic{background:#fff}
.home-page #diagnostic>.wrap{max-width:960px}
.cap-refined .diagnostic{box-shadow:0 12px 40px #07172207;border-radius:18px}
.cap-refined .topics{grid-template-columns:repeat(2,minmax(0,1fr))}
.cap-refined .topic{font-size:.875rem;font-weight:600;line-height:1.4;min-width:0}
.cap-refined input,.cap-refined select,.cap-refined textarea{min-width:0;max-width:100%;font-size:1rem}
.cap-refined .form-help{font-size:.9375rem;padding-bottom:20px;border-bottom:1px solid var(--line)}
.cap-refined .finish-footer{grid-template-columns:1.5fr 1fr 1fr;gap:64px}
.cap-refined footer .brand{color:#fff}
.cap-refined footer a{overflow-wrap:anywhere}
.cap-refined .finish-footer p{max-width:380px;color:#b8cbd0;line-height:1.7}
.cap-refined .finish-footer h3{font-size:1rem;color:#fff;margin-bottom:20px}
.cap-refined .finish-footer>div>a:not(.brand){font-size:.9375rem;display:block;padding:5px 0}
.cap-refined .module-hero h1{font-size:clamp(2rem,3.3vw,3.4rem)}
.cap-refined .page-hero p{font-size:1.125rem;line-height:1.7}
.cap-refined .section .wrap>*{min-width:0}
.cap-refined .reveal-init{opacity:1;transform:none}
@media(max-width:1120px){
 .cap-refined .navin{flex-wrap:wrap;gap:12px;min-height:76px}
 .cap-refined .menu{display:block;margin-left:auto}
 .cap-refined .navin>.btn{display:none}
 .cap-refined .navin>.links{display:none;order:4;width:100%;flex:0 0 100%;flex-direction:column;align-items:stretch;gap:0;padding:10px 0;max-height:calc(100dvh - 100px);overflow:auto}
 .cap-refined .navin>.links.open{display:flex}
 .cap-refined .links a,.nav-solutions>summary{padding:13px 10px;font-size:1rem;white-space:normal}
 .nav-dropdown{position:static;min-width:0;box-shadow:none;background:#eaf4f0;margin:2px 0 8px}
 .home-page .hero-grid{gap:36px}
 .home-page .hero h1{font-size:clamp(2.6rem,4.8vw,3.75rem)}
}
@media(max-width:850px){
 .cap-refined .section{padding:60px 0}
 .home-page .hero{padding:46px 0 52px}
 .home-page .hero-grid{grid-template-columns:1fr;gap:36px}
 .home-page .hero h1{font-size:clamp(2.6rem,7vw,4.25rem)}
 .home-page .hero .lead{max-width:680px}
 .home-page .hero-visual{max-width:640px;width:100%;justify-self:center}
 .home-page .hero-visual>img{aspect-ratio:16/9}
 .section-heading,.faq-layout{grid-template-columns:1fr;gap:18px}
 .audience-grid{gap:14px}.audience-copy{padding:20px}.audience-copy h3{font-size:1.25rem}
 .home-page .universe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .universe-heading{grid-template-columns:1fr;gap:18px}
 .home-page .universe-heading>.btn{justify-self:start}
 .method-grid{gap:24px}.method-grid h3{font-size:1.2rem}
 .partner-inline{align-items:flex-start;flex-direction:column;gap:16px}
 .cap-refined .finish-footer{gap:32px;grid-template-columns:1.4fr 1fr 1fr}
 .cap-refined #diagnostic>.split{grid-template-columns:1fr;gap:28px}
}
@media(max-width:620px){
 .cap-refined .wrap{width:calc(100% - 32px)}
 .cap-refined .topline{font-size:.8125rem;line-height:1.5;padding:7px 16px}
 .cap-refined .brand{font-size:1rem}
 .home-page .hero h1{font-size:clamp(2.4rem,9vw,3.4rem)}
 .home-page .hero .lead{font-size:1.0625rem}
 .home-page .hero .actions{display:grid;grid-template-columns:1fr;width:100%}
 .home-page .hero-visual{padding-bottom:0}
 .home-page .national-badge{position:relative;left:0;right:auto;bottom:auto;margin:-22px 12px 0;padding:16px 18px;width:calc(100% - 24px)}
 .home-page .visual-pill{font-size:.8125rem;top:12px;right:12px}
 .home-page .trust{grid-template-columns:1fr}
 .home-page .trust div{border-right:0;border-bottom:1px solid var(--line);padding:18px 8px;text-align:left;align-items:flex-start}
 .home-page .trust div:last-child{border-bottom:0}
 .audience-grid,.method-grid,.home-page .universe-grid{grid-template-columns:1fr}
 .audience-image{aspect-ratio:16/9}
 .audience-copy h3{font-size:1.5rem}
 .audience-copy p{margin-bottom:20px}
 .home-page .universe-card{display:grid;grid-template-columns:1fr}
 .home-page .universe-card img{aspect-ratio:16/9}
 .home-page .comparison-panel{padding:24px 18px;gap:24px}
 .home-page .comparison-row{padding:16px;grid-template-columns:1fr;gap:8px}
 .home-page .comparison-row span{font-size:.875rem}
 .home-page .comparison-header{display:none}
 .home-page .positioning-cta{padding:20px;align-items:stretch}
 .method-grid{gap:28px}
 .method-number{margin-bottom:18px}
 .faq-list summary{font-size:1rem}
 .cap-refined .finish-footer{grid-template-columns:1fr 1fr;gap:28px}
 .cap-refined .finish-footer>div:first-child{grid-column:1/-1}
 .cap-refined .diagnostic{padding:22px 18px}
 .cap-refined .form-grid{grid-template-columns:minmax(0,1fr)}
 .cap-refined .topics{grid-template-columns:1fr}
 .cap-refined .mobile-cta{font-size:.9375rem}
}
@media(prefers-reduced-motion:reduce){.audience-card{transition:none}.audience-card:hover{transform:none}.cap-refined .reveal-init{opacity:1;transform:none}}

.home-page .complementary-services .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .universe-heading{grid-template-columns:1fr}.home-page .complementary-services{padding-top:56px;border-top:1px solid var(--line)}@media(max-width:700px){.home-page .complementary-services .grid2{grid-template-columns:1fr}}

/* Clear contact review, touch controls and optional field information. */
.contact-review[hidden]{display:none}.contact-review{margin-top:28px;padding:26px;border:1px solid #a9ccc0;border-radius:16px;background:#f0f8f4}.contact-review h3{font-size:1.4rem}.contact-review>p{line-height:1.65}.contact-review-text{margin:10px 0 18px;min-height:240px;background:white!important;font-size:1rem;line-height:1.6;white-space:pre-wrap}.contact-review-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.contact-edit{background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:#164f47;font:inherit;cursor:pointer;padding:12px}.contact-fallback,.contact-privacy,.source-date,.commercial-note{font-size:.9375rem;line-height:1.65;color:#46616a}.contact-privacy{grid-column:1/-1;margin:0}.contact-privacy a{text-underline-offset:4px}.contact-copy-status{font-weight:650;color:#164f47}.cap-refined .topic{min-height:44px}.cap-refined .faq-list summary{min-height:48px}.cap-refined .scroll-top{bottom:90px}.contact-review strong{overflow-wrap:anywhere}@media(max-width:620px){.contact-review{padding:20px 16px}.contact-review-actions{align-items:stretch;flex-direction:column}.contact-review-actions .btn{width:100%}.cap-refined .mobile-cta{bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100% - 32px)}.cap-refined footer{padding-bottom:110px}}

/* Keep the chat launcher clear of navigation controls. */
.chat-enabled .cap-refined .scroll-top{right:auto;left:20px;bottom:90px}
@media(max-width:1100px){.chat-enabled .mobile-cta{display:none}}

.contact-review button:disabled{opacity:.65;cursor:default}.contact-review [hidden]{display:none!important}.diagnostic[aria-busy="true"] .form-status{font-weight:650}

.audience-questions{padding:22px;border:1px solid #cddbd8;border-radius:16px;background:#f7faf9}.audience-questions h3{margin:0 0 8px;font-size:1.2rem}.audience-questions>p{margin:0;color:#46616a}.audience-questions .form-grid{margin-top:16px}.audience-questions[hidden]{display:none!important}

/* Présentation des trois partenaires télécoms */
.operator-partners{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-proof .proof-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.operator-partners,.partner-proof .proof-grid{grid-template-columns:1fr}}

/* Visitor priorities and clear next step. */
.home-page .hero h1{font-size:clamp(2.4rem,4.1vw,4rem)}
.priority-section{background:#f2f6fa;border-bottom:1px solid #dce5ed}
.priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.priority-card{display:flex;flex-direction:column;background:white;border:1px solid #d6e1e9;border-radius:18px;padding:28px;color:#122b3d;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.priority-card:hover{transform:translateY(-4px);border-color:#356ba1;box-shadow:0 14px 32px #15375712}
.priority-card:focus-visible{outline:3px solid #0065ad;outline-offset:4px}
.priority-number{font-size:.8rem;font-weight:750;color:#235c8e;letter-spacing:.04em;margin-bottom:20px}
.priority-card h3{font-size:1.45rem;margin:0 0 16px}
.priority-card p{color:#4b616f;line-height:1.7;margin:0 0 24px}
.priority-link{margin-top:auto;color:#004b86;font-weight:750;line-height:1.5}
.priority-note{margin:24px 0 0;color:#4b616f;line-height:1.7}.priority-note a,.direct-contact a{color:#004b86;text-decoration:underline;text-underline-offset:4px}
.diagnostic-invite{display:flex;gap:28px;align-items:center;justify-content:space-between;padding:30px;margin-top:36px;border-radius:18px;background:#edf4fa;border:1px solid #d6e1e9}.diagnostic-invite h3{font-size:1.5rem;margin:0 0 12px}.diagnostic-invite p{margin:0;max-width:640px;line-height:1.7;color:#4b616f}.diagnostic-invite .btn{flex-shrink:0}.direct-contact{line-height:1.7;margin:20px 0}
@media(max-width:900px){.priority-grid{grid-template-columns:1fr}.priority-card{padding:24px}.diagnostic-invite{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.home-page .hero h1{font-size:clamp(2.1rem,8.5vw,3.2rem)}.diagnostic-invite{padding:22px}.diagnostic-invite .btn{width:100%;white-space:normal;text-align:center}}@media(prefers-reduced-motion:reduce){.priority-card{transition:none}.priority-card:hover{transform:none}}

.savings-explanation{padding:22px 24px;margin:24px 0 0;border-left:4px solid #235c8e;background:#fff;border-radius:0 12px 12px 0;color:#405969;line-height:1.75}.home-page .trust strong{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.3}

.view-counter{width:min(1200px,calc(100% - 48px));margin:22px auto 0;display:flex;gap:12px 24px;flex-wrap:wrap;align-items:baseline;font-size:.85rem;color:inherit;opacity:.85}.view-counter[hidden]{display:none}.view-counter details{max-width:640px}.view-counter summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.view-counter p{line-height:1.65;margin:10px 0 0}
