
@font-face{
  font-family:"Space Grotesk";
  src:url("/assets/fonts/space-grotesk-variable.woff2") format("woff2-variations");
  font-weight:300 700;font-style:normal;font-display:swap;
}
:root{
  --gyp-ink:#16233a; --gyp-ink2:#0f1a2c; --gyp-hot:#ff5a1f; --gyp-hot2:#ff7440;
  --gyp-pale:#f1f4f9; --gyp-glacier:#e6ecf5; --gyp-body:#3a4657; --gyp-mut:#5d6b7e;
  --gyp-white:#ffffff; --gyp-cadre:3px solid var(--gyp-ink); --gyp-cadre2:2px solid var(--gyp-ink);
  --gyp-porte:6px 6px 0 var(--gyp-ink); --gyp-porte-hot:6px 6px 0 var(--gyp-hot);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:400 16.5px/1.62 "Space Grotesk","Segoe UI",Arial,sans-serif;color:var(--gyp-ink);background:var(--gyp-white);}
img{max-width:100%;display:block}
a{color:inherit}
[id]{scroll-margin-top:92px}
.gyp-rail{max-width:1180px;margin:0 auto;padding:0 24px}
.gyp-ico{width:1.05em;height:1.05em;flex-shrink:0;vertical-align:-.16em}

