/* ━━━━━━━━━━━━━━━━━━━━━━━━
   BASE
━━━━━━━━━━━━━━━━━━━━━━━━ */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:#1A2336;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}

/* Lien d'évitement — invisible tant qu'il n'a pas le focus clavier,
   permet de sauter directement au contenu sans repasser par tout le menu. */
.skip-link{position:absolute;top:-100px;left:1rem;z-index:1100;background:var(--dark);color:#fff;padding:.9rem 1.4rem;border-radius:8px;font-size:14px;font-weight:600;transition:top .2s;}
.skip-link:focus{top:1rem;}
:root{
  --teal:#00BF96;--teal-d:#009E72;--teal-l:#E6FBF4;
  --blue:#1A52C9;--blue-d:#1340A0;--blue-l:#EBF1FD;
  --dark:#06091A;--text:#1A2336;--text2:#5C6880;--text3:#6B7385;
  --bdr:#E3E8EF;--surface:#F5F7FA;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━
   TOPBAR
━━━━━━━━━━━━━━━━━━━━━━━━ */
.topbar{background:#fff;border-bottom:3px solid var(--blue);position:fixed;top:0;left:0;right:0;z-index:999;transition:box-shadow .3s;}
.topbar.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.1);}
.topbar-inner{max-width:1360px;margin:0 auto;padding:0 2.5rem;height:116px;display:flex;align-items:center;justify-content:space-between;gap:2rem;}

/* LOGO */
.logo-brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;text-decoration:none;flex-shrink:0;}
.logo-brand .logo-img{height:60px;width:auto;display:block;}
.logo-tagline{display:none;font-size:10px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--text3);padding-left:2px;}
.logo-brand-ft .logo-tagline{color:rgba(255,255,255,.48);}
/* Puce claire derrière le logo en pied de page (fond sombre, logo non transparent) */
.logo-chip{display:inline-flex;align-items:center;background:#fff;border-radius:10px;padding:8px 14px;}
.logo-chip .logo-img{height:44px;width:auto;display:block;}

/* TOPBAR INFOS */
.topbar-infos{display:flex;align-items:center;gap:2.2rem;}
.tinfo{display:flex;align-items:center;gap:.8rem;}
.tinfo-ico{width:38px;height:38px;border-radius:10px;background:var(--blue-l);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tinfo-lbl{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text3);display:block;}
.tinfo-val{font-size:15px;font-weight:600;color:var(--text);display:block;margin-top:2px;white-space:nowrap;}
.tinfo-val a{color:var(--blue-d);}
.tinfo-val a:hover{text-decoration:underline;}

/* GROUPE D'ACTIONS MOBILE : menu · téléphone */
.mob-actions{display:none;}

/* TÉLÉPHONE MOBILE — icône seule, à droite du menu */
.mob-tel{display:none;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:8px;background:var(--blue-l);color:var(--blue-d);transition:background .2s;}
.mob-tel:hover{background:#CFE0FA;}
.mob-tel svg{width:16px;height:16px;}

/* HAMBURGER — icône + libellé "Menu" */
.mob-btn{display:none;align-items:center;gap:7px;border:none;background:none;cursor:pointer;padding:8px 14px;border-radius:8px;transition:background .2s;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;flex-shrink:0;}
.mob-btn:hover{background:var(--surface);}
.mob-btn-bars{display:flex;flex-direction:column;gap:5px;width:20px;flex-shrink:0;}
.mob-btn-bars span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s,opacity .3s;transform-origin:center;}
.mob-btn.open .mob-btn-bars span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mob-btn.open .mob-btn-bars span:nth-child(2){opacity:0;}
.mob-btn.open .mob-btn-bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━
   NAVBAR
━━━━━━━━━━━━━━━━━━━━━━━━ */
.navbar{background:var(--dark);position:fixed;top:116px;left:0;right:0;z-index:998;height:64px;border-bottom:1px solid rgba(255,255,255,.07);}
.navbar-inner{max-width:1360px;margin:0 auto;padding:0 2.5rem;height:64px;display:flex;align-items:center;justify-content:flex-start;gap:2.5rem;}
.nav-links{display:flex;align-items:center;gap:2.4rem;}
.nav-links a{display:flex;align-items:center;gap:5px;height:64px;padding:0;font-size:15.5px;font-weight:600;letter-spacing:.1px;text-transform:none;color:rgba(255,255,255,.92);border:none;position:relative;transition:color .15s;white-space:nowrap;}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,var(--teal),var(--blue));transform:scaleX(0);transition:transform .2s;}
.nav-links a:hover,.nav-links a.active{background:none;color:#fff;}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}
.nav-devis{padding:13px 26px;background:linear-gradient(120deg,var(--teal),var(--blue));color:#fff;border:none;border-radius:9px;font-size:14.5px;font-family:'Inter',sans-serif;font-weight:700;cursor:pointer;transition:filter .2s,transform .2s;white-space:nowrap;display:inline-block;box-shadow:0 4px 14px rgba(26,82,201,.3);}
.nav-devis:hover{filter:brightness(.93);transform:translateY(-1px);}

/* MOBILE NAV */
.mob-nav{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:var(--dark);z-index:997;overflow-y:auto;flex-direction:column;padding:2rem 2.5rem;gap:.5rem;}
.mob-nav.open{display:flex;}
.mob-nav a{display:block;padding:1.1rem 1.3rem;font-size:1.15rem;font-weight:500;color:rgba(255,255,255,.75);border-radius:12px;border:1px solid rgba(255,255,255,.06);transition:background .15s,color .15s;}
.mob-nav a:hover{background:rgba(255,255,255,.07);color:#fff;}
.mob-nav .mob-devis{margin-top:1rem;padding:1.1rem;text-align:center;background:linear-gradient(120deg,var(--teal),var(--blue));color:#fff;border-radius:12px;font-size:1rem;font-weight:700;border:none;}
.mob-nav .mob-devis:hover{filter:brightness(.92);}
.mob-nav-info{margin-top:auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);}
.mob-nav-info p{font-size:13px;color:rgba(255,255,255,.58);margin-bottom:.3rem;}
.mob-nav-info p:not(:first-child){margin-top:1.1rem;}
.mob-nav-info a{display:inline;padding:0;border:none;font-size:14px;color:rgba(255,255,255,.88);font-weight:600;}
.mob-nav-info span{display:block;font-size:14px;color:rgba(255,255,255,.88);font-weight:600;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━
   UTILS & LAYOUT
━━━━━━━━━━━━━━━━━━━━━━━━ */
.ctn{max-width:1280px;margin:0 auto;}
/* Atterrissage correct des ancres (#contact, #services...) sous le bandeau fixe,
   y compris pour un saut natif du navigateur (lien depuis une autre page,
   favori, lecteur d'écran) que le JS de défilement fluide ne gère pas. */
#top,#services,#about,#avis,#contact{scroll-margin-top:180px;}
@media(max-width:1000px){#top,#services,#about,#avis,#contact{scroll-margin-top:72px;}}
.kicker{font-size:13px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--text3);display:block;margin-bottom:.7rem;}
.kicker-g{color:var(--blue-d);}
.kicker-d{color:rgba(255,255,255,.55);}
.ttl{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:700;letter-spacing:-1px;line-height:1.16;color:var(--text);}
.ttl-w{color:#fff;}
.sub{font-size:15.5px;color:var(--text2);margin-top:.75rem;max-width:520px;line-height:1.8;}
.sub-w{color:rgba(255,255,255,.80);}
.sh{margin-bottom:3.5rem;}
.sh-row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;}
.section{padding:5.5rem 2.5rem;position:relative;overflow:hidden;}
.section::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(0,191,150,.05),transparent 70%);top:-250px;right:-200px;pointer-events:none;z-index:0;}
.section::after{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(26,82,201,.05),transparent 70%);bottom:-220px;left:-180px;pointer-events:none;z-index:0;}
.section>.ctn{position:relative;z-index:1;}
.section-dark{background:var(--dark);padding:5.5rem 2.5rem;}
.section-surface{background:var(--surface);padding:5.5rem 2.5rem;border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);}

