.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:14px;
min-height:54px;
padding:0 28px;
border:1px solid transparent;
border-radius:var(--radius-small);
font-size:14px;
font-weight:600;
letter-spacing:.4px;
transition:background var(--transition-main),color var(--transition-main),border-color var(--transition-main),transform var(--transition-main);
}

.btn:hover{
transform:translateY(-2px);
}

.btn-primary{
background:var(--forest);
border-color:var(--forest);
color:var(--warm-white);
}

.btn-primary:hover{
background:var(--forest-dark);
border-color:var(--forest-dark);
}

.btn-light{
background:var(--warm-white);
border-color:var(--warm-white);
color:var(--forest-dark);
}

.btn-light:hover{
background:var(--cream);
border-color:var(--cream);
}

.btn-outline{
background:transparent;
border-color:var(--forest);
color:var(--forest);
}

.btn-outline:hover{
background:var(--forest);
color:var(--warm-white);
}

.btn-outline-light{
background:transparent;
border-color:rgba(255,255,255,.55);
color:var(--warm-white);
}

.btn-outline-light:hover{
background:var(--warm-white);
border-color:var(--warm-white);
color:var(--forest-dark);
}

.btn-arrow{
font-size:18px;
line-height:1;
transition:transform var(--transition-fast);
}

.btn:hover .btn-arrow{
transform:translateX(4px);
}

.text-link{
display:inline-flex;
align-items:center;
gap:10px;
padding-bottom:5px;
border-bottom:1px solid currentColor;
font-size:14px;
font-weight:600;
color:var(--forest);
transition:color var(--transition-fast);
}

.text-link::after{
content:"→";
font-size:17px;
transition:transform var(--transition-fast);
}

.text-link:hover{
color:var(--wood);
}

.text-link:hover::after{
transform:translateX(4px);
}

.eyebrow{
display:flex;
align-items:center;
gap:14px;
font-size:13px;
font-weight:600;
line-height:1.3;
letter-spacing:1.5px;
text-transform:uppercase;
color:var(--wood);
}

.eyebrow::before{
content:"";
width:36px;
height:1px;
flex-shrink:0;
background:currentColor;
}

.eyebrow-light{
color:var(--sand);
}

.label{
display:inline-flex;
align-items:center;
padding:7px 11px;
border:1px solid var(--line);
border-radius:var(--radius-small);
font-size:12px;
font-weight:500;
letter-spacing:.4px;
color:var(--moss);
}

.number{
font-family:var(--font-display);
font-size:18px;
line-height:1;
color:var(--wood);
}

.image{
position:relative;
overflow:hidden;
background:var(--cream);
}

.image img{
width:100%;
height:100%;
object-fit:cover;
transition:transform .7s ease;
}

.image-hover:hover img{
transform:scale(1.025);
}

.image-overlay::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(to bottom,rgba(23,34,27,.04),rgba(23,34,27,.38));
pointer-events:none;
}

.image-overlay-dark::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(to right,rgba(15,22,17,.72) 0%,rgba(15,22,17,.46) 48%,rgba(15,22,17,.16) 100%);
pointer-events:none;
}

.divider{
width:100%;
height:1px;
background:var(--line);
}

.divider-light{
background:rgba(255,255,255,.18);
}

.meta{
font-size:13px;
font-weight:500;
letter-spacing:.5px;
color:var(--gray);
}

.meta-light{
color:rgba(255,255,255,.68);
}

.contact-banner{
position:relative;
min-height:520px;
display:flex;
align-items:center;
overflow:hidden;
background:var(--forest-dark);
color:var(--warm-white);
}

.contact-banner-media{
position:absolute;
inset:0;
z-index:0;
}

.contact-banner-media img{
width:100%;
height:100%;
object-fit:cover;
object-position:center;
display:block;
}

.contact-banner-media::after{
content:"";
position:absolute;
inset:0;
background:rgba(15,22,17,.72);
}

.contact-banner .container{
position:relative;
z-index:2;
width:100%;
}

.contact-banner-content{
max-width:780px;
margin:0 auto;
text-align:center;
}

.contact-banner .eyebrow{
justify-content:center;
margin-bottom:24px;
color:var(--sand);
}

.contact-banner h2{
margin-bottom:22px;
font-size:48px;
color:var(--warm-white);
}

.contact-banner p{
max-width:610px;
margin:0 auto 34px;
font-size:17px;
line-height:1.7;
color:rgba(255,255,255,.76);
}

.contact-banner-actions{
display:flex;
align-items:center;
justify-content:center;
gap:16px;
flex-wrap:wrap;
}