body.public-web {
    margin: 0 !important;
    background: #f4f4f4 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    color: #111 !important;
}

body.public-web .modern-top {
    background: #111 !important;
    color: white !important;
    min-height: 78px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 45px !important;
}

body.public-web .modern-logo {
    color: white !important;
    font-size: 26px !important;
    font-weight: 900 !important;
}

body.public-web .modern-logo span {
    color: #e00000 !important;
}

body.public-web .modern-links {
    display: flex !important;
    gap: 28px !important;
}

body.public-web .modern-links a {
    color: white !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    font-size: 14px !important;
}

body.public-web .modern-phone {
    background: #e00000 !important;
    color: white !important;
    padding: 18px 26px !important;
    text-decoration: none !important;
    font-weight: 900 !important;
}

body.public-web .modern-hero {
    min-height: 650px !important;
    background:
        linear-gradient(90deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.15) 45%, rgba(0,0,0,.05) 100%),
        url('/images/hero-building.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
}

body.public-web .modern-hero-content {
    max-width: 720px !important;
    padding-left: 60px !important;
}

body.public-web .hero-label {
    color: #e00000 !important;
    text-transform: uppercase !important;
    font-weight: 900 !important;
    margin-bottom: 18px !important;
}

body.public-web .modern-hero h1 {
    color: white !important;
    font-size: 58px !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
    margin: 0 0 25px 0 !important;
    font-weight: 900 !important;
}

body.public-web .modern-hero h1 span {
    color: #e00000 !important;
}

body.public-web .modern-hero p {
    color: white !important;
    font-size: 19px !important;
    line-height: 1.7 !important;
    max-width: 650px !important;
}

body.public-web .hero-buttons {
    display: flex !important;
    gap: 18px !important;
    margin-top: 35px !important;
}

body.public-web .hero-buttons a {
    background: #e00000 !important;
    color: white !important;
    padding: 17px 34px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-weight: 900 !important;
}

body.public-web .hero-buttons a.outline {
    background: transparent !important;
    border: 2px solid white !important;
}



body.public-web .modern-features div {
    text-align: center !important;
    padding: 15px 28px !important;
    border-right: 1px solid #ddd !important;
}

body.public-web .modern-features div:last-child {
    border-right: 0 !important;
}

body.public-web .modern-features strong {
    display: block !important;
    text-transform: uppercase !important;
    font-size: 17px !important;
    margin-bottom: 12px !important;
}

body.public-web .modern-features p {
    line-height: 1.6 !important;
    color: #444 !important;
}

body.public-web .modern-main {
    display:none !important;
}

body.public-web .modern-main h1 {
    text-align: left !important;
    text-transform: uppercase !important;
    font-size: 34px !important;
}

body.public-web .page {
    font-size: 17px !important;
    line-height: 1.8 !important;
}

body.public-web .modern-footer {
    max-width: 1200px !important;
    margin: 0 auto !important;
    background: #111 !important;
    color: white !important;
    padding: 25px !important;
    text-align: center !important;
    display: block !important;
}

body.public-web .modern-footer strong {
    color: #e00000 !important;
}

@media (max-width: 900px) {
    body.public-web .modern-top,
    body.public-web .modern-links,
    body.public-web .hero-buttons,
    body.public-web .modern-footer {
        flex-direction: column !important;
        gap: 15px !important;
        text-align: center !important;
        padding: 25px !important;
    }

    body.public-web .modern-hero-content {
        padding: 35px !important;
    }

    body.public-web .modern-hero h1 {
        font-size: 36px !important;
    }

    body.public-web .modern-features {
        grid-template-columns: 1fr !important;
    }

    body.public-web .modern-features div {
        border-right: 0 !important;
        border-bottom: 1px solid #ddd !important;
    }
}
body.public-web .modern-hero-content {
    position: relative !important;
    z-index: 20 !important;
}

body.public-web .hero-buttons a {
    position: relative !important;
    z-index: 30 !important;
    pointer-events: auto !important;
}

body.public-web .modern-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.35);
}

