/* Nexgen Logix - service page enhancements (additive; loaded after existing CSS) */
:root{--ng-navy:#1d3768;--ng-gold:#d1b750;--ng-text:#333;--ng-border:#d9d9d9;--ng-tint:#f4f6fa;--ng-radius:12px}
html,body{overflow-x:hidden}
.svc-page{font-family:Arial,sans-serif;color:var(--ng-text)}
.svc-page h1,.svc-page h2,.svc-page h3,.svc-extras h2{font-family:'Raleway',Arial,sans-serif}

/* Hero */
.svc-hero{background:var(--ng-tint);border-radius:var(--ng-radius);padding:48px 32px 40px;margin:0 0 40px;text-align:center}
.svc-page .page-content-text.svc-hero h1{font-size:clamp(30px,4.4vw,50px);line-height:1.15;font-weight:700;margin:0 auto 18px;max-width:900px}
.svc-hero h1:after{content:"";display:block;width:64px;height:4px;background:var(--ng-gold);margin:18px auto 0;border-radius:2px}
.svc-hero p{font-size:19px;line-height:1.6;max-width:760px;margin:0 auto}

/* Section headings: one scale */
.svc-page .service-info h2,.svc-page .service-info h2.h3,.svc-page .page-content-text h2,.svc-extras h2{font-size:clamp(24px,2.6vw,34px)!important;line-height:1.25;color:var(--ng-navy);font-weight:700;margin:0 0 16px}
.svc-page .service-info h3{font-size:20px;color:var(--ng-navy);font-weight:700;margin:0 0 10px}
.svc-page .service-info p,.svc-page .service-info li{font-size:16px;line-height:1.7}
.svc-page .full-info{margin-bottom:8px}
.svc-page .service-list-wrap > .row + .row .full-info{padding:32px 0;border-top:1px solid #eef0f4}
.svc-page .service-list-wrap > .row + .row .full-info:first-child{border-top:0}
.svc-page .service-info p{max-width:860px}

/* Photo */
.svc-photo{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--ng-radius);box-shadow:0 10px 30px rgba(29,55,104,.15)}
.svc-page .service-image-wrap{margin-bottom:24px}

/* Who needs: card grid */
ul.svc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;list-style:none;padding:0;margin:20px 0 24px}
ul.svc-cards li{background:#fff;border:1px solid var(--ng-border);border-left:4px solid var(--ng-gold);border-radius:10px;padding:16px 18px;box-shadow:0 2px 8px rgba(29,55,104,.08);margin:0}
ul.svc-cards li:before{display:none}

/* What you get: checklist */
ul.svc-checklist{list-style:none;padding:0;margin:16px 0 24px;columns:2;column-gap:32px}
ul.svc-checklist li{position:relative;padding:0 0 12px 30px;break-inside:avoid;margin:0}
ul.svc-checklist li:before{content:"\2713";position:absolute;left:0;top:0;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;background:var(--ng-gold);color:#fff;font-size:12px;font-weight:700}

/* CTA band */
.svc-page .svc-cta,.svc-extras .svc-cta{background:var(--ng-navy);color:#fff;border-radius:var(--ng-radius);padding:40px 32px!important;text-align:center;margin:32px 0;border-top:0!important}
.svc-cta h2,.svc-cta h2 span{color:#fff!important}
.svc-cta p{color:#e6eaf2;margin-left:auto;margin-right:auto}
.svc-cta a{color:var(--ng-gold)}
.svc-cta-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;margin:8px 0 20px}
.svc-cta-contact a{font-size:22px;font-weight:700;color:var(--ng-gold)!important;text-decoration:none}
.svc-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:16px 0}
.svc-cta-actions .login-btn{background:var(--ng-gold);border-color:var(--ng-gold);color:var(--ng-navy)!important;font-weight:700;min-height:44px}
.svc-cta-actions .svc-btn-outline{background:transparent;border-color:#fff;color:#fff!important}

/* Related services / hub cards */
.svc-extras-section{padding:0 0 48px}
.svc-extras{padding-top:8px}
.svc-related{margin:40px 0 0}
.svc-related h2{text-align:center}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;margin-top:20px}
.svc-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ng-border);border-radius:var(--ng-radius);overflow:hidden;text-decoration:none!important;color:var(--ng-text);transition:transform .2s,box-shadow .2s}
.svc-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(29,55,104,.14)}
.svc-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.svc-card-title{font-family:'Raleway',Arial,sans-serif;font-weight:700;color:var(--ng-navy);font-size:18px;padding:14px 16px 4px}
.svc-card-title:after{content:"";display:block;width:36px;height:3px;background:var(--ng-gold);margin-top:8px}
.svc-card-text{font-size:14px;line-height:1.5;padding:4px 16px 18px}
.svc-hub-grid{margin:24px 0 40px}
.svc-faq-link{text-align:center;margin:24px 0 8px}
ul.svc-pill-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;justify-content:center}
ul.svc-pill-list li{margin:0;padding:0}
ul.svc-pill-list li:before{display:none}
ul.svc-pill-list a{display:inline-block;padding:8px 16px;border:1px solid var(--ng-navy);border-radius:999px;color:var(--ng-navy);font-size:15px}
ul.svc-pill-list a:hover{background:var(--ng-navy);color:#fff}

/* FAQ: accordion + AEO FAQ blocks styled alike */
.svc-faq .card,.svc-faq-cards .full-info{border:1px solid var(--ng-border)!important;border-radius:10px!important;margin:0 0 12px!important;background:#fff;overflow:hidden}
.svc-faq .card-header{background:#fff;border:0;padding:0}
.svc-faq .s-card-title{width:100%;text-align:left;font-family:'Raleway',Arial,sans-serif;font-size:18px;font-weight:600;color:var(--ng-navy);padding:16px 48px 16px 20px;position:relative;background:none;border:0}
.svc-faq .s-card-title:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--ng-gold)}
.svc-faq .s-card-title[aria-expanded="true"]{border-left:4px solid var(--ng-gold)}
.svc-faq .s-card-title[aria-expanded="true"]:after{content:"\2212"}
.svc-faq .card-body{padding:0 20px 18px!important}
.svc-faq-cards{display:block}
.svc-faq-cards .full-info{padding:18px 20px!important;border-left:4px solid var(--ng-gold)!important}
.svc-faq-cards .full-info h3{font-size:18px!important;margin-bottom:8px}
.svc-faq-cards .full-info p{margin-bottom:0}

/* Nav dropdown */
@media(min-width:992px){.navbar .dropdown-menu, .navbar-nav li ul{max-height:75vh;overflow-y:auto}}

/* Mobile */
@media(max-width:767px){
 .svc-hero{padding:32px 18px 28px;margin-bottom:28px}
 .svc-page .page-content-text.svc-hero h1{font-size:30px!important}
 .svc-hero p{font-size:17px}
 .svc-page .service-info h2,.svc-page .service-info h2.h3,.svc-page .page-content-text h2,.svc-extras h2{font-size:24px!important}
 .svc-page .page-content-text h1{font-size:30px!important;line-height:1.2}
 ul.svc-checklist{columns:1}
 ul.svc-cards{grid-template-columns:1fr}
 .svc-page .svc-cta,.svc-extras .svc-cta{padding:28px 18px!important}
 .svc-cta-contact a{font-size:19px}
 .svc-cta-actions .login-btn{width:100%;text-align:center}
 .svc-grid{grid-template-columns:1fr 1fr;gap:12px}
 .svc-card-title{font-size:15px;padding:10px 12px 2px}
 .svc-card-text{font-size:13px;padding:2px 12px 12px}
 .svc-photo{aspect-ratio:4/3}
 .svc-faq .s-card-title{font-size:16px}
}
@media(max-width:420px){.svc-grid{grid-template-columns:1fr}}
@media(min-width:992px){.svc-page .service-image-wrap{position:sticky;top:110px}}
.svc-extras-section .page-content-area,.svc-extras-section{padding-top:0}
.svc-cta-actions{column-gap:0}
.svc-cta-actions .login-btn{margin:0 6px}
/* Hub: All Surveying Services card grid (3/2/1) */
.svc-hub-grid.svc-grid{grid-template-columns:repeat(3,1fr);gap:24px}
.svc-card{height:100%;box-shadow:0 2px 10px rgba(29,55,104,.08)}
.svc-card-text{flex:1 1 auto}
.svc-card-more{font-family:'Raleway',Arial,sans-serif;font-weight:700;color:var(--ng-gold);font-size:15px;padding:0 16px 18px}
.svc-card:hover .svc-card-more{color:var(--ng-navy)}
@media(max-width:991px){.svc-hub-grid.svc-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:575px){.svc-hub-grid.svc-grid{grid-template-columns:1fr}.svc-hub-grid .svc-card-title{font-size:18px}.svc-hub-grid .svc-card-text{font-size:14px}}
@media(max-width:767px){.svc-page .service-info,.svc-page .service-info p,.svc-page .service-info h2,.svc-page .service-info h3,.svc-page .service-info li{text-align:left!important}.svc-page .svc-cta,.svc-page .svc-cta p,.svc-page .svc-cta h2{text-align:center!important}}
