:root{--bg:#05060f;--panel:#090b1a;--panel2:#0c0e20;--line:rgba(164,174,220,.17);--text:#f4f5ff;--muted:#a8acc3;--blue:#18a9ff;--violet:#7b2fff;--grad:linear-gradient(110deg,#18a9ff 0%,#276cff 48%,#7b2fff 100%);--shadow:0 0 40px rgba(64,48,255,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.55;overflow-x:hidden}body.light{--bg:#f5f7ff;--panel:#fff;--panel2:#f0f2ff;--line:rgba(45,58,100,.18);--text:#12152b;--muted:#555d78;--shadow:0 10px 35px rgba(44,56,130,.10)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.gradient-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.ambient{position:absolute;pointer-events:none;z-index:-1;filter:blur(85px);opacity:.2;border-radius:50%}.ambient-one{width:430px;height:430px;background:#582aff;left:-200px;top:170px}.ambient-two{width:300px;height:450px;background:#1768ff;right:-200px;top:500px}.navbar{height:58px;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,58px);background:rgba(7,8,22,.84);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.light .navbar{background:rgba(245,247,255,.88)}.brand{display:inline-flex;align-items:center;gap:8px;font:800 20px 'Plus Jakarta Sans',sans-serif;white-space:nowrap}.brand-mark{font-size:34px;font-weight:800;line-height:1;background:var(--grad);color:transparent;-webkit-background-clip:text;background-clip:text;transform:skew(-7deg)}.nav-links{display:flex;gap:clamp(15px,2.4vw,32px);align-items:center;font-size:13px;color:var(--muted)}.nav-links a:hover,.footer a:hover{color:var(--blue)}.nav-actions{display:flex;align-items:center;gap:12px}.theme-toggle{height:38px;width:38px;border:1px solid var(--line);border-radius:50%;color:var(--text);background:var(--panel);font-size:22px;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border-radius:28px;font-weight:700;font-size:14px;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(39,108,255,.24)}.btn-gradient{background:var(--grad);color:#fff;box-shadow:0 5px 22px rgba(52,75,255,.18)}.btn-outline{border-color:var(--line);background:rgba(12,14,32,.55);color:var(--text)}.light .btn-outline{background:#fff}.menu-toggle{display:none;background:none;border:0;color:var(--text);font-size:25px}.section-anchor{scroll-margin-top:75px}.hero{position:relative;min-height:570px;padding:48px clamp(28px,4vw,58px) 110px;display:grid;grid-template-columns:1fr 1.02fr;gap:25px;align-items:center;overflow:hidden}.hero-copy{z-index:3;max-width:570px}.eyebrow-pill{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:rgba(18,20,48,.65);padding:6px 15px;border-radius:24px;color:var(--muted);font-size:13px;margin-bottom:22px}.status-dot{height:8px;width:8px;border-radius:50%;background:#2dd6b1;box-shadow:0 0 10px #2dd6b1}.hero h1{font:800 clamp(38px,4.5vw,64px)/1.04 'Plus Jakarta Sans',sans-serif;letter-spacing:-2.5px;margin:0 0 22px}.hero-lead{max-width:510px;color:var(--muted);font-size:17px;margin:0 0 30px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-checks{display:flex;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:13px;margin-top:31px}.hero-checks span::first-letter{color:var(--blue)}.hero-visual {
  position: relative;
  z-index: 2;
  min-height: 345px;
  padding: 0 10px 0 0;
  transform-style: preserve-3d;
  will-change: transform;
}.laptop{position:absolute;top:0;right:2%;width:95%;height:340px;background:#050611;border:7px solid #171a35;border-radius:15px 15px 8px 8px;box-shadow:0 0 35px rgba(48,90,255,.24);overflow:hidden}.browser-bar{height:22px;background:#12142a;display:flex;align-items:center;gap:5px;padding:0 10px;color:#8f94b4;font-size:9px}.browser-bar i{width:9px;height:9px;border-radius:50%;background:#565a78}.browser-bar span{margin-left:8px}.mock-site{height:calc(100% - 22px);padding:14px 19px;background:radial-gradient(ellipse at 75% 20%,rgba(86,46,255,.22),transparent 45%),#080a19}.mock-nav{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#a8b1d4}.mock-nav b{color:#fff;font-size:12px}.mini-w{color:#28a5ff;font-size:17px}.mock-content{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;height:230px}.mock-content small,.bakery-content small{font-size:8px;letter-spacing:1.4px;color:#26b6ff}.mock-content h2{font:800 clamp(17px,2.3vw,29px)/1.1 'Plus Jakarta Sans';margin:9px 0}.mock-content h2 em{font-style:normal;color:#6b59ff}.mock-content p{font-size:9px;color:#a8acc3}.mock-button{display:inline-block;background:var(--grad);border-radius:20px;padding:7px 11px;font-size:9px;font-weight:700}.mock-orb{height:120px;width:120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#2e7aff 0%,#3420a0 48%,transparent 70%);border:1px solid rgba(90,120,255,.3);box-shadow:0 0 40px rgba(80,45,255,.4);font-size:10px;letter-spacing:2px;text-align:center}.mock-orb span{font-size:54px;font-weight:800;color:#80d7ff;line-height:1}.mock-bottom{display:flex;justify-content:space-around;font-size:7px;color:#6e8cff;letter-spacing:1px}.phone{position:absolute;z-index:4;right:0;top:115px;width:142px;height:260px;background:#090b1a;border:6px solid #242743;border-radius:28px;box-shadow:0 0 30px rgba(85,61,255,.38);padding:20px 11px 12px;overflow:hidden}.phone-notch{position:absolute;top:4px;left:42px;width:48px;height:8px;background:#242743;border-radius:10px}.phone-brand{font-weight:800;font-size:10px;margin-bottom:17px}.phone-brand:first-letter{color:#28a8ff}.phone-brand span{font-size:8px}.phone-kicker{font-size:6px;letter-spacing:1px;color:#20b3ff}.phone h3{font:800 18px/1.1 'Plus Jakarta Sans';margin:7px 0 10px}.phone-art{height:72px;border-radius:10px;background:radial-gradient(circle at 50% 40%,#3a5cff,#10152e 65%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.phone-art span{font-size:50px;font-weight:800;color:#66cfff}.phone-art i{position:absolute;width:100px;height:1px;background:#a36cff;transform:rotate(-30deg)}.phone-line{height:4px;width:100%;background:#252a4a;margin-top:9px;border-radius:4px}.phone-line.short{width:65%}.phone-cta{margin-top:13px;text-align:center;font-size:9px;padding:6px;border-radius:15px;background:var(--grad)}.alsace-skyline{position:absolute;bottom:95px;left:0;right:0;height:180px;opacity:.35;background:linear-gradient(0deg,rgba(40,38,139,.5),transparent);display:flex;align-items:flex-end;justify-content:space-around;z-index:0}.house{width:8%;height:65px;background:#28205d;position:relative;border-top:2px solid #2b6fff}.house:before{content:"";position:absolute;left:-8%;top:-32px;width:116%;height:38px;background:#2d1c69;clip-path:polygon(50% 0,100% 100%,0 100%)}.house:after{content:"";position:absolute;inset:18px 15% 0;background:repeating-linear-gradient(90deg,transparent 0 13px,#2c83ff 14px 19px,transparent 20px 29px)}.h2,.h4{height:105px;width:10%}.h3{height:145px;width:7%}.h5{height:88px}.light-trails{position:absolute;bottom:60px;left:0;right:0;height:35px;border-top:1px solid rgba(60,111,255,.3);background:repeating-linear-gradient(90deg,transparent 0 55px,rgba(24,169,255,.55) 56px 105px,transparent 106px 160px);opacity:.65}.pillars{position:absolute;bottom:0;left:7%;right:7%;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:22px 24px;border:1px solid var(--line);border-radius:28px;background:rgba(8,10,25,.93);box-shadow:var(--shadow)}.pillars>div{display:flex;align-items:center;gap:14px;font-size:14px}.pillar-icon,.icon-box,.process-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--grad);color:white;border-radius:50%;width:46px;height:46px;font-size:23px;box-shadow:0 0 22px rgba(56,83,255,.2)}.section-wrap{max-width:1160px;margin:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:40px 25px 100px;text-align:center}.stats div{display:flex;flex-direction:column;gap:2px}.stats strong{font:800 clamp(34px,4vw,50px) 'Plus Jakarta Sans';background:var(--grad);color:transparent;background-clip:text}.stats span{color:var(--muted);font-size:15px}.section{padding:65px clamp(24px,5vw,75px);position:relative}.section-heading{text-align:center;max-width:800px;margin:0 auto 48px}.script-label{display:block;font:700 24px Caveat,cursive;color:#20aaff;margin-bottom:4px}.section-heading h2{font:800 clamp(30px,3.5vw,46px)/1.15 'Plus Jakarta Sans';letter-spacing:-1.3px;margin:0 0 12px}.section-heading p{color:var(--muted);font-size:16px;margin:0 auto;max-width:660px}.service-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card,.benefit-grid article,.price-card{border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,rgba(13,15,34,.95),rgba(8,10,24,.92));padding:32px;transition:transform .25s,border-color .25s;box-shadow:0 12px 35px rgba(0,0,0,.08)}.light .service-card,.light .benefit-grid article,.light .price-card{background:var(--panel)}.service-card:hover,.benefit-grid article:hover{transform:translateY(-5px);border-color:rgba(54,130,255,.5)}.service-card h3,.benefit-grid h3{font:800 19px 'Plus Jakarta Sans';margin:22px 0 10px}.service-card p,.benefit-grid p{margin:0;color:var(--muted);font-size:15px}.icon-box{border-radius:18px;width:56px;height:56px;font-size:26px}.comparison-section{padding-top:80px}.compare-shell{max-width:980px;height:420px;margin:0 auto;position:relative;border:1px solid rgba(79,93,255,.45);border-radius:28px;overflow:hidden;background:#080a18;box-shadow:0 0 45px rgba(65,48,255,.2);--split:28%}.compare-new{position:absolute;inset:0;background:#080a18}.bakery-nav{display:flex;justify-content:space-between;padding:22px 30px;color:#aeb4d0;font-size:12px}.bakery-nav b{color:#4d85ff;font-size:16px}.bakery-content{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;padding:12px 35px}.bakery-content h3{font:800 28px/1.15 'Plus Jakarta Sans';margin:12px 0}.bakery-content p{color:var(--muted);font-size:13px}.bakery-content .btn{font-size:11px;padding:9px 13px}.bakery-content img{width:100%;height:235px;object-fit:cover;border-radius:20px}.compare-old{position:absolute;inset:0 auto 0 0;width:var(--split);overflow:hidden;background:#191927;color:#ddd;font-family:Georgia,serif;border-right:2px solid #1f86ff;z-index:3}.old-site{width:980px;padding:28px 40px;font-size:13px}.old-site h3{font-size:18px;color:#737cff}.old-site table{border-collapse:collapse}.old-site td{border:1px solid #555;padding:7px}.old-box{width:120px;height:55px;border:1px solid #555}.compare-label{position:absolute;z-index:5;top:14px;border-radius:15px;padding:4px 12px;background:#111327;font-size:11px;font-weight:700}.before-label{left:14px}.after-label{right:14px;background:var(--grad)}.compare-range{position:absolute;z-index:8;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.compare-divider{position:absolute;z-index:6;top:0;bottom:0;left:var(--split);width:2px;background:#238bff;pointer-events:none}.compare-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--grad);box-shadow:0 0 20px rgba(60,100,255,.5);font-size:20px}.job-tabs{display:flex;justify-content:center;gap:8px;margin:-5px auto 30px;flex-wrap:wrap}.job-tab{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:10px 20px;border-radius:25px;font-size:14px;font-weight:700;cursor:pointer}.job-tab.active{background:var(--grad);border-color:transparent;color:#fff}.job-browser{max-width:1000px;margin:auto;border:1px solid var(--line);border-radius:27px;overflow:hidden;background:#080a19;box-shadow:0 0 35px rgba(67,52,255,.2)}.job-browser>.browser-bar{height:43px;padding-left:17px}.job-preview{min-height:310px;display:grid;grid-template-columns:1fr 1fr}.job-copy{padding:40px}.job-copy small{color:#4ca9ff;font-weight:700}.job-copy h3{font:800 clamp(25px,3vw,35px)/1.15 'Plus Jakarta Sans';margin:15px 0 22px}.job-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:25px}.job-tags span{background:#171a31;border-radius:20px;padding:6px 11px;font-size:12px;color:#dce0f7}.job-copy .btn{font-size:12px}.job-image{min-height:310px;background-size:cover;background-position:center;position:relative}.job-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080a19,transparent 45%)}.process-section{background:rgba(12,14,32,.38)}.process-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;position:relative}.process-grid:before{content:"";position:absolute;top:26px;left:4%;right:4%;height:2px;background:var(--grad)}.process-grid article{position:relative;padding-top:70px}.process-icon{position:absolute;top:0;left:0;width:52px;height:52px;border:3px solid var(--bg);font-size:20px}.process-grid small{color:#20aaff}.process-grid h3{font:800 17px 'Plus Jakarta Sans';margin:3px 0 7px}.process-grid p{color:var(--muted);font-size:14px;margin:0}.benefit-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.benefit-grid article{text-align:center;padding:36px 28px}.icon-box.large{width:70px;height:70px;font-size:32px;margin:auto;border-radius:24px}.benefit-grid h3{font-size:20px;margin:22px 0 10px}.pricing-section{background:radial-gradient(ellipse at 50% 45%,rgba(56,38,154,.14),transparent 60%)}.pricing-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}.price-card{position:relative;padding:34px 28px;display:flex;flex-direction:column}.price-card.featured{border-color:rgba(66,95,255,.55);box-shadow:0 0 35px rgba(58,49,255,.2);transform:translateY(-8px)}.price-card h3{font:800 22px 'Plus Jakarta Sans';margin:0 0 18px;text-transform:capitalize}.price-card ul{list-style:none;margin:0 0 28px;padding:0;flex:1}.price-card li{color:var(--muted);font-size:14px;margin:0 0 16px;padding-left:24px;position:relative}.price-card li:before{content:"✓";position:absolute;left:0;color:#18baff;font-weight:800}.popular{align-self:flex-start;background:var(--grad);font-size:10px;font-weight:800;border-radius:12px;padding:4px 10px;margin-bottom:12px}.full{width:100%;margin-top:auto}.qr-area{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:260px;margin:auto}.qr-area>.script-label{font-size:26px}.qr-arrow{position:absolute;width:100px;left:-90px;top:15px}.qr-frame{padding:12px;background:#fff;border-radius:22px;border:3px solid #6b68ff;box-shadow:0 0 28px rgba(48,102,255,.42)}#qrcode,#qrcode-small{display:flex;align-items:center;justify-content:center;min-width:150px;min-height:150px}#qrcode img,#qrcode canvas,#qrcode-small img,#qrcode-small canvas{display:block;max-width:100%;height:auto!important}.faq-list{max-width:650px;margin:auto;display:grid;gap:10px}.faq-list details{border:1px solid var(--line);background:var(--panel);border-radius:22px;overflow:hidden}.faq-list summary{padding:20px 22px;cursor:pointer;list-style:none;font-size:14px;font-weight:700;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:21px;color:#18aaff;line-height:1}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{margin:0;padding:0 22px 20px;color:var(--muted);font-size:14px}.contact-section{padding-bottom:80px}.contact-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:1.15fr .9fr;gap:24px}.contact-form,.contact-info,.mini-qr{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:block;font-size:12px;font-weight:700;margin-bottom:17px}.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:15px;padding:12px 13px;background:var(--bg);color:var(--text);outline:none}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#268bff;box-shadow:0 0 0 3px rgba(38,139,255,.1)}.contact-form textarea{resize:vertical}.consent{display:flex!important;align-items:flex-start;gap:10px;color:var(--muted);font-weight:400!important;line-height:1.4}.consent input{margin-top:3px;accent-color:#268bff}.form-actions{display:flex;flex-wrap:wrap;gap:9px}.form-actions .btn{font-size:12px;padding:12px 15px}.form-status{color:#53dcb0;font-size:13px}.form-note{color:var(--muted);font-size:11px}.contact-aside{display:grid;gap:18px;align-content:start}.contact-info p{font-size:13px;margin:0 0 16px;display:flex;gap:5px;overflow-wrap:anywhere}.contact-info p:last-of-type{margin-bottom:20px}.contact-info a:hover{color:var(--blue)}.hours{display:grid;grid-template-columns:1fr 1fr;gap:7px;font-size:12px;color:var(--muted)}.hours b{color:var(--text);font-weight:600}.mini-qr{text-align:center}.mini-qr .script-label{font-size:24px}.mini-qr #qrcode-small{background:white;padding:8px;border-radius:12px;width:max-content;min-width:0;margin:auto}.mini-qr #qrcode-small canvas,.mini-qr #qrcode-small img{width:118px!important;height:118px!important}.map-frame{max-width:1000px;margin:30px auto 0;height:260px;position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--line)}.map-frame iframe{width:100%;height:100%;border:0;filter:saturate(.75)}.map-link{position:absolute;left:15px;top:15px;background:#fff;color:#26314b;padding:10px 14px;border-radius:9px;font-size:12px;font-weight:700;box-shadow:0 3px 15px #0002}.footer{border-top:1px solid var(--line);background:rgba(9,11,27,.9);padding:42px clamp(24px,8vw,110px) 0}.light .footer{background:#ecefff}.footer-main{display:grid;grid-template-columns:1.6fr .7fr 1fr;gap:50px;max-width:1200px;margin:auto;padding-bottom:38px}.footer-brand p{color:var(--muted);font-size:14px;max-width:330px}.footer h4{margin:5px 0 15px;font-size:14px}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:8px}.footer-main>div:not(:first-child) a,.footer-main>div:not(:first-child) span{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.socials{display:flex;gap:10px;margin-top:18px}.socials a{height:38px;width:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:14px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:18px 0;color:var(--muted);font-size:12px}.footer-bottom div{display:flex;gap:20px}.floating-wa{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;color:white;display:grid;place-items:center;font-size:27px;box-shadow:0 0 0 8px rgba(37,211,102,.08),0 6px 22px rgba(0,0,0,.3);transition:transform .2s}.floating-wa:hover{transform:scale(1.08)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#151832;border:1px solid var(--line);border-radius:15px;padding:12px 18px;z-index:80;font-size:13px;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.light .service-card,.light .benefit-grid article,.light .price-card{color:var(--text)}@media(max-width:1050px){.navbar{padding:0 22px}.nav-links{gap:13px}.nav-links a{font-size:12px}.nav-quote{padding:10px 15px;font-size:12px}.hero{grid-template-columns:1fr 1fr;padding-left:30px;padding-right:30px}.pillars{left:3%;right:3%;gap:8px;padding:17px}.pillars>div{font-size:12px;gap:8px}.pillar-icon{width:38px;height:38px}.phone{right:-4px}.service-card{padding:25px}.section{padding-left:30px;padding-right:30px}}@media(max-width:760px){html{scroll-padding-top:72px}.navbar{height:60px}.menu-toggle{display:block;margin-left:auto;margin-right:12px}.nav-actions{gap:8px}.theme-toggle{height:34px;width:34px}.nav-quote{padding:9px 12px;font-size:11px}.nav-links{display:none;position:absolute;top:59px;left:0;right:0;padding:20px;background:rgba(7,8,22,.98);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.light .nav-links{background:rgba(245,247,255,.98)}.nav-links.open{display:flex}.nav-links a{padding:12px 8px;font-size:14px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:36px 22px 235px;min-height:0;gap:30px}.hero h1{font-size:clamp(39px,10vw,57px);letter-spacing:-1.8px}.hero-lead{font-size:15px}.hero-actions{gap:9px}.hero-actions .btn{font-size:12px;padding:12px 15px}.hero-checks{gap:10px;font-size:11px}.hero-visual{height:250px;min-height:250px;margin:0 0 0 0}.laptop{width:90%;height:230px;right:5%;border-width:5px}.mock-content{height:155px}.mock-content h2{font-size:19px}.mock-content p{font-size:7px}.mock-orb{height:75px;width:75px}.mock-orb span{font-size:34px}.mock-bottom{font-size:5px}.phone{width:106px;height:200px;top:82px;right:0;border-width:4px;padding:16px 8px 8px;border-radius:22px}.phone-brand{margin-bottom:10px}.phone h3{font-size:13px}.phone-art{height:48px}.phone-art span{font-size:35px}.phone-cta{margin-top:8px}.alsace-skyline{bottom:195px;height:100px}.light-trails{bottom:185px}.pillars{left:16px;right:16px;bottom:12px;grid-template-columns:1fr 1fr;padding:14px;border-radius:20px;gap:12px}.pillars>div{font-size:11px}.pillar-icon{width:34px;height:34px;font-size:18px}.stats{padding:35px 18px 60px;grid-template-columns:1fr 1fr;gap:28px}.stats strong{font-size:38px}.stats span{font-size:12px}.section{padding:52px 20px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:31px}.section-heading p{font-size:14px}.service-grid,.benefit-grid,.pricing-grid{grid-template-columns:1fr;gap:15px}.service-card{padding:24px;border-radius:22px}.service-card h3{margin-top:17px}.compare-shell{height:360px}.bakery-nav{padding:18px 15px;font-size:8px}.bakery-content{grid-template-columns:1fr 1fr;gap:10px;padding:18px 14px}.bakery-content h3{font-size:19px}.bakery-content p{font-size:10px}.bakery-content img{height:180px}.bakery-content .btn{font-size:9px;padding:8px}.old-site{width:760px;padding:25px 20px}.process-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.process-grid:before{display:none}.process-grid article{padding-top:65px}.price-card.featured{transform:none}.qr-arrow{left:-35px;width:65px;top:35px}.qr-area>.script-label{font-size:23px}.contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0}.contact-form,.contact-info,.mini-qr{padding:21px}.map-frame{height:220px}.footer{padding:32px 22px 0}.footer-main{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px}.footer-bottom div{gap:16px}.floating-wa{right:14px;bottom:14px;width:52px;height:52px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* ── WebImpact Premium Motion Layer ─────────────────────────────────────── */
:root{scroll-behavior:smooth;scroll-padding-top:100px;--ease-premium:cubic-bezier(.22,1,.36,1)}
body{background-image:radial-gradient(ellipse at 14% 8%,rgba(30,107,255,.10),transparent 34%),radial-gradient(ellipse at 87% 24%,rgba(123,47,255,.09),transparent 30%),linear-gradient(180deg,#05060f 0%,#070914 52%,#05060f 100%);background-attachment:fixed}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.15;background-image:linear-gradient(rgba(123,151,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(123,151,255,.07) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 75%)}
.navbar{backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border-bottom:1px solid rgba(133,160,255,.12);box-shadow:0 12px 50px rgba(0,0,0,.16);transition:background .35s ease,border-color .35s ease}
.brand-mark{box-shadow:0 0 26px rgba(60,112,255,.25);text-shadow:0 0 22px rgba(89,106,255,.55)}
.btn{position:relative;isolation:isolate;overflow:hidden;transition:transform .35s var(--ease-premium),box-shadow .35s ease,border-color .35s ease,background .35s ease}
.btn:before{content:"";position:absolute;inset:0;z-index:-1;transform:translateX(-130%) skewX(-18deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.23),transparent);transition:transform .75s var(--ease-premium)}
.btn:hover:before{transform:translateX(130%) skewX(-18deg)}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 34px rgba(45,105,255,.22)}
.btn:active{transform:translateY(-1px) scale(.985)}
.section{position:relative}
.section:after{content:"";position:absolute;left:50%;bottom:0;width:min(76%,920px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(102,124,255,.22),rgba(34,171,255,.16),transparent)}
.section-heading h2{text-wrap:balance;letter-spacing:-.045em}
.section-heading p{max-width:680px;margin-inline:auto;line-height:1.8;color:#a9b0c8}
.service-card,.benefit-grid article,.price-card,.process-grid article{position:relative;isolation:isolate;overflow:hidden;transition:transform .5s var(--ease-premium),border-color .4s ease,box-shadow .5s ease;background:linear-gradient(145deg,rgba(17,22,43,.88),rgba(9,11,25,.88))}
.service-card:before,.benefit-grid article:before,.price-card:before,.process-grid article:before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(500px circle at var(--mx,50%) var(--my,0%),rgba(54,123,255,.16),transparent 42%);transition:opacity .35s ease}
.service-card:hover:before,.benefit-grid article:hover:before,.price-card:hover:before,.process-grid article:hover:before{opacity:1}
.service-card:hover,.benefit-grid article:hover,.price-card:hover,.process-grid article:hover{transform:translateY(-7px);border-color:rgba(91,131,255,.55);box-shadow:0 22px 60px rgba(0,0,0,.25),0 0 32px rgba(56,103,255,.09)}
.icon-box,.process-icon{box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 30px rgba(68,94,255,.08)}
.hero{isolation:isolate;overflow:hidden}
.hero:before{content:"";position:absolute;width:680px;height:680px;right:-100px;top:0;border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(52,98,255,.17),rgba(123,47,255,.08) 38%,transparent 68%);filter:blur(20px);animation:heroBreathe 9s ease-in-out infinite alternate}
.hero-visual { width:700px !important; max-width:700px !important; flex:0 0 700px !important; filter:drop-shadow(0 28px 65px rgba(18,47,130,.17)); animation:heroFloat 8s ease-in-out infinite; }
.hero-visual img.hero-composite-image { width:100% !important; max-width:700px !important; height:auto !important; display:block !important; }
.hero-visual:hover .laptop{transform:translateY(-5px) rotateY(-2deg)}.hero-visual:hover .phone{transform:translateY(-9px) rotate(1deg)}
.mock-site{box-shadow:inset 0 0 60px rgba(53,90,255,.08)}
.mock-orb{box-shadow:0 0 80px rgba(78,85,255,.2);animation:orbGlow 5s ease-in-out infinite alternate}
.light-trails{opacity:.7;filter:drop-shadow(0 0 9px rgba(47,130,255,.8))}
.pillars>div{transition:transform .35s var(--ease-premium),color .3s ease}.pillars>div:hover{transform:translateY(-4px);color:#fff}
.compare-shell{box-shadow:0 30px 90px rgba(0,0,0,.32),0 0 0 1px rgba(97,130,255,.1),0 0 80px rgba(49,87,255,.08)}
.compare-range{cursor:ew-resize;touch-action:pan-y}.compare-divider{pointer-events:none;transition:left .08s linear}.compare-divider span{box-shadow:0 0 0 7px rgba(85,109,255,.13),0 0 32px rgba(84,110,255,.45)}
.job-tab{transition:transform .3s var(--ease-premium),background .3s ease,border-color .3s ease}.job-tab:hover{transform:translateY(-2px)}
.job-browser{box-shadow:0 28px 80px rgba(0,0,0,.3),0 0 60px rgba(66,96,255,.08)}
.job-image{transition:background-image .3s ease,transform .7s var(--ease-premium);background-size:cover;background-position:center}.job-browser:hover .job-image{transform:scale(1.025)}
.price-card.featured{box-shadow:0 24px 80px rgba(49,82,255,.16),inset 0 0 0 1px rgba(115,98,255,.2)}
.qr-frame,.mini-qr{box-shadow:0 0 0 1px rgba(98,130,255,.2),0 22px 70px rgba(30,76,255,.12)}
.contact-form input,.contact-form select,.contact-form textarea{transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:#547cff;box-shadow:0 0 0 4px rgba(72,111,255,.12),0 0 24px rgba(72,111,255,.08)}
.floating-wa{box-shadow:0 8px 28px rgba(37,211,102,.24);transition:transform .35s var(--ease-premium),box-shadow .35s ease}.floating-wa:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 14px 36px rgba(37,211,102,.36)}
/* Reveal-on-scroll: elements remain visible when motion is reduced or JS is off */
.js-reveal{opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease-premium),transform .85s var(--ease-premium)}
.js-reveal.is-visible{opacity:1;transform:translateY(0)}
.js-reveal[data-reveal-delay="1"]{transition-delay:.08s}.js-reveal[data-reveal-delay="2"]{transition-delay:.16s}.js-reveal[data-reveal-delay="3"]{transition-delay:.24s}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes heroBreathe{0%{transform:scale(.9);opacity:.65}100%{transform:scale(1.08);opacity:1}}
@keyframes orbGlow{0%{filter:saturate(.9);transform:scale(.98)}100%{filter:saturate(1.2);transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-reveal{opacity:1;transform:none}}
body.light{background-image:radial-gradient(ellipse at 14% 8%,rgba(30,107,255,.08),transparent 34%),linear-gradient(180deg,#f7f9ff,#edf1ff)}
body.light:before{opacity:.07}
.nav-links a{position:relative;transition:color .25s ease}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;border-radius:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#1e6bff,#7b2fff);transition:transform .35s var(--ease-premium)}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-links a.active{color:#fff}


/* === Amélioration de la lisibilité : texte et icônes plus grands === */
body {
  font-size: 17px;
}
p, li {
  line-height: 1.75;
}
.contact-info p {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 17px;
  line-height: 1.75;
  margin-bottom: 16px;
}
.contact-info p:first-letter {
  font-size: 25px;
}
.contact-info a {
  font-size: inherit;
  overflow-wrap: anywhere;
}
.contact-info {
  font-size: 17px;
}
.contact-info p {
  white-space: normal;
}
.contact-form label {
  font-size: 15px;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  font-size: 17px;
  min-height: 48px;
}
.contact-form textarea {
  min-height: 130px;
}
.contact-form input,
.contact-form select,
.contact-form textarea,
.contact-form button {
  padding: 13px 15px;
}
.contact-aside .hours,
.contact-aside .opening-hours,
.contact-aside .contact-hours {
  font-size: 16px;
  line-height: 1.8;
}
.pillar-icon,
.icon-box,
.process-icon,
.wa-icon {
  font-size: 1.35em;
}
.nav-links a {
  font-size: 15px;
}
.btn {
  font-size: 16px;
}
@media (max-width: 768px) {
  body { font-size: 16px; }
  .contact-info p { font-size: 16px; gap: 10px; }
  .contact-form label { font-size: 15px; }
  .contact-form input,
  .contact-form select,
  .contact-form textarea { font-size: 16px; }
}
/* ↑ CORRECTION : le bloc @media ci-dessus n'était jamais fermé, ce qui "avalait" tout le CSS qui suit. */

html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

/* ===== WEBIMPACT : AMBIANCE NÉON DU CURSEUR ===== */
.cursor-glow {
    position: fixed;
    top: 0;
    left: 0;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9998;
    background: radial-gradient(
        circle,
        rgba(30, 107, 255, 0.15) 0%,
        rgba(123, 47, 255, 0.10) 35%,
        transparent 70%
    );
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease;
    opacity: 0;
    will-change: left, top;
}

.cursor-particle {
    position: fixed;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9997;
    background: #45a4ff;
    box-shadow:
        0 0 8px #258bff,
        0 0 16px rgba(123, 47, 255, 0.8);
    animation: particle-float 900ms ease-out forwards;
    will-change: transform, opacity;
}

@keyframes particle-float {
    0% {
        opacity: 0.95;
        transform: translate(0, 0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translate(var(--drift-x), var(--drift-y)) scale(0);
    }
}

/* Pas d'effet sur les écrans tactiles */
@media (hover: none), (pointer: coarse) {
    .cursor-glow,
    .cursor-particle {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cursor-particle {
        animation-duration: 300ms;
    }
}
.floating-wa svg {
    width: 32px;
    height: 32px;
    display: block;
}

/* Bandeau des 4 piliers (ordinateur uniquement ; sur mobile, la grille 2x2 d'origine reste) */
@media (min-width: 761px) {
    .pillars {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
        gap: 24px;
        padding: 24px;
        background: #090a19;
        border: 1px solid rgba(130, 120, 190, 0.25);
        border-radius: 28px;
    }
    .pillars .pillar-item {
        display: flex;
        flex: 1;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 14px;
        min-width: 0;
    }
    .pillars .pillar-icon {
        display: flex;
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        overflow: hidden;
    }
    .pillars .pillar-icon img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .pillars .pillar-item b {
        color: #f1f0fa;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.4;
    }
}

/* Aperçu des sites par métier */
#metiers .job-browser {
    width: 100%;
    max-width: 1160px;
    margin: 30px auto 0;
    overflow: hidden;
    border: 1px solid rgba(139, 130, 190, 0.25);
    border-radius: 30px;
    background: #080a18;
    box-shadow: 0 0 45px rgba(80, 55, 255, 0.12);
}

#metiers .browser-bar {
    height: 48px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 18px;
    background: #111326;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

#metiers .browser-bar i {
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    border-radius: 50%;
    background: #454b78;
}

#metiers #job-url {
    margin-left: 12px;
    padding: 5px 13px;
    border-radius: 20px;
    background: #1c1d39;
    color: #9298bd;
    font-size: 12px;
}

#metiers .job-preview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 410px;
}

#metiers .job-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 48px;
    background: radial-gradient(
        circle at top left,
        rgba(63, 49, 160, 0.2),
        transparent 65%
    );
}

