:root{
--site-accent:#365f7d;
--site-accent-dark:#26465e;
--site-accent-soft:#edf3f7;
--site-charcoal:#202522;
--site-grey:#68716b;
--site-light:#f5f7f5;
--site-border:#dfe6e1}
html{
scroll-behavior:smooth}
body{
font-family:Arial,Helvetica,sans-serif;
color:var(--site-charcoal);
background:#fff}
.container{
max-width:1180px}
.site-navbar{
border-bottom:1px solid rgba(32,37,34,.08);
box-shadow:0 8px 24px rgba(0,0,0,.03)}
.site-mark{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:58px;
height:42px;
padding:0 12px;
background:var(--site-accent);
color:#fff;
font-weight:800;
letter-spacing:.06em;
border-radius:3px}
.brand-copy{
display:flex;
flex-direction:column;
line-height:1.05;
font-size:.95rem}
.brand-copy small{
font-size:.68rem;
font-weight:500;
color:var(--site-grey);
letter-spacing:.05em;
text-transform:uppercase;
margin-top:4px}
.nav-link{
font-weight:600;
color:#3c443f!important;
padding:.8rem .75rem!important}
.nav-link:hover,.nav-link.active{
color:var(--site-accent)!important}
.btn-site{
background:var(--site-accent);
border-color:var(--site-accent);
color:#fff;
font-weight:700;
padding:.72rem 1.15rem}
.btn-site:hover{
background:var(--site-accent-dark);
border-color:var(--site-accent-dark);
color:#fff}
.btn-outline-site{
border:1px solid var(--site-accent);
color:var(--site-accent);
font-weight:700}
.btn-outline-site:hover{
background:var(--site-accent);
color:#fff}
.hero{
min-height:650px;
display:flex;
align-items:center;
position:relative;
background:linear-gradient(90deg,rgba(19,25,21,.90),rgba(19,25,21,.58),rgba(19,25,21,.18)),url('/assets/images/hero/hero-main.png') center/cover no-repeat;
color:#fff}
.hero:after{
content:"";
position:absolute;
inset:auto 0 0;
height:8px;
background:var(--site-accent)}
.hero .content{
position:relative;
z-index:2;
max-width:800px}
.eyebrow{
display:inline-flex;
align-items:center;
gap:.6rem;
text-transform:uppercase;
letter-spacing:.16em;
font-size:.78rem;
font-weight:800;
color:#dce6df}
.eyebrow:before{
content:"";
width:30px;
height:2px;
background:var(--site-accent)}
.hero h1{
font-size:clamp(2.8rem,6vw,5.5rem);
line-height:.98;
letter-spacing:-.045em;
font-weight:800;
margin:1.1rem 0 1.4rem}
.hero .lead{
font-size:1.22rem;
max-width:710px;
color:rgba(255,255,255,.88)}
.hero-actions{
display:flex;
gap:.8rem;
flex-wrap:wrap;
margin-top:2rem}
.btn-hero-light{
background:#fff;
color:var(--site-charcoal);
font-weight:800;
padding:.85rem 1.25rem}
.stat-strip{
background:var(--site-charcoal);
color:#fff}
.stat-strip .stat{
padding:1.35rem 0;
text-align:center;
border-right:1px solid rgba(255,255,255,.12)}
.stat strong{
display:block;
font-size:1.05rem}
.stat span{
font-size:.78rem;
text-transform:uppercase;
letter-spacing:.1em;
color:#afbbb3}
.section{
padding:84px 0}
.section-soft{
background:var(--site-light)}
.section-accent-soft{
background:var(--site-accent-soft)}
.section-title{
max-width:760px;
margin-bottom:3rem}
.kicker{
text-transform:uppercase;
color:var(--site-accent);
letter-spacing:.14em;
font-size:.78rem;
font-weight:800}
.section-title h2{
font-size:clamp(2rem,4vw,3.5rem);
letter-spacing:-.035em;
font-weight:800;
margin:.55rem 0 1rem}
.section-title p{
color:var(--site-grey);
font-size:1.08rem}
.service-card{
height:100%;
background:#fff;
border:1px solid var(--site-border);
padding:2rem;
transition:.2s ease}
.service-card:hover{
transform:translateY(-4px);
box-shadow:0 18px 45px rgba(28,42,33,.08)}
.service-icon{
width:54px;
height:54px;
display:flex;
align-items:center;
justify-content:center;
background:var(--site-accent-soft);
color:var(--site-accent);
font-size:1.35rem;
border-radius:50%;
margin-bottom:1.5rem}
.service-card h3{
font-size:1.2rem;
font-weight:800}
.service-card p{
color:var(--site-grey);
margin-bottom:0}
.stock-card{
height:100%;
border:1px solid var(--site-border);
background:#fff;
overflow:hidden}
.stock-image{
height:250px;
background:#dde3df center/cover no-repeat}
.stock-copy{
padding:1.4rem}
.stock-copy h3{
font-weight:800;
font-size:1.25rem}
.badge-site{
background:var(--site-accent-soft);
color:var(--site-accent-dark)}
.page-hero{
background:var(--site-charcoal);
color:#fff;
padding:95px 0 72px;
position:relative;
overflow:hidden}
.page-hero h1{
font-size:clamp(2.5rem,5vw,4.6rem);
font-weight:800;
letter-spacing:-.04em}
.page-hero p{
max-width:720px;
color:#cbd3cd;
font-size:1.15rem}
.tick-list{
list-style:none;
padding:0;
margin:1.5rem 0}
.tick-list li{
margin:.8rem 0}
.tick-list i{
color:var(--site-accent);
margin-right:.7rem}
.cta-band{
background:var(--site-accent);
color:#fff;
padding:60px 0}
.site-footer{
background:#161a17;
color:#aeb8b1}
.site-footer h6{
color:#fff;
text-transform:uppercase;
letter-spacing:.1em;
font-size:.75rem}
.site-footer a{
display:block;
color:#aeb8b1;
text-decoration:none;
margin:.45rem 0}
.site-footer a:hover{
color:#fff}
.footer-brand{
color:#fff;
font-size:1.4rem;
font-weight:900}
.footer-bottom{
border-top:1px solid rgba(255,255,255,.08);
font-size:.82rem}
.form-control,.form-select{
padding:.8rem;
border-color:#ccd6cf}
.form-control:focus{
border-color:var(--site-accent);
box-shadow:0 0 0 .2rem color-mix(in srgb,var(--site-accent) 20%,transparent)}
.placeholder-note{
font-size:.85rem;
color:#6b5e31;
background:#fff8dc;
border:1px solid #eee2a6;
padding:.8rem 1rem}
@media(max-width:991.98px){
.brand-copy{
display:none}
.hero{
min-height:580px}
.stat-strip .stat{
border-right:0;
border-bottom:1px solid rgba(255,255,255,.08)}
.section{
padding:64px 0}
}
