/* Adaptation des composants aux écrans et aux interactions tactiles. */
html{scroll-padding-top:105px}
img{max-width:100%}
.hero-grid>*,.section-heading>*,.vision-grid>*,.about-grid>*,.faq-grid>*,.contact-top>*,.contact-offices>*,.office-maps>*,.history-outlook>*{min-width:0}
.btn{min-height:46px;white-space:normal;text-align:center}
.theme-toggle,.menu-toggle,.back-top{min-width:44px;min-height:44px}
.text-link,.hero-link,.product-summary>a,.solution-card>a,.map-directions,.contact-newsletter,.newsletter-later{min-height:44px}
.text-link{line-height:1.6}
.contact-online a,.footer-bottom a{overflow-wrap:anywhere}
.newsletter-dialog{margin:auto;max-height:calc(100dvh - 32px);overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:24px}
.newsletter-close{position:sticky;float:right;top:0;z-index:2;width:40px;height:40px;margin:-15px -13px 0 12px;background:var(--surface)}
.newsletter-dialog h2{clear:none}
#newsletter-form input:not([type="checkbox"]){font-size:16px;min-height:46px}
#newsletter-form .consent{font-size:12px;padding:5px 0;line-height:1.6}
.consent input{width:20px;height:20px;margin-top:1px}
.newsletter-optional{border-block:1px solid var(--line);margin:0 0 20px;padding:0}
.newsletter-optional summary{padding:14px 0;cursor:pointer;font-size:12px;line-height:1.6;color:var(--primary)}
.newsletter-optional summary>span{font-size:10px;color:var(--muted)}
.newsletter-optional[open] summary{margin-bottom:8px}
.newsletter-optional>label{display:block;font-size:11px;font-weight:600;margin-bottom:17px}
.newsletter-optional>label>span{font-weight:400;color:var(--muted)}
.newsletter-delivery,.newsletter-privacy,#newsletter-status{overflow-wrap:anywhere}

@media(min-width:801px) and (max-width:1100px){
  .container{width:calc(100% - 56px)}
  .navbar nav{gap:17px}
  .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr);gap:22px;min-height:580px}
  .hero h1{font-size:clamp(38px,4.6vw,49px)}
  .hero-copy{padding:48px 0}
  .hero-copy>p{font-size:14px;max-width:430px}
  .hero .buttons{flex-wrap:wrap;gap:15px 22px}
  .hero-proof{flex-wrap:wrap;gap:9px 15px;font-size:10px}
  .ecosystem{transform:none;height:380px;width:100%;max-width:390px;justify-self:end}
  .orbit-one{width:150px;height:150px}.orbit-two{width:270px;height:270px}.orbit-three{width:350px;height:350px}
  .orbit-line{width:270px}.core{width:130px;height:130px;border-radius:28px}.core-logo{width:75px;height:75px}
  .satellite{min-width:155px;padding:10px;gap:7px}.satellite strong{font-size:11px}.satellite small{font-size:7px}.sat-icon{width:25px;height:25px;font-size:18px}
  .sat-one{top:30px;left:0}.sat-two{top:100px;right:-6px}.sat-three{bottom:100px;left:-4px}.sat-four{bottom:30px;right:0}
  .section-heading{gap:35px}.section-heading>p{max-width:310px;font-size:14px}
  .solution-card{padding:25px}.summary-label{font-size:8px}.product-summary>p{font-size:13px}.product-summary>a{font-size:12px}
  .vision-grid,.about-grid{gap:38px}.about-art{min-height:420px;padding:28px}.about-art>div{font-size:31px}
  .mobile-services{gap:18px}.mobile-services article{padding:23px}.mobile-services h3{font-size:21px}
}