#metiers #job-name {
    margin-bottom: 18px;
    color: #258cff;
    font-size: 14px;
    font-weight: 700;
}

#metiers #job-title {
    max-width: 390px;
    margin: 0 0 24px;
    color: #f1f0ff;
    font-size: clamp(28px, 3vw, 38px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -1px;
}

#metiers .job-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 32px;
}

#metiers .job-tags span {
    padding: 7px 13px;
    border-radius: 22px;
    background: #191b31;
    color: #d6d8eb;
    font-size: 13px;
}

#metiers #job-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 24px;
    border-radius: 30px;
    background: linear-gradient(110deg, #139dff, #7138ff);
    color: white;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 28px rgba(70, 65, 255, 0.2);
}

#metiers .job-image {
    min-height: 410px;
    background-color: #151729;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("images/salon.png");
}

@media (max-width: 700px) {
    #metiers .job-preview {
        grid-template-columns: 1fr;
    }
    #metiers .job-copy {
        padding: 30px 24px;
    }
    #metiers .job-image {
        min-height: 260px;
    }
    #metiers .job-browser {
        border-radius: 22px;
    }
}

.hero-visual {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  min-width: 0;
}
.hero-visual .laptop,
.hero-visual .phone {
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.7s ease;
  transform-origin: center center;
}

