:root{--brand:#b51d34;--gold:#c8a854}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font:16px/1.65 Arial,sans-serif;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.06;font-weight:500;letter-spacing:-.04em}h1{font-size:clamp(48px,6.7vw,100px)}h2{font-size:clamp(36px,4.3vw,66px)}h3{font-size:25px}em{font-style:normal;color:var(--brand)}p{max-width:68ch}p+p{margin-top:18px}.wrap{max-width:1360px;padding:100px 6%;margin:auto}.kicker{font-size:10px;font-weight:700;letter-spacing:.18em;line-height:1.7;text-transform:uppercase;margin-bottom:24px}.brand{display:flex;align-items:center;gap:13px}.brand img{width:54px;height:54px;flex:none}.brand span{max-width:230px;font-weight:700;line-height:1.2;font-size:17px;letter-spacing:-.02em}nav{display:flex;gap:25px;font-size:12px}nav a{padding:8px 0}.call{font-size:18px;font-weight:700;white-space:nowrap;display:inline-flex;gap:15px;align-items:center}.call span{font-size:22px}.cta,.submit{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 24px;background:var(--brand);color:white;border:1px solid var(--brand);font-size:13px;font-weight:700}.cta{margin-top:28px}.cta:hover,.submit:hover{filter:brightness(.92)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}main{overflow:hidden}.slider{position:relative;overflow:hidden;min-width:0;isolation:isolate}.slides{position:absolute;inset:0}.slides img{position:absolute;inset:0;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease,transform 6s ease;transform:scale(1.035)}.slides img:first-child{opacity:1}.slides img.active{opacity:1;transform:scale(1)}.slides img.inactive{opacity:0}.slide-controls{position:absolute;z-index:4;bottom:24px;right:24px;display:flex;align-items:center;gap:15px;color:#fff;font-size:11px;padding:7px 10px;background:#17212677;backdrop-filter:blur(10px)}.slide-controls button{width:31px;height:31px;border:1px solid #ffffff70;border-radius:50%;background:transparent;color:inherit;display:grid;place-items:center}.detail-photo{overflow:hidden}.detail-photo img{height:100%;object-fit:cover}.detail-photo figcaption{font-size:10px;line-height:1.6;letter-spacing:.03em;padding-top:12px}.service-n{font-size:11px;letter-spacing:.1em;display:block}.service p{font-size:14px;line-height:1.8}.service h3{margin:14px 0}ul,ol{margin:0;padding:0;list-style:none}details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;font-weight:700;margin-bottom:18px;line-height:1.5}input,textarea,select{display:block;width:100%;border:1px solid #c9cec9;border-radius:0;padding:13px;margin-top:7px;background:#ffffffd9;color:#202c2b;font-size:15px}input:focus,textarea:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px}.consent{display:flex;gap:10px;align-items:start;font-size:10px;font-weight:400}.consent input{width:16px;flex:none;margin:0;accent-color:var(--brand)}.submit{width:100%;cursor:pointer}.submit:disabled{opacity:.65;cursor:wait}.form-note,#formStatus,.email-fallback{font-size:11px;line-height:1.6;margin-top:15px;overflow-wrap:anywhere}.form-note a,.email-fallback{text-decoration:underline}.email-fallback{display:block;font-weight:700}.email-fallback[hidden],.honey,[hidden]{display:none!important}footer{padding:35px 6%;display:flex;gap:25px;align-items:center;flex-wrap:wrap;border-top:1px solid #7f85792b;font-size:13px}footer>div{font-weight:700;flex:1;min-width:200px}footer small{display:block;font-size:9px;font-weight:400;margin-top:8px}.privacy{background:none;border:0;font-size:10px;text-decoration:underline;color:inherit}dialog{border:0;max-width:600px;width:92%;padding:45px;color:#24312a;background:#fff}dialog::backdrop{background:#14221a90}dialog h2{font-size:34px;margin-bottom:24px}dialog p{font-size:14px}.dialog-close{position:absolute;top:8px;right:15px;border:0;background:transparent;font-size:28px}.mobile-call{display:none}.reveal{transition:opacity .7s,transform .7s}.js-reveal{opacity:0;transform:translateY(20px)}.js-reveal.visible{opacity:1;transform:none}@media(max-width:760px){html{scroll-padding-top:90px}h1{font-size:50px}h2{font-size:39px}.wrap{padding:65px 22px}.brand img{width:40px;height:40px}.brand span{font-size:12px;max-width:160px}nav{gap:14px;font-size:10px;flex-wrap:wrap}.call{font-size:15px;gap:8px}.fields{grid-template-columns:1fr;gap:0}.mobile-call{display:block;position:fixed;z-index:50;bottom:12px;left:16px;right:16px;padding:13px;background:var(--brand);color:white;text-align:center;border:1px solid #ffffff70;border-radius:6px;box-shadow:0 6px 25px #0003;font-size:14px;font-weight:700}footer{padding:28px 22px 100px;align-items:flex-start}.slide-controls{bottom:15px;right:15px}form{min-width:0}.cta{gap:20px;padding:15px 19px}.slider{min-height:330px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js-reveal{opacity:1;transform:none}}
body{--paper:#fff;--ink:#252525}.c-header{display:grid;grid-template-columns:1.3fr 1fr auto;gap:30px;padding:25px 5%;border-bottom:1px solid #252525}.c-header>div>span{display:block;font-size:8px;letter-spacing:.16em;margin-top:15px}.c-header nav{flex-direction:column;gap:0;align-self:center;font-size:11px}.c-header>.call{align-self:center;background:#b51d34;padding:17px 20px;color:white;font-size:17px}.c-hero{padding:60px 5% 0;position:relative}.c-hero>div:first-child{display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:30px}.c-hero .kicker{grid-column:1/-1;margin-bottom:0}.c-hero h1{font-size:clamp(60px,7vw,110px);font-weight:700;letter-spacing:-.065em;grid-row:2/4}.c-hero h1 span{color:#b51d34}.c-hero>div>p:not(.kicker){font-size:14px;line-height:1.9;grid-column:2}.c-hero .cta{grid-column:2;justify-self:start;margin-top:0}.c-hero .slider{height:570px;margin-top:55px}.c-hero .slides img{object-position:center 55%}.c-index{display:flex!important;justify-content:space-between;border-bottom:1px solid;padding:15px 0;font-size:10px;letter-spacing:.12em}.c-label{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.c-label h2{font-size:50px;white-space:nowrap}.c-label p{font-size:14px;max-width:400px}.c-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #ddd;border-top:1px solid #ddd}.c-grid .service{padding:28px 23px;border-right:1px solid #ddd;border-bottom:1px solid #ddd}.c-grid .service-n{color:#b51d34;font-size:30px;font-weight:700}.c-grid h3{font-size:23px;margin-top:45px}.c-feature{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center;background:#f2f2ef}.large-code{font-size:11px;letter-spacing:.14em;border:1px solid #aaa;padding:8px;display:inline-block;margin-bottom:40px}.c-feature h2{font-weight:700}.c-feature p{font-size:15px;margin:25px 0}.c-feature .call{font-size:13px}.c-feature figure img{height:500px}.c-directory{display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.c-location{background:#b51d34;padding:40px;color:white;display:flex;flex-direction:column;justify-content:space-between;min-height:370px}.c-location>p{font-size:10px;letter-spacing:.16em}.c-location h2{font-size:45px;font-weight:700}.search{font-size:10px}.search input{background:transparent;border:0;border-bottom:2px solid #252525;padding:14px 0;font-size:21px}.search-towns{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.search-towns li{border-bottom:1px solid #ddd;padding:13px 0;font-size:13px}.c-contact{border-top:1px solid #252525;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.c-contact h2{font-size:47px;font-weight:700}.c-contact .call{margin-top:35px;color:#b51d34;font-size:26px}.c-contact form{border-top:5px solid #b51d34;padding-top:30px}footer{background:#252525;color:white}@media(max-width:1000px){.c-header{grid-template-columns:1fr auto}.c-header nav{display:none}.c-grid{grid-template-columns:1fr 1fr}.c-hero h1{font-size:75px}.c-hero .slider{height:470px}.c-label{display:block}.c-label p{margin-top:25px}.c-directory{gap:30px}}@media(max-width:760px){.c-header{padding:20px;gap:15px}.c-header>div>span{font-size:6px}.c-header>.call{font-size:13px;padding:10px}.c-hero{padding:35px 22px 0}.c-hero>div:first-child{display:block}.c-hero h1{font-size:57px;margin:20px 0}.c-hero>div>p:not(.kicker){margin:20px 0}.c-hero .cta{margin-top:5px}.c-hero .slider{height:340px;margin-top:35px}.c-index{font-size:7px!important;gap:15px!important}.c-label h2{font-size:35px;white-space:normal}.c-grid .service{padding:22px 16px}.c-grid h3{font-size:21px;margin-top:25px}.c-feature,.c-directory,.c-contact{grid-template-columns:1fr;gap:35px}.c-feature figure img{height:340px}.c-location{min-height:260px;padding:30px}.c-contact h2{font-size:39px}.c-contact .call{font-size:24px}}
.slides img{transition:none;transform:none}.slides img.previous{opacity:1;z-index:1}.slides img.active{z-index:2}.slides img.inactive:not(.previous){opacity:0}
/* Chavornay: vertical architectural wipe and measurable line progress. */
.slides img.active{animation:cWipe 1.1s cubic-bezier(.8,0,.2,1) both}@keyframes cWipe{from{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}.slider:after{content:'';position:absolute;z-index:3;left:0;top:0;height:5px;background:var(--brand);animation:cMeasure 4s linear infinite;width:100%;transform-origin:left}@keyframes cMeasure{from{transform:scaleX(0)}to{transform:scaleX(1)}}.slider.paused:after{animation-play-state:paused}.c-hero h1{animation:cBuild .9s steps(7,end) both}@keyframes cBuild{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.c-grid .service{transition:background .3s,color .3s}.c-grid .service:hover{background:var(--brand);color:white}.c-grid .service:hover .service-n{color:var(--gold)}.motion-target{opacity:.2;transform:scaleX(.93);transform-origin:left;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .7s}.motion-target.seen{opacity:1;transform:scaleX(1)}.cta:hover{outline:3px solid var(--gold);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.slides img.active{animation:none!important;clip-path:none!important;opacity:1!important;transform:none!important;filter:none!important}.motion-target{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}.slider:after{animation:none!important}.motion-target{transition:none!important}}footer{border-top:7px solid var(--brand);font-family:Arial}
@media(max-width:760px){.c-header nav{display:flex;grid-column:1/-1;flex-direction:row;justify-content:space-between;font-size:9px}}