@media(max-width:800px){
  html{scroll-padding-top:90px}
  .container{width:calc(100% - 40px)}
  .section{padding-top:64px;padding-bottom:64px}
  .about,.history{padding-top:0}
  .nav-inner{height:72px}
  .navbar nav{top:72px;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;gap:8px;padding:18px 20px 24px}
  .navbar nav>a:not(.btn){display:flex;align-items:center;width:100%;min-height:46px;font-size:15px}
  .navbar nav .nav-cta{margin-top:9px;font-size:13px}
  .navbar nav .theme-toggle{margin-top:9px}
  .hero-grid{gap:0;min-height:0}
  .hero-copy{padding:48px 0 10px;max-width:620px}
  .hero h1{font-size:clamp(36px,6.5vw,52px);line-height:1.13}
  .hero-copy>p{font-size:15px;line-height:1.8;max-width:560px;margin-top:22px}
  .hero-eyebrow{font-size:9px;line-height:1.7}
  .buttons{margin:25px 0 22px;gap:15px 24px;flex-wrap:wrap}
  .hero .btn,.hero-link{font-size:13px}
  .hero-proof{font-size:11px;gap:9px 18px;flex-wrap:wrap}
  .ecosystem{height:380px;transform:none;width:min(420px,100%);margin:0 auto 12px}
  .hero-bottom{padding:20px 0;gap:15px}
  .hero-bottom>span:first-child{font-size:8px}.hero-bottom>span:nth-child(2){font-size:12px;gap:14px}
  .hero-bottom>a{width:36px;height:36px;flex-shrink:0}
  .section-heading{align-items:flex-start;gap:30px;margin-bottom:30px}
  .section-heading>p,.section-intro{font-size:14px;line-height:1.85}
  .eyebrow{font-size:9px;line-height:1.8;letter-spacing:.12em}
  .audience-tabs button{min-height:52px;font-size:14px;align-items:center}
  .audience-panel p,.check-list{font-size:13px}.check-list{line-height:2.2}
  .product-summary>p,.solution-card p,.capability-grid p,.principles p,.about-copy>p,.faq-list details p,.mobile-services p{font-size:14px;line-height:1.85}
  .solution-card a,.text-link,.product-summary>a{font-size:13px}
  .solution-card .tag,.summary-label{font-size:9px;line-height:1.7}
  .capability-grid h4{font-size:19px}
  .mobile-copy>p{font-size:14px;line-height:1.85}
  .mobile-services{grid-template-columns:1fr;max-width:620px}
  .mobile-services article{padding:26px}.mobile-services ul{font-size:13px}.mobile-services h3{font-size:23px}
  .faq-list summary{font-size:15px;padding:20px 0;min-height:56px}
  .contact-top p{font-size:14px;line-height:1.85}
  .contact-offices{grid-template-columns:1fr 1fr;gap:28px;margin-top:36px;padding-top:28px}
  .contact-offices a{font-size:18px}.contact-offices p{font-size:13px}.contact-offices>div>span{font-size:9px}
  .contact-online{grid-column:1/-1;padding:23px 0 0;border-left:0;border-top:1px solid #ffffff20;display:flex;flex-wrap:wrap;gap:5px 30px}
  .contact-online>span{width:100%;margin-bottom:5px!important}
  .contact-offices .contact-online a,.contact-newsletter{font-size:13px;min-height:44px;margin:0;width:auto;gap:20px;justify-content:flex-start}
  .office-maps{gap:20px}.map-head p{font-size:12px;line-height:1.8}.load-map{min-height:44px;font-size:13px}.map-directions{font-size:12px}
  .history-event p{font-size:13px;line-height:1.85}.history-category{font-size:9px;line-height:1.8}
  .history-outlook .text-link{font-size:13px}
  .newsletter-strip h2{font-size:28px}.newsletter-strip p{font-size:14px;line-height:1.8}
  .footer-top p{font-size:12px}.footer-bottom{font-size:11px;line-height:1.7}.footer-bottom>div{gap:12px 20px;flex-wrap:wrap}.footer-bottom a{min-height:40px;display:inline-flex;align-items:center}.template-credit{font-size:10px}
}

@media(max-width:560px){
  .container{width:calc(100% - 36px)}
  .section{padding:52px 0}.about,.history{padding-top:0}
  h2{font-size:clamp(29px,8.4vw,36px);line-height:1.18}
  .hero-copy{padding-top:34px}
  .hero h1{font-size:clamp(34px,9vw,46px)}
  .hero-copy>p{font-size:14px;line-height:1.8}
  .hero-eyebrow{font-size:8px;letter-spacing:.09em;gap:8px;margin-bottom:20px}
  .buttons{flex-direction:row;align-items:center;gap:10px 20px;margin-bottom:20px}
  .hero .btn{padding:13px 17px;gap:18px}.hero-link{min-height:44px}
  .hero-proof{font-size:10px;gap:8px 13px}
  .ecosystem{height:330px;margin-top:8px;margin-bottom:0}
  .orbit-one{width:140px;height:140px}.orbit-two{width:245px;height:245px}.orbit-three{width:310px;height:310px}
  .core{width:116px;height:116px}.core-logo{width:68px;height:68px}.core small{font-size:8px}
  .satellite{min-width:132px;padding:9px;gap:6px}.sat-icon{width:22px;height:23px}.satellite strong{font-size:10px}.satellite small{font-size:6px}
  .sat-one{top:21px;left:0}.sat-two{top:85px;right:0}.sat-three{bottom:76px;left:0}.sat-four{bottom:20px;right:0}
  .diagram-caption{font-size:6px;letter-spacing:.08em}
  .hero-bottom{display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 0}
  .hero-bottom>span:first-child{max-width:none;font-size:7px;line-height:1.8;letter-spacing:.08em}
  .hero-bottom>span:nth-child(2){grid-row:2;grid-column:1;font-size:11px;gap:12px}
  .hero-bottom>a{grid-row:1/3;grid-column:2;align-self:center}
  .section-heading{display:block}.section-heading>p{margin-top:20px;max-width:none}
  .audience-panel{grid-template-columns:34px minmax(0,1fr);gap:14px}.audience-panel h3{font-size:21px}.audience-panel p{font-size:14px}.check-list{font-size:12px}
  .solution-card{padding:23px}.product-summary{padding:24px}.product-summary>p{margin-top:15px;margin-bottom:20px}
  .summary-label{font-size:9px}.summary-logo{height:62px;margin-bottom:18px}
  .capability-grid{gap:0}.capability-grid article{padding:24px 0}.capability-icon{margin-bottom:15px}
  .showcase-heading,.quotify-heading{gap:16px;margin-bottom:22px}
  .showcase-heading h3{font-size:25px}.quotify-card .product-subtitle{font-size:19px}
  .quotify-features{margin:25px 0;padding:24px 0}.quotify-features h4{font-size:18px}.quotify-features p{font-size:14px}.quotify-features>div>span{font-size:9px}
  .quote-journey{padding:21px;gap:24px}.quote-journey p{font-size:13px}.quote-journey strong{font-size:17px}
  .mobile-showcase{margin-top:40px;padding-top:40px;gap:28px}.mobile-copy h2{font-size:clamp(29px,8.4vw,36px)}.mobile-services article{padding:25px}
  .about-art{min-height:280px;padding:26px}.about-art>div{font-size:31px}.about-cross{font-size:120px;right:35px;top:25px}.since{margin-top:22px}
  .about-grid,.vision-grid,.faq-grid{gap:30px}.about-copy>p{margin-top:19px}
  .history>.container{padding-top:40px}.history-timeline>li{grid-template-columns:55px minmax(0,1fr);gap:14px}.history-year{font-size:24px}.history-event{padding-left:19px;padding-bottom:32px}.history-event h3{font-size:21px}.history-event p{font-size:13px}
  .contact h2{font-size:clamp(28px,8vw,35px)}
  .contact-offices{grid-template-columns:1fr;gap:26px}.contact-online{grid-column:1;display:block}
  .contact-offices a{min-height:40px;display:flex;align-items:center}.contact-offices p{margin-top:3px}.contact-offices .contact-online a,.contact-newsletter{font-size:14px;width:100%;justify-content:space-between}
  .office-maps{grid-template-columns:1fr;margin-top:32px}.map-head{padding:22px}.map-head h3{font-size:21px}.map-head p{font-size:12px}.map-placeholder>p{font-size:11px}.map-directions{padding:15px 22px;font-size:13px}
  .newsletter-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:25px 20px 20px;border-radius:15px}
  .newsletter-dialog h2{font-size:29px;line-height:1.15}.newsletter-dialog>p{font-size:13px;margin:17px 0 20px}.newsletter-dialog .eyebrow{font-size:9px;margin-bottom:17px}
  .newsletter-close{width:40px;height:40px;margin:-13px -9px 0 8px}
  #newsletter-form>label,.newsletter-fields>label,.newsletter-optional>label{font-size:12px;margin-bottom:16px}
  .newsletter-optional summary{font-size:13px}.newsletter-optional summary>span{font-size:11px}
  .newsletter-privacy,.newsletter-delivery,#newsletter-status{font-size:11px}.newsletter-submit{font-size:13px;padding-inline:14px;gap:12px}
  .newsletter-later{font-size:12px;margin-top:9px}.newsletter-fields{grid-template-columns:1fr}
  .newsletter-strip{padding:35px 0}.newsletter-strip h2{font-size:26px}.newsletter-strip .btn{width:100%;font-size:13px}
  .footer-top{gap:15px;padding-bottom:21px}.footer-top p{line-height:1.8}.footer-bottom{gap:8px;padding-top:16px}.footer-bottom>div{gap:0 17px}
}