/* ---- Section wrappers ---- */
.gyp-bloc{padding:76px 0}
.gyp-bloc--pale{background:var(--gyp-pale)}
.gyp-bloc--glacier{background:var(--gyp-glacier)}
.gyp-bloc--ink{background:var(--gyp-ink);color:#fff}
.gyp-tag{display:inline-block;background:var(--gyp-hot);color:#fff;font-size:.72rem;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase;padding:6px 14px;border:var(--gyp-cadre2);margin-bottom:1rem}
.gyp-bloc--ink .gyp-tag{border-color:var(--gyp-hot)}
.gyp-tete{max-width:820px;margin-bottom:2.4rem}
.gyp-h2{font-size:clamp(1.7rem,3.5vw,2.5rem);font-weight:700;line-height:1.06;letter-spacing:-.02em;
  text-transform:uppercase;color:var(--gyp-ink)}
.gyp-bloc--ink .gyp-h2{color:#fff}
.gyp-h2 mark{background:var(--gyp-hot);color:#fff;padding:0 .12em}
.gyp-sous{margin-top:.85rem;color:var(--gyp-mut);font-size:1.03rem;max-width:660px}
.gyp-bloc--ink .gyp-sous{color:#a9b8cd}

/* ---- Boutons ---- */
.gyp-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;
  font-family:inherit;font-size:.98rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  text-decoration:none;border:var(--gyp-cadre);cursor:pointer;transition:transform .1s,box-shadow .1s,background .12s}
.gyp-cta--hot{background:var(--gyp-hot);color:#fff;box-shadow:var(--gyp-porte)}
.gyp-cta--hot:hover{background:var(--gyp-hot2);transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--gyp-ink)}
.gyp-cta--ink{background:var(--gyp-ink);color:#fff;box-shadow:var(--gyp-porte-hot)}
.gyp-cta--ink:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--gyp-hot)}
.gyp-cta--ghost{background:transparent;color:var(--gyp-ink);box-shadow:none}
.gyp-cta--ghost:hover{background:var(--gyp-hot);color:#fff;border-color:var(--gyp-hot)}

/* ---- Header ---- */
.gyp-entete{position:sticky;top:0;z-index:200;background:#fff;border-bottom:var(--gyp-cadre)}
.gyp-entete-rang{max-width:1180px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:22px;position:relative}
.gyp-marque{text-decoration:none;line-height:1.05;display:flex;align-items:center;gap:11px}
.gyp-marque svg{width:40px;height:40px;flex-shrink:0}
.gyp-marque strong{display:block;font-size:1.2rem;font-weight:700;letter-spacing:-.02em;text-transform:uppercase;color:var(--gyp-ink)}
.gyp-marque strong i{font-style:normal;background:var(--gyp-hot);color:#fff;padding:0 .12em}
.gyp-marque small{display:block;font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gyp-mut);margin-top:2px}
.gyp-nav{display:flex;gap:2px;margin-left:auto}
.gyp-nav a{color:var(--gyp-ink);text-decoration:none;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:9px 12px}
.gyp-nav a:hover{background:var(--gyp-hot);color:#fff}
.gyp-drop{position:relative}
.gyp-drop > a::after{content:"▾";margin-left:5px;font-size:.7em}
.gyp-drop-menu{display:none;position:absolute;top:100%;left:0;min-width:270px;background:#fff;border:var(--gyp-cadre);box-shadow:var(--gyp-porte);padding:6px 0;z-index:50}
.gyp-drop:hover .gyp-drop-menu,.gyp-drop:focus-within .gyp-drop-menu{display:block}
.gyp-drop-menu a{display:block;padding:10px 16px;letter-spacing:.03em}
.gyp-entete-tel{display:inline-flex;align-items:center;gap:10px;background:var(--gyp-hot);color:#fff;border:var(--gyp-cadre);
  text-decoration:none;font-weight:700;font-size:1.16rem;padding:8px 16px;white-space:nowrap;transition:transform .1s,box-shadow .1s}
.gyp-entete-tel:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--gyp-ink)}
.gyp-entete-tel small{font-size:.58rem;font-weight:700;letter-spacing:.13em;display:block;line-height:1.2;text-transform:uppercase}
.gyp-burger{display:none;margin-left:auto;background:var(--gyp-ink);color:#fff;border:var(--gyp-cadre);font-family:inherit;
  font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:10px 14px;cursor:pointer}

/* ---- Hero accueil ---- */
.gyp-hero{background:var(--gyp-ink);color:#fff;padding:60px 0 120px;position:relative}
.gyp-hero-flash{display:inline-flex;align-items:center;gap:9px;border:2px solid var(--gyp-hot);color:var(--gyp-hot);
  font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:7px 14px;margin-bottom:1.3rem}
.gyp-hero-flash .gyp-pastille{width:9px;height:9px;background:var(--gyp-hot);animation:gyppouls 1.7s ease-in-out infinite}
@keyframes gyppouls{0%,100%{opacity:1}50%{opacity:.25}}
.gyp-hero h1{font-size:clamp(2.1rem,5.2vw,3.7rem);font-weight:700;line-height:1;letter-spacing:-.025em;text-transform:uppercase;max-width:900px}
.gyp-hero h1 mark{background:var(--gyp-hot);color:#fff;padding:0 .1em}
.gyp-hero .gyp-promesse{margin-top:1.1rem;font-size:1.12rem;color:#b9c6da;max-width:600px}
.gyp-hero .gyp-promesse strong{color:#fff;font-weight:700}
.gyp-hero-avis{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:1.3rem;font-size:.92rem;color:#b9c6da}
.gyp-hero-avis .gyp-etoiles{color:var(--gyp-hot);letter-spacing:2px;font-size:1rem}
.gyp-hero-avis strong{color:#fff}
.gyp-hero-avis .gyp-deja{background:rgba(255,90,31,.15);border:1px solid rgba(255,90,31,.5);color:var(--gyp-hot);
  font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:4px 10px}
.gyp-hero-appel{margin-top:2rem;display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap}
.gyp-devis-cta{background:var(--gyp-hot);color:#fff;border:var(--gyp-cadre);box-shadow:6px 6px 0 rgba(255,90,31,.28);
  padding:17px 32px;text-decoration:none;font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;
  transition:transform .1s,box-shadow .1s}
.gyp-devis-cta:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 rgba(255,90,31,.28)}
.gyp-mega-tel{display:inline-block;background:#fff;color:var(--gyp-ink);text-decoration:none;border:var(--gyp-cadre);padding:12px 26px 14px}
.gyp-mega-tel small{display:block;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:3px;color:var(--gyp-mut)}
.gyp-mega-tel b{display:block;font-size:clamp(1.5rem,3.6vw,2.15rem);font-weight:700;line-height:1;white-space:nowrap}

/* ---- Bande de preuves ---- */
.gyp-preuves{position:relative;z-index:5;width:min(920px,calc(100% - 48px));margin:-64px auto 0;background:#fff;
  border:var(--gyp-cadre);box-shadow:var(--gyp-porte);display:grid;grid-template-columns:repeat(4,1fr)}
.gyp-preuve{padding:22px 22px 20px}
.gyp-preuve + .gyp-preuve{border-left:var(--gyp-cadre)}
.gyp-preuve b{display:block;font-size:clamp(1.7rem,3.6vw,2.6rem);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--gyp-ink)}
.gyp-preuve b i{font-style:normal;color:var(--gyp-hot)}
.gyp-preuve span{display:block;margin-top:6px;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gyp-mut)}

/* ---- Photo bandeau ---- */
.gyp-bandeau{position:relative;margin-top:44px;border-bottom:var(--gyp-cadre)}
.gyp-bandeau img{width:100%;height:clamp(240px,38vw,420px);object-fit:cover}
.gyp-bandeau figcaption{position:absolute;left:0;bottom:24px;background:var(--gyp-ink);color:#fff;font-size:.84rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.07em;padding:11px 20px;border-top:3px solid var(--gyp-hot);border-right:3px solid var(--gyp-hot);border-bottom:3px solid var(--gyp-hot)}
.gyp-bandeau figcaption i{font-style:normal;color:var(--gyp-hot)}

/* ---- Bande formulaire horizontale (accueil) ---- */
.gyp-rappel{background:var(--gyp-hot);border-bottom:var(--gyp-cadre);padding:42px 0 46px}
.gyp-rappel h2{font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;color:#fff}
.gyp-rappel .gyp-consigne{color:#ffe4d7;font-size:.95rem;margin:5px 0 20px}
.gyp-rappel-form{display:grid;grid-template-columns:1.1fr 1fr 1.15fr 1fr 1.2fr 1.3fr auto;gap:12px;align-items:end}
.gyp-champ label{display:block;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:5px}
.gyp-champ input,.gyp-champ select,.gyp-champ textarea{width:100%;padding:12px;border:var(--gyp-cadre);background:#fff;font-family:inherit;font-size:.92rem;color:var(--gyp-ink)}
.gyp-champ input:focus,.gyp-champ select:focus,.gyp-champ textarea:focus{outline:3px solid var(--gyp-ink);outline-offset:1px}
.gyp-rappel-form .gyp-cta{padding:14px 22px}
.gyp-rappel .gyp-promis{margin-top:14px;font-size:.78rem;color:#ffe4d7}
.gyp-leurre{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden}

/* ---- Prestations : bandes pleine largeur ---- */
.gyp-presta-bande{padding:62px 0;border-bottom:var(--gyp-cadre)}
.gyp-presta-bande--pale{background:var(--gyp-pale)}
.gyp-presta-bande--ink{background:var(--gyp-ink);color:#fff}
.gyp-presta-rang{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:center}
.gyp-presta-rang.gyp-miroir{grid-template-columns:1.08fr .92fr}
.gyp-presta-rang > *{min-width:0}
.gyp-presta-visuel{position:relative}
.gyp-presta-visuel img{width:100%;height:300px;object-fit:cover;border:var(--gyp-cadre);box-shadow:var(--gyp-porte)}
.gyp-presta-bande--ink .gyp-presta-visuel img{box-shadow:var(--gyp-porte-hot);border-color:var(--gyp-hot)}
.gyp-presta-prix{position:absolute;top:-16px;left:-14px;background:var(--gyp-hot);color:#fff;border:var(--gyp-cadre);font-size:.9rem;font-weight:700;padding:8px 14px}
.gyp-presta-txt h3{font-size:clamp(1.45rem,2.7vw,2rem);font-weight:700;line-height:1.05;text-transform:uppercase;letter-spacing:-.015em;color:var(--gyp-ink)}
.gyp-presta-txt h3 a{text-decoration:none;color:inherit}
.gyp-presta-txt h3 a:hover{color:var(--gyp-hot)}
.gyp-presta-bande--ink .gyp-presta-txt h3{color:#fff}
.gyp-presta-txt h3 mark{background:var(--gyp-hot);color:#fff;padding:0 .1em}
.gyp-presta-txt p{color:var(--gyp-mut);max-width:540px;margin-top:12px}
.gyp-presta-bande--ink .gyp-presta-txt p{color:#a9b8cd}
.gyp-inclus{list-style:none;margin:16px 0 20px;display:flex;flex-direction:column;gap:9px}
.gyp-inclus li{font-weight:500;font-size:.95rem;padding-left:26px;position:relative}
.gyp-inclus li::before{content:"✓";position:absolute;left:0;top:0;color:var(--gyp-hot);font-weight:700}
.gyp-presta-bande--ink .gyp-inclus li::before{color:var(--gyp-hot)}

/* ---- Grille de cartes prestations (pages prestations / villes) ---- */
.gyp-presta-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gyp-carte{border:var(--gyp-cadre);background:#fff;display:flex;flex-direction:column}
.gyp-carte > *{min-width:0}
.gyp-carte-media{position:relative}
.gyp-carte-media img{width:100%;height:200px;object-fit:cover;border-bottom:var(--gyp-cadre)}
.gyp-carte-prix{position:absolute;bottom:10px;right:10px;background:var(--gyp-hot);color:#fff;font-size:.78rem;font-weight:700;padding:5px 11px;border:2px solid #fff}
.gyp-carte-corps{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.gyp-carte h3{font-size:1.06rem;font-weight:700;text-transform:uppercase;color:var(--gyp-ink);line-height:1.2}
.gyp-carte h3 a{text-decoration:none;color:inherit}
.gyp-carte h3 a:hover{color:var(--gyp-hot)}
.gyp-carte p{font-size:.9rem;color:var(--gyp-mut);margin:9px 0 12px}
.gyp-carte-inclus{list-style:none;margin-top:auto;display:flex;flex-direction:column;gap:6px}
.gyp-carte-inclus li{font-size:.84rem;padding-left:22px;position:relative;color:var(--gyp-body)}
.gyp-carte-inclus li::before{content:"✓";position:absolute;left:0;color:var(--gyp-hot);font-weight:700}

/* ---- Pourquoi nous choisir ---- */
.gyp-pk{display:grid;grid-template-columns:1.2fr .9fr;gap:38px;align-items:stretch}
.gyp-pk-list{display:flex;flex-direction:column;gap:22px}
.gyp-pk-item{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start}
.gyp-pk-item .gyp-pk-ico{width:56px;height:56px;background:var(--gyp-hot);border:var(--gyp-cadre);display:flex;align-items:center;justify-content:center;color:#fff}
.gyp-pk-item h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;color:var(--gyp-ink);margin-bottom:4px}
.gyp-pk-item p{font-size:.93rem;color:var(--gyp-mut)}
.gyp-pk-stats{background:var(--gyp-ink);color:#fff;border:var(--gyp-cadre);box-shadow:var(--gyp-porte-hot);padding:30px 28px;display:flex;flex-direction:column;justify-content:center;gap:16px;text-align:left}
.gyp-pk-stats .gyp-note-big{font-size:2.6rem;font-weight:700;line-height:1;color:var(--gyp-hot)}
.gyp-pk-stats .gyp-note-big span{font-size:.9rem;color:#a9b8cd;font-weight:500}
.gyp-pk-chiffres{display:flex;gap:26px;flex-wrap:wrap}
.gyp-pk-chiffres b{display:block;font-size:1.7rem;font-weight:700;color:#fff;line-height:1}
.gyp-pk-chiffres span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:#a9b8cd}
.gyp-pk-stats .gyp-cta{margin-top:4px}

/* ---- Prix : étiquettes ---- */
.gyp-prix-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.gyp-prix-carte{background:#fff;border:var(--gyp-cadre);box-shadow:var(--gyp-porte);padding:26px 22px 24px;position:relative}
.gyp-prix-carte--star{background:var(--gyp-ink);color:#fff;box-shadow:var(--gyp-porte-hot);border-color:var(--gyp-hot)}
.gyp-prix-carte .gyp-griffe{position:absolute;top:-14px;left:18px;background:var(--gyp-hot);color:#fff;border:2px solid var(--gyp-ink);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:4px 10px}
.gyp-prix-carte h3{font-size:.94rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gyp-ink);min-height:2.6em}
.gyp-prix-carte--star h3{color:var(--gyp-hot)}
.gyp-prix-carte .gyp-montant{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--gyp-ink);margin:10px 0 4px}
.gyp-prix-carte--star .gyp-montant{color:#fff}
.gyp-prix-carte .gyp-montant sup{font-size:.42em;font-weight:700}
.gyp-prix-carte .gyp-portee{font-size:.82rem;color:var(--gyp-mut)}
.gyp-prix-carte--star .gyp-portee{color:#a9b8cd}
.gyp-prix-carte .gyp-detail{margin-top:14px;padding-top:14px;border-top:2px solid var(--gyp-pale);font-size:.85rem;color:var(--gyp-mut)}
.gyp-prix-carte--star .gyp-detail{border-top-color:#26344a;color:#a9b8cd}
.gyp-prix-note{margin-top:26px;font-size:.85rem;color:var(--gyp-mut);max-width:760px}
/* Tableau de prix (pages prestations) */
.gyp-prix-table{width:100%;border-collapse:collapse;border:var(--gyp-cadre);background:#fff}
.gyp-prix-table th,.gyp-prix-table td{text-align:left;padding:13px 16px;border-bottom:2px solid var(--gyp-pale);font-size:.94rem}
.gyp-prix-table th{background:var(--gyp-ink);color:#fff;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em}
.gyp-prix-table td:last-child{font-weight:700;color:var(--gyp-hot);white-space:nowrap}
.gyp-prix-table tr:last-child td{border-bottom:none}

/* ---- Simulateur ---- */
.gyp-calc{display:grid;grid-template-columns:1fr .85fr;gap:38px;align-items:stretch}
.gyp-calc-in{background:#fff;border:3px solid var(--gyp-hot);padding:28px 26px;color:var(--gyp-ink)}
.gyp-calc-in label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gyp-ink);margin:16px 0 5px}
.gyp-calc-in label:first-child{margin-top:0}
.gyp-calc-in select,.gyp-calc-in input{width:100%;padding:12px;border:var(--gyp-cadre);background:#fff;font-family:inherit;font-size:.94rem;color:var(--gyp-ink)}
.gyp-calc-in select:focus,.gyp-calc-in input:focus{outline:3px solid var(--gyp-hot);outline-offset:1px}
.gyp-calc-out{background:var(--gyp-hot);color:#fff;border:var(--gyp-cadre);box-shadow:6px 6px 0 rgba(255,90,31,.25);padding:32px 28px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.gyp-calc-out .gyp-ctx{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffe4d7}
.gyp-calc-out .gyp-verdict{font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:700;line-height:1;letter-spacing:-.03em}
.gyp-calc-out .gyp-reserve{font-size:.8rem;color:#ffe4d7}
.gyp-calc-out .gyp-cta{align-self:flex-start;margin-top:6px}

/* ---- Process steps ---- */
.gyp-steps{display:grid;grid-template-columns:repeat(4,1fr);border:var(--gyp-cadre);background:#fff;box-shadow:var(--gyp-porte)}
.gyp-pas{padding:28px 24px 26px;position:relative}
.gyp-pas + .gyp-pas{border-left:var(--gyp-cadre)}
.gyp-pas .gyp-num{font-size:2.9rem;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--gyp-hot);text-shadow:3px 3px 0 var(--gyp-ink)}
.gyp-pas h3{font-size:1.02rem;font-weight:700;text-transform:uppercase;margin:12px 0 7px;color:var(--gyp-ink)}
.gyp-pas p{font-size:.9rem;color:var(--gyp-mut)}

/* ---- Avis ---- */
.gyp-avis-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gyp-avis{background:#fff;border:var(--gyp-cadre);padding:22px 22px;display:flex;flex-direction:column;gap:11px}
.gyp-bloc--pale .gyp-avis,.gyp-bloc--glacier .gyp-avis{box-shadow:var(--gyp-porte)}
.gyp-avis .gyp-etoiles{color:var(--gyp-hot);letter-spacing:2px;font-size:1.05rem}
.gyp-avis p{font-size:.95rem;font-weight:500;line-height:1.5;flex:1;text-align:left}
.gyp-avis .gyp-sign{font-size:.82rem;color:var(--gyp-mut);font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.gyp-avis .gyp-sign b{color:var(--gyp-ink)}
.gyp-avis-plus{display:none}
.gyp-avis-grille.gyp-ouvert .gyp-avis-plus{display:flex}
.gyp-avis-toggle{margin:26px auto 0;display:block}
.gyp-avis-resume{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:26px;flex-wrap:wrap}
.gyp-avis-resume .gyp-note-globale{background:var(--gyp-hot);color:#fff;border:var(--gyp-cadre);font-size:1.15rem;font-weight:700;padding:8px 16px}
.gyp-avis-resume span{font-size:.9rem;color:var(--gyp-mut);font-weight:500}

/* ---- Zone d'intervention ---- */
.gyp-zone{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.gyp-zone-txt > p{color:var(--gyp-mut);margin-bottom:1.1rem;max-width:600px}
.gyp-zone-txt > p strong{color:var(--gyp-ink)}
.gyp-communes{display:flex;flex-wrap:wrap;gap:10px}
.gyp-communes a{background:#fff;border:2px solid var(--gyp-ink);color:var(--gyp-ink);text-decoration:none;font-size:.86rem;font-weight:700;padding:8px 14px;transition:background .12s,color .12s}
.gyp-communes a:hover{background:var(--gyp-hot);color:#fff;border-color:var(--gyp-hot)}
.gyp-zone-carte iframe{width:100%;height:420px;border:var(--gyp-cadre);display:block}
.gyp-zone-lien{display:inline-block;margin-top:14px;font-weight:700;text-transform:uppercase;font-size:.86rem;letter-spacing:.05em;color:var(--gyp-ink);border-bottom:3px solid var(--gyp-hot);text-decoration:none;padding-bottom:2px}

/* ---- Réalisations ---- */
.gyp-real-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gyp-real{border:var(--gyp-cadre);background:#fff}
.gyp-real img{width:100%;height:200px;object-fit:cover;border-bottom:var(--gyp-cadre)}
.gyp-real .gyp-real-bas{padding:16px 18px 18px}
.gyp-real .gyp-lieu{display:inline-block;background:var(--gyp-hot);color:#fff;border:2px solid var(--gyp-ink);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;padding:3px 9px}
.gyp-real h3{font-size:.98rem;font-weight:700;text-transform:uppercase;color:var(--gyp-ink);margin:10px 0 5px;line-height:1.25}
.gyp-real p{font-size:.86rem;color:var(--gyp-mut)}
/* Étude de cas détaillée */
.gyp-etude{display:grid;grid-template-columns:1.05fr 1fr;gap:0;border:var(--gyp-cadre);background:#fff;box-shadow:var(--gyp-porte)}
.gyp-etude > *{min-width:0}
.gyp-etude img{width:100%;height:100%;min-height:320px;object-fit:cover;border-right:var(--gyp-cadre)}
.gyp-etude-txt{padding:30px 30px 28px}
.gyp-etude-txt h3{font-size:1.3rem;font-weight:700;text-transform:uppercase;color:var(--gyp-ink);line-height:1.1}
.gyp-etude-lieu{display:inline-block;background:var(--gyp-ink);color:var(--gyp-hot);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:5px 11px;margin:10px 0 14px}
.gyp-meta-pastilles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.gyp-meta-pastilles span{background:var(--gyp-pale);border:2px solid var(--gyp-ink);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:5px 10px;color:var(--gyp-ink)}
.gyp-etude-txt p{font-size:.93rem;color:var(--gyp-body);margin-bottom:10px;text-align:left}
.gyp-etude-txt p strong{color:var(--gyp-ink)}

/* ---- Équipe ---- */
.gyp-equipe-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.gyp-membre{background:#fff;border:var(--gyp-cadre);padding:22px 18px;text-align:center}
.gyp-membre img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 14px;border:3px solid var(--gyp-hot)}
.gyp-membre h3{font-size:1.02rem;font-weight:700;text-transform:uppercase;color:var(--gyp-ink)}
.gyp-membre .gyp-poste{display:inline-block;background:var(--gyp-ink);color:var(--gyp-hot);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:4px 9px;margin:7px 0 10px}
.gyp-membre p{font-size:.85rem;color:var(--gyp-mut);text-align:left}

/* ---- FAQ ---- */
.gyp-faq{max-width:860px;margin:0 auto}
.gyp-faq details{border:var(--gyp-cadre);background:#fff;margin-bottom:12px}
.gyp-faq summary{cursor:pointer;list-style:none;font-weight:700;font-size:.98rem;text-transform:uppercase;letter-spacing:.02em;color:var(--gyp-ink);padding:16px 60px 16px 18px;position:relative}
.gyp-faq summary::-webkit-details-marker{display:none}
.gyp-faq summary::after{content:"+";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:30px;height:30px;background:var(--gyp-hot);color:#fff;border:2px solid var(--gyp-ink);font-size:1.2rem;display:flex;align-items:center;justify-content:center;line-height:1}
.gyp-faq details[open] summary::after{content:"×"}
.gyp-faq details p{padding:0 18px 18px;color:var(--gyp-body);font-size:.94rem;text-align:left}

/* ---- Bande CTA ---- */
.gyp-klaxon{background:var(--gyp-hot);border-top:var(--gyp-cadre);border-bottom:var(--gyp-cadre);padding:60px 24px;text-align:center}
.gyp-klaxon h2{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:700;text-transform:uppercase;letter-spacing:-.02em;line-height:1.04;color:#fff;max-width:800px;margin:0 auto .7rem}
.gyp-klaxon > p{color:#ffe4d7;max-width:580px;margin:0 auto 1.7rem}
.gyp-klaxon .gyp-mega-tel{background:var(--gyp-ink);color:#fff}
.gyp-klaxon .gyp-mega-tel small{color:var(--gyp-hot)}
.gyp-klaxon-duo{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap}

/* ---- Contact ---- */
.gyp-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:start}
.gyp-canal{border-left:4px solid var(--gyp-hot);padding:4px 0 4px 18px;margin-bottom:20px}
.gyp-canal strong{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--gyp-hot);margin-bottom:3px}
.gyp-canal a{color:#fff;font-weight:700;font-size:1.22rem;text-decoration:none}
.gyp-canal a:hover{color:var(--gyp-hot)}
.gyp-canal .gyp-fort{display:block;color:#fff;font-weight:700;font-size:1.02rem}
.gyp-canal span{display:block;font-size:.86rem;color:#a9b8cd}
.gyp-form-nuit{background:var(--gyp-ink2);border:var(--gyp-cadre);border-color:var(--gyp-hot);padding:26px 24px}
.gyp-grille2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gyp-grille2 .gyp-champ--large{grid-column:1/-1}
.gyp-form-nuit .gyp-champ label{color:var(--gyp-hot)}
.gyp-form-nuit .gyp-champ input,.gyp-form-nuit .gyp-champ select,.gyp-form-nuit .gyp-champ textarea{border-color:var(--gyp-hot)}
.gyp-form-nuit .gyp-cta{margin-top:16px}
.gyp-form-nuit .gyp-promis{margin-top:12px;font-size:.78rem;color:#a9b8cd}

/* ---- Footer ---- */
.gyp-socle{background:var(--gyp-ink2);color:#8ea0ba;padding:52px 0 24px;font-size:.9rem}
.gyp-socle-grille{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;margin-bottom:32px}
.gyp-socle h4{color:#fff;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:14px}
.gyp-socle ul{list-style:none}
.gyp-socle li{margin-bottom:8px}
.gyp-socle a{color:#8ea0ba;text-decoration:none}
.gyp-socle a:hover{color:var(--gyp-hot)}
.gyp-socle-marque{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.gyp-socle-marque svg{width:38px;height:38px}
.gyp-socle-marque strong{font-size:1.08rem;font-weight:700;text-transform:uppercase;color:#fff}
.gyp-socle-marque strong i{font-style:normal;background:var(--gyp-hot);color:#fff;padding:0 .12em}
.gyp-socle-nap{margin-top:12px;font-size:.86rem;line-height:1.7}
.gyp-socle-nap a{color:#b7c4d6}
.gyp-socle-bas{border-top:1px solid #1d2c42;padding-top:18px;font-size:.78rem;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.gyp-socle-bas a{color:#8ea0ba}

/* ---- Callbar mobile ---- */
.gyp-callbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:300;background:var(--gyp-ink);border-top:3px solid var(--gyp-hot);padding:10px 12px;gap:10px}
.gyp-callbar a{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:14px 10px}
.gyp-callbar .gyp-cb-tel{flex:1.6;background:var(--gyp-hot);color:#fff;border:2px solid var(--gyp-ink);font-size:1.02rem}
.gyp-callbar .gyp-cb-devis{flex:1;background:transparent;color:#fff;border:2px solid #fff;font-size:.84rem}

/* ---- Popup exit-intent ---- */
.gyp-voile{position:fixed;inset:0;background:rgba(15,26,44,.8);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}
.gyp-voile[hidden]{display:none}
.gyp-surgi{background:#fff;border:var(--gyp-cadre);box-shadow:10px 10px 0 var(--gyp-hot);max-width:440px;width:100%;padding:34px 30px 28px;position:relative;text-align:center}
.gyp-surgi-x{position:absolute;top:-16px;right:-16px;width:36px;height:36px;background:var(--gyp-ink);color:#fff;border:2px solid var(--gyp-hot);font-size:1.2rem;line-height:1;cursor:pointer}
.gyp-surgi .gyp-surgi-tag{display:inline-block;background:var(--gyp-hot);color:#fff;border:2px solid var(--gyp-ink);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;padding:5px 12px;margin-bottom:14px}
.gyp-surgi h3{font-size:1.32rem;font-weight:700;text-transform:uppercase;line-height:1.1;color:var(--gyp-ink);margin-bottom:8px}
.gyp-surgi p{font-size:.92rem;color:var(--gyp-mut);margin-bottom:16px}
.gyp-surgi form{display:flex;flex-direction:column;gap:11px;text-align:left}
.gyp-surgi label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gyp-ink)}
.gyp-surgi input{width:100%;padding:12px;border:var(--gyp-cadre);font-family:inherit;font-size:.95rem;margin-top:4px}
.gyp-surgi .gyp-tel-secours{display:block;margin-top:14px;color:var(--gyp-ink);font-weight:700;font-size:1.25rem;text-decoration:none}
.gyp-surgi .gyp-tel-secours:hover{color:var(--gyp-hot)}
.gyp-surgi-non{background:transparent;border:none;color:#8896a8;font-size:.84rem;text-decoration:underline;cursor:pointer;margin-top:12px}

/* ---- Hero pages villes (clair centré) ---- */
.gyp-hero-ville{background:linear-gradient(180deg,var(--gyp-glacier),#fff);border-bottom:var(--gyp-cadre);padding:66px 0 58px;text-align:center}
.gyp-hero-ville .gyp-tag{margin-bottom:1rem}
.gyp-hero-ville h1{font-size:clamp(1.9rem,4.4vw,3rem);font-weight:700;line-height:1.02;letter-spacing:-.02em;text-transform:uppercase;color:var(--gyp-ink);max-width:900px;margin:0 auto}
.gyp-hero-ville h1 mark{background:var(--gyp-hot);color:#fff;padding:0 .1em}
.gyp-hero-ville p{margin:1.1rem auto 0;color:var(--gyp-body);font-size:1.08rem;max-width:640px}
.gyp-hero-ville .gyp-hero-appel{justify-content:center;margin-top:1.8rem}
.gyp-hero-ville .gyp-mega-tel{background:#fff}
.gyp-hero-ville .gyp-badges{margin-top:1.4rem;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.gyp-hero-ville .gyp-badges span{background:#fff;border:2px solid var(--gyp-ink);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:6px 12px;color:var(--gyp-ink)}

/* ---- Hero pages prestations (sombre, illustration à droite) ---- */
.gyp-hero-presta{background:var(--gyp-ink);color:#fff;border-bottom:var(--gyp-cadre);padding:56px 0}
.gyp-hero-presta-rang{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.gyp-hero-presta-rang > *{min-width:0}
.gyp-hero-presta h1{font-size:clamp(1.9rem,4.2vw,2.9rem);font-weight:700;line-height:1.02;letter-spacing:-.02em;text-transform:uppercase}
.gyp-hero-presta h1 mark{background:var(--gyp-hot);color:#fff;padding:0 .1em}
.gyp-hero-presta p{margin-top:1rem;color:#b9c6da;font-size:1.06rem;max-width:560px}
.gyp-hero-presta .gyp-hero-appel{margin-top:1.6rem}
.gyp-hero-presta-visuel img{width:100%;height:320px;object-fit:cover;border:3px solid var(--gyp-hot);box-shadow:var(--gyp-porte-hot)}

/* ---- Breadcrumb ---- */
.gyp-fil{background:var(--gyp-pale);border-bottom:2px solid var(--gyp-glacier);font-size:.82rem}
.gyp-fil ol{max-width:1180px;margin:0 auto;padding:11px 24px;list-style:none;display:flex;gap:8px;flex-wrap:wrap}
.gyp-fil li{color:var(--gyp-mut)}
.gyp-fil li + li::before{content:"›";margin-right:8px;color:var(--gyp-hot)}
.gyp-fil a{color:var(--gyp-ink);text-decoration:none;font-weight:600}
.gyp-fil a:hover{color:var(--gyp-hot)}

/* ---- Aides ---- */
.gyp-aides-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gyp-aide{background:#fff;border:var(--gyp-cadre);padding:22px 20px}
.gyp-aide .gyp-aide-nature{display:inline-block;background:var(--gyp-hot);color:#fff;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border:2px solid var(--gyp-ink);margin-bottom:12px}
.gyp-aide h3{font-size:1.02rem;font-weight:700;text-transform:uppercase;color:var(--gyp-ink);margin-bottom:8px}
.gyp-aide p{font-size:.9rem;color:var(--gyp-mut)}

/* ---- Blog ---- */
.gyp-article{padding:52px 0}
.gyp-article-body{max-width:820px;margin:0 auto}
.gyp-article-body h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;color:var(--gyp-ink);margin:34px 0 14px;line-height:1.1}
.gyp-article-body h3{font-size:1.2rem;font-weight:700;color:var(--gyp-ink);margin:24px 0 10px}
.gyp-article-body p{margin-bottom:14px;color:var(--gyp-body)}
.gyp-article-body p strong{color:var(--gyp-ink)}
.gyp-article-body ul,.gyp-article-body ol{margin:0 0 16px 22px;color:var(--gyp-body)}
.gyp-article-body li{margin-bottom:7px}
.gyp-article-body table{width:100%;border-collapse:collapse;border:var(--gyp-cadre);margin:18px 0;font-size:.92rem}
.gyp-article-body th,.gyp-article-body td{padding:11px 14px;border-bottom:2px solid var(--gyp-pale);text-align:left}
.gyp-article-body th{background:var(--gyp-ink);color:#fff;text-transform:uppercase;font-size:.78rem;letter-spacing:.05em}
.gyp-article-head{background:var(--gyp-ink);color:#fff;border-bottom:var(--gyp-cadre);padding:48px 0}
.gyp-article-head h1{max-width:900px;margin:0 auto;font-size:clamp(1.8rem,4vw,2.7rem);font-weight:700;text-transform:uppercase;line-height:1.05;text-align:center}
.gyp-article-head .gyp-article-meta{text-align:center;margin-top:14px;color:#a9b8cd;font-size:.9rem}
.gyp-article-hero-img{max-width:1000px;margin:-30px auto 0;padding:0 24px}
.gyp-article-hero-img img{width:100%;height:auto;border:var(--gyp-cadre);box-shadow:var(--gyp-porte)}
.gyp-inline-cta{background:var(--gyp-glacier);border:var(--gyp-cadre);padding:22px 24px;margin:24px 0;text-align:center}
.gyp-inline-cta p{margin-bottom:14px;font-weight:600;color:var(--gyp-ink)}
.gyp-author{display:flex;gap:16px;align-items:center;background:var(--gyp-pale);border:var(--gyp-cadre);padding:20px 22px;margin:30px 0}
.gyp-author img{width:70px;height:70px;border-radius:50%;object-fit:cover;border:3px solid var(--gyp-hot);flex-shrink:0}
.gyp-author strong{display:block;color:var(--gyp-ink);text-transform:uppercase;font-size:.95rem}
.gyp-author .gyp-author-role{color:var(--gyp-hot);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
.gyp-author p{font-size:.88rem;color:var(--gyp-mut);margin-top:6px}
.gyp-artisan-card{border:var(--gyp-cadre);background:#fff;box-shadow:var(--gyp-porte);padding:22px 24px;margin:16px 0}
.gyp-artisan-card .gyp-artisan-badge{display:inline-block;background:var(--gyp-ink);color:var(--gyp-hot);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:5px 11px;margin-bottom:10px}
.gyp-artisan-card ul{list-style:none;margin:10px 0}
.gyp-artisan-card li{padding-left:0;margin-bottom:5px;font-size:.9rem}
.gyp-artisan-card .gyp-distingue{background:var(--gyp-glacier);border-left:4px solid var(--gyp-hot);padding:10px 14px;margin-top:12px;font-weight:600;color:var(--gyp-ink)}

/* ---- Blog index (Nos conseils) ---- */
.gyp-conseils-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gyp-conseil{border:var(--gyp-cadre);background:#fff;display:flex;flex-direction:column}
.gyp-conseil img{width:100%;height:180px;object-fit:cover;border-bottom:var(--gyp-cadre)}
.gyp-conseil .gyp-conseil-corps{padding:18px 20px 22px}
.gyp-conseil h2{font-size:1.06rem;font-weight:700;text-transform:uppercase;color:var(--gyp-ink);line-height:1.2}
.gyp-conseil h2 a{text-decoration:none;color:inherit}
.gyp-conseil h2 a:hover{color:var(--gyp-hot)}
.gyp-conseil p{font-size:.88rem;color:var(--gyp-mut);margin-top:8px}

/* ---- Pages légales / plan ---- */
.gyp-doc{max-width:860px;margin:0 auto}
.gyp-doc h1{font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:700;text-transform:uppercase;color:var(--gyp-ink);margin-bottom:20px}
.gyp-doc h2{font-size:1.2rem;font-weight:700;text-transform:uppercase;color:var(--gyp-ink);margin:26px 0 10px}
.gyp-doc p,.gyp-doc li{color:var(--gyp-body);margin-bottom:10px}
.gyp-doc ul{margin-left:22px}
.gyp-doc a{color:var(--gyp-hot);font-weight:600}
.gyp-plan-groupe{margin-bottom:26px}
.gyp-plan-groupe h2{margin-bottom:10px}
.gyp-plan-groupe ul{list-style:none;margin-left:0;display:flex;flex-wrap:wrap;gap:10px}
.gyp-plan-groupe a{background:var(--gyp-pale);border:2px solid var(--gyp-ink);color:var(--gyp-ink);text-decoration:none;font-weight:600;font-size:.88rem;padding:7px 13px}
.gyp-plan-groupe a:hover{background:var(--gyp-hot);color:#fff;border-color:var(--gyp-hot)}

/* ---- SEO block (source en tête de main, affiché en bas) ---- */
main{display:flex;flex-direction:column}
.gyp-seo{order:99}
.gyp-seo .gyp-seo-corps{max-width:900px;margin:0 auto}
.gyp-seo p{color:var(--gyp-body);margin-bottom:14px;text-align:left}
.gyp-seo p strong{color:var(--gyp-ink)}
.gyp-seo h2{margin-bottom:16px}

/* ---- Centrage (accueil + villes) ---- */
.centered .gyp-tete{margin-left:auto;margin-right:auto;text-align:center}
.centered .gyp-tete .gyp-sous{margin-left:auto;margin-right:auto}
.centered .gyp-avis-resume,.centered .gyp-avis-toggle{text-align:center}
.centered .gyp-cta-seul{text-align:center}
.centered .gyp-seo h2{text-align:center}
.centered .gyp-communes{justify-content:flex-start}

/* ---- Responsive ---- */
@media(max-width:1060px){
  .gyp-rappel-form{grid-template-columns:repeat(3,1fr)}
  .gyp-rappel-form .gyp-cta{grid-column:1/-1}
  .gyp-preuves{grid-template-columns:repeat(2,1fr)}
  .gyp-preuve:nth-child(3){border-left:none}
  .gyp-preuve:nth-child(n+3){border-top:var(--gyp-cadre)}
  .gyp-prix-grille,.gyp-presta-grille,.gyp-avis-grille,.gyp-real-grille,.gyp-conseils-grille,.gyp-aides-grille{grid-template-columns:repeat(2,1fr)}
  .gyp-equipe-grille{grid-template-columns:repeat(2,1fr)}
  .gyp-steps{grid-template-columns:repeat(2,1fr)}
  .gyp-pas:nth-child(3){border-left:none}
}
@media(max-width:920px){
  .gyp-burger{display:block}
  .gyp-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:var(--gyp-cadre);flex-direction:column;padding:6px 0 10px;margin-left:0}
  .gyp-nav.gyp-ouverte{display:flex}
  .gyp-nav a{padding:13px 24px}
  .gyp-drop-menu{position:static;border:none;box-shadow:none;padding:0 0 0 16px}
  .gyp-drop:hover .gyp-drop-menu{display:none}
  .gyp-drop.gyp-open .gyp-drop-menu{display:block}
  .gyp-entete-tel{display:none}
  .gyp-presta-rang,.gyp-presta-rang.gyp-miroir{grid-template-columns:1fr;gap:32px}
  .gyp-presta-rang.gyp-miroir .gyp-presta-visuel{order:-1}
  .gyp-calc,.gyp-pk,.gyp-zone,.gyp-contact,.gyp-hero-presta-rang{grid-template-columns:1fr}
  .gyp-etude{grid-template-columns:1fr}
  .gyp-etude img{border-right:none;border-bottom:var(--gyp-cadre);min-height:240px}
  .gyp-callbar{display:flex}
  body{padding-bottom:74px}
}
@media(max-width:640px){
  .gyp-bloc{padding:52px 0}
  .gyp-hero{padding:44px 0 104px}
  .gyp-hero-appel{flex-direction:column;align-items:stretch;gap:14px}
  .gyp-preuves{grid-template-columns:1fr;width:calc(100% - 40px)}
  .gyp-preuve + .gyp-preuve{border-left:none;border-top:var(--gyp-cadre)}
  .gyp-rappel-form,.gyp-grille2,.gyp-prix-grille,.gyp-presta-grille,.gyp-avis-grille,.gyp-real-grille,.gyp-conseils-grille,.gyp-aides-grille,.gyp-equipe-grille,.gyp-steps{grid-template-columns:1fr}
  .gyp-pas + .gyp-pas{border-left:none;border-top:var(--gyp-cadre)}
  .gyp-marque small{display:none}
}
