@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#101b29;--ink2:#223043;--cream:#eef1ef;--paper:#fff;--mist:#dce3e1;--accent:#d9f36b;--line:#c7d1d0;--serif:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--sans:'DM Sans',Arial,sans-serif}
body{background:var(--cream)}
.demo-bar{background:#d9f36b;color:#101b29;justify-content:space-between;padding:9px max(20px,calc((100vw - 1260px)/2));font-weight:600}
.demo-bar strong{color:#101b29}.demo-bar a{font-weight:800}
.header{background:#101b29;color:white;box-shadow:none;border-bottom:1px solid #52616b}
.header-row{height:78px}.roof-mark{background:var(--accent);color:var(--ink);clip-path:polygon(50% 0,100% 40%,100% 100%,0 100%,0 40%)}
.logo-sub{color:#bac9ca}.header nav a{padding:12px 0;border-bottom:2px solid transparent}.header nav a:hover{color:var(--accent);border-color:var(--accent)}
.nav-cta{border:1px solid var(--accent);color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.nav-cta span{color:inherit}
.hero{min-height:690px;background:#101b29}.hero:before{content:'';position:absolute;z-index:1;inset:auto auto -1px 0;width:100%;height:90px;background:var(--cream);clip-path:polygon(0 100%,100% 5%,100% 100%);pointer-events:none}
.hero-image{inset:0 0 0 42%;clip-path:polygon(25% 0,100% 0,100% 100%,0 100%)}.hero-image img{filter:saturate(.72) contrast(1.1)}
.hero-image:after{background:linear-gradient(90deg,#101b29a6,transparent 35%),linear-gradient(0deg,#101b2940,transparent 50%)}
.hero-inner{min-height:690px}.hero-panel{max-width:760px;padding:66px 0 125px}.hero .eyebrow{font-size:12px;color:var(--accent);letter-spacing:.22em}
.hero h1{font-family:var(--serif);font-size:clamp(80px,10vw,150px);font-weight:800;line-height:.78;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 38px;text-shadow:0 2px 20px #07131d55}
.hero h1 em{font-weight:800;font-style:normal;color:var(--accent)}.hero .intro{max-width:495px;font-size:17px;line-height:1.65}
.button{background:var(--accent);color:var(--ink);border:1px solid var(--accent);text-transform:uppercase;letter-spacing:.06em;border-radius:0}.button:hover{background:#e9ffa1}
.outline-button{border-color:#b9c7c6;text-transform:uppercase;letter-spacing:.06em}
.hero-foot{font-size:12px;letter-spacing:.02em}.hero-index{position:absolute;right:33px;bottom:110px;z-index:2;color:#fff;font-size:10px;font-weight:800;letter-spacing:.2em;writing-mode:vertical-rl}
.hero-image-note{bottom:115px;background:#101b29d9;border-left:3px solid var(--accent)}
.feature-strip{background:var(--cream);color:#101b29;border-bottom:1px solid var(--line)}.feature-strip .wrap{padding-block:24px}.feature-strip span{display:flex;gap:11px;align-items:center;font-size:11px}.feature-strip span:before{content:'↗';font-size:19px;line-height:1;color:#516d18}
.section{padding-block:110px}.eyebrow{color:#526d24}.section-head{border-bottom:1px solid var(--line);padding-bottom:32px}
.section-head h2,.process h2,.quote h2,.last-cta h2,.feature-copy h2{font-family:var(--serif);font-size:clamp(64px,7vw,100px);font-weight:700;line-height:.9;letter-spacing:-.02em;text-transform:uppercase}
h2 em{font-style:normal;color:#657b29}.service-grid{gap:0;border:1px solid var(--line);border-right:0}.service-grid article{border:0;border-right:1px solid var(--line);padding:28px;min-height:320px;position:relative;overflow:hidden}
.service-grid article:before{content:'';position:absolute;left:0;top:0;width:100%;height:5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.service-grid article:hover:before{transform:scaleX(1)}.service-no{font:700 47px/1 var(--serif);color:#93a3a2;letter-spacing:0;margin-bottom:45px}
.service-grid h3,.project-caption h3,.steps h3{font-family:var(--serif);font-size:32px;font-weight:700;text-transform:uppercase;letter-spacing:0;line-height:1}
.service-grid a{color:#263d1d}.image-feature{background:#dce4df;grid-template-columns:1.12fr .88fr}.feature-photo{clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}
.image-tag,.placeholder{background:var(--accent);color:var(--ink);box-shadow:none;max-width:calc(100% - 40px)}.image-tag small,.placeholder small{color:#36422d}
.feature-copy h2{font-size:clamp(68px,7vw,110px)}.feature-copy .text-cta{border-bottom:3px solid #607d2e;text-transform:uppercase;letter-spacing:.05em}
.work{background:#101b29;color:#fff}.work .section-head{border-color:#52616b}.work .section-head p:last-child,.work .gallery-note{color:#c4cecc}.work .eyebrow{color:var(--accent)}.work h2 em{color:var(--accent)}
.gallery{gap:12px}.project{border:0;background:#1e2c3a;overflow:hidden}.project-img{filter:saturate(.8)}.project-caption{min-height:145px;border-top:4px solid var(--accent)}.project-caption span{color:var(--accent)}.project-caption p{color:#c1cecc}.project-caption h3{font-size:32px}
.process{background:#d9f36b;color:#101b29}.process .eyebrow{color:#34451c}.process h2 em{color:#4a6421}.steps article{border-color:#7e9b4d}.steps span{font:700 38px/1 var(--serif);color:#34451c}.steps h3{font-size:40px}.steps p,.process-note{color:#2b3d27}
.quote{background:#eef1ef}.sample-form{box-shadow:12px 12px 0 #c9d4d0;border:1px solid var(--line)}.sample-form h3{font:700 47px/1 var(--serif);text-transform:uppercase}.form-label{color:#58702d}.sample-form label{font-size:14px}.form-status{color:#275437}
.last-cta{background:#101b29}.last-cta h2 em{color:var(--accent)}.last-cta .eyebrow{color:var(--accent)}.footer{border-top:1px solid var(--line)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.project-img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .65s}.project:hover .project-img{transform:scale(1.035);filter:saturate(1)}.service-grid article{transition:background .25s}.service-grid article:hover{background:#f5f9e7}}
@media(max-width:980px){.hero h1{font-size:clamp(76px,10vw,118px)}.hero-image{left:34%}.service-grid{border-bottom:0}.service-grid article{border-bottom:1px solid var(--line)}}
@media(max-width:650px){.demo-bar{justify-content:center}.header-row{height:72px}.menu-button{background:var(--accent);border:0;color:var(--ink)}.mobile-nav{background:#101b29;color:#fff}.hero{min-height:0}.hero:before{height:50px}.hero-image{inset:0 0 35%;clip-path:none}.hero-image:after{background:linear-gradient(0deg,#101b29 0%,#101b2977 60%,transparent 100%)}.hero-inner{min-height:670px}.hero-panel{padding:235px 0 85px}.hero h1{font-size:clamp(67px,16vw,98px);margin-bottom:25px}.hero .intro{font-size:15px}.hero-index{display:none}.hero-image-note{top:12px;bottom:auto;right:12px}.feature-strip .wrap{justify-content:flex-start}.feature-strip span{width:calc(50% - 15px)}.section{padding-block:72px}.section-head h2,.process h2,.quote h2,.last-cta h2,.feature-copy h2{font-size:clamp(58px,13vw,78px)}.service-grid article{min-height:0}.service-no{margin-bottom:24px}.image-feature{grid-template-columns:1fr}.feature-photo{clip-path:none}.gallery{grid-template-columns:1fr}.project.large{grid-column:auto}.steps h3{font-size:35px}.sample-form h3{font-size:39px}}
@media(max-width:380px){.hero h1{font-size:60px}.feature-strip span{width:100%}.logo{font-size:15px}}
@media(prefers-reduced-motion:reduce){.service-grid article:before,.project-img{transition:none}.service-grid article:hover:before{transform:none}.project:hover .project-img{transform:none}}
/* Outlined arrows for the homepage's bundled demo. */
.phone-arrow{display:inline-flex;vertical-align:-.12em;align-items:center;justify-content:center;width:1em;height:1em;flex:none}
.phone-arrow svg{display:block;width:1em;height:1em}
.feature-strip span:before{content:'';display:inline-block;width:19px;height:19px;flex:none;background-color:#516d18;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center/contain no-repeat}