/* BUTTONS */
.btn-teal{padding:15px 32px;background:linear-gradient(120deg,var(--teal),var(--blue));color:#fff;border:none;border-radius:10px;font-size:14.5px;font-family:'Inter',sans-serif;font-weight:600;cursor:pointer;display:inline-block;box-shadow:0 4px 14px rgba(26,82,201,.16);transition:filter .2s,transform .2s;}
.btn-teal:hover{filter:brightness(.93);transform:translateY(-2px);}
.btn-ghost{padding:15px 26px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.18);border-radius:10px;font-size:14.5px;font-family:'Inter',sans-serif;font-weight:400;cursor:pointer;display:inline-block;transition:background .2s;}
.btn-ghost:hover{background:rgba(255,255,255,.14);}
.btn-main{padding:13px 28px;background:linear-gradient(120deg,var(--teal),var(--blue));color:#fff;border:none;border-radius:9px;font-size:14px;font-family:'Inter',sans-serif;font-weight:600;cursor:pointer;display:inline-block;transition:filter .2s,transform .2s;}
.btn-main:hover{filter:brightness(.93);transform:translateY(-1px);}
.btn-sec{padding:13px 22px;background:transparent;color:var(--text);border:1.5px solid var(--bdr);border-radius:9px;font-size:14px;font-family:'Inter',sans-serif;font-weight:400;cursor:pointer;display:inline-block;transition:background .2s,border-color .2s;}
.btn-sec:hover{background:var(--surface);border-color:var(--blue);}
.btn-wht{padding:16px 34px;background:#fff;color:var(--blue);border:none;border-radius:10px;font-size:15px;font-family:'Inter',sans-serif;font-weight:700;cursor:pointer;display:inline-block;transition:background .2s,transform .2s;white-space:nowrap;}
.btn-wht:hover{background:var(--blue-l);transform:translateY(-1px);}
.btn-outline-w{padding:13px 22px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.14);border-radius:9px;font-size:13.5px;font-family:'Inter',sans-serif;font-weight:500;cursor:pointer;display:inline-block;transition:background .2s;}
.btn-outline-w:hover{background:rgba(255,255,255,.15);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━
   HERO
━━━━━━━━━━━━━━━━━━━━━━━━ */
.hero{padding-top:180px;}
.hero-bg{background:#fff;position:relative;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:minmax(0,620px) 1fr;align-items:stretch;min-height:520px;gap:2.5rem;max-width:1360px;margin:0 auto;}
/* La grille du hero est centrée à 1360px comme le reste du site (topbar,
   navbar, bandeau de services). La colonne de texte est plafonnée (au lieu
   d'un 1fr qui s'étire) pour que la photo reste proche du texte au lieu
   de se retrouver isolée avec un grand vide entre les deux. */
.hero-text-col{padding:4rem 3rem 4rem 2.5rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;}
.hero-photo-col{position:relative;overflow:hidden;background:#fff;}
.hero-photo-frame{position:absolute;top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem;border-radius:22px;overflow:hidden;background:var(--dark);}
.hero-photo-frame img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;}
.hero-pill{display:inline-flex;align-items:center;gap:7px;background:var(--surface);color:var(--text2);border:1px solid var(--bdr);padding:7px 16px;border-radius:30px;font-size:11.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:1.8rem;width:fit-content;}
.hero-pill-dot{width:6px;height:6px;border-radius:50%;background:linear-gradient(120deg,var(--teal),var(--blue));animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.25;}}
.hero h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2.3rem,3.8vw,3.4rem);font-weight:800;line-height:1.12;letter-spacing:-1.4px;color:var(--text);margin-bottom:1.3rem;white-space:normal;}
.hero h1 span{color:var(--blue);}
.hero-list{list-style:none;margin:0 0 2.2rem;padding:0;display:flex;flex-direction:column;gap:.6rem;}
.hero-list li{position:relative;padding-left:1.7rem;font-size:15.5px;font-weight:700;color:var(--text);line-height:1.5;text-align:left;}
.hero-list li::before{content:'';position:absolute;left:0;top:.15em;width:18px;height:18px;border-radius:50%;background:linear-gradient(120deg,var(--teal),var(--blue));}
.hero-list li::after{content:'';position:absolute;left:6px;top:.42em;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);}
.hero-btns{display:flex;gap:1rem;justify-content:flex-start;flex-wrap:wrap;margin-bottom:1.8rem;}
.btn-outline-dark{padding:15px 26px;background:#fff;color:var(--text);border:1.5px solid var(--bdr);border-radius:10px;font-size:14.5px;font-family:'Inter',sans-serif;font-weight:600;cursor:pointer;display:inline-block;transition:border-color .2s,background .2s;}
.btn-outline-dark:hover{border-color:var(--blue);background:var(--blue-l);}
.hero-rating{display:flex;align-items:center;gap:.5rem;font-size:14.5px;font-weight:700;color:var(--text);flex-wrap:wrap;}
.hero-rating .google-g{flex-shrink:0;}

/* SERVICE STRIP */
.svc-strip{background:#fff;padding:3.8rem 2.5rem;border-bottom:1px solid var(--bdr);}
.svc-strip-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:2.2rem;}
.svc-item{padding:0;text-align:left;}
.svc-ico{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;}
.ico-t{background:var(--teal-l);}
.ico-b{background:var(--blue-l);}
.svc-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:.4rem;}
.svc-desc{font-size:12.5px;color:var(--text2);line-height:1.6;margin-bottom:.6rem;}
.svc-more{font-size:12.5px;color:var(--blue);font-weight:600;display:inline-flex;align-items:center;gap:4px;transition:gap .2s;}
.svc-more:hover{gap:8px;}

