/* Generated by tools/build-css.php. Edit global.css, components.css or footer.css, then rebuild. */
:root {
  --ecovance-asset-contact-arrow: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228.20711%22%20height%3D%228.20711%22%20fill%3D%22none%22%20overflow%3D%22visible%22%20preserveAspectRatio%3D%22none%22%20style%3D%22display%3Ablock%22%20viewBox%3D%220%200%208.20711%208.20711%22%3E%3Cpath%20id%3D%22Vector%2022%22%20fill%3D%22%23fff%22%20d%3D%22M1.06066.35355.70711%200%200%20.7071l.35355.35356.35356-.35355zm6.64645%207.85356c.27614%200%20.5-.22386.5-.5v-4.5c0-.27615-.22386-.5-.5-.5-.27615%200-.5.22385-.5.5v4h-4c-.27615%200-.5.22385-.5.5%200%20.27614.22385.5.5.5zm-7-7.5-.35356.35355%207%207%20.35356-.35355.35355-.35356-7-7z%22%2F%3E%3C%2Fsvg%3E");
  --ecovance-asset-menu-close: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2246%22%20height%3D%2246%22%20fill%3D%22none%22%20overflow%3D%22visible%22%20preserveAspectRatio%3D%22none%22%20style%3D%22display%3Ablock%22%20viewBox%3D%220%200%2046%2046%22%3E%3Cg%20id%3D%22Group%2010%22%3E%3Ccircle%20id%3D%22Ellipse%2017%22%20cx%3D%2223%22%20cy%3D%2223%22%20r%3D%2223%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20id%3D%22Vector%2043%22%20stroke%3D%22%23225485%22%20stroke-width%3D%222%22%20d%3D%22M30.472%2017.1517%2017.5439%2030.0798%22%2F%3E%3Cpath%20id%3D%22Vector%2044%22%20stroke%3D%22%23225485%22%20stroke-width%3D%222%22%20d%3D%22M30.0796%2030.2642%2017.1515%2017.3361%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --ecovance-asset-partner-band-arrow: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222.5%22%20height%3D%227.36396%22%20fill%3D%22none%22%20overflow%3D%22visible%22%20preserveAspectRatio%3D%22none%22%20style%3D%22display%3Ablock%22%20viewBox%3D%220%200%2022.5%207.36396%22%3E%3Cpath%20id%3D%22Vector%20102%22%20fill%3D%22%23d9e3f2%22%20d%3D%22M.5%203.18198H0v1h.5zm21.8536.85355c.1952-.19526.1952-.51184%200-.7071L19.1716.14645c-.1953-.19527-.5119-.19527-.7071%200-.1953.19526-.1953.51184%200%20.7071l2.8284%202.82843-2.8284%202.82843c-.1953.19526-.1953.51184%200%20.7071.1952.19527.5118.19527.7071%200zM.5%203.68198v.5H22v-1H.5z%22%2F%3E%3C%2Fsvg%3E");
  --ecovance-asset-language-globe: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2227%22%20height%3D%2226%22%20fill%3D%22none%22%20overflow%3D%22visible%22%20preserveAspectRatio%3D%22none%22%20style%3D%22display%3Ablock%22%20viewBox%3D%220%200%2027%2026%22%3E%3Cpath%20id%3D%22Vector%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M13.5%200C6.04879%200%200%205.82476%200%2013c0%207.1752%206.04879%2013%2013.5%2013S27%2020.1752%2027%2013c0-7.17524-6.0488-13-13.5-13M9.95933%2021.0689c.24387.6086.51547%201.1611.80997%201.6472.7794%201.2837%201.6906%202.1021%202.7307%202.1021s1.9514-.8184%202.7307-2.1021c.2899-.4772.5553-1.0164.7946-1.6117-2.3318.2127-4.6868.2009-7.06597-.0355m-6.41402-1.1582c1.67828%202.2366%204.14955%203.8866%207.01689%204.5662-.3007-.3368-.58759-.7254-.853-1.1656-.41574-.684-.79005-1.492-1.11067-2.4006-1.67369-.2245-3.3566-.5568-5.05322-1m19.88339.034c-1.6676.4564-3.3489.7933-5.0426%201.0104-.3176.8894-.6858%201.6827-1.0954%202.3563-.2654.4402-.5522.8288-.8529%201.1656%202.8518-.6766%205.3124-2.3136%206.9909-4.5323m-5.0257-6.3539H8.59696c.04909%202.3105.38352%204.4524.92966%206.2431%202.67548.3028%205.32028.3176%207.93428.0384.5522-1.7979.893-3.9549.9421-6.2815m7.3546%200h-6.1274c-.046%202.2367-.3528%204.3242-.8499%206.116%201.8916-.2748%203.7678-.7017%205.6255-1.2852.7854-1.4596%201.2628-3.0966%201.3518-4.8308m-18.38752%200H1.24275c.08897%201.7329.56454%203.3667%201.34846%204.8249%201.88694.554%203.75852.9691%205.6164%201.2453-.49091-1.783-.79151-3.8529-.83753-6.0702m.84067-7.2652c-1.84857.2792-3.72172.69729-5.61954%201.25863-.78392%201.45808-1.25947%203.09197-1.34846%204.82487h6.12733c.04602-2.2233.34824-4.29735.84067-6.0835m9.24445-.21864c-2.5896-.27772-5.2296-.26591-7.92371.04432-.54919%201.79342-.88517%203.93992-.93426%206.25782h9.80597c-.0491-2.3371-.3912-4.49972-.948-6.30214m1.3193.16546c.5016%201.79784.81%203.89258.856%206.13678h6.1273c-.0889-1.7343-.5676-3.37265-1.3515-4.83205-1.8486-.58944-3.7264-1.02699-5.6318-1.30473m-8.2119-4.74959c-2.8642.67808-5.33564%202.32669-7.01219%204.56163%201.70283-.44761%203.38727-.78442%205.05322-1.01046.32063-.90113.69187-1.70477%201.10608-2.3858.2654-.44024.55209-.82856.85289-1.16537m5.8756%200c.3006.33682.5875.72536.8529%201.16556.405.66772.7716%201.45366%201.0877%202.33558%201.7028.22011%203.3842.56284%205.0426%201.02226-1.6768-2.21445-4.136-3.84834-6.9832-4.5234m.5799%203.35047c-.2378-.58649-.5017-1.11829-.787-1.58954-.7794-1.28374-1.6906-2.10216-2.7307-2.10216s-1.9514.81842-2.7307%202.10216c-.2915.48305-.5615%201.0282-.80232%201.62944%202.39012-.23932%204.74022-.24968%207.05072-.0399%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
  --ecovance-asset-menu-panel-desktop: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22818.977%22%20height%3D%221024%22%20fill%3D%22none%22%20overflow%3D%22visible%22%20preserveAspectRatio%3D%22none%22%20style%3D%22display%3Ablock%22%20viewBox%3D%220%200%20818.977%201024%22%3E%3Cpath%20id%3D%22Vector%2042%22%20fill%3D%22%23225485%22%20d%3D%22M30.0164%201024H818.977V0H286.865c-13.594%200-25.489%209.14063-28.989%2022.2762L1.02769%20986.276C-4.04639%201005.32%2010.308%201024%2030.0164%201024%22%2F%3E%3C%2Fsvg%3E");
  --ecovance-asset-menu-legal-arrow: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%224.60355%22%20height%3D%224.60355%22%20fill%3D%22none%22%20overflow%3D%22visible%22%20preserveAspectRatio%3D%22none%22%20style%3D%22display%3Ablock%22%20viewBox%3D%220%200%204.60355%204.60355%22%3E%3Cpath%20id%3D%22Vector%2048%22%20fill%3D%22%23fff%22%20d%3D%22M.17678%204.07322%200%204.25l.35355.35355.17678-.17677L.35355%204.25zM4.60355.25c0-.13807-.11193-.25-.25-.25h-2.25c-.13807%200-.25.11193-.25.25s.11193.25.25.25h2v2c0%20.13807.11193.25.25.25s.25-.11193.25-.25zm-4.25%204%20.17678.17678%204-4L4.35355.25%204.17678.07322l-4%204z%22%2F%3E%3C%2Fsvg%3E");
  --ecovance-asset-section-label-wave: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2234.142%22%20height%3D%2221.4688%22%20fill%3D%22none%22%20viewBox%3D%220%200%2034.142%2021.4688%22%3E%3Cpath%20fill%3D%22%23227b11%22%20stroke%3D%22%23227b11%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M26.8797%201.00098c2.0461-.04049%203.938.86179%205.4229%201.86719l.292.20215.124.10449.0371.03711c.2336.23114.3203.51187.3535.66504.0206.09514.0346.2061.0322.32519-.0016.07839-.0122.21066-.0634.36133-.0105.04866-.065.3014-.2627.52149-.1272.14157-.3062.2644-.5313.32226-.214.05492-.4053.0343-.5439%200-.2489-.06162-.4427-.19692-.5586-.28613-.2788-.21455-.597-.4059-.9776-.63184v.00098c-.7526-.44005-1.5068-.75928-2.3037-.91699-.0052-.00103-.0104-.00182-.0156-.00293-.6661-.14328-1.3678-.09564-2.1475.07129-1.4031.32393-2.6561%201.06085-3.5488%202.12793-.2239.28577-.4205.57509-.6221.90625-.1493.25852-.2979.51784-.4472.77636-.1494.25865-.2989.51773-.4483.77637-.3882.70055-.6909%201.4059-1.0849%202.22458-.2964.6232-.5841%201.2376-.8731%201.8555-.2892.6185-.5805%201.2405-.8808%201.8721-.0034.0071-.0063.0144-.0098.0215-.0611.1208-.0934.1975-.1582.3418-.0647.1439-.1417.3081-.2695.54-.2288.4149-.4781.8272-.7784%201.2139l.001.0009c-.1048.1437-.1761.2531-.2558.3741-.08.1213-.1723.2594-.2979.4169-.2494.313-.5937.6571-1.2393%201.2208-1.4342%201.2521-3.2485%202.0035-5.14839%202.1289l-.00098-.001c-1.65588.1187-3.37976-.1167-4.92675-.8125-1.04219-.4298-1.98384-1.1101-2.74805-1.9502l-.00977-.0108c-.31672-.3582-.65297-.8602-.82617-1.1601-.20436-.3541-.2022-.743-.0791-1.0567.11313-.288.31828-.4991.53125-.6308.21075-.1303.51707-.2352.86719-.1787.34944.0565.639.2597.82129.5439.00976.014.0235.0322.03711.0547.00823.0139.02588.0448.03515.0625.00267.0054.00505.0134.00879.0215.04712.0665.09232.1293.12696.1807.05938.0881.09972.1468.13574.1943.00763.0101.01328.0219.02051.0322.0983.0851.17438.1755.24121.2637.0006.0008.00505.0065.01562.0176.01223.0127.02944.0295.05664.0547.03302.0305.05599.0504.10352.0937.03323.0303.07119.0666.1123.1065.67293.6004%201.50298%201.0724%202.38574%201.3242.67458.1753%201.32362.2978%201.94336.2978a.9.9%200%200%201%20.04102.001c.80768.0333%201.74091-.0701%202.36331-.2549.614-.1823%201.2568-.5283%201.7793-.916.4943-.3669.9094-.8347%201.4023-1.3975.4843-.5829.9103-1.2052%201.1963-1.8339l.0059-.0127.3867-.8389c.1302-.2853.2636-.5776.3974-.8613l.001-.001c.2783-.5875.5474-1.1666.8184-1.749.2705-.58151.5424-1.16689.8242-1.76175.0036-.00763.0079-.01493.0117-.02246.4254-.84181.8871-1.64191%201.333-2.41407l.0205-.03417c.0849-.13436.1719-.27913.2666-.43848.092-.15471.1921-.32412.294-.48535l.0371-.05567c.5209-.71363%201.1541-1.43233%201.9443-1.99707%201.4994-1.1083%203.3356-1.77089%205.2276-1.8125zM3.74202%2015.8516l.00195.0019c-.00065-.0011-.00128-.0027-.00195-.0039l-.00098-.001c.00046.0009.00052.0021.00098.003Zm-1.66309-.17c-.00219.0026-.00458.0051-.00683.0079.01024-.0122.01881-.0213.02441-.0274-.00544.0061-.0117.0126-.01758.0195Zm1-.7324c.01179.0089.02189.0163.02832.0215.00638.0051.01199.0102.0127.0108.00103.0008-.00066-.0011-.00293-.003-.00136-.0011-.0041-.0039-.00781-.0068a1%201%200%200%200-.02051-.0156c-.00501-.0038-.01343-.0095-.02344-.0166z%22%2F%3E%3C%2Fsvg%3E");
  --ecovance-asset-anchor-chevron: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%2212%22%20fill%3D%22none%22%20viewBox%3D%220%200%208%2012%22%3E%3Cpath%20stroke%3D%22%23fff%22%20stroke-width%3D%221.25%22%20d%3D%22M7%2011%201%206l6-5%22%2F%3E%3C%2Fsvg%3E");
  --ecovance-asset-contact-form-pattern: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22780%22%20height%3D%22795%22%20fill%3D%22none%22%20overflow%3D%22visible%22%20preserveAspectRatio%3D%22none%22%20style%3D%22display%3Ablock%22%20viewBox%3D%220%200%20780%20795%22%3E%3Cpath%20id%3D%22Vector%22%20fill%3D%22%23fff%22%20d%3D%22M390%20795c-48.75%200-97.5-9.034-143.203-24.091s-88.359-39.147-124.922-72.272c-36.5625-33.125-67.0315-72.273-88.3596-123.466C12.1872%20523.977%200%20466.761%200%20397.5s12.1872-126.477%2033.5154-177.67c21.3281-51.194%2051.7971-90.341%2088.3596-123.4663%2036.563-33.125%2079.219-57.216%20124.922-72.2728C292.5%209.03407%20341.25%200%20390%200s97.5%209.03407%20143.203%2024.0909c45.703%2015.0568%2088.359%2039.1478%20124.922%2072.2728%2036.562%2033.1253%2067.032%2075.2843%2088.36%20123.4663C767.813%20271.023%20780%20328.239%20780%20397.5s-12.187%20126.477-33.515%20177.671c-21.328%2051.193-51.798%2090.341-88.36%20123.466-36.563%2033.125-79.219%2057.215-124.922%2072.272S438.75%20795%20390%20795m0-150.568c33.516%200%2067.031-9.034%2094.453-24.091%2030.469-15.057%2051.797-42.159%2070.078-78.295%2018.282-36.137%2027.422-84.319%2027.422-141.535%200-57.215-9.14-105.397-27.422-141.534-18.281-36.136-42.656-63.238-70.078-78.295S423.516%20156.591%20390%20156.591c-33.515%200-67.031%209.034-94.453%2024.091s-54.844%2042.159-73.125%2078.295C204.141%20295.114%20195%20343.296%20195%20400.511c0%2057.216%209.141%20105.398%2027.422%20141.535%2018.281%2036.136%2042.656%2063.238%2073.125%2078.295s60.938%2024.091%2094.453%2024.091%22%20opacity%3D%22.5%22%2F%3E%3C%2Fsvg%3E");
  --ecovance-asset-partner-disclosure: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22none%22%20overflow%3D%22visible%22%20preserveAspectRatio%3D%22none%22%20style%3D%22display%3Ablock%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cg%20id%3D%22Group%2010%22%3E%3Ccircle%20id%3D%22Ellipse%2017%22%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%2215%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20id%3D%22Vector%2043%22%20stroke%3D%22%23225485%22%20stroke-width%3D%222%22%20d%3D%22m19.873%2011.1859-8.4314%208.4314%22%2F%3E%3Cpath%20id%3D%22Vector%2044%22%20stroke%3D%22%23225485%22%20stroke-width%3D%222%22%20d%3D%22m19.6171%2019.7375-8.4314-8.4313%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

/* Source: global.css */
/* EcoVance+ global styles. Font files are declared locally in theme.json. */

:root {
  --ecovance-blue: #225485;
  --ecovance-blue-dark: #163a57;
  --ecovance-blue-pale: #d9e3f2;
  --ecovance-green-dark: #227b11;
  --ecovance-green: #5bb252;
  --ecovance-green-pale: #e7f2e0;
  --ecovance-ink: #163a57;
  --ecovance-muted: #59616b;
  --ecovance-surface: #f5f5f5;
  --ecovance-border: #8494a1;
  --ecovance-radius: 1rem;
  --ecovance-wide: 105rem;
  --ecovance-header-wide: 80.625rem;
  --ecovance-motion-fast: 120ms;
  --ecovance-motion-base: 280ms;
  --ecovance-ease-standard: cubic-bezier(.4, 0, .2, 1);
  --ecovance-ease-emphasized: cubic-bezier(.22, .61, .36, 1);
}

/* Navigation interne native, légère et désactivable via les préférences système. */
html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ecovance-ink);
  background: #fff;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.wp-block-site-title,
.wp-block-navigation { font-family: "Atkinson Hyperlegible", Arial, sans-serif; }
h1, h2, h3, h4, h5, h6 { line-height: 1.15; text-wrap: balance; }
h1 { font-size: clamp(2.25rem, 6vw, 4.25rem); }
h2 { font-size: clamp(1.875rem, 4vw, 3rem); }
h3 { font-size: clamp(1.5rem, 3vw, 2.125rem); }
p, li { max-width: 93ch; }
a { color: var(--ecovance-blue-dark); text-decoration-thickness: .11em; text-underline-offset: .14em; }
a:hover { text-decoration-thickness: .16em; }
img, svg, video { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }

/* Mouvement discret et homogène sur les composants interactifs. */
:where(.wp-block-button__link, .wp-element-button, .ecovance-mini-link, .ecovance-download-link, .ecovance-tags a, .ecovance-pagination a, .ecovance-footer-navigation a, .ecovance-footer-sobriety, .ecovance-eco-badge) {
  transition: color var(--ecovance-motion-fast) ease-in-out, background-color var(--ecovance-motion-fast) ease-in-out, border-color var(--ecovance-motion-fast) ease-in-out, box-shadow var(--ecovance-motion-fast) ease-in-out, transform var(--ecovance-motion-fast) ease-in-out;
}
:where(.wp-block-button__link, .wp-element-button, .ecovance-mini-link, .ecovance-download-link, .ecovance-pagination a, .ecovance-footer-navigation a):is(:hover, :focus-visible) { transform: translateY(-.125rem); }
:where(.wp-block-button__link, .wp-element-button, .ecovance-mini-link, .ecovance-download-link, .ecovance-pagination a, .ecovance-footer-navigation a):active { transform: translateY(0); }
:where(.ecovance-news-card, .ecovance-partner-card) { transition: border-color var(--ecovance-motion-base) var(--ecovance-ease-standard), box-shadow var(--ecovance-motion-base) var(--ecovance-ease-standard), transform var(--ecovance-motion-base) var(--ecovance-ease-emphasized); }
:where(.ecovance-news-card, .ecovance-partner-card):is(:hover, :focus-within) { transform: translateY(-.1875rem); }