/* =====================================================================
   FOOTER WebImpact (nouveau design)
   ===================================================================== */
.footer {
  --f-surface: rgba(255, 255, 255, .045);
  --f-border: rgba(255, 255, 255, .10);
  --f-text: #ffffff;
  --f-muted: #b4b9d0;
  --f-blue: #18a9ff;
  --f-violet: #7b2fff;
  position: relative;
  padding: 72px clamp(24px, 6vw, 80px) 0;
  border-top: 0;
  background:
    radial-gradient(620px 260px at 10% 0%, rgba(24, 169, 255, .14), transparent 70%),
    radial-gradient(620px 260px at 92% 0%, rgba(123, 47, 255, .15), transparent 70%),
    #070914;
  font-family: "Plus Jakarta Sans", Inter, system-ui, sans-serif;
}
body.light .footer {
  --f-surface: rgba(255, 255, 255, .75);
  --f-border: rgba(45, 58, 100, .16);
  --f-text: #12152b;
  --f-muted: #4b5470;
  background:
    radial-gradient(620px 260px at 10% 0%, rgba(24, 169, 255, .12), transparent 70%),
    radial-gradient(620px 260px at 92% 0%, rgba(123, 47, 255, .10), transparent 70%),
    #ecefff;
}
.footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--f-blue), var(--f-violet), transparent);
}
.footer .footer-main {
  display: grid;
  grid-template-columns: 1.3fr .8fr 1.6fr;
  gap: 56px;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 56px;
}
.footer .footer-main > * { min-width: 0; }
.footer .footer-main > .footer-col { display: block; }

