/* ==========================================================================
   Teddy-ets — feuille de style
   ========================================================================== */
:root{
  /* palette reprise du logo : bleu marine, bleu casquette, bleu ciel, jaune éclair, crème, brun ourson */
  --night:#103164; --night-2:#163c74; --night-3:#1d4a8a; --night-line:#2b5794;
  --sun:#f9bb3c; --sun-deep:#2e6eac; --sun-pale:#fdf1d6;
  --sky:#8bb4d0; --drop:#469fd7; --bear:#ca8248;
  --sand:#fdf9ed; --sand-2:#f7e6ca; --paper:#ffffff; --line:#eadfc8;
  --ink:#0f203a; --mute:#4a5a70; --sea:#b0662d;
  --r:6px;
  --shadow:0 18px 40px -18px rgba(15,32,58,.35);
  --head-h:72px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
section[id],div[id]{scroll-margin-top:calc(var(--head-h) + 20px);}
body{margin:0; font-family:"DM Sans",system-ui,-apple-system,sans-serif; font-size:16.5px; color:var(--ink); background:var(--sand); line-height:1.6; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:"Archivo","DM Sans",sans-serif; line-height:1.12; letter-spacing:-.015em; margin:0 0 .7em;}
h1{font-weight:900;}
h2{font-weight:800; font-size:clamp(1.55rem,3.2vw,2.25rem);}
h3{font-weight:700; font-size:1.12rem;}
p{margin:0 0 1em;}
img{max-width:100%; height:auto; display:block;}
a{color:inherit;}
button{font:inherit;}
.wrap{width:100%; max-width:1200px; margin:0 auto; padding:0 1.25rem;}
.skip{position:absolute; left:-999px; top:0;}
.skip:focus{left:1rem; top:1rem; z-index:999; background:var(--sun); color:var(--night); padding:.7rem 1rem; font-weight:700; border-radius:var(--r);}
:focus-visible{outline:3px solid var(--sun); outline-offset:2px;}

.kicker{display:inline-flex; align-items:center; gap:.55rem; font-family:"Archivo",sans-serif; font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.18em; color:var(--sun-deep); margin-bottom:.8rem;}
.kicker::before{content:""; width:22px; height:3px; background:currentColor; flex-shrink:0;}
.text-link{color:var(--sun-deep); font-weight:700;}

/* ---------- boutons ---------- */
.btn-sun,.btn-line,.btn-alert,.btn-dark{display:inline-flex; align-items:center; justify-content:center; gap:.6rem; font-family:"Archivo",sans-serif; font-weight:800; font-size:.98rem; letter-spacing:.01em; text-decoration:none; padding:1rem 1.5rem; border-radius:var(--r); border:2px solid transparent; cursor:pointer; transition:transform .15s, background .2s, color .2s, border-color .2s; line-height:1.2;}
.btn-sun{background:var(--sun); color:var(--night); box-shadow:0 10px 24px -10px rgba(249,187,60,.7);}
.btn-sun:hover{background:#ffcb5c; transform:translateY(-2px);}
.btn-line{background:transparent; color:inherit; border-color:currentColor;}
.btn-line:hover{background:var(--night); color:#fff; border-color:var(--night);}
.btn-dark{background:var(--night); color:#fff;}
.btn-dark:hover{background:var(--night-3);}
.btn-alert{background:transparent; color:#fff; border-color:rgba(255,255,255,.5);}
.btn-alert:hover{border-color:#fff;}
.btn-row{display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.4rem;}
.btn-row svg,.btn-sun svg{flex-shrink:0;}

.pulse{display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--sun); box-shadow:0 0 0 0 rgba(249,187,60,.6); animation:pulse 1.8s infinite; flex-shrink:0;}
.live-dot{display:inline-block; width:9px; height:9px; border-radius:50%; background:#3ddc84; box-shadow:0 0 0 4px rgba(61,220,132,.2); flex-shrink:0;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(249,187,60,.6);}70%{box-shadow:0 0 0 9px rgba(249,187,60,0);}100%{box-shadow:0 0 0 0 rgba(249,187,60,0);}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none;} html{scroll-behavior:auto;}}

/* ---------- barre d'info + en-tête ---------- */
.infobar{background:var(--night); color:#d6e3f0; font-size:.8rem;}
.infobar .wrap{display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:38px;}
.infobar p{margin:0; display:flex; align-items:center; gap:.55rem;}
.infobar a{color:#fff; font-weight:700; text-decoration:none;}
.infobar-extra{display:none !important;}
.topbar{position:sticky; top:0; z-index:400; background:var(--paper); border-bottom:3px solid var(--sun); transition:box-shadow .2s;}
.topbar.scrolled{box-shadow:0 8px 24px -12px rgba(15,32,58,.35);}
.topbar-row{display:flex; align-items:center; justify-content:space-between; gap:1rem; height:var(--head-h);}
.logo{display:flex; align-items:center; gap:.7rem; text-decoration:none; min-width:0;}
.logo img{width:56px; height:auto; flex-shrink:0;}
.logo-txt{display:flex; flex-direction:column; line-height:1; min-width:0;}
.logo-txt strong{font-family:"Archivo",sans-serif; font-weight:900; font-size:1.35rem; text-transform:uppercase; letter-spacing:.01em; white-space:nowrap;}
.logo-txt strong span{color:var(--sun-deep);}
.logo-txt small{white-space:nowrap; font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--mute); margin-top:.35rem;}
.menu{display:none; align-items:center; gap:.2rem;}
.menu > a,.menu-drop > a{white-space:nowrap; display:inline-flex; align-items:center; gap:.35rem; padding:.55rem .75rem; text-decoration:none; font-weight:700; font-size:.88rem; color:var(--ink); border-radius:var(--r);}
.menu > a:hover,.menu-drop > a:hover{background:var(--sand);}
.menu .menu-alert{color:var(--sun-deep);}
.menu-drop{position:relative;}
.menu-panel{position:absolute; top:100%; left:0; min-width:290px; background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--sun); box-shadow:var(--shadow); padding:.5rem; opacity:0; visibility:hidden; transform:translateY(8px); transition:.18s; z-index:10;}
.menu-drop:hover .menu-panel,.menu-drop:focus-within .menu-panel{opacity:1; visibility:visible; transform:none;}
.menu-panel a{display:block; padding:.6rem .8rem; text-decoration:none; font-size:.9rem; font-weight:500; border-radius:4px;}
.menu-panel a:hover{background:var(--sun-pale); color:var(--sun-deep);}
.menu-panel .menu-all{display:flex; align-items:center; gap:.4rem; font-weight:800; border-top:1px solid var(--line); margin-top:.3rem; padding-top:.75rem; color:var(--sun-deep);}
.topbar-actions{display:flex; align-items:center; gap:.6rem;}
.topbar-call{white-space:nowrap; display:none; align-items:center; gap:.55rem; background:var(--sun); color:var(--night); text-decoration:none; font-family:"Archivo",sans-serif; font-weight:900; padding:.7rem 1rem; border-radius:var(--r); font-size:.95rem;}
.topbar-call:hover{background:#ffcb5c;}
.nav-toggle{display:inline-flex; align-items:center; justify-content:center; gap:.4rem; height:44px; padding:0 .8rem; border:2px solid var(--night); background:var(--paper); color:var(--night); border-radius:var(--r); cursor:pointer; font-weight:800; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em;}

/* ---------- tiroir mobile ---------- */
.drawer{position:fixed; inset:0; z-index:500; background:rgba(15,32,58,.55); opacity:0; visibility:hidden; transition:.25s;}
.drawer.open{opacity:1; visibility:visible;}
.drawer-panel{position:absolute; top:0; right:0; bottom:0; width:min(420px,100%); background:var(--night); color:#fff; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .3s ease; overflow-y:auto;}
.drawer.open .drawer-panel{transform:none;}
.drawer-head{display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:1px solid var(--night-line);}
.drawer-head strong{font-family:"Archivo",sans-serif; font-weight:900; text-transform:uppercase; font-size:.95rem;}
.drawer-close{width:44px; height:44px; border:1px solid var(--night-line); background:transparent; color:#fff; border-radius:var(--r); cursor:pointer; display:inline-flex; align-items:center; justify-content:center;}
.drawer-links{padding:.8rem 1.25rem 1.5rem; display:flex; flex-direction:column;}
.drawer-links > a,.drawer-links summary{display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.95rem 0; border-bottom:1px solid var(--night-line); text-decoration:none; font-weight:700; font-size:1.05rem; color:#fff; cursor:pointer; list-style:none;}
.drawer-links summary::-webkit-details-marker{display:none;}
.drawer-links details[open] summary svg{transform:rotate(180deg);}
.drawer-links details div{display:flex; flex-direction:column; padding:.3rem 0 .6rem .8rem; border-left:2px solid var(--sun); margin:.5rem 0;}
.drawer-links details div a{padding:.5rem 0; color:#d6e3f0; text-decoration:none; font-size:.95rem;}
.drawer-links .menu-alert{color:var(--sun);}
.drawer-call{margin-top:1.4rem; display:flex; align-items:center; gap:.9rem; background:var(--sun); color:var(--night); text-decoration:none; padding:1rem 1.1rem; border-radius:var(--r);}
.drawer-call small{display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700;}
.drawer-call strong{font-family:"Archivo",sans-serif; font-size:1.35rem; font-weight:900;}
body.menu-open{overflow:hidden;}

/* ---------- héros accueil ---------- */
.home-hero{position:relative; color:#fff; overflow:hidden; padding:2.6rem 0 3rem; background-color:var(--night); background-image:linear-gradient(180deg,rgba(16,49,100,.82),rgba(16,49,100,.72)),url("/images/hero-nimes.jpg"); background-size:cover; background-position:60% 40%;}
.home-hero::before{display:none;}
.home-hero .home-hero-text{max-width:640px;}
.home-hero::before{content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(110deg,#000 30%,transparent 80%); -webkit-mask-image:linear-gradient(110deg,#000 30%,transparent 80%);}

.home-hero-layout{position:relative; z-index:1; display:grid; gap:2.4rem; align-items:center;}
.hero-tag{display:inline-flex; align-items:center; gap:.6rem; border:1px solid var(--night-line); background:var(--night-2); padding:.45rem .9rem; border-radius:999px; font-size:.78rem; font-weight:700; color:#e3ecf5; margin-bottom:1.3rem;}
.home-hero h1{font-size:clamp(2.1rem,6vw,3.7rem); text-transform:uppercase; letter-spacing:-.02em; line-height:1; margin-bottom:1.2rem;}
.home-hero h1 em{font-style:normal; color:var(--sun); display:block;}
.home-hero .intro{color:#cfdcea; font-size:clamp(1rem,1.5vw,1.12rem); max-width:560px;}
.home-hero .btn-line{color:#fff;}
.home-hero .btn-line:hover{background:#fff; color:var(--night); border-color:#fff;}
.tick-list{list-style:none; padding:0; margin:1.6rem 0 0; display:flex; flex-wrap:wrap; gap:.5rem 1.2rem;}
.tick-list li{display:flex; align-items:center; gap:.45rem; font-size:.88rem; font-weight:600;}
.tick-list svg{color:var(--sun); flex-shrink:0;}
.home-hero .tick-list li{color:#e8f0f7;}
.home-hero-media{position:relative; max-width:520px; width:100%; justify-self:center;}
.hero-frame{position:relative; aspect-ratio:4/4.4; overflow:hidden; border-radius:var(--r); clip-path:polygon(0 0,100% 0,100% 88%,82% 100%,0 100%);}
.hero-frame img{width:100%; height:100%; object-fit:cover;}
.home-hero-media::before{content:""; position:absolute; inset:18px -14px -14px 18px; border:3px solid var(--sky); border-radius:var(--r);}
.hero-sticker{position:absolute; left:-6px; bottom:22px; background:var(--sun); color:var(--night); padding:.85rem 1.1rem; border-radius:var(--r); box-shadow:var(--shadow); display:flex; flex-direction:column; line-height:1.2; max-width:230px;}
.hero-sticker strong{font-family:"Archivo",sans-serif; font-weight:900; font-size:1.1rem; text-transform:uppercase;}
.hero-sticker span{font-size:.82rem; font-weight:600;}

/* ---------- bandeau alerte ---------- */
.alert-strip{background:var(--sun); color:var(--night);}
.alert-strip-layout{display:flex; flex-direction:column; gap:1rem; padding:1.2rem 1.25rem;}
.alert-strip-text{display:flex; flex-direction:column; gap:.7rem;}
.alert-strip-text > strong{display:flex; align-items:center; gap:.6rem; font-family:"Archivo",sans-serif; font-weight:900; text-transform:uppercase; font-size:1.05rem;}
.alert-strip .pulse{background:var(--night); animation:none;}
.alert-chips{display:flex; flex-wrap:wrap; gap:.45rem;}
.alert-chip{background:rgba(15,32,58,.1); border:1px solid rgba(15,32,58,.25); padding:.35rem .75rem; border-radius:999px; font-size:.82rem; font-weight:700; text-decoration:none;}
.alert-chip:hover{background:var(--night); color:#fff;}
.alert-strip-actions{display:flex; flex-wrap:wrap; gap:.6rem; align-items:center;}
.alert-strip-link{display:inline-flex; align-items:center; gap:.4rem; font-weight:800; text-decoration:none;}
.alert-strip-call{display:inline-flex; align-items:center; gap:.5rem; background:var(--night); color:#fff; padding:.75rem 1.1rem; border-radius:var(--r); font-weight:800; text-decoration:none;}

/* ---------- atouts (ex-défilant) ---------- */
.assure-block{background:var(--paper); border-bottom:1px solid var(--line);}
.assure-grid{display:grid; grid-template-columns:1fr; gap:0;}
.assure-pt{display:flex; align-items:center; gap:.8rem; padding:1rem .25rem; border-bottom:1px dashed var(--line); font-weight:700; font-size:.92rem;}
.assure-pt svg{color:var(--sun-deep); flex-shrink:0; width:22px; height:22px;}

/* ---------- sections génériques ---------- */
.sec{padding:4.2rem 0;}
.sec-title{max-width:720px; margin:0 0 2.4rem;}
.sec-title p{color:var(--mute); font-size:1.03rem; margin:0;}
.sec-title.center{margin-left:auto; margin-right:auto; text-align:center;}
.sec-title.center .kicker::before{display:none;}

/* services */
.services-block{padding:4.4rem 0; background:var(--sand);}
.services{display:grid; gap:1.2rem; counter-reset:svc;}
.service{counter-increment:svc; position:relative; display:grid; grid-template-columns:1fr; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; transition:border-color .2s, transform .2s;}
.services > .service:last-child:nth-child(odd){grid-column:1/-1;}
.service:hover{border-color:var(--sun); transform:translateY(-3px);}
.service-img{width:100%; aspect-ratio:16/9; object-fit:cover;}
.service-body{padding:1.4rem 1.4rem 1.5rem; display:flex; flex-direction:column;}
.service-body::before{content:"0" counter(svc); position:absolute; top:.8rem; left:.8rem; background:var(--night); color:var(--sun); font-family:"Archivo",sans-serif; font-weight:900; font-size:.85rem; padding:.3rem .55rem; border-radius:4px;}
.service-ico{display:none;}
.service h3{font-size:1.25rem; margin-bottom:.4rem;}
.service h3 a{text-decoration:none;}
.service h3 a:hover{color:var(--sun-deep);}
.service p{color:var(--mute); font-size:.95rem;}
.service-link{display:inline-flex; align-items:center; gap:.35rem; font-weight:800; color:var(--sun-deep); text-decoration:none; font-size:.92rem; margin-bottom:1rem;}
.service-actions{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:auto;}
.act-call,.service-actions .js-quote{white-space:nowrap; flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.4rem; padding:.75rem .8rem; border-radius:var(--r); font-weight:800; font-size:.88rem; text-decoration:none; cursor:pointer;}
.act-call{background:var(--night); color:#fff; border:2px solid var(--night);}
.act-call:hover{background:var(--night-3);}
.service-actions .js-quote{background:transparent; border:2px solid var(--line); color:var(--ink);}
.service-actions .js-quote:hover{border-color:var(--sun); color:var(--sun-deep);}

/* chiffres + avantages */
.advantages-block{background:var(--night); color:#fff; padding:4.4rem 0;}
.advantages-layout{display:grid; gap:2.6rem; align-items:center;}
.advantages-block .kicker{color:var(--sun);}
.advantages-block h2{color:#fff;}
.perks{display:flex; flex-direction:column; gap:1.3rem; margin:1.6rem 0 2rem;}
.perk{display:flex; gap:1rem; align-items:flex-start;}
.perk .ico{flex-shrink:0; width:46px; height:46px; display:inline-flex; align-items:center; justify-content:center; border:2px solid var(--sun); color:var(--sun); border-radius:var(--r);}
.perk h3{color:#fff; margin-bottom:.25rem;}
.perk p{color:#bccde0; margin:0; font-size:.95rem;}
.figures{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--night-line); border:1px solid var(--night-line); border-radius:var(--r); overflow:hidden;}
.figure{background:var(--night-2); padding:1.6rem 1.2rem; display:flex; flex-direction:column; gap:.3rem;}
.figure strong{font-family:"Archivo",sans-serif; font-weight:900; font-size:clamp(2rem,5vw,2.9rem); color:var(--sun); line-height:1;}
.figure span{color:#cfdcea; font-size:.9rem;}

/* étapes */
.stages-block{padding:4.4rem 0; background:var(--paper);}
.stages{display:grid; gap:0; counter-reset:none; position:relative;}
.stage{position:relative; padding:0 0 1.8rem 4.2rem;}
.stage::before{content:""; position:absolute; left:23px; top:48px; bottom:0; width:2px; background:repeating-linear-gradient(var(--line) 0 6px,transparent 6px 12px);}
.stage:last-child::before{display:none;}
.stage-n{position:absolute; left:0; top:0; width:48px; height:48px; display:flex; align-items:center; justify-content:center; background:var(--sun); color:var(--night); font-family:"Archivo",sans-serif; font-weight:900; border-radius:50%; font-size:1rem;}
.stage h3{margin:.55rem 0 .35rem;}
.stage p{color:var(--mute); margin:0;}

/* présentation + engagements */
.intro-block{padding:4.4rem 0; background:var(--sand);}
.intro-layout{display:grid; gap:2.4rem;}
.intro-text p{color:#24344d;}
.promise-panel{background:var(--paper); border:1px solid var(--line); border-top:5px solid var(--sun); border-radius:var(--r); padding:1.8rem 1.5rem; align-self:start;}
.promise-panel h3{font-size:1.35rem;}
.promise-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.85rem;}
.promise-list li{display:flex; gap:.7rem; align-items:flex-start; font-size:.95rem;}
.promise-list svg{flex-shrink:0; margin-top:3px; color:var(--paper); background:var(--sea); border-radius:50%; padding:3px; width:20px; height:20px;}

/* bandeau d'appel */
.call-strip{position:relative; background:var(--sun); color:var(--night); padding:3rem 0; overflow:hidden;}
.call-strip::before{content:""; position:absolute; inset:0; background:repeating-linear-gradient(-45deg,rgba(15,32,58,.06) 0 14px,transparent 14px 28px);}
.call-strip .wrap{position:relative; display:flex; flex-direction:column; gap:1.4rem; align-items:flex-start;}
.call-strip h2{text-transform:uppercase; margin:0 0 .35rem; font-weight:900;}
.call-strip p{margin:0; font-weight:600;}
.call-strip .btn-sun{background:var(--night); color:#fff; box-shadow:none;}
.call-strip .btn-sun:hover{background:var(--night-3);}
.call-strip .btn-alert{color:var(--night); border-color:var(--night);}
.callout-actions{display:flex; flex-wrap:wrap; gap:.7rem;}

/* réalisations */
.works-block{padding:4.4rem 0; background:var(--paper);}
.works-block.works-tint{background:var(--sand);}
.works-grid{display:grid; grid-template-columns:1fr; gap:1.2rem;}
.work{margin:0; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column;}
.works-tint .work{background:var(--paper);}
.work-zoom{display:block; position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--night);}
.work-zoom img{width:100%; height:100%; object-fit:cover; transition:transform .4s;}
.work-zoom:hover img{transform:scale(1.04);}
.work-zoom::after{content:"+"; position:absolute; right:.7rem; top:.7rem; width:34px; height:34px; display:flex; align-items:center; justify-content:center; background:var(--sun); color:var(--night); font-weight:900; font-size:1.3rem; border-radius:4px;}
.work figcaption{padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:.3rem;}
.work figcaption strong{font-family:"Archivo",sans-serif; font-weight:800;}
.work figcaption span{color:var(--mute); font-size:.9rem;}
.work-link{display:inline-flex; align-items:center; gap:.35rem; margin-top:.35rem; color:var(--sun-deep); font-weight:800; font-size:.88rem; text-decoration:none;}
.works-more{margin:2rem 0 0;}
.works-group{margin-bottom:3rem;}
.works-group > h2{display:flex; align-items:center; gap:.7rem; font-size:1.5rem;}
.works-group > h2::before{content:""; width:14px; height:14px; background:var(--sun); border-radius:3px; flex-shrink:0;}

/* secteurs */
.areas-block{padding:4.4rem 0; background:var(--night); color:#fff;}
.areas-block .kicker{color:var(--sun);}
.areas-block .sec-title p,.areas-block > .wrap > p{color:#bccde0;}
.areas{display:grid; gap:1rem; margin-top:2rem;}
.area{background:var(--night-2); border:1px solid var(--night-line); border-radius:var(--r); padding:1.4rem; display:flex; flex-direction:column; transition:border-color .2s;}
.area:hover{border-color:var(--sun);}
.area h3{font-size:1.15rem; margin-bottom:.4rem;}
.area h3 a{text-decoration:none; color:#fff;}
.area h3 a:hover{color:var(--sun);}
.area p{color:#bccde0; font-size:.92rem;}
.towns{display:flex; flex-wrap:wrap; gap:.35rem;}
.town{font-size:.76rem; font-weight:600; padding:.25rem .55rem; border-radius:4px; background:rgba(255,255,255,.06); color:#e3ecf5;}
.area-more{display:inline-flex; align-items:center; gap:.35rem; margin-top:1rem; color:var(--sun); font-weight:800; text-decoration:none; font-size:.9rem;}
.areas-note{margin-top:2rem; color:#bccde0; font-size:.95rem;}
.areas-note a{color:var(--sun); font-weight:700;}

/* FAQ */
.qa-block{padding:4.4rem 0; background:var(--paper);}
.qa-layout{display:grid; gap:2rem;}
.qa-layout > .sec-title{margin-bottom:0;}
.qa{border:1px solid var(--line); border-radius:var(--r); margin-bottom:.6rem; background:var(--paper); transition:border-color .2s;}
.qa[open]{border-color:var(--night); box-shadow:inset 4px 0 0 var(--sun);}
.qa summary{display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.05rem 1.2rem; cursor:pointer; list-style:none; font-weight:700;}
.qa summary::-webkit-details-marker{display:none;}
.qa summary svg{flex-shrink:0; transition:transform .2s; color:var(--sun-deep);}
.qa[open] summary svg{transform:rotate(45deg);}
.qa > p,.qa > div{padding:0 1.2rem 1.2rem; margin:0; color:#2f4058;}
.qa-more{margin-top:1.4rem;}
.qa-group{margin-bottom:2.6rem;}
.qa-group > h2{font-size:1.4rem; padding-bottom:.6rem; border-bottom:2px solid var(--night);}
.qa-index{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.4rem;}
.qa-index-link{padding:.5rem .9rem; border:1px solid var(--night-line); color:#fff; border-radius:999px; text-decoration:none; font-size:.85rem; font-weight:700;}
.qa-index-link:hover{background:var(--sun); color:var(--night); border-color:var(--sun);}

/* assureurs */
.insurers-block{padding:4rem 0; background:var(--sand); border-top:1px solid var(--line);}
.insurers-title{max-width:760px; margin-bottom:2rem;}
.insurers-title p{color:var(--mute);}
.insurers-grid{display:flex; flex-direction:column; gap:.8rem; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.insurers-row{overflow:hidden;}
.insurers-move{display:flex; width:max-content; animation:insurers-scroll 50s linear infinite;}
.insurers-row-rev .insurers-move{animation-direction:reverse; animation-duration:56s;}
.insurers-row:hover .insurers-move{animation-play-state:paused;}
@keyframes insurers-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.insurers-move{animation:none; flex-wrap:wrap; width:auto; justify-content:center;} .insurer[aria-hidden="true"]{display:none;}}
.insurer{flex:none; display:flex; align-items:center; justify-content:center; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); width:150px; height:84px; padding:.8rem; margin-right:.8rem;}
.insurer img{max-height:64px; max-width:100%; width:auto; object-fit:contain;}
.insurers-note{text-align:center; margin-top:1rem; font-size:.85rem; color:var(--mute); font-weight:600;}

/* devis / contact */
.quote-block{padding:4.4rem 0; background:var(--night); color:#fff;}
.quote-block .kicker{color:var(--sun);}
.quote-block .sec-title p{color:#bccde0;}
.quote-layout{display:grid; gap:1.4rem;}
.f-panel{background:var(--paper); color:var(--ink); border-radius:var(--r); padding:1.6rem 1.3rem;}
.contact-panel{background:var(--sun); color:var(--night); border-radius:var(--r); padding:1.8rem 1.5rem; align-self:start;}
.contact-panel .kicker{color:var(--night);}
.big-phone{display:block; font-family:"Archivo",sans-serif; font-weight:900; font-size:clamp(1.8rem,4vw,2.3rem); text-decoration:none; margin:.2rem 0 1.2rem; letter-spacing:-.01em;}
.contact-points{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.7rem;}
.contact-points li{display:flex; gap:.6rem; align-items:center; font-weight:600;}
.f-row{display:grid; gap:1rem;}
.f-field{display:flex; flex-direction:column; gap:.35rem; margin-bottom:1rem;}
.f-field label{font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em;}
.f-field input,.f-field select,.f-field textarea{width:100%; font:inherit; font-size:1rem; padding:.85rem .9rem; border:2px solid var(--line); border-radius:var(--r); background:var(--sand); color:var(--ink); transition:border-color .2s, background .2s;}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{outline:none; border-color:var(--sun); background:#fff;}
.f-field textarea{min-height:130px; resize:vertical;}
.f-consent{display:flex; gap:.6rem; align-items:flex-start; font-size:.85rem; color:var(--mute); margin-bottom:1.2rem;}
.f-consent input{margin-top:.25rem; width:18px; height:18px; accent-color:var(--sun-deep); flex-shrink:0;}
.f-send{width:100%; padding:1.05rem; border:none; border-radius:var(--r); background:var(--night); color:#fff; font-family:"Archivo",sans-serif; font-weight:900; font-size:1rem; text-transform:uppercase; letter-spacing:.06em; cursor:pointer;}
.f-send:hover{background:var(--sun); color:var(--night);}
.f-send:disabled{opacity:.6; cursor:wait;}
.f-note{font-size:.85rem; color:var(--mute); margin:.9rem 0 0; text-align:center;}
.f-note a{color:var(--sun-deep); font-weight:700;}
.hp-field{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden;}

/* ---------- pages intérieures ---------- */
.top-banner{position:relative; background:var(--night); color:#fff; padding:2.2rem 0 2.8rem; overflow:hidden;}
.top-banner::before{content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:40px 40px;}
.top-banner > .wrap{position:relative;}
.top-banner-layout{display:grid; gap:2rem; align-items:center;}
.trail{display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; font-size:.8rem; color:#a5b9d0; margin-bottom:1.3rem; font-weight:600;}
.trail a{color:#e3ecf5; text-decoration:none;}
.trail a:hover{color:var(--sun);}
.trail [aria-current]{color:var(--sun);}
.top-banner .kicker{color:var(--sun);}
.top-banner h1{font-size:clamp(1.85rem,4.6vw,3rem); text-transform:uppercase; letter-spacing:-.02em; line-height:1.04; margin-bottom:1rem;}
.top-banner .intro{color:#cfdcea; font-size:1.06rem; max-width:640px;}
.top-banner .intro-link{color:var(--sun); font-weight:800;}
.top-banner .btn-line{color:#fff;}
.top-banner .btn-line:hover{background:#fff; color:var(--night); border-color:#fff;}
.top-banner .tick-list li{color:#e8f0f7;}
.top-banner-media{position:relative; justify-self:center; width:100%; max-width:480px;}
.top-banner-media img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r); clip-path:polygon(0 0,100% 0,100% 85%,85% 100%,0 100%);}
.top-banner-media::after{content:""; position:absolute; right:-10px; bottom:-10px; width:90px; height:90px; border-right:4px solid var(--sun); border-bottom:4px solid var(--sun);}
.top-banner-compact{padding-bottom:2.4rem;}
.top-banner-compact h1{max-width:820px;}
.alert-tag{display:inline-flex; align-items:center; gap:.6rem; background:var(--sun); color:var(--night); padding:.45rem .9rem; border-radius:999px; font-size:.8rem; font-weight:800; margin-bottom:1rem;}
.alert-tag .pulse{background:var(--night);}
.top-banner-alert{border-bottom:6px solid var(--sun);}

.article-block{padding:4rem 0; background:var(--sand);}
.article-layout{display:grid; gap:2.4rem;}
.richtext{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:1.8rem 1.4rem; min-width:0;}
.richtext > h2{font-size:clamp(1.35rem,2.6vw,1.75rem); margin:2.2rem 0 .9rem; padding-left:.9rem; border-left:5px solid var(--sun);}
.richtext > h2:first-child{margin-top:0;}
.richtext h3{margin:1.6rem 0 .6rem;}
.richtext p,.richtext li{color:#24344d;}
.richtext a{color:var(--sun-deep); font-weight:700;}
.richtext ul{list-style:none; padding:0; margin:0 0 1.2rem;}
.richtext ul li{position:relative; padding-left:1.4rem; margin-bottom:.55rem;}
.richtext ul li::before{content:""; position:absolute; left:0; top:.6em; width:8px; height:8px; background:var(--sun); border-radius:2px;}
.richtext ol{list-style:none; padding:0; margin:0 0 1.2rem; counter-reset:ol;}
.richtext ol li{counter-increment:ol; position:relative; padding-left:2.6rem; margin-bottom:.9rem; min-height:1.9rem;}
.richtext ol li::before{content:counter(ol); position:absolute; left:0; top:0; width:1.9rem; height:1.9rem; display:flex; align-items:center; justify-content:center; background:var(--night); color:var(--sun); font-family:"Archivo",sans-serif; font-weight:900; font-size:.85rem; border-radius:4px;}
.richtext table{width:100%; border-collapse:collapse; margin:0 0 1.2rem; font-size:.94rem;}
.richtext th,.richtext td{border:1px solid var(--line); padding:.6rem .7rem; text-align:left; vertical-align:top;}
.richtext th{background:var(--sand);}
.note-box{background:var(--sun-pale); border:1px solid #f3dca6; border-left:5px solid var(--sun); padding:1.1rem 1.2rem; border-radius:var(--r); margin:1.4rem 0; color:#24344d;}
.note-box a{color:var(--sun-deep);}
.richtext-fig{margin:1.4rem 0;}
.richtext-fig img{border-radius:var(--r);}
.richtext-fig figcaption{font-size:.85rem; color:var(--mute); margin-top:.5rem;}
.richtext-tags .town{background:var(--sand); color:var(--ink); border:1px solid var(--line); font-size:.82rem; padding:.35rem .65rem;}
.richtext-tags{margin-bottom:1rem;}
.fine-print{font-size:.88rem; color:var(--mute) !important;}

.sidebar{display:flex; flex-direction:column; gap:1.2rem;}
.help-box{background:var(--night); color:#fff; border-radius:var(--r); padding:1.6rem 1.4rem; position:relative; overflow:hidden;}
.help-box::after{content:""; position:absolute; right:-40px; top:-40px; width:120px; height:120px; border-radius:50%; background:rgba(139,180,208,.25);}
.help-box .kicker{color:var(--sun);}
.help-box p{color:#cfdcea; font-size:.94rem;}
.help-box .big-phone{color:#fff;}
.help-quote{width:100%; padding:.95rem; border:none; border-radius:var(--r); background:var(--sun); color:var(--night); font-family:"Archivo",sans-serif; font-weight:900; cursor:pointer; font-size:.95rem;}
.help-quote:hover{background:#ffcb5c;}
.help-meta{font-size:.8rem !important; color:#a5b9d0 !important; margin:.8rem 0 .9rem !important; text-align:center;}
.help-alert{display:flex; align-items:center; gap:.55rem; padding-top:.9rem; border-top:1px solid var(--night-line); color:#fff; font-weight:700; font-size:.9rem; text-decoration:none;}
.help-alert:hover{color:var(--sun);}
.promise-box{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:1.4rem;}
.promise-box h3{font-size:1.1rem;}

/* garanties */
.pledges-block{padding:4.2rem 0; background:var(--paper); border-top:1px solid var(--line);}
.pledges{display:grid; gap:0; border:1px solid var(--line); border-radius:var(--r); overflow:hidden;}
.pledge{padding:1.6rem 1.4rem; border-bottom:1px solid var(--line); background:var(--paper);}
.pledge:last-child{border-bottom:none;}
.pledge .ico{width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; background:var(--night); color:var(--sun); border-radius:var(--r); margin-bottom:1rem;}
.pledge h3{margin-bottom:.35rem;}
.pledge p{color:var(--mute); margin:0; font-size:.94rem;}

/* liens internes */
.jumps-block{padding:3.6rem 0; background:var(--sand);}
.jumps-title{margin-bottom:1.4rem;}
.jumps{display:grid; gap:.5rem;}
.jump{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); text-decoration:none; font-weight:700; transition:.2s;}
.jump svg{color:var(--sun-deep); flex-shrink:0; transition:transform .2s;}
.jump:hover{border-color:var(--night); background:var(--night); color:#fff;}
.jump:hover svg{transform:translateX(4px); color:var(--sun);}

/* urgence : gestes + cas */
.gestures-block{padding:4.2rem 0; background:var(--paper);}
.gestures{display:grid; gap:1rem;}
.gesture{position:relative; padding:1.5rem 1.3rem 1.4rem; border:2px solid var(--night); border-radius:var(--r); background:var(--paper);}
.gesture-n{display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; background:var(--sun); color:var(--night); font-family:"Archivo",sans-serif; font-weight:900; font-size:1.2rem; border-radius:var(--r); margin-bottom:.8rem;}
.gesture p{color:var(--mute); margin:0;}
.gas-warning{margin-top:1.6rem; background:#fff4d6; border:2px dashed #e0a100; border-radius:var(--r); padding:1.1rem 1.2rem;}
.gas-warning a{color:var(--ink); font-weight:800;}
.cases-block{padding:4.2rem 0; background:var(--sand);}
.cases{display:grid; gap:1rem;}
.case{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:1.4rem; display:flex; flex-direction:column;}
.case h3{display:flex; gap:.6rem; align-items:flex-start;}
.case h3::before{content:"!"; flex-shrink:0; width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center; background:var(--sun); color:var(--night); border-radius:50%; font-size:.8rem; font-weight:900; margin-top:1px;}
.case-what{color:#24344d; font-size:.95rem;}
.case-tip{background:var(--sand); border-radius:4px; padding:.8rem .9rem; font-size:.9rem; color:#24344d;}
.tip-label{display:block; font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; color:var(--sea); margin-bottom:.25rem;}
.case-actions{display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; margin-top:auto; padding-top:.6rem;}
.case-actions .act-call{flex:0 0 auto; padding:.65rem 1rem;}
.case-link{display:inline-flex; align-items:center; gap:.3rem; color:var(--sun-deep); font-weight:800; font-size:.88rem; text-decoration:none;}
.area-link{display:inline-flex; align-items:center; gap:.35rem;}

/* ---------- pied de page ---------- */
.site-footer{background:var(--night); color:#bccde0; font-size:.92rem;}
.footer-call{border-bottom:1px solid var(--night-line);}
.footer-call .wrap{display:flex; flex-direction:column; gap:1rem; padding-top:2.4rem; padding-bottom:2.4rem;}
.footer-call p{margin:0; font-family:"Archivo",sans-serif; font-weight:900; text-transform:uppercase; color:#fff; font-size:clamp(1.3rem,3vw,1.8rem); line-height:1.1;}
.footer-call p span{color:var(--sun);}
.footer-grid{display:grid; gap:2rem; padding:2.8rem 1.25rem 2rem;}
.footer-brand{display:flex; align-items:center; gap:.7rem; margin-bottom:1rem; color:#fff; text-decoration:none;}
.footer-brand img{width:52px; height:auto;}
.footer-brand strong small{display:block; font-family:"DM Sans",sans-serif; font-weight:600; text-transform:none; font-size:.75rem; color:#a5b9d0; margin-top:.2rem;}
.footer-brand strong{font-family:"Archivo",sans-serif; font-weight:900; text-transform:uppercase; font-size:.95rem; line-height:1.15;}
.footer-about{max-width:340px; line-height:1.6;}
.footer-col h4{font-size:.78rem; text-transform:uppercase; letter-spacing:.16em; color:var(--sun); margin-bottom:1rem;}
.footer-col ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.55rem;}
.footer-col a{text-decoration:none; color:#e3ecf5;}
.footer-col a:hover{color:var(--sun);}
.footer-base{border-top:1px solid var(--night-line); padding:1.3rem 1.25rem 6.5rem; display:flex; flex-direction:column; gap:.8rem; font-size:.8rem; color:#9fb3cb;}
.footer-base p{margin:0;}
.footer-legal{display:flex; flex-wrap:wrap; gap:1rem; align-items:center;}
.footer-legal a,.consent-open{color:#cfdcea; text-decoration:none; background:none; border:none; padding:0; cursor:pointer; font-size:.8rem;}
.footer-legal a:hover,.consent-open:hover{color:var(--sun);}

/* barre d'appel mobile */
.callbar{position:fixed; left:0; right:0; bottom:0; z-index:300; display:flex; gap:.5rem; padding:.6rem .7rem calc(.6rem + env(safe-area-inset-bottom)); background:var(--night); border-top:3px solid var(--sun);}
.callbar-call{flex:1; display:flex; align-items:center; justify-content:center; gap:.6rem; background:var(--sun); color:var(--night); text-decoration:none; border-radius:var(--r); padding:.7rem; font-family:"Archivo",sans-serif; font-weight:900; font-size:1.05rem;}
.callbar-quote{flex:0 0 auto; background:transparent; color:#fff; border:2px solid var(--night-line); border-radius:var(--r); padding:0 1rem; font-weight:800; cursor:pointer;}

/* fenêtre devis */
.devis-overlay{position:fixed; inset:0; z-index:600; background:rgba(15,32,58,.7); display:flex; align-items:flex-end; justify-content:center; opacity:0; visibility:hidden; transition:.2s;}
.devis-overlay.open{opacity:1; visibility:visible;}
.devis-card{position:relative; width:100%; max-width:560px; max-height:92vh; overflow-y:auto; background:var(--paper); border-radius:var(--r) var(--r) 0 0; padding:1.8rem 1.3rem 1.4rem; border-top:5px solid var(--sun);}
.devis-card h2{text-transform:uppercase; font-size:1.5rem; margin-bottom:1.2rem;}
.devis-close{position:absolute; right:1rem; top:1rem; width:40px; height:40px; border:none; background:var(--sand); border-radius:var(--r); cursor:pointer; display:inline-flex; align-items:center; justify-content:center;}
.devis-badge{display:inline-block; background:var(--night); color:var(--sun); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; padding:.35rem .7rem; border-radius:4px; margin-bottom:.8rem;}

/* bandeau cookies */
.consent{position:fixed; left:.7rem; right:.7rem; bottom:5.2rem; z-index:550; background:var(--paper); border:2px solid var(--night); border-radius:var(--r); padding:1.1rem 1.1rem 1rem; box-shadow:var(--shadow); display:none; max-width:440px;}
.consent.open{display:block;}
.consent h2{font-size:1rem; text-transform:uppercase; margin-bottom:.4rem;}
.consent p{font-size:.85rem; color:var(--mute); margin-bottom:.8rem;}
.consent p a{color:var(--sun-deep);}
.consent-actions{display:flex; gap:.5rem;}
.consent-actions button{flex:1; padding:.7rem; border-radius:var(--r); font-weight:800; cursor:pointer; font-size:.88rem;}
.consent-yes{background:var(--night); color:#fff; border:2px solid var(--night);}
.consent-no{background:transparent; color:var(--ink); border:2px solid var(--line);}

/* visionneuse */
dialog.viewer{border:none; padding:0; background:transparent; max-width:min(92vw,1000px); max-height:92vh;}
dialog.viewer::backdrop{background:rgba(15,32,58,.88);}
dialog.viewer img{max-height:80vh; width:auto; margin:0 auto; border-radius:var(--r);}
dialog.viewer p{color:#fff; text-align:center; margin:.8rem 0 0; font-weight:600;}
.viewer-close{position:absolute; right:.4rem; top:.4rem; width:42px; height:42px; border:none; border-radius:var(--r); background:var(--sun); color:var(--night); font-size:1.6rem; font-weight:900; cursor:pointer; line-height:1;}

/* pages simples (mentions, merci, 404) */
.simple-block{padding:3.6rem 0; background:var(--sand);}

/* ---------- responsive ---------- */
@media (min-width:560px){
  .assure-grid{grid-template-columns:1fr 1fr; column-gap:1.5rem;}
  .insurer{width:180px; height:92px;}
  .works-grid{grid-template-columns:1fr 1fr;}
  .f-row.cols-2{grid-template-columns:1fr 1fr;}
  .gestures{grid-template-columns:1fr 1fr;}
  .cases{grid-template-columns:1fr 1fr;}
  .jumps{grid-template-columns:1fr 1fr;}
  .pledges{grid-template-columns:1fr 1fr;}
  .pledge{border-right:1px solid var(--line);}
  .pledge:nth-child(2n){border-right:none;}
  .pledge:nth-last-child(-n+2){border-bottom:none;}
  .devis-overlay{align-items:center;}
  .devis-card{border-radius:var(--r); padding:2rem 1.8rem 1.6rem;}
  .consent{left:1rem; bottom:1rem; right:auto;}
}
@media (min-width:760px){
  .infobar-extra{display:flex !important;}
  .services{grid-template-columns:1fr 1fr;}
  .areas{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1.3fr 1fr 1fr;}
  .call-strip .wrap{flex-direction:row; align-items:center; justify-content:space-between;}
  .footer-call .wrap{flex-direction:row; align-items:center; justify-content:space-between;}
  .alert-strip-layout{flex-direction:row; align-items:center; justify-content:space-between;}
  .stages{grid-template-columns:repeat(4,1fr); gap:1.6rem;}
  .stage{padding:4.2rem 0 0;}
  .stage::before{left:56px; right:-1.6rem; top:23px; bottom:auto; width:auto; height:2px; background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px);}
  .stage-n{top:0; left:0;}
  .f-panel{padding:2rem 1.8rem;}
}
@media (min-width:1180px){
  .menu{display:flex;}
  .nav-toggle{display:none;}
  .topbar-call{display:inline-flex;}
}
@media (min-width:980px){
  :root{--head-h:80px;}
  .callbar{display:none;}
  .footer-base{padding-bottom:1.6rem; flex-direction:row; justify-content:space-between; align-items:center;}
  .consent{bottom:1.2rem;}
  .home-hero{padding:5.5rem 0 6rem; background-image:linear-gradient(95deg,rgba(16,49,100,.96) 0%,rgba(16,49,100,.88) 38%,rgba(16,49,100,.35) 70%,rgba(16,49,100,.05) 100%),url("/images/hero-nimes.jpg");}
  .home-hero-layout{grid-template-columns:1fr;}
  .assure-grid{grid-template-columns:repeat(4,1fr);}
  .assure-pt{border-bottom:none; border-right:1px dashed var(--line); padding:1.3rem 1rem;}
  .assure-pt:nth-child(4n){border-right:none;}
  .advantages-layout{grid-template-columns:1.1fr .9fr; gap:4rem;}
  .intro-layout{grid-template-columns:1.25fr .75fr; gap:3.5rem;}
  .works-grid{grid-template-columns:repeat(3,1fr);}
  .areas{grid-template-columns:repeat(3,1fr);}
  .qa-layout{grid-template-columns:.8fr 1.2fr; gap:3.5rem; align-items:start;}
  .qa-layout > .sec-title{position:sticky; top:calc(var(--head-h) + 30px);}
  .qa-layout.qa-full{grid-template-columns:1fr; max-width:880px;}
  .quote-layout{grid-template-columns:1.4fr .8fr; gap:2rem;}
  .quote-layout .f-panel{order:1;} .quote-layout .contact-panel{order:2;}
  .top-banner{padding:3rem 0 3.8rem;}
  .top-banner-layout{grid-template-columns:1.2fr .8fr; gap:3.5rem;}
  .article-layout{grid-template-columns:330px 1fr; gap:2.4rem; align-items:start;}
  .article-layout > .sidebar{order:-1; position:sticky; top:calc(var(--head-h) + 24px);}
  .richtext{padding:2.4rem 2.4rem;}
  .pledges{grid-template-columns:repeat(4,1fr);}
  .pledge{border-bottom:none !important; border-right:1px solid var(--line) !important;}
  .pledge:last-child{border-right:none !important;}
  .gestures{grid-template-columns:repeat(4,1fr);}
  .cases{grid-template-columns:repeat(3,1fr);}
  .jumps{grid-template-columns:repeat(3,1fr);}
  .services{grid-template-columns:1fr 1fr;}
  .service{grid-template-columns:42% 1fr;}
  .services > .service:last-child:nth-child(odd){grid-template-columns:21% 1fr;}
  .service-img{height:0; min-height:100%; aspect-ratio:auto;}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}
}

@media (max-width:420px){
  .logo-txt strong{font-size:1.15rem;}
  .logo img{width:44px;}
  .logo-txt small{letter-spacing:.08em; font-size:.6rem;}
  .nav-toggle span{display:none;}
}
.services > .service:last-child:nth-child(odd) .service-actions{max-width:440px;}
