/* Approved Red Rock palette. This pass changes presentation only. */
.topbar{background:var(--red);padding-top:10px;padding-bottom:10px}
.header{border-bottom:1px solid var(--line);padding-top:18px;padding-bottom:18px;min-height:112px}
.header .brand img{width:190px}
.hero{background:var(--white);color:var(--charcoal);padding:0;min-height:650px;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:0;overflow:visible}
.hero-content{padding:65px 5vw 92px 6.5vw}
.hero .eyebrow.light{color:var(--steel)}
.hero h1{font-size:clamp(43px,5vw,80px);line-height:1.02;letter-spacing:-.06em;margin-bottom:30px}
.hero h1>span{color:var(--red);border:0;padding:0}
.hero-description{color:var(--muted);font-size:17px}
.hero .text-link.light{color:var(--charcoal);border-color:var(--steel)}
.hero-actions{gap:24px}
.hero-aside{background:var(--red);align-self:stretch;padding:58px 42px 90px;border:0;color:var(--white);display:flex;flex-direction:column;justify-content:center;position:relative;isolation:isolate;overflow:hidden}
.hero-aside:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,transparent 62%,rgba(255,255,255,.045) 62%);pointer-events:none}
.hero-aside>p{color:var(--white);opacity:.85;margin-bottom:42px}
.hero-aside>div{padding:22px 0;border-color:rgba(255,255,255,.3);gap:21px}
.hero-aside>div>span{color:var(--white);opacity:.8;font-size:11px}
.hero-aside h2{font-size:clamp(29px,3vw,47px);font-weight:750;letter-spacing:-.045em}
.hero-aside>.aside-bottom{color:var(--white);opacity:.85;margin-top:32px}
.hero-bottom{color:var(--steel);left:6.5%;right:41%;border-color:var(--line);font-size:8px;bottom:22px}
.hero-bottom>span:last-child{display:none}
.intro-band{margin:0;background:var(--charcoal);padding:34px 6.5%;border:0;grid-template-columns:1fr 1.45fr 45px}
.intro-band p{color:#d5d7dc;font-size:15px}
.intro-band p:first-child{color:var(--white);font-size:23px}
.intro-band strong{color:var(--white)}
.intro-band>a{color:var(--white)}
.services{padding-top:88px;padding-bottom:72px}
.services .eyebrow,.about-copy>.eyebrow,.contact-title>.eyebrow{color:var(--red)}
.section-heading h2{font-size:clamp(33px,3.5vw,50px);font-weight:800}
.service-grid{border:0;gap:20px}
.service-card{border:1px solid var(--line);border-top:4px solid var(--red);padding:30px;min-height:350px;position:relative}
.service-card:last-child{border-right:1px solid var(--line)}
.service-card:hover{background:#f5f5f6;border-top-color:var(--charcoal)}
.service-num{margin-bottom:58px}
.service-title{font-size:24px;max-width:100%}
.service-title>span{margin-left:auto}
.service-copy{font-size:16px}
.service-more{color:var(--red);text-decoration:none;border-bottom:1px solid #d7aaac;align-self:flex-start;padding-bottom:4px}
.additional-capability{margin-top:22px;padding-top:30px}
.approach{border-left:12px solid var(--red);padding-top:80px;padding-bottom:80px;gap:8%}
.approach h2{font-weight:750}
.approach h2>span{color:var(--white)}
.steps article>span{background:var(--red);color:var(--white);min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;margin-top:2px;font-weight:600}
.about{gap:7%}
.about-visual{background:var(--red);color:var(--white);border:0;padding:40px;min-height:480px}
.about-visual .eyebrow{color:var(--white);opacity:.8}
.about-statement{font-size:39px;font-weight:750;line-height:1.16}
.about-statement>span{color:var(--white)}
.about-caption{border-top:1px solid #ffffff66;padding-top:22px;color:var(--white)}
.contact{background:var(--charcoal);color:var(--white);border:0;padding-top:80px;padding-bottom:80px;gap:7%}
.contact-title{padding-top:25px}
.contact-title>.eyebrow{color:#e5aeb0}
.contact-title>p:not(.eyebrow){color:#d1d4da}
.contact h2{font-size:clamp(36px,4vw,54px);font-weight:800}
.contact .phone-link>span{color:#e5aeb0}
.contact-title>.text-link{color:var(--white);border-color:#8b8e95}
.contact form{background:var(--white);color:var(--charcoal);padding:34px}
.contact form>.button{min-height:56px}
.footer-main{padding-bottom:30px}
.footer-identity>p{color:var(--red)}
.footer-bottom{font-size:11px}
@media(min-width:1600px){.hero{min-height:760px}.hero-content{padding-left:max(6.5vw,calc((100vw - 1380px)/2))}.hero-aside{padding-right:max(42px,calc((100vw - 1450px)/2))}.hero h1{font-size:85px}}
@media(max-width:1150px){.hero-content{padding-right:30px}.hero h1{font-size:clamp(42px,5.3vw,60px)}.hero-aside{padding-left:30px;padding-right:25px}.hero-actions{flex-direction:column;align-items:flex-start}.service-card{padding:25px 21px}.service-title{font-size:21px}.contact form{padding:27px}.about-statement{font-size:33px}}
@media(max-width:700px){.topbar{padding:9px 6%;font-size:8px}.header{min-height:96px;padding:12px 6%}.header .brand img{width:155px}.hero{display:block;min-height:0}.hero-content{padding:48px 6% 40px}.hero h1{font-size:clamp(34px,9.3vw,60px);line-height:1.05;margin-bottom:25px}.hero-description{font-size:16px}.hero-actions{gap:23px}.hero-aside{padding:29px 6% 32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hero-aside>p{display:none}.hero-aside>div{padding:0;border:0;display:block;min-width:0}.hero-aside>div>span{font-size:9px}.hero-aside h2{font-size:clamp(16px,5.1vw,24px);margin:11px 0 0;letter-spacing:-.04em}.hero-bottom{display:none}.intro-band{padding:30px 6%;gap:20px;grid-template-columns:1fr 35px}.intro-band p:first-child{font-size:21px}.intro-band p:nth-child(2){font-size:15px}.services{padding-top:55px;padding-bottom:55px}.section-heading h2{font-size:34px}.service-grid{gap:16px}.service-card{padding:27px;min-height:0;border-bottom:1px solid var(--line)}.service-num{margin-bottom:34px}.service-title{font-size:25px}.service-copy{font-size:16px}.service-more{font-size:12px}.approach{border-left:6px solid var(--red);padding-top:55px;padding-bottom:55px;gap:34px}.approach h2{font-size:31px}.steps article{gap:18px}.about{gap:35px}.about-visual{min-height:350px;padding:30px}.about-statement{font-size:34px}.contact{padding:48px 6%;gap:35px}.contact-title{padding-top:0}.contact h2{font-size:37px}.contact form{padding:25px 20px;border:0}.contact form h3{font-size:21px}.contact .form-row{grid-template-columns:1fr;gap:0}.contact label{font-size:11px}.footer-bottom{font-size:10px}}
