/* Palette ajustee pour le contraste : tous les textes atteignent le
   ratio 4.5:1 exige par le WCAG 2.1 niveau AA sur leur fond reel. */
:root{
  --gt-bg:#070b16;
  --gt-surface:#0d1426;
  --gt-card:#ffffff;
  --gt-muted:#5c6373;
  --gt-text:#0f172a;
  --gt-navy:#09101f;
  --gt-blue:#2a63f2;
  --gt-blue-soft:#e9f0ff;
  --gt-line:#e5e7eb;
  --gt-shadow:0 20px 50px rgba(9,16,31,.12);
  --gt-radius:24px;
  /* Manrope n'est plus chargee : le repli passe directement aux polices
     systeme, identiques a l'oeil et deja presentes sur l'appareil. */
  --gt-font:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--gt-font);
  color:var(--gt-text);
  background:linear-gradient(180deg,#fff 0,#f6f8fc 100%);
  overflow-x:hidden;
}
body.modal-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.container{max-width:1180px}
.text-primary{color:var(--gt-blue)!important}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border-radius:14px;
  padding:.95rem 1.25rem;
  font-weight:700;
  text-align:center;
  line-height:1.1;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
  will-change:transform;
}
.btn:hover{transform:scale(1.03)}
.btn-primary{
  background:var(--gt-blue);
  border-color:var(--gt-blue);
  box-shadow:0 10px 25px rgba(47,107,255,.18);
}
.btn-primary:hover{
  background:var(--gt-blue);
  border-color:var(--gt-blue);
  box-shadow:0 14px 30px rgba(47,107,255,.24);
}
.btn-outline-secondary{
  border-color:rgba(255,255,255,.18);
  color:#fff;
  background:transparent;
}
.btn-outline-secondary:hover{
  background:transparent;
  border-color:rgba(255,255,255,.18);
  color:#fff;
}
.btn-outline-modern{
  border:1px solid var(--gt-line);
  color:var(--gt-text);
  background:#fff;
}
.btn-outline-modern:hover{
  border-color:var(--gt-blue);
  color:var(--gt-blue);
}

