.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{margin:0;padding:0;box-sizing:border-box}:root{--primary:#2d336b;--teal:#2ba5a2;--pink:#e95a9b;--bg:#f7f8fa;--white:#fff;--text:#2f3542;--text-secondary:#5f6b78;--border:#e3e7ed}body{font-family:'DM Sans',sans-serif;color:var(--text);line-height:1.6;background:var(--white);overflow-x:hidden}h1,h2,h3{font-family:'Playfair Display',serif}a{text-decoration:none;color:inherit}.topbar{background:#4e5494;color:var(--white);padding:10px 20px;display:flex;justify-content:space-between;align-items:center;font-size:13px;position:relative;z-index:100}.topbar-left{display:flex;gap:24px;align-items:center}.topbar-contact{display:flex;align-items:center;gap:6px;color:var(--white);text-decoration:none;opacity:.95;transition:opacity .2s}.topbar-contact:hover{opacity:1}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-tagline{font-size:12px;font-weight:500;letter-spacing:.5px}.topbar-social{display:flex;gap:8px;align-items:center}.social-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s,opacity .2s;opacity:.9}.social-icon:hover{transform:scale(1.15);opacity:1}.social-icon svg{width:16px;height:16px;fill:white}.social-instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.social-facebook{background:#1877f2}.social-linkedin{background:#0a66c2}.topbar-switch{display:inline-flex;align-items:center;gap:6px;background:var(--teal);border:0;color:#fff;padding:7px 18px;border-radius:20px;font-size:12px;font-weight:600;text-decoration:none;transition:all .3s ease;letter-spacing:.3px;cursor:pointer}.topbar-switch:hover{background:#38b3b0;transform:translateY(-1px);box-shadow:0 4px 12px rgba(69,199,196,0.5)}header{background:var(--white);border-bottom:1px solid var(--border);padding:16px 32px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:90;transition:box-shadow .3s ease}header.scrolled{box-shadow:0 2px 8px rgba(0,0,0,0.08)}.logo{height:48px;width:auto;max-width:180px}nav{display:flex;gap:32px;align-items:center;flex:1;margin-left:48px}nav a{color:var(--text);text-decoration:none;font-weight:500;font-size:14px;transition:color .2s;position:relative}nav a:hover{color:var(--teal)}nav a.active{color:var(--teal)}.dropdown{position:relative}.dropdown>a{cursor:pointer}.dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--white);border:1px solid var(--border);border-radius:8px;min-width:220px;box-shadow:0 4px 12px rgba(0,0,0,0.1);margin-top:8px;z-index:100}.dropdown:hover .dropdown-menu,.dropdown.open .dropdown-menu{display:block}.dropdown-menu::before{content:'';position:absolute;top:-12px;left:0;width:100%;height:12px}.dropdown-menu a{display:block;padding:12px 16px;color:var(--text);font-weight:400;font-size:13px;border-bottom:1px solid var(--border);transition:background .2s}.dropdown-menu a:last-child{border-bottom:0}.dropdown-menu a:hover{background:var(--bg);color:var(--teal)}.header-right{display:flex;gap:16px;align-items:center;margin-left:auto}.cta-button{background:var(--teal);color:var(--white);padding:12px 24px;border-radius:6px;font-weight:600;font-size:14px;transition:background .3s;border:0;cursor:pointer;text-decoration:none}.cta-button:hover{background:#3ab0ad}.pro-link{font-size:12px;color:var(--text-secondary);text-decoration:none;transition:color .2s}.pro-link:hover{color:var(--teal)}.mobile-nav-toggle{display:none;background:0;border:0;cursor:pointer;padding:8px;flex-direction:column;gap:5px;z-index:95}.mobile-nav-toggle span{display:block;width:24px;height:2px;background:var(--primary);border-radius:2px;transition:all .3s ease}.mobile-nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-nav-toggle.active span:nth-child(2){opacity:0}.mobile-nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-nav-overlay{display:none;position:fixed;inset:0;background:rgba(45,51,107,0.5);z-index:80;opacity:0;transition:opacity .3s}.mobile-nav-overlay.active{display:block;opacity:1}.mobile-nav{display:none;position:fixed;top:0;right:-320px;width:300px;height:100vh;background:var(--white);z-index:85;padding:80px 24px 24px;overflow-y:auto;transition:right .3s ease;box-shadow:-4px 0 20px rgba(0,0,0,0.1)}.mobile-nav.active{right:0;display:block}.mobile-nav a{display:block;padding:14px 0;color:var(--text);font-weight:500;font-size:15px;border-bottom:1px solid var(--border);transition:color .2s}.mobile-nav a:hover{color:var(--teal)}.mobile-nav .mobile-sub{padding-left:16px}.mobile-nav .mobile-sub a{font-size:13px;color:var(--text-secondary);padding:10px 0}.mobile-nav .mobile-cta-link{display:block;background:var(--teal);color:var(--white);text-align:center;padding:14px;border-radius:6px;font-weight:600;margin-top:20px;border-bottom:0}.trust-bar{background:var(--white);padding:32px 20px;border-bottom:1px solid var(--border)}.trust-bar .container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.trust-item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--primary)}.trust-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--primary),#4e5494);display:flex;align-items:center;justify-content:center;flex-shrink:0}.trust-icon svg{width:20px;height:20px;fill:none;stroke:white;stroke-width:2}.needs-section{padding:80px 20px;background:var(--bg)}.needs-section .container{max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:56px}.section-header h2{font-size:38px;color:var(--primary);margin-bottom:12px}.section-header p{font-size:16px;color:var(--text-secondary);max-width:540px;margin:0 auto}.needs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.need-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,0.06);transition:all .3s ease;text-decoration:none;color:var(--text);display:flex;flex-direction:column}.need-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px rgba(0,0,0,0.12)}.need-card-img{width:100%;height:200px;object-fit:cover;display:block}.need-card-body{padding:24px;flex:1;display:flex;flex-direction:column}.need-card-body h3{font-family:'Playfair Display',serif;font-size:20px;color:var(--primary);margin-bottom:8px}.need-card-body p{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:16px;flex:1}.need-card-link{font-size:14px;font-weight:600;color:var(--teal);display:inline-flex;align-items:center;gap:6px;transition:gap .2s}.need-card:hover .need-card-link{gap:10px}.targets-section{padding:80px 20px;background:var(--white)}.targets-section .container{max-width:1000px;margin:0 auto}.targets-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.target-card{border:2px solid var(--border);border-radius:12px;padding:40px;text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.target-card:hover{border-color:var(--teal);box-shadow:0 8px 24px rgba(69,199,196,0.12)}.target-card-icon{width:64px;height:64px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.target-card-icon svg{width:28px;height:28px;stroke:var(--primary);fill:none;stroke-width:1.5}.target-card h3{font-family:'Playfair Display',serif;font-size:24px;color:var(--primary);margin-bottom:12px}.target-card p{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:24px}.target-card .btn-target{display:inline-block;padding:12px 28px;border-radius:6px;font-weight:600;font-size:14px;transition:all .3s}.btn-target-primary{background:var(--teal);color:#fff}.btn-target-primary:hover{background:#3ab0ad}.btn-target-outline{border:2px solid var(--primary);color:var(--primary)}.btn-target-outline:hover{background:var(--primary);color:#fff}.reassurance{padding:60px 20px;background:var(--primary);color:var(--white);text-align:center}.reassurance .container{max-width:1000px;margin:0 auto}.reassurance h2{font-size:32px;margin-bottom:12px;color:var(--white)}.reassurance>.container>p{font-size:16px;opacity:.85;margin-bottom:40px}.reassurance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}.reassurance-item strong{display:block;font-size:28px;color:var(--teal);margin-bottom:4px}.reassurance-item span{font-size:13px;opacity:.85}.cta-final{padding:80px 20px;background:var(--bg);text-align:center}.cta-final .container{max-width:700px;margin:0 auto}.cta-final h2{font-size:34px;color:var(--primary);margin-bottom:16px}.cta-final p{font-size:16px;color:var(--text-secondary);margin-bottom:36px;line-height:1.7}.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn-cta-primary{background:var(--teal);color:#fff;padding:16px 36px;border-radius:6px;font-weight:600;font-size:15px;transition:all .3s}.btn-cta-primary:hover{background:#3ab0ad;transform:translateY(-2px);box-shadow:0 8px 24px rgba(69,199,196,0.4)}.btn-cta-secondary{background:var(--white);color:var(--primary);padding:16px 36px;border-radius:6px;font-weight:600;font-size:15px;transition:all .3s;border:2px solid var(--border);display:inline-flex;align-items:center;gap:8px}.btn-cta-secondary:hover{border-color:var(--primary)}.zone-section{padding:48px 20px;background:var(--white);text-align:center}.zone-section .container{max-width:900px;margin:0 auto}.zone-section h3{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.city-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.city-pill{padding:6px 16px;border:1px solid var(--border);border-radius:20px;font-size:13px;color:var(--text-secondary);font-weight:500;transition:all .2s}a.city-pill:hover{border-color:var(--teal);color:var(--teal)}footer{background:var(--primary);color:rgba(255,255,255,0.85);padding:60px 20px 0}.footer-main{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px}.footer-col h4{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;color:var(--white);margin-bottom:20px;text-transform:uppercase;letter-spacing:.5px}.footer-logo{height:40px;width:auto;max-width:180px;margin-bottom:16px}.footer-desc{font-size:13px;line-height:1.7;margin-bottom:20px;opacity:.8}.footer-contact-item{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;color:rgba(255,255,255,0.85);text-decoration:none;transition:color .2s}.footer-contact-item:hover{color:var(--teal)}.footer-contact-item svg{width:16px;height:16px;stroke:var(--teal);fill:none;stroke-width:2;flex-shrink:0}.footer-links{list-style:none}.footer-links li{margin-bottom:10px}.footer-links a{font-size:13px;color:rgba(255,255,255,0.7);transition:color .2s}.footer-links a:hover{color:var(--teal)}.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding:20px;text-align:center;font-size:12px;opacity:.6;max-width:1200px;margin:0 auto}.footer-bottom a{color:rgba(255,255,255,0.7);margin:0 8px}.footer-bottom a:hover{color:var(--teal)}.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--border);padding:10px 16px;z-index:95;gap:10px}.mobile-cta-bar a{flex:1;text-align:center;padding:12px;border-radius:6px;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px}.mobile-cta-bar .mcta-devis{background:var(--teal);color:#fff}.mobile-cta-bar .mcta-phone{background:var(--primary);color:#fff}.mobile-cta-bar svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.portail-hero{position:relative;width:100%;min-height:calc(100vh - 110px);overflow:hidden;transition:all .6s ease}.portail-hero--overlay{position:fixed;inset:0;z-index:9999;min-height:100vh}.portail-hero--overlay .portail{height:100vh}.portail-hero--overlay .portail-skip{display:inline-block}.portail-hero--dismissing{opacity:0;transform:scale(1.02)}.portail-skip{display:none;margin-top:8px;font-size:12px;color:rgba(255,255,255,0.5);text-decoration:underline;cursor:pointer;transition:color .2s}.portail-skip:hover{color:rgba(255,255,255,0.9)}.portail{display:flex;height:100%;width:100%;position:absolute;inset:0}.portail-logo{position:absolute;top:60px;left:50%;transform:translateX(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;pointer-events:none}.portail-logo img{height:130px;width:auto;filter:drop-shadow(0 0 20px rgba(255,255,255,0.4)) drop-shadow(0 0 40px rgba(69,199,196,0.3));transition:filter .3s ease}.portail-tagline{margin-top:18px;color:white;font-size:16px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,0.6);text-align:center}.portail-words{position:relative;display:inline-block;height:24px;overflow:hidden;vertical-align:bottom}.portail-words span{display:block;height:24px;line-height:24px;font-weight:800;animation:wordRotate 8s infinite;color:var(--teal);text-shadow:0 0 16px rgba(69,199,196,0.6)}@keyframes wordRotate{0%,15%{transform:translateY(0)}20%,35%{transform:translateY(-24px)}40%,55%{transform:translateY(-48px)}60%,75%{transform:translateY(-72px)}80%,95%{transform:translateY(-96px)}}.portail-divider{position:absolute;top:0;left:50%;transform:translateX(-50%);width:2px;height:100%;background:rgba(255,255,255,0.25);z-index:20}.portail-divider::before{content:'OU';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:white;color:var(--primary);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;letter-spacing:1px;box-shadow:0 4px 20px rgba(0,0,0,0.3)}.univers{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:flex .5s cubic-bezier(0.25,0.46,0.45,0.94)}.univers:hover{flex:1.15}.univers:not(:hover){flex:.85}.portail:not(:hover) .univers{flex:1}.univers::before{content:'';position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s ease}.univers:hover::before{transform:scale(1.05)}.univers-particulier::before{background-image:url('/images/services/store-interieur.webp')}.univers-pro::before{background-image:url('/images/services/vitrophanie-bureau.webp')}.univers::after{content:'';position:absolute;inset:0;transition:background .4s ease}.univers-particulier::after{background:linear-gradient(180deg,rgba(45,51,107,0.55) 0,rgba(20,22,60,0.88) 100%)}.univers-particulier:hover::after{background:linear-gradient(180deg,rgba(69,199,196,0.15) 0,rgba(45,51,107,0.55) 100%)}.univers-pro::after{background:linear-gradient(180deg,rgba(30,25,80,0.55) 0,rgba(15,12,50,0.9) 100%)}.univers-pro:hover::after{background:linear-gradient(180deg,rgba(233,90,155,0.1) 0,rgba(30,25,80,0.55) 100%)}.univers-content{position:relative;z-index:10;text-align:center;color:white;padding:40px;max-width:480px;animation:portalFadeIn .8s ease forwards}.univers-pro .univers-content{animation-delay:.15s}@keyframes portalFadeIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.univers-icon{width:56px;height:56px;border:2px solid rgba(255,255,255,0.5);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;transition:all .3s ease}.univers:hover .univers-icon{border-color:white;transform:scale(1.1)}.univers-icon svg{width:26px;height:26px;fill:white}.univers-label{font-size:15px;font-weight:700;letter-spacing:4px;text-transform:uppercase;margin-bottom:14px;animation:labelPulse 2s ease-in-out infinite}.univers-particulier .univers-label{color:var(--teal);text-shadow:0 0 20px rgba(69,199,196,0.5)}.univers-pro .univers-label{color:var(--pink);text-shadow:0 0 20px rgba(233,90,155,0.5)}@keyframes labelPulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08);text-shadow:0 0 24px currentColor,0 0 48px currentColor}}.univers-title{font-family:'Playfair Display',serif;font-size:32px;font-weight:700;line-height:1.2;margin-bottom:16px;text-shadow:0 2px 8px rgba(0,0,0,0.3)}.univers-subtitle{font-size:16px;line-height:1.6;opacity:.9;margin-bottom:32px;font-weight:300}.univers-features{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:36px}.univers-feature{background:rgba(255,255,255,0.15);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,0.2);border-radius:100px;padding:8px 16px;font-size:13px;font-weight:500;color:white;transition:background .3s}.univers:hover .univers-feature{background:rgba(255,255,255,0.22)}.univers-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;border-radius:100px;font-size:16px;font-weight:600;text-decoration:none;transition:all .3s ease;border:0;cursor:pointer}.univers-particulier .univers-btn{background:var(--teal);color:white}.univers-particulier .univers-btn:hover{background:#3ab0ad;transform:translateY(-2px);box-shadow:0 8px 30px rgba(69,199,196,0.4)}.univers-pro .univers-btn{background:var(--pink);color:white}.univers-pro .univers-btn:hover{background:#d44a88;transform:translateY(-2px);box-shadow:0 8px 30px rgba(233,90,155,0.4)}.univers-btn svg{width:18px;height:18px;fill:white;transition:transform .3s ease}.univers:hover .univers-btn svg{transform:translateX(4px)}.portail-bottom{position:absolute;bottom:0;left:0;right:0;z-index:40;text-align:center;padding:20px;background:linear-gradient(0,rgba(0,0,0,0.3) 0,transparent 100%);color:rgba(255,255,255,0.7);font-size:12px}.portail-bottom a{color:rgba(255,255,255,0.85);text-decoration:none}.portail-bottom a:hover{color:var(--teal)}.page-transition{position:fixed;inset:0;z-index:10000;opacity:0;pointer-events:none;transition:opacity .4s ease;display:flex;align-items:center;justify-content:center}.page-transition.active{opacity:1;pointer-events:all}.page-transition-particulier{background:linear-gradient(135deg,var(--primary),var(--teal))}.page-transition-pro{background:linear-gradient(135deg,var(--primary),var(--pink))}.page-transition-content{text-align:center;color:white}.page-transition-content img{height:56px;width:auto;margin-bottom:20px}.page-transition-content p{font-size:16px;font-weight:500;opacity:.9}.spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite;margin:20px auto 0}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.portail-hero{min-height:100vh;min-height:100dvh}.portail{flex-direction:column}.portail-divider{top:50%;left:0;width:100%;height:2px;transform:translateY(-50%)}.portail-divider::before{top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;font-size:11px}.portail-logo{display:none}.univers{justify-content:center}.univers:hover{flex:1}.univers:not(:hover){flex:1}.univers-icon{width:36px;height:36px;margin-bottom:6px}.univers-icon svg{width:18px;height:18px}.univers-label{font-size:10px;margin-bottom:2px;letter-spacing:2px}.univers-title{font-size:20px;margin-bottom:6px}.univers-subtitle{font-size:12px;margin-bottom:10px}.univers-content{padding:10px 16px}.univers-features{gap:5px;margin-bottom:10px}.univers-feature{font-size:10px;padding:4px 8px}.univers-btn{padding:10px 24px;font-size:13px}.portail-bottom{display:none}}@media(max-width:480px){.univers-title{font-size:18px;margin-bottom:4px}.univers-subtitle{font-size:11px;margin-bottom:8px;line-height:1.4}.univers-features{display:none}.univers-btn{padding:9px 22px;font-size:12px}.univers-content{padding:8px 14px}.univers-icon{width:32px;height:32px;margin-bottom:4px}.univers-icon svg{width:16px;height:16px}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:900px){.needs-grid{grid-template-columns:1fr 1fr}.reassurance-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-main{grid-template-columns:1fr 1fr}}@media(max-width:768px){.topbar{display:none}nav,.header-right .pro-link{display:none}.mobile-nav-toggle{display:flex}header{padding:12px 16px}.portail-hero{min-height:70vh}.hero{padding:48px 20px}.hero h1{font-size:32px}.trust-bar .container{justify-content:center}.trust-item{flex:0 0 calc(50% - 12px)}.needs-grid{grid-template-columns:1fr}.targets-grid{grid-template-columns:1fr}.reassurance-grid{grid-template-columns:1fr 1fr}.section-header h2{font-size:28px}.footer-main{grid-template-columns:1fr}.mobile-cta-bar{display:flex}body{padding-bottom:70px}}@media(max-width:480px){.trust-item{flex:0 0 100%}}