/* TICKER */
.ticker{background:var(--surface);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:.85rem 0;overflow:hidden;}
.ticker-track{display:flex;gap:4rem;animation:tick 24s linear infinite;white-space:nowrap;}
@keyframes tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.tick-i{display:flex;align-items:center;gap:.6rem;font-size:12.5px;color:var(--text3);font-weight:500;white-space:nowrap;}
.tick-i svg{color:var(--blue);flex-shrink:0;}

/* STATS DARK */
.stats-g{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden;}
.sg{padding:2.2rem 1.2rem;text-align:center;border-right:1px solid rgba(255,255,255,.07);}
.sg:last-child{border-right:none;}
.sg-n{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(1.9rem,3.5vw,3rem);font-weight:800;background:linear-gradient(110deg,#00BF96,var(--blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;line-height:1;white-space:nowrap;}
.sg-l{font-size:14px;color:rgba(255,255,255,.78);margin-top:6px;display:block;}
.sg-s{font-size:11.5px;color:rgba(255,255,255,.48);display:block;margin-top:2px;}

/* SERVICES */
.svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
.svcs .sc.featured{grid-column:span 2;}
.svcs .sc.featured .sc-img{height:210px;}
.svcs .sc.banner{grid-column:span 3;}
.svcs .sc.banner .sc-img{height:190px;}
@media(max-width:1100px){.svcs .sc.featured,.svcs .sc.banner{grid-column:span 3;}}
.sc{border-radius:18px;border:2px solid var(--blue);background:#fff;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s;}
.sc::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .35s;z-index:2;}
.sc:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(26,82,201,.1);border-color:var(--blue-d);}
.sc:hover::after{transform:scaleX(1);}
.sc-img{height:150px;overflow:hidden;background:var(--surface);}
.sc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.sc:hover .sc-img img{transform:scale(1.07);}
.sc-body{padding:1.7rem 2rem 2rem;}
.sc-ico{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;}
.sc h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:.45rem;color:var(--text);}
.sc p{font-size:14.5px;color:var(--text2);line-height:1.7;}
.sc-lnk{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--blue);font-weight:500;margin-top:.9rem;transition:gap .2s;}
.sc-lnk:hover{gap:9px;}

