/* Synapse Swiss — V2 additions */
.logo-grid{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.logo-grid li{min-width:0}
.logo-card{height:100%;margin:0;display:flex;flex-direction:column;gap:11px;min-width:0;max-width:100%}
.logo-tile{height:144px;padding:14px 16px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .2s,border-color .2s,box-shadow .2s}
.logo-card:hover .logo-tile{transform:translateY(-2px);border-color:#bbc5d4;box-shadow:0 12px 28px #10203d0a}
.logo-tile img{display:block;max-width:100%;max-height:108px;width:auto;height:auto;object-fit:contain}
.logo-card figcaption{display:block;width:100%;min-width:0;max-width:100%;font-size:13px;line-height:1.45;color:var(--muted);white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}
.marquee-set{gap:28px;padding-right:28px}
.marquee-set .logo-marquee-item{width:288px;min-width:288px;height:76px;padding:11px 16px;display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;justify-content:stretch;column-gap:16px;overflow:hidden;background:#fff;border:1px solid #e0e5ec}
.marquee-set .logo-marquee-item::before{display:none}
.marquee-set .logo-marquee-item img{display:block;justify-self:start;width:116px;height:52px;max-width:116px;max-height:52px;object-fit:contain;object-position:left center}
.marquee-set .logo-marquee-item b{display:block;min-width:0;max-width:none;font-size:12px;line-height:1.3;font-weight:650;color:var(--navy);text-align:left;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:pretty}
.reference-lane-reverse .marquee-set .logo-marquee-item b{color:#53637c}
.v2-feature{padding-block:76px;background:var(--navy);color:#fff}
.v2-feature-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:74px;align-items:center}
.v2-feature .section-kicker,.v2-feature .eyebrow{color:#bec9da}
.v2-feature h2{font-size:clamp(38px,5vw,65px);line-height:1.05;letter-spacing:-.045em;margin:0}
.v2-feature p{color:#d9e0eb;line-height:1.75}
.v2-feature .lead{font-size:19px;color:#fff;margin-top:25px}
.v2-feature .text-link{color:#fff;margin-top:25px}
.v2-feature-visual{padding:26px;background:#fff;box-shadow:18px 18px 0 #243756}
.v2-feature-visual img{display:block;width:100%;height:auto}
.v2-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff2b;margin-top:31px}
.v2-metrics div{background:#152946;padding:20px}
.v2-metrics strong{display:block;font-size:28px;color:#fff}
.v2-metrics span{display:block;margin-top:4px;font-size:12px;line-height:1.45;color:#cbd5e4}
.solution-hero{padding-block:45px 72px}
.solution-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}
.solution-hero h1{font-size:clamp(45px,6vw,78px);line-height:1.03;letter-spacing:-.052em;margin:0}
.solution-hero .lead{font-size:20px;line-height:1.65;margin-top:27px}
.solution-hero figure{margin:0;background:#e6ebf2;padding:20px}
.solution-hero figure img{display:block;width:100%;height:auto}
.solution-section{padding-block:70px;border-top:1px solid var(--line)}
.solution-section h2{font-size:clamp(34px,4vw,52px);line-height:1.1;letter-spacing:-.04em;margin:0}
.solution-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}
.solution-intro>.body-copy{margin-top:0}
.feature-grid{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.feature-grid article{background:#fff;padding:28px}
.feature-grid .feature-number{font-size:11px;letter-spacing:.1em;color:var(--red)}
.feature-grid h3{font-size:23px;margin:17px 0 0}
.feature-grid p{font-size:15px;line-height:1.7;color:var(--muted)}
.fact-band{background:#e7ebf1;padding-block:54px}
.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fact-grid article{border-left:3px solid var(--red);padding-left:22px}
.fact-grid strong{font-size:38px;letter-spacing:-.04em;color:var(--navy)}
.fact-grid p{font-size:14px;line-height:1.6;color:var(--muted);margin:8px 0 0}
.comparison-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.offer-card{border:1px solid var(--line);background:#fff;padding:30px;display:flex;flex-direction:column;min-height:390px}
.offer-card.is-featured{border-top:4px solid var(--red);padding-top:27px;box-shadow:0 18px 45px #10203d0b}
.offer-card .offer-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.offer-card h3{font-size:30px;margin:12px 0 0}
.offer-card p{font-size:14px;line-height:1.65;color:var(--muted)}
.offer-card ul{list-style:none;padding:0;margin:19px 0 28px}
.offer-card li{padding:10px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.45}
.offer-card .button{margin-top:auto;align-self:flex-start}
.assurance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:38px}
.assurance-grid article{background:#f3f5f8;padding:27px}
.assurance-grid h3{font-size:22px;margin:0}
.assurance-grid p{font-size:15px;line-height:1.7;color:var(--muted)}
.tender-support{margin-bottom:65px;padding:42px;background:#f3f5f8;border-left:4px solid var(--red)}
.tender-support-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}
.tender-support h2{font-size:38px;line-height:1.12;margin:0}
.tender-support ul{margin:0;padding-left:19px;columns:2;column-gap:35px}
.tender-support li{break-inside:avoid;margin:0 0 15px;font-size:15px;line-height:1.6}
.service-menu .service-dropdown{max-height:min(78vh,620px);overflow-y:auto}
@media(max-width:1000px){.logo-grid{grid-template-columns:repeat(3,1fr)}.v2-feature-grid,.solution-hero-grid,.solution-intro,.tender-support-grid{grid-template-columns:1fr}.comparison-cards{grid-template-columns:1fr}.offer-card{min-height:0}.feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.logo-tile{height:105px;padding:16px}.logo-tile img{max-height:62px}.logo-card figcaption{font-size:11px}.marquee-set{gap:18px;padding-right:18px}.marquee-set .logo-marquee-item{width:260px;min-width:260px;height:72px;padding:10px 12px;grid-template-columns:100px minmax(0,1fr);column-gap:14px}.marquee-set .logo-marquee-item img{width:100px;height:48px;max-width:100px;max-height:48px}.marquee-set .logo-marquee-item b{font-size:11px;line-height:1.3}.v2-feature{padding-block:58px}.v2-feature-grid{gap:34px}.v2-feature .lead{font-size:16px}.v2-feature-visual{padding:12px;box-shadow:9px 10px 0 #243756}.v2-metrics{grid-template-columns:1fr}.v2-metrics div{padding:15px}.solution-hero{padding-block:28px 48px}.solution-hero-grid{gap:28px}.solution-hero .lead{font-size:16px}.solution-hero figure{padding:10px}.solution-section{padding-block:50px}.solution-intro{gap:25px}.feature-grid{grid-template-columns:1fr;margin-top:28px}.feature-grid article{padding:23px}.fact-grid{grid-template-columns:1fr}.fact-grid article{padding-block:8px}.comparison-cards{margin-top:28px}.offer-card{padding:24px}.assurance-grid{grid-template-columns:1fr}.tender-support{padding:27px 23px;margin-bottom:45px}.tender-support h2{font-size:31px}.tender-support ul{columns:1;margin-top:8px}}
@media(max-width:760px){.logo-tile{height:118px;padding:12px}.logo-tile img{max-height:88px}}

/* Publications archive */
.publications-opening{padding-block:20px 76px}
.publications-opening-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:72px;align-items:center}
.publications-opening h2{font-size:42px;max-width:650px}
.publications-opening figure{margin:0;padding:12px;background:#fff;border:1px solid var(--line);box-shadow:12px 14px 0 #dfe5ed}
.publications-opening figure img{display:block;width:100%;height:auto;aspect-ratio:1.81;object-fit:cover}
.publications-opening figcaption{padding:11px 2px 0;font-size:11px;line-height:1.6;color:var(--muted)}
.publications-list-section{padding-block:74px 92px;border-top:1px solid var(--line)}
.publication-list{border-top:1px solid var(--line)}
.publication-entry{border-bottom:1px solid var(--line);scroll-margin-top:24px}
.publication-entry summary{display:grid;grid-template-columns:48px minmax(0,1fr) 38px;gap:22px;align-items:start;padding:31px 0;cursor:pointer;list-style:none}
.publication-entry summary::-webkit-details-marker{display:none}
.publication-entry summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}
.publication-number{padding-top:7px;font-size:11px;letter-spacing:.12em;color:var(--red)}
.publication-summary{display:block;min-width:0}
.publication-meta{display:block;margin-bottom:10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.publication-summary>strong{display:block;font-size:30px;line-height:1.24;letter-spacing:-.035em;font-weight:500;color:var(--navy);transition:color .2s}
.publication-excerpt{display:block;max-width:850px;margin-top:13px;font-size:14px;line-height:1.75;color:var(--muted)}
.publication-original{display:block;margin-top:10px;font-size:11px;color:var(--muted);font-style:italic}
.publication-read{display:inline-block;margin-top:14px;padding-bottom:4px;border-bottom:1px solid #aeb8c6;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.publication-toggle{width:32px;height:32px;border:1px solid #b8c2d0;display:grid;place-items:center;color:var(--navy);margin-top:4px}
.publication-toggle:before{content:'+';font-size:22px;font-weight:300;line-height:1}
.publication-entry[open] .publication-toggle:before{content:'−'}
.publication-entry[open] summary{padding-bottom:25px}
.publication-entry[open] .publication-summary>strong,.publication-entry summary:hover .publication-summary>strong{color:var(--red)}
.publication-body{max-width:900px;margin-left:70px;padding:0 0 61px;color:#40516a}
.publication-body p{margin:0 0 20px;font-size:16px;line-height:1.9}
.publication-body strong{color:var(--navy);font-weight:650}
.publication-body ul,.publication-body ol{margin:8px 0 26px;padding-left:25px}
.publication-body li{margin:8px 0;font-size:16px;line-height:1.75}
.publication-body table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:28px 0;font-size:14px;line-height:1.65}
.publication-body th,.publication-body td{min-width:160px;padding:14px;border:1px solid var(--line);vertical-align:top;text-align:left}
.publication-body img{display:block;max-width:680px;width:100%;height:auto;margin:30px 0;border:1px solid var(--line)}
@media(max-width:760px){.publications-opening{padding-block:5px 57px}.publications-opening-grid{grid-template-columns:1fr;gap:29px}.publications-opening h2{font-size:33px}.publications-opening figure{padding:8px;box-shadow:8px 9px 0 #dfe5ed}.publications-list-section{padding-block:51px 65px}.publication-entry summary{grid-template-columns:28px minmax(0,1fr) 30px;gap:10px;padding:25px 0}.publication-number{font-size:10px}.publication-summary>strong{font-size:22px;line-height:1.3}.publication-excerpt{font-size:13px;line-height:1.7}.publication-toggle{width:28px;height:28px}.publication-body{margin-left:0;padding:0 0 45px}.publication-body p,.publication-body li{font-size:15px}.publication-body table{font-size:13px}.publication-body th,.publication-body td{min-width:145px;padding:11px}}

/* Architecture française V3 — services d'abord, secteurs ensuite */
.service-menu.current-section>summary:after{content:'';position:absolute;height:2px;background:var(--red);bottom:7px;left:0;right:0}
.service-dropdown.service-mega{left:-170px;min-width:720px;display:grid;grid-template-columns:1.18fr .82fr;gap:8px 30px;padding:24px 28px}
.service-menu-group{min-width:0}
.service-menu-group+.service-menu-group{border-left:1px solid var(--line);padding-left:22px}
.service-menu-group .menu-label{margin:0 8px 8px;font-size:10px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.service-dropdown.service-mega .all-services{grid-column:1/-1;justify-content:space-between}
.service-dropdown.service-mega .all-services svg{width:17px;height:17px;transform:none}
.language-switch span{min-width:24px;min-height:40px;display:grid;place-content:center;color:#a5adba;opacity:.55;cursor:not-allowed}
.mobile-service-groups{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:15px}
.mobile-services>p{margin:0 0 9px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mobile-sectors a{border-left-color:#8796aa}
.other-sector-menu{position:relative;margin:0}
.other-sector-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:11px 8px;min-height:48px;font-size:14px;line-height:1.5}
.other-sector-menu>summary::-webkit-details-marker{display:none}
.other-sector-menu>summary span{font-size:10px;color:var(--red)}
.other-sector-menu>summary:after{content:'+';margin-left:auto;color:var(--muted);font-size:17px;font-weight:400}
.other-sector-menu[open]>summary:after{content:'−'}
.other-sector-links{display:none;margin:0 8px 8px 36px;border-left:1px solid var(--line);padding-left:10px}
.other-sector-menu[open]>.other-sector-links{display:block}
.service-dropdown .other-sector-links a,.mobile-services .other-sector-links a{min-height:38px;padding:8px 10px;font-size:13px;color:var(--red)}
@media(hover:hover) and (pointer:fine){.service-dropdown .other-sector-menu:hover>.other-sector-links{display:block}}
.service-editorial .service-ui-image{object-fit:contain;background:#e6ebf2;padding:18px;box-sizing:border-box}
.home-sectors{background:#e9edf3}
.sector-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 40px}
.sector-path{min-width:0;background:#fff;border:1px solid #d9dfe8;transition:transform .25s,box-shadow .25s}
.sector-path:hover{transform:translateY(-3px);box-shadow:0 18px 44px #10203d0a}
.sector-path a{display:block;height:100%}
.sector-path figure{aspect-ratio:1.72;overflow:hidden;background:#dce2eb}
.sector-path figure img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.sector-path:hover figure img{transform:scale(1.025)}
.sector-path-copy{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;gap:13px;padding:22px 23px 25px}
.sector-path-copy>span{padding-top:5px;font-size:11px;color:var(--red)}
.sector-path-copy h3{font-size:25px;line-height:1.2}
.sector-path-copy p{margin-top:10px;font-size:14px;line-height:1.65;color:var(--muted)}
.sector-path-copy>svg{width:18px;margin-top:5px}
.sector-paths-page{border-top:1px solid var(--line)}
.sector-tender{grid-template-columns:1.55fr 1fr}
.sector-tender .sector-photo{aspect-ratio:1.5}
.tender-bridge{margin-bottom:65px;padding:42px;display:grid;grid-template-columns:1fr auto;gap:55px;align-items:center;background:#f3f5f8;border-left:4px solid var(--red)}
.tender-bridge h2{max-width:810px;font-size:38px;line-height:1.14}
.tender-bridge p:not(.section-kicker){max-width:760px;margin-top:17px;color:var(--muted);line-height:1.75}
.tender-bridge .button{min-width:230px}
.tender-confidence .assurance-grid{margin-top:0}
.tender-related{display:flex;gap:34px;flex-wrap:wrap;padding-block:42px}
.tender-formats{background:#f0f2f6}
.tender-formats .offer-card{background:#fff}
.footer-grid.footer-grid-expanded{grid-template-columns:1.15fr 1fr .95fr .9fr .8fr;gap:34px}

@media(max-width:1250px){.service-dropdown.service-mega{left:-120px}}
@media(max-width:980px){.mobile-service-groups{grid-template-columns:1fr 1fr}.footer-grid.footer-grid-expanded{grid-template-columns:1.1fr 1fr 1fr}.footer-grid-expanded .footer-contact{grid-column:auto;display:block}.footer-grid-expanded .footer-contact h3{margin-bottom:18px}}
@media(max-width:760px){.mobile-service-groups{grid-template-columns:1fr;gap:13px}.mobile-services{padding-block:8px}.mobile-services>p{margin-bottom:6px}.sector-path-grid{grid-template-columns:1fr;gap:24px}.sector-path figure{aspect-ratio:1.62}.sector-path-copy{padding:18px 19px 22px;grid-template-columns:23px minmax(0,1fr) 18px;gap:10px}.sector-path-copy h3{font-size:23px}.sector-path-copy p{font-size:14px}.service-editorial .service-ui-image{padding:10px}.tender-bridge{margin-bottom:45px;padding:28px 23px;grid-template-columns:1fr;gap:24px}.tender-bridge h2{font-size:30px}.tender-bridge .button{min-width:0;justify-self:start}.tender-related{display:flex;padding-block:30px;gap:15px;flex-direction:column;align-items:flex-start}.footer-grid.footer-grid-expanded{grid-template-columns:1fr 1fr}.footer-grid-expanded .footer-brand,.footer-grid-expanded .footer-contact{grid-column:1/-1}}