.footer .footer-brand .brand {
  font-size: 1.75rem;
  letter-spacing: -.02em;
  color: var(--f-text);
  margin-bottom: 20px;
}
.footer .footer-brand .brand-mark { font-size: 2.3rem; }
.footer .footer-brand .footer-tagline {
  margin: 0 0 10px;
  max-width: 22ch;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--f-text);
}
.footer .footer-brand .footer-desc {
  margin: 0 0 26px;
  max-width: 36ch;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--f-muted);
}
.footer .footer-brand .footer-cta {
  display: inline-flex;
  padding: 13px 26px;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(110deg, #18a9ff, #276cff 48%, #7b2fff);
  box-shadow: 0 10px 28px rgba(80, 90, 255, .35);
  transition: transform .25s ease, box-shadow .25s ease;
}
.footer .footer-brand .footer-cta:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(80, 90, 255, .5);
}

.footer .footer-main h4 {
  position: relative;
  margin: 0 0 28px;
  padding-bottom: 14px;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--f-text);
}
.footer .footer-main h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 38px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--f-blue), var(--f-violet));
}

.footer .footer-main .footer-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.footer .footer-main .footer-nav a {
  position: relative;
  padding: 6px 0;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--f-muted);
  transition: color .2s ease, padding-left .2s ease;
}
.footer .footer-main .footer-nav a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--f-blue), var(--f-violet));
  transform: translateY(-50%);
  transition: width .2s ease;
}
.footer .footer-main .footer-nav a:hover { color: var(--f-text); padding-left: 22px; }
.footer .footer-main .footer-nav a:hover::before { width: 14px; }

