:root{--black:#080808;--ivory:#f3f0e9;--camel:#b88a5a;--grey:#a8a8a5;--line:rgba(255,255,255,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:#111;font-family:Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}.nav{height:88px;position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;color:white;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;align-items:flex-start;width:148px}.brand img{width:100%;height:auto;filter:brightness(0) invert(1)}.brand span{font-size:8px;letter-spacing:.3em;margin-top:5px}.nav nav{display:flex;align-items:center;gap:34px;font-size:13px}.nav nav a{transition:.25s}.nav nav a:hover{color:var(--camel)}.lang{border:0;background:none;color:#fff;font:inherit;border-left:1px solid var(--line);padding-left:28px}.lang span{opacity:.45}.menu{display:none}.hero{height:100svh;min-height:700px;position:relative;color:white;overflow:hidden}.hero-media{position:absolute;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.55) 47%,rgba(0,0,0,.05) 82%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%)}.hero-content{position:absolute;left:8.5vw;top:50%;transform:translateY(-42%);max-width:830px}.eyebrow{font-size:11px;letter-spacing:.25em;color:var(--camel);font-weight:bold;margin:0 0 25px}.hero h1{font-size:clamp(48px,6.4vw,96px);line-height:.96;letter-spacing:-.055em;margin:0;font-weight:400}.hero h1 em{font-style:normal;color:#ddd;font-weight:300}.lead{font-size:17px;line-height:1.65;max-width:630px;color:#d3d3d3;margin:34px 0}.actions{display:flex;align-items:center;gap:32px}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--camel);padding:17px 25px;font-size:13px;font-weight:bold}.text-link{font-size:13px;border-bottom:1px solid #aaa;padding:15px 0}.text-link b,.service>b{color:var(--camel)}.scroll{position:absolute;right:5.5vw;bottom:35px;font-size:9px;letter-spacing:.25em;writing-mode:vertical-rl;display:flex;align-items:center;gap:13px}.scroll i{height:42px;width:1px;background:var(--camel)}.intro{padding:130px 8.5vw 95px;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw}.eyebrow.dark{color:#997049}.intro h2,.method h2,.contact h2{font-size:clamp(38px,4.5vw,66px);line-height:1.04;letter-spacing:-.045em;font-weight:400;margin:0}.intro-copy{font-size:18px;line-height:1.7;color:#555;max-width:580px;margin-top:46px}.services{background:#111;color:#fff;padding:0 5.5vw}.service{display:grid;grid-template-columns:70px 1fr 30px;align-items:center;min-height:165px;border-top:1px solid #333;padding:26px 3vw;transition:.35s;cursor:pointer}.service:last-child{border-bottom:1px solid #333}.service>span{font-size:12px;color:#777}.service p{color:var(--camel);font-size:10px;letter-spacing:.2em;margin:0 0 12px}.service h3{font-size:clamp(28px,3vw,46px);font-weight:300;margin:0}.service small{display:block;color:#aaa;font-size:14px;line-height:1.5;margin-top:10px;max-height:0;opacity:0;overflow:hidden;transition:.35s}.service>b{font-size:25px;font-weight:300}.service:hover,.service.active{background:#1b1b1b}.service:hover small,.service.active small{max-height:55px;opacity:1}.method{display:grid;grid-template-columns:1fr 1fr;min-height:780px}.method-image{position:relative;overflow:hidden}.method-image img{width:100%;height:100%;object-fit:cover}.method-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 50%)}.method-image>span{position:absolute;z-index:1;left:9%;bottom:8%;color:white;font-size:12px;letter-spacing:.28em;line-height:1.7}.method-copy{padding:105px 9vw 80px 8vw;background:#e8e4dc}.method-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#555;max-width:520px}.method ol{list-style:none;padding:25px 0 0;margin:0}.method li{display:flex;gap:28px;border-top:1px solid #c7c1b7;padding:18px 0}.method li>span{font-size:11px;color:#997049}.method li div{display:flex;flex-direction:column;gap:5px}.method li b{font-size:17px}.method li small{font-size:13px;color:#676767}.sectors{background:#0b0b0b;color:#fff;padding:120px 8.5vw}.sectors h2{font-size:clamp(42px,6vw,78px);font-weight:300;line-height:1;letter-spacing:-.045em}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:75px;border-top:1px solid #333;border-left:1px solid #333}.sector-grid span{font-size:17px;padding:34px;border-right:1px solid #333;border-bottom:1px solid #333;transition:.25s}.sector-grid span:hover{color:var(--camel);background:#141414}.contact{padding:110px 8.5vw;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.dark-btn{background:#111;color:#fff;min-width:190px}footer{background:#080808;color:#aaa;display:grid;grid-template-columns:1fr auto auto;gap:80px;padding:60px 5.5vw;align-items:end;font-size:12px;line-height:1.6}.foot{color:white}footer a{color:#ddd}@media(max-width:800px){.nav{height:74px;padding:0 22px}.nav nav{display:none;position:absolute;top:74px;left:0;right:0;background:#0b0b0b;padding:28px;flex-direction:column;align-items:flex-start}.nav.open nav{display:flex}.menu{display:flex;flex-direction:column;gap:7px;border:0;background:transparent}.menu span{width:25px;height:1px;background:#fff}.hero{min-height:680px}.hero-content{left:22px;right:22px;top:51%}.hero h1{font-size:49px}.lead{font-size:16px}.actions{align-items:flex-start;flex-direction:column;gap:8px}.scroll{display:none}.intro{padding:85px 22px 65px;grid-template-columns:1fr;gap:10px}.intro-copy{margin-top:15px}.services{padding:0}.service{grid-template-columns:42px 1fr 24px;padding:22px;min-height:140px}.service small{max-height:65px;opacity:1}.method{grid-template-columns:1fr}.method-image{height:500px}.method-copy{padding:75px 22px}.sectors{padding:85px 22px}.sector-grid{grid-template-columns:1fr 1fr;margin-top:45px}.sector-grid span{padding:24px 16px}.contact{padding:80px 22px;align-items:flex-start;flex-direction:column}.contact h2{font-size:40px}footer{grid-template-columns:1fr;gap:22px;padding:55px 22px}.foot{width:140px}}
/* Project enquiry form */
.sector-lead{font-size:16px;color:#aaa;line-height:1.6;max-width:560px;margin-top:25px}
/* Interior pages */
.subpage{background:#f3f0e9}.nav{position:fixed;background:rgba(8,8,8,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .25s}.nav nav a.active{color:#b88a5a}.page-hero{min-height:650px;background:#0a0a0a;color:#fff;padding:185px 8.5vw 90px;position:relative;overflow:hidden;display:flex;align-items:flex-end}.page-hero:after{content:"";position:absolute;width:42vw;height:42vw;border:1px solid rgba(184,138,90,.25);border-radius:50%;right:-8vw;top:100px}.page-hero>div{position:relative;z-index:1}.page-number{font-size:11px;color:#b88a5a;letter-spacing:.24em}.page-hero h1{font-size:clamp(58px,8vw,112px);font-weight:300;line-height:.91;letter-spacing:-.06em;margin:28px 0}.page-hero p{font-size:18px;line-height:1.65;color:#bbb;max-width:690px}.page-body{padding:110px 8.5vw}.statement{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-bottom:90px}.statement h2,.next-page h2{font-size:clamp(38px,4.5vw,66px);line-height:1.04;letter-spacing:-.045em;font-weight:400;margin:0}.statement p{font-size:18px;line-height:1.75;color:#555;margin:0}.capabilities{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #cfc8be;border-left:1px solid #cfc8be}.capability{padding:34px;border-right:1px solid #cfc8be;border-bottom:1px solid #cfc8be;min-height:180px}.capability span{font-size:10px;letter-spacing:.2em;color:#997049}.capability h3{font-size:24px;font-weight:400;margin:18px 0 10px}.capability p{font-size:15px;line-height:1.6;color:#666;margin:0}.next-page{background:#111;color:#fff;padding:85px 8.5vw;display:flex;justify-content:space-between;align-items:end;gap:40px}.next-page a{color:#b88a5a;border-bottom:1px solid #b88a5a;padding-bottom:8px}.route-nav{position:sticky;bottom:0;z-index:8;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:16px 5.5vw;background:rgba(8,8,8,.94);backdrop-filter:blur(14px);color:#fff;border-top:1px solid #333}.route-nav a{font-size:12px;line-height:1.35;color:#bbb;transition:.2s}.route-nav a:hover{color:#b88a5a}.route-nav .route-home{color:#b88a5a;text-align:center;letter-spacing:.13em;font-size:10px}.route-nav .route-next{text-align:right}.sub-contact{padding:120px 8.5vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.sub-contact .contact-intro{position:static}@media(max-width:800px){.page-hero{min-height:560px;padding:150px 22px 70px}.page-hero h1{font-size:58px}.page-body{padding:80px 22px}.statement{grid-template-columns:1fr;gap:30px}.capabilities{grid-template-columns:1fr}.next-page{padding:65px 22px;align-items:flex-start;flex-direction:column}.route-nav{padding:14px 16px;gap:10px}.route-nav a{font-size:10px}.route-nav .route-home{font-size:9px}.sub-contact{padding:80px 22px;grid-template-columns:1fr}}
.contact{padding:115px 8.5vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:start}.contact-intro{position:sticky;top:40px}.contact-intro>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#606060;max-width:520px;margin:30px 0 42px}.contact-note{display:flex;gap:18px;padding:19px 0;border-top:1px solid #d2ccc2;max-width:520px}.contact-note>span{color:#997049;font-size:11px;padding-top:3px}.contact-note p{margin:0;color:#666;font-size:13px;line-height:1.5}.contact-note b{color:#111;font-size:15px}.project-form{background:#e8e4dc;padding:38px 42px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px 24px}.project-form label{display:flex;flex-direction:column;gap:10px}.project-form label>span{font-size:11px;letter-spacing:.12em;font-weight:bold;color:#4d4a45}.project-form .wide{grid-column:1/-1}.project-form input,.project-form select,.project-form textarea{width:100%;border:0;border-bottom:1px solid #aaa49b;background:transparent;border-radius:0;padding:9px 0 13px;color:#111;font:16px Helvetica,Arial,sans-serif;outline:none}.project-form textarea{resize:vertical;line-height:1.5}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:#997049}.project-form input::placeholder,.project-form textarea::placeholder{color:#8b8781}.project-form .consent{flex-direction:row;align-items:flex-start;gap:12px;margin:27px 0}.consent input{width:17px;height:17px;accent-color:#111;margin:0}.consent span{font-size:13px!important;letter-spacing:0!important;font-weight:400!important;line-height:1.45}.form-action{display:flex;align-items:center;gap:20px}.dark-btn{background:#111;color:#fff;min-width:190px;border:0;cursor:pointer}.dark-btn:hover{background:#997049}.required{font-size:11px;color:#777}.form-status{font-size:14px;line-height:1.5;margin-top:18px;min-height:20px}.form-status.success{color:#3e6041}.form-status.error{color:#9c3e36}.project-form .invalid{border-color:#9c3e36}@media(max-width:950px){.contact{grid-template-columns:1fr;gap:50px}.contact-intro{position:static}}@media(max-width:800px){.contact{padding:80px 22px}.project-form{padding:28px 20px}.form-grid{grid-template-columns:1fr;gap:24px}.project-form .wide{grid-column:auto}.form-action{align-items:flex-start;flex-direction:column}.dark-btn{width:100%}}
/* Persistent primary menu and expertise submenu */
.expertise-menu{position:relative;height:88px;display:flex;align-items:center}.expertise-toggle{border:0;background:none;color:#fff;font:inherit;padding:0;cursor:pointer}.expertise-toggle i{display:inline-block;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 0 3px 7px;transition:.2s}.expertise-toggle.active{color:#b88a5a}.expertise-panel{position:absolute;visibility:hidden;opacity:0;transform:translateY(-7px);transition:.2s;top:76px;left:-28px;width:310px;background:#111;border-top:2px solid #b88a5a;padding:12px;box-shadow:0 18px 45px rgba(0,0,0,.35)}.expertise-panel a{display:flex!important;gap:16px;padding:15px 14px;border-bottom:1px solid #292929;color:#ddd!important;font-size:14px!important}.expertise-panel a:last-child{border-bottom:0}.expertise-panel a span{color:#b88a5a;font-size:10px;letter-spacing:.12em;padding-top:3px}.expertise-panel a:hover,.expertise-panel a.active{background:#1c1c1c;color:#fff!important}.expertise-menu:hover .expertise-panel,.expertise-menu:focus-within .expertise-panel,.expertise-menu.expanded .expertise-panel{visibility:visible;opacity:1;transform:none}.expertise-menu.expanded .expertise-toggle i{transform:rotate(225deg);margin-bottom:-1px}@media(max-width:1050px) and (min-width:801px){.nav nav{gap:20px}.brand{width:130px}}@media(max-width:800px){.nav nav{max-height:calc(100vh - 74px);overflow-y:auto;gap:0;padding:14px 22px 28px}.nav nav>a,.expertise-toggle,.lang{width:100%;padding:17px 0;border-bottom:1px solid #292929;text-align:left;font-size:15px}.expertise-menu{display:block;height:auto;width:100%}.expertise-toggle{display:flex;justify-content:space-between;align-items:center}.expertise-panel{position:static;width:100%;display:none;visibility:visible;opacity:1;transform:none;box-shadow:none;border-top:0;padding:0 0 6px 14px;background:#111}.expertise-menu.expanded .expertise-panel{display:block}.expertise-panel a{padding:14px 10px!important}.lang{border-left:0;padding-left:0!important;margin-top:8px}.nav.open{background:#080808}}
/* Header separation and subtle motion */
.nav{background:#080808;height:88px}.nav .brand{width:112px}.nav .brand span{font-size:7px;letter-spacing:.26em}main{padding-top:88px}.hero{height:calc(100svh - 88px)}section[id]{scroll-margin-top:88px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}.motion-image{transform:scale(1.035);filter:saturate(.92);transition:transform 1.5s cubic-bezier(.2,.7,.2,1),filter 1.2s ease}.motion-image.is-visible{transform:scale(1);filter:saturate(1)}.service.reveal{transform:translateY(10px)}.service.reveal.is-visible{transform:none}@media(max-width:800px){.nav .brand{width:98px}main{padding-top:74px}.hero{height:calc(100svh - 74px)}section[id]{scroll-margin-top:74px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.motion-image{opacity:1!important;transform:none!important;transition:none!important}}
/* Logo protection zone: no text, rule or image may enter this clear space */
.nav{height:122px}.nav .brand{width:84px;padding:14px 12px;box-sizing:content-box;flex:0 0 auto}.nav .brand img{display:block}.nav .brand span{font-size:7px;line-height:1;letter-spacing:.22em;margin-top:6px;white-space:nowrap}main{padding-top:122px}.hero{height:calc(100svh - 122px)}section[id]{scroll-margin-top:122px}.expertise-menu{height:122px}.expertise-panel{top:110px}@media(max-width:800px){.nav{height:96px;padding-left:18px;padding-right:18px}.nav .brand{width:64px;padding:10px 9px}.nav .brand span{font-size:6px;margin-top:4px;letter-spacing:.18em}main{padding-top:96px}.hero{height:calc(100svh - 96px)}section[id]{scroll-margin-top:96px}.nav nav{top:96px;max-height:calc(100vh - 96px)}.expertise-menu{height:auto}}
.foot{width:100px;padding:18px 14px;box-sizing:content-box}.foot img{display:block}.foot span{white-space:nowrap}@media(max-width:800px){.foot{width:84px;padding:14px 10px}}
/* Approved combined SOLOGAL Électromécanique logo asset */
.brand img{filter:none}.brand>span{display:none}.nav .brand{width:76px}.foot{width:82px}@media(max-width:800px){.nav .brand{width:56px}.foot{width:68px}}
.contact-details{display:grid;gap:0;max-width:520px;border-top:1px solid #d2ccc2}.contact-detail{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid #d2ccc2}.contact-detail span{font-size:10px;letter-spacing:.14em;font-weight:700;color:#777;text-transform:uppercase}.contact-detail p,.contact-detail address{margin:0;color:#111;font-size:15px;line-height:1.45;font-style:normal}.contact-detail a{color:inherit;text-decoration:none}.contact-detail a:hover{color:#997049}footer a{color:inherit;text-decoration:none}footer a:hover{color:#b98c6f}@media(max-width:520px){.contact-detail{grid-template-columns:1fr;gap:6px}}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.dark-btn:disabled{cursor:wait;opacity:.65}.nav a:focus-visible,.nav button:focus-visible,.service:focus-visible,.primary:focus-visible,.text-link:focus-visible,.next-page a:focus-visible,.route-nav a:focus-visible,footer a:focus-visible{outline:3px solid #d6a46f;outline-offset:4px}.project-form input:focus-visible,.project-form select:focus-visible,.project-form textarea:focus-visible,.project-form button:focus-visible{outline:3px solid #997049;outline-offset:4px}.menu{color:#fff}.menu:focus-visible{outline:3px solid #d6a46f;outline-offset:5px}
