/* Idéal Web — bundle final de livraison pour test-vitesse-site-web.html. Sources aplaties, ordre exact conservé. */

/* === SOURCE: assets/css/core/site-global.css === */
/* © 2026 Idéal Web — Karim Harbaoui. Design et code propriétaires. Tous droits réservés. */
:root{--ink:#10261f;--ink-soft:#20372f;--muted:#4c6158;--green:#0f8442;--green-dark:#0a6036;--green-deep:#03241f;--green-soft:#e8f4ec;--green-pale:#f3f9f5;--line:#d6e2dc;--surface:#ffffff;--surface-soft:#f6f9f7;--sand:#f4f1e8;--gold:#b88a3b;--footer-text:#c7d8d0;--footer-link:#dde9e3;--shadow:0 18px 48px rgba(3,36,31,.10);--shadow-soft:0 8px 28px rgba(3,36,31,.065);--radius:14px;--radius-lg:24px;--shell:1360px;--logo-header-desktop:212px;--logo-header-mobile:158px;--logo-footer:192px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;min-width:320px;overflow-x:clip;overflow-wrap:break-word;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}img,svg{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit}strong{font-weight:800}.shell{width:min(calc(100% - 48px),var(--shell));margin-inline:auto;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:12px;z-index:2000;transform:translateY(-180%);padding:12px 16px;border-radius:8px;background:var(--ink);color:#fff;font-weight:800;transition:transform .2s ease}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(223,232,227,.8);backdrop-filter:blur(16px);transition:box-shadow .25s ease}.site-header.is-scrolled{box-shadow:0 10px 30px rgba(15,45,35,.08)}.header-inner{position:relative;display:flex;align-items:center;gap:28px;min-height:86px}.brand{display:block;flex:0 0 auto;width:206px;min-width:0}.brand img{width:100%;height:auto}.main-menu{display:flex;align-items:center;justify-content:center;gap:24px;min-width:0;margin-left:auto}.main-menu>a,.nav-parent{position:relative;padding:32px 0;color:#263a34;font-size:13px;font-weight:750;white-space:nowrap}.main-menu>a::after,.nav-parent::after{content:"";position:absolute;left:0;right:0;bottom:24px;height:2px;transform:scaleX(0);background:var(--green);transform-origin:left;transition:transform .2s ease}.main-menu>a:hover::after,.main-menu>a:focus-visible::after,.nav-group:hover .nav-parent::after,.nav-group:focus-within .nav-parent::after{transform:scaleX(1)}.nav-group{position:relative}.nav-parent{display:flex;align-items:center;gap:7px}.nav-parent::before{content:"";order:2;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}.nav-submenu{position:absolute;left:50%;top:calc(100% - 8px);width:520px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:6px;visibility:hidden;opacity:0;transform:translate(-50%,10px);border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu{visibility:visible;opacity:1;transform:translate(-50%,0)}.nav-submenu a{display:block;padding:13px 14px;border-radius:9px;color:var(--ink-soft)}.nav-submenu a:hover,.nav-submenu a:focus-visible{background:var(--green-pale)}.nav-submenu strong,.nav-submenu small{display:block}.nav-submenu strong{font-size:13px}.nav-submenu small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:7px;font-weight:850;font-size:13px;line-height:1.2;text-align:center;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:linear-gradient(135deg,var(--green),#008f59);color:#fff;box-shadow:0 9px 22px rgba(0,122,77,.18)}.button-primary:hover{background:linear-gradient(135deg,var(--green-dark),var(--green))}.button-client{border-color:#c9d9d1;background:#fff;color:var(--green-dark)}.button-client:hover{border-color:#8fb9a6;background:var(--green-pale)}.button-client svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.button-outline{border-color:#9cc6b3;background:#fff;color:var(--green-dark)}.button-outline:hover{border-color:var(--green);background:var(--green-pale)}.button-large{min-height:58px;padding:16px 26px;font-size:15px}.menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:48px;height:48px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff}.menu-toggle span:not(.sr-only){width:21px;height:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}.menu-toggle[aria-expanded="true"] span:nth-child(2){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(3){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(4){transform:translateY(-7px) rotate(-45deg)}.mobile-client-link{display:none!important}.hero{position:relative;overflow:hidden;padding:78px 0 56px;background:radial-gradient(circle at 78% 12%,rgba(0,122,77,.08),transparent 28%),linear-gradient(180deg,#fff 0%,#fbfdfc 100%)}.hero::before{content:"";position:absolute;left:-180px;bottom:-230px;width:520px;height:520px;border-radius:50%;background:rgba(0,122,77,.035)}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:58px}.hero-copy,.hero-media{min-width:0}.eyebrow,.kicker{margin:0 0 16px;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.hero h1{max-width:690px;margin:0;font-size:clamp(52px,5.2vw,82px);line-height:.98;letter-spacing:-.058em}.hero h1 span{color:var(--green)}.hero-lead{max-width:680px;margin:28px 0 0;color:#42534d;font-size:clamp(17px,1.35vw,20px);line-height:1.7}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--green-dark);font-size:13px;font-weight:900}.text-link:hover{color:var(--green)}.text-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.hero-points{display:flex;flex-wrap:wrap;gap:10px 22px;margin:30px 0 0;padding:0;list-style:none;color:#44554f;font-size:12px;font-weight:750}.hero-points li{display:flex;align-items:center;gap:8px}.hero-points li::before{content:"✓";display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:900}.hero-media{position:relative;margin:0}.hero-media::before{content:"";position:absolute;inset:8% 5% 2%;border-radius:50%;background:rgba(0,122,77,.12);filter:blur(55px)}.hero-media img{position:relative;width:100%;max-height:640px;object-fit:contain}.trust-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.trust-item{display:flex;align-items:center;gap:15px;min-width:0;padding:25px 28px;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:22px}.trust-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.trust-item strong,.trust-item small{display:block}.trust-item strong{font-size:13px}.trust-item small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.section{padding:112px 0}.section-soft{background:var(--surface-soft)}.section-heading{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);align-items:end;gap:70px;margin-bottom:46px}.section-heading.centered{display:block;max-width:860px;margin:0 auto 48px;text-align:center}.section-heading h2,.faq-heading h2,.about-copy h2,.review-copy h2{margin:0;font-size:clamp(38px,4vw,60px);line-height:1.06;letter-spacing:-.048em}.section-heading.centered>p:last-child{max-width:700px;margin:18px auto 0;color:var(--muted);font-size:16px;line-height:1.7}.section-intro p{margin:0 0 18px;color:var(--muted);font-size:15px;line-height:1.75}.pillar-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px}.pillar-card{grid-column:span 4;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.pillar-card:nth-child(4),.pillar-card:nth-child(5){grid-column:span 6}.pillar-card:hover{transform:translateY(-4px);border-color:#b9d4c7;box-shadow:var(--shadow)}.pillar-card>img{width:100%;height:230px;object-fit:cover}.pillar-card:nth-child(4)>img,.pillar-card:nth-child(5)>img{height:270px}.pillar-body{position:relative;padding:27px 26px 30px}.pillar-number{display:block;margin-bottom:20px;color:#9db6aa;font-size:11px;font-weight:900;letter-spacing:.14em}.pillar-body h3{margin:0;font-size:25px;letter-spacing:-.025em}.pillar-body p{min-height:70px;margin:13px 0 20px;color:var(--muted);font-size:14px;line-height:1.65}.pillar-body a{color:var(--green);font-size:12px;font-weight:900}.pillar-body a:hover{color:var(--green-dark)}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;counter-reset:steps}.process-grid li{position:relative;min-width:0;padding:0 28px;text-align:center}.process-grid li:not(:last-child)::after{content:"";position:absolute;left:66%;top:43px;width:68%;border-top:1px dashed #a9cbbb}.step-number{position:absolute;left:21px;top:0;color:var(--green);font-size:12px;font-weight:900}.step-icon{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 22px;border:1px solid #d3e6dc;border-radius:50%;background:#fff;color:var(--green);box-shadow:0 8px 20px rgba(0,122,77,.06)}.step-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.process-grid h3{margin:0;font-size:17px}.process-grid p{margin:11px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.centered-action{display:flex;justify-content:center;margin-top:46px}.example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.example-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;min-width:0;padding:25px 26px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(15,45,35,.04);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.example-card:last-child{grid-column:1/-1}.example-card:hover{transform:translateY(-2px);border-color:#acd0bf;box-shadow:var(--shadow-soft)}.example-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:18px;font-weight:950}.example-card h3{margin:0;font-size:17px}.example-card p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.example-card .arrow{color:var(--green);font-size:22px;font-weight:800}.pricing-section{background:linear-gradient(180deg,#fff,var(--surface-soft))}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1160px;margin-inline:auto;align-items:stretch}.price-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:34px 30px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-soft)}.price-card.featured{border:2px solid var(--green);box-shadow:0 22px 50px rgba(0,122,77,.13)}.popular{position:absolute;right:18px;top:16px;padding:6px 10px;border-radius:5px;background:var(--green);color:#fff;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.plan-name{margin:0;font-size:18px;font-weight:900}.plan-note{min-height:40px;margin:6px 0 20px;color:var(--muted);font-size:12px;line-height:1.45}.price-card h3{margin:0;font-size:39px;letter-spacing:-.045em}.price-card h3 small{font-size:13px;font-weight:750;color:var(--muted)}.price-card ul{display:grid;gap:11px;margin:26px 0 30px;padding:23px 0 0;border-top:1px solid var(--line);list-style:none}.price-card li{display:flex;gap:9px;color:#45564f;font-size:13px;line-height:1.5}.price-card li::before{content:"✓";color:var(--green);font-weight:950}.price-card .button{margin-top:auto}.pricing-link{display:flex;justify-content:center;margin-top:30px}.review-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:65px;padding:64px;border:1px solid #cfe1d8;border-radius:var(--radius-lg);background:linear-gradient(135deg,#f5fbf8,#fff);box-shadow:var(--shadow-soft)}.review-copy p:not(.kicker){margin:22px 0 30px;color:var(--muted);font-size:15px;line-height:1.75}.review-values{display:grid;gap:12px}.review-values>div{position:relative;padding:22px 24px 22px 76px;border:1px solid var(--line);border-radius:11px;background:#fff}.review-values span{position:absolute;left:24px;top:24px;color:#9bb5a9;font-size:11px;font-weight:950;letter-spacing:.1em}.review-values h3{margin:0;font-size:16px}.review-values p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.about-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:90px}.about-visual{position:relative;display:grid;place-items:center;min-height:460px;overflow:hidden;border-radius:var(--radius-lg);background:linear-gradient(145deg,#005d3b,#008c57)}.about-visual::before,.about-visual::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.about-visual::before{width:320px;height:320px;left:-90px;top:-70px}.about-visual::after{width:240px;height:240px;right:-60px;bottom:-70px}.about-visual img{position:relative;width:min(58%,300px);filter:none;opacity:.95}.about-copy p:not(.kicker){max-width:760px;margin:22px 0 0;color:var(--muted);font-size:15px;line-height:1.8}.about-copy .text-link{margin-top:26px}.faq-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:90px;align-items:start}.faq-heading{position:sticky;top:120px}.faq-heading p:not(.kicker){margin:20px 0;color:var(--muted);font-size:15px;line-height:1.7}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;padding:24px 48px 24px 0;cursor:pointer;list-style:none;font-size:16px;font-weight:850}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:4px;top:20px;color:var(--green);font-size:25px;font-weight:400;transition:transform .2s ease}.faq-list details[open] summary::after{transform:rotate(45deg)}.faq-list details p{margin:0;padding:0 52px 24px 0;color:var(--muted);font-size:14px;line-height:1.7}.final-cta{position:relative;overflow:hidden;padding:62px 0;background:linear-gradient(110deg,#005d3b,#008d57 65%,#005435);color:#fff}.final-cta::before{content:"";position:absolute;right:-100px;top:-140px;width:420px;height:420px;border:70px solid rgba(255,255,255,.06);border-radius:50%}.cta-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:50px}.cta-inner>div{max-width:850px}.kicker.light{color:#cdeedf}.final-cta h2{margin:0;font-size:clamp(38px,4.2vw,62px);line-height:1.02;letter-spacing:-.05em}.final-cta p:not(.kicker){margin:16px 0 0;color:#ddf3e8;font-size:15px;line-height:1.7}.button-white{min-width:230px;background:#fff;color:var(--green-dark);box-shadow:0 12px 28px rgba(0,0,0,.12)}.button-white:hover{background:#f0faf5}.site-footer{background:#fff}.footer-grid{display:grid;grid-template-columns:1.55fr 1.15fr .8fr .8fr .72fr;gap:42px;padding:62px 0 44px}.footer-brand img{width:225px;height:auto}.footer-brand>p{max-width:330px;margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.75}.footer-brand .belgian{color:var(--green-dark);font-weight:850}.footer-grid h2{margin:4px 0 15px;font-size:13px}.footer-grid>div:not(.footer-brand)>a{display:block;padding:5px 0;color:#61706a;font-size:12px;line-height:1.45}.footer-grid>div:not(.footer-brand)>a:hover{color:var(--green)}.footer-client{font-weight:900;color:var(--green)!important}.payment-security{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(420px,1.6fr) minmax(220px,.9fr);align-items:center;gap:28px;margin-bottom:26px;padding:22px 26px;border:1px solid #d7e9e0;border-radius:18px;background:linear-gradient(135deg,#f7fcf9 0%,#ffffff 54%,#f3faf6 100%);box-shadow:0 12px 34px rgba(12,72,49,.07)}.payment-security-copy,.payment-security-note{display:flex;align-items:center;gap:12px;min-width:0;color:#18382e}.payment-security-copy>span:last-child,.payment-security-note>span:last-child{display:flex;flex-direction:column;min-width:0}.payment-security strong{font-size:13px;line-height:1.25;font-weight:900;color:#15392d}.payment-security small{margin-top:4px;color:#687b74;font-size:10px;line-height:1.35;font-weight:650}.payment-security-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#e5f5ed;color:var(--green-dark)}.payment-security-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.payment-security-icon-small{flex-basis:38px;width:38px;height:38px;border-radius:11px}.payment-security-icon-small svg{width:20px;height:20px}.payment-methods{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;min-width:0}.payment-mark{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid #dfe8e3;border-radius:9px;background:#fff;color:#1e2c27;box-shadow:0 4px 13px rgba(18,52,42,.05);font-size:10px;font-weight:900;line-height:1;white-space:nowrap}.payment-mark-stripe{color:#635bff;font-size:18px;font-weight:950;letter-spacing:-.06em;text-transform:lowercase}.payment-mark-visa{color:#1434cb;font-size:17px;font-style:italic;letter-spacing:-.06em}.payment-mark-mastercard{font-size:9px}.mastercard-symbol{position:relative;display:inline-flex;width:28px;height:18px}.mastercard-symbol i{position:absolute;top:0;width:18px;height:18px;border-radius:50%}.mastercard-symbol i:first-child{left:0;background:#eb001b}.mastercard-symbol i:last-child{right:0;background:#f79e1b;opacity:.9}.payment-mark-bancontact{font-size:9px}.bancontact-symbol{position:relative;width:27px;height:18px;border-radius:5px;background:linear-gradient(145deg,#005498 0 48%,#ffd800 49% 100%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.payment-security-note{justify-self:end}.footer-bottom{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:20px 0 26px;border-top:1px solid var(--line);color:#738079;font-size:11px}.footer-bottom p{margin:0}.footer-bottom nav{display:flex;justify-content:center;gap:22px;flex-wrap:wrap}@media (max-width:1320px){.header-inner{gap:18px}.payment-security{grid-template-columns:1fr 1.6fr;gap:18px}.payment-security-note{grid-column:1/-1;justify-self:center}.brand{width:178px}.main-menu{gap:17px}.main-menu>a,.nav-parent{font-size:12px}.button{padding-inline:16px}.footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}}@media (max-width:1180px){.header-inner{min-height:76px}.brand{width:184px}.menu-toggle{display:flex;margin-left:auto}.header-actions{display:none}.main-menu{display:none;position:absolute;left:0;right:0;top:100%;width:100%;max-height:calc(100vh - 76px);overflow:auto;padding:10px 24px 24px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 24px 38px rgba(16,35,31,.12)}.main-menu.is-open{display:flex}.main-menu>a,.nav-parent{display:block;padding:14px 0;border-bottom:1px solid #edf2ef;font-size:14px}.main-menu>a::after,.nav-parent::after,.nav-parent::before{display:none}.nav-group{width:100%}.nav-submenu{position:static;width:auto;padding:6px 0 10px 14px;display:grid;grid-template-columns:1fr;gap:0;visibility:visible;opacity:1;transform:none;border:0;border-bottom:1px solid #edf2ef;border-radius:0;box-shadow:none}.nav-submenu a{padding:9px 10px;border-radius:7px}.nav-submenu small{display:none}.mobile-client-link{display:block!important;margin-top:15px!important;padding:15px!important;border:1px solid #a9cdbd!important;border-radius:7px;color:var(--green-dark)!important;font-size:14px!important;font-weight:900!important;text-align:center}.hero{padding-top:42px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero-copy{text-align:center}.hero h1,.hero-lead{margin-inline:auto}.hero-actions,.hero-points{justify-content:center}.hero-media{max-width:850px;margin-inline:auto}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-heading{grid-template-columns:1fr;gap:20px}.pillar-card{grid-column:span 6}.pillar-card:nth-child(5){grid-column:3/span 8}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 0}.process-grid li:not(:last-child)::after{display:none}.review-panel{grid-template-columns:1fr;padding:48px}.about-grid{gap:55px}.faq-grid{gap:55px}.footer-bottom{grid-template-columns:1fr;text-align:center}.footer-bottom nav{order:2}}@media (max-width:800px){.shell{width:calc(100% - 30px)}.hero{padding:36px 0 42px}.hero h1{font-size:clamp(43px,12.5vw,62px)}.hero-lead{font-size:16px}.hero-actions{align-items:stretch;flex-direction:column;gap:17px}.hero-actions .button{width:100%}.hero-actions .text-link{justify-content:center}.hero-points{display:grid;grid-template-columns:1fr 1fr;justify-items:start;max-width:460px;margin-inline:auto}.trust-grid{grid-template-columns:1fr}.trust-item,.trust-item:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.trust-item:last-child{border-bottom:0}.section{padding:78px 0}.section-heading h2,.faq-heading h2,.about-copy h2,.review-copy h2{font-size:clamp(34px,10vw,48px)}.pillar-grid{grid-template-columns:1fr}.pillar-card,.pillar-card:nth-child(4),.pillar-card:nth-child(5){grid-column:auto}.pillar-card>img,.pillar-card:nth-child(4)>img,.pillar-card:nth-child(5)>img{height:230px}.pillar-body p{min-height:0}.process-grid{grid-template-columns:1fr;gap:18px}.process-grid li{padding:26px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left}.step-number{left:auto;right:20px;top:20px}.step-icon{margin:0 0 18px}.example-grid{grid-template-columns:1fr}.example-card:last-child{grid-column:auto}.pricing-grid{grid-template-columns:1fr;max-width:570px}.review-panel{padding:34px 24px}.about-grid{grid-template-columns:1fr;gap:36px}.about-visual{min-height:320px}.faq-grid{grid-template-columns:1fr;gap:35px}.faq-heading{position:static}.cta-inner{align-items:flex-start;flex-direction:column}.button-white{width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}}@media (max-width:500px){.shell{width:calc(100% - 22px)}.header-inner{min-height:70px}.brand{width:154px}.menu-toggle{width:44px;height:44px}.main-menu{padding-inline:16px}.hero{padding-top:26px}.eyebrow{font-size:10px;letter-spacing:.09em}.hero h1{font-size:clamp(39px,12vw,50px)}.hero-points{grid-template-columns:1fr;max-width:290px}.trust-item{padding:21px 18px}.section{padding:66px 0}.section-heading{margin-bottom:34px}.pillar-card>img,.pillar-card:nth-child(4)>img,.pillar-card:nth-child(5)>img{height:205px}.pillar-body{padding:23px 20px 26px}.pillar-body h3{font-size:22px}.example-card{grid-template-columns:auto minmax(0,1fr);gap:15px;padding:21px 18px}.example-card .arrow{display:none}.price-card{padding:28px 22px}.review-values>div{padding:20px 18px 20px 58px}.review-values span{left:18px;top:22px}.about-visual{min-height:260px}.faq-list summary{padding-right:40px}.faq-list details p{padding-right:10px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.final-cta{padding:54px 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;scroll-behavior:auto!important}.reveal,.js .reveal{opacity:1;transform:none}} .breadcrumbs{border-bottom:1px solid var(--line);background:#fff}.breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:16px 0;list-style:none;color:#77857f;font-size:12px}.breadcrumbs li{display:flex;align-items:center;gap:8px}.breadcrumbs li:not(:last-child)::after{content:"/";color:#b0bbb6}.breadcrumbs a:hover{color:var(--green)}.breadcrumbs [aria-current="page"]{color:var(--ink-soft);font-weight:800}.page-hero{position:relative;overflow:hidden;padding:74px 0 72px;background:radial-gradient(circle at 82% 12%,rgba(0,122,77,.09),transparent 29%),linear-gradient(180deg,#fff,#f9fcfa)}.page-hero::before{content:"";position:absolute;left:-220px;bottom:-310px;width:620px;height:620px;border-radius:50%;background:rgba(0,122,77,.035)}.page-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);align-items:center;gap:76px}.page-hero-copy,.page-thumbnail{min-width:0}.page-hero h1{max-width:760px;margin:0;font-size:clamp(48px,5vw,76px);line-height:1.01;letter-spacing:-.055em}.page-hero h1 span{color:var(--green)}.page-lead{max-width:720px;margin:25px 0 0;color:#43534e;font-size:clamp(17px,1.35vw,20px);line-height:1.72}.page-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:32px}.page-hero-note{display:flex;align-items:center;gap:9px;margin:25px 0 0;color:#586a63;font-size:12px;font-weight:750}.page-hero-note::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:950}.page-thumbnail{position:relative;margin:0;aspect-ratio:3/2;overflow:hidden;border:1px solid #d9e6df;border-radius:var(--radius-lg);background:#eef6f2;box-shadow:var(--shadow)}.page-thumbnail::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.42)}.page-thumbnail img{width:100%;height:100%;object-fit:cover}.page-intro{padding:52px 0;border-bottom:1px solid var(--line);background:#fff}.page-intro-grid{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:80px;align-items:start}.page-intro-label{margin:0;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.page-intro-copy{max-width:900px}.page-intro-copy p{margin:0;color:#40514b;font-size:clamp(18px,1.65vw,23px);line-height:1.65;letter-spacing:-.012em}.content-section{padding:104px 0}.content-section.is-soft{background:var(--surface-soft)}.content-layout{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:92px;align-items:start}.content-aside{position:sticky;top:122px}.content-aside h2{margin:0;font-size:clamp(34px,3.5vw,52px);line-height:1.08;letter-spacing:-.045em}.content-aside p{margin:20px 0 0;color:var(--muted);font-size:14px;line-height:1.72}.content-main{min-width:0}.prose{max-width:850px}.prose h2{margin:0 0 24px;font-size:clamp(34px,3.6vw,54px);line-height:1.08;letter-spacing:-.045em}.prose h3{margin:42px 0 14px;font-size:24px;line-height:1.2;letter-spacing:-.025em}.prose p{margin:0 0 20px;color:#465750;font-size:16px;line-height:1.82}.prose ul,.prose ol{display:grid;gap:12px;margin:24px 0 0;padding-left:22px;color:#465750;font-size:15px;line-height:1.7}.prose strong{color:var(--ink)}.solution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.solution-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:270px;padding:31px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 7px 22px rgba(15,45,35,.045);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.solution-card:hover{transform:translateY(-3px);border-color:#acd0bf;box-shadow:var(--shadow-soft)}.solution-card-number{display:grid;place-items:center;width:42px;height:42px;margin-bottom:24px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:950}.solution-card h3{margin:0;font-size:23px;letter-spacing:-.025em}.solution-card p{margin:13px 0 25px;color:var(--muted);font-size:14px;line-height:1.7}.solution-card .text-link{margin-top:auto}.strategy-steps{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.strategy-step{display:grid;grid-template-columns:72px minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:start;padding:32px 0;border-bottom:1px solid var(--line)}.strategy-step>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:950}.strategy-step h3{margin:7px 0 0;font-size:20px}.strategy-step p{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.decision-panel{padding:58px;border:1px solid #cfe1d8;border-radius:var(--radius-lg);background:linear-gradient(135deg,#f2faf6,#fff);box-shadow:var(--shadow-soft)}.decision-panel h2{max-width:850px;margin:0;font-size:clamp(36px,4vw,58px);line-height:1.05;letter-spacing:-.05em}.decision-panel>p{max-width:900px;margin:20px 0 0;color:var(--muted);font-size:16px;line-height:1.75}.decision-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px}.decision-item{padding:24px;border:1px solid var(--line);border-radius:11px;background:#fff}.decision-item strong{display:block;font-size:15px}.decision-item span{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.55}.related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.related-card{display:flex;flex-direction:column;min-width:0;min-height:210px;padding:27px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:transform .2s ease,border-color .2s ease}.related-card:hover{transform:translateY(-2px);border-color:#a8cdbb}.related-card small{color:var(--green);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.related-card h3{margin:14px 0 10px;font-size:20px;line-height:1.25}.related-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.62}.related-card .text-link{margin-top:auto;padding-top:20px}.page-faq{padding-top:0}.page-faq .faq-grid{padding-top:100px;border-top:1px solid var(--line)}.main-menu a[aria-current="page"],.nav-parent[aria-current="page"]{color:var(--green);font-weight:900}.main-menu a[aria-current="page"]::after,.nav-parent[aria-current="page"]::after{transform:scaleX(1)}@media (max-width:1180px){.page-hero-grid{grid-template-columns:1fr;gap:40px}.page-hero-copy{text-align:center}.page-hero h1,.page-lead{margin-inline:auto}.page-hero-actions{justify-content:center}.page-hero-note{justify-content:center}.page-thumbnail{width:min(100%,860px);margin-inline:auto}.page-intro-grid{grid-template-columns:1fr;gap:16px}.content-layout{grid-template-columns:1fr;gap:40px}.content-aside{position:static;max-width:850px}.decision-list{grid-template-columns:1fr 1fr}}@media (max-width:800px){.page-hero{padding:46px 0 52px}.page-hero h1{font-size:clamp(42px,12vw,60px)}.page-hero-actions{align-items:stretch;flex-direction:column}.page-hero-actions .button{width:100%}.page-hero-actions .text-link{justify-content:center}.page-intro{padding:38px 0}.content-section{padding:76px 0}.solution-grid,.related-links{grid-template-columns:1fr}.solution-card{min-height:auto}.strategy-step{grid-template-columns:58px 1fr;gap:18px}.strategy-step p{grid-column:2}.decision-panel{padding:36px 25px}.decision-list{grid-template-columns:1fr}.page-faq .faq-grid{padding-top:75px}}@media (max-width:500px){.breadcrumbs ol{padding:13px 0;font-size:11px}.page-hero{padding-top:34px}.page-hero h1{font-size:clamp(38px,11.8vw,49px)}.page-lead{font-size:16px}.page-thumbnail{border-radius:16px}.content-section{padding:64px 0}.solution-card,.related-card{padding:24px 21px}.strategy-step{grid-template-columns:48px 1fr;padding:25px 0}.strategy-step>span{width:42px;height:42px}.decision-panel{padding:31px 20px}}h1,h2,h3{text-wrap:balance}p,li{text-wrap:pretty}:where(a,button,summary,input,textarea,select):focus-visible{outline:3px solid rgba(0,122,77,.3);outline-offset:3px}:where([id]){scroll-margin-top:110px}.footer-grid>*,.payment-security>*,.page-hero-grid>*,.section-heading>*,.content-layout>*,.faq-grid>*{min-width:0}.article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:20px;color:var(--muted);font-size:12px;font-weight:750}.article-meta span{display:inline-flex;align-items:center;gap:6px}.article-meta span+span::before{content:"";width:4px;height:4px;margin-right:10px;border-radius:50%;background:#9db6aa}.article-meta a{color:var(--green-dark);font-weight:900}.article-meta a:hover{color:var(--green)}@media(max-width:800px){.payment-security{grid-template-columns:1fr;gap:18px;padding:20px}.payment-security-note{grid-column:auto;justify-self:stretch}.payment-methods{justify-content:flex-start}.article-meta{justify-content:center}}@media(max-width:500px){.payment-security{padding:18px 14px;border-radius:14px}.payment-methods{gap:7px}.payment-mark{min-height:36px;padding:7px 10px}.article-meta{gap:8px 12px}.article-meta span+span::before{display:none}}.footer-territories{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.footer-territories span{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border:1px solid #cfe1d8;border-radius:999px;background:var(--green-pale);color:var(--green-dark);font-size:11px;font-weight:850;line-height:1.2}.footer-territories span:nth-child(2){border-color:#e5d59d;background:#fff9e8;color:#715600}@media(max-width:500px){.footer-territories{gap:6px}.footer-territories span{font-size:10px}}



body{
  background:var(--surface);
  color:var(--ink);
}


.site-header{
  background:rgba(255,255,255,.985);
  border-bottom-color:rgba(214,226,220,.96);
}

.header-inner{
  min-height:88px;
}

.brand{
  width:clamp(var(--logo-header-mobile),14vw,var(--logo-header-desktop));
}

.brand img{
  width:100%;
  height:auto;
  max-height:62px;
  object-fit:contain;
  object-position:left center;
  filter:none;
}

.footer-brand img{
  width:var(--logo-footer);
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
  filter:none;
}


.main-menu>a,
.nav-parent{
  color:var(--ink-soft);
}

.main-menu>a:hover,
.main-menu>a:focus-visible,
.nav-parent:hover,
.nav-parent:focus-visible{
  color:var(--green-dark);
}

.button-primary{
  background:linear-gradient(135deg,var(--green-dark),var(--green));
  color:#fff;
  box-shadow:0 10px 24px rgba(10,96,54,.20);
}

.button-primary:hover{
  background:linear-gradient(135deg,var(--green-deep),var(--green-dark));
}

.button-client,
.button-outline{
  border-color:#b8cec2;
  color:var(--green-dark);
}

.button-client:hover,
.button-outline:hover{
  border-color:#87b49e;
  background:var(--green-pale);
}


.hero-lead,
.page-lead,
.page-intro-copy p,
.prose p,
.prose ul,
.prose ol,
.section-intro p,
.section-heading.centered>p:last-child,
.content-aside p,
.solution-card p,
.strategy-step p,
.decision-panel>p,
.decision-item span,
.related-card p,
.nav-submenu small,
.trust-item small,
.footer-brand>p{
  color:var(--muted);
}

.pillar-number,
.breadcrumbs ol,
.page-hero-note,
.article-meta,
.payment-security small{
  color:#53675e;
}

.text-link,
.pillar-body a,
.related-card small,
.page-intro-label,
.eyebrow,
.kicker{
  color:var(--green-dark);
}


.site-footer{
  background:var(--green-deep);
  color:#fff;
}

.footer-grid{
  border-bottom:1px solid rgba(255,255,255,.10);
}

.footer-brand>p{
  color:var(--footer-text);
}

.footer-grid h2{
  color:#fff;
}

.footer-grid>div:not(.footer-brand)>a{
  color:var(--footer-link);
}

.footer-grid>div:not(.footer-brand)>a:hover,
.footer-grid>div:not(.footer-brand)>a:focus-visible{
  color:#fff;
}

.footer-territories span{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.075);
  color:#eef7f2;
}