.footer .footer-main .footer-contact { display: flex; flex-direction: column; gap: 14px; }
.footer .footer-main .contact-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border-radius: 16px;
  background: var(--f-surface);
  border: 1px solid var(--f-border);
  color: var(--f-text);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.3;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.footer .footer-main a.contact-item:hover {
  color: var(--f-text);
  border-color: rgba(123, 47, 255, .7);
  background: rgba(123, 47, 255, .10);
  transform: translateX(4px);
}
.footer .footer-main .contact-icon {
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(24, 169, 255, .2), rgba(123, 47, 255, .2));
  border: 1px solid rgba(123, 47, 255, .35);
}
.footer .footer-main .contact-icon img { display: block; width: 26px; height: 26px; object-fit: contain; }
.footer .footer-main .contact-text { min-width: 0; font-size: 1.05rem; color: var(--f-text); overflow-wrap: break-word; word-break: normal; }

.footer .footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 28px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 26px 0 30px;
  border-top: 1px solid var(--f-border);
  font-size: .95rem;
  color: var(--f-muted);
}
.footer .footer-bottom .footer-legal { display: flex; flex-wrap: wrap; gap: 8px 26px; }
.footer .footer-bottom a { color: var(--f-muted); font-weight: 500; }
.footer .footer-bottom a:hover { color: var(--f-text); }
.footer a:focus-visible { outline: 2px solid var(--f-violet); outline-offset: 4px; border-radius: 6px; }

