:root,html[data-theme]{--sgi-blue:#182868;--sgi-deep:#111943;--sgi-blue-light:#4164bc;--sgi-yellow:#ffdf30;--sgi-gold:#ffbd0a;--sgi-orange:#ffa51a;--sgi-white:#fff;--sgi-pearl:#f4f5f9;--sgi-glacier:#e9eef9;--page-bg:#f4f5f9;--panel:#fff;--band:#e9eef9;--ink:#182858;--muted:#4f5877;--line:#ccd7ee;--nav-blue:#182868;--nav-orange:#884b00;--accent:#884b00;--control-edge:#8191bf;--focus-ring:#4164bc;--button-bg:#ffbd0a;--button-hover:#ffdf30;--button-active:#ffa51a;--button-ink:#182858;--secondary-bg:#e9eef9;--secondary-hover:#fff;--secondary-active:#dce3f4;--secondary-ink:#182858;--disabled-bg:#dce3f4;--disabled-ink:#4f5877;--sgi-matrix-color:#ffa51a;--circuit-ink:#182868;--circuit-light:#4164bc;--faq-blue:#e9eef9;--faq-orange:#fff5d1;--hero-ink:#182858;--hero-accent:#884b00;--header-glow:#4164bc12;--menu-glass:#e9eef980;--menu-glass-hover:#dce3f4cc;--tile-aura:#4164bc35;--tile-aura-near:#18286820;--menu-service-line:linear-gradient(90deg,#ffa51a60,#ffdf30,#ffbd0a80);--menu-content-line:linear-gradient(90deg,#18286880,#4164bc,#18286880)}
html[data-theme=night]{--page-bg:#111943;--panel:#182858;--band:#1e2d65;--ink:#f4f5f9;--muted:#c7d1ec;--line:#6174a9;--nav-blue:#c6d3ff;--nav-orange:#ffdf30;--accent:#ffdf30;--control-edge:#8191bf;--focus-ring:#ffdf30;--secondary-bg:#243775;--secondary-hover:#2d448e;--secondary-active:#182868;--secondary-ink:#fff;--disabled-bg:#283663;--disabled-ink:#c7d1ec;--sgi-matrix-color:#b6c8ff;--circuit-ink:#b6c8ff;--circuit-light:#ffdf30;--faq-blue:#1e2d65;--faq-orange:#263366;--hero-ink:#fff;--hero-accent:#ffdf30;--header-glow:#698cff16;--menu-glass:#4164bc15;--menu-glass-hover:#4164bc38;--tile-aura:#819bdf45;--tile-aura-near:#819bdf20;--menu-content-line:linear-gradient(90deg,#4164bc,#bcc9ef,#4164bc)}
html[data-theme=orange]{--page-bg:#ffa51a;--panel:#fff5d1;--band:#ffdf30;--ink:#182858;--muted:#343d60;--line:#bd8a35;--nav-blue:#182868;--nav-orange:#703d00;--accent:#703d00;--control-edge:#a77a24;--focus-ring:#182868;--secondary-bg:#ffeab0;--secondary-hover:#fff5d1;--secondary-active:#ffdf30;--secondary-ink:#182858;--disabled-bg:#f3d998;--disabled-ink:#514529;--sgi-matrix-color:#fff;--circuit-ink:#182868;--circuit-light:#fff;--faq-blue:#fff5d1;--faq-orange:#ffeab0;--hero-ink:#182858;--hero-accent:#182868;--header-glow:#fff3;--menu-glass:#ffbd0a55;--menu-glass-hover:#ffdf3099;--tile-aura:#fff7c880;--tile-aura-near:#884b0025;--menu-service-line:linear-gradient(90deg,#fff6,#fff,#fff6);--menu-content-line:linear-gradient(90deg,#18286870,#4164bc,#18286870)}
html[data-theme=white]{--review-blue:#e9eef9d9;--review-orange:#fff5d1d9;--review-sky:#f4f5f9d9;--review-cream:#ffffffdc;--review-edge-blue:#8191bf;--review-edge-peach:#bd8a35;--review-edge-cream:#8191bf;--glass-surface:#f4f5f9d9;--glass-hover:#e9eef9ed;--tile-edge:#8191bf}
html[data-theme=night]{--review-blue:#182868dc;--review-orange:#243570dc;--review-sky:#293d7adc;--review-cream:#f4f5f9dc;--review-edge-blue:#8191bf;--review-edge-peach:#b6a461;--review-edge-cream:#8191bf;--glass-surface:#182868d4;--glass-hover:#29428be6;--tile-edge:#8191bf}
html[data-theme=orange]{--review-blue:#e9eef9dc;--review-orange:#fff5d1dc;--review-sky:#f4f5f9dc;--review-cream:#ffffffdc;--review-edge-blue:#8191bf;--review-edge-peach:#bd8a35;--review-edge-cream:#8191bf;--glass-surface:#fff5d1d9;--glass-hover:#fff5d1ed;--tile-edge:#bd8a35}
html[data-theme] .site-header,html[data-theme] .site-footer{background-color:var(--panel)}
html[data-theme=night] .site-header,html[data-theme=night] .site-footer{background-color:#111943}
html[data-theme=orange] .site-header,html[data-theme=orange] .site-footer{background-color:#ffbd0a}
html[data-theme=white] .footer-four>.footer-card:nth-child(n){background:#e9eef9dc;border-color:#8191bf}
html[data-theme=white] .footer-four>.footer-card:nth-child(even){background:#fff5d1dc;border-color:#b08833}
html[data-theme=night] .footer-four>.footer-card:nth-child(n){background:#293d7adc;border-color:#8191bf}
html[data-theme=orange] .footer-four>.footer-card:nth-child(n){background:#fff5d1cf;border-color:#a77a24}
html[data-theme] .footer-four :is(.footer-social,.footer-location,.footer-contact)>h3{border-bottom-color:#ffa51a}
html[data-theme] :is(input,select,textarea){color:var(--ink);border-color:var(--control-edge)}
html[data-theme] select,html[data-theme] select option{background:var(--panel);color:var(--ink)}
html[data-theme] .theme-selector{background:var(--panel);border-color:var(--control-edge)}
html[data-theme] .archive-note{background:var(--band);color:var(--ink)}
/* Shared command styling; image cards keep their original tile geometry. */
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color],html[data-theme] .article-tag{border-radius:999px!important}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-variant=icon]{border-radius:12px!important}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-variant=text]{border-radius:6px!important}
html[data-theme] .content-actions .button:hover{transform:translateY(-3px)}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]{--btn-top:#ffdf30;--btn-mid:#ffbd0a;--btn-bottom:#ffa51a;--btn-edge:#d39b15;--btn-ink:#182858;color:var(--btn-ink)!important;background:linear-gradient(180deg,var(--btn-top),var(--btn-mid) 52%,var(--btn-bottom))!important;border:1px solid var(--btn-edge)!important;border-radius:999px;box-shadow:inset 0 2px 2px #ffffff70,inset 0 -2px 4px #11194325,0 3px 6px #1119431a,0 7px 16px var(--tile-aura);text-shadow:none;font-family:Grandstander,sans-serif;font-weight:750;line-height:1.3;transition:box-shadow .35s ease,filter .35s ease,transform .35s ease;isolation:isolate}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]:not([data-sgi-variant]){position:relative}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color=blue]{--btn-top:#29428b;--btn-mid:#182868;--btn-bottom:#111943;--btn-edge:#8191bf;--btn-ink:#fff;background:linear-gradient(150deg,var(--btn-top),var(--btn-mid),var(--btn-bottom))!important;font-weight:650}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color=white]{--btn-top:#fff;--btn-mid:#f4f5f9;--btn-bottom:#e9eef9;--btn-edge:#8191bf;--btn-ink:#182858;font-weight:650}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]:not([data-sgi-variant=text]) :is(span,small){color:inherit!important}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]::before{content:'';position:absolute;inset:3px 5px 48%;border-radius:inherit;background:linear-gradient(#ffffff55,#ffffff08);pointer-events:none;z-index:-1}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]::after{content:'';position:absolute;inset:3px;border:1px solid #ffffff35;border-radius:inherit;pointer-events:none;background:none}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]:is(:hover,:focus-visible){color:var(--btn-ink)!important;filter:brightness(1.035);box-shadow:inset 0 2px 3px #ffffff85,inset 0 -2px 3px #11194320,0 4px 7px #11194322,0 10px 22px var(--tile-aura);text-decoration:none}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]:is(:active,[aria-pressed=true],[aria-selected=true],[aria-current]){color:var(--btn-ink)!important;background:linear-gradient(180deg,var(--btn-bottom),var(--btn-mid))!important;box-shadow:inset 0 4px 7px #11194350,inset 0 -1px 2px #ffffff50,0 1px 3px #11194320;filter:none}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]:active{transform:translateY(1px)}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]:is(:active,[aria-pressed=true],[aria-selected=true])::before{opacity:0}
html[data-theme] body[data-page] :is(.catalogue-categories,.media-tabs,.formation-navigation) .sgi-brand-button:is([aria-pressed=true],[aria-selected=true],[aria-current]){--btn-top:#ffdf30;--btn-mid:#ffbd0a;--btn-bottom:#ffa51a;--btn-edge:#d39b15;--btn-ink:#182858}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]:focus-visible{outline:3px solid var(--focus-ring)!important;outline-offset:4px}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]:is(:disabled,[aria-disabled=true]){color:var(--disabled-ink)!important;background:var(--disabled-bg)!important;border:1px dashed var(--control-edge)!important;box-shadow:inset 0 1px 2px #ffffff30!important;filter:none!important;opacity:1;cursor:not-allowed;transform:none!important}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]:is(:disabled,[aria-disabled=true])::before,html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]:is(:disabled,[aria-disabled=true])::after{display:none}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]>svg.icon{background:#ffffffc9;color:#182858!important;border-radius:50%;width:27px!important;height:27px!important;padding:5px;box-shadow:inset 0 1px 2px #fff,0 1px 2px #11194320;flex:none}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-variant=icon]{border-radius:12px;padding:4px;min-height:0}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-variant=icon]>svg.icon{background:none;box-shadow:none;color:inherit!important;padding:0;width:17px!important;height:17px!important}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-variant=icon]::before,html[data-theme] body[data-page] .sgi-brand-button[data-sgi-variant=icon]::after{display:none}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-variant=text]{background:transparent!important;color:var(--ink)!important;border:0!important;box-shadow:none!important;border-radius:6px;font-weight:600}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-variant=text]::before,html[data-theme] body[data-page] .sgi-brand-button[data-sgi-variant=text]::after{display:none}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-variant=text]>svg.icon{background:none;box-shadow:none;padding:0;width:16px!important;height:16px!important;color:inherit!important}
html[data-theme] body[data-page] .sgi-brand-button[data-sgi-variant=text]:is(:hover,:focus-visible){color:var(--nav-orange)!important;background:color-mix(in srgb,var(--band) 55%,transparent)!important}
html[data-theme] body[data-page] .site-footer .sgi-brand-button[data-sgi-variant=text]:is(:hover,:focus-visible)>svg.icon{color:var(--nav-orange)!important}
html[data-theme] body[data-page] .mobile-fixed-call.sgi-brand-button{--btn-top:#ffdf30;--btn-mid:#ffbd0a;--btn-bottom:#ffa51a;color:#182858!important}
html[data-theme] body[data-page] .mobile-fixed-call.sgi-brand-button>svg.icon{background:none;box-shadow:none;padding:0;width:18px!important;height:18px!important}
html[data-theme] body[data-page] .article-tag{border-color:var(--tag-ink,var(--control-edge))}
html[data-theme=night] .article-tag[data-tag-category=materiel]{--tag-ink:#c6d3ff}
html[data-theme=night] .article-tag[data-tag-category=multimedia]{--tag-ink:#ffdf30}
html[data-theme=white] .article-tag[data-tag-category=multimedia],html[data-theme=orange] .article-tag[data-tag-category=multimedia]{--tag-ink:#884b00}
/* The badge owns its dimensions; the SVG keeps a clear, unclipped drawing area. */
html[data-theme] body[data-page] .sgi-brand-button .sgi-button-icon{display:inline-grid;place-items:center;width:32px;height:32px;flex:0 0 32px;padding:0;border-radius:50%;background:#ffffffdf;box-shadow:inset 0 1px 2px #fff,0 1px 3px #11194325;overflow:visible;line-height:1}
html[data-theme] body[data-page] .sgi-brand-button .sgi-button-icon>svg.icon{box-sizing:content-box;width:18px!important;height:18px!important;min-width:18px;min-height:18px;padding:0!important;margin:0!important;display:block;border:0;border-radius:0;background:none!important;box-shadow:none!important;color:#182858!important;overflow:visible;flex:none}
html[data-theme] body[data-page] .mobile-fixed-call .sgi-button-icon{width:24px;height:24px;flex-basis:24px;background:transparent;box-shadow:none}
html[data-theme] body[data-page] .theme-swatch[data-theme-choice=white]{--btn-top:#fff;--btn-mid:#fff9ec;--btn-bottom:#efe6d2;border-color:#a99c80!important;box-shadow:inset 0 3px 2px #fff,inset 0 -3px 4px #18286835,0 2px 3px #11194325!important}
html[data-theme] body[data-page] .theme-swatch[data-theme-choice=white]:is(:hover,[aria-pressed=true]){background:linear-gradient(180deg,#fff,var(--btn-mid) 52%,var(--btn-bottom))!important;box-shadow:inset 0 3px 2px #fff,inset 0 -3px 4px #18286845,0 2px 4px #11194335!important}
:root,html[data-theme]{--sgi-scroll-thumb:#182868;--sgi-scroll-track:#e9eef9;--sgi-scroll-progress:#884b00;scrollbar-color:var(--sgi-scroll-thumb) var(--sgi-scroll-track);scrollbar-width:thin}
html[data-theme=night]{--sgi-scroll-thumb:#ffbd0a;--sgi-scroll-track:#111943;--sgi-scroll-progress:#ffdf30}
html[data-theme=orange]{--sgi-scroll-thumb:#182868;--sgi-scroll-track:#ffdf30;--sgi-scroll-progress:#182868}
*{scrollbar-color:var(--sgi-scroll-thumb) var(--sgi-scroll-track)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--sgi-scroll-track)}::-webkit-scrollbar-thumb{background:var(--sgi-scroll-thumb);border:2px solid var(--sgi-scroll-track);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--nav-orange)}
.sgi-scroll-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--sgi-scroll-progress);transform:scaleX(0);transform-origin:left center;z-index:150;pointer-events:none}
@media(max-width:780px){html[data-theme] body[data-page] .sgi-brand-button .sgi-button-icon{width:26px;height:26px;flex-basis:26px}html[data-theme] body[data-page] .content-actions .sgi-button-icon,html[data-theme] body[data-page] .google-review-actions .sgi-button-icon{width:22px;height:22px;flex-basis:22px}html[data-theme] body[data-page] .sgi-brand-button .sgi-button-icon>svg.icon{width:16px!important;height:16px!important;min-width:16px;min-height:16px}}
@media(forced-colors:active){.sgi-scroll-progress{background:Highlight}html[data-theme] body[data-page] .sgi-brand-button .sgi-button-icon{background:ButtonFace;box-shadow:none}html[data-theme] body[data-page] .sgi-brand-button .sgi-button-icon>svg.icon{color:ButtonText!important}}
/* Small feedback on icon drawings, without moving the badge or button layout. */
html[data-theme] body[data-page] .sgi-brand-button :is(.sgi-button-icon>svg.icon,svg.icon){transform-origin:50% 50%;transition:transform var(--sgi-duration-control,200ms) var(--ease-out,cubic-bezier(.23,1,.32,1))}
@media(hover:hover) and (pointer:fine){
 html[data-theme] body[data-page] .sgi-brand-button:hover :is(.sgi-button-icon>svg.icon,svg.icon){transform:rotate(-8deg) scale(1.03)}
 html[data-theme] body[data-page] :is(.header-call,.mobile-fixed-call,a[href^="tel:"]).sgi-brand-button:hover :is(.sgi-button-icon>svg.icon,svg.icon){transform:rotate(-12deg)}
}
html[data-theme] body[data-page] .sgi-brand-button:focus-visible :is(.sgi-button-icon>svg.icon,svg.icon),body[data-keyboard=true] .sgi-brand-button :is(.sgi-button-icon>svg.icon,svg.icon){transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){html[data-theme] body[data-page] .sgi-brand-button :is(.sgi-button-icon>svg.icon,svg.icon){transform:none!important;transition:none!important}}
/* Neutral paper grain stays behind the text and the full-card review link. */
html[data-theme] main .google-review{--review-grain-opacity:.22;isolation:isolate}
html[data-theme] main .google-review::before{content:'';position:absolute;inset:0;border-radius:inherit;background:url('../images/grain-papier-avis-sgi.webp') repeat;background-size:384px 256px;opacity:var(--review-grain-opacity);mix-blend-mode:soft-light;pointer-events:none;z-index:-1}
html[data-theme=night] main .google-review{--review-grain-opacity:.16}
@media(prefers-reduced-transparency:reduce),(forced-colors:active){html[data-theme] main .google-review::before{display:none}}
/* Footer navigation remains a list, including its action buttons. */
html[data-theme] body[data-page] .footer-explore .sgi-brand-button[data-sgi-variant=text]:is(:hover,:focus-visible,:active,[aria-pressed=true]){background:transparent!important;box-shadow:none!important;transform:none!important;text-decoration:underline;text-underline-offset:4px}
html[data-theme] .footer-explore :is(a,button){color:var(--ink)!important}
html[data-theme] .footer-explore :is(h3,h4){color:var(--ink)}
html[data-theme] .footer-explore :is(a,button):is(:hover,:focus-visible){color:var(--nav-orange)!important}
html[data-theme] .footer-explore :is(a,button):is(:hover,:focus-visible)>.icon{color:var(--nav-orange)!important}
html[data-theme] .theme-selector{gap:7px}
html[data-theme] body[data-page] .theme-swatch[aria-pressed=true]{outline:1px solid var(--focus-ring)!important;outline-offset:2px;box-shadow:inset 0 1px 2px #ffffff80!important}
html[data-theme] .theme-swatch>.icon{display:none}
html[data-theme] .article-tag-cloud .article-tag{min-height:38px;padding:8px 12px;font-size:14px;font-weight:600;color:var(--tag-ink,var(--ink));border-width:1px;box-shadow:inset 0 1px 2px #ffffff80,0 2px 5px #11194318}
html[data-theme] .article-tag-cloud .article-tag[data-tag-weight=medium]{font-size:15px;font-weight:600}
html[data-theme] .article-tag-cloud .article-tag[data-tag-weight=large]{font-size:16px;font-weight:650}
html[data-theme] .article-tag-cloud .article-tag:has(>img)::before{background:color-mix(in srgb,var(--panel) 94%,transparent)}
html[data-theme] .content-article p{text-align:justify;hyphens:auto}
@media(min-width:781px){
html[data-theme] .site-header .header-inner{display:grid!important;grid-template-columns:minmax(290px,1fr) auto auto;gap:8px 18px;padding-block:12px;align-items:center}
html[data-theme] .site-header .brand-area{grid-column:1;grid-row:1 / 3;margin:0;min-width:0}
html[data-theme] .site-header .menu-toggle{display:none!important}
html[data-theme] .site-header #site-navigation{display:flex!important;grid-column:2;grid-row:1 / 3;width:auto;margin:0;padding:0;border:0;gap:10px;flex-wrap:nowrap}
html[data-theme] .site-header #site-navigation>a{white-space:nowrap;font-size:13px;padding:10px 8px}
html[data-theme] .site-header .header-call{grid-column:3;grid-row:1;margin:0;justify-self:center;min-height:44px;padding:8px 12px}
html[data-theme] .site-header .theme-selector{grid-column:3;grid-row:2;justify-self:center;position:static;display:flex}
html[data-theme] .site-header .theme-swatch{width:26px;height:26px;min-height:0}
}
@media(min-width:781px) and (max-width:1240px){
html[data-theme] .site-header .header-inner{grid-template-columns:minmax(0,1fr) auto}
html[data-theme] .site-header .header-call,html[data-theme] .site-header .theme-selector{grid-column:2}
html[data-theme] .site-header #site-navigation{grid-column:1 / -1;grid-row:3;justify-content:center;gap:16px}
}
@media(max-width:780px){
html[data-theme] main :is(.service,.payment,.content-article,.product-card,.utility-card,.resource-card,.service-card,.pack-grid>article){height:auto!important;min-height:0!important;align-self:start}
html[data-theme] main :is(.content-grid,.product-grid,.service-grid,.pack-grid){align-items:start}
html[data-theme] main .content-article>a{height:auto!important;min-height:0!important}
html[data-theme] main .content-article p{flex:none}
html[data-theme] main .product-card .product-card-body{flex:none;min-height:0}
}
/* Keep contact details visible rather than putting them in a scroll area. */
html[data-theme] .site-header .brand-area{width:auto;min-width:0}
html[data-theme] .site-header .header-location{overflow:visible;overflow-x:visible;max-width:100%;width:100%;flex-wrap:wrap;gap:2px 8px;padding-bottom:0}
html[data-theme] .site-header .header-location :is(.header-address,.header-hours){padding-inline:0}
@media(min-width:1241px){html[data-theme] .site-header .header-inner{grid-template-columns:minmax(430px,1fr) auto auto;column-gap:12px}html[data-theme] .site-header #site-navigation{gap:6px}}
@media(max-width:780px){html[data-theme] .site-header .header-location{gap:2px 4px}html[data-theme] .media-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}html[data-theme] .media-tabs button{min-width:0;width:100%;justify-content:center;gap:4px;padding:10px 6px;min-height:44px}html[data-theme] body[data-page] .media-tabs .sgi-button-icon{width:22px;height:22px;flex-basis:22px}}
@media(max-width:360px){html[data-theme] .media-tabs button{font-size:11px;gap:3px;padding:8px 4px}}
@media(prefers-reduced-motion:reduce){html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]{transition:none}}
@media(forced-colors:active){html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]{background:ButtonFace!important;color:ButtonText!important;border-color:ButtonText!important;box-shadow:none!important;filter:none!important}html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]::before,html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]::after{display:none}html[data-theme] body[data-page] .sgi-brand-button[data-sgi-color]>svg.icon{background:none;color:inherit!important}}
