:root{--paper:#f7f1e5;--navy:#102b46;--blue:#176c9c;--orange:#e95b2b;--yellow:#f5bb32;--ink:#1e2a33;--rule:#b9b0a0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}
a{color:inherit}
.site-header{height:92px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:4px solid var(--navy)}
.brand-mark{display:block;width:158px;height:78px;overflow:hidden}
.brand-mark img{display:block;width:158px;height:120px;margin-top:-17px;object-fit:cover;mix-blend-mode:multiply}
.main-nav{display:flex;align-items:center;gap:27px;font:700 13px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.main-nav a{text-decoration:none}
.main-nav a:not(.nav-cta):hover{color:var(--orange)}
.nav-cta{background:var(--orange);color:white;padding:14px 17px;box-shadow:4px 4px 0 var(--navy)}
.nav-cta span,.button span{margin-left:16px}
.menu-toggle{display:none;background:none;border:0;color:var(--navy);font:700 13px Arial,sans-serif;text-transform:uppercase}
.hero{display:grid;grid-template-columns:1.12fr .88fr;min-height:630px;background:var(--paper)}
.hero-copy{padding:100px 5vw 70px;position:relative;background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}
.hero-copy:after{content:"";position:absolute;width:57px;height:57px;bottom:0;right:0;background:var(--orange);clip-path:polygon(100% 0,100% 100%,0 100%)}
.eyebrow{margin:0 0 24px;color:var(--blue);font:700 12px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}
.eyebrow span{display:inline-block;width:38px;margin:0 10px 4px;border-top:3px solid var(--orange)}
h1,h2,h3,p{margin-top:0}
h1,h2{color:var(--navy);font-family:"Arial Narrow",Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.065em;line-height:.84}
h1{max-width:760px;margin-bottom:30px;font-size:clamp(64px,8.1vw,126px)}
h1 em,h2 em{color:var(--orange);font-style:normal}
.hero-intro{max-width:440px;margin:0;font-size:16px;font-weight:600;line-height:1.7}
.hero-actions{display:flex;align-items:center;gap:25px;margin-top:37px}
.button{display:inline-block;padding:16px 19px;font-size:13px;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.05em}
.button-dark{color:white;background:var(--navy);box-shadow:5px 5px 0 var(--orange)}
.text-link{color:var(--navy);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border-bottom:3px solid var(--orange);padding-bottom:5px}
.text-link span{margin-left:8px}
.hero-art{min-height:430px;overflow:hidden;position:relative;background:var(--navy);background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:36px 36px}
.sun{width:61%;height:61%;position:absolute;top:12%;left:18%;background:var(--yellow);border-radius:50%;box-shadow:13px 13px 0 var(--orange)}
.wall-line{position:absolute;background:var(--paper)}
.wall-line-one{width:130%;height:13px;top:44%;left:-14%;transform:rotate(-27deg)}
.wall-line-two{width:13px;height:130%;top:-15%;left:54%;transform:rotate(-27deg)}
.wall-line-three{width:118%;height:13px;bottom:13%;left:-13%;transform:rotate(-27deg)}
.corner{position:absolute;bottom:10%;right:8%;width:43%;height:32%;border:5px solid var(--orange);border-left:0;border-bottom:0;transform:skewY(-27deg)}
.hero-art p{position:absolute;z-index:1;top:9%;left:9%;max-width:160px;color:white;font:800 clamp(31px,3.4vw,52px)/.85 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.05em}
.hero-label{position:absolute;left:9%;bottom:7%;color:white;font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.13em}
.hero-carousel{background:#102b46;background-image:none}.hero-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:42px;color:white;background-position:center;background-size:cover;opacity:0;transform:scale(1.04);transition:opacity .65s ease,transform 5s ease}.hero-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,18,30,.88),rgba(4,18,30,.04) 68%)}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-slide p,.hero-slide span{position:relative;z-index:1}.hero-slide p{top:auto;left:auto;max-width:none;margin:0;color:white;font:900 clamp(40px,4.3vw,66px)/.84 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.055em}.hero-slide span{margin-top:11px;color:var(--yellow);font:800 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}.hero-tools{position:absolute;z-index:2;top:22px;right:22px;width:136px;height:78px;overflow:hidden;background:rgba(247,241,229,.93);border:3px solid var(--navy);box-shadow:4px 4px 0 var(--orange)}.hero-tools img{width:146px;height:110px;object-fit:cover;object-position:50% top;margin:-4px -5px;mix-blend-mode:multiply}.carousel-controls{position:absolute;z-index:3;right:22px;bottom:24px;display:flex;align-items:center;gap:10px;padding:7px;background:rgba(16,43,70,.86);border:1px solid rgba(255,255,255,.4)}.carousel-button{width:30px;height:30px;border:0;background:transparent;color:white;font-size:19px;cursor:pointer}.carousel-button:hover{background:var(--orange)}.carousel-dots{display:flex;gap:6px}.carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#aab7bd;cursor:pointer}.carousel-dots button.is-active{background:var(--yellow);transform:scale(1.3)}
.intro-strip{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding:42px 5vw;background:var(--yellow);border-bottom:4px solid var(--navy)}
.intro-strip>p{max-width:760px;margin:0;color:var(--navy);font:900 clamp(25px,3vw,43px)/.95 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.045em}
.intro-detail{color:var(--navy);font-size:11px;font-weight:800;text-align:right;text-transform:uppercase;letter-spacing:.1em}
.intro-detail strong{display:block;margin:4px 0;color:var(--orange);font:900 27px/1 "Arial Narrow",Arial,sans-serif}
.section{padding:105px 5vw}
.services{display:grid;grid-template-columns:.72fr 1.28fr;gap:9vw;background:white}
.section-heading{position:relative}
.section-heading:before{content:""}
h2{margin:0;font-size:clamp(54px,6.3vw,98px);position:relative}
.service-list{border-top:4px solid var(--navy)}
.service-item{display:grid;grid-template-columns:55px 1fr 25px;gap:14px;min-height:150px;padding:27px 0;border-bottom:2px solid var(--rule)}
.service-number{color:var(--orange);font:900 18px "Arial Narrow",Arial,sans-serif}
.service-item h3{margin:0 0 9px;color:var(--navy);font:900 28px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.04em}
.service-item p{max-width:460px;margin:0;color:#55616a;font-size:14px;line-height:1.65}
.service-arrow{color:var(--orange);font-size:25px;font-weight:900}
.tools-gallery{padding:105px 5vw;background:var(--paper);border-top:4px solid var(--navy);border-bottom:4px solid var(--navy)}
.tools-gallery-heading{display:grid;grid-template-columns:1fr 1.1fr .7fr;gap:35px;align-items:end;margin-bottom:48px}.tools-gallery-heading .eyebrow{align-self:start}.tools-gallery-heading p:last-child{max-width:270px;margin:0;font-size:14px;font-weight:600;line-height:1.65}
.tools-gallery-grid{display:grid;grid-template-columns:1.35fr .65fr .8fr;gap:22px;align-items:stretch}.tool-card{min-height:390px;margin:0;position:relative;overflow:hidden;border:3px solid var(--navy);background:var(--navy)}.tool-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .5s ease}.tool-card:hover img{transform:scale(1.04)}.tool-card-wide{min-height:480px}.tool-card figcaption{position:absolute;z-index:1;right:0;bottom:0;margin:0;padding:13px 16px;background:var(--navy);color:white;font:800 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em}.tool-card figcaption span{color:var(--yellow);margin-right:10px}
.work{background:var(--navy);color:white}
.work .eyebrow{color:var(--yellow)}
.work-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}
.work h2{color:white}
.work h2 em{color:var(--yellow)}
.work-heading>p{max-width:285px;margin:0 2vw 7px 0;color:#d9e5e9;font-size:14px;line-height:1.65}
.project-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:47px 28px}
.project{margin:0}
.project-large{grid-row:span 2}
.photo-placeholder{position:relative;height:345px;overflow:hidden;border:3px solid white;background:#558fb0}
.project-large .photo-placeholder{height:570px}
.photo-placeholder:before,.photo-placeholder:after{content:"";position:absolute}
.project-one .photo-placeholder{background:#547f94}
.project-one .photo-placeholder:before{width:122%;height:52%;left:-15%;top:11%;background:var(--yellow);transform:rotate(-23deg)}
.project-one .photo-placeholder:after{width:30%;height:111%;right:15%;top:-7%;background:var(--orange);transform:skewX(-19deg)}
.project-two .photo-placeholder{background:var(--orange)}
.project-two .photo-placeholder:before{width:31%;height:115%;top:-8%;left:19%;background:var(--paper);transform:rotate(27deg)}
.project-two .photo-placeholder:after{width:29%;height:100%;right:0;background:var(--blue)}
.project-three .photo-placeholder{background:#85a8ae}
.project-three .photo-placeholder:before{width:107%;height:48%;left:-3%;bottom:-8%;background:var(--yellow);transform:skewY(-12deg)}
.project-three .photo-placeholder:after{width:18%;height:109%;left:43%;top:-4%;background:var(--navy);transform:skewX(-20deg)}
.project-four .photo-placeholder{background:#425969}
.project-four .photo-placeholder:before{width:112%;height:45%;bottom:-8%;left:-7%;background:var(--paper);transform:skewY(13deg)}
.project-four .photo-placeholder:after{width:24%;height:90%;top:-15%;left:38%;background:var(--orange);transform:skewX(-20deg)}
.project-one .photo-placeholder{background:url("images/terminal-tower-reference.png") center / cover no-repeat}
.project-two .photo-placeholder{background:url("images/chancery-building-reference.jpg") center / cover no-repeat}
.project-three .photo-placeholder{background:url("images/church-state-reference.jpg") center / cover no-repeat}
.project-four .photo-placeholder{background:url("images/rocket-arena-reference.jpeg") center / cover no-repeat}
.project-five .photo-placeholder{background:url("images/wagner-awning-reference.jpg") center / cover no-repeat}
.project-six .photo-placeholder{background:url("images/wilbur-write.png") center / cover no-repeat}
.project-one .photo-placeholder:before,.project-one .photo-placeholder:after,.project-two .photo-placeholder:before,.project-two .photo-placeholder:after,.project-three .photo-placeholder:before,.project-three .photo-placeholder:after,.project-four .photo-placeholder:before,.project-four .photo-placeholder:after{display:none}
.photo-placeholder span{position:absolute;z-index:1;left:20px;bottom:18px;color:white;font:800 10px/1.45 Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}
.project-caption{padding-top:15px}
.project-caption p{margin:0 0 5px;color:var(--yellow);font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}
.project-caption h3{margin:0;font:900 25px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.04em}
.project-link{display:inline-block;margin-top:10px;color:white;font-size:11px;font-weight:800;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--yellow);padding-bottom:3px}
.process{background:var(--paper);background-image:radial-gradient(var(--rule) .8px,transparent .8px);background-size:9px 9px}
.process .eyebrow{color:var(--orange)}
.process-content{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:30px 0 76px}
.process-content p{max-width:330px;margin:0 4vw 7px 0;font-size:15px;font-weight:600;line-height:1.7}
.values{display:grid;grid-template-columns:repeat(3,1fr);border:3px solid var(--navy);background:white}
.values span{padding:20px;color:var(--navy);font:900 18px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;border-right:3px solid var(--navy)}
.values span:last-child{border:0}
.contact{display:flex;align-items:end;justify-content:space-between;gap:40px;padding:100px 5vw;color:white;background:var(--orange);border-top:5px solid var(--navy)}
.contact .eyebrow{color:var(--navy)}
.contact h2{color:white}
.contact h2 em{color:var(--navy)}
.contact-copy>p:last-child{max-width:330px;margin:25px 0 0;font-size:15px;font-weight:600;line-height:1.65}
.button-light{color:var(--navy);background:var(--yellow);box-shadow:5px 5px 0 var(--navy);white-space:nowrap}
.site-footer{display:grid;grid-template-columns:1.1fr 1fr 1.15fr 1.45fr;align-items:end;gap:18px;padding:34px 5vw;background:var(--navy);color:white}
.logo{color:white;font:900 23px "Arial Narrow",Arial,sans-serif;text-decoration:none;letter-spacing:-.06em}
.logo span{font-weight:400}
.logo i{color:var(--yellow);font-style:normal}
.site-footer p{margin:0;color:#cfdee1;font-size:11px;line-height:1.65}
.site-footer p:last-child{text-align:right}
.site-footer a{color:white}
@media(max-width:760px){.site-header{height:75px;padding:0 6vw}
.brand-mark{width:118px;height:64px}
.brand-mark img{width:118px;height:90px;margin-top:-13px}
.main-nav{display:none;position:absolute;z-index:10;top:75px;left:0;width:100%;padding:24px 6vw;background:var(--paper);border-bottom:4px solid var(--navy);flex-direction:column;align-items:flex-start}
.main-nav.is-open{display:flex}
.menu-toggle{display:block}
.hero{grid-template-columns:1fr}
.hero-copy{padding:76px 6vw 65px}
.hero-art{min-height:390px}
.intro-strip,.work-heading,.process-content,.contact{display:flex;align-items:flex-start;flex-direction:column}
.intro-detail{text-align:left}
.section{padding:78px 6vw}
.services{grid-template-columns:1fr;gap:52px}
.section-heading:before{font-size:74px;top:-43px}
.project-grid{grid-template-columns:1fr}
.project-large{grid-row:auto}
.project-large .photo-placeholder,.photo-placeholder{height:350px}
.values{grid-template-columns:1fr}
.values span{border-right:0;border-bottom:3px solid var(--navy)}
.values span:last-child{border-bottom:0}
.contact{padding:75px 6vw}
.site-footer{grid-template-columns:1fr;padding:30px 6vw}
.site-footer p:last-child{text-align:left}
}

/* About page */
.about-hero{padding:115px 5vw 100px;background:var(--yellow);border-bottom:5px solid var(--navy);background-image:linear-gradient(rgba(16,43,70,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(16,43,70,.15) 1px,transparent 1px);background-size:42px 42px}
.about-hero .eyebrow{color:var(--navy)}.about-hero h1{max-width:950px}.about-hero h1 em{color:var(--orange)}
.about-hero>p:last-child{max-width:560px;margin:32px 0 0;color:var(--navy);font-size:17px;font-weight:700;line-height:1.65}
.team-section{padding:105px 5vw;background:white}.team-intro{margin-bottom:58px}.team-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:26px;align-items:start}.team-member{background:var(--paper);border:3px solid var(--navy)}
.portrait-placeholder{position:relative;display:flex;min-height:355px;align-items:flex-end;justify-content:space-between;padding:20px;overflow:hidden;background:var(--blue);color:white}.team-member-featured .portrait-placeholder{min-height:470px;background:var(--navy)}
.portrait-placeholder:before{content:"";position:absolute;width:180%;height:55%;left:-32%;bottom:-8%;background:var(--yellow);transform:rotate(-22deg)}.portrait-placeholder:after{content:"";position:absolute;width:35%;height:110%;right:20%;top:-12%;background:var(--orange);transform:skewX(-18deg)}
.portrait-jose{background:#4b8197}.portrait-jose:after{background:var(--navy)}.portrait-trish{background:var(--orange)}.portrait-trish:before{background:var(--paper)}.portrait-placeholder span,.portrait-placeholder b{position:relative;z-index:1}.portrait-placeholder span{font:800 10px/1.45 Arial,sans-serif;text-transform:uppercase;letter-spacing:.11em}.portrait-placeholder b{font:900 72px/.8 "Arial Narrow",Arial,sans-serif;letter-spacing:-.08em}
.team-details{padding:22px 20px 25px;background:white}.team-details p{margin:0 0 7px;color:var(--orange);font:800 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}.team-details h3{margin:0 0 8px;color:var(--navy);font:900 30px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.05em}.team-details span{color:#66717a;font-size:12px;font-weight:700}
.about-contact{padding:95px 5vw;background:var(--navy);color:white}.about-contact .eyebrow{color:var(--yellow)}.about-contact h2{max-width:740px;margin-bottom:34px;color:white;font-size:clamp(48px,6vw,90px)}.about-contact .button-dark{background:var(--yellow);color:var(--navy);box-shadow:5px 5px 0 var(--orange)}
@media(max-width:760px){.about-hero{padding:82px 6vw 72px}.team-section{padding:78px 6vw}.team-grid{grid-template-columns:1fr}.team-member-featured .portrait-placeholder,.portrait-placeholder{min-height:350px}}
@media(max-width:760px){.tools-gallery{padding:78px 6vw}.tools-gallery-heading{display:block;margin-bottom:34px}.tools-gallery-heading h2{margin:18px 0 24px}.tools-gallery-grid{grid-template-columns:1fr;gap:18px}.tool-card,.tool-card-wide{min-height:340px}.tool-card:nth-child(2){min-height:470px}}
