
/* FSL — Direction artistique 2026. Feuille de style additive, sans modification du tracking. */
:root{--dark:#0b2533;--blue:#143949;--gold:#d5a553;--gold-soft:#f4deb8;--cream:#f5f7f6;--muted:#62727a;--green:#19a957}
html{scroll-padding-top:95px}
body{font-family:'Inter',Arial,sans-serif!important;background:#f5f7f6;letter-spacing:-.015em}
.topbar{background:rgba(8,29,40,.91)!important;border-bottom:1px solid rgba(255,255,255,.15);backdrop-filter:blur(20px)!important}
.topbar-inner{max-width:1300px;padding:15px 32px}
.site-logo{height:66px;max-width:min(240px,100%);object-fit:contain}
.nav{align-items:center;gap:32px;font-size:13px;letter-spacing:.03em;font-weight:700}
.nav a{transition:color .2s ease}
.nav .nav-cta{display:inline-flex;padding:12px 21px;background:var(--gold);color:#092633;border-radius:999px;box-shadow:0 5px 22px rgba(213,165,83,.18)}
.nav .nav-cta:hover{color:#092633;background:#edc37d}
.hero{min-height:770px!important;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(5,27,39,.98) 0%,rgba(6,31,44,.91) 38%,rgba(8,34,47,.60) 71%,rgba(9,34,46,.45) 100%),url('https://facilities-solutions.lu/wp-content/uploads/2025/10/batiment.webp')!important;background-size:cover!important;background-position:center!important}
.hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent 72%);opacity:.8}
.hero-inner{max-width:1300px;min-height:770px;padding:160px 32px 90px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:80px;align-items:center;position:relative;z-index:1}
.hero-copy{max-width:770px}
.eyebrow{display:inline-flex;align-items:center;gap:11px;color:#f3cf90!important;font-family:'Inter',Arial,sans-serif!important;font-size:12px!important;letter-spacing:.17em!important;text-transform:uppercase!important;font-weight:800!important;margin-bottom:24px!important;text-shadow:none!important}
.eyebrow::before{content:none!important}
.status-dot{width:9px;height:9px;border-radius:50%;background:#e2b264;box-shadow:0 0 0 5px rgba(224,178,100,.16)}
.hero h1{font-family:'Montserrat',Arial,sans-serif!important;max-width:810px!important;font-size:clamp(48px,5.4vw,78px)!important;line-height:1.08!important;letter-spacing:-.055em!important;font-weight:800!important;margin-bottom:25px;text-wrap:balance;text-shadow:0 10px 28px rgba(0,0,0,.17)!important}
.hero h1 span{display:block;color:#edc681}
.lead{max-width:690px!important;font-size:18px!important;line-height:1.8!important;font-weight:400!important;color:#e2e9eb!important;text-shadow:none!important;margin-bottom:34px}
.hero-actions{gap:12px;align-items:center}
.btn{border-radius:999px;font-weight:750;font-size:14px;min-height:54px;padding:16px 25px;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.btn:focus-visible,.nav a:focus-visible,.service-link:focus-visible,.choice:focus-within{outline:3px solid #e8b96d;outline-offset:3px}
.btn-primary{background:#e5b766!important;color:#102c3a!important;box-shadow:0 16px 34px rgba(230,181,93,.22)!important}
.btn-primary:hover{background:#f0cb89!important}
.btn-secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.34);backdrop-filter:blur(4px)}
.btn-secondary:hover{background:rgba(255,255,255,.16)}
.btn .arrow{margin-left:15px;font-size:20px;font-weight:500;line-height:0}
.hero-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:31px;color:#c5d1d5;font-size:12px;font-weight:650}
.hero-meta span{display:inline-flex;gap:9px;align-items:center}
.hero-meta span:before{content:"";width:6px;height:6px;border-radius:50%;background:#e2b469}
.hero-feature{position:relative;align-self:end;margin-bottom:0;background:rgba(13,39,51,.68);border:1px solid rgba(255,255,255,.23);border-top:3px solid var(--gold);border-radius:20px;padding:29px 27px 27px;box-shadow:0 28px 80px rgba(0,0,0,.26);backdrop-filter:blur(19px);color:#fff}
.feature-label{display:block;color:#e8bf7d;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:24px}
.feature-mark{font-family:'Montserrat',sans-serif;font-size:42px;font-weight:850;letter-spacing:-.06em;line-height:1;margin-bottom:25px;color:#fff}
.feature-mark span{color:var(--gold)}
.hero-feature h2{margin:0 0 14px;font-size:21px;font-family:'Montserrat',sans-serif;letter-spacing:-.04em;line-height:1.35}
.hero-feature p{font-size:13px;line-height:1.7;color:#d2dce0;margin:0 0 22px}
.hero-feature a{display:inline-flex;align-items:center;gap:10px;color:#f2cc8b;text-decoration:none;font-size:13px;font-weight:800}
.hero-feature a:hover{color:#fff}
.section{max-width:1300px;padding:98px 32px 108px}
.section-head{grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:40px}
.section-kicker{display:block;color:#a47733;letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:850;margin-bottom:19px}
.section-head h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(34px,3.7vw,52px);letter-spacing:-.055em;line-height:1.16;color:#0b2533;text-wrap:balance}
.section-head p{max-width:480px;line-height:1.7;font-size:17px;color:#5d7179}
.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service-card{min-height:270px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden;border:1px solid #dce3e4;border-radius:20px;padding:32px 36px 28px;background:linear-gradient(145deg,#fff 40%,#f8faf8 100%);box-shadow:0 10px 35px rgba(11,37,51,.04);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-card:after{content:"";position:absolute;right:-70px;bottom:-106px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(213,165,83,.12);box-shadow:0 0 0 35px rgba(213,165,83,.018),0 0 0 70px rgba(213,165,83,.013);pointer-events:none}
.service-card:hover{transform:translateY(-4px);border-color:#d8bf96;box-shadow:0 22px 50px rgba(11,37,51,.11)}
.card-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:21px;position:relative;z-index:1}
.service-card .num{display:inline-flex;align-items:center;justify-content:center;margin:0;width:47px;height:43px;border-radius:12px;background:#eef3f3;color:#37606a;font-size:13px;font-weight:800}
.service-icon{display:inline-grid;place-items:center;width:55px;height:55px;background:#f9eedc;color:#aa7a35;border-radius:16px}
.service-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{position:relative;z-index:1;margin:0 0 10px;max-width:380px;font-family:'Montserrat',sans-serif;font-size:23px;line-height:1.28;letter-spacing:-.035em;font-weight:800;color:#12303f}
.service-card p{position:relative;z-index:1;font-size:15px;line-height:1.7;color:#5f7179;max-width:420px}
.service-link{position:relative;z-index:2;margin-top:auto;padding-top:25px;display:inline-flex;align-items:center;gap:11px;color:#946626;text-decoration:none;font-size:13px;font-weight:800}
.service-link span{font-size:20px;transition:transform .2s}
.service-link:hover span{transform:translateX(4px)}
.request{background:linear-gradient(150deg,#eaf0ef,#f5f7f6 65%);border-top:1px solid #e1e8e7;border-bottom:0}
.request-inner{max-width:1300px;padding:94px 32px 105px;grid-template-columns:minmax(0,1fr) minmax(350px,445px);gap:80px}
.request h2{font-family:'Montserrat',sans-serif;font-size:clamp(35px,3.5vw,50px);letter-spacing:-.05em;line-height:1.16}
.request-text{font-size:16px;max-width:580px;margin-bottom:25px}
.choice-list{gap:11px}
.choice{grid-template-columns:25px 1fr;gap:15px;padding:19px 20px;background:rgba(255,255,255,.77);border:1.5px solid #dce5e3;border-radius:15px;box-shadow:0 4px 18px rgba(11,37,51,.025)}
.choice:hover{border-color:#c8a263;background:#fff;transform:translateX(2px)}
.choice.selected{border-color:#bf9250;background:#fff9ed;box-shadow:0 8px 24px rgba(169,121,45,.09)}
.choice input{width:19px;height:19px;margin-top:3px;accent-color:#b98b45}
.choice h3{font-size:17px;line-height:1.35;font-weight:800;margin:0 0 5px}
.choice p{font-size:13px;line-height:1.55}
.form-panel{position:sticky;top:24px;background:#0d2b3a;color:#fff;border-radius:23px;padding:33px;box-shadow:0 28px 70px rgba(8,32,45,.19);border:1px solid rgba(255,255,255,.09)}
.form-panel:before{content:"";display:block;width:38px;height:4px;background:var(--gold);border-radius:5px;margin-bottom:20px}
.form-panel h2{font-size:29px;letter-spacing:-.045em;margin-bottom:9px}
.form-panel p{font-size:13px;line-height:1.65;margin-bottom:20px}
.selected-box{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.15);padding:14px 17px;margin-bottom:16px;border-radius:13px}
.selected-box small{font-size:11px;color:#bbcad0;letter-spacing:.04em;margin-bottom:7px}
.selected-box strong{font-size:15px;color:#f4d294}
label.form-label{margin:12px 0 6px;font-size:12px;font-weight:750;color:#e0e9ed}
.form-panel input,.form-panel textarea{background:#f8faf9;color:#102e3c;border:1px solid #dfe6e5;border-radius:10px;padding:13px 14px;font-family:inherit;font-size:14px;min-height:45px;transition:border-color .15s,box-shadow .15s}
.form-panel input::placeholder,.form-panel textarea::placeholder{color:#86949a}
.form-panel input:focus,.form-panel textarea:focus{border-color:#d7aa5c;box-shadow:0 0 0 3px rgba(215,170,92,.2);outline:0}
.form-panel textarea{min-height:93px}
.form-panel .btn{margin-top:15px;width:100%;min-height:54px;border-radius:12px}
.btn-whatsapp{background:#1fba63!important;color:#052d19!important;box-shadow:none!important}
.btn-whatsapp:hover{background:#34d579!important}
.helper{text-align:center;font-size:11px;line-height:1.55;color:#b6c6cf;margin-top:11px}
.footer{background:#071d29;padding:31px 32px}
.footer-inner{max-width:1300px;font-size:12px;color:#bcc9cf;align-items:center}
.footer-inner>div:first-child{color:#fff;font-weight:800}
@media(max-width:1080px){
.hero-inner{grid-template-columns:1fr 270px;gap:30px}
.hero-feature{padding:25px 21px}
.request-inner{gap:32px;grid-template-columns:minmax(0,1fr) minmax(320px,420px)}
}
@media(max-width:820px){
.topbar-inner{padding:12px 20px}
.site-logo{height:57px}
.nav{gap:14px}
.nav a:not(.nav-cta){display:none}
.hero{min-height:690px!important;background-position:62% center!important}
.hero-inner{min-height:690px;grid-template-columns:1fr;gap:25px;padding:135px 24px 65px}
.hero-feature{display:none}
.hero h1{font-size:clamp(46px,7vw,67px)!important}
.lead{font-size:17px!important}
.section{padding:70px 24px}
.section-head{grid-template-columns:1fr;gap:14px;margin-bottom:30px}
.services{gap:15px}
.service-card{padding:26px;min-height:275px}
.service-card h3{font-size:20px}
.request-inner{grid-template-columns:1fr;padding:70px 24px;gap:36px}
.form-panel{position:static;max-width:600px;width:100%}
}
@media(max-width:560px){
html{scroll-padding-top:0}
.topbar{position:relative!important;background:#081e2b!important}
.topbar-inner{padding:10px 16px;min-height:72px;gap:10px}
.site-logo{height:49px;max-width:190px}
.nav .nav-cta{font-size:11px;padding:10px 13px;white-space:nowrap}
.hero{min-height:620px!important;background:linear-gradient(90deg,rgba(5,27,39,.98),rgba(5,27,39,.83) 80%,rgba(5,27,39,.67)),url('https://facilities-solutions.lu/wp-content/uploads/2025/10/batiment.webp')!important;background-size:cover!important;background-position:65% center!important}
.hero-inner{min-height:620px;padding:64px 20px 68px}
.eyebrow{font-size:10px!important;letter-spacing:.095em!important;margin-bottom:21px!important}
.hero h1{font-size:clamp(38px,10vw,52px)!important;letter-spacing:-.045em!important;line-height:1.12!important;margin-bottom:19px}
.lead{font-size:15px!important;line-height:1.72!important;margin-bottom:27px}
.hero-actions{flex-direction:column;align-items:stretch}
.hero-actions .btn{width:100%;padding:15px 18px;min-height:51px}
.hero-meta{gap:10px 18px;margin-top:24px;font-size:11px}
.section{padding:60px 18px 70px}
.section-head h2,.request h2{font-size:33px}
.section-head p,.request-text{font-size:15px}
.services{grid-template-columns:1fr;gap:12px}
.service-card{min-height:240px;padding:22px 23px 21px}
.card-top{margin-bottom:15px}
.service-card h3{font-size:20px}
.service-card p{font-size:14px}
.service-link{padding-top:16px}
.request-inner{padding:61px 18px 70px}
.choice{padding:16px;gap:12px}
.choice h3{font-size:15px}
.form-panel{padding:25px 20px;border-radius:19px}
.form-panel h2{font-size:28px}
.footer{padding:25px 18px}
.footer-inner{flex-direction:column;align-items:flex-start;gap:7px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
