:root{--cgt-red: #e30613;--cgt-red-hover: #c50510;--ink: #1a1a1a;--ink-muted: #4a4a4a;--ink-soft: #6b6b6b;--bg-page: #f0f0f0;--bg-card: #ffffff;--border: #e0e0e0;--border-strong: #d0d0d0;--foot-bg: #2b2b2b;--foot-text: #c8c8c8;--font: "Inter", system-ui, -apple-system, sans-serif;--max: 72rem;--ease: ease;--cgt-red-contrast: #fff;color-scheme:light}[data-theme=dark]{--cgt-red: #f5c000;--cgt-red-hover: #d9aa00;--cgt-red-contrast: #000;--ink: #f0f0f0;--ink-muted: #b0b0b0;--ink-soft: #787878;--bg-page: #0d0d0d;--bg-card: #181818;--border: #282828;--border-strong: #383838;--foot-bg: #080808;--foot-text: #888888;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--cgt-red: #f5c000;--cgt-red-hover: #d9aa00;--cgt-red-contrast: #000;--ink: #f0f0f0;--ink-muted: #b0b0b0;--ink-soft: #787878;--bg-page: #0d0d0d;--bg-card: #181818;--border: #282828;--border-strong: #383838;--foot-bg: #080808;--foot-text: #888888;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100dvh;font-family:var(--font);font-size:clamp(1rem,.96rem + .15vw,1.0625rem);line-height:1.6;color:var(--ink);background:var(--bg-page);-webkit-font-smoothing:antialiased}.skip-link{position:absolute;top:-120px;left:1rem;z-index:300;padding:.55rem .9rem;background:var(--cgt-red);color:#fff;font-weight:600;font-size:.875rem;text-decoration:none}.skip-link:focus{top:.75rem;outline:2px solid var(--ink);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-skin{background:var(--bg-card);border-bottom:1px solid var(--border);box-shadow:0 1px #0000000a}.site-head__bar{background:var(--cgt-red);color:#fff}.site-head__bar-inner{max-width:var(--max);margin:0 auto;padding:.55rem clamp(.75rem,3vw,2rem);text-align:center;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.site-head__tagline{margin:0;display:inline-block;max-width:none;font-size:clamp(.5625rem,2.35vw + .35rem,.9375rem);line-height:1.35;font-weight:600;letter-spacing:.01em;color:#fff;white-space:nowrap}.site-head__main{background:var(--bg-card)}.site-head__inner{max-width:var(--max);margin:0 auto;padding:1rem clamp(1.25rem,4vw,2rem) 1.1rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}.site-head__inner--split{justify-content:space-between;align-items:center}.site-head__end{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.65rem 1rem;flex-shrink:0;max-width:100%}.site-head__nav{flex-shrink:1;min-width:0}.site-head__nav-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.2rem 1rem;list-style:none;margin:0;padding:0}.site-head__nav-link{display:inline-block;font-size:clamp(.8125rem,.5vw + .75rem,.9375rem);font-weight:600;color:var(--ink);text-decoration:none;padding:.35rem .05rem .4rem;border-radius:.15rem;white-space:nowrap}.site-head__nav-link:hover{color:var(--cgt-red);text-decoration:underline;text-underline-offset:.2em}.site-head__nav-link[aria-current=page]{color:var(--cgt-red);box-shadow:inset 0 -2px 0 var(--cgt-red)}.site-head__nav-link:focus-visible{outline:2px solid var(--cgt-red);outline-offset:2px}.site-head__nav-item--sub,.site-head__details{position:relative}.site-head__nav-summary{list-style:none;cursor:pointer;font-size:clamp(.8125rem,.5vw + .75rem,.9375rem);font-weight:600;color:var(--ink);padding:.35rem .15rem .4rem;border-radius:.15rem;white-space:nowrap}.site-head__nav-summary::-webkit-details-marker{display:none}.site-head__nav-summary:after{content:" ▾";font-size:.7em;opacity:.7}.site-head__details[open] .site-head__nav-summary:after{content:" ▴"}.site-head__details[open] .site-head__nav-summary,.site-head__nav-summary:hover{color:var(--cgt-red)}.site-head__nav-summary:focus-visible{outline:2px solid var(--cgt-red);outline-offset:2px}.site-head__sublist{position:absolute;top:calc(100% + .2rem);right:0;min-width:12.5rem;margin:0;padding:.35rem 0;list-style:none;background:var(--bg-card);border:1px solid var(--border);border-radius:.25rem;box-shadow:0 6px 20px #00000014;z-index:500}.site-head__subnav-link{display:block;padding:.5rem .95rem;font-size:.875rem;font-weight:600;color:var(--ink);text-decoration:none}.site-head__subnav-link:hover{background:var(--bg-page);color:var(--cgt-red)}.site-head__subnav-link[aria-current=page]{color:var(--cgt-red);box-shadow:inset 3px 0 0 var(--cgt-red)}.site-head__subnav-link:focus-visible{outline:2px solid var(--cgt-red);outline-offset:-2px}.brand{display:flex;align-items:center;gap:.85rem;min-width:0}.brand__logo-link{flex-shrink:0;display:block;line-height:0;padding:2px;background:#fff;border:1px solid var(--border)}.brand__logo-link:hover{border-color:var(--border-strong)}.brand__logo-link:focus-visible{outline:2px solid var(--cgt-red);outline-offset:2px}.brand__logo{display:block;height:clamp(2.75rem,6vw,3.25rem);width:auto;max-width:min(5rem,20vw);object-fit:contain}.brand__meta{display:flex;flex-direction:column;line-height:1.25;min-width:0}.brand__line{font-size:.9375rem;font-weight:700;color:var(--ink);letter-spacing:-.02em}.brand__line--place{font-size:.8125rem;font-weight:600;color:var(--cgt-red)}.main{max-width:var(--max);margin:0 auto;padding:clamp(1.75rem,4vw,2.75rem) clamp(1.25rem,4vw,2rem) clamp(2.5rem,5vw,3.5rem)}.hero{display:grid;grid-template-columns:1fr;row-gap:clamp(.65rem,1.5vw,.9rem);column-gap:clamp(1.25rem,3vw,2.25rem);align-items:start;margin-bottom:clamp(1rem,2vw,1.5rem);padding-bottom:clamp(.65rem,1.2vw,1rem);border-bottom:1px solid var(--border)}.hero__title{margin:0;min-width:0;max-width:min(30rem,100%);font-size:clamp(1.45rem,2.4vw + .55rem,2.35rem);font-weight:700;line-height:1.14;letter-spacing:-.03em;color:var(--ink);hyphens:manual}@media(min-width:720px){.hero{grid-template-columns:minmax(0,26rem) minmax(0,1fr);row-gap:0;align-items:start}.hero__title{max-width:100%}}.hero__title-line{display:block;text-wrap:balance}.hero__title-line--place{margin-top:.08em;white-space:nowrap}.hero__accent{color:var(--cgt-red)}.hero__lead{margin:0;min-width:0;max-width:none;width:100%;color:var(--ink-muted);font-size:clamp(.94rem,.35vw + .88rem,1.05rem);line-height:1.55}.hero__lead em{font-style:normal;color:var(--ink);font-weight:600}.hero__lead strong{font-weight:700;color:var(--ink)}.bases-corner{margin-bottom:clamp(1.1rem,2vw,1.4rem);padding:.45rem 0 .9rem;border-bottom:1px solid var(--border)}.bases-corner__title{margin:0 0 .5rem;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.bases-corner__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}.base-link{display:inline-flex;align-items:center;justify-content:center;min-height:clamp(6rem,18vw,8rem);padding:clamp(.35rem,.8vw,.55rem) clamp(.55rem,1.2vw,.85rem);border:1px solid var(--border);background:transparent;color:var(--ink);text-decoration:none;transition:border-color .18s var(--ease),background-color .18s var(--ease),color .18s var(--ease)}.base-link:hover{border-color:var(--cgt-red);color:var(--cgt-red);background:transparent}.base-link__logo{display:block;width:auto;height:clamp(5.2rem,16vw,7.2rem);max-width:clamp(4.1rem,12vw,5.8rem);object-fit:contain}.section-title{margin:0 0 1.1rem;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:600;font-style:normal;color:var(--ink);letter-spacing:-.02em}.section-title em{font-style:italic;color:var(--cgt-red);font-weight:600}.services{margin-bottom:clamp(2rem,4vw,2.75rem)}.services__grid{display:grid;gap:1rem}@media(min-width:768px){.services__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.infos__grid{display:flex;flex-wrap:wrap;gap:1rem;align-items:stretch}.infos__grid>.card--address{flex:0 0 auto;width:min(24.5rem,100%)}.infos__grid>.card:not(.card--address){flex:1 1 15rem;min-width:0}.card{background:var(--bg-card);border:1px solid var(--border);padding:1.2rem 1.25rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 1px 2px #0000000a;transition:box-shadow .2s var(--ease),border-color .2s var(--ease)}@media(hover:hover){.card:hover{border-color:var(--border-strong);box-shadow:0 4px 14px #0000000f}}.card__meta{margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cgt-red)}.card__title{margin:0;font-size:1.0625rem;font-weight:600;line-height:1.35;color:var(--ink);letter-spacing:-.02em}.card__text{margin:0;color:var(--ink-muted);font-size:.9375rem;line-height:1.65;flex:1}.card__text--address{font-style:normal}.card__text--strong{color:var(--ink);font-weight:600}.card__link{margin-top:auto;align-self:flex-start;font-size:.875rem;font-weight:600;color:var(--cgt-red);text-decoration:none}.card__link:hover{text-decoration:underline;text-underline-offset:.2em}.card--address .card__text--address,.card--address .card__text{flex:0 0 auto}.map-embed{position:relative;width:100%;background:var(--bg-page)}.map-embed iframe{display:block;width:100%;height:auto;aspect-ratio:425 / 350;box-sizing:border-box}.map-embed small{display:block;margin-top:.35rem;font-size:.75rem;line-height:1.4;color:var(--ink-soft)}.map-embed small a{font-weight:600;color:var(--cgt-red);text-decoration:none}.map-embed small a:hover{text-decoration:underline;text-underline-offset:.2em}.map-embed__attr{display:block;margin-top:.25rem;font-size:.75rem;color:var(--ink-soft);line-height:1.4}.map-embed__attr a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.15em}.map-embed__attr a:hover{color:var(--cgt-red)}.contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem;flex:1}.contact-list li{display:flex;flex-direction:column;gap:.15rem}.contact-list__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.contact-list a{font-weight:600;color:var(--cgt-red);text-decoration:none;word-break:break-word}.contact-list a:hover{text-decoration:underline;text-underline-offset:.2em}.site-foot{margin-top:auto;background:var(--foot-bg);color:var(--foot-text);border-top:3px solid var(--cgt-red)}.site-foot__inner{max-width:var(--max);margin:0 auto;padding:1.5rem clamp(1.25rem,4vw,2rem) 2rem}.site-foot__line{margin:0;font-size:.875rem;line-height:1.5}.site-foot__line strong{color:#fff;font-weight:600}.site-foot__line--sub{margin-top:.5rem;font-size:.8125rem}.site-foot__link{color:var(--foot-text);font-weight:600;text-decoration:underline;text-underline-offset:.2em}.site-foot__link:hover{color:#fff}.main--charte{max-width:min(48rem,100%)}.charte-head{margin-bottom:clamp(1.5rem,3vw,2rem);padding-bottom:clamp(1rem,2vw,1.35rem);border-bottom:1px solid var(--border)}.charte-head__title{margin:0 0 .65rem;font-size:clamp(1.5rem,2.5vw + .75rem,2.1rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--ink)}.charte-head__year{color:var(--cgt-red);font-weight:700}.charte-head__lead{margin:0;max-width:40rem;font-size:clamp(.9rem,.2vw + .85rem,1rem);line-height:1.6;color:var(--ink-muted);text-wrap:balance}.charte-head__lead strong{color:var(--ink);font-weight:600}.charte-head kbd{display:inline-block;padding:.1em .4em;font-family:inherit;font-size:.85em;font-weight:600;color:var(--ink);background:var(--bg-page);border:1px solid var(--border-strong);border-radius:4px;box-shadow:0 1px #0000000f}.charte-doc{background:var(--bg-card);border:1px solid var(--border);padding:clamp(1.25rem,3vw,1.75rem) clamp(1.1rem,3vw,1.65rem);box-shadow:0 1px 2px #0000000a}.charte-doc p{margin:0 0 1.1em;font-size:clamp(.9375rem,.15vw + .9rem,1.0625rem);line-height:1.72;color:var(--ink);text-align:start;hyphens:manual;overflow-wrap:break-word;text-wrap:pretty}.charte-doc p:last-child{margin-bottom:0}.gloss{position:relative;display:inline;vertical-align:baseline;outline:none;cursor:help}.gloss__term{border-bottom:1px dotted var(--cgt-red);text-decoration:none;transition:background-color .15s var(--ease),border-color .15s var(--ease)}@media(hover:hover){.gloss:hover .gloss__term{background-color:#e3061314;border-bottom-color:var(--cgt-red-hover)}}.gloss:focus-visible .gloss__term{background-color:#e306131a;border-bottom-style:solid}.gloss__tip{position:fixed;top:0;left:0;z-index:200;width:min(26rem,calc(100vw - 2rem));box-sizing:border-box;padding:.65rem .85rem;font-size:.8125rem;font-weight:400;line-height:1.55;text-align:left;hyphens:none;color:var(--ink);background:var(--bg-card);border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 6px 24px #0000002e;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .18s var(--ease),visibility .18s}.gloss:hover .gloss__tip,.gloss:focus .gloss__tip,.gloss:focus-within .gloss__tip,.gloss:active .gloss__tip{visibility:visible;opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.gloss__tip{transition:none;transform:none}}a:focus-visible,.skip-link:focus-visible{outline:2px solid var(--cgt-red);outline-offset:2px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}.theme-toggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0;background:transparent;border:1px solid var(--border-strong);color:var(--ink-soft);cursor:pointer;transition:border-color .18s var(--ease),color .18s var(--ease),background-color .18s var(--ease)}.theme-toggle:hover{border-color:var(--cgt-red);color:var(--cgt-red)}.theme-toggle:focus-visible{outline:2px solid var(--cgt-red);outline-offset:2px}.theme-toggle svg{display:block;width:1.1rem;height:1.1rem;pointer-events:none}:root[data-theme=light] .theme-toggle__sun{display:none}:root[data-theme=light] .theme-toggle__moon{display:block}:root[data-theme=dark] .theme-toggle__sun{display:block}:root[data-theme=dark] .theme-toggle__moon{display:none}.theme-toggle__sun,.theme-toggle__moon{display:none}.formations-head{margin-bottom:clamp(1.5rem,3vw,2.25rem);padding-bottom:clamp(1rem,2vw,1.35rem);border-bottom:1px solid var(--border)}.formations-head__title{margin:0 0 .75rem;font-size:clamp(1.5rem,2.5vw + .75rem,2.4rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.formations-head__accent{color:var(--cgt-red)}.formations-head__lead{margin:0;max-width:52rem;font-size:clamp(.9rem,.2vw + .85rem,1.0625rem);line-height:1.6;color:var(--ink-muted)}.formations-tally{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0;margin:1.25rem 0 0;padding:1rem 0 0;border-top:1px solid var(--border)}.formations-tally__item{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:0 1.75rem 0 0;margin:0}.formations-tally__item+.formations-tally__item{padding-left:1.75rem;border-left:1px solid var(--border)}.formations-tally__num{order:-1;font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:700;color:var(--cgt-red);letter-spacing:-.04em;line-height:1;margin:0}.formations-tally__label{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0;text-align:center}.formations__grid{display:grid;gap:1rem}@media(min-width:780px){.formations__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.formation-module{background:var(--bg-card);border:1px solid var(--border);border-top:3px solid var(--cgt-red);padding:1.2rem 1.25rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 1px 2px #0000000a;transition:box-shadow .2s var(--ease),border-color .2s var(--ease)}@media(hover:hover){.formation-module:hover{box-shadow:0 4px 14px #0000000f}}.formation-module__meta{margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cgt-red)}.formation-module__title{margin:0;font-size:1.0625rem;font-weight:700;line-height:1.3;color:var(--ink);letter-spacing:-.02em}.formation-module__subtitle{margin:0;font-size:.875rem;color:var(--ink-muted);line-height:1.6;font-style:italic}.session-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.7rem}.session{display:flex;align-items:flex-start;gap:.6rem}.session__dot{flex-shrink:0;margin-top:.32em;width:.55rem;height:.55rem;border-radius:50%;background:var(--border-strong);border:2px solid var(--border-strong);transition:background .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.session__body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.session__label{font-size:.9rem;font-weight:500;color:var(--ink-muted);line-height:1.35}.session__badge{display:none;font-size:.625rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.2em .55em;border-radius:2px;border:1px solid transparent;width:fit-content}.session__badge:not(:empty){display:inline-block}.session--past .session__dot{background:var(--border);border-color:var(--border)}.session--past .session__label{color:var(--ink-soft);text-decoration:line-through;text-decoration-color:var(--border-strong)}.session--past .session__badge{background:transparent;color:var(--ink-soft);border-color:var(--border)}.session--current .session__dot{background:var(--cgt-red);border-color:var(--cgt-red);box-shadow:0 0 0 3px color-mix(in srgb,var(--cgt-red) 20%,transparent);animation:session-pulse 2s ease-in-out infinite}.session--current .session__label{color:var(--ink);font-weight:600}.session--current .session__badge{background:var(--cgt-red);color:var(--cgt-red-contrast);border-color:var(--cgt-red)}.session--next .session__dot{background:transparent;border-color:var(--cgt-red)}.session--next .session__label{color:var(--ink);font-weight:600}.session--next .session__badge{background:transparent;color:var(--cgt-red);border-color:var(--cgt-red)}.session--future .session__dot{background:transparent;border-color:var(--border-strong)}.session--future .session__label{color:var(--ink-muted)}.session--future .session__badge{background:transparent;color:var(--ink-soft);border-color:var(--border)}@keyframes session-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--cgt-red) 20%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--cgt-red) 8%,transparent)}}@media(prefers-reduced-motion:reduce){.session--current .session__dot{animation:none}}.formations-note{margin:clamp(1.5rem,3vw,2rem) 0 0;font-size:.9rem;color:var(--ink-muted);line-height:1.6;padding:1rem 1.25rem;border:1px solid var(--border);border-left:3px solid var(--cgt-red);background:var(--bg-card)}.formations-note .card__link{word-break:break-word}
