.hero{grid-template-columns:42% 58%;min-height:0}.hero-copy{margin-right:0;padding:clamp(28px,3vw,48px) 20px 26px clamp(30px,4.4vw,70px);background:#f7fbff}.hero h1{font-size:clamp(35px,3.3vw,52px);line-height:1.1}.hero-copy>p:not(.availability){font-size:15px}.hero-image{display:block;aspect-ratio:1672/941;min-height:0;background:#e8f3ff url('/trajexcar-communautes-vision.png') center/contain no-repeat;align-self:center;width:100%}.hero-image:before,.hero-tag{display:none}.visual-link{display:inline-block;margin-top:8px;color:#143bdf;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.hero{display:flex;flex-direction:column-reverse}.hero-copy{padding:23px 22px 26px;background:linear-gradient(180deg,#e9f6ff,#fff 82%)}.hero h1{font-size:clamp(31px,8vw,41px)}.hero-image{width:100%;aspect-ratio:1672/941;min-height:0;background-size:contain}.visual-link{margin-top:10px}}
/* Finition Communautés : parcours local, réseau public et états sans chiffres fictifs. */
.hero-image{position:relative;overflow:hidden}.hero-image:before{display:block;content:'';position:absolute;inset:0 auto 0 0;width:92px;background:linear-gradient(90deg,#f7fbff,transparent);pointer-events:none}.steps{gap:18px}.steps li{background:#fff;border-color:#edf2f9;padding:19px;align-items:flex-start}.step-icon svg,.audience-icon svg,.everyday-places svg,.metric-preview svg{width:25px;height:25px;display:block}.steps h3{font-size:16px;line-height:1.25}.steps p{line-height:1.5}.story-main{background:#fbfdff}.territory-route{position:relative;min-height:235px;overflow:hidden;border-radius:15px;border:1px solid #e2eaf5;margin:22px 0 9px;background:linear-gradient(90deg,#fff 0%,#fff 33%,#ffffffdf 48%,#ffffff00 100%),url('/trajexcar-communautes-village.png') 70% center/cover no-repeat}.territory-stops{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;width:56%;height:233px;padding:21px 20px 22px 27px}.territory-stops:before{content:'';position:absolute;left:33px;top:30px;bottom:31px;width:2px;background:linear-gradient(#247fff,#163eff)}.territory-stop{position:relative;display:flex;gap:14px;align-items:center;min-height:44px}.territory-dot{position:relative;z-index:2;width:14px;height:14px;flex:none;border:3px solid #277aff;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #e9f3ff}.territory-dot.middle{border-color:#1d55f2}.territory-dot.finish{background:#123bff;border-color:#123bff}.territory-stop div{display:flex;flex-direction:column;line-height:1.18}.territory-stop strong{font-size:17px;color:#0b295b}.territory-stop small{font-size:11px;color:#657d9b;margin-top:4px}.territory-mark{position:absolute;right:14px;bottom:14px;background:#09295ad9;color:#fff;font-size:11px;font-weight:800;padding:7px 10px;border-radius:8px;max-width:160px;line-height:1.25}.story-main .caption{margin-top:8px}.network-card .button{width:auto}.open-network .network-art{background:#f1f7ff;box-shadow:none}.node{box-shadow:none}.everyday{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center;background:#f7faff;border-top:1px solid #edf2f9;border-bottom:1px solid #edf2f9}.everyday-copy p{font-size:14px;max-width:540px;margin-bottom:0}.everyday-places{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.everyday-places>div{text-align:center;padding:12px 5px;min-width:0}.everyday-places span{width:49px;height:49px;display:grid;place-items:center;margin:0 auto 8px;background:#eaf2ff;color:#1644ed;border-radius:14px}.everyday-places strong{display:block;font-size:12px;white-space:nowrap}.audience-grid article{border-color:#e8eef9;transition:transform .18s ease,border-color .18s ease}.audience-grid article:hover{transform:translateY(-3px);border-color:#a6c0fa}.audience-grid .audience-icon{width:45px;height:45px}.audience-grid article p{min-height:44px}.audience-grid article small{display:block;font-size:11px;color:#6c819f;margin:8px 0 0}.audience-link{display:inline-flex;align-items:center;gap:7px;color:#123bdf;font-size:13px;font-weight:800;margin-top:18px}.audience-link:hover{text-decoration:underline;text-underline-offset:3px}.metric-preview>div{min-height:139px;padding:17px;justify-content:space-between}.metric-preview span{width:28px;height:28px}.metric-preview small{color:#4b69a7;font-size:17px;font-weight:800;line-height:1.2}.metric-preview strong{font-size:13px}.metrics{background:#082956}.metrics p{max-width:490px}
@media(max-width:1050px){.everyday{grid-template-columns:1fr;gap:13px}}
@media(max-width:700px){.hero-image:before{width:100%;height:32px;inset:auto 0 0;background:linear-gradient(0deg,#e9f6ff,transparent)}.steps{gap:9px}.steps li{padding:13px 10px}.step-icon svg,.audience-icon svg{width:21px;height:21px}.steps h3{font-size:13px}.territory-route{min-height:217px;background:linear-gradient(90deg,#fff 0%,#fffffff5 38%,#ffffff66 68%,#ffffff12 100%),url('/trajexcar-communautes-village.png') 70% center/cover no-repeat}.territory-stops{height:217px;width:70%;padding:16px 12px 17px 20px}.territory-stops:before{left:26px;top:27px;bottom:27px}.territory-stop{gap:12px}.territory-stop strong{font-size:15px}.territory-stop small{font-size:10px}.territory-mark{font-size:9px;right:8px;bottom:8px;max-width:115px}.everyday{display:block;padding-top:27px;padding-bottom:27px}.everyday-places{grid-template-columns:repeat(5,1fr);gap:0;margin:17px -5px 0}.everyday-places>div{padding:7px 0}.everyday-places span{width:40px;height:40px;border-radius:11px}.everyday-places svg{width:21px;height:21px}.everyday-places strong{font-size:10px}.audience-grid article{grid-template-columns:44px 1fr}.audience-grid article p{min-height:0}.audience-grid article small,.audience-grid article .audience-link{grid-column:2;margin-top:7px}.audience-grid article .audience-link{margin-top:10px}.metric-preview>div{min-height:110px;padding:10px 7px}.metric-preview span,.metric-preview svg{width:22px;height:22px}.metric-preview small{font-size:13px}.metric-preview strong{font-size:10px}}
.hero-image:after{content:'Agrandir ↗';position:absolute;right:14px;top:14px;background:#ffffffed;color:#0c3482;padding:7px 10px;border-radius:8px;font-size:11px;font-weight:800;box-shadow:0 2px 9px #0a2b581a}.hero-image:hover:after{background:#fff;color:#153bff}@media(max-width:700px){.hero-image:after{right:10px;top:10px;padding:6px 9px;font-size:10px}}