.gt-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(7,11,22,.88);
  backdrop-filter:blur(16px);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.gt-offer-banner{
  background:var(--gt-blue);
  border-bottom:1px solid rgba(255,255,255,.1);
  font-size:.92rem;
}
.gt-offer-banner .container{padding:.65rem 1rem;flex-wrap:wrap}
.gt-offer-banner p,
.gt-banner-link{color:#fff}
.gt-banner-link{font-weight:700;white-space:nowrap}
.gt-topbar{
  display:flex;
  align-items:center;
  gap:1rem;
  min-height:78px;
  max-width:1280px;
  padding:0 14px;
  position:relative
}
.gt-brand{display:flex;align-items:center;gap:.85rem;color:#fff}
.gt-brand-mark{
  width:52px;
  height:52px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#111827,#0b1220);
  border:1px solid rgba(255,255,255,.08);
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:.08em;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.gt-brand-text strong{display:block;font-size:1.05rem}
.gt-brand-text small{display:block;color:#a8b3c7;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}
.gt-nav{margin-left:auto;display:flex;gap:1.35rem;align-items:center}
/* Aucun libelle de menu ne doit se couper en deux lignes : l'espacement
   se resserre progressivement plutot que de casser les mots. */
.gt-nav a{color:#f5f7ff;font-weight:500;font-size:.96rem;white-space:nowrap;display:inline-flex;align-items:center;min-height:28px}
@media (min-width:1200px) and (max-width:1479px){.gt-nav{gap:1.1rem}.gt-nav a{font-size:.92rem}}
@media (min-width:1100px) and (max-width:1199px){.gt-nav{gap:.85rem}.gt-nav a{font-size:.88rem}}
.gt-nav a:hover{color:#fff}
.gt-nav-cta{
  margin-left:1rem;
  white-space:nowrap;
  min-width:157px;
  min-height:44px;
  padding:.8rem 1.2rem;
  border-radius:12px;
  font-size:.92rem;
  box-shadow:none
}
.gt-nav-toggle{display:none;border:0;background:transparent;color:#fff;font-size:1.9rem}
.gt-header.is-home{
  background:#050914;
  border-bottom:0;
  backdrop-filter:none;
}
.gt-brand.is-home{gap:0}
.gt-brand-mark.is-home{
  width:auto;
  height:auto;
  border:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:.88;
}
.gt-brand-mark.is-home span{font-size:3.2rem;font-weight:800;letter-spacing:-.06em;line-height:.82}
.gt-brand-mark.is-home small{font-size:1.25rem;letter-spacing:-.02em;color:var(--gt-blue);font-weight:800;line-height:1}

.gt-hero{
  background:radial-gradient(circle at 20% 10%, rgba(47,107,255,.26), transparent 30%), linear-gradient(180deg,#070b16 0,#0a1020 100%);
  color:#fff;
  padding:76px 0 42px;
}
.gt-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:2.5rem;align-items:center}
.gt-hero-grid.is-home{grid-template-columns:minmax(0,1.02fr) minmax(460px,.98fr);gap:3rem}
.gt-kicker{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.5rem .9rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:1.2rem;
}
.gt-hero h1{
  font-size:clamp(2.7rem,6vw,5.2rem);
  line-height:.96;
  margin:0 0 1rem;
  max-width:12ch;
}
.gt-hero h1 .accent{color:#7fb0ff}
.gt-hero p{color:#c8d2e6;font-size:1.08rem;line-height:1.8;max-width:60ch}
.gt-badges{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0 1.75rem}
.gt-badges span{
  padding:.55rem .85rem;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
  font-size:.92rem;
}
.gt-badges-check span{display:inline-flex;align-items:center;gap:.45rem;background:transparent;border:0;padding:0;color:#dbe5f6}
.gt-badges-check i{color:#4f8cff}
.gt-hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.25rem}
.gt-hero-note{margin-top:1rem;color:#c8d2e6}
.gt-hero-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:2rem;
}
.gt-hero-metric{
  padding:1rem 1.1rem;
  border-radius:18px;
  background:rgba(9,16,31,.72);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 16px 36px rgba(0,0,0,.18);
}
.gt-hero-metric strong{display:block;font-size:.96rem;color:#fff}
.gt-hero-metric span{display:block;margin-top:.2rem;font-size:.88rem;color:#b8c5dd}

.gt-hero-card{
  position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.98),#eef3ff);
  color:var(--gt-text);
  border-radius:28px;
  padding:1.15rem;
  box-shadow:var(--gt-shadow);
}
.gt-hero-visual-card{
  background:radial-gradient(circle at 50% 100%, rgba(47,107,255,.35), transparent 45%);
  padding:0;
  box-shadow:none;
}
.gt-hero-visual{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center}
.gt-hero-visual::before{
  content:"";
  position:absolute;
  inset:12% 10% 6%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(47,107,255,.32) 0, rgba(47,107,255,.12) 40%, transparent 72%);
  filter:blur(24px);
}
.gt-hero-visual-image{
  position:relative;
  z-index:1;
  width:min(100%,700px);
  object-fit:contain;
  filter:drop-shadow(0 26px 60px rgba(0,0,0,.35));
}
.gt-hero-floating{
  position:absolute;
  z-index:2;
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  min-width:200px;
  padding:1rem 1.1rem;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  color:var(--gt-text);
  box-shadow:0 18px 42px rgba(8,15,31,.2);
}
.gt-hero-floating i{
  width:38px;
  height:38px;
  border-radius:999px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#edf6ee;
  color:#16a34a;
}
.gt-hero-floating strong{display:block;font-size:.95rem}
.gt-hero-floating span{display:block;font-size:.88rem;color:#5b6474}
.gt-hero-floating-top{top:3%;right:10%}
.gt-hero-floating-left{left:0;bottom:17%}
.gt-hero-floating-left i{background:#edf4ff;color:var(--gt-blue)}
.gt-hero-floating-right{right:1%;bottom:28%}
.gt-hero-floating-right i{background:#eef4ff;color:var(--gt-blue)}
.gt-device{
  border-radius:24px;
  background:#0b1220;
  padding:1rem;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.gt-device-inner{
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  min-height:420px;
  display:grid;
  place-items:center;
}
.gt-device-inner .mock{padding:2rem;text-align:left}
.gt-device-inner h3{margin:0 0 .65rem;font-size:1.6rem}
.gt-device-inner p{color:#5b6474;line-height:1.7}
.gt-device-inner .mock .pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.4rem .75rem;
  border-radius:999px;
  background:var(--gt-blue-soft);
  color:var(--gt-blue);
  font-size:.86rem;
  font-weight:700;
  margin-bottom:1rem;
}
.gt-blog-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(220px,.6fr)) auto;
  gap:1rem;
  align-items:end;
  margin-bottom:1.5rem;
  padding:1.25rem;
  border-radius:24px;
  background:#fff;
  border:1px solid #e7ecf5;
  box-shadow:0 18px 44px rgba(15,23,42,.06);
}
.gt-blog-field label{
  display:block;
  margin-bottom:.45rem;
  font-size:.88rem;
  font-weight:700;
  color:#334155;
}
.gt-blog-field input,
.gt-blog-field select{
  width:100%;
  min-height:52px;
  padding:.85rem 1rem;
  border:1px solid #dbe3f0;
  border-radius:14px;
  background:#fbfdff;
  color:var(--gt-text);
}
.gt-blog-field input:focus,
.gt-blog-field select:focus{
  outline:0;
  border-color:#95b5ff;
  box-shadow:0 0 0 4px rgba(47,107,255,.12);
}
.gt-blog-actions{display:flex}
.gt-blog-actions .btn{min-width:140px}
.gt-blog-status{
  min-height:1.5rem;
  margin:0 0 1rem;
  color:#526079;
  font-size:.95rem;
}
.gt-blog-card{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  height:100%;
}
.gt-blog-card h3{margin:0;font-size:1.35rem;line-height:1.25}
.gt-blog-card p{margin:0}
.gt-blog-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.gt-blog-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-top:auto;
  font-weight:800;
  color:var(--gt-blue);
}
.gt-blog-link:hover{color:#1e4fd6}
.gt-blog-empty{
  text-align:center;
  padding:2rem;
}
.gt-blog-panel h2{
  margin:0 0 .8rem;
  font-size:1.85rem;
}
.gt-blog-panel p:last-child{margin:0;color:#526079;line-height:1.8}
.gt-article-hero{
  display:grid;
  gap:1.5rem;
}
.gt-article-header{max-width:860px}
.gt-article-header h1{
  margin:.35rem 0 1rem;
  font-size:clamp(2.4rem,4.8vw,4.4rem);
  line-height:1.02;
}
.gt-article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:1rem 1.5rem;
  color:#d8e2f5;
  font-size:.95rem;
}
.gt-article-meta span{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.gt-article-layout{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(280px,.75fr);
  gap:1.5rem;
  align-items:start;
}
.gt-article-content{
  padding:2rem;
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 44px rgba(15,23,42,.06);
  border:1px solid #e7ecf5;
}
.gt-article-content p{
  margin:0 0 1.2rem;
  font-size:1.05rem;
  line-height:1.95;
  color:#253247;
}
.gt-article-sidebar{
  display:grid;
  gap:1rem;
}
.gt-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1.25rem}
.gt-mini-card{
  padding:1rem;
  border-radius:16px;
  background:#f7f9ff;
  border:1px solid #e6ebf8;
}
.gt-mini-card strong{display:block;margin-bottom:.2rem}
.gt-mini-card span{display:block;color:#5b6474;font-size:.92rem;line-height:1.5}

.gt-hero.is-inner{
  position:relative;
  overflow:hidden;
  padding:58px 0 72px;
  background:
    radial-gradient(circle at 18% 22%, rgba(47,107,255,.16), transparent 26%),
    radial-gradient(circle at 84% 50%, rgba(47,107,255,.14), transparent 22%),
    linear-gradient(180deg,#060b17 0%,#09101f 100%);
}
.gt-hero-grid.is-inner{
  grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr);
  gap:4rem;
  align-items:center;
}
.gt-inner-hero-copy{max-width:620px}
.gt-inner-breadcrumb{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-bottom:30px;
  color:#9ba8bf;
  font-size:.95rem;
  font-weight:500;
}
.gt-inner-breadcrumb a{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  color:#cfd7e8;
}
.gt-inner-breadcrumb > i{
  color:#6e7a91;
  font-size:.82rem;
}
.gt-kicker-inner{
  min-height:38px;
  padding:.45rem .95rem;
  margin-bottom:28px;
  border:1px solid rgba(47,107,255,.34);
  background:rgba(13,24,46,.46);
  color:#3d79ff;
  font-size:.85rem;
  letter-spacing:0;
  text-transform:none;
}
.gt-hero.is-inner h1{
  max-width:11ch;
  margin:0 0 26px;
  font-size:clamp(3.6rem,6vw,5.35rem);
  line-height:.98;
  letter-spacing:-.06em;
  color:#fff;
}
.gt-hero.is-inner p{
  max-width:31ch;
  margin:0;
  color:#c8d2e4;
  font-size:1.18rem;
  line-height:1.7;
}
.gt-inner-highlights{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  margin:38px 0 0;
}
.gt-inner-highlights span{
  display:inline-flex;
  align-items:center;
  gap:.8rem;
  padding:0 28px 0 0;
  margin-right:28px;
  min-height:34px;
  background:transparent;
  border:0;
  border-right:1px solid rgba(255,255,255,.14);
  color:#eef3ff;
  font-size:1rem;
  font-weight:500;
}
.gt-inner-highlights span:last-child{
  margin-right:0;
  padding-right:0;
  border-right:0;
}
.gt-inner-highlights i{
  color:#2a63f2;
  font-size:1.55rem;
}
.gt-hero-actions.is-inner{display:none}
.gt-hero-card-inner{
  background:transparent;
  border-radius:0;
  padding:0;
  box-shadow:none;
}
.gt-inner-hero-visual{
  position:relative;
  min-height:560px;
}
.gt-inner-hero-image{
  display:block;
  width:100%;
  max-width:720px;
  margin-left:auto;
  object-fit:contain;
  filter:drop-shadow(0 34px 74px rgba(0,0,0,.34));
}
.gt-inner-floating{
  position:absolute;
  z-index:2;
  display:flex;
  align-items:flex-start;
  gap:.9rem;
  min-width:230px;
  padding:1.15rem 1.25rem;
  border-radius:20px;
  background:rgba(255,255,255,.97);
  box-shadow:0 22px 60px rgba(7,12,24,.28);
}
.gt-inner-floating strong{
  display:block;
  color:#1c2638;
  font-size:1.04rem;
  line-height:1.2;
}
.gt-inner-floating span{
  display:block;
  margin-top:.25rem;
  color:#454e60;
  font-size:.92rem;
}
.gt-inner-floating-icon{
  width:42px;
  height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-size:1.35rem;
}
.gt-inner-floating-icon.is-blue{
  background:#eef4ff;
  color:#2a63f2;
}
.gt-inner-floating-icon.is-green{
  background:#edf8ef;
  color:#2aa75a;
}
.gt-inner-floating-top{top:26px;right:-6px}
.gt-inner-floating-left{left:34px;top:258px}
.gt-inner-floating-bottom{right:-18px;bottom:72px}

.gt-section{padding:82px 0}
.gt-section-alt{background:#f6f8fc}
.gt-section-dark{background:var(--gt-navy);color:#fff}
.gt-section-title{max-width:760px;margin:0 auto 2rem;text-align:center}
.gt-section-title h2{font-size:clamp(1.8rem,3.2vw,3rem);margin:0 0 .75rem}
.gt-section-title p{color:var(--gt-muted);line-height:1.8;margin:0}
.gt-section-dark .gt-section-title p{color:#c8d2e6}

.gt-grid{display:grid;gap:1rem}
.gt-grid.services{grid-template-columns:repeat(4,minmax(0,1fr))}
.gt-grid.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.gt-grid.projects{grid-template-columns:repeat(3,minmax(0,1fr))}
.gt-grid.articles{grid-template-columns:repeat(3,minmax(0,1fr))}
.gt-grid.team{grid-template-columns:repeat(4,minmax(0,1fr))}
.gt-grid.offers{grid-template-columns:repeat(3,minmax(0,1fr))}

.gt-card{
  background:#fff;
  border:1px solid var(--gt-line);
  border-radius:24px;
  padding:1.4rem;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.gt-card h3,.gt-card h4{margin-top:0}
.gt-card p{color:var(--gt-muted);line-height:1.7}
.gt-card .price{font-size:1.45rem;font-weight:800;margin:.75rem 0 0}
.gt-card .icon{
  width:52px;height:52px;border-radius:16px;
  display:grid;place-items:center;
  background:var(--gt-blue-soft);
  color:var(--gt-blue);
  font-size:1.35rem;
  margin-bottom:1rem;
}
.gt-card.featured{
  border:2px solid var(--gt-blue);
  box-shadow:0 18px 40px rgba(47,107,255,.12);
}
.gt-card.featured .badge{
  display:inline-flex;
  padding:.35rem .65rem;
  border-radius:999px;
  background:var(--gt-blue-soft);
  color:var(--gt-blue);
  font-size:.8rem;
  font-weight:800;
  margin-bottom:1rem;
}
.gt-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.7rem;
}
.gt-list li{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  color:var(--gt-text);
}
.gt-list i{color:var(--gt-blue);margin-top:.1rem}

.gt-promo{
  background:linear-gradient(180deg,#0f172a,#0b1220);
  color:#fff;
  border-radius:30px;
  padding:2rem;
  box-shadow:var(--gt-shadow);
}
.gt-promo p{color:#d7def0}
.gt-promo .btn-outline-modern{border-color:rgba(255,255,255,.16);color:#fff;background:transparent}
.gt-promo .btn-outline-modern:hover{background:#fff;color:var(--gt-navy)}

.gt-comparison{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.gt-comparison .gt-card{background:#fff}

.gt-faq details{
  background:#fff;
  border:1px solid var(--gt-line);
  border-radius:18px;
  padding:1rem 1.1rem;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
}
.gt-faq summary{cursor:pointer;font-weight:700}
.gt-faq p{margin:.85rem 0 0;color:var(--gt-muted);line-height:1.7}
.gt-faq details[open]{border-color:#d8e2ff;box-shadow:0 16px 36px rgba(47,107,255,.08)}

.gt-contact-grid{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:1.25rem;
  align-items:start;
}
.gt-contact-card{
  background:#fff;
  border:1px solid var(--gt-line);
  border-radius:24px;
  padding:1.5rem;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
}
.gt-contact-info{
  display:grid;
  gap:1rem;
}
.gt-contact-chip{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  padding:1rem 1.1rem;
  border-radius:20px;
  background:#f8fafc;
  border:1px solid #eef2f7;
}
.gt-contact-chip i{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  background:var(--gt-blue-soft);
  color:var(--gt-blue);
  font-size:1.1rem;
  flex:0 0 auto;
}
.gt-form .row{--bs-gutter-x:1rem;--bs-gutter-y:1rem}
.gt-form label{font-weight:700;margin-bottom:.45rem}
.gt-form .form-control,.gt-form .form-select{
  border-radius:14px;
  border:1px solid var(--gt-line);
  padding:.85rem 1rem;
  box-shadow:none;
}
.gt-form .form-control:focus,.gt-form .form-select:focus{
  border-color:var(--gt-blue);
  box-shadow:0 0 0 .2rem rgba(47,107,255,.12);
}

.gt-footer{
  width:100%;
  padding:0;
  background:linear-gradient(180deg,#f6f8fc 0%,#edf2fa 100%);
  color:#fff;
}
.gt-footer .container{
  max-width:none;
  width:100%;
  padding:0;
  margin:0;
}
.gt-footer-shell{
  width:100%;
  border-radius:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 14%, rgba(48,95,255,.12), transparent 26%),
    radial-gradient(circle at 82% 78%, rgba(48,95,255,.1), transparent 24%),
    linear-gradient(180deg,#07101f 0%,#0a1324 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 60px rgba(6,14,30,.14);
}
.gt-footer a{text-decoration:none}
.gt-footer-top,
.gt-footer-links,
.gt-footer-stats,
.gt-footer-bottom{
  padding-left:clamp(28px,4.5vw,96px);
  padding-right:clamp(28px,4.5vw,96px);
}
.gt-footer-top{
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(280px,.78fr) minmax(320px,.94fr);
  gap:38px;
  align-items:center;
  padding-top:44px;
  padding-bottom:38px;
}
.gt-footer-top-brand,
.gt-footer-top-pitch{
  position:relative;
}
.gt-footer-top-brand::after,
.gt-footer-top-pitch::after{
  content:"";
  position:absolute;
  top:0;
  right:-21px;
  width:1px;
  height:100%;
  background:rgba(255,255,255,.12);
}
.gt-footer-wordmark{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  font-weight:800;
  letter-spacing:-.04em;
}
.gt-footer-wordmark-gt{
  color:#fff;
  font-size:1.8rem;
  line-height:1;
}
.gt-footer-wordmark-digital{
  color:#3768ff;
  font-size:1.58rem;
  line-height:1;
}
.gt-footer-top h2{
  margin:18px 0 12px;
  font-size:clamp(1.7rem,2.6vw,2.45rem);
  line-height:1.03;
  letter-spacing:-.05em;
  color:#f8fbff;
}
.gt-footer-top h2 span{color:#7da2ff}
.gt-footer-top p{
  margin:0;
  color:#cbd5e7;
  font-size:.92rem;
  line-height:1.55;
}
.gt-footer-icon-box{
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  border:1px solid rgba(120,146,210,.28);
  background:rgba(12,19,36,.6);
  color:#4774ff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.gt-footer-icon-box i{font-size:1.2rem}
.gt-footer-top-pitch h3{
  margin:18px 0 12px;
  color:#f8fbff;
  font-size:1.05rem;
  line-height:1.15;
  letter-spacing:-.03em;
}
.gt-footer-top-pitch p strong{color:#4774ff}
.gt-footer-top-actions{
  display:grid;
  gap:14px;
}
.gt-footer-cta{
  min-height:54px;
  padding:0 20px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-size:.92rem;
  font-weight:700;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.gt-footer-cta:hover{transform:translateY(-1px)}
.gt-footer-cta.is-primary{
  color:#fff;
  background:linear-gradient(90deg,#3f73ff 0%,#2f63ff 100%);
  box-shadow:0 14px 34px rgba(47,99,255,.24);
}
.gt-footer-cta.is-secondary{
  color:#f1f5ff;
  background:rgba(10,18,34,.56);
  border:1px solid rgba(255,255,255,.34);
}
.gt-footer-cta i{font-size:1.1rem}
.gt-footer-links{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:28px;
  padding-top:34px;
  padding-bottom:36px;
  border-top:1px solid rgba(255,255,255,.12);
}
.gt-footer-column h4{
  margin:0 0 18px;
  color:#6f96ff;
  font-size:.92rem;
  font-weight:700;
  letter-spacing:-.02em;
}
.gt-footer-column h4::after{
  content:"";
  display:block;
  width:28px;
  height:3px;
  margin-top:10px;
  border-radius:999px;
  background:#4774ff;
}
.gt-footer-column ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:11px;
}
.gt-footer-column li,
.gt-footer-column a{
  color:#e5ebf8;
  font-size:.92rem;
  line-height:1.25;
}
.gt-footer-column a:hover{color:#fff}
.gt-footer-socials{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding-top:20px;
}
.gt-footer-socials a{
  width:44px;
  height:44px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.06);
  color:#fff;
  font-size:1.15rem;
}
.gt-footer-socials a:hover{
  background:rgba(255,255,255,.12);
}
.gt-footer-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  padding-top:20px;
  padding-bottom:20px;
  border-top:1px solid rgba(255,255,255,.12);
}
.gt-footer-stat{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:82px;
  padding:0 18px;
}
.gt-footer-stat + .gt-footer-stat{
  border-left:1px solid rgba(255,255,255,.12);
}
.gt-footer-stat-icon{
  width:60px;
  height:60px;
  border-radius:999px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:radial-gradient(circle at 30% 20%, rgba(60,112,255,.22), rgba(12,23,45,.88));
  border:1px solid rgba(71,116,255,.14);
  color:#4774ff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.gt-footer-stat-icon i{font-size:1.35rem}
.gt-footer-stat strong{
  display:block;
  margin-bottom:4px;
  color:#fff;
  font-size:1.25rem;
  line-height:1;
}
.gt-footer-stat span{
  display:block;
  color:#dce5f4;
  font-size:.84rem;
  line-height:1.35;
}
.gt-footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding-top:24px;
  padding-bottom:28px;
  border-top:1px solid rgba(255,255,255,.12);
}
.gt-footer-bottom-left p{
  margin:0 0 8px;
  color:#d8e0ef;
  font-size:.88rem;
}
.gt-footer-bottom-left{
  text-align:left;
}
.gt-footer-bottom-left p:last-child{margin-bottom:0}
.gt-footer-mini-brand{
  display:grid;
  justify-items:center;
  gap:6px;
  min-width:170px;
  padding-left:28px;
  border-left:1px solid rgba(255,255,255,.12);
  color:#d8e0ef;
}
.gt-footer-mini-brand img{
  width:118px;
  height:auto;
  display:block;
}
.gt-footer-mini-brand p{
  margin:0;
  font-size:.84rem;
  line-height:1.35;
  text-align:center;
}
.gt-footer-mini-brand:hover{color:#fff}

.gt-modal{
  position:fixed;
  inset:0;
  background:rgba(7,11,22,.62);
  display:none;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  z-index:1200;
}
.gt-modal.is-visible{display:flex}
.gt-modal-dialog{
  position:relative;
  width:min(640px,100%);
  border-radius:28px;
  background:#fff;
  padding:2rem;
  box-shadow:0 30px 90px rgba(0,0,0,.35);
}
.gt-modal-dialog h2{margin-top:.2rem}
.gt-modal-close{
  position:absolute;
  top:1rem;
  right:1rem;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:#f3f5fb;
  color:var(--gt-text);
}
.gt-modal-close:hover{background:#e8ecf6}

.gt-section .text-center{max-width:1000px;margin:0 auto}
.gt-lead{
  font-size:1.1rem;
  color:var(--gt-muted);
  line-height:1.9;
}
.gt-tag{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.35rem .7rem;
  border-radius:999px;
  background:var(--gt-blue-soft);
  color:var(--gt-blue);
  font-size:.82rem;
  font-weight:800;
}
.gt-muted{color:var(--gt-muted)}
.gt-divider{
  width:96px;
  height:3px;
  background:var(--gt-blue);
  border-radius:999px;
  margin:1.15rem auto 0;
}

.page-home{background:#f7f8fc}
.page-home .gt-header{background:#050914;border-bottom:0;backdrop-filter:none}
.gt-home-shell{max-width:1280px}
.gt-home-shell,
.gt-offers-shell{width:min(100%,1280px)}
.gt-home-hero{
  position:relative;
  overflow:hidden;
  padding:40px 0 30px;
  background:
    radial-gradient(circle at 84% 40%, rgba(47,107,255,.33), transparent 14%),
    radial-gradient(circle at 10% 5%, rgba(47,107,255,.08), transparent 20%),
    linear-gradient(180deg,#050914 0%,#081124 100%);
}
.gt-home-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:rgba(255,255,255,.04);
}
.gt-home-hero .gt-home-shell{
  display:grid;
  grid-template-columns:520px 1fr;
  gap:34px;
  align-items:center;
}
.gt-home-hero-copy{padding-top:18px;color:#fff}
.gt-home-pill{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  color:#fff;
  font-size:.77rem;
  font-weight:700;
  letter-spacing:.03em;
}
.gt-home-pill span{
  width:9px;
  height:9px;
  border-radius:999px;
  background:#4471ff;
}
.gt-home-hero-copy h1{
  margin:18px 0 16px;
  color:#fff;
  font-size:4.1rem;
  line-height:1.02;
  letter-spacing:-.05em;
  font-weight:700;
}
.gt-home-hero-copy h1 span{color:#4a76ff}
.gt-home-subtitle{
  margin:0;
  color:#d6ddef;
  font-size:1.03rem;
  line-height:1.62;
}
.gt-home-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  /* L'espace au-dessus des boutons venait de la ligne de "checks", retiree
     depuis : sans cette marge le sous-titre colle aux boutons. */
  margin-top:28px;
}
.gt-home-actions .btn{
  min-height:54px;
  padding:0 22px;
  border-radius:14px;
  font-size:1rem;
}
.gt-home-actions .btn-outline-secondary{
  border-color:rgba(255,255,255,.18);
  background:transparent;
}
.gt-home-proof-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:32px;
}
.gt-home-proof-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  min-height:76px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:rgba(9,17,33,.72);
}
.gt-home-proof-icon{
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:#2f5fe0;
}
.gt-google-icon{font-size:1.75rem;font-weight:800;color:#fbbc05}
.gt-home-proof-card strong{
  display:block;
  color:#fff;
  font-size:.89rem;
  font-weight:700;
  overflow-wrap:anywhere;
}
.gt-home-proof-card span{
  display:block;
  color:#9aa7c3;
  font-size:.78rem;
  overflow-wrap:anywhere;
}
.gt-home-hero-visual{
  position:relative;
  min-height:420px;
}
.gt-home-hero-image{
  position:absolute;
  inset:18px -24px auto auto;
  width:760px;
  max-width:none;
  filter:drop-shadow(0 24px 40px rgba(0,0,0,.28));
}
.gt-home-float{
  position:absolute;
  z-index:2;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:74px;
  padding:14px 18px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 48px rgba(6,14,30,.18);
}
.gt-home-float strong{
  display:block;
  color:#1a2132;
  font-size:.95rem;
  font-weight:700;
}
.gt-home-float span{
  display:block;
  color:#737f95;
  font-size:.82rem;
}
.gt-home-float-icon{
  width:38px;
  height:38px;
  border-radius:999px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.gt-home-float-icon.is-green{background:#ebf8ef;color:#2aa94a}
.gt-home-float-icon.is-blue{background:#eef3ff;color:#2f5fe0}
.gt-home-float-top{top:24px;right:74px;width:184px}
.gt-home-float-bottom-left{left:84px;bottom:18px;width:206px}
.gt-home-float-right{right:30px;bottom:72px;width:180px}
.gt-home-trust{
  background:#fff;
  border-bottom:1px solid #edf1f7;
}
.gt-home-trust .gt-home-shell{padding:18px 0 22px}
.gt-home-trust p{
  margin:0 0 18px;
  text-align:center;
  color:#6f7a91;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.08em;
}
.gt-home-trust-carousel{
  position:relative;
  overflow:hidden;
}
.gt-home-trust-track{
  display:flex;
  align-items:center;
  gap:34px;
  width:max-content;
  animation:gt-partners-marquee 44s linear infinite;
  will-change:transform;
}
/* On met en pause au survol et au focus clavier, pour laisser le temps de
   lire un nom ou de cliquer dessus. */
.gt-home-trust-carousel:hover .gt-home-trust-track,
.gt-home-trust-carousel:focus-within .gt-home-trust-track{
  animation-play-state:paused;
}
@media (prefers-reduced-motion: reduce){
  .gt-home-trust-track{animation:none}
  /* Sans defilement, la liste doit rester atteignable a la main. */
  .gt-home-trust-carousel{overflow-x:auto}
}
.gt-home-trust-item{
  flex:0 0 auto;
  width:clamp(136px,14vw,172px);
  min-height:82px;
  padding:8px 0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.gt-home-trust-item[aria-disabled="true"]{cursor:default}
.gt-home-trust-media{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gt-home-trust-media img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
}
.gt-home-trust-text{
  color:#2f3545;
  font-size:1.8rem;
  font-weight:600;
  letter-spacing:.01em;
  line-height:1.08;
  padding:4px 0;
}
.gt-home-trust-text span{
  display:block;
  margin-top:6px;
  color:#6c7689;
  /* .55rem faisait 8,8 px : illisible. Plancher a 12 px. */
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1.25;
}

@keyframes gt-partners-marquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-50% - 17px),0,0)}
}
.gt-home-section{padding:38px 0}
.gt-home-section-soft{
  background:
    radial-gradient(circle at 50% 0%, rgba(67,114,255,.08), transparent 34%),
    linear-gradient(180deg,#fbfcff 0%,#f5f8fe 100%);
}
.gt-home-heading{
  margin-bottom:24px;
  text-align:center;
}
.gt-home-heading p{
  margin:0 0 6px;
  color:#2f5fe0;
  /* .74rem faisait 11,8 px : on passe le plancher de lisibilite. */
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.06em;
}
.gt-home-heading h2{
  margin:0;
  color:#131b2a;
  font-size:2.05rem;
  font-weight:700;
  letter-spacing:-.03em;
}
.gt-home-services-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
}
.gt-home-service-card{
  min-height:166px;
  padding:20px 18px 18px;
  border:1px solid #e8edf6;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 34px rgba(15,23,42,.035);
}
.gt-home-service-card .icon{
  width:48px;
  height:48px;
  margin-bottom:14px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#2f5fe0;
  background:#eff4ff;
  font-size:1.26rem;
}
.gt-home-service-card h3{
  margin:0 0 8px;
  color:#131b2a;
  font-size:1rem;
  font-weight:700;
  line-height:1.25;
}
.gt-home-service-card p{
  margin:0;
  color:#70798c;
  font-size:.79rem;
  line-height:1.48;
}
.gt-home-link-row{
  margin-top:16px;
  text-align:center;
}
.gt-home-link-row a{
  color:#2f5fe0;
  font-size:.87rem;
  font-weight:700;
}
.gt-home-offers-box{
  padding:24px 18px 18px;
  border:1px solid #e8edf6;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 44px rgba(15,23,42,.04);
}
.gt-home-pricing-switch{
  display:flex;
  justify-content:center;
  gap:8px;
  margin:-4px 0 20px;
}
.gt-home-pricing-switch span{
  height:28px;
  padding:0 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  color:#7d8799;
  font-size:.78rem;
  background:#f3f6fc;
}
.gt-home-pricing-switch .is-active{background:#edf3ff;color:#2f5fe0;font-weight:700}
.gt-home-pricing-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
}
.gt-home-pricing-card{
  position:relative;
  min-height:404px;
  padding:18px 16px 16px;
  border:1px solid #e8edf6;
  border-radius:18px;
  background:#fff;
}
.gt-home-pricing-card.is-featured{
  border:2px solid #2f5fe0;
  box-shadow:0 14px 38px rgba(67,114,255,.12);
}
.gt-home-pricing-card .badge{
  position:absolute;
  top:10px;
  left:12px;
  height:22px;
  padding:0 9px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  background:#2f5fe0;
  color:#fff;
  font-size:.68rem;
  font-weight:700;
}
.gt-home-pricing-card h3{
  margin:0;
  text-align:center;
  color:#121a2a;
  font-size:1.55rem;
  font-weight:700;
}
.gt-home-pricing-card small{
  display:block;
  margin:3px 0 16px;
  text-align:center;
  color:#8b95a7;
  font-size:.74rem;
}
.gt-home-pricing-card .price{
  margin-bottom:16px;
  text-align:center;
  color:#111827;
  font-size:2.25rem;
  font-weight:800;
  letter-spacing:-.04em;
}
.gt-home-pricing-card .price span{
  color:#7d8698;
  font-size:.88rem;
  font-weight:600;
}
.gt-home-pricing-card .price-quote{font-size:1.9rem}
.gt-home-pricing-card ul{
  list-style:none;
  margin:0 0 16px;
  padding:0;
  display:grid;
  gap:7px;
}
.gt-home-pricing-card li{
  position:relative;
  padding-left:15px;
  color:#667084;
  font-size:.78rem;
  line-height:1.35;
}
.gt-home-pricing-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#2f5fe0;
  font-weight:700;
}
.gt-home-pricing-card a{
  height:42px;
  border:1px solid #d9e2f2;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#2f5fe0;
  font-size:.82rem;
  font-weight:700;
}
.gt-home-pricing-card.is-featured a{
  background:#2f5fe0;
  border-color:#2f5fe0;
  color:#fff;
}
.gt-home-pricing-note{
  margin:16px 0 0;
  text-align:center;
  color:#7e8799;
  font-size:.82rem;
}
.gt-home-pricing-note p{
  margin:0;
}
.gt-home-pricing-note-details{
  margin-top:10px;
}
.gt-home-pricing-note-details summary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  color:#2f5fe0;
  font-weight:700;
  list-style:none;
}
.gt-home-pricing-note-details summary::-webkit-details-marker{
  display:none;
}
.gt-home-pricing-note-details summary::before{
  content:"i";
  width:18px;
  height:18px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid rgba(67,114,255,.28);
  background:#eef4ff;
  font-size:.72rem;
  font-weight:800;
}
.gt-home-pricing-note-details p{
  margin-top:10px;
  color:#7e8799;
}
.gt-home-stats-bar{
  background:linear-gradient(180deg,#06101f 0%,#050914 100%);
}
.gt-home-stats-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:20px;
  padding:18px 0;
}
.gt-home-stats-grid div{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:2px 12px;
  align-items:center;
  color:#fff;
  min-width:0;
}
.gt-home-stats-grid i{
  grid-row:1 / span 2;
  color:#2f5fe0;
  font-size:1.3rem;
}
.gt-home-stats-grid strong{
  font-size:1.9rem;
  line-height:1;
  font-weight:700;
  letter-spacing:-.03em;
}
.gt-home-stats-grid span{
  color:#d2d9e7;
  font-size:.86rem;
}
.gt-home-team-section{
  background:
    radial-gradient(circle at 100% 40%, rgba(67,114,255,.08), transparent 24%),
    linear-gradient(180deg,#fbfcff 0%,#f5f8fe 100%);
}
.gt-home-team-layout{
  display:grid;
  /* Colonne de gauche elargie : a 266px le texte s'etirait sur toute la
     hauteur et laissait un grand vide sous les cartes. */
  grid-template-columns:minmax(300px,360px) 1fr;
  gap:34px;
  align-items:start;
}
.gt-home-team-copy p:first-child{
  margin:0 0 8px;
  color:#2f5fe0;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.06em;
}
.gt-home-team-copy h2{
  margin:0 0 14px;
  color:#111827;
  font-size:2.15rem;
  line-height:1.1;
  font-weight:700;
  letter-spacing:-.03em;
}
.gt-home-team-text p{
  margin:0;
  color:#697486;
  font-size:.92rem;
  line-height:1.6;
}
.gt-home-team-text p + p{margin-top:4px;margin-bottom:20px}
.gt-home-team-copy .btn{
  min-height:42px;
  padding:0 18px;
  border-radius:12px;
  font-size:.82rem;
}
.gt-home-team-cards{
  display:grid;
  /* 2x2 plutot qu'une seule ligne de 4 : les deux colonnes de la section
     ont alors des hauteurs comparables, sans zone vide. */
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.gt-home-team-card{
  overflow:hidden;
  border:1px solid #e8edf6;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 34px rgba(15,23,42,.04);
  min-width:0;
}
.gt-home-team-photo{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  height:176px;
  padding:18px;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.12), transparent 24%),
    linear-gradient(135deg,#44536b,#1f293b);
}
.gt-home-team-photo.is-design{
  background:
    radial-gradient(circle at 26% 20%, rgba(255,255,255,.16), transparent 24%),
    linear-gradient(135deg,#dcc2a7,#b58a67);
}
.gt-home-team-photo.is-admin{
  background:
    radial-gradient(circle at 78% 18%, rgba(255,255,255,.14), transparent 22%),
    linear-gradient(135deg,#315b7e,#1a3854);
}
.gt-home-team-photo.is-devops{
  background:
    radial-gradient(circle at 50% 14%, rgba(255,255,255,.1), transparent 20%),
    linear-gradient(135deg,#202f4d,#0d1628);
}
.gt-home-team-photo::after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
}
.gt-home-team-visual{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:min(88%,220px);
  height:100%;
  margin:0 auto;
}
.gt-home-team-glyph{
  position:relative;
  display:grid;
  place-items:center;
  width:78px;
  height:78px;
  border-radius:24px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 34px rgba(5,10,20,.18);
  margin-inline:auto;
}
.gt-home-team-glyph i{
  color:#fff;
  font-size:2rem;
}
.gt-home-team-lines{
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  display:grid;
  gap:10px;
  width:min(100%,176px);
  justify-items:center;
}
.gt-home-team-lines span{
  display:block;
  width:100%;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.08);
}
.gt-home-team-lines span:nth-of-type(1){height:10px;width:72%}
.gt-home-team-lines span:nth-of-type(2){height:10px;width:88%}
.gt-home-team-lines span:nth-of-type(3){height:10px;width:58%}
.gt-home-team-photo.is-design .gt-home-team-glyph,
.gt-home-team-photo.is-design .gt-home-team-lines span{
  background:rgba(255,255,255,.2);
  border-color:rgba(255,255,255,.16);
}
.gt-home-team-visual.is-dev::before,
.gt-home-team-visual.is-design::before,
.gt-home-team-visual.is-admin::before,
.gt-home-team-visual.is-devops::before{
  content:"";
  position:absolute;
  inset:auto 50% -8px auto;
  width:120px;
  height:54px;
  transform:translateX(50%);
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
}
.gt-home-team-visual.is-dev .gt-home-team-glyph::before,
.gt-home-team-visual.is-dev .gt-home-team-glyph::after{
  content:"";
  position:absolute;
  top:50%;
  width:14px;
  height:14px;
  margin-top:-7px;
  border-top:2px solid rgba(255,255,255,.8);
  border-left:2px solid rgba(255,255,255,.8);
}
.gt-home-team-visual.is-dev .gt-home-team-glyph::before{
  left:-18px;
  transform:rotate(-45deg);
}
.gt-home-team-visual.is-dev .gt-home-team-glyph::after{
  right:-18px;
  transform:rotate(135deg);
}
.gt-home-team-visual.is-design .gt-home-team-glyph::before,
.gt-home-team-visual.is-design .gt-home-team-glyph::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.82);
}
.gt-home-team-visual.is-design .gt-home-team-glyph::before{
  width:10px;
  height:10px;
  left:-12px;
  bottom:12px;
  box-shadow:26px -34px 0 0 rgba(255,255,255,.82), 58px -10px 0 0 rgba(255,255,255,.82);
}
.gt-home-team-visual.is-design .gt-home-team-glyph::after{
  width:54px;
  height:54px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border:1px dashed rgba(255,255,255,.26);
  background:transparent;
}
.gt-home-team-visual.is-admin .gt-home-team-glyph::before,
.gt-home-team-visual.is-admin .gt-home-team-glyph::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:44px;
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
}
.gt-home-team-visual.is-admin .gt-home-team-glyph::before{top:16px;box-shadow:0 16px 0 0 rgba(255,255,255,.82)}
.gt-home-team-visual.is-admin .gt-home-team-glyph::after{bottom:16px}
.gt-home-team-visual.is-devops .gt-home-team-glyph::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.16);
}
.gt-home-team-visual.is-devops .gt-home-team-glyph::after{
  content:"";
  position:absolute;
  width:96px;
  height:1px;
  left:50%;
  bottom:-18px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
}
.gt-home-team-body{padding:14px 14px 15px}
.gt-home-team-body h3{
  margin:0 0 6px;
  color:#131b2a;
  font-size:.94rem;
  font-weight:700;
}
.gt-home-team-body p{
  margin:0;
  color:#6f798c;
  font-size:.78rem;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.gt-footer-stat,
.gt-footer-column,
.gt-offers-benefit,
.gt-contact-chip,
.gt-contact-card,
.gt-card,
.gt-offer-card{min-width:0}
.gt-footer-column a,
.gt-footer-stat span,
.gt-offers-benefit p,
.gt-card p,
.gt-contact-card p,
.gt-contact-chip div{overflow-wrap:anywhere}
.js .gt-reveal{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:opacity .55s ease, transform .55s ease;
  transition-delay:var(--gt-delay,0ms);
}
.js .gt-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}
.gt-hero > .container > *{
  opacity:0;
  transform:translate3d(0,20px,0);
  animation:gt-fade-up .6s ease forwards;
}
.gt-hero > .container > :nth-child(2){animation-delay:.12s}
.gt-hero-floating{
  opacity:0;
  transform:translate3d(0,18px,0) scale(.98);
  animation:gt-fade-up .55s ease forwards;
}
.gt-hero-floating-top{animation-delay:.35s}
.gt-hero-floating-left{animation-delay:.45s}
.gt-hero-floating-right{animation-delay:.55s}

@keyframes gt-fade-up{
  from{
    opacity:0;
    transform:translate3d(0,20px,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

@media (hover: hover) and (pointer: fine){
  .gt-card:hover{
    transform:translate3d(0,-6px,0);
    box-shadow:0 18px 42px rgba(15,23,42,.1);
    border-color:#dbe5ff;
  }
  .gt-contact-card:hover,
  .gt-contact-chip:hover,
  .gt-faq details:hover{
    transform:translate3d(0,-3px,0);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    box-shadow:0 16px 34px rgba(15,23,42,.08);
  }
  .gt-hero-metric:hover{
    transform:translate3d(0,-3px,0);
    transition:transform .2s ease, border-color .2s ease;
    border-color:rgba(255,255,255,.16);
  }
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .btn,
  .gt-card,
  .gt-contact-card,
  .gt-contact-chip,
  .gt-faq details,
  .gt-hero-metric,
  .gt-reveal,
  .gt-hero > .container > *,
  .gt-hero-floating{
    animation:none !important;
    transition:none !important;
    transform:none !important;
    opacity:1 !important;
  }
}

@media (min-width: 1600px){
  .container{max-width:1360px}
  .gt-home-shell,
  .gt-offers-shell{width:min(100%,1440px);max-width:1440px}
  .gt-topbar{max-width:1440px}
  .gt-home-hero .gt-home-shell{grid-template-columns:minmax(0,560px) minmax(0,1fr)}
  .gt-footer-top,
  .gt-footer-links,
  .gt-footer-stats,
  .gt-footer-bottom{
    padding-left:clamp(36px,4vw,120px);
    padding-right:clamp(36px,4vw,120px);
  }
}

@media (max-width: 1399px){
  .gt-topbar{padding:0 16px}
  .gt-nav{gap:1.2rem}
  .gt-nav a{font-size:.92rem}
  .gt-nav-cta{min-width:0;padding:.78rem 1rem}
  .gt-home-hero .gt-home-shell{grid-template-columns:minmax(0,460px) minmax(0,1fr)}
  .gt-home-hero-copy h1{font-size:clamp(3rem,4.4vw,3.85rem)}
  .gt-home-services-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gt-home-pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gt-home-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width: 1199px){
  .gt-topbar{gap:.8rem}
  .gt-nav{gap:1rem}
  .gt-nav a{font-size:.88rem}
  .gt-home-hero .gt-home-shell{grid-template-columns:minmax(0,430px) minmax(0,1fr)}
  .gt-home-hero-copy h1{font-size:3.55rem}
  .gt-home-hero-image{width:680px}
  .gt-home-services-grid{grid-template-columns:repeat(3,1fr)}
  .gt-home-pricing-grid{grid-template-columns:repeat(3,1fr)}
  .gt-home-team-cards{grid-template-columns:repeat(2,1fr)}
  .gt-grid.services{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gt-grid.projects,.gt-grid.articles,.gt-grid.team{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gt-hero-grid.is-home{grid-template-columns:1fr}
}
@media (max-width:1199px){
  .gt-home-team-layout{grid-template-columns:1fr;gap:26px}
  .gt-home-team-cards{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 1099px){
  .gt-nav{display:none}
  .gt-topbar{
    min-height:auto;
    padding:12px 14px;
    gap:.75rem;
    flex-wrap:wrap;
  }
  .gt-brand{min-width:0;flex:1 1 auto}
  .gt-nav-toggle{display:inline-flex;margin-left:auto;font-size:1.6rem}
  .gt-nav-cta{
    margin-left:0;
    min-width:0;
    min-height:42px;
    padding:.72rem .95rem;
    font-size:.86rem;
    white-space:nowrap;
  }
  .gt-nav-open .gt-nav{
    display:flex;
    position:absolute;
    left:1rem;
    right:1rem;
    top:calc(100% + 10px);
    background:#0b1220;
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:1rem;
    flex-direction:column;
    align-items:flex-start;
    z-index:1001;
  }
  .gt-hero-grid,
  .gt-contact-grid,
  .gt-comparison{
    grid-template-columns:1fr;
  }
  .gt-grid.services,
  .gt-grid.cards,
  .gt-grid.offers,
  .gt-grid.projects,
  .gt-grid.articles,
  .gt-grid.team{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gt-home-hero{padding:28px 0 28px}
  .gt-home-hero .gt-home-shell,
  .gt-home-team-layout{
    grid-template-columns:1fr;
  }
  .gt-home-hero-visual{min-height:420px}
  .gt-home-hero-image{right:50%;transform:translateX(50%);width:min(100%,720px)}
  .gt-home-proof-row,
  .gt-home-stats-grid,
  .gt-footer-stats{
    grid-template-columns:repeat(2,1fr);
  }
  .gt-home-pricing-grid{grid-template-columns:repeat(2,1fr)}
  .gt-hero-visual{min-height:460px}
  .gt-hero-floating-top{right:4%}
  .gt-hero-floating-left{left:1%;bottom:10%}
  .gt-hero-floating-right{right:0;bottom:24%}
  .gt-hero-metrics{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .gt-section{padding:64px 0}
  .gt-grid.services,
  .gt-grid.cards,
  .gt-grid.offers,
  .gt-grid.projects,
  .gt-grid.articles,
  .gt-grid.team{
    grid-template-columns:1fr;
  }
  .gt-topbar{min-height:74px}
  .gt-brand-mark.is-home span{font-size:2.35rem}
  .gt-brand-mark.is-home small{font-size:1.05rem}
  .gt-nav-cta{font-size:.82rem;padding:.7rem .85rem}
  .gt-home-hero .gt-home-shell{gap:18px}
  .gt-home-hero-copy h1{font-size:2.9rem}
  .gt-home-subtitle{font-size:.98rem}
  .gt-home-proof-row,
  .gt-home-stats-grid,
  .gt-home-services-grid,
  .gt-home-pricing-grid,
  .gt-home-team-cards,
  .gt-footer-stats{
    grid-template-columns:1fr;
  }
  .gt-home-hero-visual{
    min-height:300px;
  }
  .gt-home-float{
    position:static;
    width:100%;
    min-width:0;
    margin-top:10px;
  }
  .gt-home-hero-image{
    position:relative;
    right:auto;
    inset:auto;
    transform:none;
    width:100%;
  }
  .gt-home-proof-row{gap:10px}
  .gt-home-actions .btn{width:100%}
  .gt-home-pricing-card{min-height:auto}
  .gt-home-offers-box{padding:18px 14px 14px}
  .gt-hero h1{max-width:100%}
  .gt-hero{padding:56px 0 34px}
  .gt-hero-visual{min-height:320px}
  .gt-hero-floating{
    position:static;
    min-width:0;
    width:100%;
  }
  .gt-hero-visual{display:grid;gap:.85rem}
  .gt-hero-visual::before{inset:24% 8% 30%}
  .gt-mini-grid{grid-template-columns:1fr}
}

@media (max-width: 480px){
  .container{padding-left:14px;padding-right:14px}
  .gt-topbar{
    padding:10px 12px;
    gap:.6rem;
  }
  .gt-brand-mark.is-home span{font-size:1.9rem}
  .gt-brand-mark.is-home small{font-size:.88rem}
  .gt-nav-cta{
    width:100%;
    justify-content:center;
    order:4;
  }
  .gt-nav-open .gt-nav{
    left:.75rem;
    right:.75rem;
  }
  .gt-home-pill{
    height:auto;
    min-height:34px;
    padding:8px 12px;
    line-height:1.3;
  }
  .gt-home-hero-copy h1{font-size:2.45rem}
  .gt-home-proof-card{padding:12px}
  .gt-home-stats-grid strong{font-size:1.6rem}
  .gt-home-team-photo{height:154px}
  .gt-offer-card,
  .gt-card,
  .gt-contact-card,
  .gt-article-content{padding-left:16px;padding-right:16px}
}

.gt-offers-page{
  padding:36px 0 84px;
  background:
    radial-gradient(circle at 50% 0%, rgba(47,107,255,.12), transparent 28%),
    linear-gradient(180deg, #fbfcff 0%, #f7f9ff 100%);
}
.gt-offers-shell{
  max-width:1280px;
  margin:0 auto;
}
.gt-offers-heading{
  margin:0 auto 42px;
  text-align:center;
}
.gt-offers-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  margin-bottom:20px;
  border-radius:999px;
  background:#edf3ff;
  color:#617192;
  font-size:.98rem;
  font-weight:600;
}
.gt-offers-heading h2{
  margin:0;
  color:#111827;
  font-size:4rem;
  line-height:1.04;
  letter-spacing:-.05em;
}
.gt-offers-heading p{
  margin:20px 0 0;
  color:#49556b;
  font-size:1.24rem;
  line-height:1.65;
}
.gt-offers-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.gt-offer-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:540px;
  padding:28px 26px 24px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.07);
}
.gt-offer-card.is-featured{
  border-color:#2a63f2;
  box-shadow:0 22px 56px rgba(47,107,255,.16);
}
.gt-offer-badge{
  position:absolute;
  top:16px;
  left:16px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#ecf3ff;
  color:#2a63f2;
  font-size:.77rem;
  font-weight:700;
}
.gt-offer-icon{
  width:54px;
  height:54px;
  margin-bottom:24px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#edf3ff 0%,#f7faff 100%);
  color:#2a63f2;
  font-size:1.7rem;
}
.gt-offer-card h3{
  margin:0 0 16px;
  color:#151f33;
  font-size:1.95rem;
  line-height:1.15;
  letter-spacing:-.03em;
}
.gt-offer-price{
  margin-bottom:12px;
  color:#1f56ff;
  font-size:3rem;
  line-height:1;
  font-weight:800;
  letter-spacing:-.04em;
}
/* Mention d'engagement, sous le prix : discrete mais lisible.
   Un abonnement a duree minimale doit l'annoncer a cote du prix. */
.gt-offer-engagement{
  margin:-.35rem 0 .75rem;
  font-size:.78rem;
  line-height:1.4;
  color:#5c6373;
  background:#f4f6fb;
  border-left:3px solid #2a63f2;
  border-radius:0 8px 8px 0;
  padding:.45rem .6rem;
}
.gt-offer-summary{
  margin:0;
  min-height:84px;
  color:#445065;
  font-size:1.04rem;
  line-height:1.6;
}
.gt-offer-divider{
  width:100%;
  height:1px;
  margin:22px 0 18px;
  background:#e9eef7;
}
.gt-offer-features{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:11px;
}
.gt-offer-features li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:#263348;
  font-size:.98rem;
  line-height:1.45;
}
.gt-offer-features i{
  color:#2158ff;
  font-size:1rem;
  line-height:1.45;
}
.gt-offer-action{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:56px;
  border:1px solid #dbe4f2;
  border-radius:14px;
  background:#fff;
  color:#182335;
  font-size:1rem;
  font-weight:700;
  text-align:center;
}
.gt-offer-card.is-featured .gt-offer-action{
  border-color:#2a63f2;
  background:linear-gradient(180deg,#2a63f2 0%,#1e54f2 100%);
  color:#fff;
}
.gt-offers-compare{
  margin-top:28px;
  padding:28px 34px;
  border:1px solid rgba(47,107,255,.08);
  border-radius:24px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:26px;
  background:linear-gradient(90deg,#edf4ff 0%,#f7faff 100%);
}
.gt-offers-compare-icon{
  width:64px;
  height:64px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#e6efff;
  color:#2a63f2;
  font-size:1.7rem;
}
.gt-offers-compare-copy h3{
  margin:0 0 6px;
  color:#162033;
  font-size:1.5rem;
  line-height:1.2;
  letter-spacing:-.03em;
}
.gt-offers-compare-copy p{
  margin:0;
  color:#4e5970;
  font-size:1rem;
  line-height:1.55;
}
.gt-offers-compare .btn{
  min-width:322px;
  min-height:56px;
  border-radius:14px;
}
.gt-offers-benefits{
  margin-top:30px;
  padding:26px 0;
  border-top:1px solid #e6edf7;
  border-bottom:1px solid #e6edf7;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:24px;
}
.gt-offers-benefit{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.gt-offers-benefit-icon{
  flex:0 0 auto;
  color:#2a63f2;
  font-size:2rem;
  line-height:1;
}
.gt-offers-benefit h3{
  margin:0 0 5px;
  color:#152033;
  font-size:1rem;
  line-height:1.35;
}
.gt-offers-benefit p{
  margin:0;
  color:#5e6980;
  font-size:.9rem;
  line-height:1.55;
}
.gt-offers-faq{
  max-width:760px;
  margin:54px auto 0;
}
.gt-offers-faq h3{
  margin:0 0 28px;
  text-align:center;
  color:#111827;
  font-size:2.3rem;
  line-height:1.1;
  letter-spacing:-.04em;
}
.gt-offers-faq-list{
  display:grid;
  gap:10px;
}
.gt-offers-faq details{
  border:1px solid #e1e8f3;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.gt-offers-faq summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:76px;
  padding:0 22px;
  cursor:pointer;
  color:#172133;
  font-size:1rem;
  line-height:1.4;
  font-weight:700;
}
.gt-offers-faq summary::-webkit-details-marker{display:none}
.gt-offers-faq summary i{
  color:#111827;
  font-size:1rem;
  transition:transform .2s ease;
}
.gt-offers-faq details[open] summary i{transform:rotate(45deg)}
.gt-offers-faq details p{
  margin:0;
  padding:0 22px 22px;
  color:#5c667b;
  font-size:.98rem;
  line-height:1.7;
}

@media (max-width: 1199px){
  .gt-offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gt-offers-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gt-offers-compare{
    grid-template-columns:1fr;
    justify-items:start;
  }
  .gt-offers-compare .btn{min-width:0;width:100%}
}

@media (max-width: 767px){
  .gt-offers-page{padding:22px 0 56px}
  .gt-offers-heading{margin-bottom:26px}
  .gt-offers-pill{min-height:36px;padding:0 14px;font-size:.88rem;margin-bottom:14px}
  .gt-offers-heading h2{font-size:2.35rem}
  .gt-offers-heading p{font-size:1rem;line-height:1.6}
  .gt-offers-grid{grid-template-columns:1fr;gap:16px}
  .gt-offer-card{
    min-height:auto;
    padding:22px 18px 18px;
    border-radius:20px;
  }
  .gt-offer-card h3{font-size:1.55rem}
  .gt-offer-price{font-size:2.3rem}
  .gt-offer-summary{min-height:0;font-size:.96rem}
  .gt-offers-compare{
    margin-top:20px;
    padding:20px 18px;
    gap:16px;
    border-radius:20px;
  }
  .gt-offers-compare-icon{width:56px;height:56px;border-radius:16px}
  .gt-offers-compare-copy h3{font-size:1.3rem}
  .gt-offers-benefits{
    margin-top:22px;
    padding:20px 0;
    grid-template-columns:1fr;
    gap:18px;
  }
  .gt-offers-faq{margin-top:36px}
  .gt-offers-faq h3{margin-bottom:20px;font-size:1.9rem}
  .gt-offers-faq summary{
    min-height:64px;
    padding:0 16px;
    font-size:.94rem;
  }
  .gt-offers-faq details p{
    padding:0 16px 18px;
    font-size:.94rem;
  }
}

@media (max-width: 1199px){
  .gt-footer-top{
    grid-template-columns:1fr;
    gap:28px;
  }
  .gt-footer-top-brand::after,
  .gt-footer-top-pitch::after{display:none}
  .gt-footer-links{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px 22px;
  }
  .gt-footer-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gt-footer-stat:nth-child(3),
  .gt-footer-stat:nth-child(5){
    border-left:0;
  }
  .gt-footer-bottom{
    justify-content:center;
    flex-direction:column;
    text-align:center;
  }
  .gt-footer-bottom-left{ text-align:center; }
  .gt-footer-mini-brand{
    padding-left:0;
    padding-top:20px;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .gt-blog-toolbar{grid-template-columns:1fr 1fr}
  .gt-blog-actions .btn{width:100%}
  .gt-article-layout{grid-template-columns:1fr}
  .gt-hero-grid.is-inner{
    grid-template-columns:1fr;
    gap:2.5rem;
  }
  .gt-inner-hero-copy{max-width:100%}
  .gt-inner-hero-image{
    max-width:680px;
    margin:0 auto;
  }
  .gt-inner-floating-top{right:10px}
  .gt-inner-floating-left{left:10px;top:230px}
  .gt-inner-floating-bottom{right:0;bottom:28px}
}

@media (max-width: 767px){
  .gt-footer{padding:0}
  .gt-footer-shell{border-radius:0}
  .gt-footer-top,
  .gt-footer-links,
  .gt-footer-stats,
  .gt-footer-bottom{
    padding-left:18px;
    padding-right:18px;
  }
  .gt-footer-top{
    padding-top:28px;
    padding-bottom:28px;
    gap:22px;
  }
  .gt-footer-wordmark-gt{font-size:1.7rem}
  .gt-footer-wordmark-digital{font-size:1.55rem}
  .gt-footer-top h2{
    margin:16px 0 12px;
    font-size:2.05rem;
  }
  .gt-footer-top p,
  .gt-footer-column li,
  .gt-footer-column a,
  .gt-footer-bottom-left p,
  .gt-footer-mini-brand p{
    font-size:.94rem;
  }
  .gt-footer-cta{
    min-height:56px;
    padding:0 18px;
    border-radius:16px;
    font-size:.95rem;
  }
  .gt-footer-links{
    grid-template-columns:1fr;
    gap:22px;
    padding-top:26px;
    padding-bottom:28px;
  }
  .gt-footer-column h4{
    margin-bottom:16px;
    font-size:.95rem;
  }
  .gt-footer-column h4::after{
    margin-top:10px;
  }
  .gt-footer-socials{
    padding-top:8px;
  }
  .gt-footer-socials a{
    width:46px;
    height:46px;
  }
  .gt-footer-stats{
    grid-template-columns:1fr;
    padding-top:12px;
    padding-bottom:12px;
  }
  .gt-footer-stat{
    min-height:84px;
    padding:14px 0;
  }
  .gt-footer-stat + .gt-footer-stat{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .gt-footer-stat-icon{
    width:62px;
    height:62px;
  }
  .gt-footer-bottom{
    padding-top:24px;
    padding-bottom:28px;
    gap:18px;
  }
  .gt-blog-toolbar{grid-template-columns:1fr;padding:1rem}
  .gt-blog-card-meta{align-items:flex-start;flex-direction:column;gap:.55rem}
  .gt-article-header h1{font-size:2.5rem}
  .gt-article-content{padding:1.4rem}
  .gt-hero.is-inner{padding:34px 0 42px}
  .gt-inner-breadcrumb{
    gap:.55rem;
    margin-bottom:18px;
    font-size:.84rem;
  }
  .gt-kicker-inner{
    min-height:34px;
    margin-bottom:18px;
    font-size:.8rem;
  }
  .gt-hero.is-inner h1{
    max-width:100%;
    margin-bottom:16px;
    font-size:2.75rem;
    line-height:1.02;
  }
  .gt-hero.is-inner p{
    max-width:100%;
    font-size:1rem;
    line-height:1.7;
  }
  .gt-inner-highlights{
    margin-top:26px;
    gap:12px;
  }
  .gt-inner-highlights span{
    width:100%;
    min-height:auto;
    margin-right:0;
    padding:0;
    border-right:0;
    font-size:.94rem;
  }
  .gt-inner-highlights i{font-size:1.35rem}
  .gt-inner-hero-visual{
    min-height:auto;
    display:grid;
    gap:12px;
  }
  .gt-inner-hero-image{
    max-width:100%;
    margin:0;
  }
  .gt-inner-floating{
    position:static;
    min-width:0;
    width:100%;
    padding:1rem 1.05rem;
    border-radius:18px;
  }
}

/* =====================================================
   GT Digital 2026 — refonte : promos, PCA, IA, accordéons
   ===================================================== */

/* --- Bandeau promo header --- */
.gt-offer-banner p{display:inline-flex;align-items:center;gap:.45rem;margin:0}
.gt-offer-banner s{opacity:.75;font-weight:500}
.gt-banner-link i{font-size:.85em}

/* --- Nav : lien mis en avant --- */
.gt-nav-highlight{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:#9ec1ff!important;
  font-weight:700!important;
}
.gt-nav-highlight i{font-size:.9em}

/* --- Hero home : promo --- */
.gt-home-pill-promo{
  cursor:pointer;
  border:1px solid rgba(127,176,255,.4);
  transition:border-color .18s ease, background-color .18s ease;
}
.gt-home-pill-promo:hover{border-color:#7fb0ff}
.gt-home-pill-promo i{font-size:.8em;margin-left:.2rem}
.gt-home-hero-oldprice{
  color:#8fa3c4;
  font-weight:600;
  margin-left:.15rem;
}
.gt-home-subtitle strong{color:#fff}
.gt-home-heading-sub{
  display:block;
  margin-top:.85rem;
  color:#5b6474;
  font-size:1.02rem;
  line-height:1.6;
}

/* --- Prix barrés génériques --- */
.gt-price-old{
  color:#647287;
  font-weight:600;
  font-size:.72em;
  margin-right:.4rem;
  text-decoration-thickness:2px;
  text-decoration-color:rgba(239,68,68,.75);
}

/* --- Cartes offres : bloc pricing enrichi --- */
.gt-offer-pricing{margin:.35rem 0 .5rem}
.gt-offer-old-price{
  display:inline-block;
  color:#647287;
  font-weight:700;
  font-size:1.05rem;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:rgba(239,68,68,.8);
}
.gt-offer-promo{
  display:inline-block;
  margin-left:.5rem;
  padding:.18rem .55rem;
  border-radius:999px;
  background:#fee2e2;
  color:#b91c1c;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.02em;
  vertical-align:middle;
}
.gt-offer-price-suffix{
  font-size:.45em;
  font-weight:700;
  color:#64748b;
  margin-left:.2rem;
}
.gt-offer-card .gt-offer-price{margin:0}

/* --- Grille offres embarquée dans une page service / home --- */
.gt-offers-grid-embed,
.gt-offers-grid-home{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.gt-offers-grid-home{margin-top:2.2rem}
.gt-offers-grid-embed{margin-top:.5rem}
.gt-offers-grid-embed .gt-offer-card,
.gt-offers-grid-home .gt-offer-card{
  background:#fff;
  border:1px solid var(--gt-line);
  border-radius:22px;
  padding:1.8rem 1.6rem;
  display:flex;
  flex-direction:column;
  position:relative;
}
.gt-offers-grid-embed .gt-offer-card.is-featured,
.gt-offers-grid-home .gt-offer-card.is-featured{
  border-color:var(--gt-blue);
  box-shadow:0 24px 60px rgba(47,107,255,.16);
}
.gt-offers-grid-embed .gt-offer-card h3,
.gt-offers-grid-home .gt-offer-card h3{font-size:1.3rem;margin:.4rem 0 .3rem}
.gt-offers-grid-embed .gt-offer-price,
.gt-offers-grid-home .gt-offer-price{font-size:2.15rem;font-weight:800;color:var(--gt-text)}
.gt-offers-grid-embed .gt-offer-summary,
.gt-offers-grid-home .gt-offer-summary{min-height:0;color:var(--gt-muted);font-size:.96rem;line-height:1.6}
.gt-offers-grid-embed .gt-offer-features,
.gt-offers-grid-home .gt-offer-features{
  list-style:none;
  margin:0 0 1.2rem;
  padding:0;
  display:grid;
  gap:.5rem;
  flex:1;
}
.gt-offers-grid-embed .gt-offer-features li,
.gt-offers-grid-home .gt-offer-features li{
  display:flex;
  gap:.5rem;
  align-items:flex-start;
  color:#334155;
  font-size:.93rem;
  line-height:1.5;
}
.gt-offers-grid-embed .gt-offer-features i,
.gt-offers-grid-home .gt-offer-features i{color:var(--gt-blue);flex:0 0 auto;margin-top:.1rem}
.gt-offers-grid-embed .gt-offer-divider,
.gt-offers-grid-home .gt-offer-divider{height:1px;background:var(--gt-line);margin:1rem 0}
.gt-offers-grid-embed .gt-offer-icon,
.gt-offers-grid-home .gt-offer-icon{
  width:46px;height:46px;border-radius:13px;
  display:grid;place-items:center;
  background:var(--gt-blue-soft);color:var(--gt-blue);
  font-size:1.25rem;
}
.gt-offers-grid-embed .gt-offer-badge,
.gt-offers-grid-home .gt-offer-badge{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--gt-blue);color:#fff;
  padding:.3rem .9rem;border-radius:999px;
  font-size:.78rem;font-weight:800;letter-spacing:.04em;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(47,107,255,.3);
}
.gt-offers-grid-embed .gt-offer-action,
.gt-offers-grid-home .gt-offer-action{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:13px;padding:.85rem 1.1rem;
  border:1px solid var(--gt-line);
  font-weight:700;color:var(--gt-text);
  transition:all .18s ease;
  margin-top:auto;
}
.gt-offers-grid-embed .gt-offer-action:hover,
.gt-offers-grid-home .gt-offer-action:hover{border-color:var(--gt-blue);color:var(--gt-blue)}
.gt-offers-grid-embed .gt-offer-card.is-featured .gt-offer-action,
.gt-offers-grid-home .gt-offer-card.is-featured .gt-offer-action{
  background:var(--gt-blue);color:#fff;border-color:var(--gt-blue);
  box-shadow:0 10px 25px rgba(47,107,255,.25);
}

/* --- Note tarifaire --- */
.gt-offers-note{
  margin:26px auto 0;
  max-width:820px;
  text-align:center;
}
.gt-offers-note p{
  display:inline-flex;
  gap:.5rem;
  align-items:flex-start;
  color:#526079;
  font-size:.95rem;
  line-height:1.6;
  margin:0;
  text-align:left;
}
.gt-offers-note i{color:var(--gt-blue);margin-top:.15rem}

/* --- Cartes services : promo + highlight --- */
.gt-card{position:relative}
.gt-card-promo{
  position:absolute;
  top:14px;right:14px;
  background:#fee2e2;color:#b91c1c;
  padding:.2rem .6rem;border-radius:999px;
  font-size:.74rem;font-weight:800;letter-spacing:.02em;
}
.gt-card.is-highlight{
  border-color:var(--gt-blue);
  box-shadow:0 18px 45px rgba(47,107,255,.14);
}
.gt-card-link{
  display:inline-flex;align-items:center;gap:.35rem;
  font-weight:700;color:var(--gt-blue);
  margin-top:.5rem;
}
.gt-card-link i{font-size:.85em;transition:transform .18s ease}
.gt-card-link:hover i{transform:translateX(3px)}
.gt-card-prose{max-width:900px;margin:0 auto}

/* --- Cartes étapes --- */
.gt-step-card{padding-top:2.2rem}
.gt-step-number{
  position:absolute;
  top:-18px;left:24px;
  width:38px;height:38px;
  display:grid;place-items:center;
  background:var(--gt-blue);color:#fff;
  border-radius:12px;
  font-weight:800;font-size:1.05rem;
  box-shadow:0 10px 22px rgba(47,107,255,.28);
}
.gt-grid.steps{margin-top:2.4rem;row-gap:2.4rem}

/* --- Accordéon technique --- */
.gt-tech-accordion{
  max-width:900px;
  margin:0 auto;
  display:grid;
  gap:.85rem;
}
.gt-tech-accordion details{
  background:#fff;
  border:1px solid var(--gt-line);
  border-radius:16px;
  padding:1.05rem 1.3rem;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.gt-tech-accordion details[open]{
  border-color:#d8e2ff;
  box-shadow:0 16px 36px rgba(47,107,255,.08);
}
.gt-tech-accordion summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  font-weight:700;
  color:var(--gt-text);
}
.gt-tech-accordion summary::-webkit-details-marker{display:none}
.gt-tech-accordion summary > span{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
}
.gt-tech-accordion summary > span i{
  color:var(--gt-blue);
  background:var(--gt-blue-soft);
  width:32px;height:32px;
  border-radius:9px;
  display:grid;place-items:center;
  font-size:.95rem;
  flex:0 0 auto;
}
.gt-tech-toggle{
  color:#647287;
  transition:transform .2s ease;
  flex:0 0 auto;
}
.gt-tech-accordion details[open] .gt-tech-toggle{transform:rotate(45deg)}
.gt-tech-accordion details p{
  margin:.9rem 0 0;
  color:var(--gt-muted);
  line-height:1.75;
}

/* --- FAQ générique : chevrons propres --- */
.gt-faq{max-width:900px;margin:0 auto;display:grid;gap:.85rem}
.gt-faq summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.gt-faq summary::-webkit-details-marker{display:none}
.gt-faq summary::after{
  content:"\F282";
  font-family:"bootstrap-icons";
  color:#647287;
  font-size:.85rem;
  transition:transform .2s ease;
  flex:0 0 auto;
}
.gt-faq details[open] summary::after{transform:rotate(180deg)}

/* --- Hero interne : étiquette prix --- */
.gt-hero-price-tag{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  margin:1.1rem 0 .2rem;
  padding:.65rem 1.1rem;
  border-radius:14px;
  background:rgba(47,107,255,.14);
  border:1px solid rgba(127,176,255,.35);
}
.gt-hero-price-tag strong{color:#fff;font-size:1.15rem}
.gt-hero-old-price{
  color:#8fa3c4;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:rgba(239,68,68,.8);
  font-weight:700;
}

/* --- Section IA (home) --- */
.gt-home-ia-section{background:linear-gradient(180deg,#f6f8fc 0,#eef3fc 100%)}
.gt-home-ia-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:3.5rem;
  align-items:center;
}
.gt-home-ia-copy > p{
  color:var(--gt-blue);
  font-weight:800;
  letter-spacing:.14em;
  font-size:.82rem;
  margin-bottom:1rem;
}
.gt-home-ia-copy h2{
  font-weight:800;
  font-size:2.3rem;
  line-height:1.15;
  margin-bottom:1.2rem;
}
.gt-home-ia-text p{color:#475569;line-height:1.75;margin-bottom:.85rem}
.gt-home-ia-text s{color:#647287}
.gt-home-ia-steps{display:grid;gap:1rem}
.gt-home-ia-step{
  display:flex;
  gap:1.1rem;
  align-items:flex-start;
  background:#fff;
  border:1px solid var(--gt-line);
  border-radius:18px;
  padding:1.25rem 1.4rem;
  box-shadow:0 10px 30px rgba(9,16,31,.05);
}
.gt-home-ia-step-icon{
  flex:0 0 auto;
  width:46px;height:46px;
  border-radius:13px;
  display:grid;place-items:center;
  background:var(--gt-blue-soft);
  color:var(--gt-blue);
  font-size:1.2rem;
}
.gt-home-ia-step h3{font-size:1.05rem;font-weight:800;margin:0 0 .3rem}
.gt-home-ia-step p{margin:0;color:var(--gt-muted);font-size:.95rem;line-height:1.6}

/* --- Cartes services home : prix + promo --- */
.gt-home-service-card{position:relative;display:flex;flex-direction:column}
.gt-home-service-card.is-highlight{
  border-color:var(--gt-blue);
  box-shadow:0 18px 45px rgba(47,107,255,.14);
}
.gt-home-service-price{
  margin-top:auto;
  padding-top:.9rem;
  display:flex;
  align-items:baseline;
  gap:.15rem;
}
.gt-home-service-price strong{color:var(--gt-blue);font-size:1.05rem;font-weight:800}

/* --- Bannière PCA --- */

/* ---------- Bandeau « pack lancement » (accueil) ---------- */
.gt-home-launch-band{background:linear-gradient(180deg,#f6f9ff 0%,#eef4ff 100%);border-top:1px solid #dfe8fb;border-bottom:1px solid #dfe8fb}
.gt-home-launch-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:3rem;align-items:center}
.gt-home-launch-copy h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;margin:.6rem 0 1rem;letter-spacing:-.02em}
.gt-home-launch-copy h2 strong{color:#2a63f2}
.gt-home-launch-lead{font-size:1.02rem;line-height:1.65;color:#41506b;max-width:62ch;margin-bottom:1.4rem}
.gt-home-launch-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.4rem;margin-bottom:1.7rem}
.gt-home-launch-points span{display:flex;align-items:flex-start;gap:.5rem;font-size:.93rem;color:#2b3850;line-height:1.4}
.gt-home-launch-points i{color:#2a63f2;font-size:1.05rem;flex:0 0 auto;margin-top:.05rem}
.gt-home-launch-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.gt-home-launch-alt{font-weight:600;color:#2a63f2;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}
.gt-home-launch-alt:hover{text-decoration:underline}
.gt-home-launch-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.gt-home-launch-list a{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid #e2eafb;border-radius:14px;padding:.95rem 1.1rem;text-decoration:none;color:#17233b;font-weight:600;box-shadow:0 1px 2px rgba(20,40,90,.04);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.gt-home-launch-list a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(28,60,130,.1);border-color:#bcd2fb}
.gt-home-launch-list i{font-size:1.25rem;color:#2a63f2;flex:0 0 auto}
.gt-home-launch-list span{flex:1 1 auto;min-width:0}
.gt-home-launch-list small{font-weight:700;color:#2a63f2;white-space:nowrap;font-size:.85rem}
@media (max-width:991px){
  .gt-home-launch-grid{grid-template-columns:1fr;gap:2rem}
}
@media (max-width:640px){
  .gt-home-launch-points{grid-template-columns:1fr}
  .gt-home-launch-actions{flex-direction:column;align-items:stretch}
  .gt-home-launch-actions .btn{width:100%}
  .gt-home-launch-alt{justify-content:center}
}

.gt-pca-banner{
  background:linear-gradient(135deg,#09101f 0,#101b33 55%,#132447 100%);
  color:#fff;
  padding:4.5rem 0;
}
.gt-pca-banner-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:3rem;
  align-items:center;
}
.gt-tag-light{
  display:inline-block;
  /* Cette pastille vit sur la banniere sombre. Elle heritait du fond bleu
     clair de .gt-tag, ce qui donnait du bleu clair sur bleu clair : 1,59:1,
     illisible. Fond sombre translucide + texte clair : 8,6:1. */
  background:rgba(255,255,255,.10);
  color:#d7e6ff;
  font-weight:800;
  letter-spacing:.14em;
  font-size:.8rem;
  margin-bottom:1rem;
}
.gt-pca-banner h2{
  font-weight:800;
  font-size:2.2rem;
  line-height:1.15;
  margin-bottom:1rem;
}
.gt-pca-banner-lead{color:#c8d2e6;line-height:1.75;max-width:56ch}
.gt-pca-banner-lead strong{color:#fff}
.gt-pca-banner-points{
  display:grid;
  gap:.55rem;
  margin-top:1.25rem;
}
.gt-pca-banner-points span{
  display:inline-flex;
  gap:.55rem;
  align-items:flex-start;
  color:#dbe5f6;
  font-size:.97rem;
}
.gt-pca-banner-points i{color:#4f8cff;margin-top:.15rem}
.gt-pca-banner-cta{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  padding:2rem;
  display:flex;
  flex-direction:column;
  gap:1.1rem;
  text-align:center;
}
.gt-pca-banner-price{display:grid;gap:.2rem}
.gt-pca-banner-price > span{color:#8fa3c4;font-size:.9rem}
.gt-pca-banner-price strong{
  font-size:2.6rem;
  font-weight:800;
  color:#fff;
  line-height:1.1;
}
.gt-pca-banner-price small{font-size:.45em;color:#9ec1ff;font-weight:800}
.gt-pca-banner-link{
  color:#9ec1ff;
  font-weight:600;
  font-size:.95rem;
}
.gt-pca-banner-link:hover{color:#c4dbff}

/* --- CTA bas de page --- */
.gt-section-cta{padding-top:0}
.gt-bottom-cta{
  background:linear-gradient(135deg,#0d1426 0,#132447 100%);
  color:#fff;
  border-radius:26px;
  padding:2.8rem 3rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  flex-wrap:wrap;
}
.gt-bottom-cta h2{font-weight:800;font-size:1.8rem;margin-bottom:.4rem}
.gt-bottom-cta p{color:#c8d2e6;margin:0;line-height:1.6}
.gt-bottom-cta-actions{display:flex;gap:1rem;flex-wrap:wrap}
.gt-home-final-cta{padding-top:0}

/* --- Section sombre (promo) --- */
.gt-promo-lead{color:rgba(255,255,255,.75);max-width:780px}

/* --- Responsive : nouveaux composants (mobile-first fixes) --- */
@media (max-width: 1199px){
  .gt-offers-grid-embed,
  .gt-offers-grid-home{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gt-home-ia-layout{gap:2.5rem}
}
@media (max-width: 991px){
  .gt-home-ia-layout{grid-template-columns:1fr;gap:2rem}
  .gt-pca-banner-grid{grid-template-columns:1fr;gap:2rem}
  .gt-pca-banner{padding:3.5rem 0}
  .gt-bottom-cta{padding:2.2rem 1.8rem}
}
@media (max-width: 767px){
  .gt-offers-grid-embed,
  .gt-offers-grid-home{grid-template-columns:1fr;gap:16px}
  .gt-offers-grid-home{margin-top:2.6rem}
  .gt-home-ia-copy h2{font-size:1.75rem}
  .gt-pca-banner h2{font-size:1.65rem}
  .gt-pca-banner-cta{padding:1.5rem}
  .gt-pca-banner-price strong{font-size:2.1rem}
  .gt-bottom-cta{flex-direction:column;align-items:stretch;text-align:center;padding:2rem 1.4rem}
  .gt-bottom-cta-actions{flex-direction:column}
  .gt-bottom-cta-actions .btn{width:100%}
  .gt-hero-price-tag{flex-wrap:wrap;gap:.4rem}
  .gt-offer-banner .container{flex-direction:column;gap:.15rem;padding:.5rem 1rem}
  .gt-offer-banner{font-size:.85rem;text-align:center}
  .gt-step-card{margin-top:.5rem}
  .gt-tech-accordion summary{font-size:.98rem}
  .gt-home-heading-sub{font-size:.95rem}
}

/* --- Correctifs sections --- */
.gt-grid.steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.gt-section-dark .gt-tag,
.gt-promo .gt-tag{
  background:rgba(255,255,255,.1);
  color:#9ec1ff;
  border:1px solid rgba(255,255,255,.14);
}
@media (max-width: 991px){
  .gt-grid.steps{grid-template-columns:1fr;row-gap:2rem}
}

/* --- Header mobile compact --- */
@media (max-width: 640px){
  .gt-nav-cta{display:none}
  .gt-offer-banner{font-size:.8rem}
  .gt-offer-banner .container{padding:.45rem .8rem;gap:.1rem}
  .gt-topbar{flex-wrap:nowrap;padding:10px 14px}
  .gt-nav-open .gt-nav{left:.75rem;right:.75rem}
  .gt-nav a{padding:.35rem 0;font-size:1.02rem}
}

/* --- Bandeau promo entièrement cliquable --- */
a.gt-offer-banner{
  display:block;
  color:#fff;
  cursor:pointer;
  transition:background-color .18s ease;
}
a.gt-offer-banner:hover{background:#1e56e8}
a.gt-offer-banner:hover .gt-banner-link{text-decoration:underline}
a.gt-offer-banner .gt-banner-link i{transition:transform .18s ease}
a.gt-offer-banner:hover .gt-banner-link i{transform:translateX(3px)}

/* --- Label "À partir de" sur les cartes tarifs --- */
.gt-offer-from{
  display:block;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.02em;
  color:#647287;
  text-transform:none;
  margin-bottom:.1rem;
  line-height:1.1;
}
.gt-offer-card.is-featured .gt-offer-from{color:#2a63f2}
/* Sur les cartes services, le prix commence déjà par "À partir de" : on garde compact */
.gt-home-service-price strong,
.gt-card .price{line-height:1.35}

/* =====================================================
   Catégories de services — accueil + page Services
   ===================================================== */

/* --- Accueil : blocs catégories --- */
.gt-home-cats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:2.2rem;
}
.gt-home-cat{
  display:flex;
  flex-direction:column;
  /* Sans min-width:0, un enfant de grille ne descend jamais sous la
     largeur de son contenu : la carte debordait a 320 px. */
  min-width:0;
  background:#fff;
  border:1px solid #e8edf6;
  border-radius:20px;
  padding:1.6rem 1.5rem;
  box-shadow:0 12px 34px rgba(15,23,42,.05);
}
.gt-home-cat-head{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-bottom:.5rem;
}
.gt-home-cat-icon{
  flex:0 0 auto;
  width:46px;height:46px;
  border-radius:13px;
  display:grid;place-items:center;
  background:var(--gt-blue-soft);
  color:var(--gt-blue);
  font-size:1.25rem;
}
.gt-home-cat-head h3{margin:0;font-size:1.2rem;font-weight:800;color:#131b2a;line-height:1.2}
.gt-home-cat-tagline{margin:0 0 1rem;color:var(--gt-muted);font-size:.92rem;line-height:1.55}
.gt-home-cat-list{list-style:none;margin:0 0 1.1rem;padding:0;display:grid;gap:.15rem}
.gt-home-cat-list li{border-top:1px solid #eef2f9}
.gt-home-cat-list li:first-child{border-top:0}
.gt-home-cat-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  /* Le prix doit rester a droite sur la meme ligne. En flex-wrap:wrap il
     basculait sous le libelle des que le nom etait long (« Pack lancement
     d'entreprise », « Hebergement GT Heberg »). C'est le libelle qui doit
     passer sur deux lignes, pas le prix. */
  flex-wrap:nowrap;
  gap:.2rem .75rem;
  padding:.62rem .35rem;
  border-radius:10px;
  transition:background-color .15s ease;
}
.gt-home-cat-list a:hover{background:#f4f7fd}
.gt-home-cat-name{
  font-weight:600;color:#243049;font-size:.95rem;
  /* flex + wrap : le libelle et sa pastille de promo se replient entre eux
     au lieu de pousser le prix hors de la ligne. */
  display:flex;flex-wrap:wrap;align-items:center;
  gap:.15rem .4rem;
  min-width:0;flex:1 1 auto;
  line-height:1.35;
}
.gt-home-cat-tag{
  background:#fee2e2;color:#b91c1c;
  font-size:.68rem;font-weight:800;
  padding:.08rem .38rem;border-radius:999px;
  white-space:nowrap;
}
.gt-home-cat-price{color:var(--gt-blue);font-weight:700;font-size:.85rem;white-space:nowrap;flex:0 0 auto;text-align:right}
.gt-home-cat-more{
  margin-top:auto;
  display:inline-flex;align-items:center;gap:.4rem;
  color:var(--gt-blue);font-weight:700;font-size:.9rem;
}
.gt-home-cat-more i{transition:transform .18s ease}
.gt-home-cat-more:hover i{transform:translateX(3px)}

/* --- Page Services : catégories --- */
.gt-section-intro{max-width:760px;margin:.9rem auto 0;color:var(--gt-muted)}
.gt-svc-cat{margin-bottom:3rem;scroll-margin-top:120px}
.gt-svc-cat:last-child{margin-bottom:0}
.gt-svc-cat-head{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}
.gt-svc-cat-icon{
  flex:0 0 auto;
  width:56px;height:56px;
  border-radius:16px;
  display:grid;place-items:center;
  background:var(--gt-blue-soft);color:var(--gt-blue);
  font-size:1.5rem;
}
.gt-svc-cat-head-text h3{margin:0;font-size:1.55rem;font-weight:800;color:#131b2a;line-height:1.15}
.gt-svc-cat-tagline{margin:.2rem 0 0;color:var(--gt-blue);font-weight:600;font-size:.98rem}
.gt-svc-cat-intro{max-width:820px;margin:.4rem 0 1.6rem;color:var(--gt-muted);line-height:1.7}
.gt-card-clickable{text-decoration:none;color:inherit;display:flex;flex-direction:column}

@media (max-width: 991px){
  .gt-home-cats{grid-template-columns:1fr;gap:16px}
  .gt-svc-cat-head-text h3{font-size:1.35rem}
}

/* --- Offres sur une seule ligne (4 colonnes) sur grand écran --- */
@media (min-width: 1200px){
  .gt-offers-grid-home,
  .gt-offers-page .gt-offers-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
  }
  .gt-offers-grid-home .gt-offer-card,
  .gt-offers-page .gt-offers-grid .gt-offer-card{padding:1.5rem 1.25rem}
  .gt-offers-grid-home .gt-offer-price,
  .gt-offers-page .gt-offers-grid .gt-offer-price{font-size:1.95rem}
  .gt-offers-grid-home .gt-offer-card h3,
  .gt-offers-page .gt-offers-grid .gt-offer-card h3{font-size:1.2rem}
}

/* --- Grille d'offres embarquée : 4 ou 2 colonnes selon le nombre --- */
@media (min-width: 1200px){
  .gt-offers-grid-embed.is-cols-4{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
  }
  .gt-offers-grid-embed.is-cols-4 .gt-offer-card{padding:1.5rem 1.25rem}
  .gt-offers-grid-embed.is-cols-4 .gt-offer-price{font-size:1.85rem}
  .gt-offers-grid-embed.is-cols-4 .gt-offer-card h3{font-size:1.15rem}
}
@media (min-width: 992px){
  .gt-offers-grid-embed.is-cols-2{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:900px;
    margin-left:auto;
    margin-right:auto;
  }
}

/* --- Étapes : 4 colonnes quand il y a 4 étapes --- */
@media (min-width: 1200px){
  .gt-grid.steps.is-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .gt-grid.steps.is-cols-4 .gt-step-card{padding:2.1rem 1.2rem 1.4rem}
  .gt-grid.steps.is-cols-4 .gt-step-card h3{font-size:1.08rem}
}

/* --- Accueil : 4 familles de services --- */
@media (min-width: 1280px){
  .gt-home-cats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .gt-home-cat{padding:1.4rem 1.2rem}
  .gt-home-cat-head h3{font-size:1.08rem}
  .gt-home-cat-icon{width:42px;height:42px;font-size:1.12rem}
  .gt-home-cat-name{font-size:.9rem}
  .gt-home-cat-price{font-size:.8rem}
  .gt-home-cat-list a{padding:.55rem .25rem}
}
@media (min-width: 992px) and (max-width: 1279px){
  .gt-home-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* =====================================================
   Simulateur d'estimation (/estimation)
   ===================================================== */
.gt-sim-hero{padding-bottom:2.5rem}
.gt-sim-hero-copy{max-width:760px}
.gt-sim-section{padding-top:2.5rem}

.gt-sim-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,380px);
  gap:2rem;
  align-items:start;
}

/* Honeypot : invisible mais non "display:none" (certains bots l'ignorent) */

/* Liens texte des sections : 22-23 px de haut, sous le minimum WCAG.
   Applique a toutes les largeurs (le critere vise aussi la souris). */
.gt-home-link-row a,
.gt-home-cat-more,
.gt-home-launch-alt,
.gt-pca-banner-cta a,
.gt-sim-alt,
.gt-blog-card-link{display:inline-flex;align-items:center;min-height:26px}

/* WCAG 2.2 (2.5.8) : 24x24 px minimum, y compris au clavier/souris.
   Les liens de navigation et du fil d'Ariane plafonnaient a 22-23 px. */
.gt-inner-breadcrumb a,
.gt-inner-breadcrumb span{display:inline-flex;align-items:center;min-height:26px}

/* ---------- Zones tactiles sur mobile ----------------------------
   WCAG 2.2 (2.5.8) demande au minimum 24x24 px cliquables ; les
   recommandations Apple et Google montent a 44-48 px. Sur mobile, les
   liens en ligne (pied de page, « voir cette categorie », liens texte)
   ne faisaient que 16 a 24 px de haut. On elargit la zone tactile par
   du padding vertical, sans espacer visuellement la mise en page :
   l'interligne du pied de page est reduit d'autant.
   ---------------------------------------------------------------- */
@media (max-width:1099px){
  .gt-footer-column ul{gap:2px}
  .gt-footer-column a{display:block;padding:11px 0;line-height:1.3}

  .gt-home-link-row a,
  .gt-home-cat-more,
  .gt-home-launch-alt,
  .gt-pca-banner-cta a,
  .gt-sim-alt,
  .gt-blog-card-link,
  .gt-inner-breadcrumb a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }

  .gt-footer-socials a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
  }
}

/* Enfants de grille du simulateur : autorises a retrecir sous la largeur
   de leur contenu, sinon la page deborde sur les petits ecrans (320 px). */
.gt-sim-grid>*,.gt-sim-main,.gt-sim-side,.gt-sim-card,.gt-sim-step{min-width:0}
.gt-sim-choices>*,.gt-sim-opts>*{min-width:0}

.gt-sim-disclaimer{margin:-.35rem 0 .9rem;font-size:.8rem;font-weight:600;letter-spacing:.01em;color:#8a6d1f;background:#fff8e1;border:1px solid #f2e0a8;border-radius:8px;padding:.4rem .6rem;line-height:1.35}
.gt-sim-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.gt-sim-step{
  border:1px solid var(--gt-line);
  border-radius:20px;
  background:#fff;
  padding:1.6rem 1.5rem;
  margin:0 0 1.2rem;
  box-shadow:0 10px 30px rgba(15,23,42,.04);
}
.gt-sim-step legend{
  display:flex;align-items:center;gap:.6rem;
  float:none;width:auto;padding:0;margin-bottom:1rem;
  font-size:1.15rem;font-weight:800;color:#131b2a;
}
.gt-sim-step legend small{font-weight:600;color:var(--gt-muted);font-size:.85rem}
.gt-sim-num{
  flex:0 0 auto;width:30px;height:30px;border-radius:9px;
  display:grid;place-items:center;
  background:var(--gt-blue);color:#fff;font-size:.92rem;font-weight:800;
}
.gt-sim-help{color:var(--gt-muted);font-size:.92rem;line-height:1.6;margin:0 0 1rem}

/* --- Choix de formule --- */
.gt-sim-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.gt-sim-choice input{position:absolute;opacity:0;width:0;height:0}
.gt-sim-choice-body{
  position:relative;display:flex;flex-direction:column;gap:.3rem;height:100%;
  border:2px solid var(--gt-line);border-radius:16px;padding:1.1rem 1rem;
  cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.gt-sim-choice-body i{font-size:1.4rem;color:var(--gt-blue)}
.gt-sim-choice-body strong{font-size:1rem;color:#131b2a;line-height:1.25}
.gt-sim-choice-body small{color:var(--gt-muted);font-size:.85rem;line-height:1.45;flex:1}
.gt-sim-choice-price{margin-top:.4rem;font-weight:800;color:var(--gt-blue);font-size:.95rem}
.gt-sim-choice:hover .gt-sim-choice-body{border-color:#c9d8ff}
.gt-sim-choice input:checked + .gt-sim-choice-body{
  border-color:var(--gt-blue);background:#f6f9ff;
  box-shadow:0 12px 30px rgba(47,107,255,.14);
}
.gt-sim-choice input:focus-visible + .gt-sim-choice-body{outline:3px solid rgba(47,107,255,.35);outline-offset:2px}
.gt-sim-badge{
  position:absolute;top:-11px;right:12px;
  background:var(--gt-blue);color:#fff;
  font-size:.75rem;font-weight:800;letter-spacing:.03em;
  padding:.24rem .6rem;border-radius:999px;white-space:nowrap;
}

/* --- Curseur pages --- */
.gt-sim-range{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
/* La piste ne fait que 6 px : c'est joli mais impossible a attraper au doigt.
   On garde le visuel fin et on porte la zone tactile a 28 px via le padding,
   au-dessus du minimum de 24 px du critere WCAG 2.5.8. */
.gt-sim-range input[type=range]{
  flex:1;
  min-width:200px;
  accent-color:var(--gt-blue);
  height:28px;
  padding:11px 0;
  background:transparent;
  box-sizing:border-box;
  cursor:pointer;
}
.gt-sim-range input[type=range]::-webkit-slider-runnable-track{
  height:6px;border-radius:999px;background:var(--gt-blue-soft);
}
.gt-sim-range input[type=range]::-moz-range-track{
  height:6px;border-radius:999px;background:var(--gt-blue-soft);
}
.gt-sim-range input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:22px;height:22px;border-radius:50%;
  background:var(--gt-blue);border:3px solid #fff;
  box-shadow:0 2px 6px rgba(15,23,42,.28);
  margin-top:-8px;
}
.gt-sim-range input[type=range]::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;
  background:var(--gt-blue);border:3px solid #fff;
  box-shadow:0 2px 6px rgba(15,23,42,.28);
}
.gt-sim-range input[type=range]:focus-visible{
  outline:3px solid rgba(47,107,255,.35);
  outline-offset:2px;
}
.gt-sim-range-out{
  min-width:110px;text-align:center;
  background:var(--gt-blue-soft);border-radius:12px;padding:.5rem .8rem;
  color:#243049;font-size:.92rem;
}
.gt-sim-range-out strong{font-size:1.25rem;color:var(--gt-blue);display:block}

/* --- Options --- */
.gt-sim-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.gt-sim-opt input{position:absolute;opacity:0;width:0;height:0}
.gt-sim-opt-body{
  display:flex;align-items:center;gap:.8rem;height:100%;
  border:2px solid var(--gt-line);border-radius:14px;padding:.85rem 1rem;
  cursor:pointer;transition:border-color .16s ease,background-color .16s ease;
}
.gt-sim-opt-body > i{font-size:1.15rem;color:var(--gt-blue);flex:0 0 auto}
.gt-sim-opt-body > span{flex:1;min-width:0}
.gt-sim-opt-body strong{display:block;font-size:.94rem;color:#243049;line-height:1.3}
.gt-sim-opt-body small{display:block;color:var(--gt-muted);font-size:.82rem;line-height:1.4}
.gt-sim-opt-price{flex:0 0 auto;font-weight:800;color:var(--gt-blue);font-size:.88rem;white-space:nowrap}
.gt-sim-opt:hover .gt-sim-opt-body{border-color:#c9d8ff}
.gt-sim-opt input:checked + .gt-sim-opt-body{border-color:var(--gt-blue);background:#f6f9ff}
.gt-sim-opt input:focus-visible + .gt-sim-opt-body{outline:3px solid rgba(47,107,255,.35);outline-offset:2px}

/* --- Coordonnées --- */
.gt-sim-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.gt-sim-fields .gt-sim-full{grid-column:1/-1}
.gt-sim-fields label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.9rem;color:#243049}
.gt-sim-legal{margin:1rem 0 0;color:var(--gt-muted);font-size:.85rem;line-height:1.6}
.gt-sim-legal a{color:var(--gt-blue);font-weight:600}

/* --- Récapitulatif --- */
.gt-sim-side{position:sticky;top:104px}
.gt-sim-card{
  border:1px solid #d8e2ff;border-radius:22px;background:#fff;
  padding:1.6rem 1.5rem;box-shadow:0 20px 50px rgba(47,107,255,.12);
}
.gt-sim-card-title{
  margin:0 0 .4rem;color:var(--gt-blue);
  font-weight:800;letter-spacing:.1em;font-size:.76rem;text-transform:uppercase;
}
.gt-sim-total{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.2rem}
.gt-sim-total span{font-size:2.5rem;font-weight:800;color:var(--gt-text);line-height:1.1}
.gt-sim-total small{font-size:.85rem;font-weight:700;color:var(--gt-muted)}
.gt-sim-monthly{
  margin:.2rem 0 0;padding:.45rem .7rem;border-radius:10px;
  background:var(--gt-blue-soft);color:#243049;font-size:.85rem;font-weight:600;
}
.gt-sim-lines{list-style:none;margin:1.1rem 0;padding:1.1rem 0 0;border-top:1px solid var(--gt-line);display:grid;gap:.5rem}
.gt-sim-lines li{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem;color:#526079}
.gt-sim-lines strong{color:#243049;white-space:nowrap}
.gt-sim-submit{width:100%;margin-top:.4rem}
.gt-sim-status{margin:.75rem 0 0;font-size:.88rem;line-height:1.5;min-height:1.2em}
.gt-sim-status.is-error{color:#b91c1c;font-weight:600}
.gt-sim-status.is-success{color:#15803d;font-weight:600}
.gt-sim-status.is-pending{color:var(--gt-muted)}
.gt-sim-note{
  margin:1rem 0 0;display:flex;gap:.5rem;align-items:flex-start;
  color:var(--gt-muted);font-size:.82rem;line-height:1.55;
}
.gt-sim-note i{color:var(--gt-blue);margin-top:.15rem;flex:0 0 auto}
/* Le texte forme un seul bloc : sans cela chaque element inline
   (comme <strong>) devient une colonne flex et la phrase se casse. */
.gt-sim-note>span{flex:1 1 auto;min-width:0}
.gt-sim-alt{display:block;margin-top:.9rem;text-align:center;color:var(--gt-blue);font-weight:700;font-size:.9rem}

@media (max-width: 991px){
  .gt-sim-grid{grid-template-columns:1fr}
  .gt-sim-side{position:static;order:-1}
  .gt-sim-card{padding:1.3rem 1.2rem}
  .gt-sim-total span{font-size:2.1rem}
  .gt-sim-lines{display:none}
}
@media (max-width: 640px){
  .gt-sim-step{padding:1.25rem 1.1rem;border-radius:16px}
  .gt-sim-fields{grid-template-columns:1fr}
  .gt-sim-choices,.gt-sim-opts{grid-template-columns:1fr}
  .gt-sim-step legend{font-size:1.05rem}
}
@media (prefers-reduced-motion: reduce){
  .gt-sim-choice-body,.gt-sim-opt-body{transition:none}
}

/* =============================================================
   Choix par intention (accueil) — "Dites-nous ce que vous voulez faire"
   Objectif : la premiere zone lue apres le hero propose des verbes
   simples, jamais de vocabulaire technique. Cartes cliquables en
   entier, tres lisibles au pouce sur mobile.
   ============================================================= */
.gt-home-intent{padding-top:2.6rem}
.gt-intent-grid{
  display:grid;
  /* Trois colonnes au maximum : les six cartes forment alors toujours deux
     rangees pleines. En auto-fit, un ecran tres large donnait quatre colonnes
     et une seconde rangee de deux cartes, visuellement bancale. */
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
@media (max-width: 991.98px){
  .gt-intent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 639.98px){
  .gt-intent-grid{grid-template-columns:1fr}
}
.gt-intent-card{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  min-width:0;
  padding:1.5rem 1.4rem 1.25rem;
  background:#fff;
  border:1px solid var(--gt-line);
  border-radius:22px;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
  text-decoration:none;
  color:var(--gt-text);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.gt-intent-card:hover,
.gt-intent-card:focus-visible{
  transform:translateY(-4px);
  border-color:var(--gt-blue);
  box-shadow:0 22px 46px rgba(42,99,242,.14);
  color:var(--gt-text);
}
.gt-intent-icon{
  width:52px;height:52px;border-radius:16px;
  display:grid;place-items:center;
  background:var(--gt-blue-soft);
  color:var(--gt-blue);
  font-size:1.4rem;
  flex:none;
}
.gt-intent-body{display:block}
.gt-intent-body strong{
  display:block;
  font-size:1.14rem;
  font-weight:800;
  line-height:1.3;
  margin-bottom:.4rem;
}
.gt-intent-text{
  display:block;
  color:var(--gt-muted);
  font-size:.97rem;
  line-height:1.65;
}
.gt-intent-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:.85rem;
  border-top:1px solid var(--gt-line);
}
.gt-intent-price{
  font-weight:800;
  font-size:1rem;
  color:var(--gt-text);
}
.gt-intent-go{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-weight:700;
  font-size:.95rem;
  color:var(--gt-blue);
}
.gt-intent-card:hover .gt-intent-go i{transform:translateX(3px)}
.gt-intent-go i{transition:transform .24s ease}
.gt-intent-help{
  margin:1.6rem auto 0;
  max-width:760px;
  text-align:center;
  color:var(--gt-muted);
  line-height:1.75;
}
.gt-intent-help i{color:var(--gt-blue);margin-right:.35rem}
.gt-intent-help a{color:var(--gt-blue);font-weight:700}
@media (max-width: 575.98px){
  .gt-intent-card{padding:1.25rem 1.15rem 1.1rem;border-radius:18px}
  .gt-intent-icon{width:46px;height:46px;border-radius:14px;font-size:1.2rem}
}
@media (prefers-reduced-motion: reduce){
  .gt-intent-card,.gt-intent-go i{transition:none}
  .gt-intent-card:hover{transform:none}
}

/* =============================================================
   Titres de pages internes : paliers selon la longueur.
   La regle de base (11ch, 5.35rem) est faite pour "Tarifs" ou
   "Contact" ; une accroche en phrase complete occupait alors tout
   l'ecran et repoussait le sous-titre, le prix et les boutons
   sous la ligne de flottaison. On reduit par palier, la classe
   etant posee cote PHP selon le nombre de caracteres.
   ============================================================= */
.gt-hero.is-inner h1.is-long{
  max-width:18ch;
  font-size:clamp(2.5rem,3.9vw,3.5rem);
  line-height:1.06;
  letter-spacing:-.035em;
}
.gt-hero.is-inner h1.is-xlong{
  max-width:24ch;
  font-size:clamp(2.05rem,3.1vw,2.85rem);
  line-height:1.14;
  letter-spacing:-.02em;
}
.gt-hero.is-inner h1.is-long + p,
.gt-hero.is-inner h1.is-xlong + p{max-width:46ch}

@media (max-width: 767px){
  .gt-hero.is-inner h1.is-long{font-size:clamp(1.95rem,7.2vw,2.4rem);max-width:100%}
  .gt-hero.is-inner h1.is-xlong{font-size:clamp(1.75rem,6.4vw,2.15rem);max-width:100%}
  .gt-hero.is-inner h1.is-long + p,
  .gt-hero.is-inner h1.is-xlong + p{max-width:100%}
}

/* Cartes de reassurance du hero d'accueil : la colonne de texte fait ~520 px
   pour trois cartes, soit ~95 px de texte utile par carte — chaque libelle
   partait sur trois lignes. L'icone passe au-dessus du texte, qui recupere
   toute la largeur de la carte. */
.gt-home-proof-card{
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
  min-height:0;
  padding:14px;
}
.gt-home-proof-card strong{
  overflow-wrap:normal;
  /* Repartit le titre sur deux lignes equilibrees plutot que de laisser un
     mot seul en fin de carte. Ignore sans dommage par les navigateurs qui ne
     connaissent pas la propriete. */
  text-wrap:balance;
}
.gt-home-proof-card span{overflow-wrap:normal;line-height:1.45}
@media (max-width: 991.98px){
  .gt-home-proof-card{flex-direction:row;align-items:center;gap:12px}
}

/* Bandeau d'offre : version courte sur telephone.
   En pleine longueur, le texte passait sur deux lignes et le lien sur une
   troisieme, soit 81 px du premier ecran consommes avant le moindre contenu. */
.gt-banner-text-short,
.gt-banner-cta-short{display:none}
@media (max-width: 767.98px){
  .gt-banner-text-full{display:none}
  .gt-banner-text-short{display:inline}
  /* Annule l'empilement vertical defini plus haut : le texte raccourci tient
     desormais sur une ligne, lien compris. */
  .gt-offer-banner .container{flex-direction:row;flex-wrap:nowrap;gap:.5rem;padding:.5rem 1rem}
  .gt-offer-banner p{white-space:nowrap}
  .gt-banner-link{white-space:nowrap}
}
@media (max-width: 419.98px){
  /* Sous 420 px, on retire l'ancien prix barre et on raccourcit l'appel a
     l'action : la ligne tient alors sans deborder. */
  .gt-offer-banner p,
  .gt-banner-link{font-size:.78rem}
  .gt-offer-banner s{display:none}
  .gt-banner-cta-full{display:none}
  .gt-banner-cta-short{display:inline}
}

/* Grille de 4 cartes : une rangee pleine au lieu de 3 + 1 orpheline.
   Sous 1100 px, la regle generale reprend la main (2 colonnes puis 1). */
@media (min-width: 1100px){
  .gt-grid.cards.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gt-grid.cards.is-four .gt-card{padding:1.25rem}
  .gt-grid.cards.is-four .gt-card h3{font-size:1.05rem}
  /* Colonnes plus etroites : sans cela « À partir de 2 490 € TTC » passait
     systematiquement sur deux lignes. */
  .gt-grid.cards.is-four .gt-card .price{
    font-size:1.18rem;
    /* Sans cela la coupure tombait au milieu du montant
       (« À partir de 2 490 / € TTC ») : balance coupe apres « de ». */
    text-wrap:balance;
  }
}

/* =============================================================
   Produits maison : GT Héberg et IgorIA
   Encart de bas d'accueil + paire de vignettes dans le pied de page.
   Volontairement secondaires : ce ne sont pas les prestations
   principales, mais ils montrent l'infrastructure derrière l'agence.
   ============================================================= */
.gt-house-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.gt-house-card{
  display:flex;
  flex-direction:column;
  gap:1rem;
  min-width:0;
  padding:1.6rem 1.5rem 1.3rem;
  background:#fff;
  border:1px solid var(--gt-line);
  border-radius:22px;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
  text-decoration:none;
  color:var(--gt-text);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.gt-house-card:hover,
.gt-house-card:focus-visible{
  transform:translateY(-4px);
  border-color:var(--gt-blue);
  box-shadow:0 22px 46px rgba(42,99,242,.14);
  color:var(--gt-text);
}
.gt-house-logo{
  display:grid;
  place-items:center;
  width:76px;height:76px;
  border-radius:18px;
  background:var(--gt-blue-soft);
  flex:none;
}
.gt-house-logo img{max-width:56px;max-height:44px;width:auto;height:auto;display:block}
/* Le buste d'Igor est carré : il peut occuper toute la pastille. */
.gt-house-logo.is-igoria{background:#e6f5f2}
.gt-house-logo.is-igoria img{max-width:58px;max-height:58px}
.gt-house-body{display:block}
.gt-house-body strong{
  display:block;
  font-size:1.2rem;
  font-weight:800;
  margin-bottom:.45rem;
}
.gt-house-text{
  display:block;
  color:var(--gt-muted);
  font-size:.97rem;
  line-height:1.7;
}
.gt-house-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:.9rem;
  border-top:1px solid var(--gt-line);
}
.gt-house-tag{
  display:inline-flex;
  align-items:center;
  padding:.28rem .7rem;
  border-radius:999px;
  background:var(--gt-blue-soft);
  color:#1e4fd0;
  font-size:.8rem;
  font-weight:700;
}
.gt-house-tag.is-soon{background:#fdf0e6;color:#9a4a17}
.gt-house-go{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-weight:700;
  font-size:.93rem;
  color:var(--gt-blue);
}
@media (max-width: 767.98px){
  .gt-house-grid{grid-template-columns:1fr}
  .gt-house-card{padding:1.3rem 1.2rem 1.1rem;border-radius:18px}
}
@media (prefers-reduced-motion: reduce){
  .gt-house-card{transition:none}
  .gt-house-card:hover{transform:none}
}

/* Pied de page : les deux vignettes côte à côte.
   Le bloc de droite du pied de page est etroit : sans flex:none et sans
   min-width reduit, la seconde vignette passait sous la premiere. */
.gt-footer-house{
  display:flex;
  align-items:flex-start;
  gap:20px;
  flex-wrap:nowrap;
  flex:none;
}
.gt-footer-house .gt-footer-mini-brand{
  min-width:0;
  flex:0 1 auto;
  padding-left:20px;
}
.gt-footer-mini-brand.is-igoria img{width:50px}
.gt-footer-mini-brand.is-igoria p:first-of-type{font-weight:700;color:#eaf0fb}
@media (max-width: 991.98px){
  .gt-footer-house{gap:14px}
  .gt-footer-house .gt-footer-mini-brand{padding-left:14px}
  .gt-footer-mini-brand img{width:92px}
}
@media (max-width: 575.98px){
  .gt-footer-house{width:100%}
  .gt-footer-mini-brand{
    padding-left:0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.12);
    padding-top:16px;
    min-width:0;
    flex:1 1 140px;
  }
}

/* =============================================================
   Liste compacte de liens internes (section « links » de page.php)
   Remplace le catalogue complet des services sur les pages locales
   et métier. Même logique que la liste des catégories de l'accueil :
   nom à gauche, prix en bleu à droite, jamais renvoyé à la ligne.
   ============================================================= */
.gt-link-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;
}
.gt-link-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:nowrap;
  gap:.75rem;
  height:100%;
  min-height:52px;
  padding:.75rem 1rem;
  background:#fff;
  border:1px solid var(--gt-line);
  border-radius:14px;
  color:#243049;
  transition:border-color .15s ease, background-color .15s ease;
}
.gt-link-list a:hover,
.gt-link-list a:focus-visible{border-color:var(--gt-blue);background:#f6f9ff;color:#243049}
.gt-link-list-name{font-weight:600;font-size:.95rem;line-height:1.35;min-width:0;flex:1 1 auto}
.gt-link-list-price{flex:0 0 auto;white-space:nowrap;color:var(--gt-blue);font-weight:700;font-size:.85rem;text-align:right}
@media (max-width: 991.98px){
  .gt-link-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 575.98px){
  .gt-link-list{grid-template-columns:1fr}
}

/* Référence client unique : une carte élargie, centrée. */
.gt-grid.projects.is-single{grid-template-columns:minmax(0,760px);justify-content:center}

/* =====================================================
   Pages d'erreur (403, 404, 500) : écran stylisé à la
   place de l'image du hero, mêmes cartes flottantes.
   ===================================================== */
.gt-error-visual{display:flex;align-items:center;justify-content:flex-end}
.gt-error-screen{
  position:relative;
  width:min(100%,560px);
  margin-left:auto;
  padding:22px 28px 34px;
  border-radius:26px;
  background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  border:1px solid rgba(120,160,255,.35);
  box-shadow:0 0 0 1px rgba(42,99,242,.12),0 40px 90px rgba(0,0,0,.45),0 0 120px rgba(42,99,242,.25);
  overflow:hidden;
}
.gt-error-screen::after{
  content:"";
  position:absolute;
  left:10%;right:10%;bottom:-60px;height:120px;
  background:radial-gradient(closest-side,rgba(56,189,248,.55),transparent);
  filter:blur(10px);
}
.gt-error-screen-bar{display:flex;gap:7px;margin-bottom:10px}
.gt-error-screen-bar span{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.18)}
.gt-error-screen-bar span:first-child{background:#ff6b6b}
.gt-error-code{
  font-size:clamp(5.5rem,13vw,10.5rem);
  font-weight:800;
  line-height:1;
  letter-spacing:-.04em;
  text-align:center;
  background:linear-gradient(180deg,#ffffff 0%,#9db8ff 55%,#2a63f2 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  padding:.15em 0 .1em;
  animation:gt-error-float 6s ease-in-out infinite;
}
.gt-error-lines{display:grid;gap:10px;justify-items:center;margin-top:8px}
.gt-error-lines span{display:block;height:9px;border-radius:9px;background:rgba(255,255,255,.12)}
.gt-error-lines span:nth-child(1){width:62%}
.gt-error-lines span:nth-child(2){width:46%;background:rgba(42,99,242,.45)}
.gt-error-lines span:nth-child(3){width:54%}
@keyframes gt-error-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion: reduce){.gt-error-code{animation:none}}
.gt-error-links .gt-link-list-name i{color:var(--gt-blue);margin-right:.35rem}
.gt-error-visual .gt-inner-floating-left{top:auto;bottom:0;left:0}
.gt-error-visual .gt-inner-floating-bottom{bottom:118px}
@media (max-width: 1099px){
  .gt-error-visual{min-height:560px;justify-content:center}
  .gt-error-screen{margin:0 auto}
}
@media (max-width: 767px){
  .gt-error-visual{min-height:auto;display:grid}
  .gt-error-screen{padding:16px 18px 26px}
}

/* =====================================================
   Formulaires envoyés sans rechargement (contact,
   maintenance) : message de retour sous le bouton.
   ===================================================== */
.gt-form-status{margin:.85rem 0 0;font-weight:600;font-size:.95rem;min-height:1.4em}
.gt-form-status:empty{display:none}
.gt-form-status.is-success{color:#1f8a4c}
.gt-form-status.is-error{color:#c0392b}
.gt-form button[disabled]{opacity:.7;cursor:progress}

/* =====================================================
   Page de maintenance (MAINTENANCE_MODE=1)
   ===================================================== */
.gt-maint{
  min-height:100vh;
  margin:0;
  color:#fff;
  background:
    radial-gradient(circle at 12% 8%,rgba(42,99,242,.32),transparent 32%),
    radial-gradient(circle at 92% 88%,rgba(56,189,248,.16),transparent 30%),
    linear-gradient(180deg,#070b16 0%,#0a1224 100%);
  background-color:#0a1224;
}
.gt-maint-shell{
  width:min(1180px,100%);
  min-height:100vh;
  margin:0 auto;
  padding:28px 24px;
  display:flex;
  flex-direction:column;
}
.gt-maint-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.gt-maint-wordmark{display:flex;flex-direction:column;line-height:.86;font-weight:800;letter-spacing:-.03em}
.gt-maint-wordmark span:first-child{font-size:2.1rem;color:#fff}
.gt-maint-wordmark span:last-child{font-size:1.05rem;color:#4d82ff;letter-spacing:.01em}
.gt-maint-status{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.5rem .95rem;border-radius:999px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  font-weight:600;font-size:.9rem;color:#dbe6ff;
}
.gt-maint-dot{width:9px;height:9px;border-radius:50%;background:#f5b942;box-shadow:0 0 0 0 rgba(245,185,66,.6);animation:gt-maint-pulse 2s infinite}
@keyframes gt-maint-pulse{0%{box-shadow:0 0 0 0 rgba(245,185,66,.55)}70%{box-shadow:0 0 0 10px rgba(245,185,66,0)}100%{box-shadow:0 0 0 0 rgba(245,185,66,0)}}
.gt-maint-grid{
  flex:1;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:56px;
  align-items:center;
  padding:48px 0;
}
.gt-maint-copy h1{font-size:clamp(2.3rem,4.6vw,3.6rem);line-height:1.05;letter-spacing:-.03em;font-weight:800;margin:0 0 1.1rem}
.gt-maint-lead{color:#c3cde2;font-size:1.12rem;line-height:1.7;margin:0 0 1.8rem;max-width:560px}
.gt-maint-progress{
  max-width:460px;padding:16px 18px;border-radius:18px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  margin-bottom:1.4rem;
}
.gt-maint-progress-head{display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:.95rem;margin-bottom:.75rem;color:#e6edff}
.gt-maint-progress-head i{color:#7ea3ff}
.gt-maint-bar{position:relative;height:8px;border-radius:8px;background:rgba(255,255,255,.1);overflow:hidden}
.gt-maint-bar span{
  position:absolute;inset:0 auto 0 0;width:40%;border-radius:8px;
  background:linear-gradient(90deg,#2a63f2,#38bdf8);
  animation:gt-maint-load 2.6s ease-in-out infinite;
}
@keyframes gt-maint-load{0%{left:-40%}100%{left:100%}}
.gt-maint-until{display:flex;align-items:center;gap:.5rem;color:#dbe6ff;margin:0 0 1.4rem}
.gt-maint-until i{color:#7ea3ff}
.gt-maint-chips{display:flex;flex-wrap:wrap;gap:12px}
.gt-maint-chip{
  display:flex;align-items:center;gap:.8rem;
  padding:.8rem 1.05rem;border-radius:16px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  color:#fff;text-decoration:none;transition:background .2s,border-color .2s;
  min-width:0;
}
.gt-maint-chip:hover{background:rgba(42,99,242,.18);border-color:rgba(126,163,255,.5);color:#fff}
.gt-maint-chip i{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;
  background:rgba(42,99,242,.22);color:#9db8ff;font-size:1.1rem;
}
.gt-maint-chip span{display:flex;flex-direction:column;font-size:.95rem;min-width:0;overflow-wrap:anywhere}
.gt-maint-chip strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#9db8ff}
.gt-maint-card{
  background:#fff;color:var(--gt-text);
  border-radius:28px;padding:34px;
  box-shadow:0 40px 90px rgba(0,0,0,.4);
}
.gt-maint-card h2{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .4rem}
.gt-maint-card > p{color:var(--gt-muted);margin:0 0 1.3rem}
.gt-maint-card .gt-form label{display:block;margin-top:.9rem}
.gt-maint-card .gt-form label:first-of-type{margin-top:0}
.gt-maint-card .g-recaptcha{margin-top:1rem}
.gt-maint-card .btn{margin-top:1.2rem;padding:.9rem 1rem;border-radius:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.5rem}
.gt-maint-foot{text-align:center;color:#8d98b0;font-size:.88rem;padding-top:8px}
@media (prefers-reduced-motion: reduce){.gt-maint-dot,.gt-maint-bar span{animation:none}}
@media (max-width: 991px){
  .gt-maint-grid{grid-template-columns:1fr;gap:36px;padding:36px 0}
}
@media (max-width: 575px){
  .gt-maint-shell{padding:20px 16px}
  .gt-maint-card{padding:24px 20px;border-radius:22px}
  .gt-maint-chip{width:100%}
}

/* =====================================================
   Barre de contact fixe (téléphone uniquement)
   ===================================================== */
.gt-mobile-bar{display:none}
@media (max-width: 991px){
  .gt-mobile-bar{
    position:fixed;left:0;right:0;bottom:0;z-index:1040;
    display:flex;gap:8px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(9,16,31,.96);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 -10px 30px rgba(0,0,0,.25);
  }
  .gt-mobile-bar a{
    flex:1 1 0;min-width:0;
    display:flex;align-items:center;justify-content:center;gap:.45rem;
    min-height:46px;padding:0 .6rem;border-radius:12px;
    background:rgba(255,255,255,.08);color:#fff;
    font-weight:700;font-size:.92rem;text-decoration:none;white-space:nowrap;
  }
  .gt-mobile-bar a.is-primary{flex:1.35 1 0;background:var(--gt-blue);box-shadow:0 8px 20px rgba(42,99,242,.35)}
  .gt-mobile-bar a:active{transform:translateY(1px)}
  .gt-mobile-bar i{font-size:1.05rem}
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
}

/* =====================================================
   Hero des pages locales : capture d'un vrai site client
   ===================================================== */
.gt-client-visual{display:flex;align-items:center;justify-content:flex-end}
.gt-client-shot{
  width:min(100%,600px);margin:0 0 0 auto;
  border-radius:18px;overflow:hidden;
  background:#0f172a;
  border:1px solid rgba(120,160,255,.3);
  box-shadow:0 40px 90px rgba(0,0,0,.45),0 0 110px rgba(42,99,242,.22);
}
.gt-client-shot-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:#111a2e;border-bottom:1px solid rgba(255,255,255,.06)}
.gt-client-shot-bar span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.18)}
.gt-client-shot-bar span:first-child{background:#ff6b6b}
.gt-client-shot-bar em{
  margin-left:10px;flex:1;min-width:0;
  padding:3px 10px;border-radius:8px;background:rgba(255,255,255,.06);
  color:#aab6cf;font-style:normal;font-size:.78rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.gt-client-shot img{display:block;width:100%;height:auto}
.gt-client-card{text-decoration:none;transition:transform .2s}
.gt-client-card:hover{transform:translateY(-2px)}
.gt-client-card span i{font-size:.75em;margin-left:.2rem}
.gt-client-visual .gt-inner-floating-top{top:6px}
.gt-client-visual .gt-inner-floating-bottom{bottom:20px}
@media (max-width: 1099px){
  .gt-client-visual{min-height:480px;justify-content:center}
  .gt-client-shot{margin:0 auto}
}
@media (max-width: 767px){
  .gt-client-visual{min-height:auto;display:grid}
  .gt-client-visual .gt-inner-floating-top{display:none}
}
/* Sur téléphone, les trois pastilles génériques du haut de page repoussaient
   l'exemple client et les prix sous la ligne de flottaison : masquées. */
@media (max-width: 575px){
  .gt-inner-highlights{display:none}
}

/* =====================================================
   Avis clients (affichés seulement s'il y en a)
   ===================================================== */
.gt-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gt-review{margin:0;padding:24px;border-radius:20px;background:#fff;border:1px solid var(--gt-line);box-shadow:var(--gt-shadow);display:flex;flex-direction:column;gap:14px}
.gt-review-stars{color:#f5b942;font-size:1.15rem;letter-spacing:2px;line-height:1}
.gt-review blockquote{margin:0;color:var(--gt-text);line-height:1.65;flex:1}
.gt-review figcaption{display:flex;flex-direction:column;gap:2px;font-size:.92rem;color:var(--gt-muted)}
.gt-review figcaption strong{color:var(--gt-text)}
.gt-review figcaption a{color:var(--gt-blue);text-decoration:none;font-weight:600}
@media (max-width: 991px){.gt-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 575px){.gt-reviews{grid-template-columns:1fr}}


/* =====================================================
   Accueil : hero noir et vitrine de vrais sites (oct. 2026)
   Noir neutre (pas de bleu nuit), aucun dégradé, aucun halo,
   aucune carte flottante. Le bleu de marque sert au bouton.
   ===================================================== */
.page-home{--nx-bg:#0b0b0b;--nx-line:#262626;--nx-muted:#9a9a9a}
.page-home .gt-header,
.page-home .gt-header.is-home{background:var(--nx-bg);border-bottom:1px solid var(--nx-line)}
.page-home .gt-nav-highlight{color:#fff!important}
.page-home .gt-nav-highlight i{display:none}
.page-home .gt-nav-cta{border-radius:6px}
.page-home .gt-mobile-bar{background:rgba(11,11,11,.97);border-top-color:var(--nx-line)}
@media (max-width: 1099px){
  .page-home .gt-nav-open .gt-nav{background:#141414;border-color:var(--nx-line);border-radius:8px}
}

.gt-nx-hero{background:var(--nx-bg);color:#fff;padding:72px 0 120px}
.gt-nx-wrap{max-width:1280px;margin:0 auto;padding:0 14px}
.gt-nx-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:64px;align-items:center}
.gt-nx-title{
  margin:0 0 28px;
  font-size:clamp(2.5rem,5vw,4.9rem);line-height:.98;letter-spacing:-.035em;
  font-weight:800;text-transform:uppercase;color:#fff;
}
.gt-nx-lead{margin:0 0 36px;max-width:520px;font-size:1.12rem;line-height:1.65;color:#c9c9c9}
.gt-nx-lead a{color:#fff;text-decoration:underline;text-decoration-color:#555;text-underline-offset:3px}
.gt-nx-lead a:hover{text-decoration-color:var(--gt-blue)}
.gt-nx-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.gt-nx-btn{
  display:inline-flex;align-items:center;min-height:54px;padding:0 28px;border-radius:6px;
  background:var(--gt-blue);color:#fff;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;
}
.gt-nx-btn:hover{background:#1f50d6;color:#fff;transform:translateY(-1px)}
.gt-nx-link{color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid #555;padding-bottom:3px}
.gt-nx-link:hover{color:#fff;border-color:#fff}

.gt-nx-frame{border:1px solid var(--nx-line);border-radius:12px;overflow:hidden;background:#151515}
.gt-nx-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--nx-line)}
.gt-nx-bar i{width:10px;height:10px;border-radius:50%;background:#333}
.gt-nx-bar span{
  margin-left:10px;flex:1;min-width:0;padding:4px 12px;border-radius:6px;background:#1f1f1f;
  font-size:.78rem;color:#a8a8a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.gt-nx-screens{position:relative;aspect-ratio:892/485;background:#111}
.gt-nx-screen{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;pointer-events:none}
.gt-nx-screen.is-active{opacity:1;pointer-events:auto}
.gt-nx-screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.gt-nx-screen.is-active img{animation:gt-nx-pan 6s ease-out both}
@keyframes gt-nx-pan{from{transform:scale(1.04)}to{transform:scale(1)}}
.gt-nx-under{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:16px}
.gt-nx-under p{margin:0;font-size:.92rem;color:var(--nx-muted)}
.gt-nx-under strong{color:#fff;font-weight:600}
.gt-nx-under-label{margin-right:.35rem}
.gt-nx-steps{display:flex;gap:6px;flex:0 0 auto}
.gt-nx-steps button{width:28px;height:3px;padding:0;border:0;border-radius:2px;background:#333;cursor:pointer;position:relative;overflow:hidden}
.gt-nx-steps button::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.gt-nx-steps button.is-active::after{animation:gt-nx-step 5s linear forwards}
.gt-nx-show.is-paused .gt-nx-steps button.is-active::after{animation-play-state:paused}
.gt-nx-steps button:focus-visible{outline:2px solid var(--gt-blue);outline-offset:4px}
@keyframes gt-nx-step{to{transform:scaleX(1)}}

.gt-nx-clients{display:flex;align-items:baseline;gap:24px;margin-top:64px;padding:22px 0 26px;border-top:1px solid var(--nx-line)}
.gt-nx-clients > span{flex:0 0 auto;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--nx-muted)}
.gt-nx-clients ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px}
.gt-nx-clients a{color:#d6d6d6;font-weight:600;text-decoration:none}
.gt-nx-clients a:hover{color:#fff}

@media (prefers-reduced-motion: reduce){
  .gt-nx-screen{transition:none}
  .gt-nx-screen.is-active img,.gt-nx-steps button.is-active::after{animation:none}
  .gt-nx-steps button.is-active::after{transform:scaleX(1)}
}
@media (max-width: 991px){
  .gt-nx-hero{padding-top:48px;padding-bottom:88px}
  .gt-nx-grid{grid-template-columns:1fr;gap:40px}
  .gt-nx-clients{margin-top:44px;flex-direction:column;gap:12px}
}
@media (max-width: 575px){
  .gt-nx-hero{padding-top:36px;padding-bottom:64px}
  .gt-nx-wrap{padding:0 16px}
  .gt-nx-title{font-size:clamp(2.1rem,10vw,2.6rem)}
  .gt-nx-lead{font-size:1.02rem;margin-bottom:28px}
  .gt-nx-btn{width:100%;justify-content:center}
  .gt-nx-under{flex-direction:column;align-items:flex-start;gap:10px}
}
.gt-house-logo.is-nuitstat,.gt-house-logo.is-piece2tel{background:transparent;padding:0}
.gt-house-logo.is-nuitstat img,.gt-house-logo.is-piece2tel img{width:64px;height:64px;max-width:none;max-height:none;border-radius:16px}

/* Page en cours dans le menu : trait bleu sous le lien (bureau),
   pastille à gauche dans le menu déroulant (mobile). */
.gt-nav a{position:relative}
.gt-nav a.is-active{color:#fff;font-weight:700}
.gt-nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:2px;background:var(--gt-blue)}
@media (max-width: 1099px){
  .gt-nav a.is-active::after{left:-12px;right:auto;top:50%;bottom:auto;width:4px;height:18px;transform:translateY(-50%)}
}

/* =====================================================
   Cartes de réalisations (page Réalisations, pages ville
   et métier) : capture, logo, texte, prestations, liens.
   ===================================================== */
.gt-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gt-work-grid.is-single{grid-template-columns:minmax(0,760px);justify-content:center}
.gt-work-card{
  display:flex;flex-direction:column;overflow:hidden;
  background:#fff;border:1px solid #e4e7ee;border-radius:16px;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.gt-work-card:hover{border-color:#cdd5e4;box-shadow:0 18px 40px rgba(15,23,42,.08);transform:translateY(-2px)}
.gt-work-shot{display:block;aspect-ratio:892/485;overflow:hidden;background:#f1f3f7;border-bottom:1px solid #e4e7ee}
.gt-work-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s ease}
.gt-work-card:hover .gt-work-shot img{transform:scale(1.03)}
.gt-work-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.gt-work-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.gt-work-logo{
  flex:0 0 56px;width:56px;height:56px;border-radius:12px;
  display:grid;place-items:center;padding:7px;
  background:#fff;border:1px solid #e4e7ee;
}
.gt-work-logo.is-dark{background:#141414;border-color:#141414}
.gt-work-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.gt-work-head h3{margin:0;font-size:1.18rem;font-weight:700;letter-spacing:-.01em;color:#0f172a}
.gt-work-meta{margin:2px 0 0;font-size:.86rem;color:#64748b}
.gt-work-text{margin:0 0 14px;color:#475569;line-height:1.6;font-size:.95rem}
.gt-work-tags{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.gt-work-tags li{padding:4px 10px;border-radius:6px;background:#f1f4f9;color:#334155;font-size:.8rem;font-weight:600}
.gt-work-links{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding-top:14px;border-top:1px solid #eef1f6}
.gt-work-visit{color:#0f172a;font-weight:700;font-size:.9rem;text-decoration:none}
.gt-work-visit:hover{color:var(--gt-blue)}
.gt-work-visit i,.gt-work-more i{font-size:.8em;margin-left:2px}
.gt-work-more{color:var(--gt-blue);font-weight:600;font-size:.88rem;text-decoration:none}
.gt-work-more:hover{text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion: reduce){.gt-work-card,.gt-work-shot img{transition:none}}
@media (max-width: 1099px){.gt-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 680px){.gt-work-grid{grid-template-columns:1fr}.gt-work-body{padding:18px}}

/* =====================================================
   Prix au mois en premier (12 mois sans frais)
   ===================================================== */
.gt-offer-plan{
  display:flex;align-items:center;gap:.4rem;
  margin:.55rem 0 0;color:#15803d;font-size:.84rem;font-weight:700;line-height:1.35;
}
.gt-offer-plan i{font-size:.95rem}
.gt-offer-cash{margin:.3rem 0 0;color:var(--gt-muted);font-size:.86rem;line-height:1.4}
.gt-offer-cash strong{color:var(--gt-text)}
.gt-offer-action i{margin-left:.35rem;transition:transform .18s ease}
.gt-offer-action:hover i{transform:translateX(3px)}
.gt-offer-secondary{
  display:block;margin-top:.7rem;text-align:center;
  color:var(--gt-muted);font-size:.85rem;font-weight:600;text-decoration:none;
}
.gt-offer-secondary:hover{color:var(--gt-blue);text-decoration:underline}

.gt-hero-price-tag:has(.gt-hero-price-alt){flex-wrap:wrap;row-gap:.15rem}
.gt-hero-price-alt{color:#c7d6f5;font-size:.88rem;font-weight:600}

.gt-nx-lead:has(+ .gt-nx-price){margin-bottom:16px}
.gt-nx-price{margin:0 0 30px;color:#9a9a9a;font-size:.98rem;line-height:1.5}
.gt-nx-price strong{color:#fff;font-weight:700}

/* Bloc « Au mois / En une fois / Concrètement » de la page tarifs */
.gt-paymodes{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;
  margin:28px 0 8px;
}
.gt-paymode{
  position:relative;display:flex;flex-direction:column;
  padding:24px 22px;border:1px solid var(--gt-line);border-radius:20px;background:#fff;
}
.gt-paymode.is-main{border-color:#2a63f2;box-shadow:0 18px 44px rgba(47,107,255,.12)}
.gt-paymode-tag{
  position:absolute;top:-12px;left:20px;padding:.2rem .65rem;border-radius:999px;
  background:#2a63f2;color:#fff;font-size:.75rem;font-weight:800;
}
.gt-paymode h3{display:flex;align-items:center;gap:.5rem;margin:0 0 .8rem;font-size:1.15rem;font-weight:800;color:var(--gt-text)}
.gt-paymode h3 i{color:var(--gt-blue)}
.gt-paymode ul,.gt-paymode ol{margin:0 0 .8rem;padding-left:1.1rem;display:grid;gap:.4rem;color:#3c4a63;font-size:.93rem;line-height:1.5}
.gt-paymode p{margin:auto 0 0;color:var(--gt-muted);font-size:.84rem}
.gt-paymode .btn{margin-top:auto;align-self:flex-start}
@media (max-width: 991px){
  .gt-paymodes{grid-template-columns:1fr}
}

/* --- Simulateur : mode de paiement, confiance, confirmation --- */
.gt-sim-paymode{
  display:grid;grid-template-columns:1fr 1fr;gap:4px;
  margin:.2rem 0 .9rem;padding:4px;border-radius:12px;background:#eef2fb;
}
.gt-sim-paymode label{position:relative;margin:0;cursor:pointer}
.gt-sim-paymode input{position:absolute;opacity:0;pointer-events:none}
.gt-sim-paymode span{
  display:block;padding:.5rem .4rem;border-radius:9px;text-align:center;
  color:#526079;font-size:.88rem;font-weight:700;transition:background .15s ease,color .15s ease;
}
.gt-sim-paymode input:checked + span{background:#fff;color:var(--gt-blue);box-shadow:0 2px 8px rgba(15,23,42,.08)}
.gt-sim-paymode input:focus-visible + span{outline:2px solid var(--gt-blue);outline-offset:1px}
.gt-sim-plan{margin:.1rem 0 0;color:#243049;font-size:.88rem;font-weight:600;line-height:1.45}
.gt-sim-paynote{margin:.25rem 0 .2rem;color:var(--gt-muted);font-size:.8rem;line-height:1.45}
.gt-sim-paynote:empty{display:none}
.gt-sim-card .gt-sim-disclaimer{margin:.9rem 0 .9rem}
.gt-sim-trust{list-style:none;margin:.85rem 0 0;padding:0;display:grid;gap:.3rem}
.gt-sim-trust li{display:flex;gap:.4rem;align-items:flex-start;color:#3c4a63;font-size:.84rem;line-height:1.4}
.gt-sim-trust i{color:#15803d;margin-top:.05rem}
.gt-sim-done{margin-top:.6rem;padding:1rem 1rem .9rem;border-radius:14px;background:#ecfdf3;border:1px solid #bbf0cf;outline:none}
.gt-sim-done-title{display:flex;align-items:center;gap:.45rem;margin:0 0 .5rem;color:#15803d;font-weight:800}
.gt-sim-done ol{margin:0 0 .5rem;padding-left:1.1rem;display:grid;gap:.25rem;color:#243049;font-size:.88rem;line-height:1.45}
.gt-sim-done-more{margin:0;color:#3c4a63;font-size:.85rem}
.gt-sim-done-more a{color:var(--gt-blue);font-weight:700}

.gt-sim-mbar{display:none}
@media (max-width: 991px){
  .gt-page-simulateur .gt-mobile-bar{display:none}
  .gt-sim-mbar{
    position:fixed;left:0;right:0;bottom:0;z-index:1040;
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(9,16,31,.96);color:#fff;
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    box-shadow:0 -10px 30px rgba(0,0,0,.25);
    transition:transform .2s ease;
  }
  .gt-sim-mbar.is-hidden{transform:translateY(110%)}
  .gt-sim-mbar div{display:grid;min-width:0}
  .gt-sim-mbar strong{font-size:1.15rem;font-weight:800;white-space:nowrap}
  .gt-sim-mbar small{color:#b8c2d6;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .gt-sim-mbar .btn{flex:0 0 auto;min-height:44px}
}
@media (prefers-reduced-motion: reduce){
  .gt-sim-mbar{transition:none}
}

/* Maintenance : fenêtre d'accès équipe (5 clics sur le logo) */
#gt-maint-unlock{cursor:default;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.gt-maint-modal{
  position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;
  padding:16px;background:rgba(3,7,18,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.gt-maint-modal.is-open{display:flex}
.gt-maint-modal-box{
  width:min(100%,380px);padding:1.5rem 1.4rem;border-radius:18px;
  background:#0f172a;border:1px solid rgba(255,255,255,.12);color:#e2e8f0;
  box-shadow:0 30px 70px rgba(0,0,0,.45);
}
.gt-maint-modal-box h2{margin:0 0 .35rem;font-size:1.2rem;color:#fff}
.gt-maint-modal-box p{margin:0 0 .9rem;font-size:.9rem;color:#a9b4c8}
.gt-maint-modal-box label{display:block;margin-bottom:.3rem;font-size:.85rem;font-weight:600}
.gt-maint-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
.gt-maint-modal-actions .btn-outline-secondary{color:#cbd5e1;border-color:rgba(255,255,255,.25)}

/* =====================================================
   Page de maintenance, version noire (même langage que l'accueil)
   ===================================================== */
.gt-maint.gt-mt-body{background:#0b0b0b;color:#fff}
.gt-mt{
  --mt-line:#262626;--mt-muted:#9a9a9a;
  width:min(1280px,100%);min-height:100vh;margin:0 auto;padding:28px 24px 24px;
  display:flex;flex-direction:column;
}
.gt-mt-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:22px;border-bottom:1px solid var(--mt-line)}
.gt-mt-logo{display:inline-flex;flex-direction:column;line-height:.82}
.gt-mt-logo span{font-size:2.6rem;font-weight:800;letter-spacing:-.06em;color:#fff}
.gt-mt-logo small{font-size:1rem;font-weight:800;letter-spacing:-.02em;color:var(--gt-blue)}
.gt-mt-status{margin:0;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mt-muted)}

.gt-mt-grid{
  flex:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:72px;
  align-items:center;padding:56px 0;
}
.gt-mt-kicker{margin:0 0 18px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mt-muted)}
.gt-mt-title{
  margin:0 0 26px;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.95;letter-spacing:-.04em;
  font-weight:800;text-transform:uppercase;color:#fff;
}
.gt-mt-lead{margin:0 0 40px;max-width:520px;font-size:1.08rem;line-height:1.65;color:#c9c9c9}
.gt-mt-contact{list-style:none;margin:0;padding:0;max-width:520px;border-top:1px solid var(--mt-line)}
.gt-mt-contact li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:15px 0;border-bottom:1px solid var(--mt-line)}
.gt-mt-contact span{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mt-muted)}
.gt-mt-contact a{color:#fff;font-weight:600;text-decoration:none;text-align:right;overflow-wrap:anywhere}
.gt-mt-contact a:hover{color:var(--gt-blue)}

.gt-mt-form-wrap{padding:36px 34px;border:1px solid var(--mt-line);border-radius:12px;background:#121212}
.gt-mt-form-wrap h2{margin:0 0 8px;font-size:1.55rem;font-weight:800;letter-spacing:-.02em;color:#fff}
.gt-mt-form-wrap > p{margin:0 0 26px;color:var(--mt-muted);font-size:.95rem}
.gt-mt-row{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.gt-mt-field{margin-bottom:20px}
.gt-mt-field label{display:block;margin-bottom:6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mt-muted)}
.gt-mt-field input,.gt-mt-field textarea{
  width:100%;padding:8px 0 10px;border:0;border-bottom:1px solid #3a3a3a;border-radius:0;
  background:transparent;color:#fff;font:inherit;font-size:1rem;transition:border-color .15s;
}
.gt-mt-field textarea{resize:vertical;min-height:96px}
.gt-mt-field input::placeholder,.gt-mt-field textarea::placeholder{color:#5c5c5c}
.gt-mt-field input:focus,.gt-mt-field textarea:focus{outline:none;border-bottom-color:var(--gt-blue)}
.gt-mt-field input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 40px #121212 inset}
.gt-mt-send{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:6px}
.gt-mt-btn{
  display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 28px;border:0;border-radius:6px;
  background:var(--gt-blue);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background .15s,transform .15s;
}
.gt-mt-btn:hover{background:#1f50d6;transform:translateY(-1px)}
.gt-mt-form .gt-form-status.is-success{color:#4ade80}
.gt-mt-form .gt-form-status.is-error{color:#f87171}

.gt-mt-foot{display:flex;justify-content:space-between;align-items:baseline;gap:1rem 2rem;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--mt-line)}
.gt-mt-clients{margin:0;color:#d6d6d6;font-size:.92rem;font-weight:600;line-height:1.7}
.gt-mt-clients span{margin-right:16px;font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--mt-muted)}
.gt-mt-copy-note{margin:0;font-size:.82rem;color:#666}

@media (max-width: 991px){
  .gt-mt-grid{grid-template-columns:1fr;gap:44px;padding:40px 0}
  .gt-mt-form-wrap{padding:28px 22px}
}
@media (max-width: 560px){
  .gt-mt{padding:20px 16px}
  .gt-mt-logo span{font-size:2.1rem}
  .gt-mt-row{grid-template-columns:1fr}
  .gt-mt-btn{width:100%;justify-content:center}
  .gt-mt-contact li{flex-direction:column;gap:4px}
  .gt-mt-contact a{text-align:left}
}

/* =====================================================
   Captcha maison (app/views/partials/captcha.php)
   ===================================================== */
.gt-captcha{display:inline-flex;flex-direction:column;gap:5px}
.gt-captcha-box{
  display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 16px 0 12px;
  border:1px solid #d5dbe6;border-radius:6px;background:#fff;color:#1b2434;
  font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:border-color .15s;
}
.gt-captcha-box:hover{border-color:#9fb1cf}
.gt-captcha-box:focus-visible{outline:2px solid var(--gt-blue);outline-offset:2px}
.gt-captcha-tick{
  position:relative;flex:0 0 auto;width:22px;height:22px;border:2px solid #9aa6ba;border-radius:4px;
  transition:background .15s,border-color .15s;
}
.gt-captcha[data-state="working"] .gt-captcha-tick{border-color:var(--gt-blue);border-right-color:transparent;border-radius:50%;animation:gt-captcha-spin .7s linear infinite}
.gt-captcha[data-state="done"] .gt-captcha-tick{background:#16a34a;border-color:#16a34a}
.gt-captcha[data-state="done"] .gt-captcha-tick::after{
  content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.gt-captcha[data-state="done"] .gt-captcha-box{border-color:#16a34a;cursor:default}
.gt-captcha[data-state="error"] .gt-captcha-tick{border-color:#dc2626}
.gt-captcha[data-state="error"] .gt-captcha-label{color:#dc2626}
.gt-captcha-note{font-size:.74rem;color:#7a8599}
.gt-captcha-noscript{font-size:.82rem;color:#c0392b}
@keyframes gt-captcha-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){
  .gt-captcha[data-state="working"] .gt-captcha-tick{animation:none;border-right-color:var(--gt-blue)}
}
.gt-captcha.is-dark .gt-captcha-box{background:transparent;border-color:#3a3a3a;color:#fff}
.gt-captcha.is-dark .gt-captcha-box:hover{border-color:#5a5a5a}
.gt-captcha.is-dark .gt-captcha-tick{border-color:#6b6b6b}
.gt-captcha.is-dark .gt-captcha-note{color:#6f6f6f}
.gt-captcha.is-dark[data-state="done"] .gt-captcha-box{border-color:#16a34a}

/* =============================================================
   Mobile : blocs repensés au lieu d'empiler les lignes par défaut
   - bandeau de chiffres de l'accueil : tuiles sur deux colonnes,
     la dernière en pleine largeur (5 éléments : pas de case orpheline) ;
   - pied de page : colonnes repliables derrière leur titre ;
   - liste de villes : deux liens par ligne, avec une flèche ;
   - avantages de la page Tarifs : tuiles sur deux colonnes.
   ============================================================= */
.gt-footer-toggle{
  all:unset;
  display:block;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  cursor:default;
}
.gt-link-list-arrow{flex:0 0 auto;color:var(--gt-blue);font-size:.95rem}

@media (max-width: 1099px){
  .gt-home-stats-bar{padding:30px 0}
  .gt-home-stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    padding:0;
  }
  .gt-home-stats-grid div{
    grid-template-columns:1fr;
    align-content:start;
    gap:4px;
    padding:16px 16px 18px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:linear-gradient(160deg,rgba(67,114,255,.12) 0%,rgba(255,255,255,.03) 55%);
  }
  .gt-home-stats-grid i{
    grid-row:auto;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    margin-bottom:10px;
    border-radius:12px;
    background:rgba(67,114,255,.18);
    color:#8eacff;
    font-size:1.1rem;
  }
  .gt-home-stats-grid strong{font-size:1.8rem}
  .gt-home-stats-grid span{font-size:.84rem;line-height:1.35}
  .gt-home-stats-grid div:last-child{
    grid-column:1 / -1;
    grid-template-columns:auto 1fr;
    align-items:center;
    column-gap:14px;
  }
  .gt-home-stats-grid div:last-child i{grid-row:1 / span 2;margin-bottom:0}
}
@media (max-width: 480px){
  .gt-home-stats-grid strong{font-size:1.6rem}
}

@media (max-width: 767px){
  .gt-footer-links{gap:0;padding-top:8px;padding-bottom:20px}
  .gt-footer-column{border-bottom:1px solid rgba(255,255,255,.08)}
  .gt-footer-column:last-child{border-bottom:0;padding-top:18px}
  .gt-footer-column.is-collapsible h4{margin:0}
  .gt-footer-column.is-collapsible h4::after{display:none}
  .gt-footer-toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:56px;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .gt-footer-toggle::after{
    content:"";
    width:9px;
    height:9px;
    margin-right:4px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translateY(-3px) rotate(45deg);
    transition:transform .2s ease;
  }
  .gt-footer-column.is-open .gt-footer-toggle::after{transform:translateY(2px) rotate(-135deg)}
  .gt-footer-toggle:focus-visible{outline:2px solid #6f96ff;outline-offset:2px;border-radius:6px}
  .js .gt-footer-column.is-collapsible ul{display:none}
  .js .gt-footer-column.is-collapsible.is-open ul{display:grid;padding-bottom:14px}
}

@media (max-width: 575.98px){
  .gt-link-list.is-plain{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gt-link-list.is-plain li:last-child:nth-child(odd){grid-column:1 / -1}
  .gt-link-list.is-plain a{align-items:flex-start;padding:.85rem .9rem}
  .gt-link-list.is-plain .gt-link-list-name{font-size:.9rem}
  .gt-link-list.is-plain .gt-link-list-arrow{margin-top:2px}
}

@media (max-width: 767px){
  .gt-offers-benefits{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    padding:20px 0;
    border:0;
  }
  .gt-offers-benefit{
    flex-direction:column;
    gap:10px;
    padding:16px;
    border:1px solid #e6edf7;
    border-radius:18px;
    background:#fff;
  }
  .gt-offers-benefit-icon{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:12px;
    background:#eef4ff;
    font-size:1.2rem;
  }
  .gt-offers-benefit h3{font-size:.95rem}
  .gt-offers-benefit p{font-size:.84rem;line-height:1.45}
  .gt-offers-benefit:last-child:nth-child(odd){grid-column:1 / -1}
}
