/* Shared identity and controls for the four customer previews. */
.ui-icon{display:block;width:20px;height:20px;flex:0 0 20px;vertical-align:middle;pointer-events:none;transition:transform .24s var(--ease)}
.preview-bar{background:#f6f7f3;color:#5b665e;min-height:62px;padding:8px max(32px,calc((100vw - 1640px)/2));gap:24px;border-bottom:1px solid #e3e7df}
.uprate-brand{display:flex;align-items:center;flex:0 0 auto;min-height:44px;letter-spacing:0}
.uprate-logo{display:block;width:94px;height:auto;overflow:hidden}
.preview-bar>span{padding-left:24px;border-left:1px solid #d9ded4;font-size:10px;line-height:1.5;letter-spacing:.015em}
.preview-bar .preview-info{color:#48564b;min-height:44px;padding:0 12px;gap:9px;border-radius:7px;font-size:11px;transition:background .2s}
.preview-info:hover{background:#e9eee5}
.preview-info .ui-icon{width:18px;height:18px;flex-basis:18px}
.site-header{background:#fffefa;color:#243129;min-height:106px;padding:20px max(56px,calc((100vw - 1640px)/2));gap:30px;border-bottom:1px solid #e7e9e1}
.site-header .client-brand{background:transparent;padding:0;border-radius:0}
.site-header nav{gap:12px;font-size:12px;font-weight:500;letter-spacing:.005em}
.site-header nav>a{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border-radius:8px;transition:background .2s,color .2s,box-shadow .2s}
.site-header nav>a:not(.nav-contact)::after{display:none}
.site-header nav>a:not(.nav-contact):hover{background:#eff1e9;color:#172b20}
.site-header nav>.nav-contact{gap:22px;margin-left:12px;padding:0 21px;min-height:48px;background:#253c2e;color:#fffefa;border:1px solid #253c2e;box-shadow:0 2px 3px #132c1310}
.site-header nav>.nav-contact:hover{background:#36513e;box-shadow:0 4px 12px #132c131b}
.nav-contact:hover>.ui-icon,.button:hover>.ui-icon,.text-link:hover>.ui-icon,.service-card a:hover>.ui-icon{transform:translateX(3px)}
.button{border-radius:8px;min-height:56px;padding:17px 24px;gap:28px;letter-spacing:.01em;box-shadow:0 2px 3px #07140e0d;transition:background .2s,box-shadow .2s}
.button:hover{transform:none;box-shadow:0 6px 18px #07140e1c}
.hero .primary,.career .hero .primary{background:#f3f0e6;color:#253a2e;border-color:#f3f0e6}
.hero .primary:hover{background:#fffefa;border-color:#fffefa}
.hero-secondary{min-height:48px;align-items:center;gap:12px;padding:10px 0;border-color:#ffffff70;line-height:1.3}
.hero-secondary:hover>.ui-icon{transform:translateY(3px)}
.circle-link{width:50px;height:50px;border-color:#72857b;border-radius:50%;background:#ffffff03;transition:background .2s,border-color .2s}
.circle-link:hover{transform:none;background:#31493d;border-color:#9ab7a4;color:#fff}
.circle-link:hover>.ui-icon{transform:translateX(3px)}
.circle-link .ui-icon{width:22px;height:22px;flex-basis:22px}
.scene-option>.ui-icon{margin-left:auto}
.drag-hint{display:inline-flex;gap:9px;align-items:center}
.drag-hint .ui-icon{width:19px;height:19px;flex-basis:19px}
.scene-bottom button{min-height:44px;border-radius:7px;align-items:center;gap:12px}
.scene-bottom button .ui-icon{width:17px;height:17px;flex-basis:17px}
.motion-toggle{width:44px;height:44px;flex-shrink:0;background:#10281b33}
.motion-toggle .ui-icon{width:17px;height:17px;flex-basis:17px}
.job-info summary{align-items:center;min-height:44px;gap:18px}
.job-info summary .ui-icon,.faqs summary .ui-icon{width:18px;height:18px;flex-basis:18px;transition:transform .2s}
details[open]>summary>.ui-icon{transform:rotate(45deg)}
.form-choices>label>span{border-radius:6px;gap:14px}
.form-choices .ui-icon{width:18px;height:18px;flex-basis:18px;color:#6d7b68}
.back{display:inline-flex;align-items:center;gap:7px;min-height:44px}
.back .ui-icon{width:17px;height:17px;flex-basis:17px}
.dialog-close{display:grid;place-items:center;min-width:44px;min-height:44px;top:8px;right:8px;border-radius:50%}
.dialog-close:hover{background:#7887731a}
.site-footer button{min-height:44px}
@media(min-width:2000px){
 .preview-bar{padding-inline:max(80px,calc((100vw - 2000px)/2));min-height:72px}
 .uprate-logo{width:112px}.preview-bar>span,.preview-bar .preview-info{font-size:12px}
 .site-header{padding-inline:max(80px,calc((100vw - 2000px)/2));min-height:124px}
 .site-header nav{font-size:15px;gap:20px}.site-header nav>.nav-contact{min-height:56px;padding-inline:25px}
 .hero .button{font-size:16px;min-height:68px;padding:22px 30px;gap:38px}
}
@media(max-width:1100px){
 .preview-bar{padding-inline:32px}.site-header{padding-inline:32px}
 .site-header nav{gap:3px}.site-header nav>a{padding-inline:13px}.site-header nav>.nav-contact{margin-left:5px;gap:15px}
}
@media(max-width:760px){
 .preview-bar{min-height:62px;padding:6px 20px;gap:14px}
 .uprate-logo{width:76px}
 .preview-bar>span{padding-left:14px;font-size:8px;line-height:1.45;max-width:none;min-width:0}
 .preview-bar .preview-info{padding:0;min-width:44px;width:44px;height:44px;justify-content:center;gap:0;margin:0 -8px 0 0;flex-shrink:0;border-radius:50%}
 .preview-info>span{display:none}.preview-info .ui-icon{width:19px;height:19px;flex-basis:19px}
 .site-header{min-height:94px;padding:17px 21px;gap:14px}
 .site-header .client-brand img{max-width:125px;max-height:44px}
 .site-header .client-brand{min-width:0;flex-shrink:1}
 .hemmer .site-header .client-brand img{max-height:60px}
 .rudolph .site-header .client-brand img{max-width:146px}
 .het .site-header .client-brand img{width:125px}
 .site-header nav{flex-shrink:0;gap:0}
 .site-header nav>a:not(.nav-contact){display:none}
 .site-header nav>.nav-contact{font-size:10px;min-height:46px;margin:0;padding:0 13px;gap:12px;border-radius:7px;white-space:nowrap}
 .nav-contact>.ui-icon{width:17px;height:17px;flex-basis:17px}
 .hero .button{min-height:54px;padding:16px 20px;font-size:12px;gap:26px}
 .hero-secondary{min-height:44px;font-size:11px;padding:9px 0;gap:13px}
 .hero-actions{gap:12px}
 .circle-link{width:44px;height:44px;margin-top:21px}
 .motion-toggle{width:40px;height:40px}
 .hero-bottom{gap:10px}
 .hero-bottom .image-note{max-width:140px}
 .scene-option>.ui-icon{display:none}
 .scene-bottom button{min-height:44px;gap:10px}
}
@media(max-width:374px){
 .preview-bar{padding-inline:16px;gap:10px}.preview-bar>span{padding-left:10px}
 .site-header{padding-inline:16px;gap:10px}.rudolph .site-header .client-brand img{max-width:126px}
 .site-header nav>.nav-contact{padding-inline:11px;gap:8px;font-size:9px}
}

/* Original light wordmarks keep their original pixels on a dark carrier. */
.restle .client-brand,.stoll .client-brand,.nagel .client-brand,.schairer .client-brand{background:#25372e;padding:10px 15px;border-radius:4px}
.site-header .text-brand{color:#263b30;font-size:clamp(19px,2.1vw,28px);line-height:1.1;letter-spacing:-.7px;max-width:250px}
.logo-label{font-size:22px;font-weight:700;color:#263b30;margin-left:13px;white-space:nowrap}.mayer .client-brand img{max-width:62px}.mayer .site-footer .logo-label{color:inherit}
@media(max-width:760px){.site-header .text-brand{max-width:145px;font-size:20px}.logo-label{font-size:15px;margin-left:7px}.mayer .client-brand img{max-width:38px}.restle .site-header .client-brand,.stoll .site-header .client-brand,.nagel .site-header .client-brand,.schairer .site-header .client-brand{padding:7px 10px}}

.werner .client-brand{background:#25372e;padding:10px 15px;border-radius:4px}.client-logo-view{display:block;height:64px;width:63px}.stoll .logo-label{color:#fff}.stoll .client-brand img{max-width:64px}.stoll .client-brand{gap:5px}@media(max-width:760px){.client-logo-view{height:53px;width:52px}.werner .site-header .client-brand{padding:7px 10px}.stoll .site-header .client-brand img{max-width:45px}}

.job-info,.intro-grid>*{min-width:0}.job-info h3{hyphens:auto;overflow-wrap:anywhere}

/* Preserve original logo colors and give each new mark a readable carrier. */
.logo-on-dark .site-header .client-brand,.logo-on-dark .site-footer .client-brand{background:#25372e;padding:10px 15px;border-radius:4px}
.logo-on-light .site-footer .client-brand{background:#fffefa;padding:10px 15px;border-radius:4px}
.site-footer .text-brand{color:#263b30}
.logo-on-light .client-brand img[src$=".svg"],.logo-on-dark .client-brand img[src$=".svg"]{width:190px;height:54px;object-position:left center}
@media(max-width:760px){.logo-on-light .client-brand img[src$=".svg"],.logo-on-dark .client-brand img[src$=".svg"]{width:125px;height:44px}}
@media(max-width:760px){.logo-on-dark .site-header .client-brand{padding:7px 10px}}