@media(max-height:500px) and (max-width:1000px){
  .nav-inner{height:60px}.brand img{height:44px;width:44px}.navbar nav{top:60px;max-height:calc(100dvh - 60px)}
  html{scroll-padding-top:76px}
  .newsletter-dialog{max-height:calc(100dvh - 16px);padding-top:22px}
}

@supports(padding:max(0px)){
  .newsletter-dialog{padding-bottom:max(20px,env(safe-area-inset-bottom))}
}

/* Rythme plus compact : rapprocher les contenus sans réduire le corps du texte. */
main>.section{padding-block:64px}
main>.about,main>.history{padding-top:0}
.hero-grid{min-height:540px}
.hero-copy{padding-block:38px}
.hero-bottom{padding-block:16px}
.section-heading{margin-bottom:28px;gap:36px}
.eyebrow{margin-bottom:15px}
.audience-panel{padding-top:24px}
.solution-grid{gap:18px}
.product-summary{padding:22px}
.summary-logo{height:62px;margin-bottom:14px}
.summary-logo img,.product-summary:nth-child(3) .summary-logo img{height:62px}
.product-summary>p{margin:12px 0 16px}
.product-summary>a{padding-top:12px}
.showcase-heading{margin-bottom:18px}
.capability-grid article{padding-block:20px}
.capability-icon{margin-bottom:12px}
.quotify-features{margin-block:20px;padding-block:18px}
.quote-journey{padding:20px}
.mobile-showcase{margin-top:30px;padding-top:30px;gap:24px}
.app-brand{margin-bottom:14px}
.mobile-copy>p{margin-top:16px}
.mobile-services article{padding:22px}
.service-number{margin-bottom:14px}
.mobile-services ul{margin-top:16px;padding-top:14px}
.vision-grid,.about-grid{gap:42px}
.about-art{min-height:350px}
.principles article{padding-block:18px}
.history>.container{padding-top:38px}
.history .section-heading{margin-bottom:28px}
.history-timeline{row-gap:30px;column-gap:28px}
.history-year{margin-bottom:15px}
.history-event{padding-top:19px}
.history-category{margin-bottom:9px}
.history-event p{margin-top:11px;line-height:1.8}
.history-outlook{margin-top:28px;padding-block:20px}
.contact-offices{margin-top:30px;padding-top:24px}
.office-maps{margin-top:28px}
.newsletter-strip{padding-block:32px}
@media(max-width:800px){
  main>.section{padding-block:44px}
  main>.about,main>.history{padding-top:0}
  .hero-grid{min-height:0}
  .hero-copy{padding:32px 0 8px}
  .section-heading{gap:24px;margin-bottom:24px}
  .history>.container{padding-top:28px}
  .history-timeline{row-gap:26px}
  .about-art{min-height:300px}
  .vision-grid,.about-grid,.faq-grid{gap:26px}
}
@media(max-width:560px){
  main>.section{padding-block:36px}
  main>.about,main>.history{padding-top:0}
  .section-heading>p{margin-top:14px}
  .solution-card,.product-summary{padding:20px}
  .summary-logo{margin-bottom:12px}
  .capability-grid article{padding-block:18px}
  .mobile-showcase{margin-top:24px;padding-top:24px;gap:20px}
  .mobile-services article{padding:21px}
  .quote-journey{padding:17px;gap:18px}
  .about-art{min-height:250px}
  .history-timeline{row-gap:0}
  .history-event{padding-top:0;padding-bottom:26px}
  .history-year{margin-bottom:0}
  .history .section-heading{margin-bottom:24px}
  .history-outlook{gap:12px;margin-top:22px;padding-block:18px}
  .contact-offices{gap:20px}
  .office-maps{margin-top:24px}
}