/* Keep focus visible for keyboard and switch-device users. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--ecovance-green-dark);
  outline-offset: 3px;
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus:not(:focus-visible) { outline: 0; }

.wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-group, .wp-block-columns, .wp-block-post-content { box-sizing: border-box; }

/* A top-level full-width block must escape Gutenberg's 720 px content column. */
.wp-block-post-content.is-layout-constrained > .alignfull,
.wp-block-post-content > .alignfull {
  width: 100vw;
  max-width: none;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

/* Background presets for full-width section blocks. */
.ecovance-bg-white { background: #fff; }
.ecovance-bg-blue { background: var(--ecovance-blue); color: #fff; }
.ecovance-bg-surface { background: var(--ecovance-surface); }
.ecovance-section-shell { width: 100%; max-width: none; margin: 0; }

/* Section widths available as Gutenberg block styles and CSS utility classes. */
.wp-block-group.is-style-ecovance-width-full,
.ecovance-section-width-full {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.wp-block-group.is-style-ecovance-width-wide,
.wp-block-group.is-style-ecovance-width-1320,
.wp-block-group.is-style-ecovance-width-1120,
.wp-block-group.is-style-ecovance-width-960,
.wp-block-group.is-style-ecovance-width-content,
.ecovance-section-width-wide,
.ecovance-section-width-content,
.ecovance-section-width-960,
.ecovance-section-width-1120,
.ecovance-section-width-1320 {
  width: min(calc(100% - clamp(2rem, 10.4167vw, 15rem)), var(--ecovance-content-width));
  max-width: var(--ecovance-content-width);
  margin-inline: auto;
}

.wp-block-group.is-style-ecovance-width-wide,
.ecovance-section-width-wide {
  --ecovance-content-width: var(--ecovance-wide);
}

.wp-block-group.is-style-ecovance-width-content,
.ecovance-section-width-content {
  --ecovance-content-width: var(--wp--style--global--content-size);
}

.wp-block-group.is-style-ecovance-width-960,
.ecovance-section-width-960 {
  --ecovance-content-width: 960px;
}

.wp-block-group.is-style-ecovance-width-1120,
.ecovance-section-width-1120 {
  --ecovance-content-width: 1120px;
}

.wp-block-group.is-style-ecovance-width-1320,
.ecovance-section-width-1320 {
  --ecovance-content-width: 1320px;
}
.alignwide {
  width: min(calc(100% - 9.375rem), var(--ecovance-wide));
  max-width: none;
  margin-inline: auto;
}
@media (max-width: 47.99rem) {
  .alignwide { width: min(calc(100% - 2rem), var(--ecovance-wide)); }
}

.ecovance-main {
  padding-block: clamp(2rem, 5vw, 5rem);
  padding-inline: 0;
}

.ecovance-page-has-content-h1 .ecovance-main { padding-block: 0; }
.ecovance-page-has-content-h1 .ecovance-site-header { margin-bottom: 0; }

/* A simple Hero starts behind the floating header, as specified in the UI kit. */
.page-template-default.ecovance-page-has-content-h1:has(.ecovance-main .wp-block-post-content > .ecovance-simple-hero:first-child)
  .wp-site-blocks > header.wp-block-template-part {
  position: absolute;
  inset: 0 0 auto;
  z-index: 20;
  width: 100%;
}

.ecovance-main--fluid { padding-block: 0; }

/* Optional per-block motion switch. Focus visibility remains mandatory. */
.ecovance-no-motion,
.is-style-ecovance-no-motion,
.ecovance-disable-all-motion,
.ecovance-no-motion *,
.is-style-ecovance-no-motion *,
.ecovance-disable-all-motion *,
.ecovance-disable-all-motion *::before,
.ecovance-disable-all-motion *::after {
  animation: none !important;
  scroll-behavior: auto !important;
  transition: none !important;
}

.ecovance-no-motion:is(:hover, :focus-within),
.ecovance-no-motion :is(:hover, :focus-within),
.is-style-ecovance-no-motion:is(:hover, :focus-within),
.is-style-ecovance-no-motion :is(:hover, :focus-within),
.ecovance-disable-all-motion :is(:hover, :focus-within) {
  transform: none !important;
}

/* Header and navigation: dimensions follow the validated Figma UI kit. */
.ecovance-site-header {
  position: relative;
  z-index: 20;
  box-sizing: border-box;
  width: min(calc(100% - 1.25rem), var(--ecovance-header-wide));
  height: 4.9375rem;
  margin: 1.0625rem auto;
  padding: 0 .4375rem;
  background: var(--ecovance-blue);
  border-radius: 3.125rem;
  color: #fff;
  box-shadow: 0 1px 2px rgb(0 0 0 / 25%);
}
.ecovance-header-inner {
  width: 100%;
  min-height: 100%;
  gap: .75rem;
  padding: 0;
}
.ecovance-site-header a { color: #fff; }
.ecovance-site-header .wp-block-site-logo { flex: 0 0 auto; line-height: 0; }
.ecovance-site-header .wp-block-site-logo img {
  display: block;
  width: 12.8125rem;
  height: auto;
}
.ecovance-site-header .wp-block-navigation__container { gap: .75rem 1.25rem; }
.ecovance-site-header .wp-block-navigation-item__content { text-decoration: none; }
.ecovance-navigation { flex: 0 0 auto; }
.ecovance-header-actions { align-items: center; flex-wrap: nowrap; gap: 1rem; }
.ecovance-header-language,
.ecovance-menu-language { margin: 0; }
.ecovance-header-language { display: none; }
.ecovance-language-switcher { margin: 0; color: #fff; font-family: "Atkinson Hyperlegible", Arial, sans-serif; font-size: .9375rem; }
.ecovance-language-switcher ul { display: flex; margin: 0; padding: 0; list-style: none; }
.ecovance-language-switcher li { max-width: none; margin: 0; }
.ecovance-language-switcher a { display: inline-flex; color: #fff; text-decoration: none; }
.ecovance-language-switcher > p:empty { display: none; }
.ecovance-language-switcher__label { display: none; }
.ecovance-language-switcher--header { display: none; }
.ecovance-menu-extras { display: none; }
.ecovance-button-contact .wp-block-button__link {
  position: relative;
  display: inline-flex;
  min-width: 6.9375rem;
  min-height: 1.9375rem;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  padding: .25rem 1.75rem .25rem .75rem;
  border: 1px solid #fff;
  background: transparent;
  font-size: .9375rem;
  line-height: 1;
}
.ecovance-button-contact .wp-block-button__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: .8125rem;
  width: .513rem;
  height: .513rem;
  /* A mask is not moved to WP Rocket's deferred background-image variables. */
  background-color: currentColor;
  -webkit-mask: var(--ecovance-asset-contact-arrow) center / contain no-repeat;
  mask: var(--ecovance-asset-contact-arrow) center / contain no-repeat;
  transform: translateY(-50%);
}
.ecovance-site-header .wp-block-navigation__responsive-container-open {
  display: inline-flex;
  min-width: 5.3125rem;
  min-height: 2.75rem;
  align-items: center;
  justify-content: flex-start;
  gap: .4375rem;
  padding: .5rem;
  color: #fff;
}
.ecovance-site-header .wp-block-navigation__responsive-container-open > svg { display: none; }
.ecovance-site-header .wp-block-navigation__responsive-container-open::before {
  content: "";
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: .875rem;
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor);
  background-position: left top, left .375rem, left .75rem;
  background-repeat: no-repeat;
  background-size: 1.25rem .125rem, .875rem .125rem, .6875rem .125rem;
}
.ecovance-site-header .wp-block-navigation__responsive-container-open::after {
  content: "Menu";
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1;
}
.ecovance-site-header :where(a, button):focus-visible,
.wp-block-navigation__responsive-container.is-menu-open :where(a, button):focus-visible {
  outline-color: #fff;
  box-shadow: 0 0 0 6px var(--ecovance-green-dark);
}
.ecovance-site-header .ecovance-navigation .wp-block-navigation__responsive-container.is-menu-open {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: block;
  width: 100vw;
  padding: 0;
  height: auto;
  min-height: 0;
  overflow: hidden;
  background-color: rgb(22 58 87 / 70%) !important;
  color: #fff !important;
  animation: ecovance-menu-overlay-in var(--ecovance-motion-base) ease-in-out both;
}
.ecovance-site-header .ecovance-navigation .wp-block-navigation__responsive-container.is-menu-open.is-menu-closing {
  pointer-events: none;
  animation: ecovance-menu-overlay-out var(--ecovance-motion-base) ease-in-out both;
}
.ecovance-site-header .ecovance-navigation .wp-block-navigation__responsive-container.is-menu-open a { color: #fff; }
.ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
  box-sizing: border-box;
  height: 100%;
  min-height: 100%;
}
.ecovance-site-header .wp-block-navigation__responsive-container-close {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-width: 2.875rem;
  min-height: 2.875rem;
  padding: 0;
  color: #fff;
}
.ecovance-site-header .wp-block-navigation__responsive-container-close > svg { display: none; }
.ecovance-site-header .wp-block-navigation__responsive-container-close::before {
  content: "";
  flex: 0 0 2.875rem;
  width: 2.875rem;
  height: 2.875rem;
  background: var(--ecovance-asset-menu-close) center / contain no-repeat;
}
.ecovance-site-header .wp-block-navigation__responsive-container-close::after {
  content: "Fermer";
  margin-left: .75rem;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 1.875rem;
  line-height: 1;
  text-decoration: underline;
  text-underline-offset: .12em;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  align-items: flex-start;
  gap: 0;
  margin: 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  line-height: 1.2;
}
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content { font-weight: 700; text-decoration: underline; text-underline-offset: .12em; }

/* Reusable editorial surfaces and controls. */
.ecovance-surface { padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--ecovance-surface); border-radius: var(--ecovance-radius); }
.ecovance-card { padding: 1.25rem; border: 1px solid var(--ecovance-border); border-radius: var(--ecovance-radius); background: #fff; }
.ecovance-card-grid,
.ecovance-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 1rem;
  margin-block: 1.5rem;
}
.ecovance-card-grid > *,
.ecovance-stat-grid > * { margin-block-start: 0; }
.ecovance-card h2,
.ecovance-card h3 { margin-block-start: 0; }
.ecovance-card .wp-block-post-featured-image { margin: -1.25rem -1.25rem 1.25rem; }
.ecovance-card .wp-block-post-featured-image img {
  display: block;
  width: 100%;
  border-radius: var(--ecovance-radius) var(--ecovance-radius) 0 0;
  object-fit: cover;
}
.ecovance-partner-meta,
.ecovance-post-meta { color: var(--ecovance-muted); font-size: .9375rem; }
.ecovance-stat {
  padding: 1.25rem;
  border-radius: var(--ecovance-radius);
  background: var(--ecovance-green-pale);
}
.ecovance-stat-value {
  display: block;
  margin-block-end: .25rem;
  color: var(--ecovance-blue-dark);
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 700;
  line-height: 1;
}
.ecovance-section { margin-block: clamp(3rem, 7vw, 6rem); }
.ecovance-section > :first-child { margin-block-start: 0; }
.ecovance-section > :last-child { margin-block-end: 0; }
.wp-block-button__link, .wp-element-button {
  display: inline-flex;
  min-block-size: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: .6rem 1.25rem;
  border: 2px solid transparent;
  border-radius: 2rem;
  background: var(--ecovance-blue);
  color: #fff;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}
.wp-block-button__link:hover, .wp-element-button:hover { background: var(--ecovance-blue-dark); color: #fff; }
.is-style-outline .wp-block-button__link { border-color: var(--ecovance-blue); background: transparent; color: var(--ecovance-blue-dark); }
.wp-block-separator { border-color: var(--ecovance-border); }
input, select, textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--ecovance-border); border-radius: .375rem; padding: .7rem .8rem; background: #fff; color: var(--ecovance-ink); }
label { display: block; margin-block-end: .35rem; font-weight: 700; }

/* Footer desktop layout stays flexible for FSE columns and stacks on small screens. */
.ecovance-site-footer { padding: 3rem 1rem 1.5rem; }
.ecovance-site-footer:not(.has-background) { background: var(--wp--preset--color--footer-background, #e0ebf7); }
.ecovance-site-footer:not(.has-text-color) { color: var(--ecovance-ink); }
.ecovance-site-footer a { color: inherit; }
.ecovance-footer-inner { max-width: var(--ecovance-wide); }
.ecovance-site-footer .wp-block-columns { margin-inline: auto; }
.ecovance-site-footer h2 { font-size: 1rem; text-transform: uppercase; letter-spacing: .02em; }
.ecovance-site-footer .wp-block-navigation-item__content { font-size: .9375rem; }
.ecovance-footer-partners { margin: 0; padding: 0; list-style: none; font-size: .9375rem; }
.ecovance-footer-partners li + li { margin-top: .45rem; }
.ecovance-sobriety { gap: 1rem; padding-top: 1rem; }

.ecovance-simple-hero {
  position: relative;
  min-height: 33.25rem;
  box-sizing: border-box;
  overflow: hidden;
  padding: clamp(10rem, 14vw, 13.25rem) max(1.5rem, calc((100vw - 78rem) / 2)) 7rem;
  background: #eef3f9;
  isolation: isolate;
}
.ecovance-simple-hero::before {
  content: "";
  position: absolute;
  right: clamp(2rem, 9vw, 9rem);
  bottom: 1rem;
  z-index: -1;
  display: block;
  width: .62em;
  height: .62em;
  background:
    linear-gradient(currentColor 0 0) center / 100% 16% no-repeat,
    linear-gradient(currentColor 0 0) center / 16% 100% no-repeat;
  color: rgb(217 227 242 / 55%);
  font-size: clamp(18rem, 32vw, 34rem);
  pointer-events: none;
}
.ecovance-simple-hero__inner.alignwide { width: 100%; max-width: 78rem; margin: 0; }
.ecovance-simple-hero__title { max-width: 62rem; margin: 0; font-size: clamp(3rem, 6vw, 5.625rem); line-height: .96; }
.ecovance-simple-hero__intro { max-width: 48rem; margin-top: 1rem; font-weight: 700; line-height: 1.25; }

/* Conserve le tracé du hero en temps normal et réserve sa hauteur réelle
   uniquement lorsque le test RGAA augmente l’espacement du texte. */
.ecovance-simple-hero.has-expanded-text-spacing {
  padding-bottom: calc(clamp(4.5rem, 8.333vw, 10rem) + 2rem);
}
.ecovance-simple-hero.has-expanded-text-spacing .ecovance-simple-hero__inner {
  position: relative;
  z-index: 1;
}
.ecovance-cta { margin-block: clamp(2rem, 6vw, 5rem); padding: clamp(1.5rem, 4vw, 3rem); background: var(--ecovance-green-pale); border-radius: 1rem; }

/* Page « Le projet » — hero Figma, sans script ni ressource externe. */
.ecovance-project-page {
  position: relative;
  z-index: 1;
}
.ecovance-project-hero {
  --ecovance-project-hero-layout-height: 45.625rem;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: 45.625rem;
  margin: 0;
  overflow: hidden;
  isolation: isolate;
}
.ecovance-project-hero.ecovance-project-hero--pattern {
  /* La composition est conçue pour commencer derrière le header, comme dans Figma. */
  margin-top: -7.0625rem;
  margin-block-start: -7.0625rem;
}
/* La page espagnole contient déjà son Hero traduit dans le contenu. */
html[lang^="es"] .ecovance-project-page > .ecovance-project-hero:not(.ecovance-project-hero--pattern) { display: none; }
.ecovance-project-page > .ecovance-project-hero:not(.ecovance-project-hero--pattern) {
  /* Compatibilité avec l’ancienne variante du template : une seule remontée sous le header. */
  margin-top: -7.0625rem;
  margin-block-start: -7.0625rem;
}
.ecovance-project-hero__decorations,
.ecovance-project-hero__collage {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  pointer-events: none;
}
.ecovance-project-hero__decorations { z-index: -1; }
.ecovance-project-hero__asset,
.ecovance-project-hero__media {
  position: absolute;
  max-width: none !important;
  margin: 0 !important;
  line-height: 0;
}
.ecovance-project-hero__asset img,
.ecovance-project-hero__media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: fill;
}
.ecovance-project-hero__asset--background-mobile {
  display: none;
}
.ecovance-project-hero__asset--background-desktop,
.ecovance-project-hero__asset--mask,
.ecovance-project-hero__asset--decor-left,
.ecovance-project-hero__asset--decor-right-desktop { display: none; }
.ecovance-project-hero__asset--decor-right-mobile {
  top: 7.6875rem;
  left: calc(50% - 12.1875rem + 46.625rem);
  width: 30.5rem;
  height: 31.125rem;
  transform: rotate(90deg);
  transform-origin: top left;
}
.ecovance-project-hero__copy {
  position: absolute;
  top: calc((100% - var(--ecovance-project-hero-layout-height)) / 2);
  right: 0;
  bottom: auto;
  left: 0;
  width: 100%;
  height: var(--ecovance-project-hero-layout-height);
  max-width: none;
  margin: 0 !important;
  pointer-events: none;
}
.ecovance-project-hero__copy > * { pointer-events: auto; }
.ecovance-project-hero__title {
  position: absolute;
  top: 21.8125rem;
  left: 1.625rem;
  z-index: 2;
  width: 14.25rem;
  margin: 0;
  color: var(--ecovance-blue-dark);
  font-size: 4.375rem;
  font-weight: 700;
  line-height: .78;
  text-wrap: wrap;
}
.ecovance-project-hero__title::first-line { color: var(--ecovance-blue); font-weight: 400; }
.ecovance-project-hero__intro {
  position: absolute;
  top: 30.625rem;
  left: 1.9375rem;
  z-index: 2;
  width: 16.25rem;
  margin: 0;
  color: var(--ecovance-blue-dark);
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 1.125rem;
  line-height: 1.18;
}
.ecovance-project-hero__actions {
  position: absolute;
  top: 35.75rem;
  left: 1.9375rem;
  z-index: 2;
  display: flex !important;
  width: calc(100% - 3.875rem);
  max-width: 18rem;
  flex-direction: column;
  align-items: stretch;
  gap: .75rem;
  margin: 0;
}
.ecovance-project-hero__actions .wp-block-button {
  width: 100%;
}
.ecovance-project-hero__actions .wp-block-button__link {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: 3rem;
  padding: .75rem 1rem;
  border: 2px solid var(--ecovance-blue-dark);
  border-radius: .625rem;
  font-size: 1rem;
  line-height: 1.15;
  white-space: normal;
}
.ecovance-project-hero__actions .ecovance-button-primary .wp-block-button__link {
  padding-right: 2.5rem;
  background: var(--ecovance-blue);
  box-shadow: .1875rem .25rem 0 var(--ecovance-blue-dark);
}
.ecovance-project-hero__actions .ecovance-button-primary .wp-block-button__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  width: .9375rem;
  height: .625rem;
  background: currentcolor;
  -webkit-mask: var(--ecovance-asset-partner-band-arrow) center / contain no-repeat;
  mask: var(--ecovance-asset-partner-band-arrow) center / contain no-repeat;
  transform: translateY(-50%);
}
.ecovance-project-hero__actions .ecovance-button-secondary .wp-block-button__link {
  background: transparent;
  color: var(--ecovance-blue-dark);
}
.ecovance-project-hero__collage {
  top: calc((100% - var(--ecovance-project-hero-layout-height)) / 2);
  bottom: auto;
  height: var(--ecovance-project-hero-layout-height);
  z-index: 1;
}
.ecovance-project-hero__card {
  position: absolute;
  display: block;
  box-sizing: border-box;
  margin: 0 !important;
  border-radius: .9375rem;
}
.ecovance-project-hero__card--man {
  top: 7.625rem;
  left: 1.5575rem;
  width: 10.582rem;
  height: 13.0625rem;
}
.ecovance-project-hero__media--shape-tall {
  inset: 0;
  width: 100%;
  height: 100%;
}
.ecovance-project-hero__media--arrow {
  top: .9506rem;
  left: 2.2325rem;
  width: 7.895rem;
  height: 6.0805rem;
}
.ecovance-project-hero__media--man {
  top: 2.521rem;
  left: -.62rem;
  width: 15.81rem;
  height: 10.541rem;
}
.ecovance-project-hero__card--meeting { display: none; }
.ecovance-project-hero__card--workshop {
  top: 7.625rem;
  left: 12.75rem;
  width: 10.4375rem;
  height: 13.0625rem;
  overflow: hidden;
}
.ecovance-project-hero__media--shape-wide {
  inset: 0;
  width: 100%;
  height: 100%;
}
.ecovance-project-hero__media--workshop {
  top: 2.375rem;
  left: -2.5625rem;
  width: 16rem;
  height: 10.6875rem;
}
.ecovance-project-hero__media--meeting { inset: 0; width: 100%; height: 100%; }
.editor-styles-wrapper .ecovance-project-hero__decorations,
.editor-styles-wrapper .ecovance-project-hero__collage,
.editor-styles-wrapper .ecovance-project-hero__asset,
.editor-styles-wrapper .ecovance-project-hero__media { pointer-events: auto; }
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__decorations,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__collage,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__asset,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__media,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__card,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__title,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__intro,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__actions { position: absolute; }
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__copy { position: absolute; pointer-events: auto; }
/* In Gutenberg, keep the hero text and actions in normal flow for easy selection. */
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__copy {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 2rem !important;
  pointer-events: auto;
  z-index: 2;
}
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__title,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__intro,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-project-hero__actions {
  position: relative !important;
  inset: auto !important;
  width: min(100%, 36rem) !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 0 1rem !important;
  pointer-events: auto;
}
.ecovance-project-content { margin-top: 0; }

@media (min-width: 48rem) {
  .ecovance-site-header {
    width: min(calc(100vw - 9.375rem), var(--ecovance-header-wide));
    height: 7.625rem;
    margin-block: 1.8125rem;
    margin-inline: max(4.6875rem, calc((100vw - var(--ecovance-header-wide)) / 2));
    padding-inline: 2.4375rem;
  }
  .ecovance-header-inner {
    box-sizing: border-box;
    max-width: none;
    justify-content: flex-start !important;
    gap: 1rem;
  }
  .ecovance-site-header .wp-block-site-logo img {
    width: 19.25rem;
    height: 4.375rem;
    object-fit: contain;
    transform: translateY(.1875rem);
  }
  .ecovance-site-header .ecovance-navigation { margin-left: auto; }
  .ecovance-site-header .ecovance-header-actions { margin-right: 0; }
  .ecovance-header-language { display: block; flex: 0 0 auto; }
  .ecovance-language-switcher--header { display: flex; min-height: 2.75rem; flex: 0 0 auto; align-items: center; gap: .75rem; padding-left: 1.5rem; margin-left: .75rem; border-left: 1px solid rgb(255 255 255 / 85%); text-transform: uppercase; }
  .ecovance-language-switcher--header::before {
    content: "";
    width: 1.6875rem;
    height: 1.625rem;
    flex: 0 0 1.6875rem;
    background-color: currentColor;
    -webkit-mask: var(--ecovance-asset-language-globe) center / contain no-repeat;
    mask: var(--ecovance-asset-language-globe) center / contain no-repeat;
  }
  .ecovance-language-switcher--header .ecovance-language-switcher__control { position: relative; width: 5.75rem; height: 2.75rem; flex: 0 0 5.75rem; }
  .ecovance-language-switcher--header .ecovance-language-switcher__toggle {
    position: absolute;
    inset: 0;
    display: inline-flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font-size: .9375rem;
    line-height: 1;
    text-align: left;
    text-transform: uppercase;
  }
  .ecovance-language-switcher--header .ecovance-language-switcher__toggle[aria-expanded="true"] { visibility: hidden; }
  .ecovance-language-switcher--header .ecovance-language-switcher__options {
    position: absolute;
    top: 50%;
    left: 0;
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    transform: translateY(-50%);
    animation: ecovance-language-options-in var(--ecovance-motion-fast) ease-in-out both;
  }
  .ecovance-language-switcher--header .ecovance-language-switcher__options[hidden] { display: none !important; }
  .ecovance-language-switcher--header .ecovance-language-switcher__options li { width: 100%; }
  .ecovance-language-switcher--header .ecovance-language-switcher__options :is(a, .ecovance-language-switcher__current) { display: inline-flex; min-height: 1.375rem; align-items: center; color: #fff; font-size: .9375rem; line-height: 1; text-decoration: none; }
  .ecovance-language-switcher--header .ecovance-language-switcher__options a:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: .15em; }
  .ecovance-site-header .wp-block-navigation__responsive-container-open {
    min-width: 5.5625rem;
    padding-inline: .25rem;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container-open::after { font-size: 1.125rem; }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
    position: absolute;
    inset: 0 0 0 auto;
    width: 100%;
    max-width: none !important;
    height: 100%;
    min-height: 100%;
    margin: 0 !important;
    background: var(--ecovance-asset-menu-panel-desktop) right top / auto 100% no-repeat;
    backface-visibility: hidden;
    transform-origin: right center;
    will-change: transform;
    animation: ecovance-menu-in-from-right var(--ecovance-motion-base) ease-in-out both;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open.is-menu-closing .wp-block-navigation__responsive-close {
    animation: ecovance-menu-out-to-right var(--ecovance-motion-base) ease-in-out both;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
    width: 23.125rem;
    height: 39.375rem;
    background: url("../images/menu-group-9.webp") right bottom / contain no-repeat;
    pointer-events: none;
    opacity: 0.4;
    mix-blend-mode: overlay;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container-close {
    top: 4.625rem;
    right: max(2.5rem, calc((100vw - 115rem) / 2 + 4.5rem));
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    position: absolute;
    inset: 0 0 0 auto;
    width: 100%;
    height: 100%;
    min-height: 100%;
    margin: 0;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    --ecovance-menu-primary-offset: clamp(10rem, 28vh, 15.75rem);
    --ecovance-menu-primary-size: clamp(2.25rem, 6vh, 3.125rem);
    --ecovance-menu-primary-gap: clamp(.5rem, 1.6vh, 1.25rem);
    --ecovance-menu-legal-inset: max(5rem, calc(min(57.568vw, 45.186rem) - 83vh + 1.25rem));
    position: relative;
    box-sizing: border-box;
    display: flex;
    width: min(57.568vw, 40.186rem);
    height: 100vh;
    min-height: 0;
    flex-direction: column;
    margin-left: auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: var(--ecovance-menu-primary-offset) 0 clamp(1.5rem, 4vh, 2.75rem);
  }
  body .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    position: relative;
    z-index: 1;
    width: 100%;
    flex: 0 0 auto;
    align-items: flex-start;
    gap: var(--ecovance-menu-primary-gap);
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item:nth-child(1) { margin-left: 35.9%; }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { margin-left: 32.7%; transform: translateY(.1875rem); }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { margin-left: 29.8%; transform: translateY(.1875rem); }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { margin-left: 27.4%; transform: translateY(.125rem); }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { margin-left: 24.1%; transform: translateY(-.3125rem); }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item:nth-child(6) { margin-left: 22.2%; transform: translateY(-.125rem); }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    font-size: var(--ecovance-menu-primary-size);
    line-height: 1.2;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .ecovance-menu-extras {
    position: static;
    z-index: 2;
    display: grid;
    width: 100%;
    flex: 0 0 auto;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: clamp(1rem, 3vw, 3rem);
    box-sizing: border-box;
    margin: auto 0 0;
    padding: clamp(1rem, 3vh, 2rem) clamp(2rem, 6vw, 6rem) 0 var(--ecovance-menu-legal-inset);
    pointer-events: auto;
  }
  nav.ecovance-menu-legal { position: static; width: 100%; margin: 0; pointer-events: auto; }
  nav.ecovance-menu-legal > .wp-block-navigation__container { position: static !important; inset: auto !important; display: grid !important; width: 100% !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1.5rem !important; margin: 0 !important; }
  nav.ecovance-menu-legal .wp-block-navigation-item { position: static !important; width: auto !important; margin: 0 !important; transform: none !important; }
  nav.ecovance-menu-legal .wp-block-navigation-item__content { display: inline-flex; min-height: clamp(1.5rem, 3vh, 1.75rem); align-items: center; gap: .5rem; font-size: clamp(.875rem, 1.8vh, 1.125rem) !important; font-weight: 400; line-height: 1.2 !important; }
  nav.ecovance-menu-legal .wp-block-navigation-item__content::before { content: ""; width: .75rem; height: .75rem; flex: 0 0 .75rem; box-sizing: border-box; border: .5px solid currentColor; border-radius: 1px; background: var(--ecovance-asset-menu-legal-arrow) center / .25rem .25rem no-repeat; }
  .ecovance-language-switcher--menu { position: static; align-self: end; margin: 0; pointer-events: auto; }
  .ecovance-language-switcher--menu ul { flex-direction: column; align-items: flex-start; gap: 0; }
  .ecovance-language-switcher--menu :is(a, .ecovance-language-switcher__current) { display: inline-flex; min-height: clamp(2.25rem, 5vh, 2.8125rem); align-items: center; color: #fff; font-size: clamp(1.25rem, 3.2vh, 1.875rem); line-height: 1; text-decoration: none; }
  .ecovance-language-switcher--menu .ecovance-language-switcher__current { font-weight: 700; text-decoration: underline; text-underline-offset: .12em; }
  .ecovance-project-hero.ecovance-project-hero--pattern {
    margin-top: -11.25rem;
    margin-block-start: -11.25rem;
  }
  .ecovance-project-page > .ecovance-project-hero:not(.ecovance-project-hero--pattern) {
    margin-top: -11.25rem;
    margin-block-start: -11.25rem;
  }
  .ecovance-project-hero {
    --ecovance-project-hero-layout-height: 38.8125rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 38.8125rem;
  }
  .ecovance-project-hero.ecovance-project-hero--pattern.has-ecovance-rc-d-h {
    height: auto !important;
    min-height: max(var(--ecovance-rc-d-h, 90vh), var(--ecovance-project-hero-layout-height));
  }
  .ecovance-project-hero__copy {
    --ecovance-project-hero-content-left: max(2rem, calc((100vw - 90rem) / 2 + 12.75rem));
    position: relative;
    top: auto;
    box-sizing: border-box;
    display: flex;
    width: 100vw !important;
    max-width: none !important;
    height: max-content;
    min-height: var(--ecovance-project-hero-layout-height);
    align-self: start;
    flex-direction: column;
    align-items: flex-start;
    margin-left: calc(50% - 50vw) !important;
    padding: 14.75rem 2rem 2rem var(--ecovance-project-hero-content-left) !important;
  }
  .ecovance-project-hero__copy > :is(.ecovance-project-hero__title, .ecovance-project-hero__intro, .ecovance-project-hero__actions) {
    max-width: none;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .ecovance-project-hero__collage { top: 0; }
  .ecovance-project-hero__asset--background-mobile,
  .ecovance-project-hero__asset--decor-right-mobile { display: none; }
  .ecovance-project-hero__asset--background-desktop {
    display: none;
  }
  .ecovance-project-hero__asset--mask {
    top: 1.577rem;
    left: .9375rem;
    display: block;
    width: 55.886rem;
    height: 36.897rem;
  }
  .ecovance-project-hero__asset--decor-left {
    top: 0;
    left: calc(50% - 45rem - 15.5rem);
    display: block;
    width: 36.6875rem;
    height: 36.875rem;
  }
  .ecovance-project-hero__asset--decor-right-desktop {
    top: 9.5625rem;
    left: calc(50% - 45rem + 110.25rem);
    display: block;
    width: 36.75rem;
    height: 37.5rem;
    transform: rotate(90deg);
    transform-origin: top left;
  }
  .ecovance-project-hero__title {
    position: relative;
    top: auto;
    left: auto;
    width: 20.1875rem;
    min-height: 9.9375rem;
    font-size: 6.625rem;
  }
  .ecovance-project-hero__intro {
    position: relative;
    top: auto;
    left: auto;
    width: 25.25rem;
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.15;
  }
  .ecovance-project-hero__actions {
    position: relative;
    top: auto;
    left: auto;
    z-index: 2;
    display: flex !important;
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1rem;
    margin: 2rem 0 0;
  }
  .ecovance-project-hero__actions .wp-block-button {
    width: auto;
  }
  .ecovance-project-hero__actions .wp-block-button__link {
    position: relative;
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    height: auto;
    min-height: 3.625rem;
    border: 2px solid var(--ecovance-blue-dark);
    border-radius: .625rem;
    font-size: 1.25rem;
    white-space: normal;
  }
  .ecovance-project-hero__actions .ecovance-button-primary .wp-block-button__link {
    width: auto;
    min-width: 14.6875rem;
    min-height: 4rem;
    padding-right: 2.75rem;
    background: var(--ecovance-blue);
    box-shadow: .1875rem .25rem 0 var(--ecovance-blue-dark);
  }
  .ecovance-project-hero__actions .ecovance-button-primary .wp-block-button__link::after {
    content: "";
    position: absolute;
    right: 1rem;
  }
  .ecovance-project-hero__actions .ecovance-button-secondary .wp-block-button__link {
    width: auto;
    min-width: 14.0625rem;
    background: transparent;
    color: var(--ecovance-blue-dark);
  }
  .ecovance-project-hero__card--man {
    top: 14.3125rem;
    left: max(33.5rem, calc((100vw - 90rem) / 2 + 47.25rem));
    width: 16rem;
    height: 19.75rem;
  }
  .ecovance-project-hero__media--arrow {
    top: 1.4375rem;
    left: 3.375rem;
    width: 11.9375rem;
    height: 9.193rem;
  }
  .ecovance-project-hero__media--man {
    top: 3.8125rem;
    left: -.9375rem;
    width: 23.9375rem;
    height: 15.9375rem;
  }
  .ecovance-project-hero__card--meeting {
    top: 14.125rem;
    left: max(50.5rem, calc((100vw - 90rem) / 2 + 65rem));
    display: block;
    width: 16rem;
    height: 11.5rem;
    overflow: hidden;
  }
  .ecovance-project-hero__media--meeting {
    inset: 0;
    width: 16rem;
    height: 11.625rem;
  }
  .ecovance-project-hero__card--workshop {
    top: 24.9375rem;
    left: max(50.5rem, calc((100vw - 90rem) / 2 + 65rem));
    width: 16rem;
    height: 10.6875rem;
  }
  .ecovance-project-hero__media--shape-wide {
    top: 2.25rem;
    left: 0;
    width: 16rem;
    height: 8.4375rem;
  }
  .ecovance-project-hero__media--workshop {
    inset: 0;
    width: 16rem;
    height: 10.6875rem;
  }
  .ecovance-site-footer { padding: 4.5rem 2rem 2rem; }
}
@media (max-width: 47.99rem) {
  :is(.wp-block-group, .wp-block-columns).is-style-ecovance-stack-mobile {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
  }
  :is(.wp-block-group, .wp-block-columns).is-style-ecovance-stack-mobile > * {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    box-sizing: border-box;
  }

  .ecovance-ui-section:has(.ecovance-form-grid) {
    width: min(calc(100% - 41px), 349px);
    margin-inline: auto;
  }
  body.home .ecovance-project-hero__title {
    top: 22.3125rem;
    width: calc(100% - 3rem);
    font-size: 3.875rem;
  }
  body.home .ecovance-project-hero__intro {
    top: 29rem;
  }
  .ecovance-simple-hero { min-height: 25rem; padding: 8.5rem 1.5rem 5.5rem; }
  .ecovance-simple-hero::before { right: -2rem; bottom: 1rem; font-size: 18rem; }
  .ecovance-simple-hero__title { font-size: 3rem; }
  body .ecovance-site-header .ecovance-header-actions { display: none; }
  .ecovance-header-language { display: none; }
  .ecovance-site-header .wp-block-site-logo img { transform: translateY(1px); }
  .ecovance-site-header .wp-block-navigation__responsive-container-open { transform: translateX(-1.1875rem); }
  .ecovance-site-footer .wp-block-columns { gap: 1.5rem; }
  .ecovance-sobriety { align-items: flex-start; flex-direction: column; }
}

@media (min-width: 20rem) and (max-width: 23.75rem) {
  body.home .ecovance-project-hero__title {
    font-size: clamp(2.9375rem, 14.75vw, 3.5rem);
  }
}

/*
 * The compact panel is reserved for mobile and touch tablets. Desktop and
 * laptop layouts keep the angled composition, even when height is limited.
 */
@media (max-width: 47.99rem), (min-width: 48rem) and (max-width: 64rem) and (hover: none) and (pointer: coarse) {
  .ecovance-site-header .ecovance-navigation .wp-block-navigation__responsive-container.is-menu-open {
    box-sizing: border-box;
    display: grid;
    padding: 1rem;
    place-items: center;
    background-color: rgb(255 255 255 / 78%) !important;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
    position: relative;
    inset: auto;
    box-sizing: border-box;
    width: min(100%, 42rem);
    height: min(44rem, calc(100vh - 2rem));
    height: min(44rem, calc(100dvh - 2rem));
    min-height: 0;
    margin: 0 !important;
    overflow: hidden;
    border-radius: clamp(2rem, 5vw, 3.125rem);
    background-color: var(--ecovance-blue);
    background-image: url("../images/logo-ecovance-horizontal-blanc.png");
    background-position: .3125rem .625rem;
    background-repeat: no-repeat;
    background-size: 12.8125rem auto;
    animation: ecovance-menu-in-from-top var(--ecovance-motion-base) ease-in-out both;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open.is-menu-closing .wp-block-navigation__responsive-close {
    animation: ecovance-menu-out-to-top var(--ecovance-motion-base) ease-in-out both;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close::after {
    content: "";
    position: absolute;
    right: -.25rem;
    bottom: 0;
    z-index: 0;
    width: clamp(11.5625rem, 42%, 18rem);
    height: clamp(19.6875rem, 65%, 30rem);
    background: url("../images/menu-group-9.webp") right bottom / contain no-repeat;
    pointer-events: none;
    opacity: 0.4;
    mix-blend-mode: overlay;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container-close {
    top: 1.3125rem;
    right: 1.25rem;
    min-width: 1.625rem;
    min-height: 1.625rem;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container-close::before {
    flex-basis: 1.625rem;
    width: 1.625rem;
    height: 1.625rem;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container-close::after {
    margin-left: .4375rem;
    font-size: .9375rem;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    position: relative;
    inset: auto;
    width: 100%;
    height: 100%;
    min-height: 100%;
    margin: 0;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    position: absolute;
    inset: 6.25rem 0 0;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 clamp(.75rem, 3vw, 1.5rem) 1.5rem;
  }
  body .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
    position: static;
    display: flex !important;
    width: 100%;
    height: auto;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem !important;
  }
  body .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item {
    position: static;
    width: 100%;
    margin: 0 !important;
    align-items: flex-start;
    transform: none !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: inline-flex;
    max-width: 100%;
    min-height: 2.75rem;
    align-items: center;
    font-size: clamp(1.875rem, 3.5vw, 2.25rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content {
    font-size: clamp(2rem, 3.75vw, 2.375rem);
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .ecovance-menu-extras {
    position: static;
    z-index: 2;
    display: flex;
    width: 100%;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 1rem;
    box-sizing: border-box;
    margin: 1.5rem 0 0;
    padding: 1.25rem 0 0;
    border-top: 1px solid rgb(255 255 255 / 80%);
    pointer-events: auto;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .ecovance-menu-extras > * { margin-block-start: 0; }
  nav.ecovance-menu-legal {
    position: static;
    display: block;
    width: 100%;
    margin: 0;
    pointer-events: auto;
  }
  nav.ecovance-menu-legal > .wp-block-navigation__container {
    position: static !important;
    inset: auto !important;
    display: grid !important;
    width: 100% !important;
    height: auto !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
    gap: .75rem 1.25rem !important;
    margin: 0 !important;
  }
  nav.ecovance-menu-legal .wp-block-navigation-item {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }
  nav.ecovance-menu-legal .wp-block-navigation-item__content {
    min-height: 2.25rem;
    gap: .5rem;
    font-size: 1rem !important;
    font-weight: 400;
    line-height: 1.25 !important;
  }
  .ecovance-language-switcher--menu {
    position: static;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem 1rem;
    margin: 0;
    padding: 1rem 0 0;
    border-top: 1px solid rgb(255 255 255 / 80%);
    pointer-events: auto;
  }
  .ecovance-language-switcher--menu > p:empty { display: none; }
  .ecovance-language-switcher--menu .ecovance-language-switcher__label { display: inline; font-size: 1.25rem; line-height: 1.2; }
  .ecovance-language-switcher--menu ul { flex-direction: row; gap: 1rem; }
  .ecovance-language-switcher--menu :is(a, .ecovance-language-switcher__current) { display: inline-flex; min-height: 2.75rem; align-items: center; color: #fff; font-size: 1.5625rem; line-height: 1; text-decoration: none; }
  .ecovance-language-switcher--menu .ecovance-language-switcher__current { font-weight: 700; text-decoration: underline; text-underline-offset: .12em; }
}

/*
 * A compact desktop composition for high browser zoom. At roughly 175–250%
 * on a Full HD display, the effective viewport enters this range while the
 * fine pointer keeps the desktop navigation instead of the mobile panel.
 */
@media (min-width: 48rem) and (max-width: 70rem) and (max-height: 39rem) and (hover: hover) and (pointer: fine) {
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
    background-size: min(80vw, 48rem) 100%;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container-close {
    top: 1.25rem;
    right: 1.5rem;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container-close::before {
    flex-basis: 2rem;
    width: 2rem;
    height: 2rem;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container-close::after {
    margin-left: .5rem;
    font-size: 1.25rem;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    --ecovance-menu-primary-offset: clamp(4rem, 15vh, 6.5rem);
    --ecovance-menu-primary-size: clamp(2rem, 6vh, 2.125rem);
    --ecovance-menu-primary-gap: clamp(.125rem, .8vh, .375rem);
    --ecovance-menu-legal-inset: clamp(1.5rem, 6vw, 4rem);
    width: min(80vw, 48rem);
    padding-bottom: 1rem;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    line-height: 1.1;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close::after {
    width: clamp(12rem, 32vw, 18rem);
    height: 70vh;
  }
  .ecovance-site-header .wp-block-navigation__responsive-container.is-menu-open .ecovance-menu-extras {
    gap: 1rem;
    padding: .5rem 1.25rem 0 var(--ecovance-menu-legal-inset);
  }
  nav.ecovance-menu-legal > .wp-block-navigation__container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem 1rem !important;
  }
  nav.ecovance-menu-legal .wp-block-navigation-item__content {
    min-height: 1.75rem;
    font-size: .75rem !important;
    line-height: 1.15 !important;
  }
  .ecovance-language-switcher--menu {
    align-self: end;
  }
  .ecovance-language-switcher--menu ul {
    flex-direction: row;
    gap: .75rem;
  }
  .ecovance-language-switcher--menu :is(a, .ecovance-language-switcher__current) {
    min-height: 1.75rem;
    font-size: 1.125rem;
  }
}

@keyframes ecovance-language-options-in {
  from { opacity: 0; transform: translateY(calc(-50% + .2rem)); }
  to { opacity: 1; transform: translateY(-50%); }
}
@keyframes ecovance-menu-in-from-right {
  from { transform: translate3d(100%, 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}
@keyframes ecovance-menu-out-to-right {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(100%, 0, 0); }
}
@keyframes ecovance-menu-in-from-top {
  from { opacity: .75; transform: translateY(-100%); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes ecovance-menu-out-to-top {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: .75; transform: translateY(-100%); }
}
@keyframes ecovance-menu-overlay-in {
  from { background-color: rgb(22 58 87 / 0%); }
  to { background-color: rgb(22 58 87 / 70%); }
}
@keyframes ecovance-menu-overlay-out {
  from { opacity: 1; }
  to { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (forced-colors: active) {
  .wp-block-button__link, .wp-element-button { border: 2px solid ButtonText; }
  .ecovance-site-header { border: 1px solid CanvasText; }
}


/* Source: components.css */
/* EcoVance+ UI kit components — local, script-free and block-editor friendly. */

/* Decorative arrows stay out of accessible names: the pseudo-elements contain
   no text and reuse the local contact-arrow vector as a CSS mask. */
.ecovance-mini-link::after,
.ecovance-download-link::before,
.ecovance-button-primary .wp-block-button__link::after,
.ecovance-button-secondary .wp-block-button__link::after,
.ecovance-button-external .wp-block-button__link::after,
.ecovance-article__back a::before {
  content: "";
  display: inline-block;
  width: .7em;
  height: .7em;
  flex: 0 0 .7em;
  background-color: currentColor;
  -webkit-mask: var(--ecovance-asset-contact-arrow) center / contain no-repeat;
  mask: var(--ecovance-asset-contact-arrow) center / contain no-repeat;
}

.ecovance-ui-section {
  box-sizing: border-box;
  width: min(calc(100% - 9.375rem), var(--ecovance-wide));
  margin: clamp(3rem, 7vw, 6rem) auto;
}

.ecovance-ui-section :where(h2, h3, p) { margin-block-start: 0; }

.ecovance-section-label {
  display: flex;
  align-items: center;
  gap: .625rem;
  margin: 0 0 .75rem;
  color: var(--ecovance-green-dark);
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1;
}

.ecovance-section-label::before {
  content: "";
  flex: 0 0 2.134rem;
  width: 2.134rem;
  height: 1.342rem;
  background: var(--ecovance-asset-section-label-wave) center / contain no-repeat;
  transform: rotate(30deg);
}

.ecovance-ui-title {
  margin: 0;
  color: var(--ecovance-blue-dark);
  font-size: 1.875rem;
  line-height: 1.16;
}

/* Native Image block used as a responsive, editor-selectable decoration. */
.has-ecovance-decorative-layer,
.editor-styles-wrapper :where(.wp-block-group, .wp-block-columns, .wp-block-column, .wp-block-cover):has(.is-style-ecovance-decorative-absolute) {
  position: relative;
  isolation: isolate;
}
.has-ecovance-decorative-layer > :not(.is-style-ecovance-decorative-absolute) {
	position: relative;
	z-index: 1;
}

.editor-styles-wrapper :where(.wp-block-group, .wp-block-columns, .wp-block-column, .wp-block-cover):has(> .is-style-ecovance-decorative-absolute) > :not(.is-style-ecovance-decorative-absolute) {
	position: relative;
	z-index: 1;
}
.wp-block-image.is-style-ecovance-decorative-absolute {
  position: absolute;
  z-index: 0;
  max-width: none;
  margin: 0 !important;
  line-height: 0;
  pointer-events: none;
}
.wp-block-image.is-style-ecovance-decorative-absolute img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.is-style-ecovance-clip-decorations {
  overflow: hidden;
  overflow: clip;
}
.editor-styles-wrapper .block-editor-block-list__block.is-style-ecovance-decorative-absolute {
	pointer-events: auto;
	outline: 1px dashed rgba(0, 56, 94, 0.4);
	outline-offset: 2px;
}

.ecovance-project-introduction {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) minmax(22rem, 1.15fr);
  gap: clamp(3rem, 8vw, 8rem);
  min-height: 29.375rem;
  align-items: start;
  padding: 2.25rem 5rem;
  background: #f5f5f5;
}

.ecovance-project-introduction__lead {
  max-width: 27rem;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.16;
}

.ecovance-project-introduction__body { padding-top: .25rem; }
.ecovance-project-introduction__body p { font-size: 1.125rem; line-height: 1.25; }

.ecovance-poles-grid {
  display: grid;
  width: 100%;
  max-width: 78rem;
  grid-template-columns: repeat(4, minmax(0, 17.5625rem));
  gap: 1.25rem;
  justify-content: space-between;
  margin: 2.75rem auto 0;
  padding: 0;
  list-style: none;
}
.alignwide.ecovance-poles-grid,
.alignwide.ecovance-deliverables,
.alignwide.ecovance-tags { width: 100%; max-width: 78rem; }

.ecovance-pole-card {
  box-sizing: border-box;
  align-self: start;
  min-height: 16.8125rem;
  height: auto;
  margin: 0;
  padding: 2.25rem 1.5rem 1.25rem;
  border-radius: .625rem;
  background: var(--ecovance-blue-pale);
  color: var(--ecovance-blue-dark);
}

.ecovance-pole-card:nth-child(even) {
  margin-top: 2.25rem;
  background: var(--ecovance-green-pale);
}

.ecovance-pole-card__icon {
  width: 3.875rem;
  height: 3.625rem;
  margin: 0 0 .75rem;
  object-fit: contain;
	object-position: left center;
}
.ecovance-pole-card__icon img { width: 100%; height: 100%; object-fit: contain; object-position: left center; }

.ecovance-pole-card h3 { margin: 0; font-size: 1.5625rem; }
.ecovance-pole-card p { margin: .15rem 0 2.25rem; font-size: .75rem; line-height: 1.2; }

.ecovance-mini-link {
  display: inline-flex;
  min-height: 1.4375rem;
  box-sizing: border-box;
  align-items: center;
  gap: .5rem;
  margin-block: 0;
  padding: .15rem .55rem;
  border: 1px solid var(--ecovance-blue-dark);
  border-radius: 1.25rem;
  color: var(--ecovance-blue-dark);
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: .75rem;
  line-height: 1;
  text-decoration: none;
}

.ecovance-mini-link::after { transform: rotate(-45deg); }
.ecovance-mini-link:hover { background: var(--ecovance-blue-dark); color: #fff; }

.ecovance-results {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(26rem, 34rem) minmax(32rem, 35rem);
  gap: 3rem;
  justify-content: center;
  overflow: clip;
  width: 100%;
  min-height: 48.875rem;
  padding: 5rem max(3rem, calc((100vw - 72rem) / 2));
  background: var(--ecovance-blue);
  color: #fff;
}

.ecovance-results :where(h2, h3, p) { color: inherit; }
.ecovance-results .ecovance-section-label { color: #fff; }
.ecovance-results__lead { font: 700 1.875rem/1.2 "Atkinson Hyperlegible", Arial, sans-serif; }
.ecovance-results__content { width: 100%; max-width: 34rem; margin: 0; }
.ecovance-results__copy { margin-top: 2.75rem; font-size: .9375rem; line-height: 1.12; }
.ecovance-results__copy + .ecovance-results__copy { margin-top: 1.25rem; }

.ecovance-results__stats {
  position: relative;
  width: 100%;
  max-width: 35rem;
  min-height: 34rem;
  margin: 0;
  padding: 0;
  list-style: none;
  isolation: isolate;
}

.ecovance-results__stats::before,
.ecovance-results__stats::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 19.5rem;
  height: 19.5rem;
  border-radius: 50%;
  background: rgb(7 111 101 / 38%);
}
.ecovance-results__stats::before { top: 9rem; left: 4rem; }
.ecovance-results__stats::after { right: 0; bottom: 0; background: rgb(0 91 96 / 40%); }

.ecovance-result-stat { position: absolute; display: flex; align-items: center; gap: .75rem; margin: 0; }
.ecovance-result-stat :where(p, dt, dd) { margin: 0; }
.ecovance-result-stat__value { font: 400 9.3125rem/.78 "Atkinson Hyperlegible", Arial, sans-serif; }
.ecovance-result-stat__label { max-width: 12.75rem; font: 400 1.25rem/1 "Atkinson Hyperlegible", Arial, sans-serif; }
.ecovance-result-stat:nth-child(1) { top: 4.7rem; left: 3.25rem; }
.ecovance-result-stat:nth-child(2) { top: 11.4rem; left: 17.5rem; }
.ecovance-result-stat:nth-child(3) { top: 16.5rem; left: 0; }
.ecovance-result-stat:nth-child(4) { top: 21.75rem; left: 22rem; }
.ecovance-result-stat:nth-child(5) { top: 28.8rem; left: 18rem; }
.ecovance-result-stat:nth-child(6) { top: 26.9rem; left: 1rem; }

@media (min-width: 70.01rem) {
  .ecovance-results__stats { transform: translateX(2.5rem); }
}

/*
 * The original scattered layout is preserved until the visitor increases
 * text spacing. In that case only, the measured state switches to normal
 * document flow so enlarged lines cannot overlap neighbouring indicators.
 */
.ecovance-results__stats.has-expanded-text-spacing {
  display: grid;
  min-height: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 1.5rem 2rem;
  transform: none;
}
.ecovance-results__stats.has-expanded-text-spacing .ecovance-result-stat,
.ecovance-results__stats.has-expanded-text-spacing .ecovance-result-stat:nth-child(n) {
  position: static;
  inset: auto;
  display: flex;
  min-width: 0;
  box-sizing: border-box;
  flex-direction: column;
  align-self: stretch;
  align-items: flex-start;
  gap: .25rem;
  padding: 1rem;
  border: 2px solid rgb(255 255 255 / 80%);
  border-radius: .75rem;
  background: rgb(0 40 76 / 28%);
}
.ecovance-results__stats.has-expanded-text-spacing .ecovance-result-stat__value,
.ecovance-results__stats.has-expanded-text-spacing .ecovance-result-stat__label {
  max-width: 100%;
}
.ecovance-results__stats.has-expanded-text-spacing .ecovance-result-stat__value {
  font-size: clamp(4.75rem, 8vw, 6.5rem);
  line-height: 1;
  overflow-wrap: normal;
  white-space: nowrap;
}
.ecovance-results__stats.has-expanded-text-spacing .ecovance-result-stat__label {
  overflow-wrap: anywhere;
}

.ecovance-deliverables { width: 100%; max-width: 78rem; margin: 3.25rem auto 0; padding: 0; list-style: none; }
.ecovance-deliverables > .ecovance-deliverable {
  width: 100%;
  max-width: none;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.ecovance-deliverable {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  min-height: 11.4375rem;
  align-items: center;
  margin: 0 0 1rem;
  padding: 1.25rem 1.25rem 1.25rem 3.375rem;
  border: 2px solid var(--ecovance-blue-dark);
  border-radius: .9375rem;
  background: #fff;
  color: var(--ecovance-blue-dark);
  list-style: none;
}

.ecovance-deliverable:hover,
.ecovance-deliverable:focus-within { background: var(--ecovance-blue-dark); color: #fff; }
.ecovance-deliverable__content { min-width: 0; }
.ecovance-deliverable :where(h3, p) { color: inherit; }
.ecovance-deliverable h3 { margin: .5rem 0 .35rem; font-size: 2.1875rem; }
.ecovance-deliverable p { margin: 0; font-size: 1.125rem; line-height: 1.25; }
.ecovance-deliverable__categories,
.ecovance-deliverable__partners {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ecovance-deliverable__categories > li,
.ecovance-deliverable__partners > li { max-width: 100%; margin: 0; list-style: none; }
.ecovance-deliverable__partners { margin-top: .875rem; }
.ecovance-deliverable__partner {
  display: inline-flex;
  min-height: 1.75rem;
  box-sizing: border-box;
  align-items: center;
  padding: .2rem .75rem;
  border: 2px solid var(--ecovance-blue-dark);
  border-radius: 1.25rem;
  background: #fff;
  color: var(--ecovance-blue-dark);
  font: 700 .75rem/1.2 "Atkinson Hyperlegible", Arial, sans-serif;
  overflow-wrap: anywhere;
}
.ecovance-deliverables-placeholder {
  box-sizing: border-box;
  width: 100%;
  margin-top: 2rem;
  padding: 1.5rem;
  border: 2px dashed var(--ecovance-blue-dark);
  border-radius: .9375rem;
}
.ecovance-chip {
  display: inline-flex;
  min-height: 1.4375rem;
  align-items: center;
  padding: 0 .8rem;
  border-radius: 1.25rem;
  background: var(--ecovance-green-pale);
  color: var(--ecovance-blue-dark);
  font: 700 .625rem/1 "Atkinson Hyperlegible", Arial, sans-serif;
}

.ecovance-download-link {
  display: inline-flex;
  min-width: 19.625rem;
  min-height: 4.25rem;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .75rem 1rem;
  border-radius: .9375rem;
  background: var(--ecovance-blue-dark);
  color: #fff;
  font: 700 1.25rem/1 "Atkinson Hyperlegible", Arial, sans-serif;
  text-decoration: none;
}
.ecovance-download-link::before { width: .9em; height: .9em; flex-basis: .9em; transform: rotate(45deg); }
.ecovance-deliverable:is(:hover, :focus-within) .ecovance-download-link { background: #fff; color: var(--ecovance-blue-dark); }
.ecovance-download-link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--ecovance-green-dark);
}
.ecovance-download-link small { font-size: .8125rem; font-weight: 400; }

.ecovance-eco-badge {
  position: relative;
  display: inline-flex;
  width: min(100%, 16.5625rem);
  min-width: 0;
  height: auto;
  min-height: 6.75rem;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  padding: 2.25rem 1.5rem;
  background: url("../images/eco-badge-shape.webp") center / 95% 80% no-repeat;
  color: var(--ecovance-blue-dark);
  text-align: center;
}
.ecovance-eco-badge::before {
  content: "";
  position: absolute;
  inset: 1.925rem .875rem 1.9375rem;
  border: 1.5px solid currentColor;
  border-radius: .8rem;
  background: transparent;
}
.ecovance-eco-badge::after {
  content: "i";
  position: absolute;
  bottom: 1rem;
  left: 50%;
  display: grid;
  width: 1rem;
  height: 1rem;
  place-items: center;
  transform: translateX(-50%);
  font: 700 .75rem/1 "Atkinson Hyperlegible", Arial, sans-serif;
}
.ecovance-eco-badge strong { position: relative; z-index: 1; display: block; width: 100%; min-width: 0; max-width: 100%; margin: 0; overflow-wrap: anywhere; white-space: normal; font: 700 0.85rem/1.2 "Atkinson Hyperlegible", Arial, sans-serif; text-align: center; }
.ecovance-eco-badge strong::before { content: ""; position: absolute; bottom: calc(100% + .8rem); left: 50%; width: .875rem; height: .9375rem; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAPCAYAAADUFP50AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAVdJREFUeAHlkLFOwlAUhs+5lTbGBRJBBwzMOMioQAK+AQ5QNzu6qU9A+wb4BLpC0OAT2ASDYWNiBYwbGOqisbT3eG9rojGpMa7+y03Of7+b7x5MFXQCBIc4DBnQ8A29ptO/nsKXxEsHOyqPVYmwgghZMcpiqqgvAkjhXfKVM0DKcKKmp7mWhGJLtYGEp0RgI5L9AVdwo6jfcg4wu2/ty4vJUu0EOWvKi8IkgQAZX/GNp17nRvapwuGEiMbKajo3YYimls45r4+jwcvDaLC2tQ2IaAhok1a843nvqhVC9YY4qhDzTPwcoCmUL5dsaYLKn1VXWxCQM+u3E+t7tTJDMACYwYGseb8dgoFisX4kFC35RwEMETAfFGJxQBCX6qT41vyuY4fjb0kWannGoEzEpIF4gM5dzbUdu+vAbyKWNk7u6hdRPYsqhFoWfgiDP+Z/g4RTYjSJqt8BnLyUhDuXFZcAAAAASUVORK5CYII=") center / contain no-repeat; transform: translateX(-50%); }

.ecovance-section-navigation {
  display: flex;
  width: 100%;
  max-width: 78rem;
  min-height: 3.875rem;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: clamp(.5rem, 2vw, 2rem);
  margin: 0 auto;
  padding: .65rem 1rem;
  border: 1px solid #efe5e5;
  border-radius: .9375rem;
  background-color: #fff;
  color: var(--ecovance-blue-dark);
}
.ecovance-section-navigation a {
  padding: .5rem .75rem;
  color: inherit;
  font: 700 1.125rem/1 "Atkinson Hyperlegible", Arial, sans-serif;
  text-underline-offset: .2em;
}
.ecovance-section-navigation a[aria-current="location"] {
  min-width: 8.625rem;
  border-radius: .625rem;
  background: var(--ecovance-anchor-active-background, var(--ecovance-blue-dark));
  box-shadow: .1875rem .25rem 0 var(--ecovance-anchor-active-shadow, #164193);
  color: var(--ecovance-anchor-active-text, #fff);
  text-align: center;
  text-decoration: none;
}
.ecovance-section-navigation__track { display: contents; }

.ecovance-section-navigation--editor .ecovance-section-navigation__editor-link {
  display: block;
  min-width: 7rem;
  box-sizing: border-box;
  padding: .5rem .75rem;
  color: inherit;
  font: 700 1.125rem/1 "Atkinson Hyperlegible", Arial, sans-serif;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: .2em;
}
.ecovance-section-navigation--editor .ecovance-section-navigation__editor-link.is-active {
  border-radius: .625rem;
  background: var(--ecovance-anchor-active-background, var(--ecovance-blue-dark));
  box-shadow: .1875rem .25rem 0 var(--ecovance-anchor-active-shadow, #164193);
  color: var(--ecovance-anchor-active-text, #fff);
  text-decoration: none;
}

.ecovance-section-navigation__arrow {
  display: none;
  width: 2.25rem;
  height: 2.25rem;
  box-sizing: border-box;
  flex: 0 0 2.25rem;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--ecovance-blue-dark);
  color: #fff;
  text-decoration: none;
}
.ecovance-section-navigation__arrow-icon {
  display: block;
  width: .5rem;
  height: .75rem;
  background: var(--ecovance-asset-anchor-chevron) center / contain no-repeat;
}
.ecovance-section-navigation__arrow--next .ecovance-section-navigation__arrow-icon { transform: rotate(180deg); }
.ecovance-section-navigation__arrow[aria-disabled="true"] { background: #d9d9d9; cursor: default; }

.ecovance-section-navigation__sentinel { display: block; width: 100%; height: 1px; margin-bottom: -1px; }
.ecovance-section-navigation__spacer { display: block; width: 100%; height: 0; box-sizing: border-box; margin: 0 !important; padding: 0 !important; pointer-events: none; }
.ecovance-section-navigation__spacer.is-active { height: var(--ecovance-section-navigation-flow-height, 3.875rem); }
.ecovance-section-navigation__spacer[hidden] { display: none !important; }
.ecovance-section-navigation.is-fixed {
  position: fixed;
  z-index: 900;
  top: .75rem;
  left: .75rem;
  display: flex;
  width: min(15rem, calc(100vw - 1.5rem)) !important;
  max-width: none !important;
  min-height: 0;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: .25rem;
  margin: 0;
  padding: .75rem;
  border-color: rgb(22 58 87 / 18%);
  box-shadow: 0 .5rem 1.5rem rgb(22 58 87 / 16%);
  animation: ecovance-anchor-nav-in var(--ecovance-motion-base) var(--ecovance-ease-standard) both;
}
.ecovance-section-navigation.is-fixed a:not(.ecovance-section-navigation__arrow) { display: block; width: 100%; box-sizing: border-box; }
.ecovance-section-navigation.is-fixed a[aria-current="location"] { min-width: 0; text-align: left; }
.admin-bar .ecovance-section-navigation.is-fixed { top: calc(32px + .75rem); }

@keyframes ecovance-anchor-nav-in {
  from { opacity: 0; transform: translateY(-.5rem); }
  to { opacity: 1; transform: translateY(0); }
}

.ecovance-accordion { display: grid; gap: 1rem; }
.ecovance-accordion details {
  overflow: clip;
  border: 1px solid var(--ecovance-blue-dark);
  border-radius: .9375rem;
  background: var(--ecovance-blue-pale);
}
.ecovance-accordion summary {
  position: relative;
  min-height: 4.5rem;
  box-sizing: border-box;
  padding: 1.25rem 4rem 1.25rem 1.5rem;
  cursor: pointer;
  color: var(--ecovance-blue-dark);
  font: 700 1.25rem/1.2 "Atkinson Hyperlegible", Arial, sans-serif;
  list-style: none;
}
.ecovance-accordion summary::-webkit-details-marker { display: none; }
.ecovance-accordion summary::after { content: "+"; position: absolute; top: 50%; right: 1.5rem; font-size: 1.75rem; transform: translateY(-50%); }
.ecovance-accordion details[open] summary::after { content: "−"; }
.ecovance-accordion__content { padding: 0 1.5rem 1.5rem; }

.ecovance-news-card {
  position: relative;
  box-sizing: border-box;
  width: min(100%, 20.875rem);
  height: 21.375rem;
  overflow: hidden;
  border: 0;
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 .25rem .25rem rgb(22 58 87 / 25%);
}
.has-ecovance-news-interaction .ecovance-news-card:hover,
.has-ecovance-news-interaction .ecovance-news-card:focus-within,
.ecovance-news-card.has-ecovance-news-interaction:hover,
.ecovance-news-card.has-ecovance-news-interaction:focus-within { box-shadow: .25rem .25rem 0 var(--ecovance-blue-dark); }
.ecovance-news-card .wp-block-post-featured-image,
.ecovance-news-card .ecovance-news-card__media { position: relative; height: 9rem; margin: 0; }
.ecovance-news-card .wp-block-post-featured-image img,
.ecovance-news-card .ecovance-news-card__media img {
  display: block;
  width: 100%;
  height: 9rem;
  border-radius: .9375rem .9375rem 0 0;
  object-fit: cover;
}
.ecovance-news-card > .ecovance-news-card__body {
  display: flex;
  min-height: 12.375rem;
  box-sizing: border-box;
  flex-direction: column;
  margin-block-start: 0;
  padding: .75rem 1.75rem 1.25rem 1.625rem;
}
.ecovance-news-card .ecovance-news-card__body > * { margin: 0; }
.ecovance-news-card .wp-block-post-title { margin-top: .75rem; font-size: 1.125rem; line-height: 1.22; }
.ecovance-news-card .wp-block-post-title a { color: var(--ecovance-blue-dark); text-decoration: none; }
.has-ecovance-news-interaction .ecovance-news-card:hover .wp-block-post-title a,
.has-ecovance-news-interaction .ecovance-news-card:focus-within .wp-block-post-title a { text-decoration: underline; text-decoration-thickness: .1em; text-underline-offset: .12em; }
.ecovance-news-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; color: var(--ecovance-blue-dark); font-size: .875rem; line-height: 1.15; }
.ecovance-news-card__meta > * { margin: 0; }
.ecovance-news-card__author { position: relative; padding-left: .75rem; }
.ecovance-news-archive { padding-block: clamp(2.5rem, 5vw, 5rem); }
.ecovance-news-archive__heading { width: min(calc(100% - 3rem), 78rem); margin-inline: auto; }
.ecovance-news-section { width: min(calc(100% - 9.375rem), var(--ecovance-wide)); margin-inline: auto; padding-block: clamp(2rem, 5vw, 4rem); }
.ecovance-news-section > h2 { max-width: 78rem; margin-inline: auto; }
.ecovance-news-listing__grid {
  display: grid;
  grid-template-columns: repeat(var(--ecovance-news-columns, 3), minmax(0, 20.875rem));
  justify-content: center;
  gap: 2rem 3.5625rem;
  width: min(100%, 78rem);
  margin: 2rem auto 0;
  padding: 0;
  list-style: none;
}
.ecovance-news-listing__item { min-width: 0; }
.ecovance-news-listing .ecovance-news-card { width: 100%; margin: 0; }
.ecovance-news-card__terms { position: absolute; z-index: 1; top: .625rem; right: .8125rem; left: .8125rem; display: flex; flex-wrap: wrap; gap: .375rem; margin: 0; padding: 0; list-style: none; }
.ecovance-news-card__terms > li { margin: 0; }
.ecovance-news-card__term { display: inline-flex; min-height: 1.4375rem; box-sizing: border-box; align-items: center; margin: 0; padding: 0 .6875rem; border: .125rem solid transparent; border-radius: 1.25rem; background: var(--ecovance-green-pale); color: var(--ecovance-blue-dark); font: 700 .625rem/1 "Atkinson Hyperlegible", Arial, sans-serif; text-decoration: none; }
.ecovance-news-card__term.is-active {
  border-color: var(--ecovance-blue-dark);
  box-shadow:
    0 0 0 .125rem #fff,
    0 0 0 .25rem var(--ecovance-blue-dark);
}
.ecovance-news-card__media > .ecovance-news-card__term { position: absolute; z-index: 1; top: .625rem; left: .8125rem; }
.ecovance-news-listing__empty { max-width: 78rem; margin: 2rem auto; }
.ecovance-news-card .ecovance-mini-link {
  display: flex;
  width: max-content;
  min-height: 1.4375rem;
  align-items: center;
  justify-content: flex-start;
  gap: .3125rem;
  margin-top: auto;
  padding: 0 .8125rem 0 1.0625rem;
  border: 0;
  background: var(--ecovance-blue-dark);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  text-decoration: none;
}
.ecovance-news-card .ecovance-mini-link a { color: inherit; text-decoration: none; }
.has-ecovance-news-interaction .ecovance-news-card:hover .ecovance-mini-link,
.has-ecovance-news-interaction .ecovance-news-card:focus-within .ecovance-mini-link,
.ecovance-news-card.has-ecovance-news-interaction:hover .ecovance-mini-link,
.ecovance-news-card.has-ecovance-news-interaction:focus-within .ecovance-mini-link { width: calc(100% + 1rem); justify-content: space-between; }

.ecovance-partner-card {
  position: relative;
  box-sizing: border-box;
  width: min(100%, 18.875rem);
  height: 23.4375rem;
  min-height: 22.4375rem;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 1.25rem;
  background: var(--ecovance-green-pale);
  box-shadow: 0 .25rem .25rem rgb(22 58 87 / 22%);
}
.ecovance-partner-card__content { height: 17.8125rem; min-height: 17.8125rem; box-sizing: border-box; padding: 1.25rem 1.5rem 1rem; }
.ecovance-partner-card__content > * { margin-block-end: 0; }
.ecovance-partner-card__content > * + * { margin-block-start: 1rem; }
.ecovance-partner-card-block { width: fit-content; max-width: 100%; }
.ecovance-partner-card__meta { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.ecovance-partner-card__meta p { margin: 0; font-size: .9375rem; }
.ecovance-partner-card__country { padding: .1rem .65rem; border: 1px solid var(--ecovance-blue-dark); border-radius: 2rem; font-size: .75rem !important; }
.ecovance-partner-card :is(h2, h3, h4, h5, h6) { margin-bottom: 0; font-size: 1.5625rem; line-height: .88185; }
.ecovance-partner-card__content > p { font-size: .9375rem; line-height: 1.08; }
.ecovance-partner-card__footer { display: flex; min-height: 4.375rem; box-sizing: border-box; align-items: center; justify-content: space-between; gap: .75rem; padding: .625rem 1.25rem; background: #fff; }
.ecovance-partner-card > .ecovance-partner-card__footer { margin-block-start: 0; }
.ecovance-partner-card__logo { width: 6.25rem; height: 3rem; margin: 0; }
.ecovance-partner-card__logo img { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.ecovance-partner-editor-preview__logo {
	display: grid;
	place-items: center;
	border: 1px dashed currentColor;
	border-radius: .25rem;
	color: var(--ecovance-blue-dark);
	font: 700 .75rem/1 "Atkinson Hyperlegible", Arial, sans-serif;
}
.ecovance-partner-card .ecovance-mini-link { position: static; display: inline-flex; width: 7.0625rem; min-height: 2.375rem; box-sizing: border-box; align-items: center; justify-content: center; padding: .5rem 1rem; border: 0; border-radius: 1.25rem; background: var(--ecovance-blue-dark); color: #fff; font-size: 1rem; text-decoration: none; transition: width var(--ecovance-motion-fast) ease-in-out, color var(--ecovance-motion-fast) ease-in-out, background-color var(--ecovance-motion-fast) ease-in-out; }
.ecovance-partner-card .ecovance-mini-link::after { content: none; }
.ecovance-partner-card .ecovance-mini-link::before { content: ""; position: absolute; z-index: 1; inset: 0; border-radius: 1.25rem; }
.ecovance-partner-card:has(.ecovance-mini-link[href]) { cursor: pointer; }
.ecovance-partner-card .ecovance-mini-link:is(:hover, :focus-visible, :active) { transform: none; }
.ecovance-partner-card:hover,
.ecovance-partner-card:focus-within { border-color: transparent; box-shadow: .1875rem .25rem 0 var(--ecovance-blue-dark); }
.ecovance-partner-card:hover .ecovance-mini-link,
.ecovance-partner-card:focus-within .ecovance-mini-link { width: 8.5rem; }
.ecovance-partner-card .ecovance-mini-link:focus-visible { outline: 3px solid var(--ecovance-green-dark); outline-offset: 3px; }

.ecovance-featured-list {
  display: grid;
  width: 100%;
  gap: clamp(2rem, 5vw, 5rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ecovance-featured-list > .ecovance-featured {
  max-width: none;
  margin-block: 0 !important;
}

.ecovance-featured {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 25.8125rem);
  gap: clamp(1rem, 1.75vw, 1.5625rem);
  align-items: center;
  width: 100%;
  min-height: 25.9375rem;
  overflow: visible;
  background: transparent;
  color: #fff;
}
.ecovance-featured__content {
  display: flex;
  min-width: 0;
  min-height: 23.4375rem;
  flex-direction: column;
  padding: 3.25rem clamp(2rem, 4.2vw, 3.75rem) 1.5rem;
  border-radius: 0 1.25rem 1.25rem 0;
  background: var(--ecovance-blue-dark);
}
.ecovance-featured :where(h2, p) { color: inherit; }
.ecovance-featured h2 { max-width: 56rem; margin-block: 0 1rem; font-size: 2.1875rem; }
.ecovance-featured p { max-width: 56rem; margin-block: 0; font-size: 1.5625rem; line-height: 1.25; }
.ecovance-featured__content > .wp-block-buttons { width: 100%; margin-block: auto 0; }
.ecovance-featured__image { width: 100%; height: 25.9375rem; margin: 0; }
.ecovance-featured__image img { width: 100%; height: 100%; border-radius: 1.25rem 0 0 1.25rem; object-fit: cover; }
.ecovance-featured .is-style-outline .wp-block-button__link { border-color: var(--ecovance-blue-dark); background: var(--ecovance-blue-pale); color: var(--ecovance-blue-dark); }
.ecovance-featured.is-style-ecovance-featured-image-left { grid-template-columns: minmax(16rem, 25.8125rem) minmax(0, 1fr); }
.ecovance-featured.is-style-ecovance-featured-image-left .ecovance-featured__content { grid-column: 2; grid-row: 1; border-radius: 1.25rem 0 0 1.25rem; }
.ecovance-featured.is-style-ecovance-featured-image-left .ecovance-featured__image { grid-column: 1; grid-row: 1; }
.ecovance-featured.is-style-ecovance-featured-image-left .ecovance-featured__image img { border-radius: 0 1.25rem 1.25rem 0; }

.ecovance-alert {
  display: flex;
  width: 100%;
  max-width: 78rem;
  min-height: 4rem;
  box-sizing: border-box;
  align-items: center;
  gap: 1rem;
  padding: .75rem 1.25rem;
  border: 0;
  border-left: .375rem solid var(--ecovance-blue-dark);
	border-radius: .5rem;
  background: #d9e3f2;
  color: var(--ecovance-blue-dark);
  font: 700 .9375rem/1.2 "Atkinson Hyperlegible", Arial, sans-serif;
  margin-inline: auto;
}
.ecovance-alert::before { content: "i"; display: grid; width: 1.75rem; height: 1.75rem; flex: 0 0 auto; place-items: center; border: 2px solid currentColor; border-radius: 50%; font-weight: 700; }
.ecovance-alert--success { border-color: #3a7a33; background: #e7f2e0; color: var(--ecovance-blue-dark); }
.ecovance-alert--success::before { content: "✓"; }
.ecovance-alert--error { border-color: #bf2626; background: #fae5e5; color: var(--ecovance-blue-dark); }
.ecovance-alert--error::before { content: "!"; }
.ecovance-alert--warning { border-color: #ee7327; background: #ffe9cf; color: var(--ecovance-blue-dark); }
.ecovance-alert--warning::before { content: "!"; }
.ecovance-alert > span { flex: 1 1 auto; }
.ecovance-alert [data-ecovance-dismiss] {
  display: grid;
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  place-items: center;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font: 700 1rem/1 Arial, sans-serif;
  cursor: pointer;
}

.ecovance-breadcrumbs,
.ecovance-article-meta {
  display: flex;
  min-height: 3.75rem;
  box-sizing: border-box;
  align-items: center;
  gap: .75rem;
  padding: .75rem max(1rem, calc((100vw - 78rem) / 2));
  color: var(--ecovance-blue-dark);
  font-size: .9375rem;
}
.ecovance-breadcrumbs { width: 100vw; max-width: none; min-width: 0; margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); }
body .is-layout-constrained > .ecovance-breadcrumbs { margin-right: calc(50% - 50vw) !important; margin-left: calc(50% - 50vw) !important; }
.ecovance-breadcrumbs ol { display: flex; min-width: 0; flex-wrap: nowrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.ecovance-breadcrumbs li { flex: 0 0 auto; white-space: nowrap; }
.ecovance-breadcrumbs__current { min-width: 0; max-width: min(42rem, 50vw); overflow: hidden; text-overflow: ellipsis; }
.ecovance-breadcrumbs li + li::before { content: "/"; margin-right: .5rem; }
.ecovance-article-meta { border-block: 1px solid var(--ecovance-blue-pale); }

.ecovance-external-cta,
.ecovance-contextual-cta {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
  padding: 3rem clamp(1.5rem, 7vw, 6rem);
  border-radius: 1.25rem;
  background: var(--ecovance-green-pale);
}
.ecovance-external-cta { min-height: 17.5rem; }
.ecovance-external-cta h2, .ecovance-contextual-cta h2 { font-size: 2.1875rem; }

.ecovance-partner-band {
  --ecovance-partner-canvas-offset: max(0px, calc((100vw - 1440px) / 2));
  position: relative;
  width: 100vw;
  max-width: none;
  min-height: 438px;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  background: #fff;
}

.ecovance-partner-band__surface {
  position: absolute;
  top: 92px;
  left: 0;
  width: 100%;
  height: 346px;
  min-height: 346px;
  margin: 0;
  overflow: hidden;
  border-radius: 150px 150px 0 0;
}

.ecovance-partner-band__surface > * { margin: 0; }

.ecovance-partner-band__squiggle,
.ecovance-partner-band__title,
.ecovance-partner-band__logos,
.ecovance-partner-band__logo,
.ecovance-partner-band__cta,
.ecovance-partner-band__cta-arrow {
  position: absolute;
  z-index: 1;
}

.ecovance-partner-band__squiggle {
  top: 90px;
  left: calc(var(--ecovance-partner-canvas-offset) + 86.734px);
  width: 34.838px;
  height: 30.2px;
}

.ecovance-partner-band__squiggle img,
.ecovance-partner-band__cta-arrow img,
.ecovance-partner-band__logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ecovance-partner-band__title {
  top: 93px;
  left: calc(var(--ecovance-partner-canvas-offset) + 124px);
  width: 699px;
  color: var(--ecovance-blue-dark);
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: .78;
}

.ecovance-partner-band__logos { inset: 0; margin: 0; padding: 0; list-style: none; }
.ecovance-partner-band__logo-item { margin: 0; padding: 0; list-style: none; }
.ecovance-partner-band__logo { margin: 0; }
.ecovance-partner-band__logo--koine { top: 167.079px; left: calc(var(--ecovance-partner-canvas-offset) + 78px); width: 95.195px; height: 62.922px; }
.ecovance-partner-band__logo--sutargi { top: 176.716px; left: calc(var(--ecovance-partner-canvas-offset) + 204.41px); width: 130.103px; height: 44.215px; }
.ecovance-partner-band__logo--estia { top: 180.684px; left: calc(var(--ecovance-partner-canvas-offset) + 365.967px); width: 146.818px; height: 35.352px; }
.ecovance-partner-band__logo--mik { top: 73.547px; left: calc(var(--ecovance-partner-canvas-offset) + 543.962px); width: 250.554px; height: 250.554px; }
.ecovance-partner-band__logo--recup { top: 167.079px; left: calc(var(--ecovance-partner-canvas-offset) + 810.387px); width: 79.928px; height: 72.559px; }
.ecovance-partner-band__logo--crescendo { top: 180.684px; left: calc(var(--ecovance-partner-canvas-offset) + 924.327px); width: 140.009px; height: 35.713px; }
.ecovance-partner-band__logo--lanum { top: 182.41px; left: calc(var(--ecovance-partner-canvas-offset) + 1109.14px); width: 121.86px; height: 32.074px; }

.ecovance-partner-band__cta {
  top: 277px;
  left: calc(var(--ecovance-partner-canvas-offset) + 60px);
  width: 247px;
  height: 38px;
}

.ecovance-partner-band__cta .wp-block-buttons { margin: 0; }
.ecovance-partner-band__button .wp-block-button__link {
  display: flex;
  width: 247px;
  min-height: 38px;
  box-sizing: border-box;
  align-items: center;
  padding: 7px 52px 7px 18px;
  border: 1px solid var(--ecovance-blue-dark);
  border-radius: 20px;
  background: var(--ecovance-blue-dark);
  color: #fff;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
}

.ecovance-partner-band__button .wp-block-button__link:hover { background: var(--ecovance-blue); }
.ecovance-partner-band__button .wp-block-button__link:focus-visible { outline: 3px solid var(--ecovance-green-dark); outline-offset: 3px; }
.ecovance-partner-band__cta-arrow { top: 10px; right: 23.5px; width: 21.5px; height: 18px; margin: 0; pointer-events: none; }

.ecovance-form-grid {
  width: 100%;
  max-width: 60rem;
  box-sizing: border-box;
  margin-inline: auto;
  padding: 35px 64px 56px 57px;
  border-radius: 15px;
  overflow: hidden;
  background-color: #cad0d8;
  background-image: var(--ecovance-asset-contact-form-pattern);
  background-repeat: no-repeat;
  background-position: 574px 912px;
  background-size: 795px 780px;
  color: var(--ecovance-blue-dark);
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
}

.ecovance-form-grid > .wpcf7 { width: 100%; margin: 0; }

form.ecovance-form-grid,
.ecovance-form-grid .wpcf7-form {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 50px;
  row-gap: 30px;
  margin: 0;
}

.ecovance-form-grid :where(#ecovance-required-note, .ecovance-form-note, .ecovance-required-note) {
  width: max-content;
  max-width: 100%;
  grid-column: 1 / -1;
  margin: 0 0 -8px;
  color: var(--ecovance-blue);
  font-size: 18px;
  font-weight: 400;
  line-height: 22px;
}

.ecovance-form-field--wide { grid-column: 1 / -1; }
.ecovance-form-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.ecovance-form-field > p {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
}
.ecovance-form-field > p > br { display: none; }
.ecovance-form-field > .wpcf7-form-control-wrap,
.ecovance-form-field > p > .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.ecovance-form-field label,
.ecovance-form-field legend {
  display: block;
  margin: 0 0 9px;
  padding: 0;
  color: var(--ecovance-blue-dark);
  font: 700 25px/31px "Atkinson Hyperlegible", Arial, sans-serif;
}

.ecovance-form-field :where(label, legend) > span[aria-hidden="true"] {
  position: relative;
  top: -7px;
  display: inline-block;
  margin-left: 2px;
  color: var(--ecovance-blue);
  font-size: 25px;
  line-height: 0;
}

.ecovance-form-field:not(.ecovance-consent):not(.ecovance-phone-field):has(:where(input, select, textarea):is(:required, [aria-required="true"]))
  :where(label, legend):not(:has(> span[aria-hidden="true"]))::after {
  content: "*";
  position: relative;
  top: -7px;
  display: inline-block;
  margin-left: 2px;
  color: var(--ecovance-blue);
  font-size: 25px;
  line-height: 0;
}

.ecovance-form-field :where(input, select, textarea) {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--ecovance-blue-dark);
  border-radius: 20px;
  background-color: #fff;
  color: var(--ecovance-blue-dark);
  font: 400 18px/22px "Atkinson Hyperlegible", Arial, sans-serif;
}

.ecovance-form-field :where(input, select) {
  height: 58px;
  min-height: 58px;
  padding: 0 16px;
}

.ecovance-form-field select {
  padding-right: 16px;
  appearance: auto;
  background-image: none;
}

.ecovance-form-field textarea {
  height: 281px;
  min-height: 281px;
  padding: 15px 16px;
  resize: vertical;
}

.ecovance-form-field :where(input, select, textarea)::placeholder {
  color: #5a6b7d;
  opacity: 1;
}

.ecovance-form-field :where(input, select, textarea):focus-visible {
  border: 3px solid var(--ecovance-green-dark);
  outline: 0;
}

.ecovance-form-field :where(input, select, textarea)[aria-invalid="true"],
.ecovance-form-field :where(input, select, textarea):user-invalid {
  border: 3px solid #bf2626;
}

.ecovance-form-field :where(input, select, textarea).is-valid {
  border: 2px solid var(--ecovance-green-dark);
  background-color: var(--ecovance-green-pale);
}

.ecovance-form-error,
.ecovance-form-grid .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  color: #8b1c1c;
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
}

.ecovance-form-focus-hint {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.ecovance-form-focus-hint.is-visible {
  position: relative;
  display: flex;
  width: fit-content;
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
  align-items: center;
  gap: .75rem;
  margin: .625rem 0 0;
  padding: .75rem 1rem;
  overflow: visible;
  clip: auto;
  clip-path: none;
  border: 1px solid #737373;
  border-radius: .5rem;
  background: #fff;
  box-shadow: 0 .25rem .5rem rgb(0 0 0 / 22%);
  color: #231f20;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
  white-space: normal;
}

.ecovance-form-focus-hint.is-visible::before {
  content: "";
  position: absolute;
  top: -.5rem;
  left: 1.5rem;
  width: .875rem;
  height: .875rem;
  border-top: 1px solid #737373;
  border-left: 1px solid #737373;
  background: #fff;
  transform: rotate(45deg);
}

.ecovance-form-focus-hint__icon {
  position: relative;
  z-index: 1;
  display: grid;
  width: 2rem;
  height: 2rem;
  flex: 0 0 2rem;
  place-items: center;
  border-radius: .2rem;
  background: #d94f00;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}

.ecovance-form-focus-hint__text { min-width: 0; }
.ecovance-consent > .ecovance-form-focus-hint { grid-column: 1 / -1; }

.ecovance-form-success { margin-top: 6px; color: #276421; font-size: 14px; font-weight: 700; line-height: 18px; }

.ecovance-phone-control {
  display: grid;
  min-height: 58px;
  box-sizing: border-box;
  grid-template-columns: minmax(4.75rem, 5.75rem) minmax(0, 1fr);
  align-items: center;
  border: 1px solid var(--ecovance-blue-dark);
  border-radius: 20px;
  background: #fff;
}

.ecovance-phone-control > p { display: contents; margin: 0; }
.ecovance-phone-control > p > br { display: none; }

.ecovance-phone-prefix,
.ecovance-phone-country-other-wrap,
.ecovance-phone-prefix label,
.ecovance-phone-country-other-wrap label { display: block; min-width: 0; height: 56px; margin: 0; }

.ecovance-phone-prefix select,
.ecovance-phone-country-other {
  width: 100%;
  height: 56px;
  min-height: 56px;
  box-sizing: border-box;
  margin: 0;
  border: 0;
  border-right: 1px solid var(--ecovance-blue-dark);
  border-radius: 20px 0 0 20px;
  background: transparent;
  color: var(--ecovance-blue-dark);
  font: 400 16px/22px "Atkinson Hyperlegible", Arial, sans-serif;
}

.ecovance-phone-prefix select { padding: 0 6px; appearance: auto; font-size: 15px; }
.ecovance-phone-country-other-wrap { display: none; }
.ecovance-phone-control:has(.ecovance-phone-country option[value="other"]:checked) {
  grid-template-columns: minmax(4.5rem, 4.75rem) minmax(3.5rem, 4rem) minmax(0, 1fr);
}
.ecovance-phone-control:has(.ecovance-phone-country option[value="other"]:checked) .ecovance-phone-country-other-wrap:not([hidden]) { display: block; }
.ecovance-phone-country-other { padding: 0 8px; border-radius: 0; }

.ecovance-phone-control > .wpcf7-form-control-wrap,
.ecovance-phone-control > p > .wpcf7-form-control-wrap { min-width: 0; padding: 0; border: 0; }
.ecovance-phone-control .ecovance-phone-number,
.ecovance-phone-control > .wpcf7-form-control-wrap input,
.ecovance-phone-control > p > .wpcf7-form-control-wrap input { height: 56px; min-height: 56px; padding-left: 14px; border: 0; border-radius: 0 20px 20px 0; background: transparent; }
.ecovance-phone-control .ecovance-phone-number:focus-visible { border: 0; outline: 0; }
.ecovance-phone-control :where(.ecovance-phone-country, .ecovance-phone-country-other):focus-visible { border: 0; border-right: 1px solid var(--ecovance-blue-dark); outline: 0; }
.ecovance-phone-control:focus-within { border: 3px solid var(--ecovance-green-dark); }
.ecovance-phone-control:has(input[aria-invalid="true"]),
.ecovance-phone-control:has(input:user-invalid) { border: 3px solid #bf2626; }
.ecovance-phone-control:has(input.is-valid) { border: 2px solid var(--ecovance-green-dark); background-color: var(--ecovance-green-pale); }

.ecovance-consent {
  position: relative;
  top: -8px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  margin: -10px 0 10px 4px;
}

.ecovance-consent > p { grid-column: 1 / -1; margin: 0; }
.ecovance-consent > p > br { display: none; }
.ecovance-consent > .wpcf7-form-control-wrap,
.ecovance-consent > p > .wpcf7-form-control-wrap { display: block; width: 100%; grid-column: 1 / -1; }
.ecovance-consent .wpcf7-form-control,
.ecovance-consent .wpcf7-list-item { display: block; width: 100%; margin: 0; }
.ecovance-consent .wpcf7-list-item label { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 12px; }

.ecovance-consent input[type="checkbox"] {
  display: grid;
  width: 24px;
  height: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  place-content: center;
  appearance: none;
  border: .5px solid var(--ecovance-blue-dark);
  border-radius: 4px;
  background: #d9d9d9;
}

.ecovance-consent input[type="checkbox"]::after {
  content: "";
  width: 10px;
  height: 5px;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: translateY(-1px) rotate(-45deg) scale(0);
}

.ecovance-consent input[type="checkbox"]:checked { border-color: var(--ecovance-blue-dark); background: var(--ecovance-blue-dark); }
.ecovance-consent input[type="checkbox"]:checked::after { transform: translateY(-1px) rotate(-45deg) scale(1); }
.ecovance-consent input[type="checkbox"]:focus-visible { border-width: .5px; outline: 3px solid var(--ecovance-green-dark); outline-offset: 3px; }

.ecovance-consent label,
.ecovance-consent .wpcf7-list-item-label {
  margin: 0;
  color: #231f20;
  font: 400 13px/16px "Atkinson Hyperlegible", Arial, sans-serif;
}

.ecovance-consent > label,
.ecovance-consent .wpcf7-list-item-label { margin-top: 4px; }

.ecovance-consent :where(label, .wpcf7-list-item-label) [aria-hidden="true"] {
  position: static;
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.ecovance-form-actions {
  position: relative;
  top: -8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ecovance-form-actions > p { display: flex; width: 100%; justify-content: center; margin: 0; }

.ecovance-form-actions :where(.wpcf7-submit, button) {
  width: 520px;
  max-width: 100%;
  min-width: 0;
  height: 75px;
  min-height: 75px;
  box-sizing: border-box;
  margin: 0;
  padding: 0 32px;
  border: 0;
  border-radius: 50px;
  background: var(--ecovance-blue-dark);
  color: #fff;
  font: 700 25px/31px "Atkinson Hyperlegible", Arial, sans-serif;
  cursor: pointer;
}

.ecovance-form-actions :where(.wpcf7-submit, button):hover { background: var(--ecovance-blue); }
.ecovance-form-actions :where(.wpcf7-submit, button):focus-visible { outline: 3px solid var(--ecovance-green-dark); outline-offset: 3px; }
.ecovance-form-actions .wpcf7-spinner { position: absolute; right: 16px; margin: 0; }

.ecovance-form-grid .wpcf7-response-output {
  grid-column: 1 / -1;
  margin: 0;
  padding: 12px 16px;
  border-radius: 12px;
  background: #fff;
  color: var(--ecovance-blue-dark);
}
.ecovance-form-grid .wpcf7-response-output.ecovance-form-error-summary:focus {
  outline: 3px solid var(--ecovance-green-dark);
  outline-offset: 3px;
}
.ecovance-form-error-summary p { margin: 0; }
.ecovance-form-error-summary ul { margin: .75rem 0 0; padding-left: 1.5rem; }
.ecovance-form-error-summary li + li { margin-top: .35rem; }
.ecovance-form-error-summary a { color: inherit; font-weight: 700; text-decoration: underline; text-decoration-thickness: .1em; text-underline-offset: .15em; }
.ecovance-form-error-summary a:focus-visible { border-radius: .125rem; outline: 3px solid var(--ecovance-green-dark); outline-offset: 2px; }

/* Give the form priority in the contact page row. The partner column keeps the
   width needed by its card while the form uses the remaining laptop space. */
@media (min-width: 85rem) {
  :is(.wp-block-group, .wp-block-columns).is-style-ecovance-stack-mobile:has(.ecovance-form-grid) {
    gap: clamp(1.5rem, 2vw, 3rem);
  }

  :is(.wp-block-group, .wp-block-columns).is-style-ecovance-stack-mobile:has(.ecovance-form-grid) > :not(:has(.ecovance-form-grid)) {
    width: auto !important;
    min-width: 0;
    flex: 0 0 clamp(23.5rem, calc(100vw - 78rem), 50%) !important;
  }

  :is(.wp-block-group, .wp-block-columns).is-style-ecovance-stack-mobile:has(.ecovance-form-grid) > :has(.ecovance-form-grid) {
    width: auto !important;
    min-width: 0;
    flex: 1 1 0 !important;
  }
}

/* Once both columns can no longer remain comfortable, stack them before the
   form controls start to overlap. The existing mobile layout takes over below
   48rem. */
@media (min-width: 48rem) and (max-width: 84.99rem) {
  :is(.wp-block-group, .wp-block-columns).is-style-ecovance-stack-mobile:has(.ecovance-form-grid) {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: clamp(3rem, 6vw, 5rem);
  }

  :is(.wp-block-group, .wp-block-columns).is-style-ecovance-stack-mobile:has(.ecovance-form-grid) > * {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    box-sizing: border-box;
  }
}

@media (min-width: 48rem) and (max-width: 64rem) {
  .ecovance-form-grid { padding-inline: clamp(2rem, 7vw, 4rem); }
  form.ecovance-form-grid,
  .ecovance-form-grid .wpcf7-form { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
  .ecovance-form-field--wide { grid-column: auto; }
}

.ecovance-newsletter { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; min-height: 12.5rem; padding: 2rem max(1rem, calc((100vw - 78rem) / 2)); background: var(--ecovance-blue-pale); }
.ecovance-social-links { display: flex; width: 100%; max-width: 78rem; min-height: 8.75rem; align-items: center; justify-content: center; gap: 1.5rem; margin-inline: auto; background: var(--ecovance-green-pale); }

.ecovance-button-primary .wp-block-button__link,
.ecovance-button-secondary .wp-block-button__link,
.ecovance-button-external .wp-block-button__link,
.ecovance-button-direct .wp-block-button__link,
.ecovance-button-direct__control { box-sizing: border-box; min-height: 3.625rem; border: 2px solid var(--ecovance-blue-dark); border-radius: .625rem; font-size: 1.25rem; }
.ecovance-button-primary .wp-block-button__link {
  width: 14.6875rem;
  min-width: 14.6875rem;
  min-height: 4rem;
  justify-content: center;
  padding: .6rem .875rem;
  box-shadow: .1875rem .25rem 0 var(--ecovance-blue-dark);
}
.ecovance-button-primary .wp-block-button__link:hover {
  border-width: 1px;
  background: var(--ecovance-blue);
  box-shadow: .0625rem .125rem 0 var(--ecovance-blue-dark);
  transform: translate(.125rem, .125rem);
}
.ecovance-button-primary .wp-block-button__link:focus-visible,
.ecovance-button-secondary .wp-block-button__link:focus-visible,
.ecovance-button-external .wp-block-button__link:focus-visible,
.ecovance-button-direct__control:focus-visible { outline: 3px solid var(--ecovance-green-dark); outline-offset: 3px; }
.ecovance-button-secondary .wp-block-button__link { width: 14.0625rem; min-width: 14.0625rem; justify-content: center; padding: .6rem .5rem; background: transparent; color: var(--ecovance-blue-dark); white-space: nowrap; }
.ecovance-button-secondary .wp-block-button__link:hover {
  background: var(--ecovance-blue-pale);
  box-shadow: .1875rem .1875rem 0 var(--ecovance-blue-dark);
  color: var(--ecovance-blue-dark);
}
.ecovance-button-primary .wp-block-button__link::after { margin-left: .75rem; }
.ecovance-button-secondary .wp-block-button__link::after { margin-left: .25rem; transform: rotate(-45deg); }
.ecovance-button-external .wp-block-button__link::after { margin-left: .75rem; transform: rotate(-90deg); }

.ecovance-tags { display: block; width: min(calc(100% - 3rem), 78rem); max-width: 78rem; margin: 1.5rem auto; }
.ecovance-category-filters { scroll-margin-top: 1.5rem; }
.ecovance-category-filters__mobile-hint { display: none; }
.ecovance-category-filters__arrow { display: none; }
.ecovance-category-filters__track { display: flex; flex-wrap: wrap; gap: .75rem; }
.ecovance-tags a { display: inline-flex; min-height: 2.25rem; box-sizing: border-box; align-items: center; gap: .65rem; padding: .2rem 1rem; border: 1.5px solid var(--ecovance-blue-dark); border-radius: 1.125rem; color: var(--ecovance-blue-dark); font: 700 .875rem/1 "Atkinson Hyperlegible", Arial, sans-serif; text-decoration: none; white-space: nowrap; }
.ecovance-tags a:hover { background: var(--ecovance-blue-dark); color: #fff; }
.ecovance-tags a.is-active,
.ecovance-tags a[aria-current="true"] { background: var(--ecovance-blue-dark); color: #fff; }
.ecovance-tags a:focus-visible { outline: 3px solid var(--ecovance-green-dark); outline-offset: 2px; }

.ecovance-pagination { display: flex; width: min(100%, 30.9375rem); min-height: 3.3125rem; box-sizing: border-box; align-items: center; justify-content: space-between; gap: .35rem; margin: 2rem auto; padding: .45rem 1rem; border-radius: 1.25rem; background: #fff; box-shadow: 0 .25rem .25rem rgb(0 0 0 / 25%); }
.ecovance-pagination > a,
.ecovance-pagination > span:not(.ecovance-pagination__pages),
.ecovance-pagination__pages > a,
.ecovance-pagination__pages > span { display: inline-flex; min-width: 1.5rem; min-height: 1.5rem; align-items: center; justify-content: center; border-radius: 50%; color: var(--ecovance-blue-dark); font: 400 .8125rem/1 "Atkinson Hyperlegible", Arial, sans-serif; text-decoration: none; }
.ecovance-pagination [aria-current="page"] { background: var(--ecovance-blue-dark); color: #fff; font-weight: 700; }
.ecovance-pagination__previous, .ecovance-pagination__next { min-width: 3rem !important; border-radius: 1rem !important; font-size: .9375rem !important; }
.ecovance-pagination__previous, .ecovance-pagination__next { display: inline-flex; align-items: center; gap: .65rem; white-space: nowrap; }
.ecovance-pagination__arrow { display: inline-block; width: .9375rem; height: .5rem; flex: 0 0 auto; background: currentcolor; -webkit-mask: var(--ecovance-asset-partner-band-arrow) center / contain no-repeat; mask: var(--ecovance-asset-partner-band-arrow) center / contain no-repeat; }
.ecovance-pagination__arrow--previous { transform: rotate(180deg); }
.ecovance-pagination .is-disabled { opacity: .45; }
.ecovance-pagination__pages { display: flex; align-items: center; gap: .75rem; }
.ecovance-pagination__compact { display: none !important; align-items: center; gap: .35rem; min-width: 3rem !important; border-radius: 0 !important; }
.ecovance-pagination__compact strong { display: inline-flex; width: 1.5rem; height: 1.5rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--ecovance-blue-dark); color: #fff; }
.ecovance-pagination a:focus-visible { outline: 3px solid var(--ecovance-green-dark); outline-offset: 2px; }
.ecovance-news-pagination .prev,
.ecovance-news-pagination .next { min-width: 3rem; border-radius: 1rem; font-size: .9375rem; }

.ecovance-pole-icons { gap: clamp(1rem, 4vw, 4rem); }
.ecovance-pole-icon { text-align: center; }
.ecovance-pole-icon figure { width: min(100%, 10rem); margin: 0 auto; }
.ecovance-pole-icon img { width: 100%; height: auto; }
.ecovance-pole-icon p { margin-top: .75rem; font: 700 1.125rem/1.2 "Atkinson Hyperlegible", Arial, sans-serif; }

.ecovance-partner-lines { width: 100%; max-width: none; margin: 0; padding: 0; list-style: none; }
.ecovance-partner-line-block { width: min(calc(100% - 3rem), 69.5rem); max-width: 69.5rem; margin-inline: auto; padding: 0; list-style: none; }
.ecovance-partner-line-block + .ecovance-partner-line-block { margin-top: .875rem; }
.ecovance-partner-line {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 7.5625rem;
  box-sizing: border-box;
  grid-template-columns: 13.5rem minmax(0, 1fr) 9.375rem;
  margin: 0;
  overflow: hidden;
  border-radius: .9375rem;
  background: #fff;
  color: var(--ecovance-blue-dark);
  box-shadow: 0 .25rem .25rem rgb(22 58 87 / 12%);
  transition: min-height var(--ecovance-motion-base) var(--ecovance-ease-emphasized), box-shadow var(--ecovance-motion-base) var(--ecovance-ease-standard);
}
.ecovance-partner-line__logo { display: grid; width: 100%; height: 7.5625rem; place-items: center; margin: 0; }
.ecovance-partner-line__logo img { display: block; width: 9.8125rem; height: 6.5rem; object-fit: contain; }
.ecovance-partner-line__logo.ecovance-partner-editor-preview__logo { width: 9.8125rem; height: 6.5rem; place-self: center; }
.ecovance-partner-line__content {
  min-width: 0;
  box-sizing: border-box;
  margin-block: .25rem;
  padding: 1rem 9.4375rem 1rem 1.75rem;
  border-radius: .9375rem;
  background: var(--ecovance-green-pale, #e7f2e0);
}
.ecovance-partner-line__heading-row { display: grid; grid-template-columns: minmax(14rem, 22.5625rem) auto; align-items: center; gap: 0; }
.ecovance-partner-line :is(h2, h3, h4, h5, h6) { margin: 0; font-size: 1.5625rem; line-height: 1.08; }
.ecovance-partner-line__meta { display: flex; align-items: center; gap: 1.0625rem; font: 400 1.0625rem/1.147 "Atkinson Hyperlegible", Arial, sans-serif; }
.ecovance-partner-line__country { padding: .1rem .65rem; border: 1px solid var(--ecovance-blue-dark); border-radius: .9375rem; font-size: .875rem; text-transform: uppercase; }
.ecovance-partner-line__excerpt { width: min(100%, 35.4375rem); margin: .55rem 0 0; font: 400 .9375rem/1.093 Arial, sans-serif; }
.ecovance-partner-line__full {
  width: min(100%, 42.3125rem);
  height: auto;
  margin-top: .55rem;
  overflow: hidden;
  opacity: 1;
  font: 400 .9375rem/1.18 Arial, sans-serif;
  transition: height var(--ecovance-motion-base) var(--ecovance-ease-emphasized), opacity var(--ecovance-motion-base) var(--ecovance-ease-standard);
}
.ecovance-partner-line__full[hidden] { display: none; }
.ecovance-partner-line__full.is-collapsing { opacity: 0; }
.ecovance-partner-line__full > :first-child { margin-top: 0; }
.ecovance-partner-line__full > :last-child { margin-bottom: 0; }
.ecovance-partner-line__toggle { position: absolute; z-index: 2; top: .3125rem; right: 10.0625rem; display: inline-flex; min-height: 2.65625rem; align-items: center; gap: .25rem; padding: 0; border: 0; background: transparent; color: var(--ecovance-blue-dark); font: 700 1.125rem/1 "Atkinson Hyperlegible", Arial, sans-serif; text-decoration: underline; cursor: pointer; }
.ecovance-partner-line__toggle-icon { display: block; width: 1.875rem; height: 1.875rem; flex: 0 0 1.875rem; background: var(--ecovance-asset-partner-disclosure) center / contain no-repeat; transform: rotate(-45deg); }
.ecovance-partner-line__toggle-close { display: none; }
.ecovance-partner-line__toggle:focus-visible { border-radius: .25rem; outline: 3px solid var(--ecovance-green-dark); outline-offset: 3px; }
.ecovance-partner-line__website {
  display: flex;
  width: 100%;
  min-width: 0;
  height: 100%;
  box-sizing: border-box;
  align-self: stretch;
  align-items: flex-start;
  justify-content: center;
  padding: .25rem .3125rem .3125rem .5rem;
  background: #fff;
}
.ecovance-partner-line__website a,
.ecovance-partner-line__website > span {
  display: flex;
  width: 100%;
  height: 7rem;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  border-radius: 1.25rem;
  background: var(--ecovance-blue-dark);
  color: #fff;
  font: 700 1.125rem/1.147 "Atkinson Hyperlegible", Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}
.ecovance-partner-line__website a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -6px;
  box-shadow: inset 0 0 0 9px var(--ecovance-green-dark);
}
.ecovance-partner-line-block.is-expanded .ecovance-partner-line { min-height: 29.25rem; }
.ecovance-partner-line-block.is-expanded .ecovance-partner-line__content { padding-right: 2.5625rem; padding-bottom: 1.5rem; }
.ecovance-partner-line-block.is-expanded .ecovance-partner-line__excerpt { display: none; }
.ecovance-partner-line-block.is-expanded .ecovance-partner-line__toggle { top: .875rem; }
.ecovance-partner-line-block.is-expanded .ecovance-partner-line__toggle-icon { transform: none; }
.ecovance-partner-line-block.is-expanded .ecovance-partner-line__toggle-more { display: none; }
.ecovance-partner-line-block.is-expanded .ecovance-partner-line__toggle-close { display: inline; }

@media (prefers-reduced-motion: reduce) {
  .ecovance-partner-line,
  .ecovance-partner-line__full { transition: none; }
}
.ecovance-partner-block-placeholder { min-height: 5rem; box-sizing: border-box; padding: 1rem; border: 2px dashed var(--ecovance-blue-pale); }

.single-post .wp-block-ecovance-article-breadcrumbs,
.editor-styles-wrapper .wp-block-ecovance-article-breadcrumbs {
  width: min(calc(100% - 10rem), 80rem);
  max-width: 80rem;
  min-height: 5.9375rem;
  margin: 0 auto;
  padding: 2.5rem 0 1.75rem;
  font-size: .875rem;
}
.single-post .wp-block-ecovance-article-breadcrumbs ol,
.editor-styles-wrapper .wp-block-ecovance-article-breadcrumbs ol { gap: .625rem; }
.single-post .wp-block-ecovance-article-breadcrumbs li + li::before,
.editor-styles-wrapper .wp-block-ecovance-article-breadcrumbs li + li::before {
  content: "›";
  margin-right: .625rem;
  color: var(--ecovance-blue);
  font-size: 1.25rem;
  line-height: 0;
}
.single-post .wp-block-ecovance-article-breadcrumbs a:focus-visible,
.ecovance-article a:focus-visible { border-radius: .125rem; outline: 3px solid var(--ecovance-green-dark); outline-offset: 3px; }

.ecovance-article {
  width: min(calc(100% - 10rem), 80rem);
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 0 5rem;
}
.ecovance-article > * { margin-block-start: 0; }
.ecovance-article__back {
  min-height: 2.9375rem;
  box-sizing: border-box;
  margin: 0 0 .625rem;
  padding: .25rem .375rem .625rem;
  border-bottom: 1px solid var(--ecovance-blue-dark);
  font: 700 .875rem/1.2 "Atkinson Hyperlegible", Arial, sans-serif;
}
.ecovance-article__back a { display: inline-flex; align-items: center; gap: .5rem; color: var(--ecovance-green-dark); text-decoration: none; }
.ecovance-article__back a::before { transform: rotate(135deg); }
.ecovance-article > .wp-block-post-title {
  max-width: 72rem;
  margin: .25rem 0 0;
  font-size: 2.8125rem;
  line-height: .94;
}
.ecovance-article > .ecovance-article-meta {
  display: flex;
  min-height: 2.9375rem;
  align-items: center;
  gap: .625rem;
  margin: 0;
  padding: .75rem .25rem .6875rem;
  border: 0;
}
.ecovance-article-meta > * { margin: 0; }
.ecovance-article-meta :is(.wp-block-post-terms, .wp-block-post-date) {
  display: inline-flex;
  min-height: 1.4375rem;
  box-sizing: border-box;
  align-items: center;
  padding: .2rem .8125rem;
  border-radius: 1.25rem;
  color: var(--ecovance-blue-dark);
  font: 700 .625rem/1 "Atkinson Hyperlegible", Arial, sans-serif;
}
.ecovance-article-meta .wp-block-post-terms { background: var(--ecovance-green-pale); }
.ecovance-article-meta .ecovance-article-meta__tags { background: var(--ecovance-blue-pale); }
.ecovance-article-meta .wp-block-post-date { border: 1px solid var(--ecovance-blue-dark); background: #fff; }
.ecovance-article-meta a { color: inherit; text-decoration: none; }
.ecovance-article-meta .wp-block-post-terms.ecovance-article-meta__category {
  min-height: 0;
  padding: 0;
  background: transparent;
}
.ecovance-article-meta .ecovance-article-meta__category a {
  display: inline-flex;
  min-height: 2rem;
  box-sizing: border-box;
  align-items: center;
  padding: .35rem .8125rem;
  border-radius: 1.25rem;
  background: var(--ecovance-green-pale);
  color: var(--ecovance-blue-dark);
  cursor: pointer;
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .14em;
}
.ecovance-article-meta .ecovance-article-meta__category a:hover {
  background: var(--ecovance-blue-dark);
  color: #fff;
}
.ecovance-article-meta .ecovance-article-meta__category a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 7px var(--ecovance-green-dark);
}
.ecovance-article-meta .wp-block-post-terms__separator { margin-inline: .25rem; }

.ecovance-article__layout {
  display: grid;
  grid-template-areas: "main toc";
  grid-template-columns: minmax(0, 43.375rem) minmax(0, 21.6875rem);
  gap: 5.25rem;
  align-items: start;
  margin: 0;
}
.ecovance-article__main { grid-area: main; min-width: 0; margin: 0; }
.ecovance-article__main > * { margin-block-start: 0; }
.ecovance-article__lead {
  margin: 0 0 1.5rem;
  font: 400 1.5625rem/1.16 "Atkinson Hyperlegible", Arial, sans-serif;
}
.ecovance-article__main > .wp-block-post-featured-image { margin: 0 0 2rem; }
.ecovance-article__main > .wp-block-post-featured-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 694 / 259;
  border-radius: .9375rem;
  object-fit: cover;
}
.ecovance-article .wp-block-post-content { margin: 0; font: 400 1.125rem/1.22 Arial, sans-serif; }
.ecovance-article .wp-block-post-content > :first-child { margin-top: 0; }
.ecovance-article .wp-block-post-content :where(h2,h3) { scroll-margin-top: 2rem; margin-top: 2.25em; }
.ecovance-article .wp-block-post-content p { margin-block: 0 1.25rem; }

.ecovance-article-video-link {
  position: relative;
  width: min(100%, 25.25rem);
  min-height: 5.1875rem;
  box-sizing: border-box;
  align-items: stretch;
  margin: 2rem 0 2rem .3125rem;
  padding-left: 1.9375rem;
}
.ecovance-article-video-link::before {
  content: "▶";
  position: absolute;
  z-index: 1;
  top: .625rem;
  left: 0;
  display: grid;
  width: 3.875rem;
  height: 3.875rem;
  place-items: center;
  border: 1px solid var(--ecovance-blue-dark);
  border-radius: 50%;
  background: var(--ecovance-blue-dark);
  color: #fff;
  font-size: 1.125rem;
  line-height: 1;
  pointer-events: none;
}
.ecovance-article-video-link .wp-block-button { width: 100%; }
.ecovance-article-video-link .wp-block-button__link {
  display: flex;
  width: 100%;
  min-height: 5.1875rem;
  box-sizing: border-box;
  align-items: center;
  padding: 1rem 1.5rem 1rem 3.5rem;
  border: 0;
  border-radius: .9375rem;
  background: var(--ecovance-blue-pale);
  color: var(--ecovance-blue-dark);
  font: 400 1.125rem/1.15 "Atkinson Hyperlegible", Arial, sans-serif;
  text-align: left;
  text-decoration: none;
}
.ecovance-article-video-link .wp-block-button__link:hover { background: #cbd9ed; }
.ecovance-article-video-link .wp-block-button__link:focus-visible { outline: 3px solid var(--ecovance-green-dark); outline-offset: 3px; }

.ecovance-article-toc {
  grid-area: toc;
  min-height: 9.4375rem;
  box-sizing: border-box;
  margin: 0;
  padding: 1.25rem 1.875rem 1.125rem;
  border-left: 1px solid var(--ecovance-blue-dark);
  border-radius: 0 0 .9375rem 0;
  background: #f5f5f5;
  color: var(--ecovance-blue-dark);
  position: sticky;
  top: 1.5rem;
}
.ecovance-article-toc__title { margin: 0 0 .75rem; font: 400 1.25rem/1.1 "Atkinson Hyperlegible", Arial, sans-serif; }
.ecovance-article-toc ol { margin: 0; padding: 0; list-style: none; }
.ecovance-article-toc li { margin: .25rem 0; font: 400 1.125rem/1.15 "Atkinson Hyperlegible", Arial, sans-serif; }
.ecovance-article-toc__level-3 { padding-left: 1rem; }
.ecovance-article-toc a { color: inherit; text-decoration-thickness: .06em; text-underline-offset: .12em; }
.ecovance-article-toc a[aria-current="location"] { font-weight: 700; }
.ecovance-article-toc a:focus-visible { border-radius: .125rem; outline: 3px solid var(--ecovance-green-dark); outline-offset: 3px; }

.ecovance-legal-page {
  width: min(calc(100% - 10rem), 80rem);
  max-width: 80rem;
  margin: 0 auto;
  padding: 2.5rem 0 5rem;
}
.ecovance-legal-page > .wp-block-post-title { margin-top: 0; }
.ecovance-legal-page__layout {
  display: grid;
  grid-template-areas: "main toc";
  grid-template-columns: minmax(0, 43.375rem) minmax(0, 21.6875rem);
  align-items: start;
  gap: 5.25rem;
}
.ecovance-legal-page__main { grid-area: main; min-width: 0; }
.ecovance-legal-page__layout > .wp-block-ecovance-article-toc { grid-area: toc; }

.ecovance-sitemap-page__main { max-width: none; }
.ecovance-html-sitemap { margin-top: 2.5rem; }
.ecovance-html-sitemap__toc {
  padding: 1.125rem 1.5rem;
  border-left: .375rem solid var(--ecovance-green-dark);
  background: #f5f5f5;
}
.ecovance-html-sitemap__toc-title { font-size: 1.25rem; }
.ecovance-html-sitemap__toc ul {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.75rem;
  margin: .75rem 0 0;
  padding: 0;
  list-style: none;
}
.ecovance-html-sitemap__toc li { margin: 0; }
.ecovance-html-sitemap__toc a {
  color: var(--ecovance-blue-dark);
  font-weight: 700;
  text-underline-offset: .14em;
}
.ecovance-html-sitemap__sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 2.5rem 4rem;
  margin-top: 2.5rem;
}
.ecovance-html-sitemap section,
.ecovance-html-sitemap h2 { margin-block: 0; }
.ecovance-html-sitemap__sections h2 {
  scroll-margin-top: 2rem;
}
.ecovance-html-sitemap__sections h2:focus {
  border-radius: .125rem;
  outline: 3px solid var(--ecovance-green-dark);
  outline-offset: 4px;
}
.ecovance-html-sitemap__list {
  margin: 1rem 0 0;
  padding-left: 1.25rem;
}
.ecovance-html-sitemap__list li { margin-block: .5rem; }
.ecovance-html-sitemap__list ul {
  margin: .5rem 0 0;
  padding-left: 1.25rem;
}
.ecovance-html-sitemap__list a {
  color: var(--ecovance-blue-dark);
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: .14em;
}
.ecovance-html-sitemap__all-news { font-weight: 700; }

.ecovance-article-related { width: min(100%, 69.75rem); margin: 4.75rem 0 0 .375rem; }
.ecovance-article-related__header { display: flex; min-height: 2.375rem; align-items: center; justify-content: space-between; gap: 1.5rem; margin: 0; }
.ecovance-article-related__header h2 { margin: 0; font-size: 1.875rem; line-height: .9; }
.ecovance-article-related__header .wp-block-buttons,
.ecovance-article-related__header .wp-block-button { max-width: 100%; margin: 0; }
.ecovance-article-related__header .ecovance-button-primary .wp-block-button__link {
  width: auto;
  min-width: 12.875rem;
  max-width: 100%;
  min-height: 2.375rem;
  height: auto;
  box-sizing: border-box;
  justify-content: center;
  padding: .5rem .625rem;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
}
.ecovance-article-related .ecovance-news-listing__grid { margin-top: 2rem; }
.ecovance-post-navigation { display: flex; justify-content: space-between; gap: 1rem; margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid var(--ecovance-blue-pale); }

.ecovance-skip-link {
  position: fixed;
  top: .5rem;
  left: .5rem;
  z-index: 1000;
  padding: .7rem 1rem;
  background: #fff;
  color: var(--ecovance-blue-dark);
  transform: translateY(-200%);
}
.ecovance-skip-link:focus { transform: translateY(0); }
.skip-link.screen-reader-text:focus {
  position: fixed;
  top: .5rem;
  left: .5rem;
  z-index: 1000;
  width: 18.75rem;
  height: auto;
  min-height: 2.75rem;
  box-sizing: border-box;
  margin: 0;
  padding: .7rem 1rem;
  clip: auto !important;
  clip-path: none !important;
  border-radius: .25rem;
  background: #fff;
  color: var(--ecovance-blue-dark);
  font-weight: 700;
}

/* Internal component catalogue. This page is intentionally absent from menus. */
.ecovance-ui-kit-page { padding-bottom: 5rem; background: #f8fafb; }
.ecovance-ui-kit-introduction { width: min(calc(100% - 9.375rem), var(--ecovance-wide)); padding: clamp(3rem, 6vw, 5rem) 0 2rem; }
.ecovance-ui-kit-introduction > * { max-width: 52rem; }
.ecovance-ui-kit-group {
  width: min(calc(100% - 9.375rem), var(--ecovance-wide));
  margin: 2rem auto;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid #d9e3f2;
  border-radius: 1.25rem;
  background: #fff;
}
.ecovance-ui-kit-group > .alignfull {
  width: 100vw;
  max-width: none;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
.ecovance-ui-kit-group > h2:first-child { margin-top: 0; padding-bottom: .75rem; border-bottom: 2px solid var(--ecovance-blue-pale); }
.ecovance-ui-kit-group .ecovance-ui-section { width: 100%; margin: 2.5rem 0; }

/* 30 · Bloc philosophie. Les quatre images restent de vrais blocs remplaçables. */
.ecovance-philosophy { position: relative; min-height: 63.5rem; box-sizing: border-box; overflow: hidden; }
.ecovance-philosophy__surface,
.ecovance-philosophy__arrow { position: absolute; z-index: 0; margin: 0; pointer-events: none; }
.ecovance-philosophy__surface { inset: 0; width: 100%; height: 100%; }
.ecovance-philosophy.has-ecovance-background-image > .ecovance-philosophy__surface { z-index: -2; }
.ecovance-philosophy__surface img { display: block; width: 100%; height: 100%; object-fit: fill; }
.ecovance-philosophy__surface--mobile,
.ecovance-philosophy__arrow--mobile { display: none; }
.ecovance-philosophy__arrow--desktop { top: 15rem; right: 0; width: 12.8125rem; }
.ecovance-philosophy__arrow img { display: block; width: 100%; height: auto; }
.ecovance-philosophy__content { position: relative; z-index: 1; display: grid; width: min(calc(100% - 9.375rem), 85.8125rem); max-width: 85.8125rem; box-sizing: border-box; grid-template-columns: minmax(20rem, .9fr) minmax(30rem, 1.35fr); column-gap: clamp(4rem, 8vw, 8rem); row-gap: 0; margin: 0 auto; padding: 6.25rem 0 5rem; }

/* Dans Gutenberg, le fond ajouté est un pseudo-élément. On conserve les calques
   décoratifs absolus de la composition sans les faire repasser dans le flux. */
.editor-styles-wrapper .block-editor-block-list__block.ecovance-philosophy.has-ecovance-background-image::before { z-index: 1; }
.editor-styles-wrapper .block-editor-block-list__block.ecovance-philosophy.has-ecovance-background-image > .ecovance-philosophy__surface { z-index: 0; }
.editor-styles-wrapper .block-editor-block-list__block.ecovance-philosophy.has-ecovance-background-image > :is(.ecovance-philosophy__arrow, .ecovance-philosophy__content) { z-index: 2; }
.ecovance-philosophy__content > :is(.ecovance-philosophy__header, .is-style-ecovance-grid-span-all, .wp-block-group.is-layout-flex:first-child) { grid-column: 1 / -1; }
.ecovance-philosophy__header { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 1.25rem; }
.ecovance-philosophy__header > :where(.ecovance-section-label, .ecovance-philosophy__title) { margin: 0; }
.ecovance-philosophy__header > .ecovance-philosophy__title { width: auto; max-width: none; }
.ecovance-philosophy__content:has(> :is(.ecovance-philosophy__header, .is-style-ecovance-grid-span-all, .wp-block-group.is-layout-flex:first-child)) { row-gap: 6rem; }
.ecovance-philosophy__content:has(> :is(.ecovance-philosophy__header, .is-style-ecovance-grid-span-all, .wp-block-group.is-layout-flex:first-child)) > .ecovance-philosophy__accordion { margin-top: 1rem; }
.ecovance-philosophy__copy { max-width: 31rem; }
.ecovance-philosophy__title { width: 40.375rem; max-width: none; margin: .5rem 0 3.5rem; color: var(--ecovance-blue-dark); font-size: 1.875rem; line-height: normal; }
.ecovance-philosophy__copy > p:not(.ecovance-section-label) { font-size: 1.125rem; line-height: 1.18; }
.ecovance-philosophy__copy > p + p { margin-top: 1.4rem; }
.ecovance-philosophy__accordion { align-self: start; margin-top: 6.75rem; }
.ecovance-philosophy__accordion details { margin: 0; border-bottom: 1px solid rgb(22 58 87 / 42%); color: var(--ecovance-green-dark); }
.ecovance-philosophy__accordion summary { position: relative; display: flex; min-height: 4.5625rem; box-sizing: border-box; align-items: center; padding: .85rem .5rem .85rem 3rem; cursor: pointer; color: inherit; font-family: "Atkinson Hyperlegible", Arial, sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 1.05; list-style: none; }
.ecovance-philosophy__accordion summary::-webkit-details-marker { display: none; }
.ecovance-philosophy__accordion summary::before {
  content: "";
  position: absolute;
  left: .375rem;
  display: block;
  width: 1.6875rem;
  height: 1.6875rem;
  box-sizing: border-box;
  border: 1px solid currentColor;
  border-radius: 50%;
  background-color: transparent;
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor);
  background-position: center;
  background-repeat: no-repeat;
  background-size: .75rem .09375rem, .09375rem .75rem;
}
.ecovance-philosophy__accordion details[open] { color: var(--ecovance-blue-dark); }
.ecovance-philosophy__accordion details[open] summary::before {
  background-color: var(--ecovance-blue-dark);
  background-image: linear-gradient(currentColor, currentColor);
  background-size: .75rem .09375rem;
  color: #fff;
}
.ecovance-philosophy__accordion details > p { margin: -.25rem 0 1.2rem; padding: 0 .5rem 0 3rem; font-size: 1.25rem; line-height: 1.18; }

@media (min-width: 90rem) {
  .ecovance-philosophy__header > .ecovance-philosophy__title { white-space: nowrap; }
}

/* 31 · Bloc cibles. Le viewport rogne l’excédent sans créer de scroll horizontal. */
.ecovance-targets { --ecovance-target-closed-width: clamp(12rem, calc((100vw - 11rem) / 6), 18rem); box-sizing: border-box; overflow: hidden; overflow: clip; padding: 5rem 0 6rem; }
.ecovance-targets__inner { width: calc(100% - 6rem); max-width: none; margin: 0 auto; }
.ecovance-targets__introduction { width: min(100%, 34.4375rem); margin: -2.2rem 0 0 auto; font-size: 1.125rem; line-height: 1.18; }
.ecovance-targets__viewport { width: calc(100% + 6rem); max-width: none; box-sizing: border-box; margin-top: 3.375rem; margin-left: -3rem; padding-left: 3rem; overflow: hidden; overflow: clip; }
.ecovance-targets__track { display: flex; width: max-content; max-width: none; gap: 1rem; counter-reset: ecovance-target; transition: transform var(--ecovance-motion-base) var(--ecovance-ease-standard); }
.ecovance-targets__track.has-ecovance-target-open-left { transform: translateX(calc(var(--ecovance-target-closed-width) - 25.375rem)); }
.ecovance-target-card { flex: 0 0 var(--ecovance-target-closed-width); width: var(--ecovance-target-closed-width); height: 24.5625rem; box-sizing: border-box; margin: 0; overflow: hidden; border: 1px solid var(--ecovance-blue-dark); border-radius: .9375rem; background: var(--ecovance-blue-pale); color: var(--ecovance-blue-dark); counter-increment: ecovance-target; transition: flex-basis var(--ecovance-motion-base) var(--ecovance-ease-standard), width var(--ecovance-motion-base) var(--ecovance-ease-standard), background-color var(--ecovance-motion-base) var(--ecovance-ease-standard), color var(--ecovance-motion-base) var(--ecovance-ease-standard), box-shadow var(--ecovance-motion-base) var(--ecovance-ease-standard); }
.ecovance-target-card[open] { flex-basis: 25.375rem; width: 25.375rem; min-height: 24.5625rem; height: auto; background: var(--ecovance-blue-dark); color: #fff; box-shadow: 0 .25rem .25rem rgb(0 0 0 / 25%); }
.ecovance-target-card summary { position: relative; display: block; min-height: 12rem; box-sizing: border-box; padding: 5.45rem .65rem 1rem; cursor: pointer; color: inherit; font-family: "Atkinson Hyperlegible", Arial, sans-serif; font-size: 1.125rem; font-weight: 700; line-height: 1.05; text-transform: uppercase; list-style: none; }
.ecovance-target-card:not([open]) summary { height: 100%; }
.ecovance-target-card summary::-webkit-details-marker { display: none; }
.ecovance-target-card summary::before { content: counter(ecovance-target, decimal-leading-zero) "."; position: absolute; top: 2rem; left: .65rem; font-size: 2.5rem; font-weight: 400; line-height: .78; text-transform: none; }
.ecovance-target-card summary::after { content: "Ouvrir"; position: absolute; top: 2.1rem; right: 1.25rem; font-size: 1.125rem; font-weight: 400; text-decoration: underline; text-transform: none; opacity: 0; }
.ecovance-target-card[open] summary { padding-right: 1.25rem; padding-left: 1.25rem; }
.ecovance-target-card[open] summary::before { left: 1.25rem; }
.ecovance-target-card[open] summary::after { content: "Fermer"; opacity: 1; }
.ecovance-target-card summary:focus-visible { outline: 3px solid #fff; outline-offset: -6px; box-shadow: inset 0 0 0 9px var(--ecovance-green-dark); }
.ecovance-target-card[open] summary:focus-visible::after { border-radius: .125rem; outline: 2px solid #fff; outline-offset: 4px; text-decoration-thickness: .15em; }
.ecovance-target-card > p { margin: .75rem 0 0; padding: 0 1.25rem 1.5rem; color: inherit; font-size: 1.125rem; line-height: 1.18; }

/* 32 · Bloc outils. Les états Figma sont produits par les vrais détails ouverts. */
.ecovance-tools { box-sizing: border-box; overflow: hidden; overflow: clip; padding: 5rem 0 6rem; }
.ecovance-tools__inner { width: min(calc(100% - 9.375rem), 85.625rem); max-width: 85.625rem; margin: 0 auto; }
.ecovance-tools__inner > .ecovance-section-label { width: max-content; margin-right: auto; margin-left: auto; }
.ecovance-tools__title { width: min(100%, 25.4375rem); margin: .5rem auto 4.375rem; font-size: 1.875rem; line-height: .9; }
.ecovance-tools__list { width: 100%; }
.ecovance-tool-row { position: relative; display: block; box-sizing: border-box; margin: 0; border-bottom: 1px solid var(--ecovance-blue-dark); color: var(--ecovance-blue-dark); transition: background-color var(--ecovance-motion-base) var(--ecovance-ease-standard), box-shadow var(--ecovance-motion-base) var(--ecovance-ease-standard); }
.ecovance-tool-row:has(+ .ecovance-tool-row[open]) { border-bottom-color: transparent; }
.ecovance-tool-row[open] { display: grid; width: auto; min-height: 9.3125rem; grid-template-columns: minmax(20rem, 30.8125rem) minmax(0, 50rem); grid-template-rows: auto auto; margin-right: calc(50% - 50vw); border-bottom: 0; border-radius: 1.875rem 0 0 1.875rem; background: var(--ecovance-blue-pale); box-shadow: 0 .25rem .25rem rgb(0 0 0 / 18%); }
.ecovance-tool-row summary { position: relative; display: grid; min-height: 5.9375rem; box-sizing: border-box; grid-template-columns: minmax(20rem, 25.8125rem) minmax(0, 1fr); align-items: center; padding: 1rem .5rem; cursor: pointer; color: inherit; font-family: "Atkinson Hyperlegible", Arial, sans-serif; font-size: clamp(1.875rem, 3.2vw, 1.8125rem); font-weight: 700; line-height: .78; list-style: none; }
.ecovance-tool-row summary::-webkit-details-marker { display: none; }
.ecovance-tool-row summary::before { content: ""; position: absolute; left: 1.5rem; display: none; width: 3.125rem; height: 3.125rem; box-sizing: border-box; border: 2px solid var(--ecovance-blue); border-radius: 50%; }
.ecovance-tool-row[open] summary { min-height: 9.3125rem; grid-row: 1 / span 2; grid-template-columns: 1fr; padding-left: 6.1875rem; }
.ecovance-tool-row[open] summary::before { display: block; }
.ecovance-tool-row summary::after { content: ""; }
.ecovance-tool-row summary:focus-visible { border-radius: 1.875rem 0 0 1.875rem; outline: 3px solid var(--ecovance-green-dark); outline-offset: -4px; }
.ecovance-tool-row__excerpt { grid-column: 2; padding: 0 1rem; font-size: 1.0625rem; font-weight: 400; line-height: 1.18; }
.ecovance-tool-row[open] .ecovance-tool-row__excerpt { display: none; }
.ecovance-tool-row > p { grid-column: 2; grid-row: 1; max-width: 55rem; margin: 1.125rem 2rem .25rem 0; font-size: 1.0625rem; line-height: 1.18; }
.ecovance-tool-row > ul { grid-column: 2; grid-row: 2; max-width: 55rem; margin: 0 2rem 1rem; padding-left: 1.25rem; font-size: 1.0625rem; line-height: 1.2; list-style-type: disc; }

@media (prefers-reduced-motion: reduce) {
  .ecovance-section-navigation.is-fixed,
  .ecovance-targets__track,
  .ecovance-target-card,
  .ecovance-tool-row { transition: none; }
  .ecovance-section-navigation.is-fixed { animation: none; }
}

@media (min-width: 48rem) and (max-width: 70rem) {
  .ecovance-news-listing__grid { grid-template-columns: repeat(2, minmax(0, 20.875rem)); column-gap: 2rem; }
  .ecovance-article__layout { grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr); gap: 2.5rem; }
  .ecovance-results { display: block; min-height: 0; padding: 4rem clamp(3rem, 7vw, 5rem); }
  .ecovance-results__content { max-width: 40rem; }
  .ecovance-results__stats { margin-top: 3rem; }
}

@media (min-width: 48rem) and (max-width: 89.99rem) {
  .ecovance-partner-band { min-height: 620px; }
  .ecovance-partner-band__surface {
    top: 40px;
    height: 560px;
    min-height: 560px;
    border-radius: 150px 150px 0 0;
  }
  .ecovance-partner-band__squiggle { top: 90px; left: calc(50% - 340px); }
  .ecovance-partner-band__title { top: 93px; left: calc(50% - 300px); width: 600px; }
  .ecovance-partner-band__logos {
    top: 185px;
    right: auto;
    bottom: auto;
    left: 50%;
    display: grid;
    width: min(calc(100% - 64px), 700px);
    height: 180px;
    grid-template-areas:
      "koine sutargi estia recup"
      "mik mik crescendo lanum";
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, 80px);
    gap: 20px 24px;
    align-items: center;
    justify-items: center;
    transform: translateX(-50%);
  }
  .ecovance-partner-band__logo { position: relative; inset: auto; }
  .ecovance-partner-band__logo--koine { grid-area: koine; width: 95.195px; height: 62.922px; }
  .ecovance-partner-band__logo--sutargi { grid-area: sutargi; width: 130.103px; height: 44.215px; }
  .ecovance-partner-band__logo--estia { grid-area: estia; width: 146.818px; height: 35.352px; }
  .ecovance-partner-band__logo--mik { grid-area: mik; width: 229.785px; height: 53.394px; overflow: hidden; }
  .ecovance-partner-band__logo--mik img {
    position: absolute;
    top: -166.31%;
    left: .09%;
    width: 99.82%;
    height: 434.06%;
    max-width: none;
    object-fit: fill;
  }
  .ecovance-partner-band__logo--recup { grid-area: recup; width: 79.928px; height: 72.559px; }
  .ecovance-partner-band__logo--crescendo { grid-area: crescendo; width: 140.009px; height: 35.713px; }
  .ecovance-partner-band__logo--lanum { grid-area: lanum; width: 121.86px; height: 32.074px; }
  .ecovance-partner-band__cta { top: 460px; left: calc(50% - 123.5px); }
}

@media (min-width: 48rem) and (max-width: 79.99rem) {
  .ecovance-targets { padding: 4.5rem 0; background: var(--ecovance-blue-pale); }
  .ecovance-targets__inner { width: min(calc(100% - 4rem), 72rem); }
  .ecovance-targets__inner > .ecovance-section-label { width: max-content; margin-right: auto; margin-left: auto; text-align: center; }
  .ecovance-targets__introduction { width: 100%; margin: 2rem 0 0; }
  .ecovance-targets__viewport { width: 100%; margin-top: 3rem; margin-left: 0; padding-left: 0; }
  .ecovance-targets__track,
  .ecovance-targets__track.has-ecovance-target-open-left { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.125rem; transform: none; }
  .ecovance-target-card,
  .ecovance-target-card[open] { width: 100%; min-height: 9.3125rem; height: auto; flex-basis: auto; }
  .ecovance-target-card[open] { grid-column: 1 / -1; min-height: 20.0625rem; }
  .ecovance-target-card:not([open]) summary { height: auto; }
  .ecovance-target-card summary { min-height: 9.3125rem; height: auto; padding: 5.3rem 1.5rem 1rem; }
  .ecovance-target-card summary::before { top: 2rem; left: 1.5rem; }
  .ecovance-target-card summary::after { top: 2rem; right: 1.5rem; opacity: 1; }
  .ecovance-target-card[open] summary { min-height: 9rem; padding: 5.3rem 1.5rem 1rem; }
  .ecovance-target-card[open] summary::before { left: 1.5rem; }
  .ecovance-target-card > p { margin-top: 2rem; padding: 0 1.5rem 1.5rem; font-size: 1.0625rem; }
}
@media (max-width: 47.99rem) {
  .ecovance-news-section { width: min(calc(100% - 3rem), 23rem); }
  .ecovance-news-listing__grid { grid-template-columns: minmax(0, 17.9375rem); gap: 1.25rem; margin-right: auto; margin-left: 0; }
  .ecovance-news-card > .ecovance-news-card__body { padding-right: 1.5rem; padding-left: 1.375rem; }
  .ecovance-news-card__terms { right: .6875rem; left: .6875rem; }
  .ecovance-news-card__media > .ecovance-news-card__term { left: .6875rem; }
  .ecovance-ui-section { width: min(calc(100% - 3rem), 21.25rem); margin-block: 3rem; }
  .ecovance-section-label { font-size: 1.875rem; }
  .ecovance-partner-band {
    --ecovance-partner-canvas-offset: 0px;
    min-height: 723px;
  }
  .ecovance-partner-band__surface {
    top: 0;
    left: 10.5px;
    width: calc(100% - 21px);
    height: 604.5px;
    min-height: 604.5px;
    border-radius: min(47.5vw, 185px) min(47.5vw, 185px) 0 0;
  }
  .ecovance-partner-band__squiggle {
    top: 114px;
    left: 10.618%;
    width: 34.838px;
    height: 30.2px;
  }
  .ecovance-partner-band__title {
    top: 114px;
    left: 21.245%;
    width: 66.306%;
    font-size: 30px;
    line-height: .85;
  }
  .ecovance-partner-band__logo--koine { top: 225px; left: 16.915%; width: 24.564%; height: 59.994px; }
  .ecovance-partner-band__logo--sutargi { top: 234px; left: 55.616%; width: 33.572%; height: 42.158px; }
  .ecovance-partner-band__logo--mik { top: 291px; left: 17.456%; width: 62.188%; height: 53.394px; overflow: hidden; }
  .ecovance-partner-band__logo--mik img {
    position: absolute;
    top: -166.31%;
    left: .09%;
    width: 99.82%;
    height: 434.06%;
    max-width: none;
    object-fit: fill;
  }
  .ecovance-partner-band__logo--recup { top: 352px; left: 15.562%; width: 20.623%; height: 69.188px; }
  .ecovance-partner-band__logo--estia { top: 362px; left: 52.097%; width: 37.885%; height: 33.707px; }
  .ecovance-partner-band__logo--crescendo { top: 435px; left: 12.855%; width: 36.128%; height: 34.051px; }
  .ecovance-partner-band__logo--lanum { top: 435px; left: 56.98%; width: 31.445%; height: 30.582px; }
  .ecovance-partner-band__cta { top: 509px; left: 15.562%; }
  .ecovance-project-introduction { display: block; min-height: 0; padding: 2.5rem 1.5rem; }
  .ecovance-project-introduction__lead { font-size: 1.875rem; }
  .ecovance-project-introduction__body { margin-top: 2rem; }
  .ecovance-project-introduction__body p { font-size: 1rem; }

  .ecovance-poles-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 2rem; }
  .ecovance-pole-card,
  .ecovance-pole-card:nth-child(even) { min-height: 16.8125rem; margin: 0; padding: 2.25rem 1.5rem 1.25rem; }

  .ecovance-results { display: block; min-height: 0; padding: 3rem 1.5rem 4rem; }
  .ecovance-results__content { max-width: none; }
  .ecovance-results__copy { margin-top: 2rem; font-size: 1rem; line-height: 1.2; }
  .ecovance-results__stats { display: grid; min-height: 0; gap: .5rem; margin-top: 2.5rem; }
  .ecovance-results__stats::before,
  .ecovance-results__stats::after { width: 19.5rem; height: 19.5rem; }
  .ecovance-results__stats::before { top: 2rem; left: -5rem; }
  .ecovance-results__stats::after { right: -7rem; bottom: 1rem; }
  .ecovance-result-stat,
  .ecovance-result-stat:nth-child(n) { position: static; display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: .625rem; }
  .ecovance-result-stat__value { font-size: 7.5rem; }
  .ecovance-result-stat__label { max-width: 12rem; justify-self: start; font-size: 1.25rem; text-align: left; }
  .ecovance-results__stats.has-expanded-text-spacing { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .ecovance-results__stats.has-expanded-text-spacing .ecovance-result-stat,
  .ecovance-results__stats.has-expanded-text-spacing .ecovance-result-stat:nth-child(n) { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; }
  .ecovance-results__stats.has-expanded-text-spacing .ecovance-result-stat__label { width: 100%; max-width: none; }

  .ecovance-deliverable { display: block; min-height: 0; padding: 1.5rem; }
  .ecovance-deliverable h3 { font-size: 1.75rem; }
  .ecovance-deliverable p { font-size: 1rem; }
  .ecovance-download-link { width: 100%; min-width: 0; margin-top: 1.5rem; font-size: 1rem; }

  .ecovance-section-navigation {
    position: relative;
    width: calc(100% - 1.5rem);
    max-width: none;
    min-height: 4rem;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: .35rem;
    margin-inline: auto;
    padding: .65rem;
    overflow: visible;
  }
  .ecovance-section-navigation__track {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    gap: .35rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .ecovance-section-navigation__track::-webkit-scrollbar { display: none; }
  .ecovance-section-navigation__track > a {
    width: auto;
    box-sizing: border-box;
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.15;
  }
  .ecovance-section-navigation__arrow { display: inline-flex; }
  .ecovance-section-navigation a[aria-current="location"] { display: inline-flex; min-width: 8.625rem; min-height: 2.625rem; align-items: center; justify-content: center; padding-block: .4rem; font-size: 1.25rem; font-weight: 400; line-height: 1.15; }
  .ecovance-section-navigation.is-fixed {
    position: fixed;
    top: 0;
    left: .75rem;
    width: calc(100vw - 1.5rem) !important;
    max-width: none !important;
    min-height: 4rem;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: .35rem;
    margin: 0;
    padding: .65rem;
    border-radius: 0 0 .9375rem .9375rem;
    overflow: visible;
  }
  .ecovance-section-navigation.is-fixed .ecovance-section-navigation__track > a { display: block; width: auto; }
  .ecovance-section-navigation.is-fixed .ecovance-section-navigation__arrow { display: inline-flex; width: 2.25rem; }
  .ecovance-section-navigation.is-fixed a[aria-current="location"] { min-width: 8.625rem; text-align: center; }
  .admin-bar .ecovance-section-navigation.is-fixed { top: 46px; }

  .ecovance-news-card { width: 17.9375rem; margin-inline: auto; }
  .ecovance-featured { display: flex; width: 100%; min-height: 0; flex-direction: column; gap: 1rem; }
  .ecovance-featured__content { min-height: 24rem; padding: 1.5rem 1.2rem 2rem; }
  .ecovance-featured h2 { font-size: 1.75rem; }
  .ecovance-featured p { font-size: 1rem; }
  .ecovance-featured__image { width: calc(100% - 3.375rem); height: 19rem; margin: 0 0 0 auto; }
  .ecovance-featured__image img { border-radius: 1.25rem 0 0 1.25rem; }
  .ecovance-featured.is-style-ecovance-featured-image-left .ecovance-featured__content { order: 0; border-radius: 0 1.25rem 1.25rem 0; }
  .ecovance-featured.is-style-ecovance-featured-image-left .ecovance-featured__image { order: 1; margin-inline: 0 auto; }
  .ecovance-featured.is-style-ecovance-featured-image-left .ecovance-featured__image img { border-radius: 0 1.25rem 1.25rem 0; }

  .ecovance-external-cta,
  .ecovance-contextual-cta { display: block; padding: 2rem 1.5rem; }
  .ecovance-external-cta .wp-block-buttons,
  .ecovance-contextual-cta .wp-block-buttons { margin-top: 1.5rem; }
  .ecovance-form-grid {
    max-width: 349px;
    padding: 25px 16px 24px;
    background-position: 89px 1104px;
  }
  form.ecovance-form-grid,
  .ecovance-form-grid .wpcf7-form { grid-template-columns: 1fr; column-gap: 0; row-gap: 24px; }
  .ecovance-form-grid :where(#ecovance-required-note, .ecovance-form-note, .ecovance-required-note) {
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 19px;
  }
  .ecovance-form-field--wide { grid-column: auto; }
  .ecovance-form-field label,
  .ecovance-form-field legend { margin-bottom: 8px; }
  .ecovance-form-grid .wpcf7-form > .ecovance-form-field:nth-of-type(1) label,
  form.ecovance-form-grid > .ecovance-form-field:nth-of-type(1) label { margin-bottom: 9px; }
  .ecovance-phone-field { margin-top: 8px; }
  .ecovance-form-grid .wpcf7-form > .ecovance-form-field:nth-of-type(5),
  form.ecovance-form-grid > .ecovance-form-field:nth-of-type(5) { margin-top: 4px; }
  .ecovance-form-field textarea { height: 233px; min-height: 233px; }
  .ecovance-consent { top: 0; margin: -19px 0 -9px; }
  .ecovance-consent label { margin-bottom: 0; }
  .ecovance-consent > label,
  .ecovance-consent .wpcf7-list-item-label { max-width: 264px; margin-top: 4px; }
  .ecovance-form-actions { top: 0; }
  .ecovance-form-actions :where(.wpcf7-submit, button) {
    width: 100%;
    height: 55px;
    min-height: 55px;
    padding-inline: 20px;
    font-size: 20px;
    line-height: 25px;
  }
  .ecovance-newsletter { display: block; padding: 2rem 1.5rem; }
  .ecovance-button-primary .wp-block-button__link { width: 14.6875rem; min-width: 14.6875rem; }
  .ecovance-button-secondary .wp-block-button__link { width: 14.0625rem; min-width: 14.0625rem; }
  .ecovance-button-external .wp-block-button__link,
  .ecovance-button-direct .wp-block-button__link,
  .ecovance-button-direct__control { min-width: 0; width: 100%; }
  .ecovance-tags { width: 100%; margin-inline: 0; overflow: hidden; }
  .ecovance-category-filters { position: relative; overflow: hidden; }
  .ecovance-category-filters__mobile-hint { display: block; }
  .ecovance-category-filters__track { width: calc(100% - 5.5rem); box-sizing: border-box; flex-wrap: nowrap; margin-inline: auto; padding: .25rem .375rem .75rem; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 1.5rem, #000 calc(100% - 1.5rem), transparent 100%); mask-image: linear-gradient(to right, transparent 0, #000 1.5rem, #000 calc(100% - 1.5rem), transparent 100%); }
  .ecovance-category-filters__track::-webkit-scrollbar { display: none; }
  .ecovance-category-filters__arrow { position: absolute; z-index: 4; top: .125rem; display: grid; width: 2.75rem; height: 2.75rem; place-items: center; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; }
  .ecovance-category-filters__arrow::before { content: ""; display: block; width: 1.875rem; height: 1.875rem; border-radius: 50%; background: var(--ecovance-blue-dark) var(--ecovance-asset-partner-band-arrow) center / 1rem auto no-repeat; }
  .ecovance-category-filters__arrow--previous { left: 0; }
  .ecovance-category-filters__arrow--previous::before { transform: rotate(180deg); }
  .ecovance-category-filters__arrow--next { right: 0; }
  .ecovance-category-filters__arrow:disabled { cursor: default; opacity: .35; }
  .ecovance-category-filters__arrow:focus-visible { outline: .1875rem solid var(--ecovance-green); outline-offset: -.1875rem; border-radius: 50%; }
  .ecovance-tags a { flex: 0 0 auto; }
  .ecovance-pagination__pages { display: none; }
  .ecovance-pagination__compact { display: inline-flex !important; }
  .ecovance-pagination { width: min(calc(100% - 3rem), 19.375rem); padding-inline: 1rem; }
  .ecovance-pagination__previous,
  .ecovance-pagination__next { min-width: 0 !important; }
  .ecovance-breadcrumbs__current { max-width: 10rem; }
  .ecovance-pole-icons { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ecovance-partner-line-block { width: min(calc(100% - 3rem), 21.125rem); max-width: 21.125rem; }
  .ecovance-partner-line { display: block; min-height: 25.9375rem; padding-bottom: 5.6875rem; }
  .ecovance-partner-line__logo { width: 100%; height: 7rem; }
  .ecovance-partner-line__logo img { width: 9.8125rem; height: 6.5rem; }
  .ecovance-partner-line__content { margin-block: 0; padding: .9375rem 1.125rem 1rem; border-radius: .9375rem 0 0 .9375rem; }
  .ecovance-partner-line__heading-row { display: block; }
  .ecovance-partner-line :is(h2, h3, h4, h5, h6) { font-size: 1.25rem; line-height: 1.1; }
  .ecovance-partner-line__meta { margin-top: .2rem; gap: 1.0625rem; }
  .ecovance-partner-line__excerpt { width: 100%; margin-top: 1rem; font-size: .9375rem; line-height: 1.093; }
  .ecovance-partner-line__full { width: 100%; margin-top: .8rem; font-size: .9375rem; line-height: 1.18; }
  .ecovance-partner-line__toggle { top: auto; right: auto; bottom: 6.0625rem; left: 50%; min-height: 2.65625rem; transform: translateX(-50%); white-space: nowrap; }
  .ecovance-partner-line__toggle-icon { width: 1.875rem; height: 1.875rem; }
  .ecovance-partner-line__website { position: absolute; right: .8125rem; bottom: .5625rem; left: .75rem; width: auto; height: 4.3125rem; padding: 0; background: transparent; }
  .ecovance-partner-line__website a,
  .ecovance-partner-line__website > span { height: 4.3125rem; border-radius: 1.25rem; font-size: 1.125rem; }
  .ecovance-partner-line-block.is-expanded .ecovance-partner-line { min-height: 66.75rem; padding-bottom: 10rem; }
  .ecovance-partner-line-block.is-expanded .ecovance-partner-line__content { padding-right: 1.125rem; padding-bottom: 1rem; }
  .ecovance-partner-line-block.is-expanded .ecovance-partner-line__toggle { top: auto; bottom: 6.875rem; }
  .single-post .wp-block-ecovance-article-breadcrumbs,
  .editor-styles-wrapper .wp-block-ecovance-article-breadcrumbs {
    width: min(calc(100% - 2.25rem), 22.125rem);
    min-height: 4rem;
    margin: 0 auto;
    padding: 1.25rem 0 1.5rem;
    overflow: hidden;
  }
  .single-post .wp-block-ecovance-article-breadcrumbs ol,
  .editor-styles-wrapper .wp-block-ecovance-article-breadcrumbs ol { gap: .45rem; }
  .single-post .wp-block-ecovance-article-breadcrumbs li + li::before,
  .editor-styles-wrapper .wp-block-ecovance-article-breadcrumbs li + li::before { margin-right: .45rem; }
  .single-post .wp-block-ecovance-article-breadcrumbs .ecovance-breadcrumbs__current,
  .editor-styles-wrapper .wp-block-ecovance-article-breadcrumbs .ecovance-breadcrumbs__current { max-width: 10.5rem; }
  .ecovance-article { width: min(calc(100% - 2.375rem), 22rem); padding-bottom: 3.5rem; }
  .ecovance-article__back { min-height: 2rem; margin-bottom: .625rem; padding: 0 0 .75rem; }
  .ecovance-article > .wp-block-post-title { max-width: 20.5rem; margin: 0; font-size: 2.5rem; line-height: .9375; }
  .ecovance-article > .ecovance-article-meta { min-height: 3.375rem; gap: .5rem; padding: .75rem .125rem; }
  .ecovance-article-meta :is(.wp-block-post-terms, .wp-block-post-date) { padding-inline: .6875rem; }
  .ecovance-article__layout { display: flex; flex-direction: column; gap: 1.6875rem; }
  .ecovance-article-toc { position: static; order: 0; width: 100%; min-height: 9.4375rem; padding: 1.25rem 1.75rem 1rem; }
  .ecovance-legal-page { width: min(calc(100% - 2.375rem), 22rem); padding: 2rem 0 3.5rem; }
  .ecovance-legal-page__layout { display: flex; flex-direction: column; gap: 1.6875rem; }
  .ecovance-legal-page__layout > .wp-block-ecovance-article-toc { order: 0; }
  .ecovance-legal-page__main { order: 1; }
  .ecovance-article__main { order: 1; width: 100%; }
  .ecovance-article__lead { margin-bottom: 1.75rem; font-size: 1.375rem; line-height: 1.15; }
  .ecovance-article__main > .wp-block-post-featured-image { width: 21.25rem; max-width: 100%; margin-bottom: 1.875rem; }
  .ecovance-article__main > .wp-block-post-featured-image img { aspect-ratio: 340 / 153; border-radius: .9375rem; }
  .ecovance-article .wp-block-post-content { font-size: 1.125rem; line-height: 1.18; }
  .ecovance-article .wp-block-post-content :where(h2,h3) { scroll-margin-top: 1rem; }
  .ecovance-article-video-link { width: min(100%, 21.6875rem); margin-left: .125rem; }
  .ecovance-article-video-link .wp-block-button__link { padding-right: 1rem; padding-left: 3.25rem; }
  .ecovance-article-related { width: 100%; margin: 4rem 0 0 .25rem; }
  .ecovance-article-related__header { display: block; }
  .ecovance-article-related__header h2 { font-size: 1.875rem; }
  .ecovance-article-related__header .wp-block-buttons { margin-top: 1rem; }
  .ecovance-article-related__header .ecovance-button-primary .wp-block-button__link { width: auto; min-width: min(12.875rem, 100%); }
  .ecovance-article-related .ecovance-news-listing__grid { margin-top: 1.625rem; }
  .ecovance-post-navigation { display: grid; }
  .ecovance-ui-kit-introduction { width: min(calc(100% - 3rem), 21.25rem); }
  .ecovance-ui-kit-group { width: min(calc(100% - 1.5rem), 22.875rem); padding: 1.25rem; }

  .ecovance-philosophy { min-height: 114.75rem; }
  .ecovance-philosophy__surface--desktop,
  .ecovance-philosophy__arrow--desktop { display: none; }
  .ecovance-philosophy__surface--mobile,
  .ecovance-philosophy__arrow--mobile { display: block; }
  .ecovance-philosophy__surface--mobile img { border-radius: 50% 50% 0 0 / 5rem 5rem 0 0; }
  .ecovance-philosophy__arrow--mobile { top: 50rem; right: 0; width: 8.1875rem; }
  .ecovance-philosophy__content { display: block; width: min(calc(100% - 3rem), 23.375rem); padding: 3.75rem 0 4rem; }
  .ecovance-philosophy__copy { max-width: none; }
  .ecovance-philosophy__copy > .ecovance-section-label { margin-left: 4rem; }
  .ecovance-philosophy__title { width: calc(100% + 2.0625rem); margin: .75rem 0 2rem -1.03125rem; font-size: 1.875rem; line-height: normal; }
  .ecovance-philosophy__copy > p:not(.ecovance-section-label) { font-size: 1.0625rem; line-height: 1.18; }
  .ecovance-philosophy__accordion { margin-top: 2.75rem; }
  .ecovance-philosophy__accordion summary { min-height: 4.25rem; padding-left: 3.65rem; font-size: 1.5rem; }
  .ecovance-philosophy__accordion summary::before { left: .25rem; width: 2.3125rem; height: 2.3125rem; }
  .ecovance-philosophy__accordion details > p { padding-left: 3.65rem; font-size: 1.0625rem; }
  .ecovance-philosophy__content > :is(.ecovance-philosophy__header, .is-style-ecovance-grid-span-all, .wp-block-group.is-layout-flex:first-child) { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 1rem; margin-bottom: 2rem; }
  .ecovance-philosophy__header > .ecovance-section-label { justify-content: center; margin: 0; text-align: center; }
  .ecovance-philosophy__header > .ecovance-philosophy__title { flex: 1 1 100%; width: 100%; margin: 0; text-align: center; white-space: normal; }

  .ecovance-targets { padding: 4.5rem 0; background: var(--ecovance-blue-pale); }
  .ecovance-targets > .wp-block-group.is-layout-flex:first-child {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 2.5rem;
  }
  .ecovance-targets > .wp-block-group.is-layout-flex:first-child > .ecovance-section-label {
    align-self: flex-start;
    margin: 0;
    text-align: center;
  }
  .ecovance-targets > .wp-block-group.is-layout-flex:first-child > .ecovance-targets__introduction { margin: 0; }
  .ecovance-targets__inner { width: min(calc(100% - 3rem), 21.0625rem); }
  .ecovance-targets__inner > .ecovance-section-label { width: max-content; margin-right: auto; margin-left: auto; text-align: center; }
  .ecovance-targets__introduction { width: 100%; margin: 2.5rem 0 0; font-size: 1.0625rem; line-height: 1.18; }
  .ecovance-targets__viewport { width: 100%; margin-top: 3.5rem; margin-left: 0; padding-left: 0; }
  .ecovance-targets__track,
  .ecovance-targets__track.has-ecovance-target-open-left { display: grid; width: 100%; gap: 1.125rem; transform: none; }
  .ecovance-target-card,
  .ecovance-target-card[open] { width: 100%; min-height: 9.3125rem; height: auto; flex-basis: auto; }
  .ecovance-target-card[open] { min-height: 20.0625rem; height: auto; }
  .ecovance-target-card summary { min-height: 9.3125rem; height: auto; padding: 5.3rem 1.5rem 1rem; }
  .ecovance-target-card summary::before { top: 2rem; left: 1.5rem; }
  .ecovance-target-card summary::after { top: 2rem; right: 1.5rem; opacity: 1; }
  .ecovance-target-card[open] summary { min-height: 9rem; padding: 5.3rem 1.5rem 1rem; }
  .ecovance-target-card[open] summary::before { left: 1.5rem; }
  .ecovance-target-card > p { margin-top: 2rem; padding: 0 1.5rem 1.5rem; font-size: 1.0625rem; }

  .ecovance-tools { padding: 4.5rem 0; }
  .ecovance-tools__inner { width: min(calc(100% - 3.5rem), 23.25rem); max-width: none; margin-right: 0; margin-left: 1.75rem; }
  .ecovance-tools__title { margin: .8rem auto 2.5rem; font-size: 1.875rem; line-height: .88; }
  .ecovance-tool-row[open] { display: flex; width: auto; min-height: 20.0625rem; flex-direction: column; margin-right: calc(50% - 50vw - 1.25rem); border-radius: 3.125rem 0 0 3.125rem; box-shadow: none; }
  .ecovance-tool-row summary,
  .ecovance-tool-row[open] summary { display: block; min-height: 4.625rem; padding: 1.35rem 5rem 1.35rem 2.5rem; font-size: 1.875rem; line-height: .78; }
  .ecovance-tool-row:not([open]) summary { min-height: 5.625rem; }
  .ecovance-tool-row[open] summary { min-height: 5.8375rem; padding: 3.875rem 5rem .5rem 2.5rem; }
  .ecovance-tool-row summary::before { display: none; }
  .ecovance-tool-row summary::after { content: "Ouvrir"; position: absolute; top: 1.5rem; right: 1.5rem; font-size: .875rem; font-weight: 400; line-height: 1; text-decoration: underline; }
  .ecovance-tool-row[open] summary::before { content: "×"; top: 1rem; left: 2.5rem; display: flex; width: 1.4375rem; height: 1.4375rem; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: #fff; color: var(--ecovance-blue); font-family: Arial, sans-serif; font-size: 1.125rem; font-weight: 400; line-height: 1; }
  .ecovance-tool-row[open] summary::after { content: "Fermer"; top: 1.25rem; right: auto; left: 4.375rem; font-size: 1.125rem; line-height: .78; }
  .ecovance-tool-row summary:focus-visible { border-radius: 3.125rem 0 0 3.125rem; }
  .ecovance-tool-row__excerpt { display: -webkit-box; margin-top: .75rem; padding: 0; overflow: hidden; font-size: 1.0625rem; line-height: 1.05; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .ecovance-tool-row[open] .ecovance-tool-row__excerpt { display: none; }
  .ecovance-tool-row > ul { order: 1; margin: 0 3rem 0 3.65rem; padding-left: .85rem; color: var(--ecovance-blue); font-size: .9375rem; font-weight: 700; line-height: 1.13; }
  .ecovance-tool-row > ul li::marker { font-size: 1.2em; }
  .ecovance-tool-row > p { order: 2; width: min(100%, 17.6875rem); max-width: 17.6875rem; margin: 1.5rem 3rem 1.3125rem 2.5rem; font-size: 1.0625rem; line-height: 1.05; padding-bottom: 1rem; }
}

@media (max-width: 21.875rem) {
  .ecovance-article .wp-block-post-content { font-size: 1.0625rem; line-height: 1.25; }
  .ecovance-article .wp-block-post-content h2 { font-size: 1.625rem; }
  .ecovance-article .wp-block-post-content h3 { font-size: 1.375rem; }
  .ecovance-article .wp-block-post-content :where(h2, h3, p, li, a) {
    max-width: 100%;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
}

:where(.ecovance-project-introduction, .ecovance-philosophy, .ecovance-targets, .ecovance-tools, .ecovance-results) { scroll-margin-top: 5rem; }

.editor-styles-wrapper .ecovance-results {
  display: block;
  min-height: 0;
  overflow: visible;
  padding: 3rem clamp(1.5rem, 4vw, 4rem);
}

.editor-styles-wrapper .ecovance-results__content {
  width: 100%;
  max-width: 40rem;
}

.editor-styles-wrapper .ecovance-results__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
  gap: 1rem;
  width: 100%;
  max-width: none;
  min-height: 0;
  margin-top: 2.5rem;
  transform: none;
}

.editor-styles-wrapper .ecovance-results__stats::before,
.editor-styles-wrapper .ecovance-results__stats::after {
  display: none;
}

.editor-styles-wrapper .ecovance-results .ecovance-result-stat,
.editor-styles-wrapper .ecovance-results .ecovance-result-stat:nth-child(n) {
  position: static !important;
  inset: auto !important;
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  align-items: center;
  gap: .75rem;
  width: auto;
  min-height: 7rem;
  margin: 0 !important;
  padding: 1rem;
  border: 1px dashed rgb(255 255 255 / 55%);
  border-radius: .75rem;
  background: rgb(255 255 255 / 8%);
}

.editor-styles-wrapper .ecovance-results .ecovance-result-stat__value {
  font-size: 5rem;
  line-height: .8;
  white-space: nowrap;
}

.editor-styles-wrapper .ecovance-results .ecovance-result-stat__label {
  max-width: none;
  font-size: 1rem;
  line-height: 1.15;
}

.editor-styles-wrapper .ecovance-partner-band {
  width: 100%;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.editor-styles-wrapper .block-editor-block-list__block.ecovance-partner-band__surface,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-partner-band__squiggle,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-partner-band__title,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-partner-band__logos,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-partner-band__logo,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-partner-band__cta,
.editor-styles-wrapper .block-editor-block-list__block.ecovance-partner-band__cta-arrow {
  position: absolute;
}

@media (min-width: 48rem) and (max-width: 89.99rem) {
  .editor-styles-wrapper .block-editor-block-list__block.ecovance-partner-band__logo {
    position: relative;
    inset: auto;
  }
}

@media (forced-colors: active) {
  .ecovance-news-card__term.is-active {
    border-color: CanvasText;
    outline: 2px solid CanvasText;
    outline-offset: 2px;
    box-shadow: none;
  }
  .ecovance-partner-line__website a:focus-visible,
  .ecovance-download-link:focus-visible,
  .ecovance-target-card summary:focus-visible { outline-color: Highlight; box-shadow: none; }
  .ecovance-target-card[open] summary:focus-visible::after { outline-color: Highlight; }
  .ecovance-pole-card,
  .ecovance-partner-card,
  .ecovance-deliverable,
  .ecovance-alert,
  .ecovance-section-navigation,
  .ecovance-target-card,
  .ecovance-tool-row { border: 2px solid CanvasText; }
}


/* Source: footer.css */
.ecovance-site-footer { position: relative; margin: 0; padding: 0; overflow: hidden; }
.ecovance-site-footer:not(.has-background) { background: var(--wp--preset--color--footer-background, #e0ebf7); }
.ecovance-site-footer:not(.has-text-color) { color: var(--ecovance-blue-dark); }
.ecovance-site-footer a { color: inherit; }
.ecovance-footer-main { display: grid; grid-template-columns: 21.1875rem minmax(0, 1fr); min-height: 18.9375rem; margin: 0; }
.ecovance-footer-brand { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; box-sizing: border-box; padding: 1.375rem; background: #fff; }
.ecovance-footer-brand__ecovance, .ecovance-footer-brand__program { display: block; max-width: 100%; object-fit: contain; object-position: center; }
.ecovance-footer-brand__ecovance { width: 16.375rem; height: 12.4375rem; }
.ecovance-footer-brand__program { width: 12.8125rem; height: 3.75rem; }
.ecovance-footer-content { position: relative; box-sizing: border-box; min-width: 0; margin: 0; padding: 3rem 14.5rem 1.25rem 2.625rem; }
.ecovance-footer-desktop-columns { display: grid; grid-template-columns: 1fr 1.15fr 1.25fr; gap: 0; }
.ecovance-footer-desktop-columns > * { min-width: 0; min-height: 13.4375rem; margin: 0; padding: 0 1.75rem; border-left: 1px solid rgb(22 58 87 / 30%); }
.ecovance-footer-desktop-columns > :first-child { padding-left: 0; border-left: 0; }
.ecovance-footer-desktop-columns .ecovance-footer-title { margin: 0 0 1rem; color: var(--ecovance-blue-dark); font-size: 1rem; font-weight: 700; text-transform: uppercase; }
.ecovance-footer-desktop-columns ul, .ecovance-footer-mobile-accordions ul { margin: 0; padding: 0; list-style: none; }
.ecovance-footer-navigation { width: 100%; margin: 0; }
.ecovance-footer-navigation .wp-block-navigation__container { display: flex; width: 100%; align-items: flex-start; gap: 0; }
.ecovance-footer-navigation .wp-block-navigation-item { width: 100%; margin: 0; }
.ecovance-footer-navigation .wp-block-navigation-item__content { padding: 0; }
.ecovance-footer-desktop-columns li { margin: 0 0 .34rem; font-size: .8125rem; line-height: 1.2; }
.ecovance-footer-desktop-columns nav li { margin: 0; }
.ecovance-footer-desktop-columns a { display: inline-flex; min-height: 1.5rem; align-items: center; text-decoration: none; }
.ecovance-footer-desktop-columns a:hover { text-decoration: underline; }
.ecovance-footer-navigation[aria-label^="Navigation de pied de page"] a[href*="/contact"] { display: inline-flex; width: 6.1875rem; min-height: 1.9375rem; box-sizing: border-box; justify-content: space-between; gap: .5rem; padding: .25rem .75rem; border-radius: .625rem; background: var(--ecovance-blue-dark); color: var(--ecovance-blue-pale); font-size: .9375rem; font-weight: 700; line-height: 1; text-decoration: none; }
.ecovance-footer-navigation[aria-label^="Navigation de pied de page"] a[href*="/contact"]::after { content: ""; width: .5rem; height: .5rem; flex: 0 0 .5rem; background: var(--ecovance-asset-contact-arrow) center / contain no-repeat; }
.ecovance-footer-navigation[aria-label^="Navigation de pied de page"] a[href*="/contact"]:hover { color: #fff; text-decoration: none; }
.ecovance-footer-navigation[aria-label^="Informations légales"] .wp-block-navigation-item__content::before { content: ""; display: inline-block; width: .7em; height: .7em; flex: 0 0 .7em; margin-right: .5rem; background-color: currentColor; -webkit-mask: var(--ecovance-asset-contact-arrow) center / contain no-repeat; mask: var(--ecovance-asset-contact-arrow) center / contain no-repeat; transform: rotate(-45deg); }
.ecovance-footer-mobile-accordions { display: none; }
.ecovance-footer-legal { display: flex; flex-direction: column; gap: 0; }
.ecovance-footer-eco-badge { flex: 0 0 auto; margin-top: auto; color: var(--ecovance-blue-dark); text-decoration: none; }
.ecovance-footer-desktop-columns a.ecovance-footer-eco-badge { min-height: 6.75rem; }
.ecovance-footer-eco-badge:hover { color: var(--ecovance-blue-dark); text-decoration: underline; }
.ecovance-footer-sobriety { position: absolute; z-index: 1; right: -3.17rem; top: 5.0625rem; display: flex; width: 17.6086rem; height: 17.222rem; box-sizing: border-box; margin: 0; border-radius: 50%; text-align: center; }
.ecovance-footer-sobriety:not(.has-background) { background: var(--wp--preset--color--green-dark, var(--ecovance-green-dark)); }
.ecovance-footer-sobriety:not(.has-text-color) { color: #fff; }
.ecovance-footer-sobriety__link { position: absolute; inset: 0; display: flex; box-sizing: border-box; flex-direction: column; align-items: center; justify-content: center; padding: 2rem 3rem 2rem 1.5rem; border-radius: inherit; color: inherit; text-decoration: none; }
a.ecovance-footer-sobriety { display: flex; box-sizing: border-box; flex-direction: column; align-items: center; justify-content: center; padding: 2rem 3rem 2rem 1.5rem; color: inherit; text-decoration: none; }
:is(.ecovance-footer-sobriety__link, a.ecovance-footer-sobriety)::before { content: ""; width: 2.0625rem; height: 2.3125rem; margin-bottom: .75rem; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAlCAYAAADMdYB5AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAcxJREFUeAHFlotxgzAMhkWvA7ABbEA2SDZINkg3yAhJN+gGSSdINoANmkyAN6CdQJXPpjEuBj+P707nOz/Qjy1ZziARiFhRs5KWK21vPSyDSJDTNTUbab1DG96CREjHO/4hB6c6JfjAnZPVGE7Nv/fq6pyaE4gtj0FjPZOc52RXjM/GVkBFxjAN83FEk/aYjrr38zIlgJoLpOMBUyJQBOAF0mLeCRJQUvMJ6WHGERJxRnc6ua61nT8loER3arItumXQVfWrX1ZHcOOdrAURPy7XdjPa67gLnfz7PfpRqb7VwFyDHQzEtZ2DXwaxLMseJhGr+fV/Albgn8KN3uEigkHYDvTcjCM4nV58rEARNyF1ZDQ11ewoDfoYiB34IbuTFeDPbXLUpLyPZIxTyos5Ee3Ioq0cO2I4Z5iDJn1piw6yv8I4zB8jDmvGSfaFBuLgezYiDnLB1SDMlzvYguIF3aLcNkVUCC3aHIMmpFCOIZS7swBNTGgcuFbjfwKO6Ecn1zr/faYJKEG8Dzj8rfABoqbwC4uP5fC8WRnZt2wfVBkbiIFyDC0sAQ6PIaQ+eAtQs+EES4DP4rTYMeyVXdjBEijBOF/lEoqo0ed6jcgvGFCE7SjR8mwAAAAASUVORK5CYII=") center / contain no-repeat; }
.ecovance-footer-sobriety strong { max-width: 12rem; font: 400 1.125rem/1.12 "Atkinson Hyperlegible", Arial, sans-serif; }
.ecovance-footer-sobriety__link:hover { color: inherit; text-decoration: underline; }
a.ecovance-footer-sobriety:hover { color: inherit; text-decoration: underline; }
.ecovance-footer-bottom { position: relative; z-index: 3; box-sizing: border-box; min-height: 3.1875rem; margin: 0; padding: .75rem max(1.5rem, calc((100vw - 80.625rem) / 2)); font-size: .75rem; }
.ecovance-footer-bottom:not(.has-background) { background: var(--wp--preset--color--ink, var(--ecovance-blue-dark)); }
.ecovance-footer-bottom:not(.has-text-color) { color: #fff; }
.ecovance-footer-bottom p { margin: 0; }
.ecovance-footer-bottom a { color: inherit; }
.ecovance-footer-bottom a:focus-visible {
  border-radius: .125rem;
  outline: 3px solid #fff;
  outline-offset: 0;
  box-shadow: 0 0 0 6px var(--ecovance-green-dark);
}
@media (min-width: 80rem) and (max-width: 89rem) {
  .ecovance-footer-main { grid-template-columns: 19rem minmax(0, 1fr); }
  .ecovance-footer-brand { padding: 1rem; }
  .ecovance-footer-brand__ecovance { width: min(15rem, 100%); height: auto; }
  .ecovance-footer-brand__program { width: min(11rem, 100%); height: auto; }
  .ecovance-footer-content { padding: 3rem 13.5rem 1.25rem 2rem; }
  .ecovance-footer-desktop-columns > * { padding: 0 1rem; }
  .ecovance-footer-desktop-columns .ecovance-footer-eco-badge { width: 100%; max-width: 16.5625rem; }
  .ecovance-footer-sobriety {
    right: -2.5rem;
    width: 15rem;
    height: 15rem;
  }
  :is(.ecovance-footer-sobriety__link, a.ecovance-footer-sobriety) { padding: 1.75rem 2.5rem 1.75rem 1.25rem; }
  .ecovance-footer-sobriety strong { max-width: 10.5rem; font-size: 1rem; line-height: 1.08; }
}
@media (min-width: 48rem) and (max-width: 79.99rem) {
  .ecovance-footer-main {
    min-height: 24rem;
    grid-template-columns: clamp(10rem, 22vw, 16rem) minmax(0, 1fr);
  }
  .ecovance-footer-brand { padding: 1rem; }
  .ecovance-footer-brand__ecovance { width: min(13rem, 100%); height: auto; }
  .ecovance-footer-brand__program { width: min(10rem, 100%); height: auto; }
  .ecovance-footer-content { padding: 2rem 11.5rem 8.75rem 1.5rem; }
  .ecovance-footer-desktop-columns { grid-template-columns: .9fr 1.05fr 1.45fr; }
  .ecovance-footer-desktop-columns > * { min-height: 13.4375rem; padding: 0 clamp(.5rem, 1vw, .75rem); }
  .ecovance-footer-desktop-columns .ecovance-footer-title { margin-bottom: .75rem; font-size: .875rem; }
  .ecovance-footer-desktop-columns li { font-size: .75rem; line-height: 1.15; }
  .ecovance-footer-desktop-columns .wp-block-navigation-item__content {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .ecovance-footer-navigation[aria-label^="Navigation de pied de page"] a[href*="/contact"] {
    width: 100%;
    max-width: 6.1875rem;
    gap: .25rem;
    padding-right: .4rem;
    padding-left: .4rem;
    font-size: .75rem;
  }
  .ecovance-footer-desktop-columns .ecovance-footer-eco-badge {
    position: absolute;
    bottom: 1rem;
    left: 1.5rem;
    width: min(15rem, calc(100% - 13rem));
    min-height: 6.75rem;
    margin: 0;
  }
  .ecovance-footer-sobriety {
    top: 8rem;
    right: -2rem;
    width: 13rem;
    height: 13rem;
  }
  :is(.ecovance-footer-sobriety__link, a.ecovance-footer-sobriety) { padding: 1.5rem 2.25rem 1.5rem 1rem; }
  :is(.ecovance-footer-sobriety__link, a.ecovance-footer-sobriety)::before { width: 1.75rem; height: 1.9375rem; margin-bottom: .5rem; }
  .ecovance-footer-sobriety strong { max-width: 9.5rem; font-size: .9375rem; line-height: 1.08; }
}
@media (max-width: 47.99rem) {
  .ecovance-footer-main { display: block; min-height: 0; }
  .ecovance-footer-brand { min-height: 21.0625rem; gap: .5rem; padding: 1.40625rem 1rem; }
  .ecovance-footer-brand__ecovance { width: min(16.375rem, 100%); height: 12.4375rem; }
  .ecovance-footer-brand__program { width: min(12.8125rem, 100%); height: 3.75rem; }
  .ecovance-footer-content { min-height: 31rem; padding: 1.25rem 1.5rem 9rem; }
  .ecovance-footer-desktop-columns { display: none; }
  .ecovance-footer-mobile-accordions { display: block; position: relative; z-index: 2; }
  .ecovance-footer-mobile-accordions > * { margin-block: 0; }
  .ecovance-footer-mobile-accordions > .ecovance-footer-eco-badge { display: flex; margin-top: 1.25rem; }
  .ecovance-footer-mobile-accordions > a.ecovance-footer-eco-badge { min-height: 6.75rem; }
  .ecovance-footer-mobile-accordions details { border-bottom: 1px solid rgb(22 58 87 / 38%); }
  .ecovance-footer-mobile-accordions summary { position: relative; display: flex; min-height: 3.25rem; box-sizing: border-box; align-items: center; padding: .5rem 2.5rem .5rem 0; cursor: pointer; font: 700 1rem/1 "Atkinson Hyperlegible", Arial, sans-serif; list-style: none; }
  .ecovance-footer-mobile-accordions summary::-webkit-details-marker { display: none; }
  .ecovance-footer-mobile-accordions summary::after { content: "+"; position: absolute; right: .5rem; font-size: 1.5rem; }
  .ecovance-footer-mobile-accordions details[open] summary::after { content: "−"; }
  .ecovance-footer-mobile-accordions details > :not(summary) { padding-bottom: 1rem; }
  .ecovance-footer-mobile-accordions .ecovance-footer-navigation { padding-bottom: 1rem; }
  .ecovance-footer-mobile-accordions li { margin-bottom: .4rem; font-size: .875rem; }
  .ecovance-footer-mobile-accordions a { display: inline-flex; min-height: 2.75rem; align-items: center; }
  .ecovance-footer-sobriety { top: auto; right: -3rem; bottom: -2rem; width: 18rem; height: 18rem; }
  :is(.ecovance-footer-sobriety__link, a.ecovance-footer-sobriety) { padding: 2rem 3rem 3rem 1.5rem; }
  .ecovance-footer-bottom { position: relative; z-index: 3; display: flex; height: auto; min-height: 4rem; box-sizing: border-box; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; overflow: hidden; padding: .5rem 1rem; text-align: center; }
  .ecovance-footer-bottom p + p { margin-top: 0; }
}
@media (forced-colors: active) {
  .ecovance-footer-sobriety { border: 2px solid CanvasText; }
  .ecovance-footer-bottom a:focus-visible { outline-color: Highlight; box-shadow: none; }
}