body.public-web .modern-hero {
    position: relative !important;
}
.hero-label{
    color:#ff0000;
    font-size:22px;
    font-weight:700;
    margin-bottom:20px;
}

.modern-hero-content h1{
    color:#ffffff;
    font-size:82px;
    font-weight:900;
    line-height:0.95;
    margin-bottom:30px;
    text-transform:uppercase;
}

.modern-hero-content h1 span{
    color:#ff0000;
}

.modern-hero-content p{
    color:#ffffff;
    font-size:22px;
    line-height:1.5;
    max-width:650px;
    margin-bottom:35px;
}

.about-text h2{
    font-size:42px;
    margin-bottom:25px;
}

.about-image{
    width:50%;
}

.about-btn{
    display:inline-block;
    margin-top:20px;
    background:#e00000;
    color:#fff;
    padding:15px 30px;
    text-decoration:none;
    font-weight:bold;
}

.contact-strip{
    background:#fff;
    max-width:1200px;
    margin:0 auto;
    padding:40px;
    text-align:center;
}

.about-text h2{
    font-size:42px !important;
    color:#111 !important;
    margin-bottom:25px !important;
}

.about-text p{
    font-size:18px !important;
    line-height:1.7 !important;
    color:#222 !important;
}

.why-us h2{
    font-size:38px !important;
}

.modern-footer{
    max-width:1200px !important;
    margin:0 auto !important;
    display:block !important;
    text-align:center !important;
    background:#111 !important;
    color:#fff !important;
    padding:25px !important;

}
.about-section{
    width:100% !important;
    background:#fff !important;
    padding:60px;
    background:#fff;
    display:flex;
    align-items:center;
    gap:60px;
}

.about-text{
    flex:1;
}

.about-text h2{
    font-size:42px;
    margin-bottom:25px;
}

.about-text p{
    font-size:18px;
    line-height:1.7;
}

.about-image{
    flex:1;
}

.about-image img{
    width:100%;
    display:block;
}

.about-btn{
    display:inline-block;
    margin-top:20px;
    background:#e00000;
    color:#fff;
    padding:15px 30px;
    text-decoration:none;
    font-weight:bold;
}

.why-us{
    background:#070b12;
    color:#fff;
    text-align:center;
    padding:80px 30px;
}

.why-us h2{
    font-size:38px;
}

.why-grid{
    max-width:1200px;
    margin:50px auto 0;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:40px;
}

.contact-strip{
    max-width:1200px;
    margin:0 auto;
    padding:40px;
    background:#fff;
    text-align:center;
}

.modern-footer{
    text-align:center !important;
}

@media(max-width:900px){
    .about-section{
        flex-direction:column;
    }

    .why-grid{
        grid-template-columns:1fr;
    }
}
.contact-strip{
    max-width:1200px !important;
    margin:0 auto !important;
    padding:50px 60px !important;
    background:#fff !important;
    display:grid !important;
    grid-template-columns:2fr 2fr 1.5fr !important;
    gap:40px !important;
    align-items:center !important;
    text-align:left !important;
}
.about-section{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:70px 60px !important;
    background:#ffffff !important;
}

.about-text{
    background:transparent !important;
    padding:45px !important;
}

.about-image img{
    box-shadow:0 15px 35px rgba(0,0,0,.15) !important;
}
.pbs-page{
    background:#fff;
}

.pbs-hero{
    min-height:420px;
    background:
        linear-gradient(90deg, rgba(0,0,0,.85), rgba(0,0,0,.35)),
        url('/images/hero-building.jpg');
    background-size:cover;
    background-position:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:70px;
    color:#fff;
}

.pbs-hero h1{
    max-width:850px;
    font-size:52px;
    line-height:1.1;
    text-transform:uppercase;
    margin-bottom:25px;
}

.pbs-hero p{
    max-width:700px;
    font-size:20px;
    line-height:1.7;
}