@media (max-width: 960px) {
  .footer .footer-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 44px 40px; }
  .footer .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .footer { padding: 52px 20px 0; }
  .footer .footer-main { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .footer .footer-main .contact-text { overflow-wrap: anywhere; font-size: 1rem; }
  .footer .footer-bottom { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .footer * { transition: none !important; } }


/* ==========================================================
   CORRECTION RESPONSIVE MOBILE — WebImpact
   Corrige le débordement horizontal sans modifier le desktop.
   ========================================================== */
@media (max-width: 760px) {
  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  *, *::before, *::after {
    box-sizing: border-box;
  }

  body, main, header, footer, section, .section-wrap,
  .hero, .hero-copy, .service-grid, .service-card,
  .contact-grid, .contact-form, .contact-aside,
  .footer-main, .footer-bottom {
    min-width: 0;
    max-width: 100%;
  }

  .navbar {
    width: 100%;
    max-width: 100%;
    padding: 0 14px;
    gap: 8px;
    overflow: visible;
  }

  .navbar .brand {
    flex: 0 1 auto;
    min-width: 0;
    gap: 7px;
    font-size: clamp(19px, 5.2vw, 25px);
    white-space: nowrap;
  }

  .navbar .brand-mark {
    flex: 0 0 auto;
    font-size: clamp(34px, 9vw, 44px);
    line-height: 1;
  }

  .menu-toggle {
    flex: 0 0 auto;
    margin-left: auto;
    margin-right: 0;
    padding: 4px;
  }

  /* L'en-tête ne peut pas contenir logo + menu + thème + grand CTA.
     Le CTA reste disponible dans le contenu de la page. */
  .navbar .nav-actions {
    flex: 0 0 auto;
    gap: 0;
  }

  .navbar .theme-toggle,
  .navbar .nav-quote {
    display: none !important;
  }

  .nav-links {
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
  }

  .hero {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    overflow: hidden;
  }

  .hero-copy {
    width: 100%;
    max-width: 100%;
  }

  .eyebrow-pill {
    max-width: 100%;
    width: fit-content;
    white-space: normal;
    font-size: clamp(12px, 3.5vw, 15px);
  }

  .hero h1 {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: clamp(38px, 10.5vw, 54px);
    line-height: 1.06;
  }

  .hero-lead {
    max-width: 100%;
    overflow-wrap: break-word;
    font-size: 16px;
    line-height: 1.7;
  }

  .hero-actions {
    width: 100%;
    max-width: 420px;
    align-items: stretch;
  }

  .hero-actions .btn {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-content: center;
    white-space: normal;
    text-align: center;
    font-size: 15px;
    padding: 14px 16px;
  }

  .hero-visual {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 1 auto !important;
    height: auto;
    min-height: 0;
    margin: 0 auto;
    animation: none;
    filter: none;
  }

  .hero-visual img.hero-composite-image {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain;
  }

  .pillars {
    left: 16px;
    right: 16px;
    width: auto;
    max-width: calc(100% - 32px);
  }

  .pillars .pillar-item {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .pillars .pillar-item b {
    min-width: 0;
    line-height: 1.35;
  }

  .section {
    width: 100%;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .section-heading,
  .section-heading h2,
  .section-heading p {
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .service-grid,
  .benefit-grid,
  .pricing-grid,
  .process-grid,
  .contact-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .service-card,
  .benefit-grid article,
  .price-card,
  .process-grid article {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .compare-shell,
  .job-browser,
  .map-frame {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .bakery-nav span {
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: right;
  }

  .bakery-content {
    min-width: 0;
  }

  .bakery-content > * {
    min-width: 0;
  }

  .job-copy {
    min-width: 0;
    overflow-wrap: break-word;
  }

  .job-copy .btn,
  #metiers #job-cta {
    max-width: 100%;
    white-space: normal;
  }

  .contact-form,
  .contact-info,
  .mini-qr {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 20px;
  }

  .contact-form input,
  .contact-form select,
  .contact-form textarea {
    min-width: 0;
    max-width: 100%;
  }

  .form-actions .btn {
    max-width: 100%;
    white-space: normal;
  }

  .footer {
    width: 100%;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    overflow: hidden;
  }

  .footer .footer-main {
    width: 100%;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .footer .footer-main > * {
    min-width: 0;
    max-width: 100%;
  }

  .footer .footer-main .contact-item {
    min-width: 0;
    max-width: 100%;
    padding: 12px;
    gap: 12px;
  }

  .footer .footer-main .contact-text {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .footer .footer-bottom {
    width: 100%;
    max-width: 100%;
    align-items: flex-start;
    overflow-wrap: anywhere;
    gap: 16px;
  }

  .footer .footer-bottom > span {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .footer .footer-bottom .footer-legal {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
  }

  .floating-wa {
    width: 50px;
    height: 50px;
    right: 14px;
    bottom: 16px;
    z-index: 70;
  }

  .floating-wa svg {
    width: 27px;
    height: 27px;
  }

  .toast {
    width: calc(100% - 32px);
    max-width: 420px;
    text-align: center;
  }
}

@media (max-width: 380px) {
  .navbar {
    padding-left: 10px;
    padding-right: 10px;
  }

  .navbar .brand {
    font-size: 18px;
  }

  .navbar .brand-mark {
    font-size: 32px;
  }

  .hero {
    padding-left: 16px;
    padding-right: 16px;
  }

  .section {
    padding-left: 16px;
    padding-right: 16px;
  }

  .footer {
    padding-left: 16px;
    padding-right: 16px;
  }
}