/* ABOUT */
.about-wrap{padding:5.5rem 2.5rem;}
.about-split{display:grid;grid-template-columns:1.15fr 1fr;max-width:1280px;margin:0 auto;gap:3.5rem;align-items:stretch;}
/* Photo pure, sans aucun texte superposé — évite tout conflit avec un texte
   déjà présent dans l'image elle-même (enseigne, panneaux...). */
/* Ratio de la vraie photo (3:2) conservé — jamais étiré ni sur-recadré pour
   remplir une hauteur imposée par la colonne de texte. */
.about-photo{position:relative;overflow:hidden;border-radius:16px;background:var(--surface);}
.about-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.about-caption{
  position:absolute;left:1.5rem;bottom:1.5rem;
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(6,9,26,.78);color:#fff;
  font-size:12.5px;font-weight:600;letter-spacing:.2px;
  padding:8px 14px;border-radius:8px;
}
.about-light{padding:3rem 3.5rem;display:flex;flex-direction:column;justify-content:center;gap:1.2rem;}
.about-light h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(1.8rem,2.6vw,2.5rem);font-weight:700;letter-spacing:-.8px;line-height:1.18;color:var(--text);margin-bottom:1.2rem;}
.about-light p{font-size:15.5px;color:var(--text2);line-height:1.8;margin-bottom:.9rem;text-align:justify;}
.ast{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin:1.4rem 0 1.8rem;}
.ast-item{padding:1.1rem;background:var(--surface);border-radius:12px;border:1px solid var(--bdr);}
.ast-n{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.9rem;font-weight:800;background:linear-gradient(110deg,var(--teal),var(--blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;line-height:1;}
.ast-l{font-size:12.5px;color:var(--text2);margin-top:3px;display:block;}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.8rem;}
.chip{font-size:12px;font-weight:500;padding:5px 13px;border-radius:6px;border:1px solid var(--bdr);color:var(--text2);background:#fff;}
.btns{display:flex;gap:.85rem;flex-wrap:wrap;}

/* PROCESS */
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3.5rem;}
.proc{background:#fff;border:1px solid var(--bdr);border-radius:16px;padding:2rem 1.5rem;text-align:center;transition:border-color .25s,box-shadow .25s;}
.proc:hover{border-color:var(--blue);box-shadow:0 8px 28px rgba(26,82,201,.08);}
.proc-circle{width:52px;height:52px;border-radius:50%;border:1px solid var(--bdr);background:var(--surface);display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;}
.proc-n{font-family:'Plus Jakarta Sans',sans-serif;font-size:2.5rem;font-weight:800;background:linear-gradient(110deg,var(--teal),var(--blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;line-height:1;margin-bottom:.55rem;}
.proc h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:.4rem;}
.proc p{font-size:13.5px;color:var(--text2);line-height:1.65;}

/* WHY */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;border-radius:18px;border:1px solid var(--bdr);background:#fff;overflow:hidden;}
.why-grid::before{content:'';position:absolute;top:51px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--bdr) 8%,var(--bdr) 92%,transparent);z-index:0;}
.why{padding:2.1rem 1.6rem;border-right:1px solid var(--bdr);display:flex;flex-direction:column;gap:.9rem;transition:background .25s;position:relative;}
.why:last-child{border-right:none;}
.why:hover{background:var(--surface);}
.why-n{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:800;width:36px;height:36px;border-radius:50%;background:linear-gradient(110deg,var(--teal),var(--blue));color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;box-shadow:0 0 0 6px #fff;}
.why h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;font-weight:700;margin-top:.3rem;color:var(--text);}
.why p{font-size:13.5px;color:var(--text2);line-height:1.65;}

/* REVIEWS */
.rev-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1rem;}
.rev-big{font-family:'Plus Jakarta Sans',sans-serif;font-size:5.5rem;font-weight:800;background:linear-gradient(110deg,var(--teal),var(--blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;}
.rev-stars{font-size:22px;color:var(--blue);letter-spacing:2px;}
.rev-meta{font-size:14px;color:var(--text3);margin-top:5px;}
.rev-badge{font-size:12px;background:#fff;border:1px solid var(--bdr);border-radius:8px;padding:9px 18px;color:var(--text2);font-weight:500;}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
.rev{background:#fff;border-radius:18px;padding:2rem;border:1px solid var(--bdr);display:flex;flex-direction:column;gap:.85rem;transition:box-shadow .25s;}
.rev:hover{box-shadow:0 8px 36px rgba(0,0,0,.07);}
.rev-s{color:var(--blue);font-size:15px;letter-spacing:1.5px;}
.rev p{font-size:14px;color:var(--text2);line-height:1.75;font-style:italic;flex:1;}
.rev-auth{display:flex;align-items:center;gap:.75rem;padding-top:.9rem;border-top:1px solid var(--bdr);}
.rev-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(120deg,var(--teal),var(--blue));display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;}
.rev-name{font-size:13px;font-weight:600;color:var(--text);}
.rev-date{font-size:11.5px;color:var(--text3);}

/* CONTACT FORM */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.form-card{background:#fff;border-radius:20px;border:1.5px solid var(--bdr);padding:2.5rem;box-shadow:0 8px 32px rgba(0,0,0,.05);}
.form-card h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.7rem;font-weight:700;letter-spacing:-.7px;color:var(--text);margin-bottom:.4rem;}
.form-card .form-sub{font-size:14px;color:var(--text2);margin-bottom:2rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.fgroup{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;}
.fgroup label{font-size:12.5px;font-weight:600;color:var(--text2);letter-spacing:.3px;}
.fgroup input,.fgroup select,.fgroup textarea{width:100%;padding:12px 14px;border:1.5px solid var(--bdr);border-radius:9px;font-size:14px;font-family:'Inter',sans-serif;color:var(--text);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;}
.fgroup input:focus,.fgroup select:focus,.fgroup textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,82,201,.1);}
.fgroup textarea{resize:vertical;min-height:110px;line-height:1.6;}
.form-error{border-color:#EF4444 !important;}
.form-submit{width:100%;padding:15px;background:linear-gradient(120deg,var(--teal),var(--blue));color:#fff;border:none;border-radius:10px;font-size:15px;font-family:'Inter',sans-serif;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:filter .2s,transform .2s;box-shadow:0 4px 14px rgba(26,82,201,.14);}
.form-submit:hover{filter:brightness(.93);transform:translateY(-1px);}
.form-note{font-size:12px;color:var(--text3);text-align:center;margin-top:.75rem;}
.form-success-msg{background:#D1FAE5;border:1px solid #6EE7B7;color:#065F46;padding:1.2rem 1.5rem;border-radius:10px;font-size:14px;font-weight:500;margin-bottom:1.5rem;display:none;}
.form-success-msg.show{display:block;}
.contact-info{display:flex;flex-direction:column;gap:1.5rem;}
.ci-item{display:flex;align-items:flex-start;gap:1rem;padding:1.3rem;background:#fff;border:1.5px solid var(--bdr);border-radius:14px;transition:border-color .2s,box-shadow .2s;}
.ci-item:hover{border-color:var(--blue);box-shadow:0 4px 16px rgba(26,82,201,.08);}
.ci-ico{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ci-ico-t{background:var(--teal-l);}
.ci-ico-b{background:var(--blue-l);}
.ci-lbl{font-size:11.5px;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:3px;}
.ci-val{font-size:15.5px;font-weight:700;color:var(--text);display:block;line-height:1.3;}
.ci-sub{font-size:12.5px;color:var(--text2);display:block;margin-top:2px;}
.ci-val a{color:var(--text);}
.ci-val a:hover{color:var(--blue-d);}
.map-embed{border:1.5px solid var(--bdr);border-radius:14px;overflow:hidden;height:220px;}
.map-embed iframe{width:100%;height:100%;border:0;display:block;}

/* Piège à robots (honeypot) — masqué visuellement mais accessible dans le
   DOM ; un humain ne le voit ni ne le remplit jamais. */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* CTA */
.cta-wrap{padding:5rem 2.5rem;}
.cta-box{max-width:1280px;margin:0 auto;background:var(--dark);border-radius:24px;padding:4.5rem;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center;}
.cta-box::before{content:'';position:absolute;width:700px;height:400px;border-radius:50%;background:radial-gradient(ellipse,rgba(26,82,201,.1),transparent 65%);top:-200px;left:-100px;}
.cta-box::after{content:'';position:absolute;width:500px;height:400px;border-radius:50%;background:radial-gradient(ellipse,rgba(26,82,201,.12),transparent 65%);bottom:-150px;right:-50px;}
.cta-text{position:relative;z-index:2;}
.cta-box h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:800;letter-spacing:-1.5px;line-height:1.1;color:#fff;margin-bottom:.9rem;}
.cta-box .cta-text p{font-size:16px;color:rgba(255,255,255,.78);max-width:480px;line-height:1.7;}
.cta-r{position:relative;z-index:2;display:flex;flex-direction:column;gap:1.2rem;align-items:flex-end;}
.cta-info{text-align:right;}
.cta-phone{font-size:18px;font-weight:600;color:rgba(255,255,255,.92);}
.cta-hrs{font-size:12.5px;color:rgba(255,255,255,.62);margin-top:3px;}

/* FOOTER */
footer{background:var(--dark);border-top:1px solid rgba(255,255,255,.06);}
.ft{max-width:1360px;margin:0 auto;padding:4.5rem 2.5rem 2.5rem;}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3.5rem;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:2rem;}
.ft-brand p{font-size:13.5px;color:rgba(255,255,255,.60);line-height:1.8;margin-top:.8rem;max-width:240px;}
.ft-col h5{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--teal);margin-bottom:1.1rem;}
.ft-col a,.ft-col span{display:block;font-size:13.5px;color:rgba(255,255,255,.65);margin-bottom:.6rem;transition:color .2s;}
.ft-col a:hover{color:#fff;}
.ft-btm{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;}
.ft-copy{font-size:12px;color:rgba(255,255,255,.45);}
.ft-legal{display:flex;gap:2rem;}
.ft-legal a{font-size:12px;color:rgba(255,255,255,.45);}
.ft-legal a:hover{color:rgba(255,255,255,.8);}

/* SCROLL-TO-TOP */
.scroll-top{position:fixed;bottom:2rem;right:2rem;z-index:900;width:46px;height:46px;border-radius:50%;background:linear-gradient(120deg,var(--teal),var(--blue));color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(26,82,201,.2);opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s,filter .2s;pointer-events:none;}
.scroll-top.visible{opacity:1;transform:translateY(0);pointer-events:all;}
.scroll-top:hover{filter:brightness(.93);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━
   PAGES DE CONTENU (mentions légales, CGV...)
━━━━━━━━━━━━━━━━━━━━━━━━ */
.page-content{font-size:15px;color:var(--text2);line-height:1.85;}
.page-content h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.35rem;font-weight:700;color:var(--text);margin:2.2rem 0 .8rem;}
.page-content h2:first-child{margin-top:0;}
.page-content h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:700;color:var(--text);margin:1.6rem 0 .6rem;}
.page-content p{margin-bottom:1rem;}
.page-content ul,.page-content ol{margin:0 0 1rem 1.3rem;}
.page-content li{margin-bottom:.4rem;}
.page-content a{color:var(--blue-d);text-decoration:underline;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━
   WOOCOMMERCE — BOUTIQUE
━━━━━━━━━━━━━━━━━━━━━━━━ */
.woo-page-hero{background:var(--dark);padding:11.25rem 2.5rem 4rem;position:relative;overflow:hidden;}
.woo-page-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(26,82,201,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(26,82,201,.05) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.woo-page-hero-i{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;position:relative;z-index:2;}
.woo-page-hero h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:800;color:#fff;letter-spacing:-1.5px;line-height:1.1;margin-top:.5rem;}
.boutique-tabs{display:flex;gap:.6rem;margin-bottom:2.5rem;flex-wrap:wrap;}
.btab{padding:9px 20px;border:1.5px solid var(--bdr);border-radius:8px;background:#fff;font-size:13.5px;font-family:'Inter',sans-serif;font-weight:500;color:var(--text2);cursor:pointer;transition:all .2s;}
.btab:hover,.btab.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;}
.prod-card{background:#fff;border:1.5px solid var(--bdr);border-radius:14px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;}
.prod-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.08);border-color:var(--blue);}
.prod-img{height:130px;background:var(--surface);display:flex;align-items:center;justify-content:center;position:relative;}
.prod-img img{width:100%;height:100%;object-fit:cover;}
.prod-img .prod-no-img{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.prod-body{padding:1rem;}
.prod-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:.88rem;font-weight:700;color:var(--text);margin-bottom:.35rem;}
.prod-desc{font-size:12px;color:var(--text3);line-height:1.5;margin-bottom:.75rem;}
.prod-foot{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;}
.prod-prix{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.1rem;font-weight:800;color:var(--text);}
.prod-badge{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:5px;}
.badge-stock{color:#1D4ED8;background:#DBEAFE;}
.badge-cmd{color:#6B7280;background:#F3F4F6;}
.badge-reco{color:#065F46;background:#D1FAF0;}
.badge-epuise{color:#991B1B;background:#FEE2E2;}
.prod-grade{position:absolute;top:.7rem;left:.7rem;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:5px;}
.prod-discount{position:absolute;top:.7rem;right:.7rem;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:5px;background:#FEF3C7;color:#92400E;}
.prod-count{font-size:13.5px;color:var(--text2);margin-bottom:1.5rem;}

/* FICHE PRODUIT */
.sp-layout{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start;}
.sp-gallery{position:relative;background:var(--surface);border:1.5px solid var(--bdr);border-radius:18px;overflow:hidden;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;}
.sp-gallery img{width:100%;height:100%;object-fit:cover;}
.sp-no-img{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.sp-badges{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;justify-content:space-between;gap:.5rem;}
.sp-info{display:flex;flex-direction:column;gap:1.1rem;padding-top:.3rem;}
.sp-price-row{display:flex;align-items:baseline;gap:.9rem;}
.sp-price{font-family:'Plus Jakarta Sans',sans-serif;font-size:2.2rem;font-weight:800;color:var(--text);}
.sp-old-price{font-size:15px;color:var(--text3);text-decoration:line-through;}
.sp-desc{font-size:15px;color:var(--text2);line-height:1.75;}
.sp-warranty{display:flex;align-items:center;gap:.6rem;font-size:13.5px;font-weight:600;color:var(--blue-d);background:var(--blue-l);border-radius:10px;padding:.8rem 1rem;}
.sp-cta{text-align:center;font-size:15.5px;padding:16px;}
.sp-call{font-size:13px;color:var(--text2);text-align:center;}
.sp-call a{color:var(--blue-d);font-weight:600;}
.sp-full-desc{max-width:820px;margin-top:3.5rem;padding-top:3rem;border-top:1px solid var(--bdr);}
@media(max-width:1000px){.sp-layout{grid-template-columns:1fr;gap:2rem;}}

/* ━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE
━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:1100px){.prod-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:1000px){
  /* Justifié (droit à gauche ET à droite) plutôt qu'aligné à gauche —
     rendu plus "propre" demandé, avec hyphens pour éviter les gros
     espaces blancs entre les mots que le justifié crée sur colonne étroite. */
  .about-light p{text-align:justify;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;}
  /* Sous 1000px, les infos (tél/horaires/email/adresse) sont cachées,
     donc le bandeau du haut n'a plus besoin de sa hauteur pleine desktop —
     sinon il pousse tout le vrai contenu hors de l'écran visible. */
  .topbar-inner{height:72px;padding:0 1.25rem;}
  .topbar-infos{display:none;}
  .navbar{display:none;}
  /* Logo compact + tagline "Paris 10e" centrée dessous, à la place de la
     ligne d'infos desktop masquée — au lieu d'une deuxième ligne de
     bandeau qui l'épaississait inutilement (72px conservés). Avis Google
     retiré du bandeau : l'espace libéré profite au logo et au groupe
     menu/téléphone, plus confortables. */
  .logo-brand{align-items:center;gap:3px;}
  .logo-brand .logo-img{height:36px;}
  .logo-tagline{display:block;font-size:10px;letter-spacing:1.8px;}
  .mob-actions{display:flex;align-items:center;gap:.6rem;}
  .mob-tel{display:flex;}
  .mob-btn{display:flex;}
  /* L'image passe après le titre (au lieu d'être en premier) — .about-light
     devient display:contents pour que ses enfants (kicker, h2, p, chips,
     btns) deviennent frères de la photo dans .about-split et puissent être
     réordonnés individuellement avec `order`, sans dupliquer le HTML ni
     toucher au desktop. Espacements confortables : texte complet (pas de
     troncature) et photo avec un vrai ratio, pas une hauteur écrasée. */
  .about-wrap{padding:3rem 1.5rem;}
  .about-split{grid-template-columns:1fr;gap:0;}
  .about-light{display:contents;}
  .about-split .kicker{order:1;margin-bottom:.6rem;}
  .about-light h2{order:2;margin-bottom:1.1rem;}
  .about-photo{order:3;aspect-ratio:4/3;height:auto;margin-bottom:1.3rem;}
  .about-light p{order:4;margin-bottom:1.2rem;}
  .about-split .chips{order:5;margin-bottom:1.5rem;}
  .about-split .btns{order:6;gap:.75rem;}
  .svcs,.rev-grid{grid-template-columns:1fr 1fr;}
  .svcs .sc.featured,.svcs .sc.banner{grid-column:span 2;}
  .why-grid,.proc-grid{grid-template-columns:1fr 1fr;}
  .proc-grid{margin-top:2rem;}
  .why-grid::before{display:none;}
  .why{border-right:1px solid var(--bdr);border-bottom:1px solid var(--bdr);}
  .why:nth-child(2n){border-right:none;}
  .why:nth-last-child(-n+2){border-bottom:none;}
  .cta-box{grid-template-columns:1fr;padding:3rem 2rem;}
  .cta-r{align-items:flex-start;}
  .ft-top{grid-template-columns:1fr 1fr;}
  .stats-g{grid-template-columns:1fr 1fr;}
  .sg{border-bottom:1px solid rgba(255,255,255,.07);}
  .sg:nth-child(2n){border-right:none;}
  .sg:nth-last-child(-n+2){border-bottom:none;}
  .svc-strip-inner{grid-template-columns:repeat(3,1fr);}
  .contact-layout{grid-template-columns:1fr;gap:3rem;}
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .hero{padding-top:72px;}
  .woo-page-hero{padding-top:4.5rem;}
  /* Ordre mobile : titre → avis Google mis en avant tout de suite → photo →
     texte → boutons (au lieu de démarrer par la photo comme en desktop).
     .hero-text-col passe en display:contents pour que ses enfants (pill,
     h1, sub, btns, rating) deviennent des éléments frères de la photo dans
     .hero-grid, et puissent donc être réordonnés individuellement avec
     `order` — sans toucher au HTML ni à la mise en page desktop. */
  /* Objectif : que tout le hero (pastille, titre, photo, liste, boutons)
     tienne dans un seul écran mobile sans scroll — chaque marge ci-dessous
     est volontairement minimale. */
  .hero-grid{display:flex;flex-direction:column;align-items:center;text-align:center;min-height:0;padding:1.6rem 1.5rem 1.25rem;}
  .hero-text-col{display:contents;}
  .hero-pill{order:1;margin-bottom:.5rem;}
  .hero h1{order:2;margin-bottom:0;font-size:1.6rem;}
  /* Déjà affiché dans le bandeau (logo Google + note) : pas besoin de le
     répéter ici sur mobile. */
  .hero-rating{display:none;}
  .hero-photo-col{order:3;width:100%;height:130px;margin-bottom:.5rem;}
  .hero-list{order:4;margin-bottom:.9rem;}
  .hero-btns{order:5;justify-content:center;gap:.6rem;}
  .hero-btns .btn-teal,.hero-btns .btn-outline-dark{padding:11px 18px;font-size:13px;}
  .hero-photo-frame{top:.6rem;right:.6rem;bottom:.6rem;left:.6rem;border-radius:14px;}
}
@media(max-width:640px){
  .svcs,.why-grid,.proc-grid,.ft-top,.svc-strip-inner,.rev-grid{grid-template-columns:1fr;}
  .why{border-right:none;border-bottom:1px solid var(--bdr);}
  .why:last-child{border-bottom:none;}
  .svcs .sc.featured,.svcs .sc.banner{grid-column:span 1;}
  .svcs .sc.featured .sc-img,.svcs .sc.banner .sc-img{height:100px;}
  .sc-img{height:100px;}
  /* Cartes services et process : les paddings/tailles pensés pour desktop
     rendaient chaque carte disproportionnée en hauteur sur mobile. */
  .svcs{gap:.9rem;}
  .sc-body{padding:1.2rem 1.3rem 1.4rem;}
  /* Icône retirée sur mobile : elle alourdissait la hauteur de chaque
     carte sans apporter d'info que le titre ne donne déjà. */
  .sc-ico{display:none;}
  .sc h3{font-size:1rem;margin-bottom:.35rem;}
  .sc p{font-size:13.5px;line-height:1.55;}
  .sc-lnk{margin-top:.6rem;}
  .proc-grid{gap:.9rem;}
  .proc{padding:1.4rem 1.2rem;}
  /* Icône retirée sur mobile : elle prenait trop de place dans chaque
     carte, le numéro et le titre suffisent. */
  .proc-circle{display:none;}
  .proc-n{font-size:1.8rem;margin-bottom:.35rem;}
  .proc h4{font-size:.92rem;margin-bottom:.3rem;}
  .proc p{font-size:13px;line-height:1.5;}
  .hero h1{letter-spacing:-1.2px;font-size:1.55rem;}
  .hstat-sep{display:none;}
  .hero-stats{gap:1.5rem;}
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .form-row{grid-template-columns:1fr;}
  .cta-box{padding:2rem 1.5rem;}
  .section,.section-dark,.section-surface,.cta-wrap{padding:2.25rem 1.25rem;}
  /* Garde 4.5rem (72px) en haut : c'est la hauteur exacte du bandeau fixe
     en mobile (.topbar-inner). Sans ça, le titre de page passe sous le
     bandeau sur les écrans ≤640px (Boutique, fiche produit, mentions...). */
  .woo-page-hero{padding:4.5rem 1.25rem 2.25rem;}
  .svc-strip{padding:2rem 1.25rem;}
  .svc-strip-inner{gap:1.25rem;}
  .about-wrap{padding:2.25rem 1.25rem;}

  /* Resserrement général du vide entre chaque section : les marges/paddings
     pensés pour desktop (en-têtes de section, cartes, footer) restaient
     bien trop généreux une fois empilés en une seule colonne sur mobile. */
  .sh{margin-bottom:1.75rem;}
  .rev-head{margin-bottom:1.5rem;}
  .why{padding:1.3rem 1.2rem;}
  .rev{padding:1.4rem;}
  .form-card{padding:1.5rem;}
  .contact-layout{gap:1.75rem;}
  .stats-g .sg{padding:1.4rem .8rem;}
  .ft{padding:2.25rem 1.25rem 1.5rem;}
  .ft-top{gap:1.75rem;padding-bottom:1.75rem;margin-bottom:1.25rem;}

  /* Resserrement général : les tailles pensées pour desktop restaient
     trop grandes sur petit écran (pastille, titres, bouton flottant) */
  .hero-pill{font-size:10.5px;letter-spacing:.8px;padding:6px 13px;}
  .hero-list{gap:.4rem;margin-bottom:.75rem;}
  .hero-list li{font-size:13.5px;padding-left:1.5rem;}
  .hero-list li::before{width:16px;height:16px;}
  .hero-list li::after{left:5px;width:6px;height:3px;}
  .kicker{font-size:11px;letter-spacing:1.5px;}
  .ttl{font-size:1.6rem;}
  .hero-btns .btn-teal,.hero-btns .btn-outline-dark{padding:13px 20px;font-size:13.5px;}
  .about-light h2,.form-card h2{font-size:1.5rem;}
}
@media(max-width:400px){.prod-grid{grid-template-columns:1fr;}}
