@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";
:root{--orange:#f3a11c;--orange-dark:#e0900f;--red:#aa0019;--navy:#2b2f6b;--navy-deep:#1f2450;--dark:#1a1a2e;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--bg:#f4f6f8;--card:#fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:1080px;margin:0 auto;padding:0 24px}.site-header{border-bottom:3px solid var(--orange);z-index:50;background:#fff;position:sticky;top:0}.site-header .inner{justify-content:space-between;align-items:center;gap:16px;max-width:1080px;min-height:84px;margin:0 auto;padding:0 24px;display:flex}.brand{flex-shrink:0;align-items:center;display:flex}.brand img{width:auto;height:68px;transition:transform .3s}.brand:hover img{transform:scale(1.04)}.btn-home{background:var(--orange);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:7px;align-items:center;gap:7px;padding:10px 18px;font-size:12px;font-weight:700;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex}.btn-home:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 6px 14px #00000026}.btn-contact{background:var(--red);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:7px;padding:10px 18px;font-size:12px;font-weight:700;transition:background .15s,transform .15s,box-shadow .15s}.btn-contact:hover{background:#8f0015;transform:translateY(-2px);box-shadow:0 6px 14px #00000026}.home-hero{background:var(--navy-deep) url(/assets/images_iveqi/banner/photo-de-groupe-iveqi.jpg) center/cover no-repeat;align-items:center;min-height:72vh;padding:80px 24px;display:flex;position:relative;overflow:hidden}.hero-slides{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-slide{opacity:0;background:50%/cover no-repeat;transition:opacity 1.4s;position:absolute;inset:0;transform:scale(1.05)}.hero-slide.active{opacity:1;animation:8s ease-out forwards kenburns}.home-hero:before{content:"";z-index:1;background:linear-gradient(110deg,#1a1a2e99 0%,#1f245052 52%,#1f24501f 100%);position:absolute;inset:0}.home-hero .inner{z-index:2;width:100%;max-width:1080px;margin:0 auto;position:relative}.home-hero h1{color:#fff;letter-spacing:.5px;text-shadow:0 2px 16px #0006;opacity:0;font-size:clamp(32px,5.4vw,52px);font-weight:900;line-height:1.08;animation:.7s .1s forwards fadeInUp}.home-hero p{color:#fff;text-shadow:0 1px 10px #0000006b;opacity:0;max-width:600px;margin-top:16px;font-size:clamp(15px,1.8vw,19px);animation:.7s .26s forwards fadeInUp}.home-hero .cue{color:#fff;opacity:0;margin-top:24px;font-size:15px;font-weight:700;animation:.7s .42s forwards fadeInUp,2.4s 1.2s infinite bob}.tiles{grid-template-columns:repeat(3,1fr);gap:22px;max-width:1080px;margin:0 auto;padding:44px 24px 56px;display:grid}.tile{aspect-ratio:1;color:#fff;background:var(--img) center/cover no-repeat, var(--brand,#333);will-change:transform;border-radius:10px;align-items:flex-end;padding:24px;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden}.tile:before{content:"";z-index:0;background:linear-gradient(180deg,#1118270d 0%,#11182759 48%,var(--brand,#222) 116%);transition:opacity .35s;position:absolute;inset:0}.tile:hover:before{opacity:.86}.tile.reveal-tile{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.34,1.56,.64,1);transform:translateY(34px)scale(.94)}.tile.reveal-tile.is-visible{opacity:1;transform:translateY(0)scale(1)}.tile:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff47,#0000);width:50%;height:100%;transition:none;position:absolute;top:0;left:-75%;transform:skew(-18deg)}.tile:hover{transform:translateY(-8px)scale(1.02);box-shadow:0 20px 40px #00000047}.tile:hover:after{transition:left .75s;left:130%}.tile .lbl{text-transform:uppercase;letter-spacing:.4px;z-index:2;text-shadow:0 2px 8px #00000059;padding-right:34px;font-size:20px;font-weight:800;line-height:1.22;position:relative}.tile .go{opacity:.85;z-index:2;font-size:20px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s;position:absolute;bottom:22px;right:24px}.tile:hover .go{opacity:1;transform:translate(7px)}.t-orange{--brand:var(--orange)}.t-navy{--brand:var(--navy)}.t-navy-deep{--brand:var(--navy-deep)}.t-dark{--brand:var(--dark)}.t-orange-dark{--brand:var(--orange-dark)}.t-red{--brand:var(--red)}.page-head{padding:36px 24px 8px}.page-head .eyebrow{color:var(--orange);text-transform:uppercase;letter-spacing:1.8px;opacity:0;font-size:11px;font-weight:700;animation:.6s 30ms forwards fadeInUp}.page-head h1{color:var(--ink);opacity:0;margin-top:6px;font-size:28px;font-weight:900;animation:.6s .1s forwards fadeInUp}.page-head .lead{color:var(--muted);opacity:0;max-width:640px;margin-top:8px;font-size:14px;animation:.6s .18s forwards fadeInUp}.section{padding:24px 24px 8px}.section-title{color:var(--ink);align-items:center;gap:10px;margin:20px 0 4px;font-size:16px;font-weight:800;display:flex}.section-title:before{content:"";background:var(--orange);border-radius:3px;width:5px;height:18px}.grid{gap:18px;padding:16px 0 8px;display:grid}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;transition:box-shadow .25s,transform .25s;overflow:hidden;box-shadow:0 1px 4px #0000000a}.card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #0000001f}.photo{color:#9aa4b0;border-bottom:1px solid var(--line);text-align:center;background:#eef1f4;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:260px;padding:12px;display:flex;position:relative;overflow:hidden}.photo .cam{opacity:.6;font-size:30px}.photo .desc{max-width:80%;font-size:11px;font-style:italic;line-height:1.4}.photo img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.card:hover .photo img{transform:scale(1.07)}.card-body{padding:16px 18px 18px}.card-cat{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:700}.card-title{color:var(--ink);margin-top:4px;font-size:16px;font-weight:800}.card-models-label{color:var(--orange);text-transform:uppercase;letter-spacing:.8px;margin-top:12px;font-size:10px;font-weight:700}.card-models{color:#374151;margin-top:4px;font-size:12px;line-height:1.7}.card-models b{color:var(--ink);font-weight:700}.presta .card-body{text-align:center;padding:14px 18px 16px}.presta .card-title{font-size:15px}.eng-list{flex-direction:column;gap:12px;padding:16px 0 8px;display:flex}.eng-row{border:1px solid var(--line);border-left:4px solid var(--red);background:#fff;border-radius:10px;grid-template-columns:260px 1fr;gap:22px;padding:18px 20px;transition:box-shadow .25s,transform .25s;display:grid}.eng-row:hover{transform:translate(3px);box-shadow:0 10px 22px #00000014}.eng-key{align-items:flex-start;gap:12px;display:flex}.eng-badge{background:var(--red);color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:900;transition:transform .25s;display:flex}.eng-row:hover .eng-badge{transform:scale(1.12)rotate(-4deg)}.eng-name{color:var(--ink);font-size:14px;font-weight:800;line-height:1.3}.eng-text{color:#4b5563;font-size:13px;line-height:1.6}.eng-text .docs{margin-top:2px}.eng-text .docs span{color:var(--orange-dark);background:#fff8ed;border:1px solid #fde4a8;border-radius:14px;margin:4px 6px 0 0;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.contact-grid{grid-template-columns:1fr 1fr;gap:18px;padding:16px 0 8px;display:grid}.contact-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:24px}.contact-card h2{color:var(--ink);align-items:center;gap:10px;margin-bottom:14px;font-size:14px;font-weight:800;display:flex}.contact-card h2:before{content:"";background:var(--orange);border-radius:3px;width:5px;height:18px}.contact-line{border-bottom:1px solid #f1f3f5;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.contact-line:last-child{border-bottom:none}.contact-line .ico{text-align:center;width:22px;font-size:18px}.contact-line .k{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:10px;font-weight:700}.contact-line .v{color:var(--ink);margin-top:1px;font-size:14px;font-weight:600}.map-box{border:1px solid var(--line);background:#eef1f4;border-radius:10px;height:340px;margin-top:14px;overflow:hidden}.map-box iframe{width:100%;height:100%;display:block}.contact-card-full{grid-column:1/-1}.contact-lines-inline{flex-wrap:wrap;gap:40px;display:flex}.contact-lines-inline .contact-line{border-bottom:none;flex:220px;padding:0}.contact-form{flex-direction:column;gap:14px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:10px;font-weight:700}.form-field input,.form-field textarea{font:inherit;color:var(--ink);border:1px solid var(--line);resize:vertical;background:#f9fafb;border-radius:8px;padding:10px 12px;font-size:14px}.form-field input:focus,.form-field textarea:focus{border-color:var(--orange);background:#fff;outline:none}.contact-form .btn-contact{font:inherit;cursor:pointer;border:none;align-self:flex-start}.contact-form .btn-contact:disabled{opacity:.6;cursor:progress}.form-status{border-radius:8px;padding:12px 14px;font-size:13.5px;font-weight:600;line-height:1.5}.form-status.ok{color:#027a48;background:#ecfdf3;border:1px solid #a6f4c5}.form-status.err{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.btn-spinner{vertical-align:-2px;border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:9px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.form-sending{background:#eef1f4;border-radius:4px;height:6px;overflow:hidden}.form-sending-bar{background:linear-gradient(90deg,var(--orange),var(--red));border-radius:4px;width:40%;height:100%;animation:1.1s cubic-bezier(.5,0,.5,1) infinite sendingBar}@keyframes sendingBar{0%{margin-left:-42%}to{margin-left:100%}}.hp-field{opacity:0;pointer-events:none;width:1px;height:1px;top:-9999px;left:-9999px;position:absolute!important}.form-check{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink);border:1px solid var(--line);background:#f9fafb;border-radius:8px;align-self:flex-start;align-items:center;gap:11px;padding:12px 16px;font-size:14px;font-weight:600;display:inline-flex}.form-check:hover{border-color:var(--orange)}.form-check input{width:18px;height:18px;accent-color:var(--orange);cursor:pointer;margin:0}.site-footer{background:var(--dark);margin-top:48px;padding:44px 24px 0}.site-footer .inner{grid-template-columns:1.5fr 1fr 1.2fr;align-items:start;gap:36px;max-width:1080px;margin:0 auto;display:grid}.foot-brand img{width:auto;height:56px;margin-bottom:14px}.foot-brand p{color:#9ca3af;max-width:340px;font-size:12.5px;line-height:1.65}.foot-brand .iso{color:var(--orange);background:#252b3f;border-radius:20px;margin-top:16px;padding:7px 15px;font-size:11px;font-weight:700;display:inline-block}.foot-col h3{color:#fff;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:14px;font-size:12px;font-weight:800}.foot-col>a{color:#9ca3af;padding:5px 0;font-size:13px;font-weight:500;transition:color .15s,transform .15s;display:block}.foot-col>a:hover{color:var(--orange);transform:translate(3px)}.foot-contact{color:#9ca3af;flex-direction:column;gap:10px;font-size:13px;font-style:normal;line-height:1.5;display:flex}.foot-contact a{color:#9ca3af;transition:color .15s}.foot-contact a:hover{color:var(--orange)}.fc-ico{width:20px;display:inline-block}.foot-bottom{color:#6b7280;border-top:1px solid #2a3048;max-width:1080px;margin:36px auto 0;padding:16px 0;font-size:11px}body:before{content:"";z-index:-1;pointer-events:none;mix-blend-mode:multiply;background:url(/assets/chantier-hero.jpg) bottom/100% no-repeat;height:min(80vh,720px);animation:1.4s .2s both decorIn;position:fixed;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 28%);mask-image:linear-gradient(#0000 0%,#000 28%)}@keyframes decorIn{0%{opacity:0}to{opacity:1}}.fab-menu{z-index:60;position:fixed;bottom:26px;left:26px}.fab-btn{cursor:pointer;background:var(--orange);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .25s,background .2s,box-shadow .2s;animation:2.8s ease-out infinite fabPulse;display:flex;box-shadow:0 10px 26px #f3a11c73}.fab-menu.open .fab-btn,.fab-btn:hover,.fab-btn:focus-visible{animation:none}.fab-btn:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 14px 32px #f3a11c80}.fab-btn:active{transform:scale(.95)}@keyframes fabPulse{0%{box-shadow:0 10px 26px #f3a11c73,0 0 #f3a11c80}70%{box-shadow:0 10px 26px #f3a11c73,0 0 0 20px #f3a11c00}to{box-shadow:0 10px 26px #f3a11c73,0 0 #f3a11c00}}.fab-bars{width:26px;height:18px;position:relative}.fab-bars span{background:#fff;border-radius:2px;width:100%;height:3px;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .2s;position:absolute;left:0}.fab-bars span:first-child{top:0}.fab-bars span:nth-child(2){top:7.5px}.fab-bars span:nth-child(3){top:15px}.fab-menu.open .fab-bars span:first-child{transform:translateY(7.5px)rotate(45deg)}.fab-menu.open .fab-bars span:nth-child(2){opacity:0}.fab-menu.open .fab-bars span:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}.fab-panel{opacity:0;visibility:hidden;transform-origin:0 100%;background:#fff;border-radius:20px;width:300px;max-width:calc(100vw - 52px);padding:14px;transition:opacity .25s,transform .3s cubic-bezier(.22,1,.36,1),visibility .25s;position:absolute;bottom:78px;left:0;transform:translateY(14px)scale(.96);box-shadow:0 24px 54px #0003}.fab-menu.open .fab-panel{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.fab-menu.auto-closing .fab-panel{visibility:visible;animation:.52s cubic-bezier(.55,-.2,.7,.1) forwards panelBounceOut}.fab-menu.auto-closing .fab-panel a{opacity:1;transition:none;transform:none}@keyframes panelBounceOut{0%{opacity:1;transform:translateY(0)scale(1)}22%{transform:translateY(-9px)scale(1.03)}to{opacity:0;transform:translateY(28px)scale(.8)}}.fab-panel .nav-label{color:var(--muted);text-transform:uppercase;letter-spacing:1.6px;padding:8px 12px 12px;font-size:11px;font-weight:700}.fab-panel a{color:var(--ink);opacity:0;border-radius:12px;align-items:center;gap:14px;padding:11px 12px;font-size:14px;font-weight:600;transition:opacity .35s,transform .35s cubic-bezier(.22,1,.36,1),background .15s,color .15s;display:flex;transform:translate(-12px)}.fab-menu.open .fab-panel a{opacity:1;transform:none}.fab-menu.open .fab-panel a:nth-child(2){transition-delay:30ms}.fab-menu.open .fab-panel a:nth-child(3){transition-delay:60ms}.fab-menu.open .fab-panel a:nth-child(4){transition-delay:90ms}.fab-menu.open .fab-panel a:nth-child(5){transition-delay:.12s}.fab-menu.open .fab-panel a:nth-child(6){transition-delay:.15s}.fab-menu.open .fab-panel a:nth-child(7){transition-delay:.18s}.fab-menu.open .fab-panel a:nth-child(8){transition-delay:.21s}.fab-menu.open .fab-panel a:nth-child(9){transition-delay:.24s}.fab-panel a svg{width:21px;height:21px;color:var(--navy);flex-shrink:0;transition:color .15s,transform .25s}.fab-panel a:hover{background:#f4f6f8}.fab-panel a:hover svg{color:var(--orange-dark);transform:scale(1.14)}.fab-panel a[aria-current=page]{color:var(--orange);background:#fff6ea}.fab-panel a[aria-current=page] svg{color:var(--orange)}@media (max-width:520px){.fab-menu{bottom:18px;left:18px}.fab-btn{width:58px;height:58px}}@media (prefers-reduced-motion:reduce){.fab-panel{transition:opacity .001ms,visibility .001ms;transform:none}.fab-menu.open .fab-panel{transform:none}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes kenburns{0%{transform:scale(1.06)}to{transform:scale(1.16)translate(-1.5%,-1%)}}.reveal{opacity:0;filter:blur(5px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1),filter .75s;transform:translateY(34px)scale(.975)}.reveal.is-visible{opacity:1;filter:blur();transform:translateY(0)scale(1)}.section-title.reveal{filter:none;transition:opacity .55s,transform .55s cubic-bezier(.22,1,.36,1);transform:translate(-18px)}.section-title.reveal.is-visible{transform:none}.section-title.reveal:before{transform-origin:bottom;transition:transform .5s cubic-bezier(.34,1.56,.64,1) .18s;transform:scaleY(0)}.section-title.reveal.is-visible:before{transform:scaleY(1)}.eng-row.is-visible .eng-badge{animation:.6s cubic-bezier(.34,1.56,.64,1) .12s backwards badgePop}@keyframes badgePop{0%{opacity:0;transform:scale(0)rotate(-25deg)}to{opacity:1;transform:scale(1)rotate(0)}}.scroll-progress{z-index:55;background:linear-gradient(90deg,var(--orange),var(--red));transform-origin:0;pointer-events:none;width:100%;height:3px;transition:transform .1s linear;position:fixed;top:0;left:0;transform:scaleX(0)}.site-header{transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 6px 24px #00000017}.btn-home,.btn-contact{position:relative;overflow:hidden}.btn-home:after,.btn-contact:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff59,#0000);width:55%;height:100%;position:absolute;top:0;left:-125%;transform:skew(-18deg)}.btn-home:hover:after,.btn-contact:hover:after{transition:left .6s;left:150%}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal,.tile.reveal-tile{opacity:1;filter:none;transform:none}.section-title.reveal:before{transform:scaleY(1)}.hero-slide,.hero-slide.active{animation:none;transform:none}}@media (max-width:860px){.tiles{grid-template-columns:repeat(2,1fr);gap:16px}.grid.cols-3{grid-template-columns:repeat(2,1fr)}.eng-row{grid-template-columns:1fr;gap:10px}.contact-grid{grid-template-columns:1fr}.home-hero{min-height:58vh;padding:56px 24px}.site-footer .inner{grid-template-columns:1fr;gap:28px}body:before{opacity:.75}@keyframes decorIn{0%{opacity:0}to{opacity:.75}}}@media (max-width:520px){.tiles,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}.brand img{height:54px}.form-row{grid-template-columns:1fr}body:before{opacity:.6;background-size:auto 46%}}