/* Captures réelles : trois usages, présentés dans des cadres de téléphone. */
.app-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;width:100%;max-width:760px;margin:0 auto;padding:8px 12px 4px;min-width:0}
.app-preview{margin:0;min-width:0;text-align:center}
.app-phone{width:164px;max-width:100%;margin:auto;padding:5px;background:#203d50;border:1px solid #7897a8;border-radius:23px;box-shadow:0 12px 24px #1e4d691a;transition:translate .35s,box-shadow .35s}
.app-screen{overflow:hidden;border-radius:17px;background:#f1f4f7;aspect-ratio:1080/2240}
.app-screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.app-screen--login{background:#edeef0}
.app-screen--login img{object-fit:contain;transform:scale(.96)}
.app-preview figcaption{margin:15px auto 0;max-width:225px}
.app-preview figcaption>span{display:block;font-size:9px;letter-spacing:.12em;color:var(--primary);font-weight:600;margin-bottom:9px}
.app-preview h3{font-size:17px;letter-spacing:-.025em;line-height:1.3}
.app-preview p{font-size:12px;line-height:1.7;margin-top:8px}
.app-gallery-hint{display:none}
.app-example-note{font-size:11px;line-height:1.6;color:var(--muted);text-align:center;margin:0 auto;max-width:560px}
body.dark .app-phone{background:#344e60;border-color:#6a899e;box-shadow:0 16px 30px #07151c66}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.app-preview:hover .app-phone{translate:0 -7px;box-shadow:0 23px 34px #1e4d6925}}
@media(max-width:800px){.app-gallery{gap:18px;padding-inline:0}.app-phone{width:160px}.app-preview h3{font-size:17px}.app-preview figcaption{margin-top:14px}.app-preview p{font-size:12px}}
@media(max-width:560px){
  .app-gallery{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--primary) transparent;padding:10px 8px 16px;scroll-padding-inline:8px}
  .app-preview{flex:0 0 80%;scroll-snap-align:center}
  .app-phone{width:158px}
  .app-preview h3{font-size:19px}
  .app-preview p{font-size:13px}
  .app-gallery-hint{display:block;text-align:center;font-size:11px;color:var(--muted);margin-top:-6px}
  .app-gallery-hint span{margin-left:10px;color:var(--primary)}
}
.mobile-copy .app-brand,.mobile-copy .app-brand img{width:82px;height:82px}

.contact-open{border:0}
body:has(#contact-dialog[open]){overflow:hidden}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#contact-form label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}
#contact-form label>span{color:var(--muted);font-size:10px;font-weight:400}
#contact-form input,#contact-form textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;min-height:46px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font:inherit;font-size:16px}
#contact-form textarea{resize:vertical;min-height:105px}
#contact-form input:focus-visible,#contact-form textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.contact-privacy,.contact-delivery,#contact-status{font-size:11px;line-height:1.7;margin:14px 0;color:var(--muted);overflow-wrap:anywhere}
.contact-privacy a,.contact-delivery a{color:var(--primary);text-decoration:underline}
#contact-status:empty{display:none}
@media(max-width:560px){.contact-fields{grid-template-columns:1fr;gap:0}}
.legal-nav{display:flex;gap:10px 22px;flex-wrap:wrap;margin-bottom:30px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.legal-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--primary)}
.legal-nav a:hover{text-decoration:underline}
.legal-copy .legal-date{font-size:12px;color:var(--muted);margin-bottom:22px}

/* Lisibilité : corps de texte à 16 px et libellés secondaires à 13–14 px. */
.navbar nav>a:not(.btn),.nav-cta{font-size:14px}
.btn,.hero-link,.text-link,.solution-card a,.product-summary>a,.contact-offices .contact-online a,.contact-newsletter{font-size:15px}
.hero-copy>p{font-size:17px;max-width:540px;line-height:1.8}
.hero-proof{font-size:13px;flex-wrap:wrap}
.eyebrow,.hero-eyebrow{font-size:12px;line-height:1.7;letter-spacing:.12em}
.section-heading>p,.section-intro,.audience-panel p,.check-list,.product-summary>p,.solution-card p,.capability-grid p,.quotify-features p,.quote-journey p,.mobile-copy>p,.mobile-services p,.mobile-services ul,.principles p,.about-copy>p,.history-event p,.faq-grid>div>p,.faq-list details p,.contact-top p,.newsletter-strip p{font-size:16px;line-height:1.75}
.section-heading>p{max-width:380px}
.section-intro{max-width:420px}
.audience-tabs button{font-size:17px;line-height:1.5;gap:14px}
.audience-panel p{max-width:460px}
.check-list{line-height:1.8}.check-list li+li{margin-top:10px}
.panel-number span{font-size:14px}
.summary-label,.solution-card .tag,.quotify-features>div>span,.app-preview figcaption>span,.history-category,.history-outlook>span,.map-head>span{font-size:13px;line-height:1.6;letter-spacing:.08em}
.card-top{flex-wrap:wrap}
.quotify-features h4{font-size:20px}
.capability-grid h4{font-size:21px}
.app-preview p{font-size:13px;line-height:1.65;margin:0}
.app-preview h3{font-size:16px;line-height:1.4;letter-spacing:-.015em;min-height:2.8em;margin:0}
.app-preview figcaption>span{font-size:10px;line-height:1.6;letter-spacing:.08em;margin:0}
.app-preview figcaption{display:grid;grid-template-rows:auto minmax(2.8em,auto) auto;gap:8px;max-width:220px;align-content:start}
.app-gallery{max-width:860px}
.app-gallery-hint{font-size:14px}
.principles article>span{font-size:16px;font-weight:600;min-width:24px}
.history-event p{max-width:none}
.faq-list summary{font-size:18px}
.contact-offices>div>span{font-size:13px;letter-spacing:.09em;color:#c1d9e6}
.contact-offices p,.map-head p{font-size:15px;line-height:1.8;color:#c4d4de}
.contact-offices>div>a[href^="tel:"]{font-size:21px}
.map-placeholder>p,.map-directions,.load-map{font-size:14px}
.footer-top p{font-size:16px;line-height:1.7}
.footer-bottom,.template-credit{font-size:13px;line-height:1.7}
.footer-bottom{flex-wrap:wrap}
.newsletter-dialog>p{font-size:16px}
#newsletter-form>label,.newsletter-fields>label,.newsletter-optional>label,#contact-form label,.newsletter-optional summary{font-size:15px}
.newsletter-optional summary>span,#contact-form label>span{font-size:13px}
#newsletter-form .consent,.newsletter-privacy,.newsletter-delivery,#newsletter-status,.contact-privacy,.contact-delivery,#contact-status,.newsletter-later{font-size:14px;line-height:1.7}
.legal-copy p{font-size:16px}
.satellite{min-width:225px;padding:14px;gap:10px}
.satellite strong{font-size:16px;font-weight:600}
.satellite small{font-size:13px;line-height:1.45;color:#dfebf2;max-width:165px}
.core small{font-size:13px;color:#dfebf2;text-align:center}
.core{width:180px;height:180px}
.diagram-caption{font-size:11px;letter-spacing:.08em;color:#c4d6e1;bottom:-25px}
.sat-one{top:20px;left:0}.sat-two{top:110px;right:0}
.sat-three{bottom:50px;left:0}.sat-four{bottom:0;right:0}
@media(min-width:801px) and (max-width:1100px){
  .navbar nav{gap:16px}
  .hero-grid{grid-template-columns:1.15fr 1fr;gap:20px}
  .ecosystem{height:460px;transform:none}
  .satellite{min-width:190px;padding:11px;gap:8px}
  .satellite strong{font-size:15px}.satellite small{font-size:12px;max-width:140px}
  .core{width:140px;height:140px}.core small{font-size:12px}
  .sat-one{top:0}.sat-two{top:80px}.sat-three{bottom:50px}.sat-four{bottom:0}
}
@media(max-width:800px){
  .hero-copy>p{font-size:16px}
  .hero .btn,.hero-link{font-size:15px}
  .hero-proof{font-size:13px}
  .ecosystem{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;max-width:480px;height:auto;margin:20px auto 28px;padding:0;transform:none}
  .ecosystem .orbit,.ecosystem .orbit-line{display:none}
  .ecosystem .core{position:relative;top:auto;left:auto;transform:none;grid-column:1/-1;justify-self:center;width:160px;height:160px;margin-bottom:8px}
  .ecosystem .satellite{position:relative;inset:auto;min-width:0;width:100%;padding:14px 12px;gap:8px}
  .satellite strong{font-size:16px}.satellite small{font-size:13px;max-width:none}
  .sat-icon{flex-shrink:0;width:25px;height:27px}.satellite i{display:none}
  .diagram-caption{position:static;grid-column:1/-1;font-size:12px;line-height:1.6;margin-top:4px}
  .hero-bottom>span:first-child{font-size:11px}
  .contact-offices .contact-online a,.contact-newsletter{font-size:15px}
  .footer-top p{font-size:16px}
  .footer-bottom,.template-credit{font-size:13px}
}
@media(max-width:560px){
  .eyebrow,.hero-eyebrow{font-size:12px;letter-spacing:.09em}
  .ecosystem{gap:12px}.ecosystem .satellite{padding:12px 9px;gap:7px}
  .satellite strong{font-size:14px}.satellite small{font-size:12px}
  .sat-icon{display:none}
  .audience-tabs button{font-size:15px;padding:16px 8px;gap:8px}
  .audience-tabs button+button{padding-left:8px}
  .audience-tabs button span{font-size:16px}
  .audience-panel{grid-template-columns:34px minmax(0,1fr);gap:14px}
  .check-list{font-size:16px}
  .solution-card .tag,.summary-label,.quotify-features>div>span{font-size:13px}
  .app-preview p{font-size:13px}
  .contact-offices p,.map-head p{font-size:15px}
  .newsletter-dialog .eyebrow{font-size:12px}
  .newsletter-dialog>p{font-size:16px}
  .newsletter-strip .btn,.newsletter-submit{font-size:15px}
}

/* Photo d’ambiance InsurTech, avec contraste renforcé derrière les textes. */
.hero{background-image:linear-gradient(90deg,rgba(12,34,50,.97) 0%,rgba(12,34,50,.90) 42%,rgba(12,34,50,.46) 100%),url('../assets/assurance-sante-digitale.webp');background-size:cover;background-position:center,center 48%;background-repeat:no-repeat}
body.dark .hero{background-image:linear-gradient(90deg,rgba(9,27,40,.98) 0%,rgba(9,27,40,.92) 42%,rgba(9,27,40,.56) 100%),url('../assets/assurance-sante-digitale.webp')}
.hero-copy>p{color:#d0dde5}
@media(max-width:800px){.hero{background-position:center,62% center;background-image:linear-gradient(180deg,rgba(12,34,50,.96) 0%,rgba(12,34,50,.90) 45%,rgba(12,34,50,.67) 100%),url('../assets/assurance-sante-digitale.webp')}body.dark .hero{background-image:linear-gradient(180deg,rgba(9,27,40,.98) 0%,rgba(9,27,40,.92) 45%,rgba(9,27,40,.74) 100%),url('../assets/assurance-sante-digitale.webp')}}