.pbs-grid{
    max-width:1200px;
    margin:70px auto;
    padding:0 40px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.pbs-card li{
    text-align:left !important;
}

.pbs-card h3{
    color:#111;
    font-size:22px;
    text-transform:uppercase;
    margin-bottom:20px;
}

.pbs-card p{
    color:#333;
    font-size:17px;
    line-height:1.7;
}

.pbs-contact{
    max-width:1200px;
    margin:0 auto 80px;
    padding:70px 40px;
    background:#f4f4f4;
    text-align:center;
}

.pbs-contact h2{
    font-size:36px;
    text-transform:uppercase;
    margin-bottom:20px;
}

.pbs-contact p{
    font-size:18px;
    margin-bottom:30px;
}

@media(max-width:900px){
    .pbs-grid{
        grid-template-columns:1fr;
    }

    .pbs-hero h1{
        font-size:34px;
    }
}
.pbs-page{
    background:#fff !important;
}

.pbs-detail{
    max-width:1200px;
    margin:80px auto;
    padding:0 30px;
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:60px;
    align-items:center;
}

.pbs-detail-image img{
    width:100%;
    display:block;
    border-radius:4px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.pbs-detail-text h2{
    font-size:42px;
    font-weight:800;
    color:#111;
    margin-bottom:20px;
}

.red-line{
    width:60px;
    height:4px;
    background:#e30613;
    margin-bottom:25px;
}

.pbs-detail-text p{
    font-size:18px;
    line-height:1.8;
    color:#444;
    margin-bottom:20px;
}
.pbs-detail{
    max-width:1200px !important;
    margin:80px auto !important;
    padding:0 40px !important;
    display:grid !important;
    grid-template-columns:1.2fr 1fr !important;
    gap:70px !important;
    align-items:center !important;
}

.pbs-detail-image img{
    width:100% !important;
    display:block !important;
    box-shadow:0 15px 35px rgba(0,0,0,.15) !important;
}

.pbs-detail-text h2{
    font-size:42px !important;
    line-height:1.2 !important;
    color:#111 !important;
    margin-bottom:25px !important;
}

.pbs-detail-text h2:after{
    content:"";
    display:block;
    width:100%;
    max-width:260px;
    height:4px;
    background:#e00000;
    margin-top:15px;
}

.pbs-detail-text p{
    font-size:18px !important;
    line-height:1.8 !important;
    color:#333 !important;
    margin-bottom:20px !important;
}

.pbs-hero{
    background-image:url('/images/pbs-hero.jpg') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}

.pbs-detail-text p{
    font-size:18px !important;
    line-height:1.8 !important;
    max-width:520px !important;
}

.pbs-detail-text h2:after{
    content:"";
    display:block;
    width:100%;
    max-width:260px;
    height:4px;
    background:#e00000;
    margin-top:15px;
}
.pbs-hero{
    position: relative;
    min-height: 420px;
    background: url('/images/pbs-hero.jpg') center center/cover no-repeat;
}

.pbs-hero:before{
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        90deg,
        rgba(0,0,0,0.90) 0%,
        rgba(0,0,0,0.65) 30%,
        rgba(0,0,0,0.25) 55%,
        rgba(0,0,0,0.00) 100%
    );

    z-index: 1;
}

.pbs-hero-content{
    position: relative;
    z-index: 2;
}

.pbs-hero h1,
.pbs-hero p{
    color: #fff !important;
}
.pbs-hero{
    position:relative !important;
    min-height:420px !important;
    background-image:url('/images/pbs-hero.jpg') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    overflow:hidden !important;
}

.pbs-hero:before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(
        90deg,
        rgba(0,0,0,.78) 0%,
        rgba(0,0,0,.58) 28%,
        rgba(0,0,0,.18) 55%,
        rgba(0,0,0,0) 100%
    ) !important;
    z-index:1 !important;
}

.pbs-hero h1,
.pbs-hero p{
    position:relative !important;
    z-index:2 !important;
    color:#fff !important;
    opacity:1 !important;
}
.pbs-card ul{
    list-style-position:outside !important;
    padding-left:22px !important;
    margin:20px 0 0 0 !important;
}

.pbs-card li{
    text-align:left !important;
    margin-bottom:8px !important;
}

.pbs-card{
    text-align:left !important;
}

.pbs-card h3{
    text-align:center !important;
}

