@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#181a19;--muted:#5a615e;--orange:#ef671f;--teal:#009e9b;--border:#e0e4e0;--paper:#f5f7f5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:white;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.header{background:#fff;border-bottom:1px solid var(--border)}.nav{height:106px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{width:99px;height:72px;object-fit:contain}.nav nav{display:flex;gap:32px;font-size:14px;font-weight:600}.nav nav a:hover,.text-link:hover{color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;padding:16px 24px;font-weight:700;font-size:14px;border:0;cursor:pointer;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:#3a3e3b;transform:translateY(-2px)}.button.small{padding:12px 22px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:60px;align-items:center;padding-top:64px;padding-bottom:64px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;margin:0 0 25px}.eyebrow span{width:20px;height:3px;display:inline-block;background:var(--orange);vertical-align:middle;margin-right:8px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,4.65vw,66px);line-height:1.12;letter-spacing:-.055em;margin-bottom:28px;font-weight:800}em{font-style:normal;color:var(--orange)}.intro{font-size:17px;max-width:470px;color:var(--muted);margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:26px}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid var(--ink);padding:8px 0}.hero-note{display:flex;align-items:center;gap:16px;margin-top:44px}.hero-note .line{height:36px;width:3px;background:var(--teal)}.hero-note p{margin:0;font-size:13px;color:var(--muted)}.hero-note strong{color:var(--ink)}.hero-visual{margin:0;position:relative;min-width:0;background:var(--paper)}.hero-visual img{display:block;width:100%;height:480px;object-fit:cover}.hero-visual figcaption{background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:20px 24px}.hero-visual figcaption span{font-size:10px;letter-spacing:.12em}.hero-visual figcaption strong{font-size:16px}.caption-end{color:#b9c2bd}.ribbon{background:var(--ink);color:#fff}.ribbon .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:21px 0;font-size:13px;font-weight:700;letter-spacing:.17em}.ribbon i{width:6px;height:6px;background:var(--orange);border-radius:50%;flex-shrink:0}.section{padding-top:96px;padding-bottom:96px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:42px}h2{font-size:clamp(31px,3.4vw,45px);line-height:1.18;letter-spacing:-.04em;font-weight:800;margin-bottom:0}.section-heading>p{max-width:365px;margin:0;color:var(--muted);font-size:16px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{border:1px solid var(--border);padding:32px;position:relative;overflow:hidden}.number{display:block;font-size:13px;color:var(--muted);margin-bottom:38px;font-weight:700}.service h3{font-size:25px;line-height:1.3;letter-spacing:-.03em;margin-bottom:20px}.service p{color:var(--muted);font-size:15px;margin-bottom:26px}.service.primary{background:var(--paper);border-color:var(--paper)}.service a{display:inline-block;border-bottom:1px solid;font-size:14px;font-weight:700;margin-bottom:12px}.service-tag{font-size:12px;letter-spacing:.02em;color:var(--muted)}.color-bars{display:flex;height:6px;position:absolute;bottom:0;left:0;right:0}.color-bars span{flex:1;background:var(--orange)}.color-bars span:nth-child(2){background:var(--teal)}.color-bars span:nth-child(3){background:#1c3230}.color-bars span:nth-child(4){background:#bd1e2b}.applications{background:var(--paper);padding:72px 0}.application-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.application-layout h2{margin-bottom:24px}.application-layout>div>p:last-child{max-width:435px;color:var(--muted);margin-bottom:0}.application-list>div{display:grid;grid-template-columns:35px 1fr;align-items:center;border-bottom:1px solid #d6dcd6;padding:21px 0}.application-list>div:first-child{padding-top:0}.application-list span{font-size:12px;color:var(--teal);font-weight:800}.application-list h3{font-size:25px;margin:0;letter-spacing:-.03em}.application-list p{grid-column:2;margin:3px 0 0;color:var(--muted);font-size:14px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.steps article{border-top:1px solid var(--border);padding-top:26px}.steps span{font-size:13px;font-weight:800;color:var(--orange)}.steps h3{font-size:19px;margin:23px 0 12px;letter-spacing:-.02em}.steps p{font-size:15px;color:var(--muted);margin:0}.quote-section{background:var(--ink);color:white;padding:80px 0}.quote-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.quote-layout .eyebrow{color:#aeb9b3}.quote-layout h2{font-size:clamp(35px,4vw,53px);margin-bottom:27px}.quote-layout>div>p:not(.eyebrow){color:#b9c2bd;max-width:355px}.phone{display:block;font-size:27px;font-weight:700;margin-top:36px;letter-spacing:-.02em}.location{color:#b9c2bd;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.form-grid label{font-size:13px;color:#dbe1dd;font-weight:600;display:flex;flex-direction:column;gap:8px}.form-grid .wide{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #555b57;background:#262a27;color:white;padding:12px 14px;border-radius:3px;font-size:15px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);outline-offset:1px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#a6aea8}form>.button{margin-top:22px;background:var(--orange);color:#121512;width:100%}form>.button:hover{background:#ff8540}.form-note{color:#b9c2bd;font-size:12px;margin:15px 0 0}#quote-result{border:1px solid #555b57;padding:18px;margin-top:20px;font-size:14px}#quote-result p{margin-bottom:12px}#quote-result .button{background:var(--teal)}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq details{border-bottom:1px solid var(--border);padding:22px 0}.faq details:first-child{padding-top:0}.faq summary{font-weight:700;cursor:pointer;list-style:none;position:relative;padding-right:35px;font-size:16px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:0;top:-2px;color:var(--orange);font-size:24px;font-weight:400}.faq details[open] summary::after{content:'−'}.faq p{margin:14px 35px 0 0;color:var(--muted);font-size:15px}.contact{border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:42px;padding-bottom:42px}.contact .eyebrow{margin-bottom:10px}.contact h2{font-size:31px}.contact-actions{display:flex;align-items:center;gap:25px;font-size:15px;font-weight:700}.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:32px;padding-bottom:32px}.footer img{object-fit:contain;display:block}.footer p,.footer>span{font-size:12px;color:var(--muted);margin:0}.skip{position:absolute;left:10px;top:-100px;z-index:5;background:white;padding:15px}.skip:focus{top:10px}@media(min-width:1600px){.hero{padding-top:80px;padding-bottom:80px}.hero-visual img{height:540px}}@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.nav nav{gap:18px;font-size:13px}.hero{gap:30px}.hero-visual img{height:430px}.hero-actions{gap:16px;flex-wrap:wrap}.hero-note{margin-top:28px}.service{padding:25px}.application-layout,.quote-layout{gap:50px}.steps{gap:20px}.contact-actions{flex-direction:column;gap:10px}.hero-visual figcaption{padding:16px}.caption-end{display:none}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav{height:90px;gap:16px}.logo{width:80px;height:60px}.menu-toggle{display:block;background:none;border:1px solid var(--border);border-radius:3px;font-size:20px;padding:5px 12px;margin-left:auto;cursor:pointer}.nav nav{display:none;position:absolute;left:0;right:0;top:90px;z-index:4;background:white;padding:22px;border-bottom:1px solid var(--border);flex-direction:column;gap:20px;font-size:15px}.nav nav.open{display:flex}.button.small{padding:10px 16px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;gap:32px}h1{font-size:49px}.intro{font-size:16px}.hero-note{margin-top:26px}.hero-visual img{height:330px}.hero-visual figcaption{padding:18px}.hero-actions{gap:22px}.eyebrow{font-size:11px;margin-bottom:20px}.ribbon .wrap{gap:12px;flex-wrap:wrap;justify-content:center;font-size:10px;letter-spacing:.1em;padding:18px 0}.ribbon i{width:4px;height:4px}.ribbon i:nth-of-type(3),.ribbon span:last-child{display:none}.section{padding-top:60px;padding-bottom:60px}.section-heading{flex-direction:column;align-items:start;gap:22px;margin-bottom:30px}.section-heading>p{max-width:100%}.services{grid-template-columns:1fr}.service{padding:28px}.number{margin-bottom:23px}.service h3 br{display:none}.service p{max-width:100%}.application-layout,.quote-layout,.faq-section{grid-template-columns:1fr;gap:35px}.applications{padding:50px 0}.steps{grid-template-columns:1fr 1fr;gap:30px 20px}.steps h3{font-size:17px;margin-top:15px}.steps p{font-size:14px}.quote-section{padding:55px 0}.quote-layout h2{font-size:40px}.phone{margin-top:24px}.form-grid{gap:16px}.form-grid label{font-size:12px}.faq-section{gap:30px}.contact{flex-direction:column;align-items:start;padding-top:35px;padding-bottom:35px}.contact h2{font-size:27px}.contact-actions{align-items:start}.footer{flex-wrap:wrap;gap:20px}.footer>span{width:100%;border-top:1px solid var(--border);padding-top:18px}}@media(max-width:390px){h1{font-size:41px}.form-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.hero-actions{align-items:start;flex-direction:column}.hero-visual img{height:280px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.quote-layout .location{display:block;margin-top:6px;line-height:1.7}.location-map{margin-top:24px;max-width:440px}.location-map iframe{display:block;width:100%;height:230px;border:0;border-radius:4px;background:#e5e9e5}.map-directions,.map-place{display:inline-block;margin-top:14px;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.map-directions{color:#ff9154;margin-right:20px}.map-place{color:#dbe1dd}.map-directions:hover,.map-place:hover{color:white}
/* Rounded brand surfaces */
:root{--radius-card:26px;--radius-field:14px}
.button,.button.small{border-radius:999px}
.menu-toggle{border-radius:12px}
.hero-visual{border-radius:32px;overflow:hidden}
.hero-note .line,.eyebrow span{border-radius:999px}
.service{border-radius:var(--radius-card)}
.ribbon{width:calc(100% - 32px);max-width:1440px;margin-inline:auto;border-radius:22px}
.applications,.quote-section{width:calc(100% - 32px);max-width:1440px;margin-inline:auto;border-radius:36px}
.steps article{border:0;background:var(--paper);padding:26px;border-radius:24px}
input,select,textarea{border-radius:var(--radius-field)}
#quote-result{border-radius:18px}
.location-map iframe{border-radius:20px}
.faq details,.faq details:first-child{padding:22px 24px;border:0;background:var(--paper);border-radius:18px;margin-bottom:12px}
.contact{border:0;background:var(--paper);border-radius:28px;padding:36px}
.skip{border-radius:12px}
@media(max-width:760px){
 .hero-visual{border-radius:24px}
 .ribbon{border-radius:16px}
 .applications,.quote-section{width:calc(100% - 20px);border-radius:26px}
 .applications .wrap,.quote-section .wrap{width:calc(100% - 32px)}
 .steps article{padding:20px;border-radius:20px}
 .service{border-radius:22px}
 .contact{padding:28px 24px;border-radius:24px}
 .faq details,.faq details:first-child{padding:20px;border-radius:18px}
 .nav nav{border-radius:0 0 20px 20px}
}
/* Larger banner with translucent image controls */
.hero{width:min(1480px,calc(100% - 64px));grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:48px}
.hero-visual img{height:540px}
.banner{touch-action:pan-y}
.banner-track{display:flex;transition:transform .65s cubic-bezier(.22,.68,.25,1);will-change:transform}
.banner-slide{flex:0 0 100%;min-width:0}
.banner-slide img{width:100%;display:block}
.banner-controls{position:absolute;inset:0 0 66px;pointer-events:none}
.banner-controls button{pointer-events:auto;position:absolute;border:1px solid #ffffff55;background:rgba(24,26,25,.25);color:white;backdrop-filter:blur(8px);cursor:pointer;display:grid;place-items:center;border-radius:50%;padding:0;transition:background .2s}
.banner-controls button:hover{background:rgba(24,26,25,.5)}
.banner-controls svg{width:24px;height:24px}
.banner-arrow{top:50%;transform:translateY(-50%);width:48px;height:48px}
.banner-prev{left:20px}.banner-next{right:20px}
.banner-pause{right:20px;bottom:16px;width:40px;height:40px}
.banner-pause .play-symbol{display:none}.banner-pause.is-paused .play-symbol{display:block}.banner-pause.is-paused .pause-symbol{display:none}
.banner .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Floating navigation stays five pixels below the viewport edge */
.header{position:sticky;top:5px;z-index:20;width:min(1480px,calc(100% - 20px));margin:5px auto 0;border:1px solid var(--border);border-radius:32px;background:rgba(255,255,255,.96);box-shadow:0 6px 24px #181a190c;backdrop-filter:blur(12px)}
.header .nav{width:calc(100% - 48px);height:94px}
@media(min-width:1600px){.hero-visual img{height:600px}}
@media(max-width:1050px){.hero{gap:28px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.hero-visual img{height:490px}.header .nav{width:calc(100% - 40px)}}
@media(max-width:760px){.hero{width:calc(100% - 32px);grid-template-columns:1fr;gap:32px}.hero-visual img{height:400px}.banner-controls{bottom:64px}.banner-arrow{width:44px;height:44px}.banner-prev{left:12px}.banner-next{right:12px}.banner-pause{right:12px;bottom:12px}.banner figcaption{min-height:64px}.header{border-radius:26px}.header .nav{height:78px;width:calc(100% - 28px)}.nav nav{top:86px;left:0;right:0;border:1px solid var(--border);border-radius:24px;box-shadow:0 12px 28px #181a191a}.nav .logo{width:72px;height:56px}}
@media(max-width:390px){.hero-visual img{height:350px}}
@media(prefers-reduced-motion:reduce){.banner-track,.banner-controls button{transition:none}}
