/*
Theme Name: Infinity Power Group
Author: Infinity Power Group
Description: Site officiel Infinity Power Group, inspiré de l'identité de la brochure 2026.
Version: 1.0.0
Text Domain: infinitypowergroup
*/

:root {
  --night: #020913;
  --navy: #061827;
  --panel: #081e2f;
  --cyan: #00d9ff;
  --blue: #168cf0;
  --white: #f5fbff;
  --muted: #9fb4c4;
  --line: rgba(50, 209, 255, .24);
  --lime: #b6e200;
  --orange: #ff7900;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--night); color: var(--white); font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif; line-height: 1.55; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -1; background: radial-gradient(circle at 80% 10%, rgba(20,119,220,.16), transparent 28%), linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: auto, 48px 48px, 48px 48px; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.wrap { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 1200; background: rgba(2,9,19,.94); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.ipg-breadcrumbs{position:relative;z-index:10;background:#f4f7f8;color:#526773;border-bottom:1px solid #c8d8e0}.ipg-breadcrumbs ol{display:flex;align-items:center;min-height:42px;margin:0;padding:0;overflow:hidden;list-style:none;font-size:.78rem;letter-spacing:.04em}.ipg-breadcrumbs li{display:flex;align-items:center;min-width:0;white-space:nowrap}.ipg-breadcrumbs li+li::before{content:"/";margin:0 10px;color:#91a5b0}.ipg-breadcrumbs a{color:#067ed1;font-weight:700}.ipg-breadcrumbs a:hover,.ipg-breadcrumbs a:focus-visible{text-decoration:underline}.ipg-breadcrumbs li:last-child>span{overflow:hidden;text-overflow:ellipsis;color:#526773}
.nav { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.nav-panel{display:flex;align-items:center;gap:0;margin-left:auto}
.brand { display: flex; align-items: center; gap: 12px; font-weight: 800; letter-spacing: .12em; line-height: 1.05; }
.brand img { width: 56px; height: 56px; object-fit: cover; border-radius: 50%; }
.brand small { display: block; color: var(--cyan); font-size: .7rem; letter-spacing: .28em; margin-top: 5px; }
.nav-links, .nav-links ul { display: flex; align-items: center; gap: 25px; font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; }
.nav-links ul { list-style: none; padding: 0; margin: 0; }
.nav-links a { position:relative; padding:8px 0; font-weight:700; }
.nav-links a:hover { color: var(--cyan); }
.nav-links .current-menu-item>a,.nav-links a[aria-current="page"]{color:var(--cyan)}
.nav-links .current-menu-item>a::after,.nav-links a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;background:var(--cyan);box-shadow:0 0 10px rgba(0,217,255,.65)}
.nav-toggle{display:none;width:44px;height:44px;min-height:0;padding:10px;border:1px solid var(--cyan);background:transparent;box-shadow:none}.nav-toggle span{display:block;width:21px;height:2px;margin:2.5px 0;background:var(--cyan);transition:transform .2s ease,opacity .2s ease}.nav-toggle:hover{transform:none;box-shadow:0 0 20px rgba(0,217,255,.25)}
.button, button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; border: 1px solid var(--cyan); padding: 0 24px; color: #00101a; background: var(--cyan); font: inherit; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; transition: .2s ease; }
.button:hover, button:hover { box-shadow: 0 0 28px rgba(0,217,255,.4); transform: translateY(-1px); }
.button.ghost { color: var(--white); background: transparent; }
.hero { min-height: 780px; display: grid; align-items: center; overflow: hidden; position: relative; border-bottom: 1px solid var(--line); }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 170px; background: linear-gradient(transparent, var(--night)); pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 55px; padding: 80px 0 120px; }
.eyebrow { color: var(--cyan); font-size: .8rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; display: flex; align-items: center; gap: 12px; }
.eyebrow::before { content: ""; width: 35px; height: 1px; background: currentColor; box-shadow: 0 0 10px currentColor; }
h1, h2, h3 { margin: 0; line-height: 1.03; text-transform: uppercase; }
h1 { font-size: clamp(2.4rem, 4.5vw, 4.5rem); letter-spacing: -.035em; margin: 25px 0; }
h1 span, h2 span { color: var(--cyan); text-shadow: 0 0 24px rgba(0,217,255,.25); }
.lead { max-width: 620px; color: #d3e1ea; font-size: 1.18rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.hero-visual { position: relative; min-height: 590px; }
.hero-visual::before { content: ""; position: absolute; inset: 8% 0; background: radial-gradient(circle, rgba(0,217,255,.24), transparent 65%); filter: blur(20px); }
.hero-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 1px solid rgba(0,217,255,.5); clip-path: polygon(9% 0,100% 0,100% 91%,91% 100%,0 100%,0 9%); box-shadow: 0 0 50px rgba(0,150,255,.22); }
.visual-disclaimer,.media-hero-visual figcaption{position:absolute;right:14px;bottom:14px;z-index:3;padding:6px 9px;background:rgba(2,14,23,.78);color:#d8e5eb;font-size:.65rem;line-height:1.2;letter-spacing:.06em;text-transform:uppercase}.media-hero-visual{position:relative;margin:0}.media-hero-visual img{display:block;width:100%;height:100%;object-fit:cover}
.hero-badge { position: absolute; left: -35px; bottom: 55px; padding: 20px 24px; background: rgba(3,16,28,.94); border: 1px solid var(--cyan); box-shadow: 0 0 30px rgba(0,217,255,.18); z-index: 2; }
.hero-badge strong { display: block; font-size: 1.8rem; color: var(--cyan); }
.hero-badge small { letter-spacing: .12em; text-transform: uppercase; }
.metrics { position: relative; z-index: 2; margin-top: -70px; }
.metrics-grid { display: grid; grid-template-columns: repeat(4,1fr); background: rgba(5,21,35,.96); border: 1px solid var(--line); }
.metric { padding: 28px; border-right: 1px solid var(--line); }
.metric:last-child { border: 0; }
.metric b { display: block; color: var(--cyan); font-size: 1.8rem; }
.metric span { color: var(--muted); text-transform: uppercase; font-size: .75rem; letter-spacing: .1em; }
.section { padding: 120px 0; }
.section-head { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; align-items: end; margin-bottom: 55px; }
.section h2 { font-size: clamp(1.8rem, 3.2vw, 3.1rem); letter-spacing: -.025em; }
.section-intro { color: var(--muted); font-size: 1.08rem; max-width: 680px; }
.cards-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.feature, .model, .process-step { background: linear-gradient(145deg, rgba(8,30,47,.95), rgba(3,13,23,.95)); border: 1px solid var(--line); padding: 30px; position: relative; overflow: hidden; }
.feature::before, .model::before { content: ""; position: absolute; width: 80px; height: 2px; top: 0; left: 30px; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); }
.icon { font-size: 2rem; color: var(--cyan); margin-bottom: 24px; }
.feature h3 { font-size: 1rem; letter-spacing: .08em; margin-bottom: 12px; }
.feature p { color: var(--muted); font-size: .92rem; margin: 0; }
.dark-band { background: linear-gradient(180deg, rgba(5,21,35,.7), rgba(2,9,19,.7)); border-block: 1px solid var(--line); }
.models { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.model { padding-top: 42px; min-height: 390px; display: flex; flex-direction: column; }
.model.basic { --accent: var(--lime); border-color: rgba(182,226,0,.45); }
.model.power { --accent: var(--orange); border-color: rgba(255,121,0,.5); }
.model.infinity { --accent: var(--cyan); border-color: rgba(0,217,255,.55); }
.model::before { background: var(--accent); box-shadow: 0 0 14px var(--accent); }
.model .tag { color: var(--accent); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; }
.model h3 { color: var(--accent); font-size: 2.5rem; margin: 8px 0 5px; }
.model ul { list-style: none; padding: 0; margin: 28px 0; color: #c7d7e2; }
.model li { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.model .model-foot { margin-top: auto; color: var(--accent); text-transform: uppercase; font-size: .78rem; letter-spacing: .08em; }
.solutions { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.solution { min-height: 300px; padding: 32px; border: 1px solid var(--line); background: linear-gradient(180deg, rgba(0,217,255,.07), transparent); }
.solution .number { color: var(--cyan); font-size: 2rem; }
.solution h3 { font-size: 1.45rem; margin: 20px 0; }
.solution p { color: var(--muted); }
.process { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; counter-reset: steps; }
.process-step { padding: 25px 20px; }
.process-step::before { counter-increment: steps; content: "0" counter(steps); color: var(--cyan); font-size: 1.6rem; font-weight: 800; }
.process-step h3 { font-size: .9rem; margin: 18px 0 10px; }
.process-step p { color: var(--muted); font-size: .84rem; margin: 0; }
.form-section { background: #f6f9fb; color: #071725; padding: 110px 0; }
.form-section .section-head { margin-bottom: 38px; }
.form-shell { max-width: 980px; margin: 0 auto; background: white; border: 1px solid #c8dce8; box-shadow: 0 30px 80px rgba(1,16,30,.14); }
.form-top { background: var(--navy); color: white; padding: 34px 40px; border-bottom: 4px solid var(--cyan); display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.form-top h3 { font-size: 1.7rem; }
.form-top span { color: var(--cyan); }
.form-progress { display: grid; grid-template-columns: repeat(4,1fr); background: #e9f1f6; }
.station-form-shell .form-progress { grid-template-columns: repeat(5,1fr); }
.progress-dot { padding: 16px; text-align: center; border-right: 1px solid #c5d9e6; font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; color: #607584; }
.progress-dot.active { background: #0d83c1; color: white; }
.ipg-form { padding: 36px 40px 42px; }
.form-step { display: none; animation: fade .25s ease; }
.form-step.active { display: block; }
@keyframes fade { from { opacity: 0; transform: translateY(6px); } }
.step-title { display: flex; align-items: center; gap: 16px; background: #edf4f8; border: 1px solid #c6dce8; margin-bottom: 25px; }
.step-title b { padding: 15px 20px; color: white; background: #0d83c1; font-size: 1.2rem; }
.step-title h4 { margin: 0; text-transform: uppercase; font-size: 1.15rem; }
.fields { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field.full { grid-column: 1/-1; }
.field label, .group-label { font-size: .88rem; font-weight: 700; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid #bdd3e1; background: white; color: #071725; min-height: 49px; padding: 12px 14px; font: inherit; border-radius: 0; }
.field select{appearance:none;-webkit-appearance:none;padding-right:54px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='m4.5 7 4.5 4 4.5-4' fill='none' stroke='%230d83c1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),linear-gradient(90deg,%23edf4f8,%23edf4f8);background-repeat:no-repeat;background-position:right 13px center,right center;background-size:18px,44px 100%;cursor:pointer}.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid rgba(13,131,193,.16);border-color:#0d83c1}.field select:disabled{background-color:#eef3f6;color:#72838d;cursor:not-allowed}.field input[type=file]{padding:8px;background:#f7fafb}.field input[type=file]::file-selector-button{height:32px;margin-right:12px;padding:0 14px;border:0;background:#071725;color:#fff;font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.choices input,.consent input{width:18px;height:18px;min-height:0;flex:0 0 18px;margin:1px 0 0;accent-color:#0d83c1}
.field textarea { min-height: 130px; resize: vertical; }
.choice-group { grid-column: 1/-1; border: 1px solid #c8dce8; padding: 18px; }
.choices { display: grid; grid-template-columns: repeat(3,1fr); gap: 11px 18px; margin-top: 15px; }
.choices label { display: flex; gap: 9px; align-items: flex-start; font-size: .84rem; }
.choices input { accent-color: #0d83c1; margin-top: 3px; }
.form-actions { display: flex; justify-content: space-between; gap: 15px; margin-top: 28px; }
.form-actions button.back { color: #0b293b; background: transparent; border-color: #9ab7c8; }
.form-message { padding: 14px 18px; margin-bottom: 20px; border: 1px solid #16a765; background: #e8fff3; color: #075d36; }
.consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 18px; font-size: .85rem; }
.ipg-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.legal-page { min-height: 65vh; }
.legal-body { padding: 84px 0 120px; background:#f7f9fa; color:#061827; border-bottom:1px solid #c8d8e0; }
.legal-layout { max-width: 900px; }
.legal-page .legal-hero h1 { max-width: 900px; margin: 16px 0; font-size: clamp(2.05rem, 3.2vw, 3.15rem); line-height: 1.03; letter-spacing: -.035em; }
.legal-content { color:#334b59; font-family:Arial,sans-serif; font-size:1rem; }
.legal-content h2 { color:#067ed1; font-family:"Arial Narrow",Arial,sans-serif; font-size:1.45rem; margin:42px 0 15px; letter-spacing:.03em; }
.legal-content h3 { font-size: 1.05rem; margin: 28px 0 10px; }
.legal-content a { color:#067ed1; text-decoration:underline; }
.legal-content p, .legal-content li { max-width: 780px; }
.footer-links ul { display: grid; gap: 9px; list-style: none; margin: 0; padding: 0; }
.site-footer { border-top: 1px solid var(--line); padding: 55px 0 35px; background: #01060c; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 50px; }
.footer-title { color: var(--cyan); text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; }
.footer-links { display: grid; gap: 9px; color: var(--muted); font-size: .9rem; }
.footer-contact-links a{display:flex;align-items:center;gap:10px;width:fit-content}.footer-contact-links svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:var(--cyan);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.footer-contact-links .icon-dot{fill:var(--cyan);stroke:none}.footer-contact-links a:hover span{color:var(--cyan)}
.footer-cookie-link{appearance:none;display:inline;min-height:0;border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;text-transform:none;cursor:pointer;text-decoration:none;box-shadow:none;transform:none}.footer-cookie-link:hover,.footer-cookie-link:focus-visible{color:var(--cyan);box-shadow:none;transform:none}
#cmplz-manage-consent .cmplz-manage-consent{display:none!important}
#cmplz-cookiebanner-1-optin{box-shadow:0 0 0 1px rgba(45,150,255,.28),0 10px 34px rgba(0,126,220,.22),0 24px 60px rgba(0,0,0,.52)!important}
.language-switcher{position:relative;display:flex;align-items:center;margin-left:10px;padding-left:14px;border-left:1px solid rgba(255,255,255,.22)}.language-toggle{appearance:none;display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;min-width:58px;padding:0 9px;border:1px solid rgba(0,217,255,.55);border-radius:2px;background:#061827;color:var(--white);font-family:inherit;font-size:.7rem;font-weight:800;line-height:1;letter-spacing:.06em;cursor:pointer}.language-toggle svg{width:10px;height:7px;transition:transform .18s ease}.language-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}.language-toggle:hover,.language-toggle:focus-visible,.language-toggle[aria-expanded="true"]{border-color:var(--cyan);color:var(--cyan);outline:2px solid rgba(0,217,255,.22);outline-offset:2px}.language-menu{position:absolute;z-index:100;top:calc(100% + 8px);right:0;min-width:82px;margin:0;padding:4px;background:#061827;border:1px solid rgba(0,217,255,.48);box-shadow:0 12px 28px rgba(0,0,0,.38);list-style:none}.language-menu[hidden]{display:none}.language-menu a{display:flex;align-items:center;min-height:36px;padding:0 8px;border-left:2px solid transparent;color:var(--white);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-decoration:none;transition:background-color .15s ease,color .15s ease}.language-menu a:hover,.language-menu a:focus-visible{background:#12232d;color:var(--cyan);border-left-color:var(--cyan);outline:none}.language-menu a[aria-current="page"]{background:transparent;color:var(--cyan);border-left-color:var(--cyan)}
.copyright { border-top: 1px solid rgba(255,255,255,.08); margin-top: 40px; padding-top: 22px; color: #648091; font-size: .78rem; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.footer-legal-links{display:flex;align-items:center;justify-content:flex-end;gap:8px 20px;flex-wrap:wrap}
.footer-legal-links a,.footer-legal-links .footer-cookie-link{color:#839aa8;text-decoration:none}
.footer-legal-links a:hover,.footer-legal-links a:focus-visible,.footer-legal-links .footer-cookie-link:hover,.footer-legal-links .footer-cookie-link:focus-visible{color:var(--cyan)}
@media(max-width:700px){.copyright{align-items:flex-start;flex-direction:column}.footer-legal-links{justify-content:flex-start}}

/* Brochure-led charging offer. */
.ipg-line-icon{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border:1px solid currentColor;border-radius:50%;color:var(--cyan);filter:drop-shadow(0 0 8px rgba(0,217,255,.28))}.ipg-line-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
/* WordPress strips inline SVG from saved page content; these masks keep formula icons reliable. */
.formula-facts .ipg-line-icon::before,.formula-ideal .ipg-line-icon::before{content:"";display:block;width:30px;height:30px;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}
.formula-facts article:nth-child(1) .ipg-line-icon::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='4' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M4 21c0-5 3-8 8-8s8 3 8 8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='4' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M4 21c0-5 3-8 8-8s8 3 8 8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")}
.formula-facts article:nth-child(2) .ipg-line-icon::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 7a5 5 0 0 0-6-5l3 3-4 4-3-3a5 5 0 0 0 6 6l8 8 3-3-8-8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 7a5 5 0 0 0-6-5l3 3-4 4-3-3a5 5 0 0 0 6 6l8 8 3-3-8-8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.formula-facts article:nth-child(3) .ipg-line-icon::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M12 2v3m0 14v3M2 12h3m14 0h3M5 5l2 2m10 10 2 2M19 5l-2 2M7 17l-2 2' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M12 2v3m0 14v3M2 12h3m14 0h3M5 5l2 2m10 10 2 2M19 5l-2 2M7 17l-2 2' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")}
.formula-facts article:nth-child(4) .ipg-line-icon::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V10m6 10V6m6 14v-7m4 7H2M4 8l5-4 6 5 5-5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V10m6 10V6m6 14v-7m4 7H2M4 8l5-4 6 5 5-5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.formula-ideal .ipg-line-icon::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='m14 10 6-6m0 0v4m0-4h-4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='m14 10 6-6m0 0v4m0-4h-4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.formula-facts article:nth-child(1) .ipg-line-icon::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M16 8c-1-1-2-2-4-2-3 0-5 3-5 6s2 6 5 6c2 0 3-1 4-2M5 10h8m-8 4h8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M16 8c-1-1-2-2-4-2-3 0-5 3-5 6s2 6 5 6c2 0 3-1 4-2M5 10h8m-8 4h8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")}
.formula-facts article:nth-child(2) .ipg-line-icon::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='4' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M4 21c0-5 3-8 8-8s8 3 8 8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='4' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M4 21c0-5 3-8 8-8s8 3 8 8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")}
/* Professional, consistent vector icon system. */
:root{
--ipg-people:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='8' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3Ccircle cx='17' cy='9' r='2.5' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M3 20c.5-4 2.5-6 6-6s5.5 2 6 6M15 15c3 0 5 1.7 6 5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
--ipg-target:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='m14 10 6-6m0 0v4m0-4h-4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ipg-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2-5.6-2.9-5.6 2.9 1.1-6.2L3 9.6l6.2-.9Z' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E");
--ipg-chart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V10m6 10V6m6 14v-7m4 7H2M4 8l5-4 6 5 5-5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ipg-charger:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='2' width='11' height='20' rx='2' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M8 6h5v5H8zm8 3h2c2 0 3 1 3 3v6c0 1-.7 2-2 2s-2-1-2-2v-3' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ipg-handshake:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 12 4-4 4 2 3-2 7 6-3 3-2-1-2 2-2-1-2 1-7-6Z' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='m8 9 4 4m3-4-4 4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
--ipg-euro:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M16 8c-1-1-2-2-4-2-3 0-5 3-5 6s2 6 5 6c2 0 3-1 4-2M5 10h8m-8 4h8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
--ipg-battery:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='5' width='14' height='17' rx='2' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M9 2h6v3m-2 4-4 6h4l-3 4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ipg-shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3 9 8 11 5-2 8-6 8-11V5Z' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='m8 12 3 3 5-6' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ipg-screen:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='13' rx='2' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M9 21h6m-3-4v4m-5-9 3-3 3 2 4-4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ipg-sun:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M12 2v3m0 14v3M2 12h3m14 0h3M5 5l2 2m10 10 2 2M19 5l-2 2M7 17l-2 2' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
--ipg-document:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l4 4v16H6Z' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M14 2v5h5M9 12h6m-6 4h6' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
--ipg-wrench:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 7a5 5 0 0 0-6-5l3 3-4 4-3-3a5 5 0 0 0 6 6l8 8 3-3-8-8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ipg-gear:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M12 2v3m0 14v3M2 12h3m14 0h3M5 5l2 2m10 10 2 2M19 5l-2 2M7 17l-2 2' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
}
.brochure-why .ipg-line-icon::before,.brochure-formulas .ipg-line-icon::before,.brochure-tech .ipg-line-icon::before,.brochure-media .ipg-line-icon::before,.brochure-process .ipg-line-icon::before,.brochure-commitments .ipg-line-icon::before{content:""!important;display:block;width:30px;height:30px;background:currentColor;mask-image:var(--ipg-icon);mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-image:var(--ipg-icon);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}
.brochure-why .ipg-line-icon,.brochure-tech .ipg-line-icon,.formula-facts .ipg-line-icon{color:rgb(6,126,209);filter:none}
.brochure-benefits article:nth-child(1) .ipg-line-icon{--ipg-icon:var(--ipg-people)}.brochure-benefits article:nth-child(2) .ipg-line-icon{--ipg-icon:var(--ipg-target)}.brochure-benefits article:nth-child(3) .ipg-line-icon{--ipg-icon:var(--ipg-star)}.brochure-benefits article:nth-child(4) .ipg-line-icon{--ipg-icon:var(--ipg-chart)}
.brochure-model.basic .ipg-line-icon{--ipg-icon:var(--ipg-charger)}.brochure-model.power .ipg-line-icon{--ipg-icon:var(--ipg-handshake)}.brochure-model.infinity .ipg-line-icon{--ipg-icon:var(--ipg-euro)}
.common-formula article:nth-child(1) .ipg-line-icon{--ipg-icon:var(--ipg-charger)}.common-formula article:nth-child(2) .ipg-line-icon{--ipg-icon:var(--ipg-battery)}.common-formula article:nth-child(3) .ipg-line-icon{--ipg-icon:var(--ipg-shield)}.common-formula article:nth-child(4) .ipg-line-icon{--ipg-icon:var(--ipg-screen)}
.technical-models article:nth-child(1) .ipg-line-icon{--ipg-icon:var(--ipg-charger)}.technical-models article:nth-child(2) .ipg-line-icon{--ipg-icon:var(--ipg-battery)}.technical-models article:nth-child(3) .ipg-line-icon{--ipg-icon:var(--ipg-sun)}
.media-benefits article:nth-child(1) .ipg-line-icon{--ipg-icon:var(--ipg-screen)}.media-benefits article:nth-child(2) .ipg-line-icon{--ipg-icon:var(--ipg-chart)}.media-benefits article:nth-child(3) .ipg-line-icon{--ipg-icon:var(--ipg-star)}
.detailed-process article:nth-child(1) .ipg-line-icon{--ipg-icon:var(--ipg-handshake)}.detailed-process article:nth-child(2) .ipg-line-icon,.detailed-process article:nth-child(3) .ipg-line-icon{--ipg-icon:var(--ipg-document)}.detailed-process article:nth-child(4) .ipg-line-icon{--ipg-icon:var(--ipg-wrench)}.detailed-process article:nth-child(5) .ipg-line-icon{--ipg-icon:var(--ipg-chart)}
.brochure-commitments article:nth-child(1) .ipg-line-icon{--ipg-icon:var(--ipg-gear)}.brochure-commitments article:nth-child(2) .ipg-line-icon{--ipg-icon:var(--ipg-target)}.brochure-commitments article:nth-child(3) .ipg-line-icon{--ipg-icon:var(--ipg-wrench)}.brochure-commitments article:nth-child(4) .ipg-line-icon{--ipg-icon:var(--ipg-shield)}
.brochure-benefits{display:grid;grid-template-columns:1fr 1fr;border:1px solid #9db4c0;background:#fff}.brochure-benefits article{display:flex;gap:20px;padding:30px;border-right:1px solid #c4d2d9;border-bottom:1px solid #c4d2d9}.brochure-benefits article:nth-child(2n){border-right:0}.brochure-benefits article:nth-last-child(-n+2){border-bottom:0}.brochure-benefits h3{margin:4px 0 8px;color:#067ed1;font-size:1.2rem}.brochure-benefits p{margin:0;color:#415461}.brochure-callout{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:24px;padding:24px 28px;border:1px solid #173b50;background:#061827;color:#c8d9e2}.brochure-callout strong{color:var(--cyan);text-transform:uppercase;letter-spacing:.08em}
.brochure-models{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.brochure-model{display:flex;flex-direction:column;min-height:540px;padding:30px;border:1px solid currentColor;background:#061827}.brochure-model.basic{color:#b5d400}.brochure-model.power{color:#ff7a00}.brochure-model.infinity{color:#00d9ff}.brochure-model .model-icon{margin-bottom:20px}.brochure-model h3{font-size:2.15rem}.brochure-model>strong{margin:10px 0 22px;color:#fff;text-transform:uppercase}.brochure-model ul{display:grid;gap:0;margin:0 0 28px;padding:0;list-style:none;color:#d1dce2}.brochure-model li{padding:13px 0;border-top:1px solid rgba(255,255,255,.13)}.brochure-model .button{align-self:flex-start;margin-top:auto;color:currentColor;border-color:currentColor}.common-formula{margin-top:24px;padding:24px;border:1px solid #19617b}.common-formula>.eyebrow{justify-content:center;margin:0 0 22px}.common-formula>div{display:grid;grid-template-columns:repeat(4,1fr)}.common-formula article{display:flex;align-items:center;gap:13px;padding:10px 18px;border-right:1px solid #315062}.common-formula article:last-child{border:0}.common-formula .ipg-line-icon{width:45px;height:45px;flex-basis:45px}.common-formula strong{font-size:.9rem}
.technical-models{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.technical-models article{position:relative;padding:30px;background:#fff;border:1px solid #9db4c0}.technical-models article>b{position:absolute;top:24px;right:25px;color:#067ed1;font-size:1.6rem}.technical-models h3{margin:24px 0 5px;font-size:1.45rem}.technical-models strong{display:block;min-height:48px;color:#067ed1;text-transform:uppercase}.technical-models ul{display:grid;gap:10px;margin:22px 0 0;padding:20px 0 0;list-style:none;border-top:1px solid #c5d2d9}.technical-models li::before{content:"+";margin-right:9px;color:#067ed1;font-weight:900}
.media-benefits{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:30px;border:1px solid #27495c}.media-benefits article{padding:28px;border-right:1px solid #27495c}.media-benefits article:last-child{border:0}.media-benefits h3{margin:20px 0 10px}.media-benefits p{margin:0;color:#b7cad5}
.detailed-process{display:grid;gap:0;border-top:1px solid #9db4c0}.detailed-process article{display:grid;grid-template-columns:58px 55px 1fr;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid #c4d2d9}.detailed-process article>b{color:#067ed1;font-size:1.8rem}.detailed-process h3{margin:0 0 5px}.detailed-process p{margin:0;color:#415461}.process-promises{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border:1px solid #163f55;background:#061827;color:var(--cyan)}.process-promises span{padding:22px;text-align:center;border-right:1px solid #27495c;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.process-promises span:last-child{border:0}
.commitments-title{margin:0 0 24px;color:var(--cyan);font-weight:800;letter-spacing:.15em;text-align:center;text-transform:uppercase}.brochure-commitments .feature .ipg-line-icon{margin-bottom:28px}
.formula-detail-hero{position:relative;overflow:hidden;display:grid;align-items:center;min-height:300px;padding:36px 0 40px;background:linear-gradient(135deg,#020913 0%,#061827 58%,#08253a 100%);border-bottom:1px solid rgba(50,209,255,.24)}.formula-detail-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 24%,rgba(0,217,255,.13),transparent 34%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}.formula-detail-hero>.wrap{position:relative;z-index:1}.formula-detail-hero .eyebrow{margin:0 0 14px;font-size:.8rem;line-height:1.2;letter-spacing:.22em}.formula-detail-hero h1{margin:10px 0 4px;font-size:clamp(2.05rem,3.2vw,3.15rem);line-height:1.03;letter-spacing:-.035em}.formula-detail-hero h2{margin:0 0 14px;font-size:clamp(1.1rem,1.65vw,1.4rem);line-height:1.2}.formula-detail-hero>div>p:not(.eyebrow){max-width:700px;margin:0;color:#c4d5de;font-size:1.05rem;line-height:1.55}.formula-detail-hero .hero-actions{margin-top:22px}.formula-basic h1,.formula-basic h2{color:#b5d400}.formula-power h1,.formula-power h2{color:#ff7a00}.formula-infinity h1,.formula-infinity h2{color:#00d9ff}.formula-facts{display:grid;grid-template-columns:1fr 1fr;border:1px solid #9db4c0}.formula-facts article{display:flex;gap:20px;padding:30px;border-right:1px solid #c4d2d9;border-bottom:1px solid #c4d2d9}.formula-facts article:nth-child(2n){border-right:0}.formula-facts article:nth-last-child(-n+2){border-bottom:0}.formula-facts h3{margin:3px 0 8px;color:#067ed1}.formula-facts p{margin:0}.formula-ideal{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #27495c}.formula-ideal article{padding:25px;border-right:1px solid #27495c}.formula-ideal article:last-child{border:0}.formula-ideal p{color:#c5d4dd}.formula-steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #9db4c0}.formula-steps article{padding:28px;border-right:1px solid #c4d2d9}.formula-steps article:last-child{border:0}.formula-steps b{color:#067ed1;font-size:1.7rem}.formula-steps h3{margin:18px 0 8px}.formula-steps p{color:#415461}
@media(max-width:900px){.brochure-models,.technical-models{grid-template-columns:1fr}.brochure-model{min-height:0}.common-formula>div,.media-benefits,.formula-ideal,.formula-steps{grid-template-columns:1fr 1fr}.common-formula article:nth-child(2),.media-benefits article:nth-child(2),.formula-ideal article:nth-child(2),.formula-steps article:nth-child(2){border-right:0}.common-formula article,.media-benefits article,.formula-ideal article,.formula-steps article{border-bottom:1px solid #27495c}.formula-facts{grid-template-columns:1fr}}
@media(max-width:600px){.brochure-benefits,.common-formula>div,.media-benefits,.formula-ideal,.formula-steps{grid-template-columns:1fr}.brochure-benefits article,.formula-facts article{border-right:0;border-bottom:1px solid #c4d2d9}.brochure-benefits article:last-child,.formula-facts article:last-child{border-bottom:0}.brochure-callout{align-items:flex-start;flex-direction:column}.common-formula article,.media-benefits article,.formula-ideal article,.formula-steps article{border-right:0}.detailed-process article{grid-template-columns:48px 42px 1fr}.process-promises{grid-template-columns:1fr 1fr}.process-promises span:nth-child(2){border-right:0}.process-promises span:nth-child(-n+2){border-bottom:1px solid #27495c}.formula-detail-hero{min-height:0;padding:42px 0 48px}.formula-detail-hero h1{font-size:2rem}.formula-detail-hero h2{font-size:1.1rem}.formula-detail-hero>div>p:not(.eyebrow){font-size:1rem}.formula-detail-hero .hero-actions{display:grid}.formula-detail-hero .hero-actions .button{width:100%}}

@media (max-width: 900px) {
  .nav { position: relative; gap: 12px; }
  .nav-toggle { display: inline-flex; flex:0 0 44px; flex-direction: column; align-items: center; justify-content: center; margin-left:auto; order: 3; }
  .nav-panel { display: none; position: absolute; top: 100%; left: -20px; width: calc(100% + 40px); padding: 10px 20px 18px; background: rgba(2,9,19,.985); border-top: 1px solid var(--line); border-bottom: 1px solid var(--cyan); box-shadow: 0 20px 35px rgba(0,0,0,.42); }
  .site-header.menu-open .nav-panel { display: block; }
  .nav-panel .language-switcher { justify-content:flex-start; margin:14px 0 0; padding:0; border-left:0; }
  .nav-links { display:block; }
  .site-header.menu-open .nav-links { display: block; }
  .nav-links ul { display: grid; gap: 0; align-items: stretch; }
  .nav-links li { border-bottom: 1px solid rgba(255,255,255,.1); }
  .nav-links a, .nav-links a:not(.button) { display: flex; align-items: center; min-height: 52px; padding: 0 4px; color: var(--white); }
  .nav-links .current-menu-item>a,.nav-links a[aria-current="page"]{margin-inline:-10px;padding-inline:14px;color:var(--cyan);background:rgba(0,217,255,.08);border-left:3px solid var(--cyan)}
  .nav-links .current-menu-item>a::after,.nav-links a[aria-current="page"]::after{display:none}
  .site-header.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .site-header.menu-open .nav-toggle span:nth-child(2){opacity:0}
  .site-header.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero { min-height: auto; }
  .hero-grid, .section-head { grid-template-columns: 1fr; }
  .hero-grid { padding-top: 55px; }
  .hero-visual { min-height: 480px; }
  .metrics { margin-top: 0; }
  .metrics-grid, .cards-4 { grid-template-columns: repeat(2,1fr); }
  .models, .solutions { grid-template-columns: 1fr; }
  .process { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .wrap { width: min(calc(100% - 24px), var(--max)); }
  .brand span { display: none; }
  .nav { min-height: 66px; }
  .hero-grid { gap: 28px; padding-bottom: 70px; }
  h1 { font-size: 2.15rem; }
  .hero-visual { min-height: 420px; }
  .hero-badge { left: 12px; bottom: 20px; }
  .section { padding: 78px 0; }
  .metrics-grid, .cards-4, .process, .footer-grid { grid-template-columns: 1fr; }
  .metric { border-right: 0; border-bottom: 1px solid var(--line); }
  .fields, .choices { grid-template-columns: 1fr; }
  .form-section { padding: 70px 0; }
  .form-top, .ipg-form { padding: 24px 18px; }
  .form-top { align-items: flex-start; flex-direction: column; }
  .progress-dot { font-size: 0; padding: 8px; }
  .progress-dot::after { content: attr(data-step); font-size: .75rem; }
  .copyright { flex-direction: column; gap: 8px; }
}

/* Editorial light system: premium white surfaces with precise dark lines. */
.section:not(.dark-band){background:#f7f9fa;color:#061827;border-bottom:1px solid #203846}.section:not(.dark-band) .section-intro,.section:not(.dark-band) .feature p,.section:not(.dark-band) .solution p{color:#415461}.section:not(.dark-band) .feature{background:#fff;border-color:#203846}.section:not(.dark-band) .solution{background:#fff;border-color:#203846}.section:not(.dark-band) h2 span{color:#067ed1;text-shadow:none}.section:not(.dark-band) .eyebrow{color:#067ed1}.section:not(.dark-band) .eyebrow:before{background:#067ed1;box-shadow:none}.station-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.station-detail-grid img{width:100%;max-height:560px;object-fit:cover}.station-detail-grid h2{font-size:2.2rem;margin-bottom:25px}.station-facts{border-top:1px solid #78909c;margin:0 0 30px}.station-facts div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:15px 0;border-bottom:1px solid #b9c6cc}.station-facts dt{font-weight:800}.station-facts dd{margin:0}.single-station-map{margin-top:55px}@media(max-width:700px){.station-detail-grid{grid-template-columns:1fr}}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.audience-card{display:flex;flex-direction:column;min-height:430px;padding:42px;background:#fff;border:1px solid #234151}.audience-card.media{background:#061827;color:#fff}.audience-card .number{color:var(--cyan);font-size:1.4rem;font-weight:800}.audience-card h3{font-size:2rem;margin:24px 0 15px}.audience-card>p{color:#526875;max-width:520px}.audience-card.media>p{color:#b5c7d2}.audience-points{display:grid;gap:10px;margin:25px 0 32px;padding:0;list-style:none}.audience-points li{padding-top:10px;border-top:1px solid rgba(80,111,128,.35)}.audience-card .button{margin-top:auto;align-self:flex-start}.network-preview{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.network-preview-visual{min-height:340px;background:linear-gradient(135deg,rgba(0,217,255,.16),rgba(6,24,39,.95)),url('assets/images/borne-ipg.jpg') center/cover;border:1px solid #2e5366}.home-contact{background:#edf4f8!important}.home-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.compact-contact-form{padding:32px;background:#fff;border:1px solid #bfd2dd}.landing-hero .hero-grid{min-height:620px}.landing-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.landing-checks{display:grid;grid-template-columns:1fr 1fr;gap:14px}.landing-checks div{padding:20px;background:#fff;border:1px solid #bcd0db;font-weight:700}
.form-notice{margin:0 0 24px;padding:18px 22px;border:1px solid #157a47;background:#eaf8f0;color:#073d25}.form-notice.error{border-color:#b54242;background:#fff0f0;color:#6f1717}
@media(max-width:800px){.audience-grid,.network-preview,.home-contact-grid,.landing-intro{grid-template-columns:1fr}.audience-card{min-height:0;padding:30px}.landing-checks{grid-template-columns:1fr}}

/* Keep interior landing pages on the homepage's restrained type scale. */
.landing-hero .hero-grid{min-height:550px;padding-top:65px;padding-bottom:85px}
.landing-hero h1{font-size:clamp(2.25rem,3.8vw,3.55rem)}
.landing-hero .hero-visual{min-height:520px}
@media(max-width:600px){.landing-hero .hero-grid{min-height:0;padding-top:48px;padding-bottom:64px}.landing-hero h1{font-size:2.15rem}.landing-hero .hero-visual{min-height:360px}}

/* Keep the language menu compact, and let it flow inside the mobile nav. */
.network-panel .empty-state{margin:0;padding:24px;color:#415461;background:#edf4f8;border:1px solid #bfd2dd;border-radius:8px}
.language-switcher .language-menu{width:58px;min-width:58px}
form.is-submitting{cursor:wait;pointer-events:none}
form.is-submitting .form-actions{flex-wrap:wrap}
form.is-submitting .form-grid,form.is-submitting .consent{opacity:.6}
form.is-submitting button:disabled{opacity:.7;cursor:wait}
.form-sending-status{flex-basis:100%;width:100%;margin:12px 0 0;color:#087bad;font-weight:600}
.form-actions:has(.form-result){flex-wrap:wrap}
.form-result{flex-basis:100%;width:100%;box-sizing:border-box;padding:16px;margin:16px 0 0;border:1px solid currentColor;font-weight:600}
.form-result.success{color:#14613c;background:#edf9f2}
.form-result.error{color:#9a2626;background:#fff2f2}
.form-sending-status::before{content:"";display:inline-block;width:14px;height:14px;margin-right:9px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:ipg-sending .8s linear infinite}
@keyframes ipg-sending{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.form-sending-status::before{animation:none}}
@media(max-width:900px){.nav-panel .language-switcher{display:flex;flex-direction:column;align-items:flex-start}.nav-panel .language-switcher .language-menu{position:static;width:58px;min-width:58px;margin-top:8px}}