.pbs-card ul{
    margin:20px 0 0 25px !important;
    padding-left:20px !important;
}

.pbs-card li{
    text-align:left !important;
}
.pbs-card ul{
    display:block !important;
    width:180px !important;
    margin:20px auto 0 auto !important;
    padding-left:18px !important;
    text-align:left !important;
}

.pbs-card ul li{
    text-align:left !important;
    display:list-item !important;
    width:100% !important;
    margin:0 0 8px 0 !important;
    padding-left:0 !important;
    line-height:1.45 !important;
}
.pbs-card{
    min-width:260px !important;
}
.contact-page{
    max-width:1200px;
    margin:70px auto;
    padding:0 40px;
}

.contact-box{
    background:#fff;
    padding:60px;
    box-shadow:0 12px 35px rgba(0,0,0,.12);
    border-top:5px solid #e00000;
}

.contact-box h1{
    font-size:42px;
    text-transform:uppercase;
    margin-bottom:25px;
}

.contact-box p{
    font-size:18px;
    line-height:1.7;
}

.contact-info{
    margin-top:35px;
}

.contact-info a{
    color:#e00000;
    font-weight:700;
    text-decoration:none;
}
.contact-page{
    max-width:1200px !important;
    margin:70px auto !important;
    padding:0 40px !important;
}

.contact-box{
    background:#fff !important;
    padding:60px !important;
    box-shadow:0 12px 35px rgba(0,0,0,.12) !important;
    border-top:5px solid #e00000 !important;
}

.contact-box h1{
    font-size:42px !important;
    text-transform:uppercase !important;
    margin-bottom:25px !important;
}

.contact-box p{
    font-size:18px !important;
    line-height:1.7 !important;
}

.contact-info{
    margin-top:35px !important;
}

.contact-info a{
    color:#e00000 !important;
    font-weight:700 !important;
    text-decoration:none !important;
}
.pbs-projects{
    max-width:1200px;
    margin:50px auto;
    text-align:center;
}

.pbs-projects h2{
    font-size:38px;
    font-weight:800;
    margin-bottom:40px;
}

.pbs-projects-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:20px;
}

.project-box{
    background:#fff;
    padding:30px 15px;
    border-top:4px solid #e30613;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.project-box strong{
    display:block;
    font-size:42px;
    color:#e30613;
    margin-bottom:10px;
}

.project-box span{
    display:block;
    font-size:16px;
    font-weight:600;
}

.pbs-projects-note{
    margin-top:30px;
    font-size:18px;
    font-weight:600;
}

@media(max-width:1000px){
    .pbs-projects-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:600px){
    .pbs-projects-grid{
        grid-template-columns:1fr;
    }
}
.spo-hero{
    background:
        linear-gradient(to right,
        rgba(0,0,0,0.65) 0%,
        rgba(0,0,0,0.35) 30%,
        rgba(0,0,0,0) 60%),
        url('/images/spo-hero.jpg');

    background-size: cover;
    background-position: center;
    min-height: 520px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:80px;
    color:#fff;
}
.spo-hero{
    position:relative !important;
    min-height:420px !important;
    background-image:url('/images/spo-hero.jpg') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    overflow:hidden !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:70px !important;
    color:#fff !important;
}

.spo-hero:before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(
        90deg,
        rgba(0,0,0,.85) 0%,
        rgba(0,0,0,.65) 35%,
        rgba(0,0,0,.25) 60%,
        rgba(0,0,0,0) 100%
    ) !important;
    z-index:1 !important;
}

.spo-hero h1,
.spo-hero p{
    position:relative !important;
    z-index:2 !important;
    color:#fff !important;
    max-width:720px !important;
}

.spo-hero h1{
    font-size:52px !important;
    line-height:1.1 !important;
    text-transform:uppercase !important;
    margin-bottom:25px !important;
}

.spo-hero p{
    font-size:20px !important;
    line-height:1.7 !important;
}
.contact-logo{
    text-align:center;
    margin:20px 0 30px;
}

.contact-logo img{
    max-width:350px;
    height:auto;
}