:root{font-family:IBM Plex Sans,sans-serif;color:#252a2c;background:#f2f1ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Barlow Condensed,Impact,sans-serif;font-weight:800;line-height:.92;letter-spacing:-.012em}h2{font-size:clamp(58px,7vw,110px)}h2 em,h1 em{font-style:normal;color:#f06428}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f06428;outline-offset:4px}.section-pad{padding:112px max(5vw,24px)}.eyebrow,.top-strip,.kicker{font:600 11px/1.4 IBM Plex Mono,monospace;letter-spacing:.08em}.eyebrow{display:block;margin-bottom:28px}.top-strip{background:#252a2c;color:#d7d9d7;display:flex;justify-content:space-between;padding:10px 5vw;font-size:10px}.top-strip span+span{opacity:.8}.site-header{height:86px;padding:0 5vw;display:flex;align-items:center;gap:40px;background:#f2f1ed;border-bottom:1px solid #c7c9c6;position:relative;z-index:15}.wordmark{display:flex;align-items:center;gap:13px;font:800 19px/.9 Barlow Condensed,sans-serif;letter-spacing:.02em;white-space:nowrap}.wordmark strong{display:block;font-size:24px}.wordmark-symbol{height:37px;width:35px;background:#f06428;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:7px}.wordmark-symbol span{height:3px;background:#252a2c}.wordmark-symbol span:nth-child(2){width:65%}.wordmark-symbol span:nth-child(3){width:85%}.desktop-links{display:flex;gap:clamp(12px,1.6vw,28px);margin-left:auto}.desktop-links a,.header-estimate{font:600 11px IBM Plex Mono,monospace;white-space:nowrap}.desktop-links a:hover{color:#f06428}.header-estimate{background:#252a2c;color:#fff;padding:18px 20px;display:flex;gap:20px;align-items:center;transition:background .2s}.header-estimate:hover{background:#f06428}.menu-button{display:none;border:0;background:transparent}.mobile-nav{display:none}.hero{overflow:hidden}.hero-head{padding:60px 5vw 45px}.hero-eyebrow{font:600 12px IBM Plex Mono,monospace;display:flex;align-items:center;gap:12px;animation:slideUp .8s both}.orange-square{display:inline-block;width:12px;height:12px;background:#f06428}.hero h1{font-size:clamp(112px,15.8vw,260px);line-height:.77;letter-spacing:-.035em;margin:35px 0 20px}.hero h1 span,.hero h1 em{display:inline-block;animation:slideUp 1s cubic-bezier(.2,.8,.2,1) both}.hero h1 em{animation-delay:.15s}.hero-subrow{display:flex;justify-content:space-between;align-items:flex-end;animation:slideUp .8s .35s both}.hero-subrow p{font-size:clamp(17px,2vw,24px);max-width:540px;line-height:1.4;margin:0}.hero-cross{font:500 72px/.8 IBM Plex Mono,monospace;color:#f06428}.hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) 370px;min-height:550px}.hero-photo{position:relative;overflow:hidden}.hero-photo img{height:100%;min-height:550px;animation:heroZoom 1.5s both}.hero-image-label{position:absolute;bottom:0;left:0;background:#f2f1ed;padding:16px 25px;font:600 11px IBM Plex Mono,monospace}.hero-actions-panel{background:#f06428;padding:40px 30px;display:flex;flex-direction:column}.panel-top{display:flex;justify-content:space-between;align-items:center;font:600 11px IBM Plex Mono,monospace}.panel-dash{width:40px;height:3px;background:#252a2c}.hero-actions-panel h2{font-size:80px;margin:65px 0 20px}.hero-actions-panel p{font-size:17px;line-height:1.5;max-width:240px;margin-bottom:auto}.action{display:flex;min-height:58px;background:#252a2c;color:#fff;align-items:stretch;justify-content:space-between;font:600 12px IBM Plex Mono,monospace;margin-top:10px;transition:transform .25s,box-shadow .25s}.action>span:first-child{padding:18px;display:flex;align-items:center}.action-icon{width:60px;flex-shrink:0;background:#d7d9d7;color:#252a2c;display:grid;place-items:center;transition:background .25s,transform .25s}.action:hover{transform:translateY(-3px);box-shadow:5px 6px #252a2c2e}.action:hover .action-icon{background:#e9bf47}.action-light{background:#f2f1ed;color:#252a2c}.action-light .action-icon{background:#252a2c;color:#fff}.hero-actions-panel small{font:500 9px IBM Plex Mono,monospace;margin-top:18px}.ticker{background:#252a2c;color:#f2f1ed;overflow:hidden;white-space:nowrap;padding:17px 0;font:600 13px IBM Plex Mono,monospace}.ticker div{width:max-content;animation:marquee 28s linear infinite}.ticker span{color:#f06428;margin:0 30px}.section-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:20px;align-items:end;margin-bottom:55px}.section-intro .eyebrow{grid-column:1/-1;margin:0}.section-intro h2{margin:0}.section-intro h2 span{color:#f06428}.section-intro p{max-width:350px;font-size:18px;line-height:1.5}.service-workbench{display:grid;grid-template-columns:32% 68%;background:#252a2c;min-height:580px}.service-tabs{display:flex;flex-direction:column;background:#344a55;color:#f2f1ed}.service-tabs button{display:flex;align-items:center;justify-content:space-between;padding:36px 26px;text-align:left;border:0;border-bottom:1px solid #58717d;background:transparent;color:#f2f1ed;font:700 clamp(25px,3vw,43px) "Barlow Condensed",sans-serif;text-transform:uppercase;transition:background .25s,padding .25s}.service-tabs button.active{background:#f06428;color:#252a2c;padding-left:38px}.service-tabs button:hover:not(.active){background:#415c68}.tab-bottom{margin-top:auto;padding:24px;font:500 10px IBM Plex Mono,monospace;opacity:.7}.service-display{display:grid;grid-template-rows:minmax(320px,1fr) auto;animation:panelIn .5s both}.service-image{position:relative;overflow:hidden}.service-image img{height:100%;max-height:470px;animation:heroZoom .7s both}.service-image>span{position:absolute;bottom:0;left:0;background:#f06428;padding:12px 18px;font:600 10px IBM Plex Mono,monospace}.service-info{display:flex;gap:20px;justify-content:space-between;align-items:end;padding:30px;color:#f2f1ed}.service-info h3{font-size:45px;margin:12px 0}.service-info p{line-height:1.55;max-width:500px;margin:0;color:#d7d9d7}.inline-link{display:flex;gap:10px;align-items:center;background:transparent;color:#f2f1ed;border:0;border-bottom:2px solid #f06428;padding:10px 0;white-space:nowrap;font:600 11px IBM Plex Mono,monospace}.inline-link:hover{color:#f06428}.capabilities{background:#d7d9d7}.cap-heading{display:grid;grid-template-columns:1.5fr .5fr;align-items:end;margin-bottom:48px}.cap-heading .eyebrow{grid-column:1/-1}.cap-heading h2{margin:0}.cap-heading p{font-size:18px;line-height:1.5;max-width:320px}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#b2b6b5}.cap-card{padding:38px 32px 30px;background:#f2f1ed;min-height:410px;display:flex;flex-direction:column}.cap-card>svg{color:#f06428}.cap-card h3{font-size:47px;margin:30px 0 12px}.cap-card p{line-height:1.5;color:#536166}.cap-card ul{list-style:none;padding:0;margin:12px 0 25px}.cap-card li{display:flex;align-items:center;gap:6px;padding:9px 0;border-top:1px solid #c7c9c6;font-size:14px}.cap-card li svg{color:#f06428}.cap-card a{margin-top:auto;border-top:2px solid #252a2c;padding-top:15px;display:flex;justify-content:space-between;font:600 11px IBM Plex Mono,monospace}.cap-card a:hover{color:#f06428}.about{background:#252a2c;color:#f2f1ed}.about-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;margin-bottom:60px}.about-head .eyebrow{grid-column:1/-1}.about-head h2{font-size:clamp(70px,8vw,135px);margin:0}.about-head p{max-width:400px;font-size:21px;line-height:1.5}.about-collage{display:grid;grid-template-columns:1.2fr .65fr .3fr;align-items:end;gap:20px}.about-img-primary,.about-img-secondary{position:relative;overflow:hidden}.about-img-primary img{height:550px}.about-img-secondary img{height:340px}.about-img-primary span{position:absolute;bottom:0;left:0;background:#f06428;color:#252a2c;padding:15px;font:600 11px IBM Plex Mono,monospace}.about-stamp{align-self:center;display:flex;flex-direction:column;gap:20px;color:#f06428;font:700 26px/1 Barlow Condensed,sans-serif}.process{background:#f06428}.process-title h2{margin-bottom:90px}.process-title h2 em{color:#f2f1ed}.process-track{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;position:relative}.track-line,.track-progress{position:absolute;top:13px;left:0;right:0;height:2px;background:#252a2c;opacity:.3}.track-progress{right:auto;background:#252a2c;opacity:1;width:0;transition:width 1.7s ease}.process-track:has(.process-step.visible) .track-progress{width:100%}.process-step{position:relative;padding-top:55px}.process-dot{width:28px;height:28px;background:#252a2c;position:absolute;top:0;left:0;border:6px solid #f06428;outline:2px solid #252a2c}.step-tag{font:600 12px IBM Plex Mono,monospace}.process-step h3{font-size:48px;margin:20px 0}.process-step p{max-width:300px;line-height:1.55}.work{background:#f2f1ed}.work-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.work-head h2{margin:0}.work-head p{max-width:360px;font-size:18px;line-height:1.5}.featured-work{display:grid;grid-template-columns:1fr 310px;background:#252a2c;color:#f2f1ed;min-height:570px}.featured-image{border:0;background:#344a55;position:relative;padding:0;overflow:hidden}.featured-image img{height:570px;animation:panelIn .6s both}.featured-image>span{position:absolute;right:0;bottom:0;background:#f06428;color:#252a2c;padding:18px;display:flex;gap:16px;font:600 11px IBM Plex Mono,monospace}.featured-meta{padding:35px;display:flex;flex-direction:column;justify-content:space-between}.featured-meta>span{font:600 11px IBM Plex Mono,monospace;color:#f06428}.featured-meta h3{font-size:60px}.gallery-arrows{display:flex;gap:12px}.gallery-arrows button,.review-arrows button{width:52px;height:52px;background:transparent;color:inherit;border:1px solid currentColor;display:grid;place-items:center;transition:background .2s,color .2s}.gallery-arrows button:hover,.review-arrows button:hover{background:#f06428;color:#252a2c;border-color:#f06428}.thumbnail-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:15px}.thumbnail-strip button{padding:0;border:3px solid transparent;background:transparent;text-align:left;opacity:.65;transition:opacity .2s,border-color .2s}.thumbnail-strip button.selected{border-color:#f06428;opacity:1}.thumbnail-strip img{height:120px}.thumbnail-strip span{display:block;font:600 10px IBM Plex Mono,monospace;padding:10px}.gallery-note,.review-disclaimer{font:500 10px IBM Plex Mono,monospace;margin-top:20px;color:#627074}.testimonials{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;background:#d7d9d7}.review-title h2{font-size:clamp(60px,6.8vw,100px)}.review-title p{font-size:17px;line-height:1.55;max-width:330px}.review-panel{background:#f2f1ed;padding:40px 45px;min-height:440px;display:flex;flex-direction:column;border-top:7px solid #f06428}.review-quote-mark{font:800 90px/.8 Barlow Condensed,sans-serif;color:#f06428}.review-quote{animation:reviewEnter .55s both}.review-quote blockquote{margin:25px 0;font:600 clamp(21px,2.5vw,34px)/1.35 "IBM Plex Sans",sans-serif}.review-by{display:flex;gap:15px;align-items:center;font-size:14px}.review-by span{color:#68767b}.review-nav{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:30px}.review-dots{display:flex;gap:9px}.review-dots button{height:8px;width:20px;background:#b2b6b5;border:0;transition:width .3s,background .3s}.review-dots button.on{width:42px;background:#f06428}.review-arrows{display:flex;gap:10px}.review-arrows button{height:42px;width:42px}.review-disclaimer{grid-column:1/-1;margin:0}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-title h2{margin:0}.faq-list{border-top:2px solid #252a2c}.faq-item{border-bottom:1px solid #b2b6b5}.faq-item button{width:100%;border:0;background:transparent;padding:28px 0;display:flex;justify-content:space-between;gap:25px;text-align:left;font:700 19px IBM Plex Sans,sans-serif}.faq-item button svg{color:#f06428;flex-shrink:0}.faq-item p{margin:0 0 28px;line-height:1.65;color:#536166;max-width:580px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;background:#344a55;color:#f2f1ed}.contact-intro h2{font-size:clamp(75px,8vw,125px)}.contact-intro p{font-size:19px;line-height:1.55;max-width:390px}.booking-block{margin-top:70px;padding:25px;background:#252a2c}.booking-block>span{font:600 11px IBM Plex Mono,monospace}.booking-block small{display:block;font-size:11px;margin-top:15px;color:#c7c9c6}.contact-form{background:#f2f1ed;color:#252a2c;padding:36px;align-self:start}.form-header{display:flex;justify-content:space-between;gap:12px;padding-bottom:25px;border-bottom:2px solid #252a2c;font:600 11px IBM Plex Mono,monospace}.form-header span:last-child{color:#68767b}.contact-form label{display:block;font:600 11px IBM Plex Mono,monospace;margin-top:26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:11px;border:1px solid #c7c9c6;border-radius:0;background:#fff;color:#252a2c;padding:17px 14px;outline-offset:2px;font:400 15px IBM Plex Sans,sans-serif}.contact-form textarea{resize:vertical}.form-submit{display:flex;align-items:stretch;margin:30px auto 10px;padding:0;border:0;background:#252a2c;color:#fff;font:600 12px IBM Plex Mono,monospace;transition:transform .2s}.form-submit>span:first-child{padding:20px 25px}.form-submit>span:last-child{padding:18px;background:#f06428;color:#252a2c}.form-submit:hover{transform:translateY(-3px)}.contact-form>small{display:block;color:#68767b;font-size:11px;text-align:center;margin-top:16px}.form-notice{background:#fff2d7;padding:12px;line-height:1.4}.footer{background:#252a2c;color:#f2f1ed;padding:60px 5vw 24px}.footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:70px}.footer-brand{font:800 clamp(50px,8vw,110px)/.8 "Barlow Condensed",sans-serif}.footer-brand span{color:#f06428}.footer-top>div{text-align:right;font:600 12px IBM Plex Mono,monospace}.footer-top>div p{line-height:1.6}.footer-top>div a{display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid #f06428;padding-bottom:8px}.footer-bottom{border-top:1px solid #536166;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font:500 9px IBM Plex Mono,monospace;color:#aebcc5}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f12e0;z-index:100;display:grid;place-items:center;padding:20px}.service-dialog{background:#f2f1ed;position:relative;padding:45px;max-width:660px;width:100%;max-height:90vh;overflow:auto}.service-dialog h2{font-size:65px}.service-dialog p{line-height:1.6}.service-dialog ul{padding:0;list-style:none}.service-dialog li{display:flex;align-items:center;gap:10px;border-bottom:1px solid #c7c9c6;padding:12px 0}.service-dialog li svg{color:#f06428}.close-dialog{position:absolute;right:16px;top:16px;background:#252a2c;color:#fff;border:0;width:40px;height:40px}.dialog-actions{display:flex;gap:15px;flex-wrap:wrap;margin:28px 0}.dialog-actions a{display:flex;align-items:center;gap:10px;background:#252a2c;color:#fff;padding:15px;font:600 11px IBM Plex Mono,monospace}.dialog-actions a:first-child{background:#f06428;color:#252a2c}.service-dialog small{font-size:11px}.lightbox>div{display:flex;align-items:center;gap:12px;position:relative;max-width:95vw}.lightbox img{max-height:80vh;max-width:75vw;width:auto}.lightbox button{border:0;background:#f06428;color:#252a2c;padding:12px}.lightbox-close{position:absolute;right:0;top:-52px}.lightbox span{position:absolute;bottom:-35px;left:50%;transform:translate(-50%);color:#fff;white-space:nowrap}.reveal{opacity:0;transform:translateY(35px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.cap-card:nth-child(2),.process-step:nth-of-type(2){transition-delay:.12s}.cap-card:nth-child(3),.process-step:nth-of-type(3){transition-delay:.24s}@keyframes slideUp{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes heroZoom{0%{opacity:.6;transform:scale(1.09)}to{opacity:1;transform:scale(1)}}@keyframes panelIn{0%{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes reviewEnter{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:none}}@keyframes marquee{to{transform:translate(-50%)}}@media(max-width:1150px){.desktop-links{gap:12px}.desktop-links a{font-size:10px}.site-header{gap:15px}.header-estimate{padding:15px}.hero-bottom{grid-template-columns:1fr 330px}.service-info{display:block}.inline-link{margin-top:20px}.about-collage{grid-template-columns:1fr .6fr}.about-stamp{display:none}.testimonials,.contact{gap:30px}}@media(max-width:900px){.desktop-links,.header-estimate{display:none}.menu-button{display:block;margin-left:auto}.mobile-nav{display:flex;position:absolute;z-index:14;left:0;right:0;background:#252a2c;color:#fff;flex-direction:column;padding:18px 5vw}.mobile-nav a{display:flex;justify-content:space-between;padding:16px;border-bottom:1px solid #536166;font:600 12px IBM Plex Mono,monospace}.hero-bottom{grid-template-columns:1fr}.hero-photo img{height:470px;min-height:470px}.hero-actions-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-actions-panel .panel-top,.hero-actions-panel h2,.hero-actions-panel p,.hero-actions-panel small{grid-column:1/-1}.hero-actions-panel h2{margin:15px 0;font-size:65px}.hero-actions-panel p{margin-bottom:10px}.hero-actions-panel .action{margin:0}.service-workbench{grid-template-columns:1fr}.service-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.service-tabs button{font-size:26px;padding:22px 14px}.service-tabs button.active{padding-left:14px}.tab-bottom{display:none}.service-image img{max-height:400px}.cap-grid{grid-template-columns:1fr 1fr}.cap-card:last-child{grid-column:1/-1}.about-head{grid-template-columns:1fr}.about-head .eyebrow{grid-column:auto}.about-head p{max-width:600px}.featured-work{grid-template-columns:1fr}.featured-meta{min-height:170px}.featured-meta h3{font-size:50px;margin:15px 0}.testimonials,.faq,.contact{grid-template-columns:1fr}.review-panel{min-height:370px}.contact-intro h2{margin-bottom:25px}.booking-block{max-width:450px;margin:35px 0}.footer-bottom{flex-wrap:wrap}}@media(max-width:600px){.top-strip{font-size:8px}.top-strip span:nth-child(2){display:none}.site-header{height:72px}.section-pad{padding:75px 20px}.hero-head{padding:50px 20px 30px}.hero h1{font-size:clamp(76px,17vw,115px);margin:40px 0 30px}.hero-eyebrow{font-size:10px}.hero-subrow p{font-size:16px;max-width:280px}.hero-cross{font-size:50px}.hero-photo img{height:360px;min-height:360px}.hero-actions-panel{padding:25px 20px;display:flex}.hero-actions-panel h2{font-size:60px}.hero-actions-panel .action{margin-top:8px}.section-intro,.cap-heading{grid-template-columns:1fr}.section-intro .eyebrow,.cap-heading .eyebrow{grid-column:auto}.section-intro h2,.cap-heading h2{font-size:65px}.section-intro p{margin:0}.service-tabs button{font-size:20px;padding:18px 9px}.service-tabs button svg{display:none}.service-tabs button.active{padding-left:9px}.service-image img{height:300px}.service-info{padding:25px}.service-info h3{font-size:38px}.cap-grid{grid-template-columns:1fr}.cap-card:last-child{grid-column:auto}.cap-card{min-height:0}.about-head h2{font-size:70px}.about-head p{font-size:17px}.about-collage{grid-template-columns:1fr}.about-img-primary img{height:380px}.about-img-secondary{display:none}.process-title h2{font-size:62px;margin-bottom:50px}.process-track{grid-template-columns:1fr;gap:30px;padding-left:20px}.track-line,.track-progress{top:0;bottom:0;left:13px;right:auto;height:auto;width:2px}.track-progress{display:none}.process-step{padding:0 0 0 30px}.process-dot{left:-20px}.process-step h3{font-size:40px}.work-head{display:block}.work-head h2{font-size:70px}.featured-image img{height:330px}.featured-meta{padding:25px}.thumbnail-strip{gap:6px}.thumbnail-strip img{height:70px}.thumbnail-strip span{font-size:8px;padding:6px 2px}.review-panel{padding:30px 22px}.review-title h2{font-size:70px}.review-quote blockquote{font-size:21px}.faq-title h2{font-size:70px}.faq-item button{font-size:16px}.contact-intro h2{font-size:80px}.contact-form{padding:25px 18px}.form-row{grid-template-columns:1fr;gap:0}.form-header{font-size:9px}.footer-top{display:block}.footer-top>div{text-align:left;margin-top:40px}.footer-bottom{display:block}.footer-bottom span{display:block;margin:10px 0}.lightbox img{max-width:65vw}.service-dialog{padding:35px 20px}.service-dialog h2{font-size:50px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}.track-progress{width:100%!important}}