.footer-territories span:nth-child(2){
  border-color:rgba(184,138,59,.48);
  background:rgba(184,138,59,.14);
  color:#f7e5ba;
}

.payment-security{
  border-color:#cbdcd3;
  background:linear-gradient(135deg,#f4faf6 0%,#ffffff 55%,#f4f1e8 100%);
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}

.footer-bottom{
  border-top-color:rgba(255,255,255,.14);
  color:var(--footer-text);
}

.footer-bottom a{
  color:var(--footer-link);
}

.footer-bottom a:hover,
.footer-bottom a:focus-visible{
  color:#fff;
}


:where(a,button,summary,input,textarea,select):focus-visible{
  outline:3px solid rgba(15,132,66,.35);
  outline-offset:3px;
}


.pillar-number,
.article-meta span+span::before{
  color:#5b7067;
}

.article-meta span+span::before{
  background:#71867d;
}

@media (max-width:800px){
  .brand img{
    max-height:56px;
  }

  .footer-brand img{
    width:184px;
  }
}

@media (max-width:500px){
  .header-inner{
    min-height:82px;
  }

  .brand{
    width:var(--logo-header-mobile);
  }

  .footer-brand img{
    width:174px;
  }
}.home-premium{--home-forest:#03241f;--home-green:#0f8442;--home-green-dark:#0a6036;--home-mint:#e8f4ec;--home-paper:#fbfcfa;--home-ink:#10261f;--home-muted:#4c6158;background:var(--home-paper)}.home-premium .hero{min-height:720px;display:flex;align-items:center;padding:74px 0 70px;background:radial-gradient(circle at 80% 12%,rgba(15,132,66,.13),transparent 30%),radial-gradient(circle at 8% 88%,rgba(3,36,31,.06),transparent 26%),linear-gradient(180deg,#fff 0%,#f8fbf9 100%)}.home-premium .hero-grid{grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:74px}.home-premium .hero-copy{position:relative;z-index:2}.home-premium .hero h1{max-width:700px;font-size:clamp(58px,5.4vw,88px);line-height:.94;letter-spacing:-.064em}.home-premium .hero-lead{max-width:620px;color:var(--home-muted);font-size:clamp(17px,1.18vw,20px);line-height:1.72}.home-premium .hero-actions{gap:18px}.home-premium .hero .button-primary{min-width:275px;border-radius:14px;box-shadow:0 18px 40px rgba(10,96,54,.2)}.home-premium .hero-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px;gap:12px 20px;font-size:12px}.home-premium .hero-product-stage{position:relative;isolation:isolate;min-height:560px;display:grid;place-items:center}.home-premium .hero-product-stage::before{content:"";position:absolute;inset:7% 2% 2%;z-index:-2;border-radius:52% 48% 45% 55%;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(232,244,236,.82));border:1px solid rgba(15,132,66,.1);box-shadow:0 40px 100px rgba(3,36,31,.14)}.home-premium .hero-product-stage::after{content:"";position:absolute;inset:18% 14% 12%;z-index:-1;border-radius:50%;background:rgba(15,132,66,.16);filter:blur(60px)}.home-premium .hero-visual-frame{width:min(100%,760px);transform:translateY(4px)}.home-premium .hero-visual-frame img{width:100%;max-height:none;object-fit:contain;filter:drop-shadow(0 28px 34px rgba(3,36,31,.18))}.home-premium .hero-float-card{position:absolute;z-index:3;display:flex;flex-direction:column;min-width:150px;padding:15px 17px;border:1px solid rgba(255,255,255,.8);border-radius:17px;background:rgba(255,255,255,.92);box-shadow:0 18px 48px rgba(3,36,31,.14);backdrop-filter:blur(12px)}.home-premium .hero-float-card strong{color:var(--home-forest);font-size:15px}.home-premium .hero-float-card small{margin-top:3px;color:var(--home-muted);font-size:10px;font-weight:750}.home-premium .hero-float-card-a{left:-10px;top:22%}.home-premium .hero-float-card-b{right:-8px;top:16%}.home-premium .hero-float-card-c{right:4%;bottom:9%}.home-premium .trust-bar{position:relative;z-index:3;width:min(calc(100% - 48px),1360px);margin:-24px auto 0;border:1px solid rgba(214,226,220,.94);border-radius:22px;box-shadow:0 22px 60px rgba(3,36,31,.1);overflow:hidden}.home-premium .trust-item{background:#fff}.home-premium .section{padding:124px 0}.home-premium .section-heading h2,.home-premium .faq-heading h2,.home-premium .about-copy h2,.home-premium .review-copy h2{color:var(--home-ink)}.home-premium .pillar-bento{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(310px,auto);gap:22px}.home-premium .pillar-bento .pillar-card{position:relative;grid-column:span 4;border-radius:24px;border-color:rgba(214,226,220,.92);overflow:hidden}.home-premium .pillar-bento .pillar-card:nth-child(1){grid-column:span 7}.home-premium .pillar-bento .pillar-card:nth-child(2){grid-column:span 5}.home-premium .pillar-bento .pillar-card:nth-child(3),.home-premium .pillar-bento .pillar-card:nth-child(4),.home-premium .pillar-bento .pillar-card:nth-child(5){grid-column:span 4}.home-premium .pillar-bento .pillar-card>img,.home-premium .pillar-bento .pillar-card>.pillar-media img{height:260px;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.home-premium .pillar-bento .pillar-card:nth-child(1)>img,.home-premium .pillar-bento .pillar-card:nth-child(2)>img,.home-premium .pillar-bento .pillar-card:nth-child(1)>.pillar-media img,.home-premium .pillar-bento .pillar-card:nth-child(2)>.pillar-media img{height:320px}.home-premium .pillar-bento .pillar-card:hover>img,.home-premium .pillar-bento .pillar-card:hover>.pillar-media img{transform:scale(1.035)}.home-premium .pillar-bento .pillar-body{padding:29px 29px 32px}.home-premium .pillar-bento .pillar-number{position:absolute;right:24px;top:24px;margin:0;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.2)}.home-premium .home-process{background:radial-gradient(circle at 50% 0%,rgba(15,132,66,.08),transparent 34%),#f5f8f6}.home-premium .home-process .process-grid{padding:44px 18px 24px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.86);box-shadow:0 24px 60px rgba(3,36,31,.07)}.home-premium .home-examples{background:#fff}.home-premium .home-examples .example-card{border-radius:18px;min-height:102px;border-color:#dbe6e0;box-shadow:0 10px 28px rgba(3,36,31,.05)}.home-premium .home-pricing{background:linear-gradient(180deg,#f7faf8 0%,#fff 100%)}.home-premium .home-pricing .price-card{border-radius:25px}.home-premium .home-pricing .price-card.featured{transform:translateY(-14px);border-color:var(--home-green);box-shadow:0 28px 70px rgba(10,96,54,.16)}.home-premium .home-reviews .review-panel{border-radius:30px;background:radial-gradient(circle at 90% 0%,rgba(15,132,66,.09),transparent 28%),#fff;box-shadow:0 24px 80px rgba(3,36,31,.1)}.home-premium .home-about{background:var(--home-forest);color:#fff}.home-premium .home-about .about-grid{align-items:center}.home-premium .home-about .about-visual{background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.13),transparent 34%),linear-gradient(145deg,#0f8442,#075432);border-radius:32px;box-shadow:0 30px 80px rgba(0,0,0,.24)}.home-premium .home-about .about-copy h2,.home-premium .home-about .about-copy p{color:#fff}.home-premium .home-about .about-copy p{opacity:.78}.home-premium .home-about .kicker,.home-premium .home-about .text-link{color:#a9efc4}.home-premium .home-faq details{border-radius:16px}.home-premium .final-cta{background:radial-gradient(circle at 88% 28%,rgba(255,255,255,.14),transparent 24%),linear-gradient(135deg,#0f8442 0%,#086038 52%,#03241f 100%)}.home-premium .final-cta .cta-inner{min-height:260px}@media(max-width:1180px){.home-premium .hero{min-height:auto}.home-premium .hero-grid{grid-template-columns:1fr;gap:44px}.home-premium .hero-copy{text-align:center}.home-premium .hero h1,.home-premium .hero-lead,.home-premium .hero-points{margin-inline:auto}.home-premium .hero-actions{justify-content:center}.home-premium .hero-product-stage{min-height:500px}}@media(max-width:900px){.home-premium .pillar-bento .pillar-card,.home-premium .pillar-bento .pillar-card:nth-child(1),.home-premium .pillar-bento .pillar-card:nth-child(2),.home-premium .pillar-bento .pillar-card:nth-child(3),.home-premium .pillar-bento .pillar-card:nth-child(4),.home-premium .pillar-bento .pillar-card:nth-child(5){grid-column:span 6}.home-premium .pillar-bento .pillar-card:last-child{grid-column:1/-1}}@media(max-width:700px){.home-premium .hero{padding:46px 0 54px}.home-premium .hero h1{font-size:clamp(44px,13vw,64px)}.home-premium .hero-actions{align-items:stretch;flex-direction:column}.home-premium .hero .button-primary{width:100%;min-width:0}.home-premium .hero-product-stage{min-height:370px}.home-premium .hero-float-card{min-width:118px;padding:11px 12px}.home-premium .hero-float-card-a{left:0;top:18%}.home-premium .hero-float-card-b{right:0;top:9%}.home-premium .hero-float-card-c{right:2%;bottom:2%}.home-premium .trust-bar{width:min(calc(100% - 28px),1360px)}.home-premium .section{padding:82px 0}.home-premium .pillar-bento{display:grid;grid-template-columns:1fr}.home-premium .pillar-bento .pillar-card,.home-premium .pillar-bento .pillar-card:nth-child(n){grid-column:auto}.home-premium .pillar-bento .pillar-card>img,.home-premium .pillar-bento .pillar-card:nth-child(1)>img,.home-premium .pillar-bento .pillar-card:nth-child(2)>img,.home-premium .pillar-bento .pillar-card:nth-child(1)>.pillar-media img,.home-premium .pillar-bento .pillar-card:nth-child(2)>.pillar-media img{height:230px}.home-premium .home-pricing .price-card.featured{transform:none}}@media(max-width:500px){.home-premium .hero-points{grid-template-columns:1fr 1fr;gap:10px 8px}.home-premium .hero-product-stage{min-height:315px}.home-premium .hero-float-card{min-width:104px;border-radius:13px}.home-premium .hero-float-card strong{font-size:12px}.home-premium .hero-float-card small{font-size:8px}}.home-premium .pillar-media{position:relative;overflow:hidden;background:#eef4f1}.home-premium .pillar-media img{display:block;width:100%}.home-premium .pillar-image-badge{position:absolute;left:22px;bottom:20px;display:inline-flex;align-items:center;min-height:34px;padding:8px 13px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(3,36,31,.82);color:#fff;font-size:11px;font-weight:850;letter-spacing:.015em;box-shadow:0 10px 26px rgba(3,36,31,.22);backdrop-filter:blur(10px)}@media(max-width:700px){.home-premium .pillar-image-badge{left:16px;bottom:15px;min-height:31px;padding:7px 11px;font-size:10px}}
/*  — badges visuels premium de la page d’accueil */
.home-premium .pillar-media::after{content:"";position:absolute;inset:auto 0 0;height:42%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(3,36,31,.28))}
.home-premium .pillar-image-badge{z-index:2;gap:7px;border-color:rgba(255,255,255,.78);background:rgba(3,36,31,.84);box-shadow:0 12px 30px rgba(3,36,31,.25)}
.home-premium .pillar-image-badge::before{content:"";flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#7ce3a6;box-shadow:0 0 0 4px rgba(124,227,166,.16)}
.home-premium .pillar-card:nth-child(2) .pillar-image-badge{background:rgba(15,132,66,.9)}
.home-premium .pillar-card:nth-child(3) .pillar-image-badge{background:rgba(10,96,54,.9)}
.home-premium .pillar-card:nth-child(4) .pillar-image-badge{background:rgba(3,36,31,.88)}
.home-premium .pillar-card:nth-child(5) .pillar-image-badge{background:rgba(76,97,88,.9)}
@media (prefers-reduced-motion:no-preference){.home-premium .pillar-image-badge{transition:transform .25s ease,box-shadow .25s ease}.home-premium .pillar-card:hover .pillar-image-badge{transform:translateY(-3px);box-shadow:0 16px 34px rgba(3,36,31,.3)}}


/*  — galeries visuelles légères */
.iw-visual-gallery{padding:clamp(2.5rem,5vw,5rem) 0}.iw-visual-gallery h2{max-width:760px;margin:0 0 1.5rem}.iw-visual-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.iw-visual-gallery-card{margin:0;overflow:hidden;border-radius:22px;background:#f4f7f5;border:1px solid rgba(3,36,31,.10)}.iw-visual-gallery-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}@media(max-width:900px){.iw-visual-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.iw-visual-gallery-grid{grid-template-columns:1fr}.iw-visual-gallery-card{border-radius:18px}}

/* IDEALWEB FINAL: HERO SANS IMAGE */
.page-hero-grid.page-hero-grid--single{grid-template-columns:minmax(0,920px);justify-content:center}.page-hero-grid--single .page-hero-copy{text-align:center}.page-hero-grid--single h1,.page-hero-grid--single .page-lead{margin-inline:auto}.page-hero-grid--single .page-hero-actions,.page-hero-grid--single .page-hero-note{justify-content:center}@media(max-width:800px){.page-hero-grid.page-hero-grid--single{grid-template-columns:1fr}}


/*  — contact direct et réseaux sociaux dans le footer public */
.site-footer .footer-contact-actions{display:grid;gap:9px;margin-top:13px}.site-footer .footer-contact-direct{display:flex;align-items:center;gap:9px;min-height:46px;padding:9px 10px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.055);color:#fff;text-decoration:none}.site-footer .footer-contact-direct:hover,.site-footer .footer-contact-direct:focus-visible{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.10)}.site-footer .footer-contact-symbol{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:rgba(255,255,255,.11);font-size:.9rem}.site-footer .footer-contact-direct span:last-child{display:grid;min-width:0}.site-footer .footer-contact-direct strong{color:#fff;font-size:.79rem;line-height:1.25}.site-footer .footer-contact-direct small{color:rgba(255,255,255,.7);font-size:.68rem;line-height:1.35;overflow-wrap:anywhere}.site-footer .footer-social-title{display:block;margin-top:3px;color:rgba(255,255,255,.68);font-size:.68rem}.site-footer .footer-social-links{display:flex;flex-wrap:wrap;gap:7px}.site-footer .footer-social-links a{display:inline-flex;align-items:center;min-height:31px;padding:6px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.045);color:#fff;font-size:.7rem;text-decoration:none}.site-footer .footer-social-links a:hover,.site-footer .footer-social-links a:focus-visible{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.1)}
/* Ancres de compatibilité pour les liens historiques vers l’accueil. */
.iw-compat-anchor{display:block;position:relative;top:-92px;height:0;visibility:hidden;pointer-events:none}

/*  — logos header/footer séparés et sans inversion */
.brand img{filter:none!important;object-fit:contain!important;}
.footer-brand img{filter:none!important;object-fit:contain!important;background:transparent!important;}


/* === SOURCE: assets/css/core/seo-architecture.css === */
/* Idéal Web — architecture SEO Belgique (Phase 2) */
.iw-seo-architecture{margin:0;background:#07111f;color:#eaf2ff;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.08)}
.iw-seo-architecture__inner{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:22px 0;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.iw-seo-architecture__title{font:800 .82rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd;white-space:nowrap}
.iw-seo-architecture__links{display:flex;flex-wrap:wrap;gap:8px 10px}
.iw-seo-architecture__links a{color:#f8fbff;text-decoration:none;font:700 .88rem/1.2 Inter,system-ui,sans-serif;padding:8px 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.045)}
.iw-seo-architecture__links a:hover,.iw-seo-architecture__links a:focus-visible{background:rgba(59,130,246,.18);border-color:rgba(147,197,253,.42);outline:none}
@media(max-width:760px){.iw-seo-architecture__inner{grid-template-columns:1fr;gap:12px;padding:18px 0}.iw-seo-architecture__links{gap:7px}.iw-seo-architecture__links a{font-size:.82rem;padding:7px 9px}}


/* === SOURCE: assets/css/core/public-visual-polish.css === */
/* Idéal Web — socle visuel public consolidé
   Scope: pages publiques/indexables uniquement. Aucun style tunnel / paiement / espace client.
   V33.10.0: contraste sémantique imbriqué + audit global, sans couches de patch. */
.iw-public-page,.iw-public-page *,.iw-public-page *::before,.iw-public-page *::after{box-sizing:border-box}
.iw-public-page{
  --iw-surface-light-bg:#fff;
  --iw-surface-light-soft:#f4faf7;
  --iw-text-on-light:#10261f;
  --iw-muted-on-light:#4c6158;
  --iw-surface-dark-bg:#07111f;
  --iw-text-on-dark:#f8fafc;
  --iw-muted-on-dark:#c7d8d0;
  min-width:320px;max-width:100%;overflow-x:clip;text-rendering:optimizeLegibility
}
/* Contraste sémantique canonique.
   La surface la plus proche définit les variables héritées : un îlot clair peut donc vivre
   dans une section sombre (et inversement) sans qu'une règle ancêtre n'écrase son contraste. */
.iw-public-page :where(.iw-surface-light,[data-iw-surface="light"]){
  --iw-surface-text:var(--iw-text-on-light);
  --iw-surface-muted:var(--iw-muted-on-light);
  color:var(--iw-surface-text)
}
.iw-public-page :where(.iw-surface-dark,[data-iw-surface="dark"]){
  --iw-surface-text:var(--iw-text-on-dark);
  --iw-surface-muted:var(--iw-muted-on-dark);
  color:var(--iw-surface-text)
}
.iw-public-page :where(.iw-surface-light,.iw-surface-dark,[data-iw-surface="light"],[data-iw-surface="dark"]) :where(h1,h2,h3,h4,h5,h6,legend,label,summary,strong){color:var(--iw-surface-text)}
.iw-public-page :where(.iw-surface-light,.iw-surface-dark,[data-iw-surface="light"],[data-iw-surface="dark"]) :where(p,li,small){color:var(--iw-surface-muted)}
.iw-public-page main,.iw-public-page header,.iw-public-page footer,.iw-public-page nav,.iw-public-page section,.iw-public-page article,.iw-public-page aside,.iw-public-page figure{min-width:0;max-width:100%}
.iw-public-page :where(.container,.wrap,.shell,.iw-seo-shell,.page-wrap,.content-wrap,.iw-container){min-width:0;max-width:100%}
.iw-public-page :where(.grid,.grid-2,.grid-3,.grid-4,.cards,.cards-grid,.pricing-grid,.price-grid,.plans-grid,.comparison-grid,.features-grid,.footer-grid,.footer-cols,.trust,.trust-grid,.links-grid,.iw-price-summary,.iw-checklist)>*{min-width:0}
.iw-public-page :where(h1,h2,h3,h4,p,li,a,button,summary,th,td,strong,span){word-break:normal;overflow-wrap:break-word}
.iw-public-page :where(h1,h2,h3){text-wrap:balance}
.iw-public-page :where(p,li){text-wrap:pretty}
.iw-public-page :where(img,svg,video,canvas,iframe){max-width:100%;height:auto}
.iw-public-page figure{margin-inline:auto}
.iw-public-page :where(.actions,.hero-actions,.cta-actions,.button-row,.buttons){min-width:0;max-width:100%}
.iw-public-page :where(.btn,.button,.iw-btn,.btn-main,.btn-ghost,.header-cta,.iw-seo-pro,.iw-seo-cta){max-width:100%;white-space:normal;line-height:1.25;text-align:center}
.iw-public-page :where(.card,.panel,.price-card,.offer-card,.info-card,.zone-card,.sector-card,.comparison-card,.feature-card,.hero-card,.glass-card){min-width:0;overflow-wrap:break-word}
.iw-public-page :where(.table-wrap,.comparison-table,.price-table,.seo-table,.iw-price-table-wrap,.iw-table-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.iw-public-page table{max-width:100%}
.iw-public-page main>.iw-note{width:min(1120px,calc(100% - 34px));margin:22px auto;padding:16px 18px}
.iw-public-page :where(.faq-item summary,.faq details summary,details.faq-item summary){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}
.iw-public-page :where(.faq-item summary span,.faq details summary span){min-width:0}
.iw-public-page :where(.faq-item summary i,.faq details summary i){flex:0 0 auto}
.iw-public-page .iw-seo-architecture{--iw-surface-text:var(--iw-text-on-dark);--iw-surface-muted:var(--iw-muted-on-dark);position:relative;z-index:1;margin:0;background:#07111f;color:var(--iw-surface-text)}
.iw-public-page .iw-seo-architecture__inner{padding:18px 0;gap:16px;min-width:0;max-width:100%}
.iw-public-page .iw-seo-architecture__title{font-size:.78rem}
.iw-public-page .iw-seo-architecture__links{gap:7px 8px;min-width:0;max-width:100%}
.iw-public-page .iw-seo-architecture__links a{min-height:38px;display:inline-flex;align-items:center;padding:7px 10px;font-size:.84rem;line-height:1.25}
.iw-public-page .iw-seo-footer-grid{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}
.iw-public-page .iw-seo-footer-grid>*{min-width:0}
.iw-public-page .iw-seo-footer :where(h2,p,a){max-width:100%;overflow-wrap:break-word}
.iw-public-page .iw-seo-footer h2{white-space:normal}

/* Pages publiques à thème sombre. */
.iw-public-dark .iw-seo-header{position:sticky;top:0;z-index:1000}
.iw-public-dark .iw-seo-header-inner{width:min(1180px,calc(100% - 32px));margin-inline:auto;min-width:0}
.iw-public-dark .iw-seo-brand{min-width:0;flex:0 0 auto}
.iw-public-dark .iw-seo-brand-mark{flex:0 0 auto}
.iw-public-dark .iw-seo-nav{min-width:0;gap:clamp(10px,1.25vw,18px)}
.iw-public-dark .iw-seo-nav a{font-size:clamp(.82rem,.95vw,.92rem);line-height:1.25;white-space:nowrap}
.iw-public-dark .iw-seo-actions{flex:0 0 auto;gap:10px}
.iw-public-dark .iw-seo-footer{margin-top:0}
.iw-public-dark main,.iw-public-dark section{overflow:visible}
.iw-public-dark :where(.grid,.grid.two,.links-grid,.iw-price-summary,.iw-checklist){align-items:stretch}
.iw-public-dark :where(.card,.link-card,.faq-item,.cta-card,.split-panel,.seo-map){height:auto}
.iw-public-dark .cta-card,.iw-public-dark .cta-actions{min-width:0}

@media(max-width:1100px){
  .iw-public-page :where(.grid-4,.pricing-grid,.price-grid,.plans-grid,.comparison-grid,.links-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
  .iw-public-dark .iw-seo-header-inner{gap:14px}
  .iw-public-dark .iw-seo-nav{gap:10px}
}
@media(max-width:1050px){
  .iw-public-page .iw-seo-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Header mobile canonique: plus de navigation desktop comprimée. */
@media(max-width:820px){
  .iw-public-dark .iw-seo-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;padding:8px 0}
  .iw-public-dark .iw-seo-nav{display:none;width:0;height:0;padding:0;margin:0;overflow:hidden}
  .iw-public-dark .iw-seo-actions{display:flex;align-items:center;justify-self:end;width:auto;min-width:0;gap:8px}
  .iw-public-dark .iw-seo-pro{display:none}
  .iw-public-dark .iw-seo-cta{display:inline-flex;width:auto;max-width:138px;min-height:42px;padding:9px 13px;font-size:.82rem;line-height:1.12;white-space:normal}
  .iw-public-dark .iw-seo-brand{min-width:0;max-width:100%;font-size:1rem}
  .iw-public-dark .iw-seo-brand-mark{width:40px;height:40px;min-width:40px}
  .iw-public-page .iw-seo-architecture__inner{grid-template-columns:1fr;align-items:start}
}
@media(max-width:760px){
  .iw-public-page :where(.container,.wrap,.shell,.iw-seo-shell,.page-wrap,.content-wrap,.iw-container){width:min(100% - 24px,1180px);margin-inline:auto}
  .iw-public-page :where(.grid,.grid.two,.grid-2,.grid-3,.grid-4,.cards-grid,.pricing-grid,.price-grid,.plans-grid,.comparison-grid,.links-grid,.iw-price-summary,.iw-checklist,.footer-grid,.footer-cols,.trust,.trust-grid){grid-template-columns:1fr}
  .iw-public-page :where(.actions,.hero-actions,.cta-actions,.button-row,.buttons){width:100%}
  .iw-public-page :where(.btn,.button,.iw-btn,.btn-main,.btn-ghost,.header-cta){width:100%;justify-content:center}
  .iw-public-page main>.iw-note{width:calc(100% - 24px);margin:18px auto;padding:14px 15px}
  .iw-public-page .iw-seo-architecture__links{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .iw-public-page .iw-seo-architecture__links a{width:100%;justify-content:flex-start}
}
@media(max-width:700px){
  .iw-public-page .iw-seo-footer-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .iw-public-page .iw-seo-architecture__links{grid-template-columns:1fr}
  .iw-public-page .iw-seo-architecture__title{white-space:normal}
  .iw-public-page :where(.faq-item summary,.faq details summary,details.faq-item summary){gap:11px;padding-left:16px;padding-right:16px}
}
@media(max-width:390px){
  .iw-public-dark .iw-seo-header-inner{gap:7px}
  .iw-public-dark .iw-seo-brand{gap:8px;font-size:.94rem}
  .iw-public-dark .iw-seo-brand-mark{width:36px;height:36px;min-width:36px}
  .iw-public-dark .iw-seo-cta{max-width:124px;padding:8px 11px;font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){
  .iw-public-page *,.iw-public-page *::before,.iw-public-page *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* === SOURCE: assets/css/tools/site-diagnostic-v27.css === */

.site-diagnostic-page{background:#fff}
.sd-hero{padding:clamp(3rem,7vw,6.5rem) 0;background:linear-gradient(180deg,#f5fbf7 0%,#fff 100%);overflow:hidden}
.sd-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.sd-hero-copy h1{max-width:780px;margin:.55rem 0 1rem;font-size:clamp(2.55rem,5vw,5rem);line-height:.97;letter-spacing:-.055em}
.sd-lead{max-width:720px;font-size:clamp(1.08rem,1.8vw,1.32rem);line-height:1.7;color:#41504a}
.sd-pills{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.6rem}
.sd-pills span{padding:.62rem .9rem;border:1px solid #dbe8df;border-radius:999px;background:#fff;font-weight:750;color:#17352a}
.sd-search-card{background:#fff;border:1px solid #d9e8df;border-radius:24px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 22px 60px rgba(18,69,43,.12)}
.sd-card-head{display:flex;gap:.85rem;align-items:flex-start;margin-bottom:1.2rem}
.sd-card-head small,.sd-kicker{display:block;font-size:.72rem;font-weight:900;letter-spacing:.13em;color:#0f8442}
.sd-card-head h2{margin:.2rem 0 0;font-size:1.45rem}
.sd-live-dot{width:12px;height:12px;border-radius:50%;background:#13a45e;box-shadow:0 0 0 7px rgba(19,164,94,.12);margin-top:.35rem;flex:0 0 auto}
#sdForm label{display:grid;gap:.5rem;font-weight:800}
#sdForm input{width:100%;min-height:54px;border:1px solid #cddbd3;border-radius:12px;padding:0 1rem;font:inherit;background:#fff}
#sdForm input:focus{outline:3px solid rgba(15,132,66,.13);border-color:#0f8442}
.sd-submit{width:100%;min-height:54px;margin-top:1rem;border:0;border-radius:12px;background:#0f8442;color:#fff;font:inherit;font-weight:900;display:flex;align-items:center;justify-content:center;gap:.65rem;cursor:pointer}
.sd-submit:disabled{opacity:.65;cursor:wait}
.sd-form-note{margin:.85rem 0 0;text-align:center;font-size:.85rem;color:#65716c}
.sd-tool{padding:1rem 0 4rem}
.sd-state[hidden],.sd-progress[hidden],.sd-report[hidden]{display:none!important}
.sd-state,.sd-progress{max-width:920px;margin:0 auto;border-radius:22px;padding:clamp(1.35rem,3vw,2rem)}
.sd-state{display:grid;gap:.55rem;border:1px solid #f0d5d5;background:#fff8f8;color:#7d2626}
.sd-state strong{font-size:1.18rem}
.sd-state span{line-height:1.55}
.sd-state small{color:#8a5b5b}
.sd-state-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.45rem}
.sd-state-action{min-height:42px;padding:.65rem .9rem;border:1px solid #d7bcbc;border-radius:10px;background:#fff;color:#6d2b2b;font:inherit;font-weight:800;cursor:pointer}
.sd-state-action-primary{background:#7d2626;color:#fff;border-color:#7d2626}
.sd-progress{display:grid;grid-template-columns:150px minmax(0,1fr);gap:clamp(1.2rem,3vw,2rem);align-items:center;border:1px solid #cee3d6;background:linear-gradient(135deg,#f5fbf7 0%,#ffffff 58%,#f0f8f3 100%);box-shadow:0 18px 48px rgba(18,69,43,.08);overflow:hidden}
.sd-analysis-visual{position:relative;width:132px;height:132px;display:grid;place-items:center;margin:auto}
.sd-analysis-orbit{position:absolute;inset:0;border:2px solid #d8e9df;border-top-color:#0f8442;border-right-color:#74b98f;border-radius:50%;animation:sdspin 1.25s linear infinite}
.sd-analysis-orbit::after{content:"";position:absolute;inset:10px;border:1px dashed #bdd9c8;border-radius:50%;animation:sdspin 3.2s linear infinite reverse}
.sd-analysis-engine{position:relative;width:102px;height:102px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid #dbe9e1;box-shadow:0 8px 22px rgba(18,69,43,.1);padding:.55rem}
.sd-analysis-engine small{font-size:.58rem;letter-spacing:.16em;font-weight:900;color:#456258}
.sd-analysis-engine strong{font-size:.76rem;line-height:1.15;color:#17352a}
.sd-analysis-engine span{font-size:.65rem;color:#69756f;margin-top:.15rem}
.sd-analysis-copy{display:grid;gap:.55rem}
.sd-analysis-badge{width:max-content;max-width:100%;padding:.42rem .7rem;border-radius:999px;background:#e8f6ed;color:#0f8442;font-size:.74rem;font-weight:900;letter-spacing:.03em}
.sd-analysis-copy>strong{font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.25;color:#17352a}
.sd-analysis-message{min-height:1.6em;color:#3f5149;font-size:1rem;font-weight:750;animation:sdfade .45s ease}
.sd-analysis-copy>small{color:#69756f;line-height:1.5}
@keyframes sdspin{to{transform:rotate(360deg)}}
@keyframes sdfade{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.sd-complete-banner{display:flex;gap:1rem;align-items:flex-start;border:1px solid #cfe6d8;background:#f4fbf6;border-radius:20px;padding:1.15rem 1.3rem;animation:sdfade .4s ease}
.sd-complete-icon{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#0f8442;color:#fff;font-size:1.15rem;font-weight:900}
.sd-complete-banner div{display:grid;gap:.18rem}
.sd-complete-banner small{font-size:.7rem;letter-spacing:.12em;font-weight:900;color:#0f8442}
.sd-complete-banner strong{font-size:1.25rem;color:#17352a}
.sd-complete-banner p{margin:0;color:#56635d;line-height:1.55}
.sd-report{display:grid;gap:2rem}
.sd-report-head{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid #e4ebe7}
.sd-report-head h2{margin:.25rem 0 .2rem;font-size:clamp(1.55rem,3vw,2.35rem);word-break:break-word}
.sd-report-head p{margin:0;color:#69756f}
.sd-main-score{min-width:190px;padding:1rem 1.2rem;border:1px solid #dce8e1;border-radius:18px;text-align:center;background:#f8fbf9}
.sd-main-score small{display:block;margin-bottom:.4rem;font-weight:900;color:#53665d}
.sd-main-score div{display:flex;align-items:flex-end;justify-content:center;gap:.2rem}
.sd-main-score strong{font-size:3rem;line-height:.95;color:#0f8442}
.sd-main-score div>span{font-weight:900;color:#65716c}
.sd-main-score em{display:block;margin-top:.5rem;font-style:normal;font-size:.86rem;font-weight:900}
.sd-status-banner{display:flex;gap:1rem;align-items:flex-start;border-radius:18px;padding:1.25rem 1.4rem;background:#f7fbf8;border:1px solid #dce9e1}
.sd-status-banner small{font-size:.72rem;font-weight:900;letter-spacing:.12em;color:#647169}
.sd-status-banner strong{display:block;margin:.18rem 0;font-size:1.45rem}
.sd-status-banner p{margin:.2rem 0 0;color:#56635d}
.sd-status-dot{width:14px;height:14px;border-radius:50%;background:#f2b43b;margin-top:.45rem;flex:0 0 auto}
.sd-status-banner.is-good .sd-status-dot{background:#16a05d}
.sd-status-banner.is-bad .sd-status-dot{background:#d95151}
.sd-section-title{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:1rem}
.sd-section-title h3{margin:.2rem 0 0;font-size:clamp(1.5rem,2.7vw,2.15rem)}
.sd-section-title>p{max-width:520px;margin:0;color:#65716c}
.sd-priority-section{padding-top:.5rem}
.sd-priority-group{display:grid;gap:1rem;margin-top:1.2rem}
.sd-priority-group-head{display:flex;align-items:center;gap:.8rem}
.sd-priority-group-head>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e9f6ee;color:#0f8442;font-weight:950}
.sd-priority-group-head div{display:grid;gap:.1rem}
.sd-priority-group-head strong{font-size:1.05rem;color:#17352a}
.sd-priority-group-head small{color:#69756f}
.sd-priorities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.sd-priority{border:1px solid #e1e9e4;border-radius:18px;padding:1.25rem;background:#fff}
.sd-priority-top{display:flex;justify-content:space-between;align-items:center;gap:.7rem}
.sd-priority-number{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#e9f6ee;color:#0f8442;font-weight:900}
.sd-priority-level{font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#69756f}
.sd-priority h4{margin:.8rem 0 .35rem;font-size:1.08rem}
.sd-priority-measure{display:inline-flex;width:max-content;max-width:100%;margin:.05rem 0 .55rem;padding:.36rem .55rem;border-radius:8px;background:#f3f7f4;color:#243d32;font-size:.8rem;font-weight:900}
.sd-priority p{margin:0;color:#606d67;line-height:1.55}
.sd-priority-status{display:inline-flex;margin-top:.8rem;padding:.32rem .5rem;border-radius:999px;font-size:.72rem;font-weight:900}
.sd-priority-status-high{background:#fff0f0;color:#b63f3f}
.sd-priority-status-mid{background:#fff8e6;color:#8e6500}
.sd-priority-status-good{background:#eaf7ef;color:#0f8442}
.sd-recommendation{padding:clamp(1.4rem,3vw,2rem);border-radius:22px;background:#102c22;color:#fff}
.sd-recommendation .sd-kicker{color:#7de2aa}
.sd-recommendation h3{margin:.3rem 0 .7rem;font-size:clamp(1.6rem,3vw,2.45rem)}
.sd-recommendation p{max-width:850px;color:#d9e9e1;line-height:1.7}
.sd-recommendation .button{margin-top:.35rem}
.sd-details{border:1px solid #dfe8e3;border-radius:18px;background:#fff;overflow:hidden}
.sd-details summary{cursor:pointer;padding:1.15rem 1.3rem;font-weight:900}
.sd-details[open] summary{border-bottom:1px solid #e5ece8}
.sd-metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#e4ebe7}
.sd-metrics-grid article{padding:1rem;background:#fff;display:grid;gap:.2rem}
.sd-metrics-grid small{font-size:.7rem;font-weight:900;color:#647169}
.sd-metrics-grid strong{font-size:1.35rem}
.sd-metrics-grid span{font-size:.78rem;color:#6d7772}
.sd-technical-note,.sd-source-note{font-size:.83rem;color:#69756f}
.sd-technical-note{padding:0 1.3rem 1rem}
.sd-source-note{text-align:center}
.sd-next-step{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.5rem,4vw,3rem);border:1px solid #dfe9e3;border-radius:22px}
.sd-next-step h2{margin:.3rem 0 .5rem}
.sd-next-step p{margin:0;max-width:700px}
.sd-result-label-good{color:#0f8442}.sd-result-label-mid{color:#9a6c00}.sd-result-label-bad{color:#b63f3f}
@media(max-width:920px){
  .sd-hero-grid{grid-template-columns:1fr}
  .sd-metrics-grid{grid-template-columns:repeat(2,1fr)}
  .sd-priorities{grid-template-columns:1fr}
}
@media(max-width:620px){
  .sd-hero{padding-top:2.5rem}
  .sd-report-head,.sd-section-title,.sd-next-step{align-items:stretch;flex-direction:column}
  .sd-main-score{width:100%}
  .sd-metrics-grid{grid-template-columns:1fr}
  .sd-progress{grid-template-columns:1fr;text-align:center}
  .sd-analysis-visual{width:118px;height:118px}
  .sd-analysis-engine{width:92px;height:92px}
  .sd-analysis-badge{margin:0 auto}
  .sd-complete-banner{text-align:left}
  .sd-state-actions{flex-direction:column}
  .sd-state-action{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .sd-analysis-orbit,.sd-analysis-orbit::after,.sd-analysis-message,.sd-complete-banner{animation:none!important}
}


/* === SOURCE: assets/css/core/public-gold-sync.css === */
/* IDEAL WEB — GOLD PUBLIC SYNC — 2026-08-16 */
.iw-gold-sync{--iw-gold-green:#0f8442;--iw-gold-ink:#122b21;--iw-gold-muted:#5e6c65;--iw-gold-line:#dfe8e3;--iw-gold-soft:#f5f9f6;--iw-gold-focus:0 0 0 4px rgba(15,132,66,.16);overflow-x:clip;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-synthesis:none}
.iw-gold-sync *,.iw-gold-sync *::before,.iw-gold-sync *::after{box-sizing:border-box}
.iw-gold-sync :where(img,picture,video,svg){max-width:100%}.iw-gold-sync img{height:auto}
.iw-gold-sync :where(h1,h2,h3){text-wrap:balance;overflow-wrap:break-word}.iw-gold-sync :where(p,li,dd,summary){overflow-wrap:break-word}
.iw-gold-sync :where(section[id],article[id],div[id]){scroll-margin-top:96px}
.iw-gold-sync :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--iw-gold-green);outline-offset:3px;box-shadow:var(--iw-gold-focus)}
.iw-gold-sync :where(button,.button,.btn,[class*="button-"],[class*="btn-"]){touch-action:manipulation}.iw-gold-sync :where(.button,.btn){min-height:44px}
.iw-gold-sync :where(input,select,textarea,button){font:inherit}.iw-gold-sync :where(input,select,textarea){max-width:100%}
.iw-gold-sync :where(.site-header,.iw-seo-header,.top){isolation:isolate;z-index:50}
.iw-gold-sync :where(.pillar-card,.pricing-card,.faq-list details,.review-card,.feature-card){border-color:var(--iw-gold-line)}
.iw-gold-sync :where(.faq-list details){scroll-margin-top:110px}.iw-gold-sync :where(.site-footer,footer){position:relative;z-index:1}
.iw-gold-sync :where(.breadcrumbs){overflow-x:auto;scrollbar-width:none}.iw-gold-sync :where(.breadcrumbs)::-webkit-scrollbar{display:none}.iw-gold-sync :where(.breadcrumbs ol){min-width:max-content}
.iw-gold-sync :where(.centered-action,.centered-action .button,.centered-action .btn){max-width:100%}.iw-gold-sync a[href^="http"]{overflow-wrap:anywhere}
@media(max-width:900px){.iw-gold-sync :where(.section-heading){row-gap:1rem}.iw-gold-sync :where(.header-actions){flex-shrink:0}}
@media(max-width:760px){.iw-gold-sync :where(section[id],article[id],div[id]){scroll-margin-top:82px}.iw-gold-sync :where(.button-large){min-height:48px}.iw-gold-sync :where(.pricing-grid,.pillar-grid,.feature-grid,.cards-grid,.pricing-card,.pillar-card,.feature-card){min-width:0}.iw-gold-sync :where(.main-menu,.nav-links){max-width:100%}}
@media(max-width:520px){.iw-gold-sync :where(.centered-action .button,.centered-action .btn,.ph-hero-actions .button){width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.iw-gold-sync *,.iw-gold-sync *::before,.iw-gold-sync *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* === SOURCE: assets/css/core/gold-ui-content-v338.css === */
/* Idéal Web — V33.8 GOLD UI / CONTENT HARDENING
   Couche publique finale : stabilité mobile, contenus longs et composants réutilisés.
   Chargée après les styles de page ; aucune logique paiement/backend. */
.iw-public-page{overflow-x:clip}
.iw-public-page *, .iw-public-page *::before, .iw-public-page *::after{box-sizing:border-box}
.iw-public-page :where(img,picture,video,canvas,svg,iframe){max-width:100%}
.iw-public-page :where(img,video){height:auto}
.iw-public-page :where(.grid,.cards,.card-grid,.section-grid,.hero-grid,.footer-grid,.steps,.offers,.features,.pricing-grid,.iw-price-summary,.iw-checklist)>*{min-width:0}
.iw-public-page :where(h1,h2,h3,h4,p,li,a,button,label,summary,strong,span){overflow-wrap:break-word}
.iw-public-page :where(input,select,textarea,button){max-width:100%}
.iw-public-page :where(pre,code){max-width:100%}
.iw-public-page pre{overflow:auto;-webkit-overflow-scrolling:touch}
.iw-public-page .bi{display:inline-block;line-height:1;vertical-align:-.125em}
.iw-public-page :where(.table-wrap,.table-responsive,.comparison-wrap,.iw-price-table-wrap,.legal-table-wrap,.ai332-comparison-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
@media(max-width:760px){
  .iw-public-page{font-size-adjust:none}
  .iw-public-page :where(h1,h2,h3){text-wrap:balance}
  .iw-public-page :where(p,li){text-wrap:pretty}
  .iw-public-page table{max-width:none}
  .iw-public-page :where(.btn,.button,.navcta,.cta,.cta-button,[class*="btn-"]){white-space:normal;text-align:center}
  .iw-public-page :where(.hero-actions,.actions,.cta-actions,.button-row,.buttons){max-width:100%;flex-wrap:wrap}
  .iw-public-page :where(.hero-actions,.actions,.cta-actions,.button-row,.buttons)>a,
  .iw-public-page :where(.hero-actions,.actions,.cta-actions,.button-row,.buttons)>button{max-width:100%}
  .iw-public-page :where(.badge,.pill,.tag,.eyebrow,.kicker){max-width:100%;white-space:normal}
  .iw-public-page :where(.hero,.section,.panel,.card,.offer,.pricing-card){min-width:0}
}
@media(max-width:430px){
  .iw-public-page :where(.wrap,.container,.shell,.hub-shell){min-width:0}
  .iw-public-page :where(input,select,textarea){font-size:16px}
  .iw-public-page :where(.btn,.button,.navcta,.cta-button){min-height:44px}
}
@supports not (overflow:clip){.iw-public-page{overflow-x:hidden}}


/* === SOURCE: assets/css/core/public-typography-spacing-v3386.css === */
/* Idéal Web V33.8.5 — Charte typographique et rythme vertical PUBLIC + SEO.
   Scope volontairement limité à body.iw-public-page. */

body.iw-public-page{
  --iw-public-h1:clamp(2.5rem,4.2vw,4.5rem);
  --iw-public-h2:clamp(1.9rem,3vw,3.15rem);
  --iw-public-h3:clamp(1.18rem,1.55vw,1.55rem);
  --iw-public-section-space:clamp(3.5rem,5.8vw,5.5rem);
  --iw-public-hero-space:clamp(3.25rem,5.2vw,4.75rem);
}

/* Hiérarchie commune : lisible, premium, jamais disproportionnée. */
body.iw-public-page main h1{
  font-size:var(--iw-public-h1)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  font-weight:800!important;
  text-wrap:balance;
}
body.iw-public-page main h2{
  font-size:var(--iw-public-h2)!important;
  line-height:1.09!important;
  letter-spacing:-.035em!important;
  font-weight:800!important;
  text-wrap:balance;
}
body.iw-public-page main h3{
  font-size:var(--iw-public-h3)!important;
  line-height:1.22!important;
  letter-spacing:-.018em!important;
  font-weight:780!important;
  text-wrap:balance;
}

/* Rythme vertical commun des blocs éditoriaux publics/SEO. */
body.iw-public-page main > .section,
body.iw-public-page main > .content-section,
body.iw-public-page main > .section-pad{
  padding-top:var(--iw-public-section-space)!important;
  padding-bottom:var(--iw-public-section-space)!important;
}
body.iw-public-page main > .page-hero,
body.iw-public-page main > .city-hero,
body.iw-public-page main > .premium-hero,
body.iw-public-page main > .catalog-hero,
body.iw-public-page main > .ai332-hero,
body.iw-public-page main > .ai332-article-hero,
body.iw-public-page main > .ip33-hero,
body.iw-public-page main > .sd-hero,
body.iw-public-page main > .sector-hero{
  padding-top:var(--iw-public-hero-space)!important;
  padding-bottom:var(--iw-public-hero-space)!important;
  min-height:auto!important;
}
body.iw-public-page:not(.home-premium) main > .hero{
  padding-top:var(--iw-public-hero-space)!important;
  padding-bottom:var(--iw-public-hero-space)!important;
  min-height:auto!important;
}

/* Évite les grands blancs entre un titre de section et son contenu. */
body.iw-public-page main .section-heading,
body.iw-public-page main .section-head{
  margin-bottom:clamp(1.75rem,3vw,2.75rem)!important;
}
body.iw-public-page main .section-heading.centered{
  margin-bottom:clamp(1.75rem,3vw,2.75rem)!important;
}
body.iw-public-page main .page-faq .faq-grid{
  padding-top:clamp(3rem,5vw,4.5rem)!important;
}

/* Une largeur confortable pour les introductions longues sans créer de vide artificiel. */
body.iw-public-page main :is(.hero-lead,.page-lead,.section-heading > p,.section-head > p){
  line-height:1.65;
}

@media (max-width:700px){
  body.iw-public-page{
    --iw-public-h1:clamp(2.15rem,10vw,2.8rem);
    --iw-public-h2:clamp(1.72rem,8vw,2.2rem);
    --iw-public-h3:clamp(1.08rem,5.2vw,1.35rem);
    --iw-public-section-space:clamp(3rem,12vw,4rem);
    --iw-public-hero-space:clamp(2.5rem,10vw,3.5rem);
  }
  body.iw-public-page main h1{line-height:1.07!important;letter-spacing:-.035em!important}
  body.iw-public-page main h2{line-height:1.12!important;letter-spacing:-.028em!important}
}


/* V33.8.6 — verrouille la charte même face aux anciens sélecteurs par ID. */
body.iw-public-page main :is(#hero-title,#page-title,#asa-title,#estimate-title){
  font-size:var(--iw-public-h1)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  font-weight:800!important;
}
@media (max-width:700px){
  body.iw-public-page main :is(#hero-title,#page-title,#asa-title,#estimate-title){
    font-size:var(--iw-public-h1)!important;
    line-height:1.07!important;
    letter-spacing:-.035em!important;
  }
}

/* V33.8.6 — correction structurelle :
   certaines pages utilisent directement kicker + H2 + texte dans .section-heading.
   L'ancienne grille 2 colonnes de site-global créait alors de grands vides et des titres décalés.
   Les variantes avec conteneurs internes conservent leur grille éditoriale. */
body.iw-public-page main .section-heading:has(> h2){
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
}


/* V33.9.0 — SEO primary image hook */
.iw-seo-primary-media {
  position: relative;
  width: min(calc(100% - 32px), 920px);
  margin: clamp(22px, 3.5vw, 44px) auto;
  overflow: hidden;
  border: 1px solid rgba(10, 88, 62, .12);
  border-radius: clamp(18px, 2.2vw, 28px);
  background: #f4f8f6;
  box-shadow: 0 18px 52px rgba(16, 58, 45, .11);
}
.iw-seo-primary-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255,255,255,.16), transparent 34%, transparent 68%, rgba(73,183,139,.08));
}
.iw-seo-primary-media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
}
@media (max-width: 640px) {
  .iw-seo-primary-media { width: min(calc(100% - 24px), 920px); border-radius: 18px; margin-block: 20px 28px; }
}


/* === SOURCE: assets/css/site-architecture-v7.css === */

/* V7 architecture navigation: additive, local/static compatible */
.iw-v7-breadcrumb{max-width:1180px;margin:14px auto;padding:0 18px;font:600 14px/1.5 system-ui,sans-serif;color:#475569}.iw-v7-breadcrumb a{color:#0f766e;text-decoration:none}.iw-v7-breadcrumb span{margin:0 7px;color:#94a3b8}.iw-v7-children{max-width:1180px;margin:40px auto;padding:26px 22px;border:1px solid #e2e8f0;border-radius:20px;background:#fff}.iw-v7-children h2{margin:0 0 16px;font:800 26px/1.2 system-ui,sans-serif;color:#0f172a}.iw-v7-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.iw-v7-grid a{display:block;padding:13px 14px;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:#0f172a;background:#f8fafc;font:650 14px/1.35 system-ui,sans-serif}.iw-v7-grid a:hover{transform:translateY(-1px);border-color:#99f6e4;background:#f0fdfa}.iw-v7-hubs{max-width:1180px;margin:44px auto;padding:0 18px}.iw-v7-hubs h2{font:850 30px/1.2 system-ui,sans-serif;color:#0f172a}.iw-v7-hubs .iw-v7-grid a{background:#fff}

