@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{--black:#050505;--black2:#0b0b0b;--panel:#111;--gold:#B97808;--gold2:#D7A62A;--silver:#C9C9C9;--white:#fff;--muted:#8f8f8f;--line:rgba(255,255,255,.11);--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#eee;font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--container),92%);margin:auto}button,input,select,textarea{font:inherit}
.site-header{height:84px;position:sticky;top:0;z-index:100;background:rgba(5,5,5,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{height:100%;display:flex;align-items:center;gap:28px}.brand{width:210px;flex:none}.brand .sharpline-logo{width:100%;height:64px;object-fit:contain;object-position:left center}.primary-nav{margin-left:auto}.main-nav{display:flex;list-style:none;margin:0;padding:0;gap:24px}.main-nav a{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#cfcfcf}.main-nav a:hover,.main-nav a.active{color:var(--gold2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:0 22px;border:1px solid rgba(215,166,42,.48);border-radius:0;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(197,154,59,.14));color:#f4f0e7;box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 10px 28px rgba(0,0,0,.24);backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%);font-size:10px;font-weight:800;letter-spacing:1.1px;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.14),transparent 42%,rgba(215,166,42,.10));pointer-events:none}.btn span{position:relative;z-index:1;font-size:18px;line-height:1;color:#d7a62a;background:none!important}.btn-gold{background:linear-gradient(135deg,rgba(215,166,42,.18),rgba(197,154,59,.10));color:#fff}.btn-gold:hover{background:linear-gradient(135deg,rgba(215,166,42,.28),rgba(197,154,59,.16));border-color:rgba(232,193,92,.72);color:#fff}.btn-ghost{border-color:rgba(255,255,255,.24);color:#fff;background:rgba(255,255,255,.05)}.btn-ghost:hover{border-color:var(--gold);color:#fff;background:rgba(215,166,42,.10)}.menu-toggle{display:none;background:none;border:0}.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px}
.eyebrow{display:inline-block;color:var(--gold2);font-size:10px;line-height:1.3;letter-spacing:2px;font-weight:800}.eyebrow.dark{color:#251800}
.home-hero{min-height:760px;position:relative;display:flex;align-items:center;overflow:hidden;background:#070707}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.6}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.86) 43%,rgba(5,5,5,.18) 100%)}.hero-inner{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;padding:120px 0 95px}.hero-copy{max-width:790px}.hero-copy h1{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(52px,7vw,96px);line-height:.95;letter-spacing:-3px;margin:18px 0 25px}.hero-copy p{max-width:650px;color:#c0c0c0;font-size:17px;margin:0}.hero-actions{display:flex;gap:12px;margin-top:32px}.hero-stamp{border-left:1px solid var(--line);padding-left:25px;text-align:right;color:#666}.hero-stamp b{display:block;font-size:58px;color:var(--gold);line-height:1}.hero-stamp span{font-size:8px;letter-spacing:2px}
.gold-intro{background:var(--gold);color:#090909;padding:55px 0}.gold-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.gold-intro h2{font-size:38px;line-height:1.1;margin:10px 0}.gold-intro p{margin:0;font-size:16px}
.home-section{padding:100px 0;background:var(--black)}.dark-alt{background:#0d0d0d}.home-section h2{font-size:46px;line-height:1.05;letter-spacing:-1px;margin:13px 0}.section-lead{max-width:700px;color:#999;font-size:15px;margin:0 0 45px}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service-card{min-height:205px;padding:30px 25px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:55px 1fr;gap:12px}.service-card:nth-child(odd){border-right:1px solid var(--line)}.service-card .num{font-size:10px;color:var(--gold);letter-spacing:1px}.service-card h3,.industry-card h3,.trust-card h3,.cap-card h3{line-height:1.2;margin:0;font-size:20px}.service-card p,.trust-card p{color:#858585;font-size:13px;margin:12px 0}.service-card a{font-size:9px;letter-spacing:1.2px;color:var(--gold2);font-weight:800}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.industry-card{position:relative;min-height:185px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.industry-card>span,.trust-card>span,.cap-card>span{font-size:10px;color:var(--gold)}.industry-card h3{margin-top:35px;max-width:230px}.industry-card i{position:absolute;right:22px;bottom:20px;color:var(--gold);font-style:normal;font-size:20px}.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.trust-card{min-height:205px;padding:25px 18px;border-right:1px solid var(--line)}.trust-card:last-child{border-right:0}.trust-card h3{font-size:16px;margin-top:40px}.cap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.cap-card{min-height:190px;background:#131313;border:1px solid var(--line);padding:23px;display:flex;flex-direction:column;justify-content:space-between}.cap-card h3{font-size:18px}.cap-card b{color:var(--gold);font-size:18px}.cta-band{padding:80px 0;background:#111;border-top:1px solid var(--line)}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.cta-band h2{font-size:52px;line-height:1.03;margin:10px 0}.cta-band p{color:#999;margin:0 0 22px}
.inner-hero{min-height:500px;display:flex;align-items:end;padding:90px 0;background:radial-gradient(circle at 80% 20%,rgba(197,162,93,.12),transparent 35%),#090909;border-bottom:1px solid var(--line)}.inner-hero-inner{display:grid;grid-template-columns:1fr 110px;gap:60px;align-items:end}.inner-hero h1{font-size:clamp(48px,6vw,80px);line-height:.98;letter-spacing:-2.5px;margin:15px 0 20px}.inner-hero p{color:#a5a5a5;font-size:17px;max-width:700px;margin:0}.page-no{font-size:62px;color:var(--gold);border-left:1px solid var(--line);padding-left:22px;line-height:1}
.content-block{padding:95px 0;background:#080808}.block-alt{background:#101010}.content-grid{display:grid;grid-template-columns:1fr .9fr;gap:85px;align-items:center}.content-grid h2{font-size:43px;line-height:1.08;margin:13px 0 20px}.rich-copy{color:#9d9d9d;font-size:15px;max-width:650px}.visual{min-height:340px}.visual img{width:100%;height:400px;object-fit:cover;border:1px solid var(--line)}.visual-placeholder{height:400px;border:1px solid var(--line);background:linear-gradient(135deg,#171717,#080808);display:flex;align-items:flex-end;justify-content:space-between;padding:25px}.visual-placeholder span{font-size:9px;letter-spacing:2px;color:#555}.visual-placeholder b{font-size:65px;color:rgba(197,162,93,.3)}
.services-intro,.industry-page-grid,.capability-overview{padding:70px 0 30px}.services-intro h2,.industry-page-grid h2,.capability-overview h2{font-size:42px;line-height:1.05;margin:13px 0}.service-detail{padding:82px 0;background:#080808}.service-detail-grid{display:grid;grid-template-columns:80px 1fr .72fr;gap:50px;align-items:center}.service-number{font-size:52px;color:var(--gold)}.service-detail h2{font-size:39px;line-height:1.08;margin:12px 0}.service-detail p{color:#999}.service-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.service-points span{font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:8px 10px;border:1px solid var(--line);color:#aaa}.mini-cta{padding:70px 0;background:var(--gold);color:#090909}.mini-cta h2{font-size:36px;margin:0 0 20px}.contact-section{padding:95px 0;background:#080808}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:75px}.contact-section h2,.contact-side h2{font-size:40px;line-height:1.08;margin:13px 0 30px}.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full,.enquiry-form .full{grid-column:1/-1}.field label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:#888;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:1px solid #2a2a2a;background:#111;color:#eee;padding:13px 14px;border-radius:0;outline:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.form-status{font-size:12px;color:var(--gold);margin-top:10px}.form-status.success{color:#72d28b}.contact-side{border-left:1px solid var(--line);padding-left:40px}.direct-link{display:grid;grid-template-columns:70px 1fr 20px;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}.direct-link small,.address-box small{font-size:8px;letter-spacing:1.5px;color:#666}.direct-link strong{font-size:13px}.direct-link span{color:var(--gold);font-size:18px}.address-box{margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}.address-box p{font-size:13px;color:#999}.text-link{font-size:9px;letter-spacing:1px;color:var(--gold2);font-weight:800}.contact-bottom{padding:80px 0;background:var(--gold);color:#090909}.contact-bottom h2{font-size:52px;margin:10px 0}.site-footer{background:#050505}.footer-main{display:grid;grid-template-columns:1.4fr .75fr 1fr 1fr;gap:45px;padding:68px 0}.footer-brand .sharpline-logo{width:215px;height:80px;object-fit:contain;object-position:left center}.footer-brand p{font-size:12px;color:#777}.footer-label{display:block;color:var(--gold2);font-size:9px;letter-spacing:2px;font-weight:800;margin:7px 0 18px}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:6px 0}.site-footer a,.site-footer p{font-size:12px;color:#8c8c8c}.site-footer a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--line);padding:17px 0;color:#5f5f5f;font-size:10px}.footer-bottom .container{display:flex;justify-content:space-between}.floating-actions{position:fixed;right:18px;bottom:18px;z-index:110;display:flex;flex-direction:column;gap:8px}.floating-actions a{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#111;border:1px solid #333;font-size:10px;font-weight:800}.floating-actions .wa{background:var(--gold);color:#070707;border-color:var(--gold)}
@media(max-width:1050px){.main-nav{gap:14px}.main-nav a{font-size:9px}.brand{width:180px}.trust-grid{grid-template-columns:repeat(3,1fr)}.cap-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.site-header{height:76px}.brand{width:170px}.brand .sharpline-logo{height:58px}.menu-toggle{display:block;margin-left:auto}.primary-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#080808;border-bottom:1px solid var(--line);padding:15px}.primary-nav.open{display:block}.main-nav{flex-direction:column;gap:0}.main-nav li{border-bottom:1px solid var(--line)}.main-nav a{display:block;padding:13px 3px}.header-action{display:none}.hero-inner,.inner-hero-inner{grid-template-columns:1fr}.hero-stamp{display:none}.home-hero{min-height:670px}.gold-grid,.cta-grid,.content-grid,.contact-grid,.service-detail-grid{grid-template-columns:1fr;gap:35px}.home-section{padding:75px 0}.home-section h2{font-size:38px}.industry-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-card{border-right:0;border-bottom:1px solid var(--line)}.cap-grid{grid-template-columns:repeat(2,1fr)}.page-no{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.inner-hero{min-height:420px;padding:75px 0}.content-block,.service-detail{padding:72px 0}.visual img,.visual-placeholder{height:300px}.contact-side{border-left:0;padding-left:0}.footer-main{grid-template-columns:1fr 1fr}.footer-bottom .container{flex-direction:column;gap:5px}}
@media(max-width:560px){.hero-copy h1{font-size:48px;letter-spacing:-2px}.hero-copy p{font-size:15px}.hero-actions{flex-direction:column;align-items:flex-start}.industry-grid,.trust-grid,.cap-grid,.footer-main,.enquiry-form{grid-template-columns:1fr}.inner-hero h1{font-size:44px}.content-grid h2,.service-detail h2{font-size:34px}.home-section h2,.services-intro h2{font-size:34px}.cta-band h2,.contact-bottom h2{font-size:42px}.contact-section h2,.contact-side h2{font-size:34px}}

/* V3.4 MOBILE UI POLISH
 * Mobile is intentionally single-column for readability and to prevent
 * cramped service cards / clipped content on 360-430px screens.
 */
@media (max-width: 850px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .container{width:calc(100% - 32px);max-width:none}
  .site-header{height:72px}
  .header-inner{gap:12px}
  .brand{width:145px}
  .brand .sharpline-logo{height:54px}
  .primary-nav{top:72px;max-height:calc(100vh - 72px);overflow:auto}
  .home-hero{min-height:620px}
  .hero-inner{padding:90px 0 70px}
  .hero-copy{max-width:100%}
  .hero-copy h1{font-size:clamp(44px,13vw,62px);letter-spacing:-2px}
  .hero-copy p{font-size:14px;line-height:1.65;max-width:100%}
  .hero-actions{flex-direction:column;align-items:stretch;max-width:230px}
  .hero-actions .btn{width:100%}
  .gold-intro{padding:52px 0}
  .gold-grid{grid-template-columns:1fr;gap:25px}
  .gold-intro h2{font-size:32px}
  .home-section{padding:68px 0}
  .home-section h2{font-size:34px}
  .section-lead{font-size:14px;margin-bottom:32px}
  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:0;padding:28px 18px;grid-template-columns:38px 1fr;gap:10px}
  .service-card:nth-child(odd){border-right:0}
  .service-card h3{font-size:19px}
  .service-card p{font-size:13px}
  .industry-grid{grid-template-columns:1fr}
  .industry-card{min-height:150px}
  .industry-card h3{margin-top:25px;max-width:none}
  .trust-grid{grid-template-columns:1fr}
  .trust-card{min-height:150px;border-right:0;border-bottom:1px solid var(--line)}
  .trust-card:last-child{border-bottom:0}
  .trust-card h3{margin-top:25px}
  .cap-grid{grid-template-columns:1fr}
  .cap-card{min-height:145px}
  .cta-band{padding:60px 0}
  .cta-grid{gap:30px}
  .cta-band h2,.contact-bottom h2{font-size:38px}
  .inner-hero{min-height:360px;padding:65px 0}
  .inner-hero-inner{grid-template-columns:1fr;gap:25px}
  .inner-hero h1{font-size:42px;letter-spacing:-1.5px}
  .page-no{font-size:42px}
  .content-block,.service-detail,.contact-section{padding:64px 0}
  .content-grid,.service-detail-grid,.contact-grid{grid-template-columns:1fr;gap:30px}
  .content-grid h2,.service-detail h2,.contact-section h2,.contact-side h2{font-size:32px}
  .visual img,.visual-placeholder{height:260px}
  .service-detail-grid{display:grid}
  .service-number{font-size:40px}
  .contact-grid{gap:45px}
  .enquiry-form{grid-template-columns:1fr}
  .field.full,.enquiry-form .full{grid-column:auto}
  .contact-side{border-left:0;padding-left:0}
  .footer-main{grid-template-columns:1fr;gap:35px;padding:55px 0}
  .footer-brand .sharpline-logo{width:185px}
  .footer-bottom .container{flex-direction:column;gap:5px}
  .floating-actions{right:12px;bottom:12px}
}
@media (max-width: 420px){
  .container{width:calc(100% - 28px)}
  .brand{width:132px}
  .brand .sharpline-logo{height:50px}
  .home-hero{min-height:590px}
  .hero-inner{padding:80px 0 58px}
  .hero-copy h1{font-size:45px;line-height:.96}
  .hero-copy p{font-size:13px}
  .home-section{padding:58px 0}
  .home-section h2,.services-intro h2{font-size:31px}
  .service-card{padding:24px 14px}
  .service-card h3{font-size:18px}
  .inner-hero h1{font-size:38px}
}

/* V3.5 VISUAL POLISH
 * Premium industrial B2B treatment. Page numbering is intentionally removed.
 */
.page-no{display:none!important}
body{font-family:Montserrat,Inter,Arial,Helvetica,sans-serif;background:#050505;color:#f3f3f3}
.site-header{box-shadow:0 8px 30px rgba(0,0,0,.22)}
.brand{width:190px}
.brand .sharpline-logo{width:175px;height:68px}
.home-hero{min-height:calc(100vh - 84px);min-height:720px}
.home-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 38%,rgba(197,162,93,.10),transparent 32%)}
.hero-copy h1{font-family:Montserrat,Inter,Arial,sans-serif;font-weight:800}
.hero-copy p{color:#b8b8b8}
.btn{transition:transform .2s ease,background .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-2px)}
.gold-intro{position:relative;overflow:hidden}
.gold-intro:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(0,0,0,.14);border-radius:50%;right:-120px;top:-170px}
.home-section{position:relative}
.home-section h2,.content-grid h2,.service-detail h2,.contact-section h2,.contact-side h2{font-family:Montserrat,Inter,Arial,sans-serif;font-weight:800}
.service-card,.industry-card,.trust-card,.cap-card{transition:background .25s ease,border-color .25s ease,transform .25s ease}
.service-card:hover,.industry-card:hover,.trust-card:hover,.cap-card:hover{background:#101010;border-color:rgba(197,162,93,.34)}
.service-card:hover{transform:translateY(-2px)}
.service-card h3,.industry-card h3,.trust-card h3,.cap-card h3{color:#f5f5f5}
.visual-placeholder{position:relative;overflow:hidden}
.visual-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(197,162,93,.10),transparent 45%,rgba(255,255,255,.03))}
.inner-hero{min-height:440px}
.inner-hero-inner{grid-template-columns:1fr}
.inner-hero h1{max-width:950px}
.contact-section{background:#070707}
.enquiry-form button:disabled{opacity:.65;cursor:wait}
.submission-success{display:flex;align-items:flex-start;gap:20px;padding:24px 25px;margin:0 0 30px;background:#0e1a12;border:1px solid rgba(114,210,139,.35)}
.success-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#72d28b;color:#07100a;font-weight:900;font-size:22px;flex:none}
.submission-success h3{font-size:24px;line-height:1.1;margin:5px 0 6px;color:#fff}
.submission-success p{margin:0;color:#a9b8ad;font-size:13px}
.form-status.success{color:#72d28b;font-weight:700}
.site-footer{background:#000;color:#d7d7d7}
.site-footer .footer-brand p,.site-footer a,.site-footer p{color:#a8a8a8}
.site-footer a:hover{color:#fff}
.site-footer .footer-label{color:var(--gold2)}
.site-footer .btn-gold{background:var(--gold2);color:#050505!important}
.footer-bottom{background:#000;color:#777}
.footer-bottom .container{color:#777}
.floating-actions a{box-shadow:0 8px 25px rgba(0,0,0,.45)}
@media(max-width:850px){
  .brand{width:145px}.brand .sharpline-logo{width:135px;height:54px}
  .home-hero{min-height:620px}
  .inner-hero{min-height:330px}
  .inner-hero-inner{gap:0}
  .submission-success{padding:20px;gap:14px}
}
@media(max-width:560px){
  .brand .sharpline-logo{width:125px;height:50px}
  .hero-copy h1{font-size:clamp(43px,12.5vw,58px)}
  .submission-success{padding:18px}
  .submission-success h3{font-size:21px}
}


/* v3.6 refinements */
.submission-success{display:flex;gap:18px;align-items:flex-start;margin:22px 0;padding:25px;border:1px solid rgba(197,162,93,.42);background:linear-gradient(135deg,#151515,#0a0a0a)}
.submission-success .success-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#070707;font-weight:900;flex:none}
.submission-success h3{margin:4px 0 6px;font-size:24px}.submission-success p{margin:0;color:#999;font-size:13px}.submission-error{margin:22px 0;padding:18px 20px;border:1px solid rgba(220,80,60,.5);background:#150c0a;color:#eee}.submission-error strong{color:#ffb3a8}.submission-error p{margin:5px 0 0;color:#bbb}.enquiry-form.is-submitted{display:none}
.site-footer{color:#ddd}.site-footer .footer-main,.site-footer .footer-main *{color:inherit}.site-footer .footer-brand p,.site-footer li a,.site-footer> .footer-main p,.site-footer .footer-main a{color:#c1c1c1}.site-footer .footer-label{color:var(--gold2)}.site-footer a:hover{color:#fff}.site-footer .btn-gold{color:#080808!important}.site-footer .footer-bottom,.site-footer .footer-bottom *{color:#9a9a9a}.site-footer .footer-bottom{background:#050505}.floating-actions .wa{font-size:10px;letter-spacing:.5px}
@media(max-width:560px){.submission-success{padding:20px;gap:14px}.submission-success h3{font-size:21px}.floating-actions{right:14px;bottom:14px}.floating-actions a{width:50px;height:50px}}

/* V3.7 visual polish */
.card-image{height:210px;overflow:hidden;background:#101010;border-bottom:1px solid rgba(255,255,255,.08)}
.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.service-card:hover .card-image img{transform:scale(1.035)}
.industry-list-section{padding:100px 0;border-top:1px solid rgba(255,255,255,.08)}
.industry-list-section h2{max-width:800px;margin:12px 0 36px}
.industry-grid .industry-card{min-height:150px}
.floating-actions{z-index:9999}
.floating-actions .wa{background:#25d366!important;color:#fff!important;border:0}
.floating-actions .wa span{font-weight:800;letter-spacing:.5px}
@media(max-width:700px){
 .card-image{height:180px}
 .industry-list-section{padding:70px 0}
}

/* v3.8 final usability polish */
.page-no,.hero-stamp{display:none!important}
.map-preview{margin-top:22px;width:100%;height:250px;border:1px solid rgba(255,255,255,.12);background:#111;overflow:hidden}
.map-preview iframe{width:100%;height:100%;border:0;display:block;filter:none !important;}
.address-box .text-link{display:inline-block;margin-top:16px}
.floating-actions .wa svg{width:24px;height:24px;fill:currentColor}
.floating-actions .wa{display:grid!important;place-items:center}
.floating-actions .wa-placeholder{opacity:.75}
.site-footer{background:#000!important;color:#e2e2e2!important}
.site-footer .footer-main,.site-footer .footer-main p,.site-footer .footer-main a{color:#c9c9c9!important}
.site-footer .footer-label{color:var(--gold2)!important}
.site-footer .footer-brand p{color:#aaa!important}
.site-footer .footer-bottom,.site-footer .footer-bottom *{color:#888!important}
@media(max-width:700px){.map-preview{height:220px}}


/* V3.9 — layout and navigation correction */
.mobile-enquire{display:none!important}
.service-detail-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr)!important;gap:70px!important}
.service-detail-copy{min-width:0}
.service-detail-copy h2{max-width:720px}
.service-detail .visual{min-width:0}
.visual-placeholder b,.service-number{display:none!important}

/* Home service cards: image/content are stacked inside each card, never squeezed
 * into the small numbering column. */
.service-card{display:flex!important;flex-direction:column!important;gap:0!important;padding:0!important;min-height:390px!important}
.service-card:nth-child(odd){border-right:1px solid var(--line)!important}
.service-card .card-image{width:100%;height:210px;flex:none}
.service-card>div:not(.card-image){padding:25px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.service-card h3{font-size:22px!important;max-width:520px}
.service-card p{max-width:520px}
.service-card a{margin-top:auto;padding-top:16px}

/* Consistent dark footer contrast */
.site-footer,.site-footer *{text-shadow:none}
.site-footer{background:#000!important}
.site-footer .footer-main p,
.site-footer .footer-main a,
.site-footer .footer-main li,
.site-footer .footer-brand p{color:#d0d0d0!important}
.site-footer .footer-label{color:#D7A62A!important}

.site-footer .footer-bottom,.site-footer .footer-bottom *{color:#9c9c9c!important}

/* Floating actions */
.floating-actions .call svg{width:21px;height:21px;fill:#fff}
.floating-actions .call{display:grid;place-items:center}

/* Desktop contact/enquiry CTA remains the only contact action in the header. */
@media(max-width:850px){
  .primary-nav.open .mobile-enquire{display:block!important}
  .primary-nav.open .mobile-enquire a{
    margin:12px 0 2px;
    padding:15px 18px!important;
    background:#D7A62A;
    color:#080808!important;
    font-weight:800;
    text-align:center;
    border:0;
  }
  .primary-nav.open .mobile-enquire a span{color:#080808!important}
  .service-detail-grid{grid-template-columns:1fr!important;gap:34px!important}
  .service-detail-copy h2{max-width:100%}
}
@media(max-width:560px){
  .service-card{min-height:0!important}
  .service-card .card-image{height:190px}
  .service-card>div:not(.card-image){padding:22px 18px 25px}
  .service-card h3{font-size:20px!important}
  .floating-actions .call svg{width:20px;height:20px}
}

/* Prevent any template from reintroducing page-number decoration. */
.page-no,.hero-stamp,.service-detail .service-number,.visual-placeholder b{display:none!important}


/* =========================================================
   SHARPLINE v4.0 — FINAL HEADER / FOOTER / MOBILE POLISH
   ========================================================= */

/* Fixed header on every page. */
.site-header{
  position:fixed!important;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:10000;
}
.site-header + main{padding-top:84px}
body.admin-bar .site-header{top:32px}
body.admin-bar .site-header + main{padding-top:84px}

/* Mobile navigation opens below the fixed header and keeps the CTA at the end. */
@media(max-width:850px){
  .site-header{height:76px}
  .site-header + main{padding-top:76px}
  body.admin-bar .site-header{top:46px}
  body.admin-bar .site-header + main{padding-top:76px}
  .primary-nav{
    top:76px!important;
    max-height:calc(100vh - 76px);
    overflow-y:auto;
  }
  body.admin-bar .primary-nav{top:76px!important}
  .primary-nav.open .mobile-enquire{
    display:block!important;
    border-top:1px solid rgba(255,255,255,.12);
    margin-top:4px;
    padding-top:14px;
  }
  .primary-nav.open .mobile-enquire a{
    margin:0!important;
    width:100%;
    min-height:52px;
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:#D7A62A!important;
    color:#050505!important;
    border:0!important;
  }
  .primary-nav.open .mobile-enquire a span{color:#050505!important}
}

/* Footer: true black background with deliberate readable contrast. */
.site-footer{
  background:#000!important;
  color:#f1f1f1!important;
  border-top:1px solid rgba(255,255,255,.10);
}
.site-footer .footer-main,
.site-footer .footer-main *{color:#f1f1f1}
.site-footer .footer-main p,
.site-footer .footer-main a,
.site-footer .footer-main li{color:#c8c8c8!important}
.site-footer .footer-main a:hover{color:#fff!important}
.site-footer .footer-label{color:#D7A62A!important}
.site-footer .footer-brand p{color:#b8b8b8!important}

.site-footer .footer-main .btn:hover{
  background:#B97808!important;
  color:#050505!important;
}
.site-footer .footer-bottom{
  background:#000!important;
  border-top:1px solid rgba(255,255,255,.12);
  color:#8f8f8f!important;
}
.site-footer .footer-bottom *{color:#8f8f8f!important}

/* Floating actions: WhatsApp + unmistakable telephone handset. */
.floating-actions{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  z-index:11000!important;
  gap:10px!important;
}
.floating-actions a{
  width:52px!important;
  height:52px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  box-shadow:0 8px 24px rgba(0,0,0,.5);
}
.floating-actions .wa{
  background:#25D366!important;
  color:#fff!important;
  border:0!important;
}
.floating-actions .wa svg{
  width:26px!important;
  height:26px!important;
  fill:currentColor!important;
}
.floating-actions .call{
  background:#111!important;
  color:#fff!important;
  border:1px solid #D7A62A!important;
}
.floating-actions .call svg{
  width:22px!important;
  height:22px!important;
  fill:currentColor!important;
}
.floating-actions .call:hover{
  background:#D7A62A!important;
  color:#050505!important;
}

/* No decorative page/section numbers. */
.page-no,.hero-stamp,.service-detail .service-number,.visual-placeholder b{display:none!important}

/* Better desktop service composition. */
.service-detail-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;
  gap:80px!important;
}
.service-detail-copy{max-width:720px}
.service-detail-copy h2{font-size:clamp(42px,4.2vw,68px)!important;letter-spacing:-1.8px}
.service-detail .visual{min-width:0}
.service-detail .visual img,
.service-detail .visual-placeholder{min-height:430px;height:430px}

/* Home service cards: equal visual rhythm. */
.service-grid{align-items:stretch}
.service-card{min-height:430px!important}
.service-card .card-image{height:225px!important}
.service-card>div:not(.card-image){padding:28px!important}

/* Mobile: clean single-column layouts and no horizontal squeeze. */
@media(max-width:700px){
  .container{width:calc(100% - 32px)}
  .service-detail-grid{grid-template-columns:1fr!important;gap:34px!important}
  .service-detail-copy h2{font-size:clamp(36px,10vw,48px)!important}
  .service-detail .visual img,
  .service-detail .visual-placeholder{height:280px;min-height:280px}
  .service-card{min-height:0!important}
  .service-card .card-image{height:190px!important}
  .service-card>div:not(.card-image){padding:22px 18px 26px!important}
  .footer-main{grid-template-columns:1fr!important;gap:32px!important}
  .footer-brand .sharpline-logo{width:180px;height:70px}
  .floating-actions{right:14px!important;bottom:14px!important;gap:9px!important}
  .floating-actions a{width:50px!important;height:50px!important}
}

/* Extra-small devices. */
@media(max-width:420px){
  .site-header .container{width:calc(100% - 24px)}
  .brand{width:130px}
  .brand .sharpline-logo{width:120px;height:48px}
  .menu-toggle span{width:23px}
  .home-hero{min-height:590px}
  .hero-copy h1{font-size:43px;line-height:.96}
}


/* =========================================================
   SHARPLINE v4.7 — FINAL RESPONSIVE / BRAND ASSET POLISH
   ========================================================= */

/* The gold intro is intentionally clean; no decorative circle. */
.gold-intro:after{display:none!important}

/* About / page CTA: black button on the gold CTA background. */



/* Smooth mobile menu. It remains in the DOM so opening/closing animates. */
@media(max-width:850px){
  .primary-nav{
    display:block!important;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    max-height:0;
    overflow:hidden;
    transform:translateY(-8px);
    padding-top:0!important;
    padding-bottom:0!important;
    transition:max-height .34s ease,opacity .24s ease,transform .34s ease,
               padding .34s ease,visibility 0s linear .34s;
  }
  .primary-nav.open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    max-height:calc(100vh - 76px);
    transform:translateY(0);
    padding-top:15px!important;
    padding-bottom:15px!important;
    transition:max-height .38s ease,opacity .24s ease,transform .34s ease,
               padding .34s ease,visibility 0s linear 0s;
  }

  /* Keep the enquiry CTA at the END of the menu with no extra double rule. */
  .primary-nav .mobile-enquire{
    border:0!important;
    margin:0!important;
    padding:12px 0 0!important;
  }
  .primary-nav .mobile-enquire a{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    margin:0!important;
    min-height:52px;
    border-radius:0!important;
  }
  .primary-nav .mobile-enquire a:before,
  .primary-nav .mobile-enquire a:after{display:none!important}

  /* Prevent text/cards from ever creating horizontal overflow. */
  .primary-nav,.main-nav,.main-nav li,.main-nav a{max-width:100%}
  .main-nav a{white-space:normal}
  .service-detail-copy,.content-grid>div,.contact-grid>div,.visual{min-width:0}
}

@media(max-width:560px){
  .primary-nav.open{max-height:calc(100vh - 76px)}
  .main-nav a{padding:14px 2px}
  .primary-nav .mobile-enquire{padding-top:12px!important}
}

/* Logo sizing remains stable across the three selectable variants. */
.brand .sharpline-logo,
.footer-brand .sharpline-logo{
  object-fit:contain;
  object-position:left center;
}

/* Cleaner floating call button: simple handset, not a generic symbol. */
.floating-actions .call{
  border-radius:50%!important;
  padding:0!important;
}

/* Tablet: give the two-column sections enough breathing room. */
@media(min-width:851px) and (max-width:1100px){
  .container{width:calc(100% - 48px)}
  .header-inner{gap:18px}
  .brand{width:155px}
  .brand .sharpline-logo{width:150px}
  .main-nav{gap:13px}
  .main-nav a{font-size:9px}
  .header-action .btn{padding:0 15px}
  .content-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:45px}
  .service-detail-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)!important;gap:45px!important}
  .footer-main{grid-template-columns:1.2fr .8fr 1fr 1fr;gap:25px}
}

/* Ultra-wide / normal desktop protection. */
@media(min-width:1101px){
  .service-detail-grid,.content-grid{align-items:center}
}

/* Accessibility: respect reduced-motion preferences. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .primary-nav{transition:none!important}
  .btn,.service-card,.industry-card,.trust-card,.cap-card{transition:none!important}
}


/* =========================================================
   SHARPLINE v4.7 — MOBILE / ICON / SELECTOR FIXES
   ========================================================= */

/* Never allow text arrows to be rendered as platform emoji glyphs. */
.industry-card i{
  font-family: Arial, Helvetica, sans-serif!important;
  font-style: normal!important;
  font-weight: 400!important;
  line-height: 1!important;
}

/* Mobile service cards: clean, independent cards instead of a squeezed grid. */
@media(max-width:700px){
  .service-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    border:0!important;
  }
  .service-card{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--line)!important;
    border-right:1px solid var(--line)!important;
    border-bottom:1px solid var(--line)!important;
    background:#080808!important;
  }
  .service-card .card-image{
    height:190px!important;
    border-bottom:1px solid var(--line);
  }
  .service-card>div:not(.card-image){
    padding:25px 20px 28px!important;
  }
  .service-card h3{
    font-size:clamp(20px,5.5vw,25px)!important;
    line-height:1.16!important;
    max-width:none!important;
  }
  .service-card p{
    max-width:100%!important;
    line-height:1.65!important;
  }
  .service-card a{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    white-space:nowrap!important;
  }

  /* Mobile menu: no separator immediately above the final Enquire button. */
  .primary-nav .main-nav .mobile-enquire{
    border:0!important;
    border-top:0!important;
    border-bottom:0!important;
    margin:10px 0 0!important;
    padding:0!important;
  }
  .primary-nav .main-nav .mobile-enquire a{
    border:0!important;
    border-top:0!important;
    border-bottom:0!important;
    margin:0!important;
  }
  .primary-nav .main-nav .mobile-enquire a:before,
  .primary-nav .main-nav .mobile-enquire a:after{
    content:none!important;
    display:none!important;
  }
}

/* Explicitly make the approved logo/favicon cards clickable. */
.sh-logo-option,
.sh-favicon-option{
  cursor:pointer!important;
  user-select:none;
}
.sh-logo-option input,
.sh-favicon-option input{
  opacity:0!important;
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  pointer-events:auto!important;
  left:8px;
  top:8px;
}
.sh-logo-option:focus-within,
.sh-favicon-option:focus-within{
  outline:2px solid #B97808;
  outline-offset:2px;
}
.sh-logo-option.selected,
.sh-favicon-option.selected{
  border-color:#B97808!important;
  box-shadow:0 0 0 2px rgba(197,162,93,.16)!important;
}

/* Admin selectors remain usable on smaller screens. */
@media(max-width:600px){
  .sh-logo-option-preview{height:150px!important}
  .sh-favicon-option>span{height:150px!important}
}

/* =========================================================
   SHARPLINE v4.8 — BRAND PREVIEW + LOGO CACHE / SIZING
   ========================================================= */
.brand .sharpline-logo.logo-variant-horizontal{width:270px;height:auto;max-height:58px;object-fit:contain;object-position:left center}
.brand:has(.logo-variant-horizontal){width:275px}
.brand .sharpline-logo.logo-variant-mark{width:72px;height:68px}
.brand:has(.logo-variant-mark){width:90px}
.brand .sharpline-logo.logo-variant-stacked{width:120px;height:68px}
.brand:has(.logo-variant-stacked){width:150px}
.footer-brand .sharpline-logo.logo-variant-horizontal{width:270px;height:auto;max-height:80px}
.footer-brand .sharpline-logo.logo-variant-mark{width:105px;height:80px}
.footer-brand .sharpline-logo.logo-variant-stacked{width:185px;height:100px}
@media(max-width:1100px) and (min-width:851px){
  .brand:has(.logo-variant-horizontal){width:235px}
  .brand .sharpline-logo.logo-variant-horizontal{width:230px}
}
@media(max-width:850px){
  .brand:has(.logo-variant-horizontal){width:215px}
  .brand .sharpline-logo.logo-variant-horizontal{width:210px;max-height:55px}
  .brand:has(.logo-variant-mark){width:95px}
  .brand .sharpline-logo.logo-variant-mark{width:78px;height:58px}
  .brand:has(.logo-variant-stacked){width:145px}
  .brand .sharpline-logo.logo-variant-stacked{width:125px;height:58px}
}
@media(max-width:560px){
  .brand:has(.logo-variant-horizontal){width:205px}
  .brand .sharpline-logo.logo-variant-horizontal{width:200px;max-height:52px}
  .brand:has(.logo-variant-mark){width:90px}
  .brand .sharpline-logo.logo-variant-mark{width:72px;height:52px}
  .brand:has(.logo-variant-stacked){width:135px}
  .brand .sharpline-logo.logo-variant-stacked{width:118px;height:52px}
}

/* =========================================================
   SHARPLINE v4.12 — APPROVED WIREFRAME CONNECTIONS
   ========================================================= */
html{scroll-behavior:smooth}
[id]{scroll-margin-top:100px}
.content-grid .btn,.service-detail-copy .btn{margin-top:22px}
.trust-card,.cap-card{display:block;text-decoration:none}
.trust-card span{display:inline-block;margin-top:18px;color:var(--gold2);font-size:9px;font-weight:800;letter-spacing:1px}

/* Mobile menu: only the menu-item separators; no rule above Enquire Now. */
@media(max-width:850px){
  .primary-nav .main-nav li:not(.mobile-enquire){border-bottom:1px solid var(--line)!important}
  .primary-nav .main-nav li.mobile-enquire{border:0!important;border-top:0!important;border-bottom:0!important;margin-top:12px!important;padding-top:0!important}
  .primary-nav .main-nav li.mobile-enquire a{border:0!important;border-top:0!important;border-bottom:0!important}
  .primary-nav .main-nav li.mobile-enquire + li{border-top:0!important}
  .content-grid .btn,.service-detail-copy .btn{margin-top:20px}
}

/* =========================================================
   SHARPLINE v4.13 — PREMIUM UI / EDITABLE CONTENT POLISH
   ========================================================= */
:root{--font-display:'Montserrat',Inter,Arial,sans-serif;--font-body:Inter,Arial,sans-serif;--gold-soft:#e3aa16;--surface:#0d0d0d;--surface-2:#121212}
html{scroll-padding-top:90px}body{font-family:var(--font-body);letter-spacing:-.01em}h1,h2,h3,h4,.eyebrow,.btn,.main-nav{font-family:var(--font-display)}
.home-hero{background:radial-gradient(circle at 82% 35%,rgba(197,162,93,.14),transparent 30%),linear-gradient(135deg,#050505,#0a0a0a 55%,#111)}
.home-hero:after{content:"";position:absolute;inset:auto -10% -30% 45%;height:70%;border:1px solid rgba(255,255,255,.06);transform:rotate(-18deg);pointer-events:none}.hero-overlay{background:linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.84) 48%,rgba(5,5,5,.25) 100%)}
.hero-copy h1{font-family:var(--font-display);font-weight:800;letter-spacing:-4px}.hero-side-note{border-left:1px solid rgba(255,255,255,.15);padding:0 0 0 24px;min-width:150px;text-align:right;color:#777;align-self:end}.hero-side-note span{display:block;font:700 9px var(--font-display);letter-spacing:2px}.hero-side-note strong{display:block;font:800 64px/1 var(--font-display);color:rgba(197,162,93,.7);margin-top:8px}
.gold-intro{position:relative;overflow:hidden}.gold-intro:before{display:none!important}.gold-grid{position:relative;z-index:1}.gold-intro h2{font-family:var(--font-display);font-weight:800;letter-spacing:-1.5px}
.home-section{position:relative}.home-section h2,.content-grid h2,.service-detail h2,.cta-band h2,.mini-cta h2{font-family:var(--font-display);font-weight:800;letter-spacing:-1.8px}.section-lead{font-size:16px;line-height:1.75;color:#999}
.home-editorial-grid{border-top:0;gap:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-card{display:flex!important;flex-direction:column!important;padding:0!important;min-height:0!important;border:1px solid var(--line)!important;background:#0b0b0b;overflow:hidden;transition:transform .25s ease,border-color .25s ease,background .25s ease}.editorial-card:hover{transform:translateY(-4px);border-color:rgba(197,162,93,.5)!important;background:#101010}.editorial-card:nth-child(odd){border-right:1px solid var(--line)!important}.editorial-card-top{position:relative}.card-index{display:inline-flex;align-items:center;justify-content:center;font:700 10px var(--font-display);letter-spacing:1px;color:var(--gold2)}.editorial-card .card-index{position:absolute;z-index:2;left:18px;top:18px;background:#050505;padding:7px 9px;border:1px solid rgba(255,255,255,.12)}.editorial-card .card-image{height:245px!important;padding:0!important;background:#111;overflow:hidden}.editorial-card .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.editorial-card:hover .card-image img{transform:scale(1.035)}.card-image-placeholder{display:flex!important;align-items:flex-end;justify-content:flex-end;padding:22px!important;background:radial-gradient(circle at 75% 30%,rgba(197,162,93,.18),transparent 25%),linear-gradient(135deg,#181818,#080808)!important}.card-image-placeholder span{font:700 9px var(--font-display);letter-spacing:2px;color:#555}.editorial-card-body{padding:28px!important;display:flex;flex-direction:column;flex:1}.editorial-card-body h3{font-size:25px;line-height:1.18}.editorial-card-body p{color:#888;font-size:14px;line-height:1.7;min-height:48px}.editorial-card-body a{margin-top:auto;padding-top:20px;font:800 10px var(--font-display);letter-spacing:1.5px;color:var(--gold2)}.editorial-card-body a span{margin-left:8px;font-size:15px}
.editorial-industry-grid{gap:0}.editorial-industry-card{min-height:240px;padding:28px;transition:background .25s ease}.editorial-industry-card:hover{background:#151515}.editorial-industry-card .card-index{color:#777}.editorial-industry-card h3{margin:42px 0 0;max-width:300px;font-size:22px}.editorial-industry-card p{color:#777;font-size:13px;line-height:1.65;max-width:330px;margin:14px 0 0}.editorial-industry-card i{font-size:25px;transition:transform .25s ease}.editorial-industry-card:hover i{transform:translateX(5px)}
.editorial-trust-grid{gap:1px;background:rgba(255,255,255,.08);border:0}.editorial-trust-card{position:relative;min-height:270px!important;background:#080808!important;border:0!important;padding:26px 22px!important;transition:background .25s ease,transform .25s ease}.editorial-trust-card:hover{background:#111!important;transform:translateY(-3px)}.editorial-trust-card .card-index{color:#666}.editorial-trust-card h3{margin:48px 0 0!important;font-size:18px!important}.editorial-trust-card p{font-size:13px;line-height:1.7;color:#808080}.editorial-trust-card .card-link{margin-top:auto;padding-top:18px;font:800 9px var(--font-display);letter-spacing:1.3px;color:var(--gold2)}.editorial-trust-card .card-link b{font-size:15px;margin-left:7px}
.editorial-cap-grid{gap:1px;background:rgba(255,255,255,.08)}.editorial-cap-card{min-height:230px!important;background:#0b0b0b!important;border:0!important;padding:25px!important;transition:background .25s ease,transform .25s ease}.editorial-cap-card:hover{background:#151515!important;transform:translateY(-3px)}.editorial-cap-card h3{margin:38px 0 0;font-size:19px}.editorial-cap-card p{color:#777;font-size:12px;line-height:1.65;margin-top:12px}.editorial-cap-card b{margin-top:auto;text-align:right;font-size:23px}
.cta-band{background:linear-gradient(135deg,#111,#0b0b0b);position:relative;overflow:hidden}.cta-band:after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(197,162,93,.14);border-radius:50%;right:-220px;top:-220px}.cta-grid{position:relative;z-index:1}
.inner-hero{background:radial-gradient(circle at 80% 35%,rgba(197,162,93,.13),transparent 28%),linear-gradient(135deg,#070707,#101010)}.inner-hero h1{font-family:var(--font-display);font-weight:800}.content-block{position:relative}.content-grid{align-items:stretch}.content-grid>div:first-child{display:flex;flex-direction:column;justify-content:center}.content-grid h2{font-size:clamp(38px,4.5vw,60px)}.rich-copy{font-size:16px;line-height:1.8}.visual{display:flex;align-items:stretch}.visual img,.visual-placeholder{height:100%!important;min-height:420px!important;border:1px solid rgba(255,255,255,.12);border-radius:0}.visual img{object-fit:cover}.visual-placeholder{background:radial-gradient(circle at 70% 25%,rgba(197,162,93,.18),transparent 25%),linear-gradient(145deg,#191919,#070707);display:flex;align-items:flex-end;padding:28px}.visual-placeholder span{font:700 9px var(--font-display);letter-spacing:2px;color:#666}
.service-detail{background:#080808}.service-detail.block-alt{background:#101010}.service-detail-grid{align-items:stretch}.service-detail-copy{display:flex;flex-direction:column;justify-content:center}.service-detail-copy p{font-size:16px;line-height:1.8}.service-points span{transition:border-color .2s,color .2s}.service-points span:hover{border-color:var(--gold);color:#fff}
.mini-cta{position:relative;overflow:hidden}.mini-cta:after{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(0,0,0,.14);border-radius:50%;right:-150px;top:-180px}.mini-cta .container{position:relative;z-index:1}.mini-cta .btn{position:relative}
.industry-page-grid-modern{gap:1px;background:rgba(255,255,255,.08);border:0}.industry-page-grid-modern .industry-card{border:0;background:#0a0a0a;min-height:250px}.industry-page-grid-modern .industry-card:hover{background:#131313}.industry-detail-card h3{margin-top:42px}.industry-detail-card p{color:#777;max-width:350px;line-height:1.7}
/* Testimonials */
.testimonial-section{background:#080808}.section-heading-row{margin-bottom:42px}.testimonial-intro{margin-top:18px!important;margin-bottom:0!important}.testimonial-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.testimonial-card{background:#101010;border:1px solid rgba(255,255,255,.1);min-width:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease}.testimonial-card:hover{transform:translateY(-4px);border-color:rgba(197,162,93,.45)}.testimonial-media{height:185px;background:radial-gradient(circle at 65% 25%,rgba(197,162,93,.16),transparent 28%),#151515;display:flex;align-items:center;justify-content:center;overflow:hidden}.testimonial-media img{width:100%;height:100%;object-fit:cover}.testimonial-media span{font:800 10px/1.6 var(--font-display);letter-spacing:2px;text-align:center;color:#555}.testimonial-content{padding:23px;display:flex;flex-direction:column;min-height:250px}.quote-mark{font:800 42px/1 Georgia,serif;color:var(--gold);height:38px}.testimonial-review{font-size:14px;line-height:1.75;color:#c0c0c0;margin:7px 0 20px}.testimonial-content strong{font:700 13px var(--font-display);color:#fff}.testimonial-content small{font-size:11px;color:#777;margin-top:4px}.testimonial-video{margin-top:auto;padding-top:18px;color:var(--gold2);font:800 9px var(--font-display);letter-spacing:1.2px}.testimonial-video span{font-size:15px;margin-left:6px}
/* Keep all arrows text-based; no emoji/icon font substitutions. */
.industry-card i,.cap-card b,.btn span,.text-link,.direct-link span{font-family:Arial,sans-serif;font-style:normal}

@media(max-width:1100px){
  .home-editorial-grid{grid-template-columns:1fr 1fr}.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-trust-grid{grid-template-columns:repeat(3,1fr)}.editorial-cap-grid{grid-template-columns:repeat(3,1fr)}
  .hero-side-note{display:none}.home-hero{min-height:680px}
}
@media(max-width:850px){
  .home-editorial-grid{grid-template-columns:1fr}.editorial-card .card-image{height:210px!important}.editorial-trust-grid,.editorial-cap-grid{grid-template-columns:1fr 1fr}.testimonial-grid{grid-template-columns:1fr 1fr}.content-grid{gap:42px}.visual img,.visual-placeholder{min-height:330px!important;height:330px!important}.cta-grid{gap:35px}
}
@media(max-width:600px){
  .home-section{padding:68px 0}.home-section h2{font-size:36px}.section-lead{font-size:14px}.gold-intro{padding:48px 0}.gold-grid{gap:28px}.gold-intro h2{font-size:32px}.hero-copy h1{font-size:48px;letter-spacing:-2.5px}.hero-copy p{font-size:15px}.hero-actions{margin-top:25px}.hero-actions .btn{width:100%}
  .editorial-card-body{padding:23px!important}.editorial-card-body h3{font-size:22px}.editorial-industry-grid,.editorial-trust-grid,.editorial-cap-grid,.testimonial-grid{grid-template-columns:1fr}.editorial-industry-card{min-height:210px}.editorial-trust-card,.editorial-cap-card{min-height:210px!important}.testimonial-card{min-height:0}.testimonial-media{height:210px}.testimonial-content{min-height:220px}.content-block,.service-detail{padding:64px 0}.content-grid h2,.service-detail h2{font-size:34px}.rich-copy{font-size:15px}.visual img,.visual-placeholder{min-height:260px!important;height:260px!important}.cta-band{padding:62px 0}.cta-band h2{font-size:40px}.mini-cta h2{font-size:32px}.industry-page-grid-modern .industry-card{min-height:210px}
}
@media(max-width:420px){.hero-copy h1{font-size:43px}.home-section h2{font-size:32px}.editorial-card .card-image{height:190px!important}.container{width:calc(100% - 28px)}}

/* Optional CMS-managed hero imagery: structure stays fixed, imagery is replaceable. */
.inner-hero.has-custom-hero{background-size:cover;background-position:center;background-repeat:no-repeat;}


/* v4.15 — decorative section numbering removed */
.hero-side-note,.hero-stamp,.page-no,.card-index,.service-number,.visual-placeholder b{display:none!important}

/* =========================================================
   SHARPLINE v4.23 — VISUAL REFINEMENT ROUND
   Frontend-only refinement based on approved architecture.
   CMS fields, section structure, connections and imagery inputs
   remain unchanged and can be populated from the admin.
   ========================================================= */
:root{
  --sp-black:#050505;
  --sp-ink:#0a0a0a;
  --sp-panel:#101010;
  --sp-panel-2:#151515;
  --sp-white:#f5f5f2;
  --sp-muted:#9a9a96;
  --sp-dim:#6f706d;
  --sp-gold:#B97808;
  --sp-gold-bright:#D7A62A;
  --sp-silver:#C9C9C9;
  --sp-line:rgba(255,255,255,.105);
  --sp-line-soft:rgba(255,255,255,.065);
  --sp-radius:2px;
  --sp-max:1220px;
}

body{background:var(--sp-black);color:var(--sp-white);font-family:var(--font-body);font-size:15px;line-height:1.72;-webkit-font-smoothing:antialiased}
.container{width:min(var(--sp-max),calc(100% - 64px))}
::selection{background:var(--sp-gold);color:#050505}

/* Header — restrained, premium and utility-led */
.site-header{
  height:88px!important;
  background:rgba(5,5,5,.88)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  backdrop-filter:blur(18px) saturate(120%);
}
.header-inner{gap:34px}
.brand{width:222px}
.brand .sharpline-logo{height:66px;object-fit:contain;object-position:left center}
.main-nav{gap:27px}
.main-nav a{font-size:10px;letter-spacing:1.35px;font-weight:700;color:#bdbdb8;transition:color .2s ease}
.main-nav a:hover,.main-nav a.active{color:var(--sp-gold-bright)}
.header-action .btn{min-height:46px;padding:0 20px}
.btn{font-size:10px;letter-spacing:1.35px;font-weight:800;border-radius:0;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:var(--sp-gold);color:#080808;border-color:var(--sp-gold)}
.btn-gold:hover{background:var(--sp-gold-bright);border-color:var(--sp-gold-bright)}
.btn-ghost{border-color:rgba(255,255,255,.28);color:#fff;background:transparent}
.btn-ghost:hover{border-color:var(--sp-gold);color:var(--sp-gold-bright);background:rgba(197,162,93,.04)}

/* Global type hierarchy */
h1,h2,h3,h4{font-family:var(--font-display);color:var(--sp-white)}
.eyebrow{font-size:9px;letter-spacing:2.5px;font-weight:800;color:var(--sp-gold-bright)}
.home-section h2,.content-grid h2,.service-detail h2,.cta-band h2,.mini-cta h2{letter-spacing:-2.2px}
.section-lead,.rich-copy{color:var(--sp-muted);font-size:15px;line-height:1.85}

/* Hero — stronger hierarchy, controlled image treatment, subtle highway geometry */
.home-hero{
  min-height:790px;
  padding-top:88px;
  background:#060606!important;
  isolation:isolate;
}
.home-hero:before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.86) 39%,rgba(5,5,5,.42) 72%,rgba(5,5,5,.72) 100%),
    radial-gradient(circle at 80% 20%,rgba(197,162,93,.16),transparent 30%);
}
.hero-bg{opacity:.78;filter:saturate(.82) contrast(1.05);background-position:center right}
.hero-overlay{background:linear-gradient(90deg,rgba(5,5,5,.96),rgba(5,5,5,.66) 52%,rgba(5,5,5,.12) 100%)!important}
.home-hero:after{
  content:"";position:absolute;z-index:1;right:-9%;bottom:-20%;width:76%;height:70%;
  border:1px solid rgba(255,255,255,.065);transform:skewY(-17deg) rotate(-5deg);pointer-events:none;
}
.hero-inner{min-height:702px;padding:112px 0 88px;align-items:flex-end}
.hero-copy{max-width:900px}
.hero-copy h1{font-size:clamp(58px,7.2vw,108px);line-height:.91;letter-spacing:-5px;margin:20px 0 27px;max-width:900px}
.hero-copy p{max-width:620px;font-size:16px;line-height:1.75;color:#b7b7b2}
.hero-actions{margin-top:34px;gap:13px}
.hero-actions .btn{min-height:52px;padding:0 23px}

/* Gold positioning intro — editorial split instead of flat block */
.gold-intro{padding:72px 0;background:var(--sp-gold);color:#090909;overflow:hidden}
.gold-intro:after{content:"";position:absolute;right:-12%;top:-70%;width:60%;height:180%;border:1px solid rgba(0,0,0,.12);transform:rotate(-18deg);pointer-events:none}
.gold-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:100px;align-items:end}
.gold-intro h2{font-size:clamp(40px,4.5vw,62px);line-height:1.02;letter-spacing:-2.5px;max-width:650px}
.gold-intro p{font-size:17px;line-height:1.75;max-width:600px}
.gold-intro .eyebrow.dark{font-size:9px;letter-spacing:2.4px}

/* Home sections — whitespace and disciplined editorial rhythm */
.home-section{padding:116px 0;background:var(--sp-black)}
.home-section.dark-alt{background:#0b0b0b}
.home-section>.container>h2{max-width:850px;margin:15px 0 16px;font-size:clamp(40px,4.2vw,60px)}
.section-lead{max-width:690px;margin:0 0 52px}

/* Services: large editorial cards, no artificial numbering */
.home-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;background:transparent}
.editorial-card{background:#0b0b0b!important;border:1px solid var(--sp-line)!important;border-radius:var(--sp-radius);box-shadow:0 18px 50px rgba(0,0,0,.12);transition:transform .3s ease,border-color .3s ease,background .3s ease}
.editorial-card:hover{transform:translateY(-5px);border-color:rgba(197,162,93,.55)!important;background:#101010!important}
.editorial-card .card-image{height:270px!important;background:#111}
.editorial-card .card-image img{filter:saturate(.84) contrast(1.04);transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.editorial-card:hover .card-image img{transform:scale(1.045);filter:saturate(1) contrast(1.06)}
.editorial-card-body{padding:31px!important}
.editorial-card-body h3{font-size:27px;letter-spacing:-1px;line-height:1.12;margin:0;max-width:560px}
.editorial-card-body p{font-size:14px;line-height:1.8;color:#8d8d89;min-height:0;margin:14px 0 0;max-width:570px}
.editorial-card-body a{font-size:9px;letter-spacing:1.7px;padding-top:26px}

/* Industries — quieter grid with strong typography */
.editorial-industry-grid{border:1px solid var(--sp-line);background:transparent}
.editorial-industry-card{background:#090909!important;min-height:225px;padding:30px!important;transition:background .25s ease,box-shadow .25s ease}
.editorial-industry-card:hover{background:#111!important;box-shadow:inset 0 0 0 1px rgba(197,162,93,.18)}
.editorial-industry-card h3{font-size:22px;line-height:1.18;letter-spacing:-.6px;margin:38px 0 0}
.editorial-industry-card p{font-size:13px;color:#777;line-height:1.7;margin-top:12px}
.editorial-industry-card i{color:var(--sp-gold);font-size:24px}

/* Why Sharpline — proof-oriented cards */
.editorial-trust-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--sp-line);border:0}
.editorial-trust-card{min-height:285px!important;background:#090909!important;padding:28px 24px!important}
.editorial-trust-card:hover{background:#121212!important;transform:none}
.editorial-trust-card h3{font-size:19px!important;line-height:1.2;margin:52px 0 0!important;letter-spacing:-.4px}
.editorial-trust-card p{font-size:13px;line-height:1.75;color:#7e7e7a;margin-top:13px}
.editorial-trust-card .card-link{font-size:9px;letter-spacing:1.6px}

/* Capabilities — modular but not generic SaaS cards */
.editorial-cap-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--sp-line)}
.editorial-cap-card{min-height:250px!important;background:#0d0d0d!important;padding:28px!important}
.editorial-cap-card:hover{background:#151515!important;transform:none}
.editorial-cap-card h3{font-size:20px;line-height:1.2;margin:52px 0 0;letter-spacing:-.4px}
.editorial-cap-card p{font-size:12px;line-height:1.7;color:#777;margin-top:12px}
.editorial-cap-card b{color:var(--sp-gold);font-size:22px}

/* CTAs — strong B2B conversion hierarchy, not repeated everywhere */
.cta-band{padding:104px 0;background:linear-gradient(120deg,#101010 0%,#0a0a0a 72%);border-top:1px solid var(--sp-line);border-bottom:1px solid var(--sp-line)}
.cta-grid{grid-template-columns:minmax(0,1.05fr) minmax(280px,.75fr);gap:90px}
.cta-band h2{font-size:clamp(44px,5vw,70px);line-height:.98;letter-spacing:-3px}
.cta-band p{font-size:15px;line-height:1.8;color:#8f8f8b;max-width:480px}

/* Internal page heroes — page-specific feel without changing architecture */
.inner-hero{min-height:560px;padding:100px 0 95px;background:#080808!important;position:relative;overflow:hidden}
.inner-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 28%,rgba(197,162,93,.15),transparent 27%),linear-gradient(120deg,#060606 0%,#0d0d0d 68%,#101010 100%);pointer-events:none}
.inner-hero:after{content:"";position:absolute;right:-15%;bottom:-40%;width:75%;height:95%;border:1px solid rgba(255,255,255,.055);transform:skewY(-16deg) rotate(-4deg);pointer-events:none}
.inner-hero[style]:before{background:linear-gradient(90deg,rgba(5,5,5,.93) 0%,rgba(5,5,5,.62) 60%,rgba(5,5,5,.25) 100%)}
.inner-hero[style]{background-size:cover!important;background-position:center!important}
.inner-hero-inner{position:relative;z-index:2;display:block;max-width:980px}
.inner-hero h1{font-size:clamp(54px,6.5vw,92px);line-height:.94;letter-spacing:-4px;max-width:950px;margin:17px 0 24px}
.inner-hero p{font-size:17px;line-height:1.8;max-width:700px;color:#a6a6a1}

/* Content sections — alternating rhythm, premium media treatment */
.content-block{padding:116px 0;background:#070707}
.content-block.block-alt{background:#0d0d0d}
.content-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.78fr);gap:88px}
.content-grid>div:first-child{padding:8px 0}
.content-grid h2{font-size:clamp(40px,4.3vw,60px);line-height:1.02;max-width:700px}
.rich-copy{max-width:650px}
.rich-copy p{margin:0 0 1em}
.visual{position:relative;min-width:0}
.visual:before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid rgba(197,162,93,.12);pointer-events:none}
.visual img,.visual-placeholder{position:relative;z-index:1;min-height:470px!important;height:100%!important;width:100%;object-fit:cover;border:1px solid var(--sp-line)!important}
.visual img{filter:saturate(.84) contrast(1.04)}
.visual-placeholder{background:radial-gradient(circle at 70% 20%,rgba(197,162,93,.16),transparent 28%),linear-gradient(145deg,#181818,#070707)}

/* Services page — each service has its own visual rhythm */
.services-intro{padding:92px 0 45px;background:#060606}
.services-intro h2{font-size:clamp(42px,4.5vw,64px);letter-spacing:-2.5px;max-width:760px}
.service-detail{padding:110px 0;background:#070707!important}
.service-detail.block-alt{background:#0d0d0d!important}
.service-detail:nth-of-type(odd) .visual:before{border-color:rgba(197,162,93,.2)}
.service-detail-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.78fr)!important;gap:88px!important}
.service-detail-copy h2{font-size:clamp(40px,4.2vw,58px);letter-spacing:-2px}
.service-detail-copy p{font-size:16px;line-height:1.85;color:#999}
.service-points{gap:7px;margin-top:27px}
.service-points span{font-size:8px;letter-spacing:1.25px;padding:8px 10px;color:#92928d;border-color:var(--sp-line)}

/* Industry page — more editorial than a card wall */
.industry-page-grid,.capability-overview{padding:94px 0 40px}
.industry-page-grid h2,.capability-overview h2{font-size:clamp(42px,4.5vw,64px);letter-spacing:-2.5px}
.industry-page-grid-modern{grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--sp-line)}
.industry-page-grid-modern .industry-card{min-height:260px;background:#080808!important;padding:30px!important}
.industry-page-grid-modern .industry-card:hover{background:#111!important}
.industry-detail-card h3{font-size:23px;line-height:1.18;letter-spacing:-.6px}

/* Testimonials — premium proof wall; supports up to four items */
.testimonial-section{background:#080808}
.section-heading-row{max-width:820px;margin-bottom:46px}
.testimonial-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.testimonial-card{background:#0e0e0e;border:1px solid var(--sp-line);border-radius:0;transition:transform .3s ease,border-color .3s ease}
.testimonial-card:hover{transform:translateY(-4px);border-color:rgba(197,162,93,.5)}
.testimonial-media{height:205px;background:radial-gradient(circle at 70% 25%,rgba(197,162,93,.13),transparent 30%),#141414}
.testimonial-content{padding:25px;min-height:270px}
.quote-mark{color:var(--sp-gold);font-size:45px}
.testimonial-review{font-size:14px;line-height:1.8;color:#c4c4bf}
.testimonial-content strong{font-size:12px;letter-spacing:.2px}
.testimonial-video{font-size:8px;letter-spacing:1.5px}

/* Contact/enquiry — conversion experience, not generic contact page */
.contact-section{padding:120px 0;background:#070707}
.contact-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:92px}
.contact-section h2,.contact-side h2{font-size:clamp(42px,4.5vw,64px);letter-spacing:-2.5px}
.enquiry-form{gap:20px}
.field label{font-size:8px;letter-spacing:1.5px;color:#858580}
.field input,.field select,.field textarea{background:#0d0d0d;border:1px solid #292929;padding:15px 16px;color:#f4f4f0;transition:border-color .2s ease,background .2s ease}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sp-gold);background:#101010}
.field textarea{min-height:170px;resize:vertical}
.contact-side{border-left:1px solid var(--sp-line);padding-left:44px}
.direct-link{padding:23px 0}
.direct-link strong{font-family:var(--font-display);font-size:13px}
.address-box p{line-height:1.8;color:#969692}
.contact-bottom{padding:98px 0;background:var(--sp-gold);color:#090909}
.contact-bottom h2{font-size:clamp(45px,5vw,70px);letter-spacing:-3px}

/* Footer — quiet and premium */
.site-footer{background:#030303!important;border-top:1px solid var(--sp-line)}
.footer-main{grid-template-columns:1.5fr .75fr 1fr 1fr;gap:60px;padding:82px 0}
.footer-brand .sharpline-logo{width:225px;height:78px}
.footer-brand p{max-width:320px;font-size:12px;line-height:1.8;color:#8c8c88!important}
.footer-label{font-size:8px;letter-spacing:2px;color:var(--sp-gold-bright)!important}
.site-footer a,.site-footer p{font-size:12px}
.footer-bottom{border-top:1px solid var(--sp-line);padding:19px 0}

/* Subtle motion only; no slider/carousel introduced */
.editorial-card,.editorial-industry-card,.testimonial-card,.btn,.direct-link{will-change:transform}
@media(prefers-reduced-motion:reduce){.editorial-card,.testimonial-card,.btn{transition:none!important}.editorial-card:hover,.testimonial-card:hover,.btn:hover{transform:none!important}}

/* Responsive: preserve exact section structure and CTA connections */
@media(max-width:1100px){
  .container{width:min(100% - 48px,var(--sp-max))}
  .main-nav{gap:18px}
  .hero-copy h1{font-size:clamp(54px,7vw,88px)}
  .gold-grid{gap:55px}
  .editorial-trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .editorial-cap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .content-grid,.service-detail-grid{gap:58px!important}
  .testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .site-header{height:76px!important}
  .brand{width:185px}
  .brand .sharpline-logo{height:58px}
  .primary-nav{top:76px}
  .container{width:calc(100% - 36px)}
  .home-hero{min-height:720px;padding-top:76px}
  .hero-inner{min-height:644px;padding:90px 0 70px}
  .hero-copy h1{font-size:clamp(48px,10vw,76px);letter-spacing:-3.5px}
  .gold-grid,.cta-grid,.content-grid,.contact-grid,.service-detail-grid{grid-template-columns:1fr!important;gap:40px!important}
  .gold-intro{padding:62px 0}
  .gold-intro p{max-width:720px}
  .home-section,.content-block,.service-detail,.contact-section{padding:82px 0}
  .editorial-trust-grid,.editorial-cap-grid{grid-template-columns:1fr 1fr}
  .industry-page-grid-modern{grid-template-columns:1fr 1fr}
  .visual{margin-top:10px}
  .visual:before{inset:-8px 8px 8px -8px}
  .visual img,.visual-placeholder{min-height:360px!important}
  .footer-main{grid-template-columns:1fr 1fr;gap:38px}
}
@media(max-width:600px){
  .container{width:calc(100% - 28px)}
  .site-header{height:72px!important}
  .brand{width:165px}.brand .sharpline-logo{height:54px}
  .primary-nav{top:72px}
  .home-hero{min-height:650px}
  .hero-inner{min-height:578px;padding:74px 0 54px}
  .hero-copy h1{font-size:clamp(43px,12vw,61px);letter-spacing:-2.8px;line-height:.94}
  .hero-copy p{font-size:14px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-actions .btn{width:100%}
  .gold-intro h2{font-size:38px}
  .home-section,.content-block,.service-detail,.contact-section{padding:68px 0}
  .home-section>.container>h2,.content-grid h2,.service-detail-copy h2{font-size:37px;letter-spacing:-1.5px}
  .section-lead,.rich-copy{font-size:14px}
  .home-editorial-grid,.industry-page-grid-modern,.editorial-trust-grid,.editorial-cap-grid,.testimonial-grid{grid-template-columns:1fr}
  .editorial-card .card-image{height:210px!important}
  .editorial-card-body{padding:24px!important}
  .editorial-card-body h3{font-size:23px}
  .editorial-industry-card,.industry-page-grid-modern .industry-card{min-height:205px}
  .editorial-trust-card,.editorial-cap-card{min-height:220px!important}
  .inner-hero{min-height:440px;padding:80px 0 68px}
  .inner-hero h1{font-size:clamp(44px,11vw,60px);letter-spacing:-2.5px}
  .inner-hero p{font-size:15px}
  .visual img,.visual-placeholder{min-height:270px!important}
  .testimonial-media{height:210px}
  .testimonial-content{min-height:235px}
  .enquiry-form{grid-template-columns:1fr}
  .field.full,.enquiry-form .full{grid-column:auto}
  .contact-side{border-left:0;padding-left:0;border-top:1px solid var(--sp-line);padding-top:36px}
  .footer-main{grid-template-columns:1fr;gap:32px;padding:62px 0}
  .footer-bottom .container{gap:8px}
}
@media(max-width:420px){
  .hero-copy h1{font-size:42px}
  .home-section>.container>h2,.content-grid h2,.service-detail-copy h2{font-size:33px}
  .inner-hero h1{font-size:40px}
}

/* =========================================================
   SHARPLINE v4.24 — VISUAL REFINEMENT PASS
   Premium B2B / industrial editorial system.
   Architecture, content fields and CTA destinations unchanged.
   ========================================================= */
:root{
  --sp-bg:#070707;
  --sp-surface:#0d0e0e;
  --sp-surface-2:#121313;
  --sp-text:#f5f5f2;
  --sp-muted:#969792;
  --sp-soft:#686a67;
  --sp-line:rgba(255,255,255,.10);
  --sp-gold:#B97808;
  --sp-gold-bright:#D7A62A;
  --sp-max:1240px;
}
html{scroll-padding-top:88px}
body{font-family:Inter,Arial,sans-serif;background:var(--sp-bg);color:var(--sp-text);line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.btn,.main-nav,.eyebrow,.footer-label{font-family:Montserrat,Inter,Arial,sans-serif}
.container{width:min(var(--sp-max),calc(100% - 64px));}

/* Header: stronger brand presence + disciplined navigation */
.site-header{height:88px!important;background:rgba(5,5,5,.90)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 12px 40px rgba(0,0,0,.22)}
.header-inner{gap:34px!important}
.brand{width:224px!important}
.brand .sharpline-logo{height:68px!important;width:100%!important;object-fit:contain!important;object-position:left center!important}
.main-nav{gap:26px!important}
.main-nav a{font-size:9px!important;letter-spacing:1.35px!important;font-weight:700;transition:color .2s ease}
.header-action .btn{min-width:142px}
.btn{min-height:50px;border-radius:2px;letter-spacing:1.25px!important;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.btn-gold{box-shadow:0 8px 25px rgba(197,162,93,.10)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(197,162,93,.20)}
.btn-ghost:hover{transform:translateY(-2px)}

/* Global section rhythm */
.home-section{padding:122px 0!important;position:relative;overflow:hidden}
.home-section>.container{position:relative;z-index:2}
.home-section>.container>.eyebrow,.content-block .eyebrow,.services-intro .eyebrow,.industry-page-grid .eyebrow,.capability-overview .eyebrow{display:flex;align-items:center;gap:13px;width:max-content}
.home-section>.container>.eyebrow:before,.content-block .eyebrow:before,.services-intro .eyebrow:before,.industry-page-grid .eyebrow:before,.capability-overview .eyebrow:before{content:"";width:34px;height:1px;background:currentColor;opacity:.65}
.home-section h2{font-size:clamp(42px,4.7vw,66px)!important;letter-spacing:-2.7px!important;max-width:900px;margin:15px 0 18px!important}
.section-lead{font-size:15px!important;line-height:1.85!important;max-width:700px!important;color:#8f908c!important;margin-bottom:52px!important}

/* Hero: more art-directed, less template-like */
.home-hero{min-height:820px!important;padding-top:88px;background:#050505!important}
.hero-bg{opacity:.68!important;background-position:center!important;transform:scale(1.02)}
.hero-overlay{background:linear-gradient(90deg,rgba(3,3,3,.98) 0%,rgba(3,3,3,.90) 34%,rgba(3,3,3,.50) 64%,rgba(3,3,3,.14) 100%)!important}
.home-hero:after{content:"";position:absolute;right:-10%;bottom:-34%;width:68%;height:78%;border:1px solid rgba(255,255,255,.07);transform:skewX(-22deg) rotate(-9deg);pointer-events:none}
.hero-inner{min-height:732px!important;padding:110px 0 92px!important;align-items:center!important}
.hero-copy{max-width:850px!important}
.hero-copy h1{font-family:Montserrat,Inter,sans-serif!important;font-size:clamp(58px,7.2vw,104px)!important;line-height:.90!important;letter-spacing:-5px!important;margin:20px 0 28px!important;max-width:900px}
.hero-copy p{font-size:17px!important;line-height:1.85!important;color:#c3c4c0!important;max-width:650px!important}
.hero-actions{margin-top:38px!important;gap:14px!important}

/* Brand positioning strip */
.gold-intro{padding:74px 0!important;background:linear-gradient(110deg,#B97808 0%,#E4AA10 52%,#C98900 100%)!important;position:relative;overflow:hidden}
.gold-intro:after{content:"";position:absolute;right:-7%;top:-55%;width:42%;height:210%;border-left:1px solid rgba(0,0,0,.18);transform:skewX(-22deg)}
.gold-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.8fr)!important;gap:90px!important;align-items:end!important;position:relative;z-index:2}
.gold-intro h2{font-family:Montserrat,Inter,sans-serif!important;font-size:clamp(42px,4.5vw,64px)!important;letter-spacing:-2.5px!important;line-height:1!important;margin:12px 0 0!important}
.gold-intro p{font-size:16px!important;line-height:1.85!important;max-width:560px}

/* Services: large editorial cards with intentional hierarchy */
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;border:0!important}
.service-card{background:#0c0d0d!important;border:1px solid rgba(255,255,255,.09)!important;min-height:430px!important;position:relative;overflow:hidden;transition:transform .25s ease,border-color .25s ease,background .25s ease!important}
.service-card:nth-child(odd){border-right:1px solid rgba(255,255,255,.09)!important}
.service-card:hover{transform:translateY(-5px)!important;border-color:rgba(197,162,93,.45)!important;background:#101111!important}
.service-card .card-image{height:235px!important;background:#171818!important;position:relative;overflow:hidden}
.service-card .card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36))}
.service-card .card-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.06);transition:transform .5s ease,filter .5s ease}
.service-card:hover .card-image img{transform:scale(1.035);filter:saturate(.92) contrast(1.06)}
.service-card .card-image-placeholder{display:flex;align-items:flex-end;padding:22px;background:radial-gradient(circle at 75% 25%,rgba(197,162,93,.15),transparent 28%),linear-gradient(135deg,#191a1a,#090909)}
.service-card .card-image-placeholder span{font-size:9px;letter-spacing:2.4px;color:#6d6f6c;font-weight:700}
.service-card>div:not(.card-image){padding:27px 29px 29px!important}
.service-card h3{font-family:Montserrat,Inter,sans-serif!important;font-size:23px!important;letter-spacing:-.7px!important;margin:0!important;line-height:1.18!important}
.service-card p{font-size:13px!important;line-height:1.75!important;color:#858783!important;margin:12px 0!important;max-width:600px}
.service-card a{font-size:9px!important;letter-spacing:1.45px!important;margin-top:auto!important;padding-top:18px!important;color:#D7A62A!important}

/* Industries: structured grid, not generic cards */
.industry-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1px!important;background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.09)!important}
.industry-card{min-height:225px!important;background:#090a0a!important;border:0!important;padding:29px!important;transition:background .25s ease,transform .25s ease!important}
.industry-card:hover{background:#111313!important;transform:none!important}
.industry-card h3{font-family:Montserrat,Inter,sans-serif!important;font-size:21px!important;letter-spacing:-.4px!important;margin:28px 0 0!important;max-width:290px!important}
.industry-card p{font-size:12.5px!important;line-height:1.7!important;color:#777b77!important;margin-top:11px!important;max-width:290px}
.industry-card i{font-size:23px!important;right:25px!important;bottom:23px!important;color:#D7A62A!important}

/* Why: five-column proof rail with stronger top labels */
.editorial-trust-grid{gap:1px!important;background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.09)!important}
.editorial-trust-card{min-height:305px!important;padding:28px!important;background:#090a0a!important;border:0!important;position:relative!important}
.editorial-trust-card:after{content:"";position:absolute;left:28px;top:0;width:32px;height:2px;background:#B97808}
.editorial-trust-card h3{font-family:Montserrat,Inter,sans-serif!important;font-size:18px!important;letter-spacing:-.25px!important;margin:62px 0 0!important}
.editorial-trust-card p{font-size:12.5px!important;line-height:1.75!important;color:#7f817d!important}
.editorial-trust-card .card-link{display:inline-flex;gap:8px;align-items:center;margin-top:20px;color:#D7A62A}

/* Capabilities: visual modules with different density */
.editorial-cap-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;background:transparent!important}
.editorial-cap-card{min-height:275px!important;background:linear-gradient(145deg,#131515,#0a0b0b)!important;border:1px solid rgba(255,255,255,.09)!important;padding:27px!important;position:relative!important;overflow:hidden}
.editorial-cap-card:before{content:"";position:absolute;right:-30px;bottom:-30px;width:100px;height:100px;border:1px solid rgba(197,162,93,.16);transform:rotate(45deg)}
.editorial-cap-card h3{font-family:Montserrat,Inter,sans-serif!important;font-size:19px!important;margin:54px 0 0!important;line-height:1.2!important}
.editorial-cap-card p{font-size:12px!important;line-height:1.72!important;color:#777b77!important}
.editorial-cap-card b{font-size:21px!important;color:#D7A62A!important}

/* Main CTA: one strong conversion moment */
.cta-band{padding:112px 0!important;background:linear-gradient(115deg,#101212 0%,#090a0a 72%)!important}
.cta-grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr)!important;gap:100px!important}
.cta-band h2{font-family:Montserrat,Inter,sans-serif!important;font-size:clamp(48px,5.2vw,76px)!important;letter-spacing:-3.8px!important}
.cta-band p{font-size:15px!important;line-height:1.85!important}

/* Internal heroes: visual depth without repeating the same layout */
.inner-hero{min-height:590px!important;padding:110px 0 95px!important;background:#070808!important}
.inner-hero:before{background:radial-gradient(circle at 78% 35%,rgba(197,162,93,.16),transparent 24%),linear-gradient(135deg,#050606 0%,#0d0f0f 72%,#111313 100%)!important}
.inner-hero:after{right:-18%;bottom:-50%;width:82%;height:110%;border-color:rgba(255,255,255,.045);transform:skewY(-13deg) rotate(-5deg)!important}
.inner-hero-inner{max-width:1050px!important}
.inner-hero h1{font-family:Montserrat,Inter,sans-serif!important;font-size:clamp(58px,6.7vw,94px)!important;letter-spacing:-4.5px!important;line-height:.91!important;max-width:980px!important}
.inner-hero p{font-size:16px!important;line-height:1.85!important;max-width:690px!important;color:#a7a9a5!important}

/* Internal content: stronger editorial alternation */
.content-block{padding:125px 0!important;background:#070808!important}
.content-block.block-alt{background:#0e1010!important}
.content-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.76fr)!important;gap:100px!important}
.content-grid h2{font-family:Montserrat,Inter,sans-serif!important;font-size:clamp(42px,4.4vw,62px)!important;letter-spacing:-2.7px!important}
.rich-copy{font-size:15px!important;line-height:1.9!important;color:#999b97!important}
.visual:before{inset:-14px 14px 14px -14px!important;border-color:rgba(197,162,93,.14)!important}
.visual img,.visual-placeholder{min-height:480px!important;border-color:rgba(255,255,255,.09)!important}

/* Services internal */
.services-intro{padding:100px 0 50px!important;background:#060707!important}
.services-intro h2{font-family:Montserrat,Inter,sans-serif!important;font-size:clamp(44px,4.8vw,68px)!important;letter-spacing:-3px!important}
.service-detail{padding:120px 0!important;background:#070808!important}
.service-detail.block-alt{background:#0e1010!important}
.service-detail-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.78fr)!important;gap:100px!important}
.service-detail-copy h2{font-family:Montserrat,Inter,sans-serif!important;font-size:clamp(42px,4.3vw,60px)!important;letter-spacing:-2.7px!important}
.service-detail-copy p{font-size:15px!important;line-height:1.9!important;color:#999b97!important}
.service-points span{background:#111313!important;border-color:rgba(255,255,255,.09)!important}

/* Industry page */
.industry-page-grid,.capability-overview{padding:100px 0 45px!important}
.industry-page-grid h2,.capability-overview h2{font-family:Montserrat,Inter,sans-serif!important;font-size:clamp(44px,4.8vw,68px)!important;letter-spacing:-3px!important}
.industry-page-grid-modern{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1px!important;background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.09)!important}
.industry-page-grid-modern .industry-card{min-height:280px!important;padding:32px!important}

/* Testimonials */
.testimonial-section{padding-top:110px!important;padding-bottom:125px!important}
.testimonial-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.testimonial-card{background:#0d0f0f!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:0!important}
.testimonial-card:hover{border-color:rgba(197,162,93,.42)!important}
.testimonial-media{height:215px!important;background:radial-gradient(circle at 72% 25%,rgba(197,162,93,.15),transparent 28%),#141616!important}
.testimonial-content{padding:26px!important;min-height:285px!important}
.testimonial-review{font-size:13px!important;line-height:1.85!important;color:#c3c5c0!important}

/* Enquiry: high-contrast form system */
.contact-section{padding:125px 0!important;background:#070808!important}
.contact-grid{grid-template-columns:minmax(0,1.12fr) minmax(300px,.66fr)!important;gap:105px!important}
.contact-section h2,.contact-side h2{font-family:Montserrat,Inter,sans-serif!important;font-size:clamp(44px,4.8vw,68px)!important;letter-spacing:-3px!important}
.enquiry-form{gap:20px!important}
.field input,.field select,.field textarea{border-radius:2px!important;background:#0e1010!important;border-color:rgba(255,255,255,.12)!important;padding:16px 17px!important}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#B97808!important;box-shadow:0 0 0 3px rgba(197,162,93,.08)!important}
.contact-side{padding-left:48px!important;border-color:rgba(255,255,255,.09)!important}
.direct-link{padding:24px 0!important}
.contact-bottom{padding:105px 0!important;background:linear-gradient(110deg,#B97808,#C98900)!important}

/* Footer */
.footer-main{padding:86px 0!important;grid-template-columns:1.5fr .7fr 1fr 1fr!important;gap:62px!important}
.footer-brand .sharpline-logo{width:235px!important;height:82px!important}
.footer-bottom{padding:20px 0!important}

/* Responsive alignment */
@media(max-width:1100px){
  .container{width:calc(100% - 52px)!important}
  .main-nav{gap:18px!important}
  .hero-copy h1{font-size:clamp(55px,8vw,86px)!important}
  .editorial-cap-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .editorial-trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:850px){
  .site-header{height:78px!important}
  .brand{width:195px!important}
  .brand .sharpline-logo{height:60px!important}
  .container{width:calc(100% - 40px)!important}
  .home-hero{min-height:720px!important;padding-top:78px!important}
  .hero-inner{min-height:642px!important;padding:92px 0 70px!important}
  .hero-copy h1{font-size:clamp(48px,10vw,76px)!important;letter-spacing:-3.8px!important}
  .home-section{padding:92px 0!important}
  .gold-grid,.cta-grid,.content-grid,.contact-grid,.service-detail-grid{grid-template-columns:1fr!important;gap:48px!important}
  .gold-grid{gap:34px!important}
  .service-grid{grid-template-columns:1fr!important}
  .industry-grid{grid-template-columns:1fr 1fr!important}
  .editorial-trust-grid,.editorial-cap-grid{grid-template-columns:1fr 1fr!important}
  .industry-page-grid-modern{grid-template-columns:1fr 1fr!important}
  .content-block,.service-detail,.contact-section{padding:92px 0!important}
  .visual{margin-top:12px!important}
  .footer-main{grid-template-columns:1fr 1fr!important;gap:40px!important}
}
@media(max-width:600px){
  .container{width:calc(100% - 28px)!important}
  .site-header{height:72px!important}
  .brand{width:172px!important}
  .brand .sharpline-logo{height:55px!important}
  .home-hero{min-height:650px!important;padding-top:72px!important}
  .hero-inner{min-height:578px!important;padding:76px 0 54px!important}
  .hero-copy h1{font-size:clamp(42px,12vw,60px)!important;letter-spacing:-2.9px!important}
  .hero-copy p{font-size:14px!important;line-height:1.8!important}
  .hero-actions{flex-direction:column!important;align-items:stretch!important}
  .hero-actions .btn{width:100%!important}
  .gold-intro{padding:62px 0!important}
  .gold-intro h2{font-size:39px!important}
  .home-section{padding:70px 0!important}
  .home-section h2{font-size:36px!important;letter-spacing:-1.7px!important}
  .service-grid,.industry-grid,.editorial-trust-grid,.editorial-cap-grid,.industry-page-grid-modern,.testimonial-grid{grid-template-columns:1fr!important}
  .service-card{min-height:0!important}
  .service-card .card-image{height:205px!important}
  .service-card>div:not(.card-image){padding:24px 21px 27px!important}
  .service-card h3{font-size:21px!important}
  .industry-card,.industry-page-grid-modern .industry-card{min-height:205px!important}
  .editorial-trust-card,.editorial-cap-card{min-height:230px!important}
  .inner-hero{min-height:455px!important;padding:84px 0 66px!important}
  .inner-hero h1{font-size:clamp(43px,11vw,59px)!important;letter-spacing:-2.8px!important}
  .inner-hero p{font-size:14px!important}
  .content-block,.service-detail,.contact-section{padding:72px 0!important}
  .content-grid h2,.service-detail-copy h2{font-size:36px!important;letter-spacing:-1.8px!important}
  .visual img,.visual-placeholder{min-height:280px!important}
  .testimonial-grid{gap:14px!important}
  .testimonial-media{height:205px!important}
  .testimonial-content{min-height:245px!important}
  .contact-side{padding-left:0!important;border-left:0!important;border-top:1px solid var(--sp-line)!important;padding-top:38px!important}
  .footer-main{grid-template-columns:1fr!important;padding:64px 0!important}
}
/* SHARPLINE v4.25 — visual refinement system */
:root{
  --container:1240px;
  --gutter:clamp(24px,6.2vw,96px);
  --black:#050505;
  --black2:#090909;
  --panel:#101010;
  --panel2:#151515;
  --gold:#B97808;
  --gold2:#D7A62A;
  --silver:#C9C9C9;
  --white:#F7F7F5;
  --muted:#8A8B8C;
  --muted2:#626466;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.16);
  --ease:cubic-bezier(.2,.7,.2,1);
}
html{background:#050505}
body{font-family:'Inter',Arial,Helvetica,sans-serif;background:#050505;color:var(--white);font-size:15px;line-height:1.7;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.018;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:80px 80px;mix-blend-mode:screen}
.container{width:min(calc(100% - (var(--gutter) * 2)),var(--container));margin-inline:auto}
.site-header{height:76px;background:rgba(5,5,5,.88);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);transition:background .3s var(--ease),height .3s var(--ease)}
.header-inner{gap:34px}
.brand{width:225px}
.brand .sharpline-logo{width:225px;height:62px;object-fit:contain;object-position:left center}
.main-nav{gap:27px;align-items:center}
.main-nav a{font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:1.25px;color:#aaa;position:relative;padding:9px 0}
.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--gold2);transition:right .28s var(--ease)}
.main-nav a:hover:after,.main-nav a.active:after{right:0}
.main-nav a:hover,.main-nav a.active{color:#fff}
.header-action .btn{min-width:137px;height:46px}
.btn{font-family:'Montserrat',sans-serif;border-radius:0;min-height:50px;padding:0 22px;font-size:9px;letter-spacing:1.3px;transition:transform .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold2);box-shadow:0 12px 35px rgba(197,162,93,.12)}
.btn-gold:hover{background:#E5C45A;box-shadow:0 16px 42px rgba(197,162,93,.20)}
.btn-ghost{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.02)}
.btn-ghost:hover{background:rgba(255,255,255,.06);border-color:var(--gold)}
.eyebrow{font-family:'Montserrat',sans-serif;font-size:9px;letter-spacing:2.3px;font-weight:800;color:var(--gold2);position:relative}
.eyebrow:before{content:"";display:inline-block;width:24px;height:1px;background:currentColor;margin:0 12px 3px 0;opacity:.9}
.eyebrow.dark:before{background:#090909}

/* HERO — large type, deliberate grid, restrained highway line */
.home-hero{min-height:calc(100vh - 76px);height:760px;max-height:900px;background:#070707;isolation:isolate}
.home-hero:after,.inner-hero:after{content:"";position:absolute;left:17%;right:-12%;bottom:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),rgba(197,162,93,.22),transparent);transform:rotate(-13deg);transform-origin:left center;pointer-events:none}
.hero-bg{opacity:.72;filter:saturate(.82) contrast(1.08)}
.hero-overlay{background:linear-gradient(90deg,rgba(3,3,3,.96) 0%,rgba(3,3,3,.86) 34%,rgba(3,3,3,.48) 68%,rgba(3,3,3,.28) 100%),linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.55))}
.hero-inner{padding:100px 0 90px;align-items:center}
.hero-copy{max-width:920px}
.hero-copy h1,.inner-hero h1,.content-block h2,.home-section h2,.cta-band h2,.mini-cta h2,.contact-section h2,.contact-side h2,.contact-bottom h2{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-2.7px}
.hero-copy h1{font-size:clamp(58px,7.2vw,104px);line-height:.91;margin:19px 0 27px;max-width:920px}
.hero-copy p{max-width:610px;color:#c4c4c4;font-size:16px;line-height:1.75}
.hero-actions{margin-top:35px;gap:14px}

/* Brand positioning becomes a premium editorial band rather than a flat gold block */
.gold-intro{position:relative;background:#0b0b0b;color:#eee;padding:96px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.gold-intro:before{content:"";position:absolute;width:520px;height:520px;right:-170px;top:-240px;border:1px solid rgba(197,162,93,.18);transform:rotate(45deg)}
.gold-intro:after{content:"";position:absolute;left:0;bottom:0;width:32%;height:2px;background:var(--gold2)}
.gold-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:100px;align-items:center;position:relative;z-index:1}
.gold-intro h2{font-family:'Montserrat',sans-serif;font-size:clamp(34px,4vw,58px);line-height:1.02;letter-spacing:-2px;margin:17px 0 0;max-width:720px}
.gold-intro p{font-size:16px;color:#aaa;line-height:1.9;max-width:570px}

/* Shared section rhythm */
.home-section{padding:128px 0;background:#050505;position:relative;overflow:hidden}
.home-section.dark-alt{background:#0b0b0b}
.home-section:before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line)}
.home-section h2{font-size:clamp(38px,4.2vw,58px);line-height:1;letter-spacing:-2.2px;margin:17px 0 18px;max-width:850px}
.section-lead{max-width:680px;color:#8e9092;font-size:15px;line-height:1.8;margin:0 0 58px}

/* Services — image-led, editorial cards */
.service-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}
.service-card{background:#0b0b0b!important;border:0!important;min-height:470px!important;transition:background .3s var(--ease),transform .3s var(--ease)}
.service-card:hover{background:#111!important}
.service-card .card-image{height:245px!important;position:relative;overflow:hidden}
.service-card .card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.72));pointer-events:none}
.service-card .card-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.08);transition:transform .7s var(--ease),filter .5s var(--ease)}
.service-card:hover .card-image img{transform:scale(1.035);filter:saturate(.95) contrast(1.1)}
.service-card .card-image-placeholder{background:radial-gradient(circle at 75% 20%,rgba(197,162,93,.15),transparent 30%),linear-gradient(135deg,#181818,#080808)}
.service-card .card-image-placeholder span{font-family:'Montserrat';font-size:10px;letter-spacing:2px;color:#666}
.service-card>div:not(.card-image){padding:29px 30px 31px!important}
.service-card h3{font-family:'Montserrat',sans-serif;font-size:23px!important;line-height:1.15!important;letter-spacing:-.7px}
.service-card p{font-size:13px!important;line-height:1.75;max-width:620px;color:#8e8e8e}
.service-card a{font-family:'Montserrat',sans-serif;font-size:9px;letter-spacing:1.5px;margin-top:24px;color:var(--gold2)}

/* Industries — disciplined grid, no generic SaaS cards */
.industry-grid{gap:1px;background:var(--line);border:0!important;grid-template-columns:repeat(3,minmax(0,1fr))}
.industry-card{background:#0d0d0d;border:0!important;min-height:235px;padding:30px!important;transition:background .3s var(--ease),transform .3s var(--ease)}
.industry-card:hover{background:#141414;transform:translateY(-3px)}
.industry-card h3{font-family:'Montserrat',sans-serif;font-size:20px;line-height:1.15;letter-spacing:-.4px;margin:48px 0 10px;max-width:260px}
.industry-card p{font-size:12px;color:#747678;line-height:1.7;max-width:270px}
.industry-card i{font-family:'Montserrat';right:25px;top:28px;bottom:auto;font-size:18px}

/* Why — proof hierarchy instead of flat 5-card SaaS row */
.trust-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:0}
.trust-card{background:#0b0b0b;border:0!important;min-height:275px;padding:30px 24px;transition:background .3s var(--ease)}
.trust-card:hover{background:#121212}
.trust-card h3{font-family:'Montserrat',sans-serif;font-size:17px;line-height:1.2;letter-spacing:-.3px;margin:74px 0 15px}
.trust-card p{font-size:12px;line-height:1.75;color:#7d7f80}
.trust-card .card-link{font-family:'Montserrat';font-size:8px;letter-spacing:1.3px;color:var(--gold2);display:inline-flex;gap:7px;margin-top:18px}

/* Capabilities — operational matrix */
.cap-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line)}
.cap-card{background:#111!important;border:0!important;min-height:230px;padding:27px!important;transition:background .3s var(--ease),transform .3s var(--ease)}
.cap-card:hover{background:#181818!important;transform:translateY(-3px)}
.cap-card h3{font-family:'Montserrat',sans-serif;font-size:18px;line-height:1.15;letter-spacing:-.3px}
.cap-card p{font-size:12px;color:#858585;line-height:1.7;margin:20px 0}
.cap-card b{font-family:'Montserrat';color:var(--gold2)}

/* Internal pages — same system, different rhythm */
.inner-hero{min-height:560px;position:relative;padding:115px 0 95px;background:#080808;overflow:hidden;isolation:isolate}
.inner-hero.has-custom-hero{background-size:cover!important;background-position:center!important}
.inner-hero.has-custom-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,3,3,.94),rgba(3,3,3,.70) 55%,rgba(3,3,3,.35)),linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.6));z-index:-1}
.inner-hero-inner{display:block;max-width:var(--container);position:relative;z-index:2}
.inner-hero h1{font-size:clamp(56px,7vw,96px);line-height:.92;margin:20px 0 25px;max-width:930px}
.inner-hero p{max-width:680px;font-size:16px;line-height:1.8;color:#b0b0b0}
.inner-hero .btn{margin-top:31px}
.content-block{padding:125px 0;background:#060606;position:relative;overflow:hidden}
.content-block.block-alt{background:#0c0c0c}
.content-block:before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line)}
.content-grid{grid-template-columns:minmax(0,1.02fr) minmax(380px,.78fr);gap:110px;align-items:center}
.content-block:nth-of-type(even) .content-grid{grid-template-columns:minmax(380px,.78fr) minmax(0,1.02fr)}
.content-block:nth-of-type(even) .content-grid>div:first-child{order:2}
.content-block:nth-of-type(even) .content-grid>div:last-child{order:1}
.content-block h2{font-size:clamp(38px,4.1vw,58px);line-height:1.01;margin:17px 0 23px}
.rich-copy{font-size:15px;line-height:1.9;color:#97999a;max-width:650px}
.rich-copy p{margin:0 0 18px}
.visual{min-height:420px;position:relative}
.visual:before{content:"";position:absolute;left:-14px;top:14px;width:calc(100% + 14px);height:100%;border:1px solid rgba(197,162,93,.22);pointer-events:none}
.visual img,.visual-placeholder{height:430px!important;width:100%;object-fit:cover;position:relative;z-index:1}
.visual img{filter:saturate(.78) contrast(1.08)}
.visual-placeholder{border:1px solid var(--line);background:radial-gradient(circle at 72% 25%,rgba(197,162,93,.18),transparent 28%),linear-gradient(145deg,#191919,#070707);display:flex;align-items:flex-end;justify-content:space-between;padding:28px}
.visual-placeholder:after{content:"";width:90px;height:1px;background:var(--gold2);display:block}
.visual-placeholder b{font-family:'Montserrat';font-size:64px;color:rgba(197,162,93,.22)}

/* Services page — stronger vertical rhythm */
.services-intro,.industry-page-grid,.capability-overview{padding:100px 0 35px}
.services-intro h2,.industry-page-grid h2,.capability-overview h2{font-family:'Montserrat';font-size:clamp(38px,4vw,58px);letter-spacing:-2px;line-height:1;margin:17px 0}
.service-detail{padding:105px 0;background:#070707;position:relative;overflow:hidden}
.service-detail:nth-of-type(even){background:#0c0c0c}
.service-detail-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.72fr)!important;gap:100px!important}
.service-detail h2{font-family:'Montserrat';font-size:clamp(38px,4vw,54px);line-height:1.02;letter-spacing:-1.8px}
.service-detail p{font-size:15px;line-height:1.85;color:#929496}
.service-points span{font-family:'Montserrat';font-size:8px;letter-spacing:1.25px;padding:9px 11px;background:#111;border-color:var(--line)}

/* Primary conversion CTA */
.cta-band{padding:105px 0;background:#0b0b0b;border-top:1px solid var(--line);position:relative;overflow:hidden}
.cta-band:after{content:"";position:absolute;width:520px;height:520px;right:-210px;top:-220px;border:1px solid rgba(197,162,93,.18);transform:rotate(45deg)}
.cta-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);gap:100px;position:relative;z-index:1}
.cta-band h2{font-size:clamp(46px,5vw,72px);letter-spacing:-2.6px}
.cta-band p{font-size:15px;color:#9b9b9b;line-height:1.8}

/* Enquiry page — primary conversion experience */
.contact-section{padding:110px 0 125px;background:#070707;position:relative}
.contact-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);gap:90px;align-items:start}
.contact-section> .container>div:first-child{background:#0c0c0c;border:1px solid rgba(255,255,255,.09);padding:48px;position:relative}
.contact-section> .container>div:first-child:before{content:"01";position:absolute;right:35px;top:31px;font-family:'Montserrat';font-size:12px;letter-spacing:2px;color:rgba(197,162,93,.55)}
.contact-section h2,.contact-side h2{font-family:'Montserrat';font-size:clamp(36px,3.8vw,54px);letter-spacing:-1.7px;line-height:1.02}
.enquiry-form{gap:20px;margin-top:36px}
.field label{font-family:'Montserrat';font-size:8px;letter-spacing:1.4px;color:#858789;margin-bottom:9px}
.field input,.field select,.field textarea{background:#080808;border:1px solid #292b2c;color:#f2f2f2;padding:15px 16px;min-height:51px;transition:border-color .25s,box-shadow .25s}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(217,191,134,.7);box-shadow:0 0 0 3px rgba(217,191,134,.06)}
.enquiry-form .btn{min-width:210px;margin-top:4px}
.submission-success,.submission-error{margin:20px 0;border:1px solid rgba(217,191,134,.22);background:#111;padding:20px}
.contact-side{border-left:0;padding-left:0;position:sticky;top:110px}
.contact-side:before{content:"02";display:block;font-family:'Montserrat';font-size:11px;letter-spacing:2px;color:var(--gold);margin-bottom:14px}
.direct-link{padding:21px 0;border-bottom:1px solid var(--line);grid-template-columns:72px 1fr 20px}
.direct-link small,.address-box small{font-family:'Montserrat';font-size:8px;letter-spacing:1.5px}
.direct-link strong{font-family:'Montserrat';font-size:12px;letter-spacing:.1px}
.address-box{margin-top:32px}
.map-preview{height:230px;filter:none !important;}
.contact-bottom{padding:105px 0;background:var(--gold2);color:#080808;position:relative;overflow:hidden}
.contact-bottom:after{content:"";position:absolute;width:400px;height:400px;right:-180px;top:-160px;border:1px solid rgba(0,0,0,.2);transform:rotate(45deg)}
.contact-bottom h2{font-size:clamp(45px,5vw,70px);letter-spacing:-2.5px}

/* Footer — quiet, premium, consistent grid */
.site-footer{background:#020202!important;border-top:1px solid rgba(255,255,255,.08)}
.footer-main{grid-template-columns:1.35fr .7fr 1fr 1fr;gap:70px;padding:80px 0}
.footer-brand .sharpline-logo{width:230px;height:82px}
.footer-brand p{max-width:330px;font-size:12px!important;line-height:1.8}
.footer-label{font-family:'Montserrat';font-size:8px;letter-spacing:2px}
.site-footer a,.site-footer p{font-size:12px;line-height:1.8}
.footer-bottom{padding:18px 0}

/* Floating conversion controls */
.floating-actions{right:22px;bottom:22px;gap:9px}
.floating-actions a{width:46px;height:46px;background:#101010;border-color:#292929;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.floating-actions .wa{background:var(--gold2);border-color:var(--gold2)}

/* Motion stays restrained */
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:1100px){
  :root{--gutter:clamp(28px,5vw,58px)}
  .brand,.brand .sharpline-logo{width:190px}.main-nav{gap:17px}
  .content-grid{gap:65px}.trust-grid{grid-template-columns:repeat(3,1fr)}.cap-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:850px){
  :root{--gutter:26px}
  .site-header{height:72px}.brand,.brand .sharpline-logo{width:178px;height:58px}.header-inner{gap:16px}
  .header-action{display:none}.primary-nav{position:absolute;left:0;right:0;top:72px;background:#070707;border-bottom:1px solid var(--line);padding:18px var(--gutter);display:none}.primary-nav.open{display:block}.main-nav{display:block}.main-nav li{border-bottom:1px solid rgba(255,255,255,.07)}.main-nav a{display:block;padding:15px 0;font-size:10px}.main-nav a:after{bottom:0}
  .home-hero{height:auto;min-height:720px}.hero-inner{padding:100px 0 80px}.hero-copy h1{font-size:clamp(52px,12vw,78px);letter-spacing:-2px}.hero-copy p{font-size:15px}
  .gold-grid,.cta-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.gold-intro{padding:75px 0}
  .service-grid{grid-template-columns:1fr}.industry-grid{grid-template-columns:repeat(2,1fr)}.trust-grid,.cap-grid{grid-template-columns:repeat(2,1fr)}
  .inner-hero{min-height:500px;padding:95px 0 75px}.inner-hero h1{font-size:clamp(50px,11vw,76px)}
  .content-grid,.content-block:nth-of-type(even) .content-grid{grid-template-columns:1fr;gap:55px}.content-block:nth-of-type(even) .content-grid>div:first-child,.content-block:nth-of-type(even) .content-grid>div:last-child{order:initial}
  .visual{min-height:0}.visual:before{left:-8px;top:8px}.visual img,.visual-placeholder{height:340px!important}
  .service-detail-grid{grid-template-columns:1fr!important;gap:50px!important}.contact-section> .container>div:first-child{padding:34px 24px}.contact-side{position:static}.footer-main{grid-template-columns:1fr 1fr;gap:42px}
}
@media(max-width:560px){
  :root{--gutter:20px}.brand,.brand .sharpline-logo{width:155px}
  .hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}
  .home-section{padding:88px 0}.home-section h2{font-size:39px}.section-lead{margin-bottom:40px}
  .industry-grid,.trust-grid,.cap-grid{grid-template-columns:1fr}.service-card{min-height:0!important}.service-card .card-image{height:205px!important}
  .inner-hero{min-height:470px}.inner-hero h1{font-size:48px}.content-block{padding:88px 0}.content-block h2{font-size:39px}.visual img,.visual-placeholder{height:290px!important}
  .contact-section{padding:80px 0 95px}.contact-section> .container>div:first-child{padding:29px 18px}.enquiry-form{grid-template-columns:1fr}.field.full,.enquiry-form .full{grid-column:auto}.enquiry-form .full:last-child{grid-column:auto}.enquiry-form .btn{width:100%}
  .footer-main{grid-template-columns:1fr;padding:62px 0}.footer-bottom .container{display:block}
}
/* v4.25 correction: alternate only sections explicitly marked block-alt */
.content-block:nth-of-type(even) .content-grid{grid-template-columns:minmax(0,1.02fr) minmax(380px,.78fr)}
.content-block:nth-of-type(even) .content-grid>div:first-child,.content-block:nth-of-type(even) .content-grid>div:last-child{order:initial}
.content-block.block-alt .content-grid{grid-template-columns:minmax(380px,.78fr) minmax(0,1.02fr)}
.content-block.block-alt .content-grid>div:first-child{order:2}
.content-block.block-alt .content-grid>div:last-child{order:1}
@media(max-width:850px){
 .content-block:nth-of-type(even) .content-grid,.content-block.block-alt .content-grid{grid-template-columns:1fr}
 .content-block:nth-of-type(even) .content-grid>div:first-child,.content-block:nth-of-type(even) .content-grid>div:last-child,.content-block.block-alt .content-grid>div:first-child,.content-block.block-alt .content-grid>div:last-child{order:initial}
}
/* v4.25 enquiry hierarchy */
.enquiry-panel .enquiry-intro{max-width:650px;color:#858789;font-size:14px;line-height:1.8;margin:0 0 26px}
.enquiry-steps{display:flex;flex-wrap:wrap;gap:18px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 6px}
.enquiry-steps span{font-family:'Montserrat',sans-serif;font-size:8px;letter-spacing:1.25px;color:#737577}
.enquiry-steps b{color:var(--gold2);margin-right:6px}
.contact-side-intro{font-size:13px;line-height:1.8;color:#7f8182;margin:-8px 0 18px}
@media(max-width:560px){.enquiry-steps{display:grid;grid-template-columns:1fr;gap:10px}.enquiry-panel .enquiry-intro{font-size:13px}}

/* =========================================================
   SHARPLINE v4.26 — PREMIUM B2B BLACK / GOLD DESIGN SYSTEM
   Visual refinement based on client review screenshots.
   No architecture/content/CMS changes.
   ========================================================= */
:root{
  --sp-black:#050505;
  --sp-black-2:#090909;
  --sp-black-3:#0d0d0d;
  --sp-panel:#111214;
  --sp-panel-2:#151515;
  --sp-white:#f5f5f2;
  --sp-text:#d2d2cf;
  --sp-muted:#8b8d8f;
  --sp-dim:#646669;
  --sp-gold:#B97808;
  --sp-gold-bright:#C98A12;
  --sp-silver:#b9babb;
  --sp-line:rgba(255,255,255,.09);
  --sp-container:1200px;
  --sp-gutter:80px;
}

html{background:var(--sp-black)}
body{
  background:var(--sp-black);
  color:var(--sp-white);
  font-family:Inter,Arial,sans-serif;
  letter-spacing:0;
}

/* ONE GRID — every public section shares the same left/right alignment */
.container{
  width:min(var(--sp-container),calc(100% - (var(--sp-gutter) * 2))) !important;
  max-width:var(--sp-container) !important;
  margin-inline:auto !important;
}
.site-header .container{width:min(var(--sp-container),calc(100% - (var(--sp-gutter) * 2))) !important}

/* Header */
.site-header{
  height:78px;
  background:rgba(4,4,4,.94)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 10px 35px rgba(0,0,0,.25);
}
.header-inner{height:78px;gap:34px}
.brand{width:205px!important}
.brand .sharpline-logo{width:205px!important;height:58px!important;object-fit:contain;object-position:left center}
.primary-nav{margin-left:auto}
.main-nav{gap:26px}
.main-nav a{
  font-family:Montserrat,Inter,sans-serif;
  font-size:9px!important;
  font-weight:700;
  letter-spacing:1.15px;
  color:#9d9f9f;
  transition:color .2s ease;
}
.main-nav a:hover,.main-nav a.active{color:var(--sp-white)!important}
.main-nav a.active:after{background:var(--sp-gold)!important;height:2px!important}
.header-action .btn{min-height:46px;padding-inline:25px}

/* Shared typography */
.eyebrow{
  font-family:Montserrat,Inter,sans-serif!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:2.5px!important;
  color:var(--sp-gold-bright)!important;
}
.eyebrow:before{background:var(--sp-gold)!important}
h1,h2,h3,h4,.hero-copy h1,.inner-hero h1,.home-section h2,.content-grid h2,.service-detail h2,.cta-band h2,.mini-cta h2,.contact-section h2,.contact-side h2,.gold-intro h2,.contact-bottom h2{
  font-family:Montserrat,Inter,Arial,sans-serif!important;
  font-weight:800!important;
  color:var(--sp-white);
}

/* Subtle grid — industrial, not decorative */
.home-hero,.inner-hero,.home-section,.content-block,.service-detail,.services-intro,.industry-page-grid,.capability-overview,.contact-section,.cta-band,.mini-cta,.contact-bottom{
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:64px 64px;
}

/* Homepage hero */
.home-hero{
  min-height:690px!important;
  background-color:#050505!important;
  background-position:center;
}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(3,3,3,.98) 0%,rgba(3,3,3,.88) 42%,rgba(3,3,3,.40) 76%,rgba(3,3,3,.70) 100%)!important;
}
.hero-inner{padding:105px 0 92px!important;align-items:flex-end}
.hero-copy{max-width:900px}
.hero-copy h1{
  font-size:clamp(58px,6.3vw,92px)!important;
  line-height:.94!important;
  letter-spacing:-4.2px!important;
  max-width:900px;
  margin:18px 0 24px!important;
}
.hero-copy p{max-width:650px;color:#aeb0b0;font-size:16px;line-height:1.8}
.hero-actions{gap:12px;margin-top:30px}
.btn{font-family:Montserrat,Inter,sans-serif!important;font-weight:800!important;letter-spacing:1.1px!important;border-radius:0!important}
.btn-gold{background:var(--sp-gold)!important;color:#070707!important;border-color:var(--sp-gold)!important}
.btn-gold:hover{background:var(--sp-gold-bright)!important;border-color:var(--sp-gold-bright)!important}
.btn-ghost{border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.015)!important;color:var(--sp-white)!important}
.btn-ghost:hover{border-color:var(--sp-gold)!important;color:var(--sp-gold-bright)!important}

/* The old full-yellow brand strip becomes a premium black positioning block */
.gold-intro{
  position:relative!important;
  background:#080808!important;
  color:var(--sp-white)!important;
  padding:92px 0!important;
  border-top:1px solid var(--sp-line);
  border-bottom:1px solid var(--sp-line);
  overflow:hidden;
}
.gold-intro:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  background:linear-gradient(180deg,transparent 0%,var(--sp-gold) 50%,transparent 100%);
}
.gold-intro:after{
  content:"";
  position:absolute;
  width:680px;height:680px;
  right:-360px;top:-330px;
  border:1px solid rgba(197,162,93,.17);
  transform:rotate(38deg);
  pointer-events:none;
}
.gold-grid{
  position:relative;z-index:2;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.75fr)!important;
  gap:100px!important;
  align-items:end!important;
}
.gold-intro h2{
  color:var(--sp-white)!important;
  font-size:clamp(42px,4.6vw,66px)!important;
  line-height:1!important;
  letter-spacing:-3px!important;
  margin:15px 0 0!important;
}
.gold-intro p{color:#a3a5a5!important;font-size:16px!important;line-height:1.85!important}
.gold-intro .eyebrow.dark{color:var(--sp-gold-bright)!important}

/* Homepage section rhythm */
.home-section{padding:120px 0!important;background-color:#050505!important}
.home-section.dark-alt{background-color:#0a0a0a!important}
.home-section>.container>h2{
  font-size:clamp(42px,4.3vw,62px)!important;
  line-height:1!important;
  letter-spacing:-1.2px!important;
  max-width:850px;
  margin:16px 0 17px!important;
}
.section-lead{font-size:15px!important;line-height:1.85!important;color:#929496!important;max-width:650px!important;margin-bottom:54px!important}

/* Service / industry / proof grids */
.service-grid{border-top:1px solid var(--sp-line)!important}
.service-card{background:#070707!important;border-bottom:1px solid var(--sp-line)!important;transition:background .25s ease,transform .25s ease}
.service-card:hover{background:#0e0e0e!important}
.service-card h3,.industry-card h3,.trust-card h3,.cap-card h3{font-family:Montserrat,Inter,sans-serif!important}
.editorial-card{border:1px solid var(--sp-line)!important;background:#090909!important}
.editorial-card:hover{border-color:rgba(197,162,93,.35)!important;transform:translateY(-3px)}
.editorial-card-body{padding:30px!important}
.editorial-card-body h3{font-size:21px!important;line-height:1.18!important}
.editorial-card-body p{color:#8d8f90!important;line-height:1.7!important}
.editorial-card-body a{font-family:Montserrat,Inter,sans-serif!important}
.editorial-industry-card,.editorial-trust-card,.editorial-cap-card{background:#070707!important;border-color:var(--sp-line)!important}
.editorial-industry-card:hover,.editorial-trust-card:hover,.editorial-cap-card:hover{background:#0d0d0d!important;border-color:rgba(197,162,93,.32)!important}

/* Internal page hero — same grid as all content */
.inner-hero{
  min-height:500px!important;
  padding:95px 0 92px!important;
  background-color:#060606!important;
  border-bottom:1px solid var(--sp-line)!important;
}
.inner-hero:before{
  background:
    radial-gradient(circle at 86% 28%,rgba(197,162,93,.12),transparent 23%),
    linear-gradient(125deg,#050505 0%,#080909 65%,#11100a 100%)!important;
}
.inner-hero:after{
  right:-8%!important;
  bottom:-58%!important;
  width:80%!important;
  height:110%!important;
  border:1px solid rgba(197,162,93,.20)!important;
  transform:skewY(-18deg) rotate(-7deg)!important;
}
.inner-hero-inner{
  width:100%!important;
  max-width:var(--sp-container)!important;
  margin-inline:auto!important;
}
.inner-hero h1{
  font-size:clamp(56px,6.4vw,88px)!important;
  line-height:.94!important;
  letter-spacing:-4px!important;
  max-width:920px!important;
  margin:16px 0 22px!important;
}
.inner-hero p{font-size:16px!important;line-height:1.8!important;color:#a8aaaa!important;max-width:680px!important}

/* Content blocks: consistent 12-column-feeling split */
.content-block{padding:118px 0!important;background-color:#060606!important;border-bottom:1px solid rgba(255,255,255,.035)}
.content-block.block-alt{background-color:#0a0a0a!important}
.content-grid,.content-block.block-alt .content-grid{
  grid-template-columns:minmax(0,1fr) minmax(390px,.86fr)!important;
  gap:110px!important;
  align-items:center!important;
}
.content-block.block-alt .content-grid>div:first-child{order:2}
.content-block.block-alt .content-grid>div:last-child{order:1}
.content-grid>div:first-child{min-width:0}
.content-grid h2{font-size:clamp(40px,4.1vw,60px)!important;line-height:1!important;letter-spacing:-2.7px!important;margin:16px 0 24px!important}
.rich-copy{font-size:15px!important;line-height:1.9!important;color:#969899!important;max-width:650px}
.visual{min-height:430px!important}
.visual:before{left:-11px!important;top:11px!important;width:calc(100% + 11px)!important;border-color:rgba(197,162,93,.22)!important}
.visual img,.visual-placeholder{min-height:430px!important;height:430px!important;border:1px solid rgba(255,255,255,.12)!important}
.visual-placeholder{background:radial-gradient(circle at 72% 24%,rgba(197,162,93,.15),transparent 24%),linear-gradient(145deg,#171717,#070707)!important}

/* Services internal */
.services-intro,.industry-page-grid,.capability-overview{padding:95px 0 45px!important;background-color:#050505!important}
.services-intro h2,.industry-page-grid h2,.capability-overview h2{font-size:clamp(42px,4.2vw,62px)!important;line-height:1!important;letter-spacing:-2.8px!important}
.service-detail{padding:112px 0!important;background-color:#080808!important;border-top:1px solid rgba(255,255,255,.035)}
.service-detail:nth-of-type(even){background-color:#0b0b0b!important}
.service-detail-grid{grid-template-columns:80px minmax(0,1fr) minmax(360px,.72fr)!important;gap:55px!important}
.service-number{font-family:Montserrat,Inter,sans-serif!important;font-size:48px!important;color:var(--sp-gold)!important}
.service-detail h2{font-size:clamp(38px,3.7vw,54px)!important;line-height:1!important;letter-spacing:-2.3px!important}
.service-detail p{font-size:15px!important;line-height:1.85!important;color:#959798!important}
.service-points span{background:#0d0d0d!important;border-color:var(--sp-line)!important;color:#999!important}

/* Premium CTA — black, gold only as a rule/button */
.cta-band,.mini-cta,.contact-bottom{
  position:relative!important;
  background-color:#090909!important;
  color:var(--sp-white)!important;
  border-top:1px solid var(--sp-line)!important;
  border-bottom:1px solid var(--sp-line)!important;
  overflow:hidden;
}
.cta-band:before,.mini-cta:before,.contact-bottom:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,transparent,var(--sp-gold),transparent);
}
.cta-band:after,.mini-cta:after,.contact-bottom:after{
  width:520px!important;height:520px!important;
  right:-280px!important;top:-250px!important;
  border:1px solid rgba(197,162,93,.14)!important;
  background:none!important;
  transform:rotate(42deg)!important;
}
.cta-band{padding:110px 0!important}
.cta-grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.65fr)!important;gap:100px!important;align-items:end}
.cta-band h2{font-size:clamp(46px,5vw,72px)!important;line-height:.98!important;letter-spacing:-3px!important}
.cta-band p{color:#969899!important;line-height:1.85!important}
.mini-cta{padding:92px 0!important}
.mini-cta h2{font-size:clamp(40px,4.5vw,62px)!important;line-height:1!important;letter-spacing:-2.8px!important}
.mini-cta p{color:#959798!important;max-width:620px}
.mini-cta .btn{margin-top:18px}

/* Industries — clean editorial grid */
.industry-page-grid .industry-grid-modern,.industry-page-grid .industry-grid{margin-top:55px}
.industry-page-grid .industry-card{background:#070707!important;border-color:var(--sp-line)!important;min-height:210px}
.industry-page-grid .industry-card:hover{background:#0d0d0d!important;border-color:rgba(197,162,93,.32)!important}

/* Enquiry is the conversion centerpiece */
.contact-section{padding:118px 0 128px!important;background-color:#060606!important}
.contact-grid{grid-template-columns:minmax(0,1.18fr) minmax(300px,.62fr)!important;gap:90px!important;align-items:start!important}
.contact-section>.container>div:first-child{
  background:#0b0b0b!important;
  border:1px solid rgba(255,255,255,.10)!important;
  padding:52px!important;
  box-shadow:0 25px 70px rgba(0,0,0,.25);
}
.contact-section>.container>div:first-child:after{
  content:"";position:absolute;left:0;top:0;width:2px;height:110px;background:var(--sp-gold);
}
.contact-section h2,.contact-side h2{font-size:clamp(40px,4vw,56px)!important;line-height:1!important;letter-spacing:-2.4px!important}
.enquiry-form{gap:22px!important;margin-top:38px!important}
.field label{font-family:Montserrat,Inter,sans-serif!important;color:#777!important;font-size:8px!important;letter-spacing:1.5px!important}
.field input,.field select,.field textarea{background:#070707!important;border:1px solid #292b2d!important;color:#f1f1ef!important;padding:16px!important;min-height:54px!important}
.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(197,162,93,.75)!important;box-shadow:0 0 0 3px rgba(197,162,93,.07)!important}
.contact-side{border-left:1px solid var(--sp-line)!important;padding-left:42px!important;position:sticky!important;top:105px!important}
.direct-link{border-bottom:1px solid var(--sp-line)!important}
.direct-link strong{font-family:Montserrat,Inter,sans-serif!important}
.address-box{border-top:1px solid var(--sp-line)!important}
.contact-bottom{padding:92px 0!important}
.contact-bottom h2{font-size:clamp(46px,5vw,70px)!important;letter-spacing:-3px!important}
.contact-bottom p{color:#969899!important}
.contact-bottom .eyebrow.dark{color:var(--sp-gold-bright)!important}

/* Footer */
.site-footer{background:#020202!important;border-top:1px solid rgba(255,255,255,.08)!important}
.footer-main{grid-template-columns:1.4fr .7fr 1fr 1fr!important;gap:65px!important;padding:82px 0!important}
.footer-brand .sharpline-logo{width:220px!important;height:76px!important}
.footer-label{font-family:Montserrat,Inter,sans-serif!important;color:var(--sp-gold-bright)!important}
.site-footer a,.site-footer p{color:#777!important}
.site-footer a:hover{color:#f5f5f5!important}
.footer-bottom{border-top:1px solid var(--sp-line)!important}

/* Floating controls stay discreet */
.floating-actions{right:24px!important;bottom:24px!important}
.floating-actions a{background:#0d0d0d!important;border:1px solid #292929!important}
.floating-actions .wa{background:var(--sp-gold)!important;border-color:var(--sp-gold)!important;color:#070707!important}

/* Responsive: preserve the same grid, then collapse cleanly */
@media(max-width:1200px){
  :root{--sp-gutter:56px}
  .main-nav{gap:18px}
  .header-inner{gap:22px}
  .content-grid,.content-block.block-alt .content-grid{gap:70px!important}
  .gold-grid,.cta-grid{gap:65px!important}
}
@media(max-width:850px){
  :root{--sp-gutter:32px}
  .container,.site-header .container{width:calc(100% - (var(--sp-gutter) * 2))!important}
  .site-header{height:72px}
  .header-inner{height:72px}
  .brand,.brand .sharpline-logo{width:180px!important;height:56px!important}
  .primary-nav{top:72px!important;background:#070707!important;padding:18px var(--sp-gutter)!important}
  .home-hero{min-height:650px!important}
  .hero-inner{padding:90px 0 75px!important}
  .hero-copy h1{font-size:clamp(50px,10vw,76px)!important;letter-spacing:-3px!important}
  .gold-intro{padding:76px 0!important}
  .gold-grid,.cta-grid,.contact-grid{grid-template-columns:1fr!important;gap:40px!important}
  .home-section{padding:88px 0!important}
  .content-block,.service-detail{padding:86px 0!important}
  .content-grid,.content-block.block-alt .content-grid{grid-template-columns:1fr!important;gap:55px!important}
  .content-block.block-alt .content-grid>div:first-child,.content-block.block-alt .content-grid>div:last-child{order:initial!important}
  .visual,.visual img,.visual-placeholder{min-height:340px!important;height:340px!important}
  .service-detail-grid{grid-template-columns:1fr!important;gap:30px!important}
  .contact-section{padding:88px 0 100px!important}
  .contact-section>.container>div:first-child{padding:34px 28px!important}
  .contact-side{position:static!important;border-left:0!important;padding-left:0!important}
  .footer-main{grid-template-columns:1fr 1fr!important;gap:42px!important}
}
@media(max-width:560px){
  :root{--sp-gutter:20px}
  .container,.site-header .container{width:calc(100% - 40px)!important}
  .brand,.brand .sharpline-logo{width:158px!important}
  .hero-copy h1,.inner-hero h1{font-size:44px!important;letter-spacing:-2.2px!important}
  .hero-actions{flex-direction:column;align-items:stretch!important}
  .hero-actions .btn{width:100%!important}
  .gold-intro{padding:65px 0!important}
  .gold-intro h2{font-size:40px!important;letter-spacing:-2px!important}
  .home-section,.content-block,.service-detail{padding:72px 0!important}
  .home-section>.container>h2,.services-intro h2,.industry-page-grid h2,.capability-overview h2{font-size:36px!important;letter-spacing:-1.8px!important}
  .content-grid h2,.service-detail h2{font-size:36px!important;letter-spacing:-1.8px!important}
  .visual,.visual img,.visual-placeholder{min-height:280px!important;height:280px!important}
  .cta-band,.mini-cta,.contact-bottom{padding:72px 0!important}
  .cta-band h2,.mini-cta h2,.contact-bottom h2{font-size:40px!important;letter-spacing:-2px!important}
  .contact-section>.container>div:first-child{padding:28px 20px!important}
  .enquiry-form{grid-template-columns:1fr!important}
  .field.full,.enquiry-form .full{grid-column:auto!important}
  .enquiry-form .btn{width:100%!important}
  .footer-main{grid-template-columns:1fr!important;padding:62px 0!important}
}

/* v4.27 — reliable internal hero image rendering */
.inner-hero{
  background:#070808!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.inner-hero-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  opacity:1!important;
  transform:scale(1.01);
}
.inner-hero-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(3,3,3,.94) 0%,rgba(3,3,3,.78) 42%,rgba(3,3,3,.38) 100%),
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.60) 100%)!important;
}
.inner-hero:not(.has-custom-hero) .inner-hero-overlay{
  background:
    radial-gradient(circle at 82% 30%,rgba(197,162,93,.14),transparent 30%),
    linear-gradient(135deg,#050606 0%,#0d0f0f 72%,#111313 100%)!important;
}
.inner-hero-line{
  position:absolute!important;
  z-index:1!important;
  left:-8%;
  right:-8%;
  bottom:16%;
  height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 35%,rgba(197,162,93,.28) 72%,transparent 100%);
  transform:rotate(-16deg);
  transform-origin:center;
  pointer-events:none;
}
.inner-hero-inner{
  position:relative!important;
  z-index:3!important;
}
.inner-hero:before,.inner-hero:after{z-index:1!important;pointer-events:none!important}
@media(max-width:850px){
  .inner-hero-media{background-position:center!important}
  .inner-hero-line{bottom:10%;transform:rotate(-10deg)}
}


/* v4.28 — FIX: uploaded internal hero/banner images must remain visible.
   The decorative .inner-hero:before layer previously sat above the image layer
   and could completely obscure the uploaded background. */
.inner-hero.has-custom-hero{background-color:#060606!important;background-image:none!important;}
.inner-hero.has-custom-hero .inner-hero-media{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  opacity:1!important;
  visibility:visible!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center center!important;
}
.inner-hero.has-custom-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:transparent!important;
  pointer-events:none!important;
}
.inner-hero.has-custom-hero .inner-hero-overlay{
  z-index:1!important;
  background:
    linear-gradient(90deg,rgba(3,3,3,.86) 0%,rgba(3,3,3,.62) 42%,rgba(3,3,3,.30) 74%,rgba(3,3,3,.24) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.56) 100%)!important;
}
.inner-hero.has-custom-hero .inner-hero-line{z-index:2!important}
.inner-hero.has-custom-hero .inner-hero-inner{z-index:3!important}

/* Homepage hero image layer — keep the uploaded media behind the overlay only. */
.home-hero .hero-bg{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  visibility:visible!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center center!important;
}
.home-hero .hero-overlay{z-index:1!important}
.home-hero .hero-inner{z-index:3!important}

/* ======================================================================
   v4.29 — Approved content presentation / premium B2B home refinement
   ====================================================================== */
:root{--sp-gutter:clamp(32px,7vw,96px);--sp-container:1240px}

/* Keep one visual grid across the entire experience. */
.container,.site-header .container{width:min(var(--sp-container),calc(100% - (var(--sp-gutter) * 2)))!important;max-width:var(--sp-container)!important}

.home-hero{height:760px;min-height:calc(100vh - 76px);max-height:860px;background:#050505!important}
.home-hero .hero-bg{opacity:.82!important;background-size:cover!important;background-position:center!important}
.home-hero .hero-overlay{background:linear-gradient(90deg,rgba(3,3,3,.94) 0%,rgba(3,3,3,.78) 46%,rgba(3,3,3,.35) 100%)!important}
.hero-inner{padding:100px 0 90px!important}
.hero-copy{max-width:930px}
.hero-copy h1{max-width:880px!important;font-size:clamp(58px,7vw,104px)!important;line-height:.9!important;letter-spacing:-4px!important}
.hero-copy p{max-width:650px!important;font-size:17px!important;line-height:1.75!important;color:#c8c8c8!important}
.hero-actions{margin-top:34px!important}
.hero-microline{margin-top:24px;font-family:'Montserrat',sans-serif;font-size:9px;letter-spacing:1.7px;text-transform:uppercase;color:#777;word-spacing:3px}

/* No large yellow marketing band: black/charcoal foundation, gold only as accent. */
.gold-intro{display:none!important}

.home-section{padding:128px 0!important;background:#050505!important}
.home-section.dark-alt{background:#090909!important}
.home-section:before{left:var(--sp-gutter)!important;right:var(--sp-gutter)!important;background:rgba(255,255,255,.075)!important}
.section-heading-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:90px;align-items:end;margin-bottom:62px}
.section-heading-row h2{margin-bottom:0!important}
.section-heading-row .section-lead{margin:0!important}

.home-section>.container>h2{max-width:900px!important}
.section-lead{max-width:690px!important;color:#96999b!important}
.section-cta-row{margin-top:34px;display:flex;align-items:center}

.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.service-card{position:relative;min-height:510px!important;background:#0b0b0b!important}
.service-number,.trust-number,.cap-number{font-family:'Montserrat',sans-serif;font-size:9px;letter-spacing:2px;color:#777;position:absolute;top:25px;right:27px;z-index:4}
.service-card .card-image{height:255px!important}
.service-card .editorial-card-body{padding:31px 31px 34px!important}
.service-card h3{font-size:24px!important;max-width:480px}
.service-card p{max-width:560px!important;color:#8f9192!important}
.service-card a{display:inline-flex;align-items:center;gap:8px}

.industry-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.industry-card{min-height:260px!important;padding:31px!important;position:relative}
.industry-index{font-family:'Montserrat',sans-serif;font-size:9px;letter-spacing:2px;color:#777}
.industry-card h3{margin:62px 0 12px!important;font-size:21px!important}
.industry-card p{max-width:300px!important;color:#858789!important}
.industry-card i{color:var(--gold2)!important}

.trust-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.trust-card{min-height:310px!important;padding:30px 25px!important;position:relative}
.trust-card h3{margin:78px 0 14px!important;font-size:18px!important}
.trust-card p{color:#858789!important}
.trust-card .card-link{margin-top:20px!important}

.cap-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.cap-card{min-height:260px!important;position:relative;padding:29px!important;background:#0e0e0e!important}
.cap-card h3{margin-top:60px!important;font-size:19px!important}
.cap-card p{color:#858789!important}

.home-business-cta{background:#090909!important;padding:125px 0!important}
.home-business-cta:before{content:"";position:absolute;left:0;top:0;width:34%;height:2px;background:var(--gold2)}
.home-business-cta h2{max-width:720px!important;font-size:clamp(50px,5.4vw,76px)!important;line-height:.96!important}
.home-business-cta p{max-width:520px!important}
.home-business-cta small{display:block;margin-top:18px;color:#6f7172;font-size:11px;line-height:1.6}

/* Stronger, calmer header. */
.site-header{background:rgba(4,4,4,.92)!important}
.site-header .header-inner{height:76px!important}
.brand .sharpline-logo{width:225px!important}
.main-nav{gap:26px!important}
.header-action .btn{min-width:142px!important}

@media (max-width:1100px){
  .section-heading-row{grid-template-columns:1fr;gap:22px;align-items:start}
  .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
  :root{--sp-gutter:20px}
  .home-hero{height:auto;min-height:680px!important}
  .hero-inner{padding:88px 0 72px!important}
  .hero-copy h1{font-size:clamp(48px,14vw,72px)!important;letter-spacing:-2.8px!important}
  .hero-copy p{font-size:15px!important}
  .hero-microline{line-height:1.8}
  .service-grid,.industry-grid,.trust-grid,.cap-grid{grid-template-columns:1fr!important}
  .service-card{min-height:0!important}
  .industry-card,.trust-card,.cap-card{min-height:250px!important}
  .home-section{padding:88px 0!important}
  .section-heading-row{margin-bottom:42px}
  .home-business-cta{padding:88px 0!important}
}

/* v4.30 — final visual corrections from review */
/* Hero/banner imagery: show the supplied banner without cropping on desktop. */
.home-hero .hero-bg,
.inner-hero.has-custom-hero .inner-hero-media{
  background-size:contain!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#050505!important;
}
/* Keep the image treatment premium while preserving the full supplied artwork. */
.home-hero .hero-overlay{
  background:linear-gradient(90deg,rgba(3,3,3,.93) 0%,rgba(3,3,3,.70) 48%,rgba(3,3,3,.18) 100%)!important;
}
.inner-hero.has-custom-hero .inner-hero-overlay{
  background:linear-gradient(90deg,rgba(3,3,3,.82) 0%,rgba(3,3,3,.52) 48%,rgba(3,3,3,.18) 100%)!important;
}
/* Enquiry CTA: gold remains the brand accent, but all text sits in black for contrast. */
.contact-bottom{
  background:var(--sp-gold)!important;
  color:#080808!important;
}
.contact-bottom h1,
.contact-bottom h2,
.contact-bottom h3,
.contact-bottom p,
.contact-bottom span,
.contact-bottom small,
.contact-bottom a{
  color:#080808!important;
}
.contact-bottom .eyebrow,
.contact-bottom .eyebrow.dark{
  color:#080808!important;
}
.contact-bottom .eyebrow:before,
.contact-bottom .eyebrow.dark:before{
  background:#080808!important;
}
/* Floating WhatsApp stays enabled — it remains a primary direct-contact shortcut. */
.floating-actions .wa{
  background:var(--sp-gold)!important;
  color:#080808!important;
  border-color:var(--sp-gold)!important;
}
@media(max-width:760px){
  .home-hero .hero-bg,
  .inner-hero.has-custom-hero .inner-hero-media{
    background-size:cover!important;
    background-position:center center!important;
  }
}


/* ======================================================================
   v4.31 — content-safe sizing, uncropped hero media, floating Text + WhatsApp
   ====================================================================== */
html,body{overflow-x:hidden}
*,*::before,*::after{min-width:0}
h1,h2,h3,h4,p,a,span,small,button,label{overflow-wrap:anywhere}
img{height:auto}

/* Hero: let content determine the section height. Never clip long copy. */
.home-hero{height:auto!important;min-height:max(700px,calc(100svh - 88px))!important;padding-top:0!important;overflow:hidden!important}
.home-hero .hero-bg{transform:none!important;background-size:contain!important;background-position:center center!important;background-repeat:no-repeat!important;background-color:#050505!important}
.home-hero .hero-inner{min-height:0!important;height:auto!important;padding:clamp(82px,10vh,122px) 0 clamp(64px,8vh,96px)!important;align-items:center!important}
.hero-copy{max-width:min(820px,100%)!important}
.hero-copy h1{font-size:clamp(50px,6.1vw,88px)!important;line-height:.94!important;letter-spacing:-4px!important;max-width:820px!important;margin:18px 0 26px!important;text-wrap:balance}
.hero-copy p{max-width:620px!important;font-size:clamp(14px,1.1vw,17px)!important;line-height:1.8!important}
.hero-actions{flex-wrap:wrap!important}
.hero-microline{max-width:100%;line-height:1.7!important}

/* Internal hero: long titles expand the section instead of clipping. */
.inner-hero{height:auto!important;min-height:500px!important;padding:clamp(82px,9vw,115px) 0 clamp(78px,8vw,100px)!important}
.inner-hero.has-custom-hero .inner-hero-media{background-size:contain!important;background-position:center center!important;background-repeat:no-repeat!important;background-color:#060606!important;transform:none!important}
.inner-hero-inner{max-width:1000px!important;width:100%!important}
.inner-hero h1{font-size:clamp(46px,5.8vw,82px)!important;line-height:.96!important;letter-spacing:-3.5px!important;max-width:900px!important;text-wrap:balance}
.inner-hero p{max-width:680px!important;font-size:clamp(14px,1.1vw,16px)!important}

/* Long content/cards grow naturally. */
.service-card,.industry-card,.editorial-trust-card,.editorial-cap-card,.content-block,.service-detail,.capability-overview,.services-intro{height:auto!important}
.service-card{min-height:0!important}
.service-card .editorial-card-body{min-height:230px!important;height:auto!important}
.industry-card{min-height:235px!important}
.editorial-trust-card{min-height:300px!important}
.editorial-cap-card{min-height:275px!important}
.service-card h3,.industry-card h3,.editorial-trust-card h3,.editorial-cap-card h3,.content-grid h2,.service-detail h2{overflow-wrap:anywhere;text-wrap:balance}

/* Floating shortcuts: Text + WhatsApp. */
.floating-actions{position:fixed!important;right:22px!important;bottom:22px!important;z-index:99999!important;display:flex!important;flex-direction:column!important;gap:10px!important}
.floating-actions a{width:54px!important;height:54px!important;border-radius:50%!important;display:grid!important;place-items:center!important;text-decoration:none!important;box-shadow:0 10px 28px rgba(0,0,0,.38)!important}
.floating-actions .text-action{background:#0d0d0d!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;grid-template-rows:auto auto!important;gap:1px!important}
.text-action-icon{font-size:15px!important;line-height:1!important;color:#fff!important}
.text-action-label{font-family:Montserrat,Inter,sans-serif!important;font-size:7px!important;font-weight:800!important;letter-spacing:1px!important;line-height:1!important;color:#fff!important}
.floating-actions .wa{background:#25D366!important;color:#fff!important;border:0!important}
.floating-actions .wa svg{width:25px!important;height:25px!important;fill:currentColor!important}

/* Enquiry CTA: gold with black typography and black action. */
.contact-bottom{background:var(--sp-gold)!important;color:#080808!important}
.contact-bottom *{color:#080808!important}
.contact-bottom .eyebrow:before{background:#080808!important}
.contact-bottom .btn,.contact-bottom button{background:#080808!important;color:#fff!important;border-color:#080808!important}

@media(max-width:850px){
  .home-hero{min-height:0!important}
  .home-hero .hero-bg,.inner-hero.has-custom-hero .inner-hero-media{background-size:contain!important;background-position:center center!important}
  .hero-inner{padding:76px 0 64px!important}
  .hero-copy h1{font-size:clamp(46px,10.5vw,72px)!important;letter-spacing:-3px!important}
  .inner-hero{min-height:0!important;padding:76px 0 70px!important}
  .inner-hero h1{font-size:clamp(42px,10vw,64px)!important;letter-spacing:-2.7px!important}
  .floating-actions{right:14px!important;bottom:14px!important}
}
@media(max-width:560px){
  .hero-copy h1{font-size:clamp(40px,11.8vw,56px)!important;letter-spacing:-2.2px!important}
  .hero-copy p{font-size:14px!important}
  .hero-actions{flex-direction:column!important;align-items:stretch!important}
  .hero-actions .btn{width:100%!important}
  .home-hero .hero-bg,.inner-hero.has-custom-hero .inner-hero-media{background-size:contain!important}
  .inner-hero h1{font-size:clamp(38px,11vw,52px)!important;letter-spacing:-2px!important}
  .floating-actions{right:12px!important;bottom:12px!important;gap:8px!important}
  .floating-actions a{width:50px!important;height:50px!important}
}


/* v4.32 — premium WhatsApp + Call floating controls */
.floating-actions{position:fixed!important;right:28px!important;bottom:28px!important;z-index:99999!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:10px!important}
.floating-actions a{width:54px!important;height:54px!important;border-radius:50%!important;display:grid!important;place-items:center!important;text-decoration:none!important;box-shadow:0 10px 28px rgba(0,0,0,.42)!important;transition:transform .2s ease,box-shadow .2s ease!important}
.floating-actions a:hover{transform:translateY(-2px)!important;box-shadow:0 14px 34px rgba(0,0,0,.5)!important}
.floating-actions .wa{background:#25D366!important;color:#fff!important;border:0!important}
.floating-actions .wa svg{width:27px!important;height:27px!important;fill:currentColor!important}
.floating-actions .call{background:#090909!important;color:#fff!important;border:1px solid var(--gold2)!important}
.floating-actions .call svg{width:21px!important;height:21px!important;fill:currentColor!important}
@media(max-width:560px){.floating-actions{right:16px!important;bottom:16px!important;gap:9px!important}.floating-actions a{width:50px!important;height:50px!important}.floating-actions .wa svg{width:25px!important;height:25px!important}.floating-actions .call svg{width:20px!important;height:20px!important}}

/* ======================================================================
   v4.33 — structural content safety + balanced internal page layouts
   Principle: content drives layout; never squeeze/crop a text column.
   ====================================================================== */
:root{--sp-content-gap:clamp(48px,6vw,84px)}
.content-block .container,.service-detail .container,.contact-section .container,.services-intro .container,.industry-page-grid .container,.capability-overview .container{width:min(var(--container),92%);margin-inline:auto}
.content-grid{display:grid!important;grid-template-columns:minmax(0,1.24fr) minmax(340px,.76fr)!important;gap:var(--sp-content-gap)!important;align-items:center!important}
.content-grid>div:first-child{min-width:0!important;max-width:760px!important}
.content-grid h2{max-width:760px!important;margin:14px 0 22px!important;font-size:clamp(38px,4.35vw,62px)!important;line-height:1.02!important;letter-spacing:clamp(-2.8px,-.24vw,-1.5px)!important;text-wrap:balance!important;overflow-wrap:normal!important;word-break:normal!important}
.rich-copy{max-width:720px!important;font-size:clamp(15px,1.08vw,17px)!important;line-height:1.8!important;overflow-wrap:anywhere!important}.rich-copy p{margin:0 0 1em!important}.visual{min-width:0!important;width:100%!important}.visual img,.visual-placeholder{width:100%!important;height:auto!important;min-height:420px!important;aspect-ratio:4/3!important;object-fit:cover!important}
#why-reliability .content-grid,#why-operational-control .content-grid,#why-operational-strength .content-grid,#why-visibility-accountability .content-grid,#why-customisation-scalability .content-grid,#why-credentials-compliance .content-grid,#why-final-action .content-grid{grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr)!important}
.inner-hero h1,.home-hero h1,.content-block h2,.service-detail h2,.services-intro h2,.industry-page-grid h2,.capability-overview h2,.contact-section h2,.contact-bottom h2,.mini-cta h2{text-wrap:balance!important;overflow-wrap:normal!important;word-break:normal!important}
.inner-hero-inner{max-width:var(--container)!important;width:min(var(--container),92%)!important;margin-inline:auto!important}.inner-hero-inner>div{max-width:1000px!important;min-width:0!important}
.service-card,.industry-card,.trust-card,.cap-card,.editorial-card,.editorial-trust-card,.editorial-cap-card,.testimonial-card,.service-detail{height:auto!important;min-height:0!important}.service-card h3,.industry-card h3,.trust-card h3,.cap-card h3,.editorial-card h3,.editorial-trust-card h3,.editorial-cap-card h3{text-wrap:balance!important;overflow-wrap:anywhere!important}.service-card p,.industry-card p,.trust-card p,.cap-card p,.editorial-card p,.editorial-trust-card p,.editorial-cap-card p{overflow-wrap:anywhere!important}
.home-hero .hero-bg,.inner-hero.has-custom-hero .inner-hero-media{background-size:contain!important;background-repeat:no-repeat!important;background-position:center center!important}.home-hero .hero-inner{min-height:0!important}
@media (max-width:1100px) and (min-width:851px){.content-grid{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)!important;gap:52px!important}#why-reliability .content-grid,#why-operational-control .content-grid,#why-operational-strength .content-grid,#why-visibility-accountability .content-grid,#why-customisation-scalability .content-grid,#why-credentials-compliance .content-grid,#why-final-action .content-grid{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr)!important}.content-grid h2{font-size:clamp(38px,4.6vw,54px)!important}}
@media (max-width:850px){.content-grid,#why-reliability .content-grid,#why-operational-control .content-grid,#why-operational-strength .content-grid,#why-visibility-accountability .content-grid,#why-customisation-scalability .content-grid,#why-credentials-compliance .content-grid,#why-final-action .content-grid{grid-template-columns:minmax(0,1fr)!important;gap:34px!important}.content-grid>div:first-child{max-width:100%!important}.content-grid h2{font-size:clamp(36px,8vw,54px)!important;line-height:1.04!important}.visual img,.visual-placeholder{min-height:0!important;aspect-ratio:16/10!important;height:auto!important}}
@media (max-width:560px){.content-grid h2{font-size:clamp(32px,10vw,46px)!important;letter-spacing:-1.8px!important}.rich-copy{font-size:15px!important;line-height:1.75!important}.inner-hero-inner{width:calc(100% - 28px)!important}}


/* ======================================================================
   v4.35 — desktop editorial grid correction
   Desktop internal sections must breathe; long headings must not be
   squeezed into narrow columns. Content remains fluid and grows safely.
   ====================================================================== */
@media (min-width:1101px){
  .content-block .content-grid,
  .service-detail .content-grid,
  .contact-section .content-grid,
  .services-intro .content-grid,
  .industry-page-grid .content-grid,
  .capability-overview .content-grid{
    grid-template-columns:minmax(0,1.55fr) minmax(390px,.95fr)!important;
    column-gap:clamp(56px,5vw,88px)!important;
    align-items:center!important;
  }
  .content-grid>div:first-child{
    width:100%!important;
    max-width:720px!important;
  }
  .content-grid h2{
    width:100%!important;
    max-width:700px!important;
    font-size:clamp(48px,4.15vw,64px)!important;
    line-height:1.02!important;
    letter-spacing:clamp(-2.8px,-.18vw,-1.5px)!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .content-grid .rich-copy,
  .content-grid .rich-copy p{
    max-width:650px!important;
  }
  .content-grid .visual{
    width:100%!important;
    max-width:100%!important;
    justify-self:stretch!important;
  }
}

@media (min-width:851px) and (max-width:1100px){
  .content-block .content-grid,
  .service-detail .content-grid,
  .contact-section .content-grid,
  .services-intro .content-grid,
  .industry-page-grid .content-grid,
  .capability-overview .content-grid{
    grid-template-columns:minmax(0,1.3fr) minmax(330px,.9fr)!important;
    column-gap:48px!important;
  }
  .content-grid h2{
    max-width:620px!important;
    font-size:clamp(42px,5vw,56px)!important;
  }
}

/* Keep headings readable when editors replace placeholder copy with longer text. */
.content-grid h2 br{display:none!important}
.content-grid h2{white-space:normal!important}

/* v4.36 — Unified editorial section architecture
   All major content sections use the same premium stacked rhythm:
   eyebrow → wide headline → supporting copy → visual/proof.
   The layout expands with content instead of squeezing columns. */

@media (min-width:851px){
  .content-block .content-grid,
  .service-detail .content-grid,
  .services-intro .content-grid,
  .industry-page-grid .content-grid,
  .capability-overview .content-grid,
  .contact-section .content-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:44px!important;
    align-items:start!important;
  }

  .content-block .content-grid>div:first-child,
  .service-detail .content-grid>div:first-child,
  .services-intro .content-grid>div:first-child,
  .industry-page-grid .content-grid>div:first-child,
  .capability-overview .content-grid>div:first-child,
  .contact-section .content-grid>div:first-child{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  .content-block .content-grid .eyebrow,
  .service-detail .content-grid .eyebrow,
  .services-intro .content-grid .eyebrow,
  .industry-page-grid .content-grid .eyebrow,
  .capability-overview .content-grid .eyebrow,
  .contact-section .content-grid .eyebrow{
    margin-bottom:16px!important;
  }

  .content-block .content-grid h2,
  .service-detail .content-grid h2,
  .services-intro .content-grid h2,
  .industry-page-grid .content-grid h2,
  .capability-overview .content-grid h2,
  .contact-section .content-grid h2{
    width:100%!important;
    max-width:1050px!important;
    margin:0 0 24px!important;
    font-size:clamp(48px,5.15vw,76px)!important;
    line-height:.98!important;
    letter-spacing:clamp(-3.6px,-.23vw,-1.8px)!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  .content-block .content-grid .rich-copy,
  .service-detail .content-grid .rich-copy,
  .services-intro .content-grid .rich-copy,
  .industry-page-grid .content-grid .rich-copy,
  .capability-overview .content-grid .rich-copy,
  .contact-section .content-grid .rich-copy,
  .content-block .content-grid .rich-copy p,
  .service-detail .content-grid .rich-copy p,
  .services-intro .content-grid .rich-copy p,
  .industry-page-grid .content-grid .rich-copy p,
  .capability-overview .content-grid .rich-copy p,
  .contact-section .content-grid .rich-copy p{
    width:100%!important;
    max-width:850px!important;
    font-size:clamp(17px,1.15vw,20px)!important;
    line-height:1.72!important;
  }

  .content-block .content-grid .visual,
  .service-detail .content-grid .visual,
  .services-intro .content-grid .visual,
  .industry-page-grid .content-grid .visual,
  .capability-overview .content-grid .visual,
  .contact-section .content-grid .visual{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
    margin-top:6px!important;
  }

  .content-block .content-grid .visual img,
  .service-detail .content-grid .visual img,
  .services-intro .content-grid .visual img,
  .industry-page-grid .content-grid .visual img,
  .capability-overview .content-grid .visual img,
  .contact-section .content-grid .visual img,
  .content-block .content-grid .visual-placeholder,
  .service-detail .content-grid .visual-placeholder,
  .services-intro .content-grid .visual-placeholder,
  .industry-page-grid .content-grid .visual-placeholder,
  .capability-overview .content-grid .visual-placeholder,
  .contact-section .content-grid .visual-placeholder{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:360px!important;
    aspect-ratio:21/9!important;
    object-fit:cover!important;
  }

  /* Do not alternate the reading order on desktop anymore. */
  .content-block:nth-of-type(even) .content-grid,
  .content-block.block-alt .content-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .content-block:nth-of-type(even) .content-grid>div:first-child,
  .content-block:nth-of-type(even) .content-grid>div:last-child,
  .content-block.block-alt .content-grid>div:first-child,
  .content-block.block-alt .content-grid>div:last-child{
    order:initial!important;
  }
}

/* Home-page section introductions follow the same editorial hierarchy. */
@media (min-width:851px){
  .why-home-section .section-heading-row,
  .services-home-section .section-heading-row,
  .industries-home-section .section-heading-row,
  .capabilities-home-section .section-heading-row,
  .about-home-section .section-heading-row{
    display:block!important;
  }

  .why-home-section .section-heading-row h2,
  .services-home-section .section-heading-row h2,
  .industries-home-section .section-heading-row h2,
  .capabilities-home-section .section-heading-row h2,
  .about-home-section .section-heading-row h2{
    max-width:1050px!important;
    width:100%!important;
    font-size:clamp(48px,5.15vw,76px)!important;
    line-height:.98!important;
    text-wrap:balance!important;
  }

  .why-home-section .section-heading-row .section-lead,
  .services-home-section .section-heading-row .section-lead,
  .industries-home-section .section-heading-row .section-lead,
  .capabilities-home-section .section-heading-row .section-lead,
  .about-home-section .section-heading-row .section-lead{
    max-width:850px!important;
    width:100%!important;
    margin:0 0 48px!important;
  }
}

@media (max-width:850px){
  .content-block .content-grid,
  .service-detail .content-grid,
  .services-intro .content-grid,
  .industry-page-grid .content-grid,
  .capability-overview .content-grid,
  .contact-section .content-grid{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .content-block .content-grid h2,
  .service-detail .content-grid h2,
  .services-intro .content-grid h2,
  .industry-page-grid .content-grid h2,
  .capability-overview .content-grid h2,
  .contact-section .content-grid h2{
    max-width:100%!important;
    font-size:clamp(38px,8vw,58px)!important;
    line-height:1.02!important;
  }
  .content-block .content-grid .rich-copy,
  .service-detail .content-grid .rich-copy,
  .services-intro .content-grid .rich-copy,
  .industry-page-grid .content-grid .rich-copy,
  .capability-overview .content-grid .rich-copy,
  .contact-section .content-grid .rich-copy{
    max-width:100%!important;
  }
  .content-block .content-grid .visual,
  .service-detail .content-grid .visual,
  .services-intro .content-grid .visual,
  .industry-page-grid .content-grid .visual,
  .capability-overview .content-grid .visual,
  .contact-section .content-grid .visual{
    width:100%!important;
  }
}
/* SHARPLINE v4.37 — unified editorial content structure
   Desktop content sections use the same wide reading rhythm as the approved
   Capabilities introduction: eyebrow -> headline -> supporting copy -> media.
   Layout expands with content; it never squeezes/crops copy. */
@media (min-width: 851px){
  /* Shared editorial content blocks */
  .content-block,
  .content-block.block-alt,
  .content-block.testimonial-section{
    padding:112px 0 120px!important;
  }

  .content-block .content-grid,
  .content-block.block-alt .content-grid,
  .content-block.testimonial-section .content-grid{
    display:block!important;
    width:100%!important;
  }

  .content-block .content-grid > div:first-child,
  .content-block.block-alt .content-grid > div:first-child{
    display:block!important;
    width:100%!important;
    max-width:1080px!important;
    margin:0!important;
  }

  .content-block .content-grid .eyebrow,
  .content-block.block-alt .content-grid .eyebrow{
    display:block!important;
    margin-bottom:20px!important;
  }

  .content-block .content-grid h2,
  .content-block.block-alt .content-grid h2{
    width:100%!important;
    max-width:1080px!important;
    font-size:clamp(52px,5.8vw,86px)!important;
    line-height:.98!important;
    letter-spacing:-3.4px!important;
    margin:0 0 24px!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  .content-block .content-grid .rich-copy,
  .content-block.block-alt .content-grid .rich-copy{
    width:100%!important;
    max-width:850px!important;
    font-size:17px!important;
    line-height:1.8!important;
    margin:0!important;
    color:#a1a3a5!important;
  }

  .content-block .content-grid .btn,
  .content-block.block-alt .content-grid .btn{
    margin-top:30px!important;
  }

  /* Media becomes a deliberate full-width visual band beneath the copy. */
  .content-block .content-grid .visual,
  .content-block.block-alt .content-grid .visual{
    width:100%!important;
    max-width:1080px!important;
    margin:58px 0 0!important;
    min-height:0!important;
  }

  .content-block .content-grid .visual img,
  .content-block .content-grid .visual .visual-placeholder,
  .content-block.block-alt .content-grid .visual img,
  .content-block.block-alt .content-grid .visual .visual-placeholder{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/7!important;
    object-fit:cover!important;
  }

  /* Services detail blocks follow the same reading order, while keeping their
     own service-card styling elsewhere on the page. */
  .service-detail,
  .service-detail.block-alt{
    padding:112px 0 120px!important;
  }

  .service-detail-grid,
  .service-detail.block-alt .service-detail-grid{
    display:block!important;
    width:100%!important;
  }

  .service-detail-copy{
    display:block!important;
    width:100%!important;
    max-width:1080px!important;
    margin:0!important;
  }

  .service-detail-copy h2{
    max-width:1080px!important;
    width:100%!important;
    font-size:clamp(48px,5.3vw,78px)!important;
    line-height:.99!important;
    letter-spacing:-3px!important;
    margin:0 0 22px!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  .service-detail-copy p{
    max-width:850px!important;
    font-size:17px!important;
    line-height:1.8!important;
    margin:0!important;
  }

  .service-detail .service-points{
    margin-top:26px!important;
  }

  .service-detail .visual{
    width:100%!important;
    max-width:1080px!important;
    margin:58px 0 0!important;
    min-height:0!important;
  }

  .service-detail .visual img,
  .service-detail .visual .visual-placeholder{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/7!important;
    object-fit:cover!important;
  }

  /* Keep section introductions on every page in the same strong hierarchy. */
  .services-intro,
  .industry-page-grid,
  .capability-overview{
    padding:100px 0 42px!important;
  }

  .services-intro h2,
  .industry-page-grid h2,
  .capability-overview h2{
    max-width:1080px!important;
    font-size:clamp(52px,5.8vw,86px)!important;
    line-height:.98!important;
    letter-spacing:-3.4px!important;
    text-wrap:balance!important;
  }

  .services-intro p,
  .industry-page-grid p,
  .capability-overview p{
    max-width:850px!important;
    font-size:17px!important;
    line-height:1.8!important;
  }
}

@media (min-width: 851px) and (max-width: 1150px){
  .content-block .content-grid h2,
  .content-block.block-alt .content-grid h2,
  .services-intro h2,
  .industry-page-grid h2,
  .capability-overview h2{
    font-size:clamp(48px,6vw,68px)!important;
  }
}

@media (max-width:850px){
  .content-block .content-grid h2,
  .content-block.block-alt .content-grid h2{
    font-size:clamp(40px,9vw,60px)!important;
    line-height:1!important;
    letter-spacing:-2.2px!important;
    text-wrap:balance!important;
  }

  .content-block .content-grid .rich-copy,
  .content-block.block-alt .content-grid .rich-copy{
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.75!important;
  }

  .content-block .content-grid .visual,
  .content-block.block-alt .content-grid .visual,
  .service-detail .visual{
    margin-top:38px!important;
  }

  .content-block .content-grid .visual img,
  .content-block .content-grid .visual .visual-placeholder,
  .content-block.block-alt .content-grid .visual img,
  .content-block.block-alt .content-grid .visual .visual-placeholder,
  .service-detail .visual img,
  .service-detail .visual .visual-placeholder{
    aspect-ratio:16/9!important;
    min-height:0!important;
    height:auto!important;
  }
}


/* SHARPLINE v4.38 — final desktop hierarchy + compact spacing polish */
@media (min-width:851px){
  /* Keep long editorial headings readable without artificial wrapping or oversized empty space. */
  .home-section h2,
  .services-intro h2,
  .industry-page-grid h2,
  .capability-overview h2,
  .content-grid h2,
  .service-detail-copy h2{
    max-width:1200px!important;
    width:100%!important;
    font-size:clamp(48px,4.7vw,68px)!important;
    line-height:1.01!important;
    letter-spacing:-2.8px!important;
    text-wrap:balance!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    margin-top:0!important;
  }

  .home-section{padding:78px 0!important}
  .home-section .section-heading-row{margin-bottom:34px!important}
  .home-section .section-heading-row .section-lead,
  .home-section > .container > .section-lead{
    max-width:860px!important;
    margin-top:14px!important;
    margin-bottom:34px!important;
    line-height:1.7!important;
  }

  .services-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    max-width:1200px!important;
  }

  .industries-home-section > .container > h2,
  .capabilities-home-section > .container > h2{
    max-width:1200px!important;
    margin-bottom:14px!important;
  }

  .industries-home-section > .container > .section-lead,
  .capabilities-home-section > .container > .section-lead{
    max-width:860px!important;
    margin-bottom:34px!important;
  }

  /* Internal pages: same hierarchy, but tighter and more deliberate. */
  .content-block,
  .content-block.block-alt,
  .content-block.testimonial-section,
  .service-detail,
  .service-detail.block-alt{
    padding:78px 0 84px!important;
  }

  .content-block .content-grid > div:first-child,
  .content-block.block-alt .content-grid > div:first-child,
  .service-detail-copy{
    max-width:1200px!important;
  }

  .content-block .content-grid h2,
  .content-block.block-alt .content-grid h2,
  .service-detail-copy h2{
    margin-bottom:18px!important;
  }

  .content-block .content-grid .rich-copy,
  .content-block.block-alt .content-grid .rich-copy,
  .service-detail-copy p{
    max-width:860px!important;
    font-size:16px!important;
    line-height:1.72!important;
  }

  .content-block .content-grid .visual,
  .content-block.block-alt .content-grid .visual,
  .service-detail .visual{
    max-width:1200px!important;
    margin-top:38px!important;
  }

  .services-intro,
  .industry-page-grid,
  .capability-overview{
    padding:78px 0 30px!important;
  }

  .services-intro h2,
  .industry-page-grid h2,
  .capability-overview h2{
    margin-bottom:14px!important;
  }

  /* Prevent cards from becoming excessively tall just because a heading wraps. */
  .editorial-trust-card,
  .editorial-cap-card,
  .editorial-industry-card{
    min-height:220px!important;
  }
}

/* Admin guide identity: Sharpline visual branding only; NeonDigital remains text attribution. */
.sh-welcome-brand{display:none!important}
.sh-welcome-meta span{color:#8f98a4!important}


/* v4.40 — final typography + spacing safety pass
   Headings always break at word boundaries; content grows naturally instead
   of clipping or creating artificial word fragments. */
@media (min-width:851px){
  /* Shared homepage editorial rhythm: one full-width heading, then supporting copy. */
  .services-home-section .section-heading-row,
  .why-home-section .section-heading-row{
    display:block!important;
    margin-bottom:34px!important;
  }

  .services-home-section .section-heading-row > div,
  .why-home-section .section-heading-row > div{
    width:100%!important;
    max-width:1120px!important;
  }

  .services-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    width:100%!important;
    max-width:1120px!important;
    font-size:clamp(50px,4.6vw,68px)!important;
    line-height:1.01!important;
    letter-spacing:-2.7px!important;
    margin:10px 0 16px!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    white-space:normal!important;
  }

  .services-home-section .section-heading-row .section-lead,
  .why-home-section .section-heading-row .section-lead{
    width:100%!important;
    max-width:880px!important;
    margin:0!important;
    font-size:16px!important;
    line-height:1.72!important;
  }

  .industries-home-section > .container > h2,
  .capabilities-home-section > .container > h2{
    max-width:1120px!important;
    font-size:clamp(50px,4.6vw,68px)!important;
    line-height:1.01!important;
    letter-spacing:-2.7px!important;
    margin:10px 0 16px!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    white-space:normal!important;
  }

  .home-section{padding:72px 0!important}
  .services-home-section .service-grid,
  .why-home-section .trust-grid,
  .capabilities-home-section .cap-grid,
  .industries-home-section .industry-grid{margin-top:0!important}

  /* Internal-page headings use the same word-safe rules. */
  .content-block h2,
  .service-detail h2,
  .services-intro h2,
  .industry-page-grid h2,
  .capability-overview h2,
  .inner-hero h1,
  .home-hero h1,
  .contact-section h2,
  .contact-bottom h2,
  .mini-cta h2{
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    white-space:normal!important;
    text-wrap:balance!important;
  }

  .content-block,
  .content-block.block-alt,
  .content-block.testimonial-section,
  .service-detail{
    padding-top:72px!important;
    padding-bottom:76px!important;
  }

  .services-intro,
  .industry-page-grid,
  .capability-overview{
    padding-top:72px!important;
    padding-bottom:26px!important;
  }

  .content-grid h2,
  .service-detail-copy h2,
  .services-intro h2,
  .industry-page-grid h2,
  .capability-overview h2{
    margin-top:10px!important;
    margin-bottom:16px!important;
  }
}

/* Footer stays clean: the public footer should only show Sharpline branding. */
.site-footer .footer-brand p{display:none!important}

/* Never force arbitrary breaks inside editable text. Let the box grow. */
.home-section h2,
.content-grid h2,
.service-detail h2,
.services-intro h2,
.industry-page-grid h2,
.capability-overview h2,
.inner-hero h1,
.home-hero h1{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* v4.41 — desktop heading fit + tighter editorial rhythm */
@media (min-width:1101px){
  /* Let long editorial headings use the available horizontal space. */
  .services-intro h2{
    max-width:none!important;
    width:100%!important;
    white-space:nowrap!important;
    font-size:clamp(48px,4.5vw,68px)!important;
  }

  .content-block .content-grid{
    grid-template-columns:minmax(0,1.42fr) minmax(320px,.68fr)!important;
    gap:70px!important;
  }
  .content-grid h2{
    max-width:none!important;
    font-size:clamp(42px,4.05vw,60px)!important;
    line-height:.98!important;
    letter-spacing:-2.5px!important;
  }

  /* Specific long headings requested to stay on one desktop line. */
  #why-visibility-accountability .content-grid h2,
  #why-testimonials-client-proof .section-heading-row h2,
  .testimonial-section .section-heading-row h2{
    white-space:nowrap!important;
  }

  .testimonial-section .section-heading-row{
    max-width:none!important;
    width:100%!important;
    margin-bottom:34px!important;
  }
  .testimonial-section .section-heading-row>div{max-width:none!important;width:100%!important}
  .testimonial-section .section-heading-row h2{
    max-width:none!important;
    font-size:clamp(48px,4.7vw,68px)!important;
    line-height:1!important;
  }

  /* Keep internal sections compact without feeling cramped. */
  .content-block,
  .content-block.block-alt,
  .content-block.testimonial-section,
  .service-detail{padding-top:64px!important;padding-bottom:68px!important}
  .services-intro{padding-top:62px!important;padding-bottom:24px!important}
  .visual img,.visual-placeholder{min-height:420px!important;height:420px!important}
}

@media (min-width:851px) and (max-width:1100px){
  .services-intro h2{max-width:none!important;width:100%!important}
  .content-block .content-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)!important;gap:48px!important}
  .content-grid h2{max-width:none!important}
}

/* v4.42 — desktop editorial heading fit
   Use the available horizontal space instead of stacking short editorial
   headings into unnecessary lines. Smaller screens retain natural wrapping. */
@media (min-width:1200px){
  /* Homepage: these editorial statements should read as a single visual unit. */
  .services-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    max-width:none!important;
    width:100%!important;
    font-size:clamp(52px,4.15vw,62px)!important;
    line-height:.98!important;
    letter-spacing:-2.6px!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }

  /* Internal section statements: stay on one line where the viewport allows it. */
  .content-block .content-grid h2,
  .service-detail-copy h2{
    max-width:none!important;
    width:100%!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }

  /* Long named sections explicitly called out for one-line desktop treatment. */
  .services-intro h2,
  #why-visibility-accountability .content-grid h2,
  #why-testimonials-client-proof .section-heading-row h2,
  .testimonial-section .section-heading-row h2{
    max-width:none!important;
    width:100%!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }

  .testimonial-section .section-heading-row,
  .testimonial-section .section-heading-row>div{
    max-width:none!important;
    width:100%!important;
  }
}

/* Large desktop gets a little more breathing room without creating huge gaps. */
@media (min-width:1400px){
  .services-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    font-size:clamp(56px,4vw,64px)!important;
  }
}

/* SHARPLINE v4.43 — controlled editorial wrapping
   Headings should use the available space, but never run off-screen or become
   artificially single-line. Long statements are intentionally allowed to
   resolve into a clean two-line composition on desktop. */
@media (min-width:1200px){
  .services-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    width:100%!important;
    max-width:1120px!important;
    font-size:clamp(52px,4.15vw,64px)!important;
    line-height:.98!important;
    letter-spacing:-2.6px!important;
    white-space:normal!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* Home editorial statements: strong 1–2 line rhythm, not forced wrapping. */
  .services-home-section .section-heading-row h2{
    max-width:1120px!important;
  }
  .why-home-section .section-heading-row h2{
    max-width:1080px!important;
  }

  /* Services / Why / Capabilities long section titles. */
  .services-intro h2,
  #why-visibility-accountability .content-grid h2,
  #why-testimonials-client-proof .section-heading-row h2,
  .testimonial-section .section-heading-row h2,
  .capability-overview h2{
    width:100%!important;
    max-width:1250px!important;
    white-space:normal!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* The short service architecture statement should comfortably stay one line. */
  .services-intro h2{
    max-width:1280px!important;
  }

  /* Testimonial title should remain a clean single line when the desktop width permits. */
  #why-testimonials-client-proof .section-heading-row h2,
  .testimonial-section .section-heading-row h2{
    max-width:1280px!important;
  }
}

@media (min-width:851px) and (max-width:1199px){
  .services-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2,
  .services-intro h2,
  .content-block .content-grid h2,
  .service-detail-copy h2,
  .industry-page-grid h2,
  .capability-overview h2,
  #why-visibility-accountability .content-grid h2,
  #why-testimonials-client-proof .section-heading-row h2,
  .testimonial-section .section-heading-row h2{
    white-space:normal!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
}

/* ======================================================================
   v4.45 — global display typography correction
   The previous refinement passes accumulated overly negative tracking on
   large headings. Restore natural Montserrat spacing while keeping the
   premium compact editorial feel. Small labels/buttons intentionally keep
   their existing tracking.
   ====================================================================== */
:root{--sp-display-tracking:-1.15px;--sp-card-tracking:-.35px}

@media (min-width:851px){
  .hero-copy h1,
  .inner-hero h1,
  .gold-intro h2,
  .home-section h2,
  .services-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2,
  .industries-home-section > .container > h2,
  .capabilities-home-section > .container > h2,
  .content-block h2,
  .content-grid h2,
  .service-detail h2,
  .service-detail-copy h2,
  .services-intro h2,
  .industry-page-grid h2,
  .capability-overview h2,
  .cta-band h2,
  .mini-cta h2,
  .contact-section h2,
  .contact-side h2,
  .contact-bottom h2,
  .testimonial-section .section-heading-row h2,
  #why-testimonials-client-proof .section-heading-row h2{
    letter-spacing:var(--sp-display-tracking)!important;
  }

  .service-card h3,
  .industry-card h3,
  .trust-card h3,
  .cap-card h3,
  .editorial-card h3,
  .editorial-trust-card h3,
  .editorial-cap-card h3,
  .editorial-industry-card h3{
    letter-spacing:var(--sp-card-tracking)!important;
  }
}

@media (max-width:850px){
  .hero-copy h1,
  .inner-hero h1,
  .gold-intro h2,
  .home-section h2,
  .services-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2,
  .industries-home-section > .container > h2,
  .capabilities-home-section > .container > h2,
  .content-block h2,
  .content-grid h2,
  .service-detail h2,
  .service-detail-copy h2,
  .services-intro h2,
  .industry-page-grid h2,
  .capability-overview h2,
  .cta-band h2,
  .mini-cta h2,
  .contact-section h2,
  .contact-side h2,
  .contact-bottom h2,
  .testimonial-section .section-heading-row h2,
  #why-testimonials-client-proof .section-heading-row h2{
    letter-spacing:-.65px!important;
  }

  .service-card h3,
  .industry-card h3,
  .trust-card h3,
  .cap-card h3,
  .editorial-card h3,
  .editorial-trust-card h3,
  .editorial-cap-card h3,
  .editorial-industry-card h3{
    letter-spacing:-.2px!important;
  }
}


/* v4.46 — final heading containment + homepage enquiry rhythm
   Long display headings must never be forced outside their content column.
   Editorial wrapping should be intentional and consistent across the theme. */
@media (min-width:851px){
  /* Remove any inherited single-line behaviour from earlier refinement passes. */
  .home-section h2,
  .content-block h2,
  .content-grid h2,
  .services-intro h2,
  .service-detail-copy h2,
  .industry-page-grid h2,
  .capability-overview h2,
  .cta-band h2,
  .mini-cta h2,
  .contact-section h2,
  .contact-side h2,
  .contact-bottom h2,
  .testimonial-section .section-heading-row h2,
  #why-testimonials-client-proof .section-heading-row h2{
    white-space:normal!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    max-width:100%!important;
  }

  /* Internal two-column content: keep the heading inside the text column. */
  .content-grid>div:first-child h2,
  .content-block .content-grid>div:first-child h2{
    width:100%!important;
    max-width:820px!important;
  }

  /* Industry support / similar internal sections should feel composed,
     not like a single line escaping the viewport. */
  #industry-support .content-grid>div:first-child h2{
    max-width:780px!important;
  }

  /* Homepage service + why statements: controlled 1–2 line editorial scale. */
  .services-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    max-width:1120px!important;
    width:100%!important;
    white-space:normal!important;
    text-wrap:balance!important;
    letter-spacing:-1.15px!important;
  }

  /* Homepage enquiry CTA: bring both columns together and reduce the
     excessive empty horizontal spread seen in the current build. */
  .home-enquiry-section .container,
  .home-contact-cta .container,
  .home-cta-section .container{
    max-width:1240px!important;
  }

  .home-enquiry-section .content-grid,
  .home-contact-cta .content-grid,
  .home-cta-section .content-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.82fr)!important;
    gap:76px!important;
    align-items:center!important;
  }

  .home-enquiry-section .content-grid>div:first-child,
  .home-contact-cta .content-grid>div:first-child,
  .home-cta-section .content-grid>div:first-child{
    max-width:650px!important;
  }

  .home-enquiry-section .content-grid>div:last-child,
  .home-contact-cta .content-grid>div:last-child,
  .home-cta-section .content-grid>div:last-child{
    max-width:560px!important;
  }
}

@media (max-width:850px){
  .home-section h2,
  .content-block h2,
  .content-grid h2{
    white-space:normal!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    max-width:100%!important;
  }

  .home-enquiry-section .content-grid,
  .home-contact-cta .content-grid,
  .home-cta-section .content-grid{
    grid-template-columns:1fr!important;
    gap:38px!important;
  }
}


/* v4.46b — homepage Business Enquiry section: tighter, intentional composition */
@media (min-width:851px){
  .home-business-cta .container{
    width:min(1180px,calc(100% - 80px))!important;
    max-width:1180px!important;
  }
  .home-business-cta .cta-grid{
    grid-template-columns:minmax(0,1.02fr) minmax(360px,.78fr)!important;
    gap:64px!important;
    align-items:center!important;
  }
  .home-business-cta .cta-grid>div:first-child{
    max-width:610px!important;
  }
  .home-business-cta h2{
    max-width:610px!important;
    letter-spacing:-1.15px!important;
    text-wrap:balance!important;
  }
  .home-business-cta .cta-grid>div:last-child{
    max-width:500px!important;
    justify-self:end!important;
  }
}
@media (min-width:1400px){
  .home-business-cta .container{
    width:min(1240px,calc(100% - 100px))!important;
    max-width:1240px!important;
  }
  .home-business-cta .cta-grid{
    grid-template-columns:minmax(0,1fr) minmax(380px,.72fr)!important;
    gap:76px!important;
  }
}

/* v4.47 — responsive hero imagery
   Keep the uploaded hero artwork proportional instead of letting a wide
   desktop viewport crop/zoom the image excessively. Desktop/tablet scale
   the image by hero height and anchor it to the right; mobile keeps the
   full-width cover treatment for a compact viewport.
*/
@media (min-width:851px){
  .home-hero .hero-bg,
  .inner-hero.has-custom-hero .inner-hero-media{
    background-size:auto 100%!important;
    background-repeat:no-repeat!important;
    background-position:right center!important;
  }
}
@media (max-width:850px){
  .home-hero .hero-bg,
  .inner-hero.has-custom-hero .inner-hero-media{
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-position:center center!important;
  }
}


/* =========================================================
   SHARPLINE v4.48 — GLOBAL ALIGNMENT + CONNECTION QC
   - Prevent display-heading overflow / excessive tracking
   - Keep CTA arrows visible and aligned
   - Keep non-linked content visually non-clickable
   - Tighten homepage industry composition
   - Keep responsive sizing consistent across all pages
   ========================================================= */

:root{
  --sp-content-max:1240px;
  --sp-page-gutter:clamp(24px,5vw,72px);
}

/* Global content rhythm */
.container{
  width:min(var(--sp-content-max),calc(100% - 48px))!important;
  max-width:var(--sp-content-max)!important;
}
.home-section,
.content-block,
.service-detail,
.industry-list-section,
.cta-band,
.mini-cta,
.page-cross-links{
  overflow:hidden;
}

/* Never let typography create horizontal page overflow. */
h1,h2,h3,h4,p,a,span{
  max-width:100%;
}
h1,h2,h3{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Consistent display typography across the entire site. */
.home-section h2,
.content-block h2,
.service-detail-copy h2,
.inner-hero h1,
.cta-band h2,
.mini-cta h2,
.contact-section h2,
.contact-side h2,
.contact-bottom h2{
  letter-spacing:-1.5px!important;
  text-wrap:balance!important;
}

/* Homepage headline containment */
.home-section>.container>h2,
.home-section .section-heading-row h2{
  max-width:1120px!important;
}

/* What We Do — keep heading + intro together rather than visually
   separating them across the full viewport. */
.services-home-section .section-heading-row,
.why-home-section .section-heading-row{
  max-width:1120px!important;
}
.services-home-section .section-heading-row .section-lead,
.why-home-section .section-heading-row .section-lead{
  max-width:900px!important;
}

/* Homepage industries: compact, deliberate 3x2 composition. */
.industries-home-section > .container{
  max-width:1180px!important;
}
.industries-home-section > .container > h2{
  max-width:900px!important;
  margin-bottom:18px!important;
}
.industries-home-section > .container > .section-lead{
  max-width:820px!important;
  margin-bottom:42px!important;
}
.industries-home-section .editorial-industry-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  border:0!important;
  background:transparent!important;
}
.industries-home-section .editorial-industry-card{
  min-height:220px!important;
  padding:28px 24px 30px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:
    linear-gradient(180deg,rgba(8,10,11,.82),rgba(5,6,7,.94))!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  position:relative!important;
  overflow:hidden!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),inset 0 0 28px rgba(0,0,0,.34)!important;
  transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease,background .3s ease!important;
}
.industries-home-section .editorial-industry-card::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:50%!important;
  width:78px!important;
  height:1px!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(90deg,transparent,#d7a62a,#f5d98a,#d7a62a,transparent)!important;
  box-shadow:0 0 12px rgba(215,166,42,.32)!important;
  opacity:.9!important;
}
.industries-home-section .editorial-industry-card:hover{
  border-color:rgba(215,166,42,.42)!important;
  background:linear-gradient(180deg,rgba(12,13,14,.9),rgba(5,6,7,.97))!important;
  box-shadow:inset 0 1px 0 rgba(215,166,42,.16),inset 0 0 35px rgba(0,0,0,.42),0 8px 28px rgba(0,0,0,.18)!important;
  transform:translateY(-2px)!important;
}
.industries-home-section .editorial-industry-card .industry-index{
  display:block!important;
  margin:0!important;
  color:#e1b64f!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:2px!important;
  text-shadow:0 0 10px rgba(215,166,42,.2)!important;
}
.industries-home-section .editorial-industry-card h3{
  max-width:330px!important;
  margin:48px auto 0!important;
  font-size:21px!important;
  line-height:1.2!important;
  letter-spacing:-.35px!important;
  text-align:center!important;
  color:#f4f4f1!important;
  text-wrap:balance!important;
}
.industries-home-section .editorial-industry-card p{
  max-width:330px!important;
  margin:12px auto 0!important;
  line-height:1.7!important;
  text-align:center!important;
}
.industries-home-section .editorial-industry-card:not(a){
  cursor:default!important;
}
.industries-home-section .editorial-industry-card i,
.industries-home-section .editorial-industry-card .card-link{
  display:none!important;
}

/* Internal industries: these cards are informational in the approved
   architecture; the page-level CTA provides the navigation. */
.industry-detail-card:not(a){
  cursor:default!important;
}
.industry-detail-card:not(a) i{
  display:none!important;
}

/* Buttons: arrows are part of the button layout, never loose text. */
.btn,
.sh-guide-next,
.direct-link,
.text-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  white-space:nowrap!important;
}
.btn span,
.sh-guide-next span,
.direct-link span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:12px!important;
  line-height:1!important;
  margin:0!important;
  transform:none!important;
}
.btn:hover span,
.direct-link:hover span,
.text-link:hover span{
  transform:translateX(2px);
  transition:transform .18s ease;
}

/* CTA row alignment */
.hero-actions,
.section-cta-row,
.page-cross-links-grid{
  align-items:center!important;
}
.section-cta-row .btn{
  margin-top:0!important;
}

/* New cross-page navigation — only actual destinations. */
.page-cross-links{
  padding:54px 0 58px;
  border-top:1px solid var(--sp-line);
  border-bottom:1px solid var(--sp-line);
  background:#090909;
}
.page-cross-links .eyebrow{
  display:block;
  margin-bottom:22px;
}
.page-cross-links-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--sp-line);
  border-left:1px solid var(--sp-line);
}
.page-cross-links-grid a{
  min-height:76px;
  padding:0 24px;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  border-right:1px solid var(--sp-line);
  border-bottom:1px solid var(--sp-line);
  color:#f4f4f2;
  font-family:Montserrat,Arial,sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.2px;
}
.page-cross-links-grid a span{
  color:var(--sp-gold-bright);
  font-size:17px;
  flex:0 0 auto;
}
.page-cross-links-grid a:hover{
  background:rgba(197,162,93,.06);
  color:#fff;
}

/* Welcome dashboard: solid black, no wallpaper/watermark. The logo shown
   here is the same selected website logo used by the live site. */
.sh-welcome-hero{
  background:#050505!important;
  border-color:#202020!important;
  min-height:390px!important;
}
.sh-welcome-wallpaper,
.sh-welcome-overlay{
  display:none!important;
}
.sh-welcome-brand{
  display:flex!important;
  position:absolute!important;
  z-index:3!important;
  right:44px!important;
  top:28px!important;
  bottom:28px!important;
  width:min(360px,30%)!important;
  align-items:center!important;
  justify-content:center!important;
  pointer-events:none!important;
}
.sh-welcome-brand .sharpline-logo{
  display:block!important;
  width:100%!important;
  max-width:340px!important;
  max-height:150px!important;
  height:auto!important;
  object-fit:contain!important;
  filter:none!important;
}
.sh-welcome-content{
  max-width:760px!important;
  padding:48px!important;
}
@media(max-width:782px){
  .sh-welcome-brand{
    position:relative!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    min-height:110px!important;
    padding:22px 30px 0!important;
    justify-content:flex-start!important;
  }
  .sh-welcome-brand .sharpline-logo{
    width:auto!important;
    max-width:220px!important;
    max-height:80px!important;
  }
  .sh-welcome-content{
    padding:28px 30px 34px!important;
  }
}

/* Desktop/tablet — consistent readable heading scale. */
@media(min-width:851px){
  .home-section h2,
  .content-block h2,
  .service-detail-copy h2{
    font-size:clamp(46px,4.15vw,66px)!important;
    line-height:1.02!important;
  }
  .inner-hero h1{
    font-size:clamp(52px,5vw,76px)!important;
    line-height:1.01!important;
  }
}

/* Tablet */
@media(max-width:1100px) and (min-width:851px){
  .industries-home-section .editorial-industry-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .page-cross-links-grid{
    grid-template-columns:1fr!important;
  }
}

/* Mobile — no clipped headings, cards and CTAs stay aligned. */
@media(max-width:850px){
  .container{
    width:calc(100% - 36px)!important;
  }
  .home-section h2,
  .content-block h2,
  .service-detail-copy h2,
  .inner-hero h1,
  .cta-band h2,
  .mini-cta h2{
    letter-spacing:-.9px!important;
    max-width:100%!important;
  }
  .industries-home-section .editorial-industry-grid{
    grid-template-columns:1fr!important;
  }
  .industries-home-section .editorial-industry-card{
    min-height:190px!important;
  }
  .page-cross-links-grid{
    grid-template-columns:1fr!important;
  }
  .page-cross-links-grid a{
    min-height:68px;
  }
  .hero-actions .btn{
    width:100%!important;
  }
}

@media(max-width:600px){
  .container{
    width:calc(100% - 30px)!important;
  }
  .industries-home-section > .container > .section-lead{
    margin-bottom:28px!important;
  }
  .industries-home-section .editorial-industry-card{
    padding:24px!important;
  }
}


/* =========================================================
   v4.49 PREMIUM EDITORIAL REFINEMENT
   - controlled heading widths / no viewport clipping
   - alternating information + image composition
   - smaller, more intentional imagery
   - stronger CTA arrows
   - optional brand-positioning section stays hidden until content exists
   ========================================================= */

/* Never allow display headings to run into the viewport edge. */
.home-section h2,
.content-block h2,
.service-detail-copy h2,
.inner-hero h1,
.cta-band h2,
.mini-cta h2,
.contact-section h2,
.contact-side h2,
.contact-bottom h2{
  max-width: 820px !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Home section rhythm: title stays in a readable editorial column. */
.services-home-section .section-heading-row,
.why-home-section .section-heading-row{
  grid-template-columns: minmax(0,1.08fr) minmax(280px,.62fr) !important;
  gap: 70px !important;
  align-items: end !important;
}
.services-home-section .section-heading-row h2,
.why-home-section .section-heading-row h2{
  max-width: 760px !important;
  font-size: clamp(48px,4.25vw,64px) !important;
  line-height: .99 !important;
  letter-spacing: -2.5px !important;
}
.services-home-section .section-heading-row .section-lead,
.why-home-section .section-heading-row .section-lead{
  max-width: 560px !important;
  margin: 0 !important;
}

/* Internal pages: information and imagery share the viewport instead of
   producing oversized blank slabs. */
.content-grid,
.service-detail-grid{
  grid-template-columns: minmax(0,1fr) minmax(330px,.72fr) !important;
  gap: 72px !important;
  align-items: center !important;
}
.content-grid.media-left > .visual,
.service-detail-grid.media-left > .visual{ order: -1 !important; }
.content-grid.media-right > div:first-child,
.service-detail-grid.media-right > .service-detail-copy{ order: 0 !important; }
.content-grid.media-left > div:first-child,
.service-detail-grid.media-left > .service-detail-copy{ order: 1 !important; }

.content-block,
.service-detail{
  padding: 92px 0 !important;
}
.content-grid h2,
.service-detail-copy h2{
  font-size: clamp(38px,3.65vw,54px) !important;
  line-height: 1.03 !important;
  letter-spacing: -2.2px !important;
  max-width: 680px !important;
  margin-top: 12px !important;
}
.rich-copy{
  max-width: 600px !important;
  font-size: 15px !important;
  line-height: 1.82 !important;
}

/* Image treatment: compact premium frame, not giant empty panels. */
.visual{
  min-height: 0 !important;
  height: auto !important;
  position: relative !important;
}
.visual img,
.visual-placeholder{
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: 430px !important;
  object-fit: cover !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.28) !important;
}
.visual-placeholder{
  background:
    linear-gradient(145deg,rgba(197,162,93,.13),transparent 34%),
    linear-gradient(135deg,#171817,#080909) !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-start !important;
  padding:24px !important;
}
.visual-placeholder span{
  font-size:10px !important;
  letter-spacing:2.8px !important;
  color:#777 !important;
}
.visual:before{
  inset:auto !important;
  content:"" !important;
  position:absolute !important;
  width:72px !important;
  height:1px !important;
  left:-22px !important;
  bottom:18px !important;
  background:#B97808 !important;
  opacity:.75 !important;
  z-index:2 !important;
}

/* Inner hero is intentionally calmer than the old giant headline treatment. */
.inner-hero{
  min-height: 500px !important;
  padding: 92px 0 82px !important;
}
.inner-hero h1{
  font-size: clamp(52px,5.4vw,78px) !important;
  line-height: .96 !important;
  letter-spacing: -3.2px !important;
  max-width: 820px !important;
}
.inner-hero p{ max-width: 620px !important; }

/* Industries grid: less empty height, more useful information density. */
.industry-list-section{
  padding: 88px 0 70px !important;
}
.industry-list-section > .container > h2{
  max-width: 760px !important;
  font-size: clamp(42px,4.2vw,60px) !important;
  line-height: 1.0 !important;
  letter-spacing: -2.5px !important;
}
.industry-page-grid-modern{
  margin-top: 46px !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}
.industry-page-grid-modern .industry-card{
  min-height: 190px !important;
  padding: 30px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
}
.industry-detail-card h3{
  margin:0 0 10px !important;
  max-width: 260px !important;
  font-size: 22px !important;
  line-height:1.1 !important;
}
.industry-detail-card p{
  margin:0 !important;
  max-width: 360px !important;
}

/* Credentials / compliance and other long titles should not be forced into
   giant two-line blocks unless the content genuinely requires it. */
#why-credentials-compliance h2,
#why-testimonials-client-proof h2{
  max-width: 760px !important;
  font-size: clamp(36px,3.5vw,50px) !important;
}

/* Larger, crisp directional arrows. Only real links/buttons get arrows. */
.btn span,
.card-link b,
.editorial-cap-card > b,
.page-cross-links a span,
.testimonial-video span{
  font-size: 18px !important;
  line-height:1 !important;
  font-weight:700 !important;
  display:inline-block !important;
  transform:translateY(-1px) !important;
}
.btn{ gap:14px !important; }

/* Brand positioning is optional until approved content is supplied. */
.brand-positioning-section{ padding:92px 0 !important; background:#0b0c0c !important; }
.brand-positioning-grid .visual img,
.brand-positioning-grid .visual-placeholder{ max-height:390px !important; }

/* Tablet/mobile: keep the alternating concept but stack cleanly. */
@media(max-width:1100px){
  .services-home-section .section-heading-row,
  .why-home-section .section-heading-row{ grid-template-columns:1fr !important; gap:22px !important; }
  .content-grid,.service-detail-grid{ grid-template-columns:minmax(0,1fr) minmax(300px,.75fr) !important; gap:48px !important; }
  .industry-page-grid-modern{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media(max-width:850px){
  .home-section h2,.content-block h2,.service-detail-copy h2{ max-width:100% !important; }
  .services-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{ font-size:clamp(42px,8vw,56px) !important; }
  .content-grid,.service-detail-grid{ grid-template-columns:1fr !important; gap:34px !important; }
  .content-grid.media-left > .visual,
  .service-detail-grid.media-left > .visual{ order:0 !important; }
  .content-grid.media-left > div:first-child,
  .service-detail-grid.media-left > .service-detail-copy{ order:1 !important; }
  .visual img,.visual-placeholder{ max-height:none !important; aspect-ratio:16/10 !important; }
  .content-block,.service-detail{ padding:72px 0 !important; }
  .industry-page-grid-modern{ grid-template-columns:1fr !important; }
  .industry-page-grid-modern .industry-card{ min-height:170px !important; }
  .inner-hero{ min-height:430px !important; padding:76px 0 64px !important; }
  .inner-hero h1{ font-size:clamp(44px,10vw,62px) !important; letter-spacing:-2.5px !important; }
}
@media(max-width:560px){
  .services-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{ font-size:38px !important; letter-spacing:-1.7px !important; }
  .content-grid h2,.service-detail-copy h2{ font-size:34px !important; letter-spacing:-1.4px !important; }
  .visual:before{ left:-10px !important; }
}

/* v4.50 — premium editorial refinement + source-synced page layouts */
:root{--premium-max:1240px;--premium-gutter:clamp(24px,4vw,72px)}
html,body{overflow-x:hidden}
.container{width:min(var(--premium-max),calc(100% - 48px))!important}

/* Internal-page hero: controlled, not oversized */
.inner-hero{min-height:500px!important;padding:92px 0 76px!important;display:flex!important;align-items:flex-end!important;overflow:hidden!important}
.inner-hero-inner{width:100%!important;max-width:var(--premium-max)!important;margin:auto!important;display:block!important}
.inner-hero h1{font-size:clamp(46px,5.6vw,78px)!important;line-height:.96!important;letter-spacing:-3.2px!important;max-width:900px!important;margin:16px 0 22px!important}
.inner-hero p{font-size:16px!important;line-height:1.75!important;max-width:700px!important}
.hero-rich-copy{max-width:760px;color:#a9aaa6;font-size:16px;line-height:1.75}
.hero-rich-copy p{margin:0 0 12px}
.inner-hero .btn{margin-top:24px!important}

/* Editorial content rows: compact premium image + information pairing */
.content-block{padding:88px 0!important;overflow:hidden!important}
.content-block:before{opacity:.65!important}
.content-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.82fr)!important;gap:76px!important;align-items:center!important}
.content-block.media-left .content-grid{grid-template-columns:minmax(420px,.82fr) minmax(0,1fr)!important}
.content-block.media-left .content-grid>.content-copy{order:2!important}
.content-block.media-left .content-grid>.visual{order:1!important}
.content-block.media-right .content-grid>.content-copy{order:1!important}
.content-block.media-right .content-grid>.visual{order:2!important}
.content-block h2{font-size:clamp(36px,4vw,56px)!important;line-height:1.03!important;letter-spacing:-2.4px!important;max-width:760px!important;margin:14px 0 20px!important}
.content-copy{min-width:0!important}
.rich-copy{max-width:700px!important;color:#9ea19d!important;font-size:15px!important;line-height:1.82!important}
.rich-copy p{margin:0 0 17px!important}
.content-support-item{display:grid;grid-template-columns:minmax(150px,.35fr) 1fr;gap:18px;padding:13px 0;border-top:1px solid rgba(255,255,255,.09);font-size:14px;line-height:1.65}
.content-support-item strong{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#f0f0ed}
.content-support-item span{color:#999c98}

/* Images are intentionally controlled and never become giant slabs. */
.visual{min-height:0!important;position:relative!important}
.visual img,.visual-placeholder{width:100%!important;aspect-ratio:4/3!important;height:auto!important;max-height:430px!important;object-fit:cover!important;border:1px solid rgba(197,162,93,.20)!important}
.visual img{background:#111}
.visual-placeholder{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;padding:26px!important;background:linear-gradient(135deg,#171713,#0a0b0b 72%)!important;color:#6c6b63!important}
.visual-placeholder span{font-size:10px!important;letter-spacing:.18em!important;color:#8c8879!important}
.visual-placeholder small{margin-top:7px;color:#5e5f5c;font-size:11px}
.visual:after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid rgba(255,255,255,.045);pointer-events:none;z-index:-1}

/* Services: same premium alternating rhythm, with compact support content. */
.services-intro{padding-top:82px!important;padding-bottom:78px!important}
.services-intro .narrow-copy{max-width:920px!important}
.service-detail{padding:88px 0!important;overflow:hidden!important}
.service-detail-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.82fr)!important;gap:76px!important;align-items:center!important}
.service-detail.media-left .service-detail-grid{grid-template-columns:minmax(420px,.82fr) minmax(0,1fr)!important}
.service-detail.media-left .service-detail-copy{order:2!important}
.service-detail.media-left .visual{order:1!important}
.service-detail.media-right .service-detail-copy{order:1!important}
.service-detail.media-right .visual{order:2!important}
.service-detail-copy h2{font-size:clamp(38px,4vw,56px)!important;line-height:1.03!important;letter-spacing:-2.3px!important;max-width:720px!important}
.service-rich-copy{max-width:690px!important}
.related-service-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:48px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.related-service-links a{min-height:185px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:background .25s ease,transform .25s ease}
.related-service-links a:hover{background:rgba(197,162,93,.055);transform:translateY(-3px)}
.related-service-links strong{font-family:Montserrat,sans-serif;font-size:17px;line-height:1.2;color:#f4f4f1}
.related-service-links span{font-size:12px;line-height:1.55;color:#898c88;margin-top:18px}
.related-service-links b{font-size:20px;color:var(--gold2);align-self:flex-end}
.two-column-bridge{display:grid;grid-template-columns:1.05fr .75fr;gap:80px;align-items:end}
.two-column-bridge h2{max-width:720px}
.two-column-bridge p{color:#999c98;line-height:1.8}
.cta-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.btn-dark{background:#0a0a0a!important;color:#fff!important;border:1px solid rgba(0,0,0,.35)!important}

/* Industries grid stays compact; supporting sections alternate like the approved skeleton. */
.industry-page-grid-modern{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1px!important;background:var(--line)!important}
.industry-page-grid-modern .industry-card{min-height:205px!important;padding:28px!important;background:#0b0b0b!important}
.industry-detail-card h3{font-size:21px!important;line-height:1.12!important;max-width:310px!important}
#industry-support.content-block.media-right .content-grid,
#industry-proof.content-block.media-left .content-grid,
#industry-custom-requirement.content-block.media-right .content-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.82fr)!important}
#industry-proof.content-block.media-left .content-grid{grid-template-columns:minmax(420px,.82fr) minmax(0,1fr)!important}

/* Long trust headings should remain elegant and readable, not giant overflow text. */
#why-credentials-compliance h2{font-size:clamp(38px,3.7vw,52px)!important;max-width:none!important;white-space:nowrap!important}
@media(max-width:850px){#why-credentials-compliance h2{white-space:normal!important}}
#why-testimonials-client-proof h2{font-size:clamp(38px,3.7vw,52px)!important}

/* Buttons/arrows: clear directional hierarchy only on actual links/buttons. */
.btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:16px!important;min-height:52px!important;padding:0 24px!important}
.btn span,.card-link b,.page-cross-links a span,.testimonial-video span,.related-service-links b{font-size:21px!important;line-height:1!important;font-weight:800!important;transform:none!important}
.btn:hover span{transform:translateX(3px)!important}

/* Hide obsolete optional home component even if old saved options remain. */
#brand-positioning{display:none!important}

/* Mobile/tablet: stack without losing the editorial rhythm. */
@media(max-width:1050px){
  .content-grid,.content-block.media-left .content-grid,.service-detail-grid,.service-detail.media-left .service-detail-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr)!important;gap:48px!important}
  .industry-page-grid-modern{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .related-service-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .two-column-bridge{grid-template-columns:1fr .85fr;gap:50px}
}
@media(max-width:850px){
  .container{width:min(var(--premium-max),calc(100% - 32px))!important}
  .inner-hero{min-height:430px!important;padding:76px 0 62px!important}
  .inner-hero h1{font-size:clamp(42px,9vw,62px)!important;letter-spacing:-2.5px!important}
  .content-block,.service-detail{padding:70px 0!important}
  .content-grid,.content-block.media-left .content-grid,.service-detail-grid,.service-detail.media-left .service-detail-grid{grid-template-columns:1fr!important;gap:34px!important}
  .content-block.media-left .content-grid>.content-copy,.content-block.media-left .content-grid>.visual,.service-detail.media-left .service-detail-copy,.service-detail.media-left .visual{order:initial!important}
  .content-block.media-left .content-grid>.visual,.service-detail.media-left .visual{order:-1!important}
  .content-block h2,.service-detail-copy h2{font-size:38px!important;letter-spacing:-1.7px!important}
  .visual img,.visual-placeholder{max-height:none!important;aspect-ratio:16/10!important}
  .industry-page-grid-modern{grid-template-columns:1fr!important}
  .related-service-links{grid-template-columns:1fr}
  .two-column-bridge{grid-template-columns:1fr;gap:28px}
  .content-support-item{grid-template-columns:1fr;gap:4px}
}
@media(max-width:560px){
  .inner-hero h1{font-size:40px!important}
  .content-block h2,.service-detail-copy h2{font-size:33px!important}
  .related-service-links a{min-height:160px}
}

/* =========================================================
   v4.51 — QUALITY CONTROL / PREMIUM LAYOUT PASS
   Fixes: literal \n copy, heading overflow, image-label placeholders,
   oversized sections, uneven alignment, empty proof blocks and
   inconsistent internal-page rhythm.
   ========================================================= */

:root{
  --premium-max:1240px;
  --premium-text:680px;
  --premium-image:460px;
  --premium-gap:64px;
}

html,body{overflow-x:hidden!important}
.container{width:min(var(--premium-max),calc(100% - 48px))!important;margin-left:auto!important;margin-right:auto!important}

/* One consistent internal-page system. */
.inner-hero{
  min-height:450px!important;
  padding:82px 0 70px!important;
  display:flex!important;
  align-items:flex-end!important;
  overflow:hidden!important;
}
.inner-hero-inner{width:100%!important;max-width:var(--premium-max)!important;margin:0 auto!important}
.inner-hero-inner>div{max-width:900px!important}
.inner-hero h1{
  font-size:clamp(44px,5vw,68px)!important;
  line-height:1.02!important;
  letter-spacing:-2.8px!important;
  max-width:820px!important;
  margin:14px 0 20px!important;
  text-wrap:balance!important;
}
.inner-hero p,.hero-rich-copy{max-width:680px!important;font-size:16px!important;line-height:1.72!important}

/* Every content row is a controlled text/image composition. */
.content-block,.service-detail{padding:78px 0!important;overflow:hidden!important}
.content-grid,.service-detail-grid{
  width:100%!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.72fr)!important;
  gap:var(--premium-gap)!important;
  align-items:start!important;
}
.content-block.media-left .content-grid,.service-detail.media-left .service-detail-grid{
  grid-template-columns:minmax(360px,.72fr) minmax(0,1fr)!important;
}
.content-block.media-right .content-copy,.service-detail.media-right .service-detail-copy{order:1!important}
.content-block.media-right .visual,.service-detail.media-right .visual{order:2!important}
.content-block.media-left .visual,.service-detail.media-left .visual{order:1!important}
.content-block.media-left .content-copy,.service-detail.media-left .service-detail-copy{order:2!important}

.content-copy,.service-detail-copy{min-width:0!important;max-width:var(--premium-text)!important}
.content-block h2,.service-detail-copy h2{
  font-size:clamp(38px,3.55vw,52px)!important;
  line-height:1.05!important;
  letter-spacing:-2px!important;
  max-width:620px!important;
  margin:12px 0 20px!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.rich-copy{max-width:680px!important;font-size:15px!important;line-height:1.78!important;color:#a7aaa6!important}
.rich-copy p{margin:0 0 18px!important}
.rich-copy p:last-child{margin-bottom:0!important}

/* Supporting facts render as compact premium rows instead of a wall of text. */
.content-support-item{
  display:grid!important;
  grid-template-columns:minmax(145px,.32fr) minmax(0,1fr)!important;
  gap:22px!important;
  padding:13px 0!important;
  border-top:1px solid rgba(255,255,255,.09)!important;
}
.content-support-item strong{font-size:10px!important;line-height:1.35!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:#f0f0ed!important}
.content-support-item span{font-size:14px!important;line-height:1.65!important;color:#9a9d99!important}

/* Images: fixed visual frame, never huge, never vertically centered against a long copy wall. */
.visual{min-width:0!important;min-height:0!important;height:auto!important;position:relative!important;align-self:start!important}
.visual img,.visual-placeholder{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  height:auto!important;
  max-height:420px!important;
  object-fit:cover!important;
  border:1px solid rgba(197,162,93,.18)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.24)!important;
}
.visual img{background:#111!important}
.visual-placeholder{
  position:relative!important;
  overflow:hidden!important;
  padding:0!important;
  background:
    linear-gradient(135deg,rgba(197,162,93,.14),transparent 34%),
    linear-gradient(112deg,transparent 0 52%,rgba(255,255,255,.035) 52.2%,transparent 52.7%),
    linear-gradient(160deg,#181817 0%,#0d0e0e 58%,#080909 100%)!important;
}
.visual-placeholder:before{
  content:""!important;
  position:absolute!important;
  left:10%!important;
  right:10%!important;
  bottom:16%!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#B97808,rgba(255,255,255,.12),transparent)!important;
  transform:rotate(-8deg)!important;
  opacity:.7!important;
}
.visual-placeholder:after{
  content:""!important;
  position:absolute!important;
  width:140px!important;height:140px!important;
  right:-55px!important;top:-55px!important;
  border:1px solid rgba(197,162,93,.15)!important;
  transform:rotate(45deg)!important;
}
.visual:before,.visual:after{box-sizing:border-box}
.visual:before{display:none!important}
.visual:after{display:none!important}

/* Home service/industry placeholders should be visual, not labelled boxes. */
.card-image-placeholder{position:relative!important;background:
  linear-gradient(135deg,rgba(197,162,93,.14),transparent 35%),
  linear-gradient(150deg,#171817,#090a0a 72%)!important}
.card-image-placeholder:before{content:"";position:absolute;left:8%;right:8%;bottom:18%;height:1px;background:linear-gradient(90deg,transparent,#B97808,transparent);transform:rotate(-7deg);opacity:.65}

/* Services intro: balanced two-column editorial opener, not a narrow floating block. */
.services-intro{padding-top:72px!important;padding-bottom:72px!important}
.services-intro-grid{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(320px,.72fr)!important;gap:80px!important;align-items:start!important}
.services-intro .intro-heading h2{font-size:clamp(38px,3.7vw,52px)!important;max-width:620px!important;margin:12px 0 0!important}
.services-intro .rich-copy{padding-top:8px!important}

/* Service detail spacing and image alignment. */
.service-detail-grid{align-items:start!important}
.service-detail-copy h2{max-width:610px!important}
.service-detail-copy .btn{margin-top:22px!important}

/* Related service links remain a deliberate compact system. */
.related-service-links{margin-top:38px!important}
.related-service-links a{min-height:170px!important}

/* Industries: compact grid + clean alternating support sections. */
.industry-list-section{padding:74px 0 58px!important}
.industry-list-section> .container>h2{font-size:clamp(40px,3.8vw,54px)!important;max-width:650px!important;line-height:1.04!important}
.industry-list-section .section-lead{max-width:700px!important}
.industry-page-grid-modern{margin-top:36px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.industry-page-grid-modern .industry-card{min-height:175px!important;padding:26px!important}
.industry-detail-card h3{font-size:20px!important;line-height:1.18!important;max-width:290px!important}
.industry-detail-card p{font-size:13px!important;line-height:1.6!important;color:#8f928f!important}

/* Proof sections only appear when approved proof exists. */
.testimonial-section .section-heading-row{margin-bottom:34px!important}
.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
.testimonial-card{min-width:0!important}
.testimonial-media{aspect-ratio:16/9!important;overflow:hidden!important}
.testimonial-media img{width:100%!important;height:100%!important;object-fit:cover!important}

/* CTA blocks share one measured scale. */
.mini-cta,.cta-band{padding:72px 0!important}
.mini-cta h2,.cta-band h2{font-size:clamp(38px,3.8vw,54px)!important;line-height:1.04!important;letter-spacing:-2px!important;max-width:680px!important;text-wrap:balance!important}

/* Buttons: large enough to read, arrows never tiny. */
.btn{min-height:54px!important;padding:0 24px!important;gap:15px!important;font-size:11px!important;letter-spacing:.12em!important}
.btn span,.card-link b,.related-service-links b,.testimonial-video span{font-size:22px!important;line-height:1!important;font-weight:800!important;display:inline-block!important}

/* No fake navigation treatment on static cards. */
.industry-detail-card{cursor:default!important}

/* Contact page follows the same container and column proportions. */
.contact-grid{grid-template-columns:minmax(0,1.12fr) minmax(320px,.72fr)!important;gap:54px!important;align-items:start!important}
.contact-side{position:relative!important;top:auto!important}

@media(max-width:1050px){
  .container{width:min(var(--premium-max),calc(100% - 40px))!important}
  .content-grid,.service-detail-grid,.content-block.media-left .content-grid,.service-detail.media-left .service-detail-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr)!important;gap:44px!important}
  .services-intro-grid{grid-template-columns:1fr .85fr!important;gap:48px!important}
  .industry-page-grid-modern{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .contact-grid{grid-template-columns:1fr!important}
}

@media(max-width:820px){
  .container{width:calc(100% - 32px)!important}
  .inner-hero{min-height:410px!important;padding:70px 0 56px!important}
  .inner-hero h1{font-size:clamp(42px,9vw,58px)!important;letter-spacing:-2.2px!important}
  .content-block,.service-detail{padding:64px 0!important}
  .content-grid,.service-detail-grid,.content-block.media-left .content-grid,.service-detail.media-left .service-detail-grid{grid-template-columns:1fr!important;gap:30px!important}
  .content-block.media-left .visual,.service-detail.media-left .visual{order:1!important}
  .content-block.media-left .content-copy,.service-detail.media-left .service-detail-copy{order:2!important}
  .content-block h2,.service-detail-copy h2{font-size:38px!important;letter-spacing:-1.6px!important;max-width:620px!important}
  .visual img,.visual-placeholder{aspect-ratio:16/10!important;max-height:none!important}
  .services-intro-grid{grid-template-columns:1fr!important;gap:22px!important}
  .services-intro .rich-copy{padding-top:0!important}
  .industry-page-grid-modern{grid-template-columns:1fr!important}
  .testimonial-grid{grid-template-columns:1fr!important}
}

@media(max-width:560px){
  .container{width:calc(100% - 28px)!important}
  .inner-hero h1{font-size:40px!important}
  .content-block h2,.service-detail-copy h2,.services-intro .intro-heading h2{font-size:33px!important}
  .content-support-item{grid-template-columns:1fr!important;gap:5px!important}
  .btn{min-height:50px!important;padding:0 20px!important}
}

/* =========================================================
   SHARPLINE — PAGE-BY-PAGE TYPOGRAPHY REFINEMENT
   Preserve approved architecture/CMS. Refine only visual hierarchy,
   usable content width, whitespace and responsive wrapping.
   ========================================================= */

:root{
  --sp-page-max:1240px;
  --sp-section-title:clamp(40px,3.1vw,48px);
  --sp-section-title-line:1.04;
  --sp-section-title-track:-1.8px;
}

/* One measured container across the site. */
.container{
  width:min(var(--sp-page-max),calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Consistent major-section type hierarchy. */
.home-section h2,
.services-intro h2,
.industry-list-section > .container > h2,
.capability-overview h2,
.content-grid h2,
.service-detail-copy h2,
.cta-band h2,
.mini-cta h2,
.contact-section h2,
.contact-side h2,
.contact-bottom h2{
  font-family:var(--font-display)!important;
  font-weight:800!important;
  letter-spacing:var(--sp-section-title-track)!important;
  line-height:var(--sp-section-title-line)!important;
  text-wrap:pretty!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* ---------------------------------------------------------
   HOME — What We Do / Industries / Why Sharpline
   Editorial heading composition:
   eyebrow → large heading → supporting copy underneath.
   The heading and lead intentionally share the full section width
   so whitespace is used before any wrapping is introduced.
   --------------------------------------------------------- */
@media (min-width:851px){
  .services-home-section .section-heading-row,
  .industries-home-section .section-heading-row,
  .why-home-section .section-heading-row{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 48px!important;
  }

  .services-home-section .section-heading-row > div,
  .industries-home-section .section-heading-row > div,
  .why-home-section .section-heading-row > div{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  .services-home-section .section-heading-row h2,
  .industries-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    width:100%!important;
    max-width:1050px!important;
    margin:14px 0 20px!important;
    font-size:clamp(52px,5.2vw,68px)!important;
    line-height:1.01!important;
    letter-spacing:-2.8px!important;
    text-wrap:wrap!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }

  .services-home-section .section-heading-row .section-lead,
  .industries-home-section .section-heading-row .section-lead,
  .why-home-section .section-heading-row .section-lead{
    width:100%!important;
    max-width:900px!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1.8!important;
    color:#999!important;
  }
}

/* Tablet: keep the same editorial hierarchy, allowing the heading
   to use the full available width before wrapping. */
@media (min-width:851px) and (max-width:1100px){
  .services-home-section .section-heading-row h2,
  .industries-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    max-width:900px!important;
    font-size:clamp(46px,6vw,60px)!important;
    letter-spacing:-2.2px!important;
  }

  .services-home-section .section-heading-row .section-lead,
  .industries-home-section .section-heading-row .section-lead,
  .why-home-section .section-heading-row .section-lead{
    max-width:760px!important;
  }
}

/* Mobile: naturally stack heading and supporting copy without
   carrying desktop dimensions into the narrow viewport. */
@media (max-width:850px){
  .services-home-section .section-heading-row,
  .industries-home-section .section-heading-row,
  .why-home-section .section-heading-row{
    display:block!important;
    width:100%!important;
    margin-bottom:40px!important;
  }

  .services-home-section .section-heading-row > div,
  .industries-home-section .section-heading-row > div,
  .why-home-section .section-heading-row > div{
    width:100%!important;
    max-width:none!important;
  }

  .services-home-section .section-heading-row h2,
  .industries-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    width:100%!important;
    max-width:720px!important;
    margin:14px 0 18px!important;
    font-size:clamp(38px,8vw,48px)!important;
    line-height:1.04!important;
    letter-spacing:-1.6px!important;
    text-wrap:wrap!important;
  }

  .services-home-section .section-heading-row .section-lead,
  .industries-home-section .section-heading-row .section-lead,
  .why-home-section .section-heading-row .section-lead{
    width:100%!important;
    max-width:720px!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1.75!important;
  }
}

@media (max-width:560px){
  .services-home-section .section-heading-row h2,
  .industries-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    font-size:clamp(34px,9.5vw,42px)!important;
    letter-spacing:-1.35px!important;
  }
}

/* Internal pages: keep the approved alternating text/image structure,
   but give both sides enough width to read as one composition. */
@media (min-width:851px){
  .content-grid,
  .service-detail-grid{
    grid-template-columns:minmax(0,1fr) minmax(360px,.76fr)!important;
    gap:68px!important;
    align-items:center!important;
  }

  .content-block.media-left .content-grid,
  .service-detail.media-left .service-detail-grid{
    grid-template-columns:minmax(360px,.76fr) minmax(0,1fr)!important;
  }

  .content-grid h2,
  .service-detail-copy h2{
    max-width:720px!important;
    font-size:clamp(40px,3.7vw,56px)!important;
  }
}

/* Controlled media ratio: images remain part of the composition instead
   of becoming oversized blank slabs. */
.visual img,
.visual-placeholder{
  width:100%!important;
  aspect-ratio:16/10!important;
  min-height:0!important;
  height:auto!important;
  object-fit:cover!important;
}

@media (max-width:850px){
  .content-grid,
  .service-detail-grid,
  .content-block.media-left .content-grid,
  .service-detail.media-left .service-detail-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }

  .visual img,
  .visual-placeholder{
    aspect-ratio:16/10!important;
    height:auto!important;
    min-height:0!important;
  }
}

/* CTA scale follows the same display hierarchy. */
.cta-band h2,
.mini-cta h2{
  font-size:clamp(40px,4.1vw,58px)!important;
  max-width:760px!important;
}

/* Arrows remain visually strong only on actual linked controls. */
.btn span,
.card-link b,
.related-service-links b,
.testimonial-video span{
  font-size:18px!important;
  line-height:1!important;
}

/* V4.51.2 — mobile visual refinement
   Keep hero imagery left-biased so the mobile crop preserves more of the
   original composition instead of centering into the focal subject.
   Service cards use a wide editorial image ratio, matching desktop rather
   than becoming tall/square on narrow screens. */
@media (max-width:850px){
  .hero-bg{
    background-position:28% center!important;
  }

  .inner-hero.has-custom-hero,
  .inner-hero[style]{
    background-position:28% center!important;
  }
}

@media (max-width:700px){
  .service-card .card-image{
    height:auto!important;
    aspect-ratio:16 / 9!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  .service-card .card-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block!important;
  }
}

@media (max-width:420px){
  .hero-bg{
    background-position:24% center!important;
  }

  .inner-hero.has-custom-hero,
  .inner-hero[style]{
    background-position:24% center!important;
  }

  .service-card .card-image{
    aspect-ratio:16 / 9!important;
  }
}


/* =========================================================
   v4.51.3 — MOBILE HERO FOCAL POINT + PREMIUM SERVICE CARDS
   ========================================================= */

/* Service cards: tighter, lighter editorial grid with less
   visual weight around each card. */
.home-editorial-grid{
  gap:12px!important;
  align-items:stretch!important;
}

.home-editorial-grid .editorial-card{
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:0!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0)),
    #0a0a0a!important;
  box-shadow:none!important;
}

.home-editorial-grid .editorial-card:nth-child(odd){
  border-right:1px solid rgba(255,255,255,.10)!important;
}

.home-editorial-grid .editorial-card:hover{
  border-color:rgba(197,162,93,.30)!important;
  background:#0d0d0d!important;
  transform:translateY(-2px)!important;
}

.home-editorial-grid .editorial-card-top{
  padding:0!important;
}

.home-editorial-grid .editorial-card .card-image{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16 / 9!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  background:#0b0b0b!important;
}

.home-editorial-grid .editorial-card .card-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}

.home-editorial-grid .editorial-card-body{
  padding:25px 27px 27px!important;
  min-height:205px!important;
}

.home-editorial-grid .editorial-card-body h3{
  font-size:clamp(20px,2vw,24px)!important;
  line-height:1.14!important;
  letter-spacing:-.35px!important;
  margin:0!important;
}

.home-editorial-grid .editorial-card-body p{
  font-size:13px!important;
  line-height:1.7!important;
  color:#898b8c!important;
  min-height:0!important;
  margin:12px 0 0!important;
  max-width:540px!important;
}

.home-editorial-grid .editorial-card-body a{
  margin-top:22px!important;
  padding-top:0!important;
}

/* Keep the service number quiet and aligned with the image,
   rather than making it feel like a heavy card badge. */
.home-editorial-grid .service-number{
  top:18px!important;
  right:20px!important;
  color:rgba(255,255,255,.42)!important;
  z-index:5!important;
}

/* Desktop: let the image follow the same cinematic 16:9 language
   as the mobile cards instead of a fixed-height block. */
@media (min-width:851px){
  .home-editorial-grid .editorial-card .card-image{
    aspect-ratio:16 / 9!important;
    height:auto!important;
  }

  .home-editorial-grid .editorial-card-body{
    min-height:215px!important;
  }
}

/* Mobile: compact the grid so cards feel like one designed sequence,
   not four heavy bordered boxes separated by large gaps. */
@media (max-width:850px){
  .home-editorial-grid{
    gap:10px!important;
  }

  .home-editorial-grid .editorial-card{
    border-color:rgba(255,255,255,.085)!important;
  }

  .home-editorial-grid .editorial-card-body{
    padding:22px 20px 23px!important;
    min-height:0!important;
  }

  .home-editorial-grid .editorial-card-body h3{
    font-size:20px!important;
    letter-spacing:-.25px!important;
  }

  .home-editorial-grid .editorial-card-body p{
    font-size:13px!important;
    line-height:1.68!important;
  }

  .home-editorial-grid .service-number{
    top:14px!important;
    right:15px!important;
  }

  /* Hero: fill the viewport and deliberately bias the crop left.
     This replaces the earlier centered/contain behavior on mobile. */
  .home-hero .hero-bg,
  .inner-hero.has-custom-hero .inner-hero-media,
  .inner-hero[style]{
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-position:18% center!important;
  }
}

@media (max-width:420px){
  .home-hero .hero-bg,
  .inner-hero.has-custom-hero .inner-hero-media,
  .inner-hero[style]{
    background-size:cover!important;
    background-position:14% center!important;
  }

  .home-editorial-grid{
    gap:9px!important;
  }
}


/* v4.51.4 — Industries heading alignment
   Keep the heading/lead on the exact left editorial axis of the
   industry grid. Do not center the heading or introduce an offset. */
@media (min-width:851px){
  .industries-home-section .section-heading-row{
    text-align:left!important;
    padding-left:0!important;
    padding-right:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .industries-home-section .section-heading-row > div{
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .industries-home-section .section-heading-row .eyebrow,
  .industries-home-section .section-heading-row h2,
  .industries-home-section .section-heading-row .section-lead{
    text-align:left!important;
  }

  /* Match the visible grid's left edge exactly while retaining the
     wide editorial heading composition. */
  .industries-home-section .section-heading-row h2{
    margin-left:0!important;
    margin-right:auto!important;
  }

  .industries-home-section .section-heading-row .section-lead{
    margin-left:0!important;
    margin-right:auto!important;
  }
}

@media (max-width:850px){
  .industries-home-section .section-heading-row,
  .industries-home-section .section-heading-row > div,
  .industries-home-section .section-heading-row .eyebrow,
  .industries-home-section .section-heading-row h2,
  .industries-home-section .section-heading-row .section-lead{
    text-align:left!important;
  }
}


/* =========================================================
   v4.51.5 — MOBILE HERO VISIBILITY + SERVICE CARD REFINEMENT
   ========================================================= */

/* Let the dedicated hero overlay control contrast. The image itself
   should remain visible so the mobile crop can be composed intentionally. */
.home-hero .hero-bg{
  opacity:.72!important;
  background-repeat:no-repeat!important;
}

.home-hero .hero-overlay{
  background:linear-gradient(90deg,
    rgba(5,5,5,.94) 0%,
    rgba(5,5,5,.62) 43%,
    rgba(5,5,5,.16) 100%)!important;
}

@media (min-width:851px){
  .home-hero .hero-bg,
  .inner-hero.has-custom-hero .inner-hero-media{
    background-size:cover!important;
    background-position:center center!important;
  }
}

/* Mobile hero: the source artwork's stronger visual area sits to the
   right. Shift the crop window right so that visual moves LEFT within
   the phone viewport instead of disappearing into the left blank area. */
@media (max-width:850px){
  .home-hero .hero-bg,
  .inner-hero.has-custom-hero .inner-hero-media{
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-position:68% center!important;
  }

  .home-hero .hero-overlay{
    background:linear-gradient(90deg,
      rgba(5,5,5,.90) 0%,
      rgba(5,5,5,.48) 44%,
      rgba(5,5,5,.10) 100%)!important;
  }
}

@media (max-width:420px){
  .home-hero .hero-bg,
  .inner-hero.has-custom-hero .inner-hero-media{
    background-position:62% center!important;
  }
}

/* Service cards: remove the chunky separated-box feeling. Use a
   continuous editorial stack with hairline dividers and a clean
   cinematic image-to-content transition. */
.home-editorial-grid{
  gap:0!important;
}

.home-editorial-grid .editorial-card{
  border:0!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  border-radius:0!important;
  background:#0a0a0a!important;
  box-shadow:none!important;
}

.home-editorial-grid .editorial-card:last-child{
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}

.home-editorial-grid .editorial-card:hover{
  border-color:rgba(255,255,255,.12)!important;
  background:#0d0d0d!important;
  transform:none!important;
}

.home-editorial-grid .editorial-card .card-image{
  aspect-ratio:16 / 9!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}

.home-editorial-grid .editorial-card .card-image img{
  object-fit:cover!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
}

.home-editorial-grid .editorial-card-body{
  padding:24px 26px 26px!important;
  min-height:190px!important;
}

.home-editorial-grid .editorial-card-body h3{
  margin:0!important;
  font-size:clamp(21px,2vw,25px)!important;
  line-height:1.12!important;
  letter-spacing:-.3px!important;
}

.home-editorial-grid .editorial-card-body p{
  margin:11px 0 0!important;
  max-width:600px!important;
  font-size:13px!important;
  line-height:1.68!important;
}

.home-editorial-grid .editorial-card-body a{
  margin-top:19px!important;
}

@media (min-width:851px){
  .home-editorial-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:16px!important;
    row-gap:16px!important;
  }

  .home-editorial-grid .editorial-card{
    border:1px solid rgba(255,255,255,.10)!important;
  }

  .home-editorial-grid .editorial-card:hover{
    border-color:rgba(197,162,93,.30)!important;
    transform:translateY(-2px)!important;
  }

  .home-editorial-grid .editorial-card-body{
    min-height:190px!important;
  }
}

@media (max-width:850px){
  .home-editorial-grid{
    grid-template-columns:1fr!important;
    gap:0!important;
  }

  .home-editorial-grid .editorial-card{
    border-left:0!important;
    border-right:0!important;
  }

  .home-editorial-grid .editorial-card-body{
    padding:21px 20px 24px!important;
    min-height:0!important;
  }

  .home-editorial-grid .editorial-card-body h3{
    font-size:20px!important;
  }

  .home-editorial-grid .editorial-card-body p{
    font-size:13px!important;
    line-height:1.65!important;
  }
}


/* =========================================================
   v4.51.6 — MOBILE HOME HEADING BOUNDS / LEFT AXIS
   The previous desktop editorial width was leaking into the
   mobile cascade. Keep every Home intro inside the actual
   mobile content column so the heading cannot clip.
   ========================================================= */
@media (max-width:850px){
  .services-home-section .section-heading-row,
  .industries-home-section .section-heading-row,
  .why-home-section .section-heading-row{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    text-align:left!important;
    box-sizing:border-box!important;
  }

  .services-home-section .section-heading-row > div,
  .industries-home-section .section-heading-row > div,
  .why-home-section .section-heading-row > div{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
    box-sizing:border-box!important;
  }

  .services-home-section .section-heading-row h2,
  .industries-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:14px 0 18px!important;
    padding:0!important;
    box-sizing:border-box!important;
    font-size:clamp(38px,9.5vw,44px)!important;
    line-height:1.04!important;
    letter-spacing:-1.25px!important;
    text-align:left!important;
    white-space:normal!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  .services-home-section .section-heading-row .section-lead,
  .industries-home-section .section-heading-row .section-lead,
  .why-home-section .section-heading-row .section-lead{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    text-align:left!important;
  }

  /* The industry heading and its card grid share the exact same
     container axis; no centering or desktop max-width survives. */
  .industries-home-section .section-heading-row h2,
  .industries-home-section .section-heading-row .section-lead{
    margin-left:0!important;
    margin-right:0!important;
  }
}

@media (max-width:420px){
  .services-home-section .section-heading-row h2,
  .industries-home-section .section-heading-row h2,
  .why-home-section .section-heading-row h2{
    font-size:clamp(36px,9.7vw,41px)!important;
    letter-spacing:-1.05px!important;
  }
}


/* =========================================================
   v4.51.7 — SERVICE CARD IMAGE / CONTENT RHYTHM
   Keep the information visually connected to the image.
   No large dead band between the two parts of a card.
   ========================================================= */

/* Desktop */
.home-editorial-grid .editorial-card{
  display:flex!important;
  flex-direction:column!important;
}

.home-editorial-grid .editorial-card .card-image{
  margin-bottom:0!important;
  flex:none!important;
}

.home-editorial-grid .editorial-card-body{
  padding-top:20px!important;
  padding-bottom:24px!important;
  min-height:0!important;
}

.home-editorial-grid .editorial-card-body h3{
  margin-top:0!important;
  margin-bottom:10px!important;
}

.home-editorial-grid .editorial-card-body p{
  margin-top:0!important;
  margin-bottom:0!important;
}

.home-editorial-grid .editorial-card-body a{
  margin-top:17px!important;
}

/* Remove any spacer created by the previous card treatment. */
.home-editorial-grid .editorial-card-top,
.home-editorial-grid .editorial-card-content,
.home-editorial-grid .editorial-card-copy{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

/* Mobile: image and copy should read as one compact composition. */
@media (max-width:850px){
  .home-editorial-grid .editorial-card-body{
    padding:17px 20px 20px!important;
    min-height:0!important;
  }

  .home-editorial-grid .editorial-card-body h3{
    margin:0 0 8px!important;
  }

  .home-editorial-grid .editorial-card-body p{
    margin:0!important;
  }

  .home-editorial-grid .editorial-card-body a{
    margin-top:15px!important;
  }
}


/* =========================================================
   v4.51.8 — ACTUAL SERVICE CARD IMAGE → CONTENT GAP FIX
   Target the real .service-card structure directly. Earlier
   generic editorial rules were being overridden by the older
   .service-card descendant selectors.
   ========================================================= */

.home-editorial-grid .service-card.editorial-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  height:auto!important;
}

.home-editorial-grid .service-card.editorial-card > .editorial-card-top{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
}

.home-editorial-grid .service-card.editorial-card > .editorial-card-top > .card-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16 / 9!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:0!important;
}

.home-editorial-grid .service-card.editorial-card > .editorial-card-top > .card-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
}

.home-editorial-grid .service-card.editorial-card > .editorial-card-body{
  display:flex!important;
  flex-direction:column!important;
  flex:0 1 auto!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:14px 26px 22px!important;
  box-sizing:border-box!important;
}

.home-editorial-grid .service-card.editorial-card > .editorial-card-body h3{
  margin:0!important;
  padding:0!important;
}

.home-editorial-grid .service-card.editorial-card > .editorial-card-body p{
  margin:9px 0 0!important;
  padding:0!important;
  min-height:0!important;
}

.home-editorial-grid .service-card.editorial-card > .editorial-card-body a{
  margin:15px 0 0!important;
  padding:0!important;
  align-self:flex-start!important;
}

@media (max-width:850px){
  .home-editorial-grid .service-card.editorial-card > .editorial-card-body{
    padding:12px 20px 20px!important;
  }

  .home-editorial-grid .service-card.editorial-card > .editorial-card-body h3{
    margin:0!important;
  }

  .home-editorial-grid .service-card.editorial-card > .editorial-card-body p{
    margin:8px 0 0!important;
  }

  .home-editorial-grid .service-card.editorial-card > .editorial-card-body a{
    margin:14px 0 0!important;
  }
}


/* =========================================================
   v4.51.9 — HOME INDUSTRIES CONTAINER ALIGNMENT
   The Industries section was using a narrower 1180px container
   while the rest of the homepage uses the 1240px editorial axis.
   Keep eyebrow, heading, lead, grid and CTA on the same global
   homepage alignment.
   ========================================================= */
.industries-home-section > .container{
  width:min(var(--sp-page-max),calc(100% - 48px))!important;
  max-width:var(--sp-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

@media (min-width:851px){
  .industries-home-section .section-heading-row{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    text-align:left!important;
  }

  .industries-home-section .section-heading-row h2{
    max-width:1050px!important;
    margin-left:0!important;
    margin-right:auto!important;
    text-align:left!important;
  }

  .industries-home-section .section-heading-row .section-lead{
    max-width:900px!important;
    margin-left:0!important;
    margin-right:auto!important;
    text-align:left!important;
  }

  .industries-home-section .editorial-industry-grid,
  .industries-home-section .section-cta-row{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

@media (max-width:850px){
  .industries-home-section > .container{
    width:calc(100% - 32px)!important;
    max-width:none!important;
  }

  .industries-home-section .section-heading-row,
  .industries-home-section .section-heading-row > div,
  .industries-home-section .section-heading-row h2,
  .industries-home-section .section-heading-row .section-lead{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    text-align:left!important;
    box-sizing:border-box!important;
  }
}

/* ======================================================================
   v4.52 — ABOUT PAGE PREMIUM SPLIT LAYOUT
   The About page is intentionally more editorial than the homepage:
   desktop = text/image split, mobile = text then image.
   Existing approved copy, section order and CTA destinations remain intact.
   ====================================================================== */
.about-page{
  --about-section-pad:clamp(84px,8vw,128px);
  --about-gap:clamp(48px,6vw,92px);
}

/* Hero: restrained internal-page scale; no oversized Home-style headline. */
.about-page .inner-hero{
  min-height:500px!important;
  padding:92px 0 82px!important;
}
.about-page .inner-hero-inner{
  width:min(var(--sp-container),calc(100% - (var(--sp-gutter) * 2)))!important;
  max-width:var(--sp-container)!important;
  margin-inline:auto!important;
}
.about-page .inner-hero-inner>div{
  max-width:820px!important;
}
.about-page .inner-hero h1{
  max-width:780px!important;
  font-size:clamp(52px,5.6vw,76px)!important;
  line-height:.98!important;
  letter-spacing:clamp(-3px,-.2vw,-1.6px)!important;
  margin:16px 0 22px!important;
}
.about-page .inner-hero p{
  max-width:720px!important;
  font-size:clamp(15px,1.05vw,17px)!important;
  line-height:1.78!important;
}
.about-page .inner-hero .btn{margin-top:28px!important}

/* Every About content section gets the same strong editorial grid. */
.about-page .content-block{
  padding:var(--about-section-pad) 0!important;
  border-top:1px solid rgba(255,255,255,.055)!important;
}
.about-page .content-block:first-of-type{border-top:0!important}
.about-page .content-block .content-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:var(--about-gap)!important;
  align-items:center!important;
  width:min(var(--sp-container),calc(100% - (var(--sp-gutter) * 2)))!important;
  max-width:var(--sp-container)!important;
  margin-inline:auto!important;
}

/* media-right = text left / image right */
.about-page .content-block.media-right .content-copy{order:1!important}
.about-page .content-block.media-right .visual{order:2!important}

/* media-left = image left / text right */
.about-page .content-block.media-left .content-copy{order:2!important}
.about-page .content-block.media-left .visual{order:1!important}

.about-page .content-copy{
  width:100%!important;
  max-width:610px!important;
  min-width:0!important;
  justify-self:stretch!important;
}
.about-page .content-copy .eyebrow{
  margin-bottom:14px!important;
}
.about-page .content-copy h2{
  width:100%!important;
  max-width:600px!important;
  margin:0 0 22px!important;
  font-size:clamp(42px,4.2vw,60px)!important;
  line-height:1.02!important;
  letter-spacing:clamp(-2.8px,-.18vw,-1.4px)!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.about-page .content-copy .rich-copy{
  width:100%!important;
  max-width:590px!important;
  font-size:clamp(15px,1vw,17px)!important;
  line-height:1.82!important;
  color:#a9aaaa!important;
}
.about-page .content-copy .rich-copy p{margin:0 0 1.05em!important}
.about-page .content-copy .btn{margin-top:12px!important}

/* Images are deliberately smaller and more architectural than the old
   stretched 21:9 blocks. */
.about-page .visual{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  justify-self:stretch!important;
}
.about-page .visual img,
.about-page .visual-placeholder{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:4 / 3!important;
  object-fit:cover!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:#0b0b0b!important;
}
.about-page .visual img{object-position:center center!important}

/* A subtle image frame makes the split feel designed without adding
   decorative clutter. */
.about-page .visual:before{
  content:"";
  position:absolute;
  width:42px;
  height:42px;
  border-left:1px solid rgba(197,162,93,.45);
  border-top:1px solid rgba(197,162,93,.45);
  transform:translate(-8px,-8px);
  pointer-events:none;
}
.about-page .visual{position:relative!important}

/* Closing CTA follows the same container and restrained heading scale. */
.about-page .mini-cta{
  padding:92px 0!important;
  border-top:1px solid rgba(255,255,255,.055)!important;
}
.about-page .mini-cta h2{
  max-width:760px!important;
  font-size:clamp(42px,4.5vw,64px)!important;
  line-height:1.02!important;
}
.about-page .mini-cta p{max-width:650px!important}

@media (min-width:1101px){
  .about-page .content-block:nth-of-type(even) .content-grid{
    /* The template's media-left/media-right classes control order;
       do not let generic nth-of-type rules override them. */
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  }
}

@media (max-width:1100px) and (min-width:851px){
  .about-page .content-block .content-grid{
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
    gap:54px!important;
  }
  .about-page .content-copy h2{
    font-size:clamp(40px,4.6vw,54px)!important;
  }
}

@media (max-width:850px){
  .about-page .inner-hero{
    min-height:430px!important;
    padding:74px 0 66px!important;
  }
  .about-page .inner-hero-inner{
    width:calc(100% - 32px)!important;
  }
  .about-page .inner-hero h1{
    max-width:100%!important;
    font-size:clamp(42px,10vw,60px)!important;
    line-height:1.02!important;
    letter-spacing:-2.4px!important;
  }
  .about-page .inner-hero p{
    max-width:100%!important;
    font-size:15px!important;
  }

  .about-page .content-block{
    padding:72px 0!important;
  }
  .about-page .content-block .content-grid{
    width:calc(100% - 32px)!important;
    max-width:none!important;
    grid-template-columns:1fr!important;
    gap:32px!important;
  }

  /* Mobile deliberately becomes text → image for every section. */
  .about-page .content-block.media-left .content-copy,
  .about-page .content-block.media-right .content-copy{order:1!important}
  .about-page .content-block.media-left .visual,
  .about-page .content-block.media-right .visual{order:2!important}

  .about-page .content-copy{max-width:none!important}
  .about-page .content-copy h2{
    max-width:100%!important;
    font-size:clamp(36px,8vw,52px)!important;
    line-height:1.04!important;
    letter-spacing:-1.9px!important;
  }
  .about-page .content-copy .rich-copy{
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.76!important;
  }
  .about-page .visual img,
  .about-page .visual-placeholder{
    aspect-ratio:16 / 10!important;
  }
  .about-page .mini-cta{padding:72px 0!important}
  .about-page .mini-cta h2{font-size:clamp(38px,9vw,52px)!important}
}

@media (max-width:560px){
  .about-page .inner-hero h1{
    font-size:clamp(38px,10.5vw,48px)!important;
    letter-spacing:-1.8px!important;
  }
  .about-page .content-block{padding:62px 0!important}
  .about-page .content-copy h2{
    font-size:clamp(34px,9.5vw,44px)!important;
    letter-spacing:-1.45px!important;
  }
  .about-page .content-block .content-grid{width:calc(100% - 28px)!important}
  .about-page .visual:before{width:30px;height:30px;transform:translate(-5px,-5px)}
}


/* =========================================================
   v4.52.1 — ABOUT PAGE PREMIUM EDITORIAL V2
   Goal:
   - Large, intentional 50/50 desktop compositions
   - Images remain substantial instead of shrinking to their
     source image's intrinsic wide ratio
   - Headings use controlled editorial widths and natural wrapping
   - Mobile becomes text -> image
   - Closing CTA uses the same visual language as Home
   ========================================================= */

/* ---------- About content sections: stronger desktop split ---------- */
@media (min-width:1101px){
  .about-page .content-block{
    padding:clamp(96px,8vw,132px) 0!important;
  }

  .about-page .content-block .content-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:clamp(58px,6vw,92px)!important;
    align-items:start!important;
  }

  .about-page .content-copy{
    max-width:600px!important;
    align-self:center!important;
  }

  .about-page .content-copy h2{
    max-width:570px!important;
    font-size:clamp(46px,4vw,58px)!important;
    line-height:1.035!important;
    letter-spacing:-2px!important;
    margin:12px 0 24px!important;
    text-wrap:balance!important;
  }

  .about-page .content-copy .rich-copy{
    max-width:570px!important;
    font-size:16px!important;
    line-height:1.82!important;
  }

  .about-page .visual{
    align-self:start!important;
    width:100%!important;
  }

  /* Force the visual height. height:auto + aspect-ratio lets a very wide
     source image retain its native short ratio, which made the previous
     About images look like thin banners. */
  .about-page .visual img,
  .about-page .visual-placeholder{
    width:100%!important;
    height:clamp(340px,28vw,430px)!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
  }

  .about-page .content-block.media-left .visual{
    order:1!important;
  }

  .about-page .content-block.media-left .content-copy{
    order:2!important;
  }

  .about-page .content-block.media-right .content-copy{
    order:1!important;
  }

  .about-page .content-block.media-right .visual{
    order:2!important;
  }
}

/* ---------- Medium desktop/tablet ---------- */
@media (max-width:1100px) and (min-width:851px){
  .about-page .content-block{
    padding:88px 0!important;
  }

  .about-page .content-block .content-grid{
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
    gap:52px!important;
    align-items:start!important;
  }

  .about-page .content-copy h2{
    font-size:clamp(42px,4.8vw,52px)!important;
    line-height:1.04!important;
    letter-spacing:-1.7px!important;
  }

  .about-page .visual img,
  .about-page .visual-placeholder{
    width:100%!important;
    height:340px!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
  }
}

/* ---------- Mobile: clean vertical editorial flow ---------- */
@media (max-width:850px){
  .about-page .content-block{
    padding:74px 0!important;
  }

  .about-page .content-block .content-grid{
    width:calc(100% - 32px)!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
    align-items:start!important;
  }

  .about-page .content-block.media-left .content-copy,
  .about-page .content-block.media-right .content-copy{
    order:1!important;
  }

  .about-page .content-block.media-left .visual,
  .about-page .content-block.media-right .visual{
    order:2!important;
  }

  .about-page .content-copy{
    max-width:none!important;
  }

  .about-page .content-copy h2{
    max-width:100%!important;
    font-size:clamp(38px,8.7vw,50px)!important;
    line-height:1.04!important;
    letter-spacing:-1.55px!important;
    margin:12px 0 20px!important;
  }

  .about-page .content-copy .rich-copy{
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.76!important;
  }

  .about-page .visual{
    width:100%!important;
  }

  .about-page .visual img,
  .about-page .visual-placeholder{
    width:100%!important;
    height:auto!important;
    aspect-ratio:16 / 10!important;
    min-height:0!important;
    object-fit:cover!important;
  }

  .about-page .visual:before{
    width:30px!important;
    height:30px!important;
    transform:translate(-5px,-5px)!important;
  }
}

/* ---------- About hero: restrained, editorial internal-page scale ---------- */
.about-page .inner-hero h1{
  max-width:760px!important;
  font-size:clamp(50px,5.1vw,70px)!important;
  line-height:.99!important;
  letter-spacing:-2.4px!important;
  text-wrap:balance!important;
}

/* ---------- About CTA: same composition language as Home ---------- */
.about-page .about-business-cta{
  background:#090909!important;
  padding:125px 0!important;
  border-top:1px solid rgba(255,255,255,.055)!important;
}

.about-page .about-business-cta:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:34%!important;
  height:2px!important;
  background:var(--gold2)!important;
}

.about-page .about-business-cta .cta-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
  gap:80px!important;
  align-items:end!important;
}

.about-page .about-business-cta h2{
  max-width:720px!important;
  font-size:clamp(50px,5.4vw,76px)!important;
  line-height:.96!important;
  letter-spacing:-2.7px!important;
  margin:10px 0 0!important;
  text-wrap:balance!important;
}

.about-page .about-business-cta p{
  max-width:520px!important;
  margin:0 0 22px!important;
  color:#959798!important;
  line-height:1.75!important;
}

.about-page .about-business-cta .btn{
  margin-top:0!important;
}

@media (max-width:850px){
  .about-page .about-business-cta{
    padding:88px 0!important;
  }

  .about-page .about-business-cta .cta-grid{
    grid-template-columns:1fr!important;
    gap:34px!important;
    align-items:start!important;
  }

  .about-page .about-business-cta h2{
    font-size:clamp(40px,9vw,54px)!important;
    line-height:1!important;
    letter-spacing:-2px!important;
  }

  .about-page .about-business-cta p{
    max-width:100%!important;
  }
}

@media (max-width:560px){
  .about-page .inner-hero h1{
    font-size:clamp(40px,10.5vw,50px)!important;
    letter-spacing:-1.8px!important;
  }

  .about-page .content-block .content-grid{
    width:calc(100% - 28px)!important;
  }

  .about-page .content-copy h2{
    font-size:clamp(35px,9.5vw,45px)!important;
    letter-spacing:-1.35px!important;
  }

  .about-page .about-business-cta{
    padding:72px 0!important;
  }

  .about-page .about-business-cta h2{
    font-size:clamp(38px,9.5vw,50px)!important;
  }
}


/* =========================================================
   v4.52.2 — ABOUT PAGE / HOME-STYLE EDITORIAL FLOW
   User-approved direction:
   - About section content follows the Home page's typography scale.
   - Desktop: text first, large image directly underneath.
   - No left/right image split.
   - Mobile: same vertical flow, naturally responsive.
   - Closing CTA uses the same scale and spacing language as Home.
   ========================================================= */

/* ---------- About sections: full-width editorial stack ---------- */
.about-page .content-block{
  padding:clamp(88px,8vw,112px) 0!important;
}

.about-page .content-block .content-grid{
  display:flex!important;
  flex-direction:column!important;
  width:min(var(--sp-container),calc(100% - (var(--sp-gutter) * 2)))!important;
  max-width:var(--sp-container)!important;
  margin-inline:auto!important;
  gap:42px!important;
  align-items:stretch!important;
}

.about-page .content-copy,
.about-page .visual{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

.about-page .content-copy{
  display:block!important;
  order:1!important;
}

.about-page .visual{
  order:2!important;
  position:relative!important;
  display:block!important;
}

/* All About section headings now sit in the same visual hierarchy
   as the Home major section headings instead of becoming oversized. */
.about-page .content-copy h2{
  width:100%!important;
  max-width:900px!important;
  margin:13px 0 22px!important;
  font-size:clamp(44px,4vw,58px)!important;
  line-height:1.04!important;
  letter-spacing:-1.8px!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

.about-page .content-copy .eyebrow{
  margin-bottom:0!important;
}

.about-page .content-copy .rich-copy{
  width:100%!important;
  max-width:820px!important;
  font-size:16px!important;
  line-height:1.78!important;
  color:#a9aaaa!important;
}

.about-page .content-copy .rich-copy p{
  margin:0 0 1.05em!important;
}

.about-page .content-copy .btn{
  margin-top:10px!important;
}

/* Images are large and intentional — a major visual block beneath
   the section copy, rather than a small side image. */
.about-page .visual img,
.about-page .visual-placeholder{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16 / 7!important;
  object-fit:cover!important;
  object-position:center center!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:#0b0b0b!important;
}

.about-page .visual:before{
  width:42px!important;
  height:42px!important;
  transform:translate(-8px,-8px)!important;
}

/* Preserve the approved section order; media-left/media-right now only
   identify the source wireframe variant and no longer change position. */
.about-page .content-block.media-left .content-copy,
.about-page .content-block.media-left .visual,
.about-page .content-block.media-right .content-copy,
.about-page .content-block.media-right .visual{
  order:initial!important;
}

.about-page .content-block .content-copy{order:1!important}
.about-page .content-block .visual{order:2!important}

/* ---------- About internal hero: same hierarchy, not oversized ---------- */
.about-page .inner-hero h1{
  max-width:850px!important;
  font-size:clamp(52px,6vw,76px)!important;
  line-height:.98!important;
  letter-spacing:-2.6px!important;
}

/* ---------- Closing CTA: match Home CTA exactly in scale ---------- */
.about-page .about-business-cta{
  padding:80px 0!important;
  background:linear-gradient(135deg,#111,#0b0b0b)!important;
  border-top:1px solid var(--line)!important;
}

.about-page .about-business-cta:before{
  display:none!important;
}

.about-page .about-business-cta .cta-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:80px!important;
  align-items:end!important;
}

.about-page .about-business-cta h2{
  max-width:760px!important;
  font-size:52px!important;
  line-height:1.03!important;
  letter-spacing:-1.8px!important;
  margin:10px 0!important;
  text-wrap:balance!important;
}

.about-page .about-business-cta p{
  max-width:650px!important;
  margin:0 0 22px!important;
  color:#999!important;
  line-height:1.75!important;
}

.about-page .about-business-cta .btn{
  margin-top:0!important;
}

@media (max-width:850px){
  .about-page .content-block{
    padding:72px 0!important;
  }

  .about-page .content-block .content-grid{
    width:calc(100% - 32px)!important;
    gap:28px!important;
  }

  .about-page .content-copy h2{
    max-width:100%!important;
    font-size:clamp(38px,8.5vw,50px)!important;
    line-height:1.04!important;
    letter-spacing:-1.5px!important;
  }

  .about-page .content-copy .rich-copy{
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.76!important;
  }

  .about-page .visual img,
  .about-page .visual-placeholder{
    aspect-ratio:16 / 10!important;
  }

  .about-page .about-business-cta{
    padding:75px 0!important;
  }

  .about-page .about-business-cta .cta-grid{
    grid-template-columns:1fr!important;
    gap:35px!important;
  }

  .about-page .about-business-cta h2{
    font-size:clamp(40px,9vw,54px)!important;
    line-height:1.02!important;
  }
}

@media (max-width:560px){
  .about-page .content-block{
    padding:62px 0!important;
  }

  .about-page .content-block .content-grid{
    width:calc(100% - 28px)!important;
  }

  .about-page .content-copy h2{
    font-size:clamp(35px,9.5vw,45px)!important;
    letter-spacing:-1.3px!important;
  }

  .about-page .visual:before{
    width:30px!important;
    height:30px!important;
    transform:translate(-5px,-5px)!important;
  }

  .about-page .about-business-cta h2{
    font-size:clamp(38px,9.5vw,50px)!important;
  }
}

/* =========================================================
   SHARPLINE v4.52.3 — ABOUT PAGE VISUAL REDESIGN
   Approved architecture: About hero -> founder story -> connected
   capabilities -> philosophy -> experience -> vision -> CTA.
   Design direction: strong editorial split with genuinely large
   imagery matched to the height/weight of the content beside it.
   ========================================================= */
.about-v523{--about-gap:86px;--about-gold:#B97808}

/* Hero: deliberately follows the Home page's visual grammar while
   keeping About's own content. */
.about-v523 .about-hero-home-style{
  padding:96px 0 110px!important;
  background:#070808!important;
  border-bottom:1px solid var(--line)!important;
  position:relative!important;
  overflow:hidden!important;
}
.about-v523 .about-hero-home-style:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 78% 28%,rgba(197,162,93,.13),transparent 25%);
}
.about-v523 .about-hero-grid{
  position:relative;z-index:1;display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:72px!important;align-items:center!important;
}
.about-v523 .about-hero-copy{padding-right:15px}
.about-v523 .about-hero-copy h1{
  max-width:680px!important;margin:17px 0 24px!important;
  font-size:clamp(54px,6.3vw,86px)!important;
  line-height:.94!important;letter-spacing:-4px!important;
}
.about-v523 .about-hero-copy .hero-rich-copy{
  max-width:660px!important;color:#a8aaaa!important;
  font-size:16px!important;line-height:1.8!important;
}
.about-v523 .about-hero-copy .hero-rich-copy p{margin:0 0 18px!important}
.about-v523 .about-hero-copy .btn{margin-top:10px!important}
.about-v523 .about-hero-visual{
  width:100%;min-height:500px;border:1px solid rgba(255,255,255,.12);
  position:relative;overflow:hidden;background:#0b0b0b;
}
.about-v523 .about-hero-visual:before,
.about-v523 .about-section-visual:before{
  content:"";position:absolute;left:0;bottom:0;width:32%;height:1px;
  background:linear-gradient(90deg,var(--about-gold),transparent);z-index:2;
}
.about-v523 .about-hero-visual img,
.about-v523 .about-section-visual img{
  display:block;width:100%;height:100%!important;min-height:0!important;
  object-fit:cover;object-position:center;border:0!important;
}

/* Main sections: real 50/50 split, with image height equal to the
   content block. This avoids the "tiny image beside huge text" issue. */
.about-v523 .about-content-section{
  padding:118px 0!important;background:#070808!important;
  border-bottom:1px solid rgba(255,255,255,.045)!important;
  position:relative;overflow:hidden;
}
.about-v523 .about-content-section:nth-of-type(odd){background:#080909!important}
.about-v523 .about-section-grid{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:var(--about-gap)!important;align-items:stretch!important;
}
.about-v523 .about-section-copy{
  min-width:0;display:flex;flex-direction:column;justify-content:center;
}
.about-v523 .about-section-topline{
  display:flex;align-items:center;justify-content:space-between;gap:25px;
}
.about-v523 .about-section-topline .eyebrow{margin:0!important}
.about-v523 .about-section-number{
  font:800 11px/1 var(--font-display,Montserrat,sans-serif);
  color:#777;letter-spacing:2px;padding-left:18px;border-left:1px solid rgba(255,255,255,.14)
}
.about-v523 .about-section-copy h2{
  max-width:680px!important;margin:17px 0 25px!important;
  font-size:clamp(42px,4.4vw,62px)!important;
  line-height:1.01!important;letter-spacing:-2.8px!important;
}
.about-v523 .about-rich-copy,
.about-v523 .about-intro-copy{
  max-width:690px;color:#a7a9a7;font-size:16px;line-height:1.82;
}
.about-v523 .about-rich-copy p,
.about-v523 .about-intro-copy p{margin:0 0 20px!important}
.about-v523 .about-rich-copy .content-support-item{margin-top:0}

.about-v523 .about-section-visual{
  min-height:0;align-self:stretch;position:relative;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);background:#0b0b0b;
}
.about-v523 .about-section-visual:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(197,162,93,.10),transparent 28%,transparent 72%,rgba(0,0,0,.20));
}
.about-v523 .about-visual-placeholder{
  width:100%;height:100%;min-height:470px;display:flex;align-items:flex-end;
  justify-content:space-between;padding:28px;position:relative;overflow:hidden;
  background:
    linear-gradient(135deg,rgba(197,162,93,.10),transparent 30%),
    linear-gradient(145deg,#171717,#080808 70%);
}
.about-v523 .about-visual-placeholder:before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:72px 72px;opacity:.45;
}
.about-v523 .about-visual-placeholder span,
.about-v523 .about-visual-placeholder b{position:relative;z-index:1}
.about-v523 .about-visual-placeholder span{font:700 9px/1 var(--font-display,Montserrat,sans-serif);letter-spacing:2px;color:#6b6b6b}
.about-v523 .about-visual-placeholder b{font:800 92px/.8 var(--font-display,Montserrat,sans-serif);color:rgba(197,162,93,.22);letter-spacing:-5px}

/* Connected capability + philosophy sections become designed data blocks,
   not long paragraphs. */
.about-v523 .about-detail-list{margin-top:26px;border-top:1px solid rgba(255,255,255,.13);max-width:700px}
.about-v523 .about-detail-row{
  display:grid;grid-template-columns:150px minmax(0,1fr);gap:25px;
  padding:16px 0;border-bottom:1px solid rgba(255,255,255,.10);
}
.about-v523 .about-detail-row strong{
  color:#f0f0f0;font:800 10px/1.4 var(--font-display,Montserrat,sans-serif);letter-spacing:.8px;text-transform:uppercase;
}
.about-v523 .about-detail-row span{color:#929595;font-size:13px;line-height:1.65}
.about-v523 .about-section-s4 .about-section-copy h2{font-size:clamp(50px,5vw,72px)!important;max-width:560px!important}
.about-v523 .about-section-s4 .about-intro-copy{max-width:670px}

/* Stronger visual treatment for the philosophy section, as requested by
   the approved About-page content brief. */
.about-v523 .about-section-s4{
  background:linear-gradient(90deg,#090a0a,#070808 55%,#0b0b0b)!important;
}
.about-v523 .about-section-s4 .about-section-visual{
  border-color:rgba(197,162,93,.28);
  box-shadow:inset 0 0 0 1px rgba(197,162,93,.04),0 0 70px rgba(197,162,93,.045);
}

/* Closing CTA remains Home-like, not a fifth visual language. */
.about-v523 .about-business-cta{
  padding:82px 0!important;background:#070808!important;border-top:1px solid var(--line)!important;
}
.about-v523 .about-business-cta .cta-grid{align-items:end!important;gap:70px!important}
.about-v523 .about-business-cta h2{font-size:clamp(50px,5.1vw,70px)!important;line-height:.98!important;letter-spacing:-3px!important;max-width:700px!important}
.about-v523 .about-business-cta p{max-width:620px!important;color:#9fa1a0!important;font-size:15px!important;line-height:1.8!important}

@media(max-width:1000px){
  .about-v523 .about-hero-grid,.about-v523 .about-section-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:45px!important}
  .about-v523 .about-hero-copy h1{font-size:clamp(50px,6vw,70px)!important}
  .about-v523 .about-section-copy h2{font-size:clamp(39px,4.5vw,54px)!important}
  .about-v523 .about-hero-visual{min-height:430px}
}

@media(max-width:850px){
  .about-v523 .about-hero-home-style{padding:75px 0 80px!important}
  .about-v523 .about-hero-grid{grid-template-columns:1fr!important;gap:38px!important}
  .about-v523 .about-hero-copy{padding-right:0}
  .about-v523 .about-hero-copy h1{font-size:clamp(48px,10vw,70px)!important}
  .about-v523 .about-hero-visual{min-height:340px!important}
  .about-v523 .about-content-section{padding:82px 0!important}
  .about-v523 .about-section-grid{grid-template-columns:1fr!important;gap:40px!important}
  .about-v523 .about-section-copy{order:1!important}
  .about-v523 .about-section-visual{order:2!important;min-height:340px!important}
  .about-v523 .about-section-visual img{min-height:340px!important;height:340px!important}
  .about-v523 .about-visual-placeholder{min-height:340px!important}
  .about-v523 .about-section-s4 .about-section-copy h2{font-size:clamp(48px,9vw,66px)!important}
  .about-v523 .about-detail-row{grid-template-columns:130px minmax(0,1fr);gap:18px}
  .about-v523 .about-business-cta{padding:72px 0!important}
  .about-v523 .about-business-cta .cta-grid{grid-template-columns:1fr!important;gap:35px!important}
}

@media(max-width:560px){
  .about-v523 .about-hero-home-style{padding:62px 0 70px!important}
  .about-v523 .about-hero-copy h1{font-size:44px!important;letter-spacing:-2.5px!important}
  .about-v523 .about-hero-copy .hero-rich-copy{font-size:15px!important;line-height:1.75!important}
  .about-v523 .about-hero-visual{min-height:280px!important}
  .about-v523 .about-content-section{padding:68px 0!important}
  .about-v523 .about-section-copy h2{font-size:38px!important;letter-spacing:-1.8px!important}
  .about-v523 .about-rich-copy,.about-v523 .about-intro-copy{font-size:15px!important;line-height:1.75!important}
  .about-v523 .about-section-visual,.about-v523 .about-section-visual img{min-height:270px!important;height:270px!important}
  .about-v523 .about-detail-row{grid-template-columns:1fr;gap:6px;padding:14px 0}
  .about-v523 .about-section-s4 .about-section-copy h2{font-size:46px!important}
  .about-v523 .about-business-cta h2{font-size:43px!important;letter-spacing:-2px!important}
}


/* =========================================================
   v4.52.4 — ABOUT HERO / FULL-BLEED INDUSTRIAL IMAGE
   The About hero follows the approved PDF content but uses the
   stronger full-width image-background treatment requested for
   the visual direction. The image is decorative/background only;
   the copy remains the semantic content layer.
   ========================================================= */
.about-v523 .about-hero-home-style{
  min-height:clamp(570px,45vw,700px)!important;
  padding:clamp(105px,9vw,145px) 0 clamp(88px,8vw,120px)!important;
  background-color:#070808!important;
  background-image:
    linear-gradient(90deg,rgba(4,5,5,.96) 0%,rgba(4,5,5,.86) 31%,rgba(4,5,5,.48) 57%,rgba(4,5,5,.34) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.34) 100%),
    var(--about-hero-image)!important;
  background-size:cover,cover,cover!important;
  background-position:center,center,center center!important;
  background-repeat:no-repeat!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  display:flex!important;
  align-items:center!important;
}

/* Diagonal industrial/gold light treatment inspired by the supplied
   visual reference, without adding decorative copy or UI noise. */
.about-v523 .about-hero-home-style:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(153deg,transparent 0 31%,rgba(197,162,93,.09) 31.15%,rgba(197,162,93,.035) 48%,transparent 48.2%),
    linear-gradient(163deg,transparent 0 59%,rgba(197,162,93,.08) 59.1%,transparent 59.25%)!important;
  mix-blend-mode:screen!important;
  opacity:.85!important;
}

.about-v523 .about-hero-home-style:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 77% 42%,rgba(197,162,93,.14),transparent 22%),
    linear-gradient(90deg,rgba(0,0,0,.16),transparent 58%)!important;
  z-index:0!important;
}

.about-v523 .about-hero-grid{
  width:min(var(--sp-container),calc(100% - (var(--sp-gutter) * 2)))!important;
  max-width:var(--sp-container)!important;
  margin-inline:auto!important;
  display:block!important;
  position:relative!important;
  z-index:2!important;
}

.about-v523 .about-hero-copy{
  width:min(720px,62%)!important;
  max-width:720px!important;
  padding-right:0!important;
}

.about-v523 .about-hero-copy h1{
  max-width:700px!important;
  margin:16px 0 24px!important;
  font-size:clamp(58px,6.1vw,86px)!important;
  line-height:.96!important;
  letter-spacing:-3.7px!important;
  text-wrap:balance!important;
}

.about-v523 .about-hero-copy .hero-rich-copy{
  max-width:650px!important;
  color:#b5b7b6!important;
  font-size:16px!important;
  line-height:1.78!important;
}

.about-v523 .about-hero-copy .hero-rich-copy p{
  margin:0 0 17px!important;
}

.about-v523 .about-hero-copy .btn{
  margin-top:9px!important;
}

/* The hero image is now the background, so the old side image box must
   not consume layout space or duplicate the photograph. */
.about-v523 .about-hero-visual{
  display:none!important;
}

@media(max-width:1000px){
  .about-v523 .about-hero-home-style{
    min-height:560px!important;
  }
  .about-v523 .about-hero-copy{
    width:min(690px,72%)!important;
  }
  .about-v523 .about-hero-copy h1{
    font-size:clamp(54px,7vw,76px)!important;
  }
}

@media(max-width:850px){
  .about-v523 .about-hero-home-style{
    min-height:680px!important;
    padding:92px 0 72px!important;
    align-items:flex-start!important;
    background-image:
      linear-gradient(180deg,rgba(4,5,5,.88) 0%,rgba(4,5,5,.73) 34%,rgba(4,5,5,.42) 66%,rgba(4,5,5,.72) 100%),
      var(--about-hero-image)!important;
    background-position:center,62% center!important;
  }

  .about-v523 .about-hero-grid{
    width:calc(100% - 32px)!important;
    max-width:none!important;
  }

  .about-v523 .about-hero-copy{
    width:100%!important;
    max-width:620px!important;
  }

  .about-v523 .about-hero-copy h1{
    max-width:600px!important;
    font-size:clamp(48px,10vw,68px)!important;
    line-height:.98!important;
    letter-spacing:-2.8px!important;
  }

  .about-v523 .about-hero-copy .hero-rich-copy{
    max-width:590px!important;
    font-size:15px!important;
    line-height:1.75!important;
  }
}

@media(max-width:560px){
  .about-v523 .about-hero-home-style{
    min-height:690px!important;
    padding:78px 0 58px!important;
    background-position:center,66% center!important;
  }

  .about-v523 .about-hero-grid{
    width:calc(100% - 28px)!important;
  }

  .about-v523 .about-hero-copy h1{
    max-width:100%!important;
    font-size:clamp(43px,11.2vw,56px)!important;
    line-height:.99!important;
    letter-spacing:-2.15px!important;
  }

  .about-v523 .about-hero-copy .hero-rich-copy{
    font-size:15px!important;
  }
}


/* v4.53 — responsive image system */
.hero-bg,.inner-hero-media{background-image:var(--sp-image-desktop)!important;background-size:cover;background-position:center center}
@media(max-width:850px){.hero-bg,.inner-hero-media{background-image:var(--sp-image-mobile)!important;background-position:center center}}
.card-image picture,.visual picture{display:block;width:100%;height:100%}.card-image picture img,.visual picture img{display:block;width:100%;height:100%;object-fit:cover}
/* About hero uses its own responsive variables because it is a full section background. */
.about-page .about-hero-home-style{position:relative;min-height:clamp(610px,72vh,780px);background-image:var(--about-hero-image);background-size:cover;background-position:center center;overflow:hidden}
.about-page .about-hero-home-style .about-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,3,3,.96) 0%,rgba(3,3,3,.82) 36%,rgba(3,3,3,.42) 64%,rgba(3,3,3,.22) 100%);z-index:0}
.about-page .about-hero-home-style .about-hero-grid{position:relative;z-index:1;min-height:inherit;display:flex;align-items:center}
.about-page .about-hero-home-style .about-hero-copy{max-width:650px;padding:100px 0 90px}
.about-page .about-hero-home-style h1{font-size:clamp(58px,6.4vw,88px);line-height:.96;letter-spacing:-3px;max-width:680px;margin:14px 0 24px;text-wrap:balance}
.about-page .about-hero-home-style .hero-rich-copy{max-width:620px;color:#b7bdc4;font-size:16px;line-height:1.78}.about-page .about-hero-home-style .hero-rich-copy p{margin:0 0 1em}.about-page .about-hero-home-style .btn{margin-top:10px}
@media(max-width:850px){.about-page .about-hero-home-style{min-height:720px;background-image:var(--about-hero-image);background-position:center center}.about-page .about-hero-home-style .about-hero-overlay{background:linear-gradient(180deg,rgba(3,3,3,.78) 0%,rgba(3,3,3,.9) 52%,rgba(3,3,3,.96) 100%)}.about-page .about-hero-home-style .about-hero-copy{max-width:none;padding:100px 0 65px;align-self:flex-end}.about-page .about-hero-home-style h1{font-size:clamp(46px,11vw,64px);letter-spacing:-2.1px}.about-page .about-hero-home-style .hero-rich-copy{font-size:15px;line-height:1.72}}


/* v4.53.1 — About hero scale + independent responsive media controls */
.about-page .about-hero-home-style{
  min-height:clamp(560px,64vh,680px)!important;
  background-position:center center!important;
}
.about-page .about-hero-home-style .about-hero-copy{
  max-width:650px!important;
  padding:82px 0 72px!important;
}
.about-page .about-hero-home-style h1{
  font-size:clamp(52px,5.35vw,76px)!important;
  line-height:.98!important;
  letter-spacing:-2.5px!important;
  max-width:680px!important;
  margin:14px 0 22px!important;
}
.about-page .about-hero-home-style .hero-rich-copy{
  max-width:600px!important;
  font-size:15.5px!important;
  line-height:1.72!important;
}
@media(max-width:850px){
  .about-page .about-hero-home-style{
    min-height:640px!important;
    background-position:center center!important;
  }
  .about-page .about-hero-home-style .about-hero-copy{
    padding:88px 0 56px!important;
  }
  .about-page .about-hero-home-style h1{
    font-size:clamp(44px,10.5vw,60px)!important;
    letter-spacing:-2px!important;
  }
}
@media(max-width:560px){
  .about-page .about-hero-home-style{
    min-height:620px!important;
  }
  .about-page .about-hero-home-style .about-hero-copy{
    padding:82px 0 48px!important;
  }
  .about-page .about-hero-home-style h1{
    font-size:clamp(40px,10.8vw,52px)!important;
  }
}


/* =========================================================
   v4.53.3 — GLOBAL TYPOGRAPHY / ALIGNMENT REFINEMENT
   Shared editorial rules so internal pages follow the same
   visual language as the refined Home + About pages.
   ========================================================= */
.inner-hero-inner,
.content-grid,
.service-detail-grid,
.services-intro-grid,
.two-column-bridge,
.contact-grid,
.about-section-grid,
.about-hero-grid,
.cta-grid{
  min-width:0;
}
.inner-hero h1,
.content-grid h2,
.service-detail h2,
.services-intro h2,
.industry-list-section > .container > h2,
.capability-overview h2,
.section-heading-row h2,
.home-section h2,
.cta-band h2,
.contact-section h2,
.contact-side h2,
.contact-bottom h2,
.about-section-copy h2,
.about-hero-copy h1{
  max-width:100%;
  min-width:0;
  overflow-wrap:break-word;
  word-break:normal;
  text-wrap:balance;
}
.inner-hero p,
.content-grid .rich-copy,
.service-detail-copy,
.services-intro .rich-copy,
.section-lead{
  max-width:100%;
  min-width:0;
}
.content-grid .visual,
.content-grid > *,
.service-detail-grid > *,
.services-intro-grid > *,
.section-heading-row > *,
.cta-grid > *{
  min-width:0;
}
.content-grid h2,
.service-detail h2{
  font-size:clamp(36px,3.8vw,52px);
  line-height:1.03;
  letter-spacing:-1.8px;
}
.inner-hero h1{
  font-size:clamp(48px,6vw,80px);
  line-height:.98;
  letter-spacing:-3px;
}
.section-heading-row{
  align-items:start;
}
.section-heading-row h2{
  max-width:760px;
}
.section-heading-row .section-lead{
  max-width:620px;
}
.content-block .visual img,
.content-block .visual picture,
.content-block .visual picture img{
  width:100%;
}
@media(max-width:850px){
  .inner-hero-inner,
  .content-grid,
  .service-detail-grid,
  .services-intro-grid,
  .two-column-bridge,
  .contact-grid,
  .about-section-grid,
  .about-hero-grid,
  .cta-grid{
    width:100%;
    grid-template-columns:1fr!important;
  }
  .inner-hero h1{
    font-size:clamp(44px,10vw,68px);
    letter-spacing:-2.2px;
  }
  .content-grid h2,
  .service-detail h2,
  .services-intro h2,
  .industry-list-section > .container > h2,
  .capability-overview h2{
    font-size:clamp(34px,8vw,48px);
    letter-spacing:-1.5px;
  }
  .section-heading-row{
    display:grid;
    grid-template-columns:1fr!important;
    gap:18px;
  }
  .section-heading-row h2{
    max-width:100%;
  }
  .section-lead{
    max-width:100%;
  }
  .visual,
  .visual img,
  .visual-placeholder{
    width:100%;
    min-width:0;
  }
}
@media(max-width:560px){
  .inner-hero h1{
    font-size:clamp(40px,11.5vw,54px);
    letter-spacing:-1.8px;
  }
  .content-grid h2,
  .service-detail h2,
  .services-intro h2,
  .industry-list-section > .container > h2,
  .capability-overview h2{
    font-size:clamp(31px,9.5vw,42px);
    line-height:1.05;
  }
  .section-heading-row h2,
  .home-section h2{
    font-size:clamp(32px,9.5vw,44px);
    line-height:1.04;
  }
}


/* =========================================================
   v4.53.5 — About hero final alignment
   Match the refined Home hero scale: controlled 760px desktop hero,
   wider heading measure to avoid premature wrapping, and compact copy.
   ========================================================= */
.about-page .about-hero-home-style{
  height:760px!important;
  min-height:760px!important;
  max-height:860px!important;
  background-position:center center!important;
}
.about-page .about-hero-home-style .about-hero-grid{
  min-height:760px!important;
  align-items:center!important;
}
.about-page .about-hero-home-style .about-hero-copy{
  max-width:860px!important;
  padding:92px 0 82px!important;
}
.about-page .about-hero-home-style h1{
  max-width:900px!important;
  font-size:clamp(56px,6.2vw,88px)!important;
  line-height:.93!important;
  letter-spacing:-3.6px!important;
  margin:18px 0 24px!important;
  text-wrap:balance!important;
}
.about-page .about-hero-home-style .hero-rich-copy{
  max-width:650px!important;
  font-size:16px!important;
  line-height:1.72!important;
}
@media(max-width:1200px){
  .about-page .about-hero-home-style h1{max-width:820px!important;font-size:clamp(54px,6.2vw,78px)!important}
  .about-page .about-hero-home-style .about-hero-copy{max-width:790px!important}
}
@media(max-width:850px){
  .about-page .about-hero-home-style{
    height:auto!important;
    min-height:620px!important;
    max-height:none!important;
    background-position:center center!important;
  }
  .about-page .about-hero-home-style .about-hero-grid{
    min-height:620px!important;
  }
  .about-page .about-hero-home-style .about-hero-copy{
    max-width:100%!important;
    padding:88px 0 62px!important;
  }
  .about-page .about-hero-home-style h1{
    max-width:760px!important;
    font-size:clamp(46px,10vw,68px)!important;
    line-height:.95!important;
    letter-spacing:-2.5px!important;
  }
  .about-page .about-hero-home-style .hero-rich-copy{
    max-width:620px!important;
    font-size:15px!important;
    line-height:1.7!important;
  }
}
@media(max-width:560px){
  .about-page .about-hero-home-style{min-height:600px!important}
  .about-page .about-hero-home-style .about-hero-grid{min-height:600px!important}
  .about-page .about-hero-home-style .about-hero-copy{padding:78px 0 50px!important}
  .about-page .about-hero-home-style h1{
    max-width:100%!important;
    font-size:clamp(40px,11.5vw,54px)!important;
    line-height:.96!important;
    letter-spacing:-2px!important;
  }
}

/* Consistent internal-page wrapping: headings use the available grid
   column before breaking, while never overflowing the viewport. */
.inner-hero h1,
.content-grid h2,
.service-detail h2,
.services-intro h2,
.industry-list-section > .container > h2,
.capability-overview h2,
.about-section-copy h2,
.cta-band h2,
.contact-section h2,
.contact-side h2,
.contact-bottom h2{
  max-width:min(100%, 900px)!important;
  min-width:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:balance!important;
}

/* =========================================================
   v4.53.6 — About hero final viewport fit
   Keep the About hero on the same visual rhythm as Home.
   No clipped CTA, no unnecessary 3-line heading on desktop.
   ========================================================= */
.about-page .about-hero-home-style{
  height:760px!important;
  min-height:760px!important;
  max-height:760px!important;
  overflow:hidden!important;
  background-position:center center!important;
}
.about-page .about-hero-home-style .about-hero-grid{
  height:100%!important;
  min-height:0!important;
  align-items:center!important;
}
.about-page .about-hero-home-style .about-hero-copy{
  max-width:980px!important;
  padding:0!important;
  margin:0!important;
}
.about-page .about-hero-home-style h1{
  max-width:980px!important;
  font-size:clamp(54px,5.35vw,78px)!important;
  line-height:.94!important;
  letter-spacing:-3px!important;
  margin:16px 0 24px!important;
  text-wrap:balance!important;
}
.about-page .about-hero-home-style .hero-rich-copy{
  max-width:650px!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.about-page .about-hero-home-style .hero-rich-copy p:last-child{margin-bottom:0!important}
.about-page .about-hero-home-style .btn{margin-top:14px!important}

@media (max-width:1200px) and (min-width:851px){
  .about-page .about-hero-home-style h1{
    max-width:900px!important;
    font-size:clamp(52px,5.4vw,72px)!important;
  }
}
@media (max-width:850px){
  .about-page .about-hero-home-style{
    height:auto!important;
    min-height:680px!important;
    max-height:none!important;
    overflow:hidden!important;
    background-position:center center!important;
  }
  .about-page .about-hero-home-style .about-hero-grid{
    height:auto!important;
    min-height:680px!important;
    align-items:flex-end!important;
  }
  .about-page .about-hero-home-style .about-hero-copy{
    max-width:100%!important;
    padding:100px 0 62px!important;
  }
  .about-page .about-hero-home-style h1{
    max-width:760px!important;
    font-size:clamp(46px,10vw,64px)!important;
    line-height:.95!important;
    letter-spacing:-2.4px!important;
  }
}
@media (max-width:560px){
  .about-page .about-hero-home-style{
    min-height:650px!important;
  }
  .about-page .about-hero-home-style .about-hero-grid{
    min-height:650px!important;
  }
  .about-page .about-hero-home-style .about-hero-copy{
    padding:86px 0 52px!important;
  }
  .about-page .about-hero-home-style h1{
    max-width:100%!important;
    font-size:clamp(42px,11.5vw,54px)!important;
    line-height:.96!important;
    letter-spacing:-2px!important;
  }
  .about-page .about-hero-home-style .hero-rich-copy{
    font-size:15px!important;
    line-height:1.7!important;
  }
}

/* =========================================================
   SHARPLINE ABOUT PAGE v4.53.7
   Image-free editorial layout. Keeps the Home page visual language
   while avoiding oversized/cropped About hero imagery.
   ========================================================= */
.about-v600{background:var(--black);overflow:hidden}
.about-v600-hero{position:relative;min-height:690px;display:flex;align-items:center;overflow:hidden;background:#060606;border-bottom:1px solid var(--line)}
.about-v600-hero:before{content:"";position:absolute;inset:0;background:
  linear-gradient(120deg,rgba(197,162,93,.08) 0%,transparent 34%),
  linear-gradient(155deg,transparent 42%,rgba(197,162,93,.09) 42.2%,rgba(197,162,93,.02) 58%,transparent 58.2%),
  radial-gradient(circle at 78% 42%,rgba(197,162,93,.10),transparent 32%);
  pointer-events:none}
.about-v600-hero-glow{position:absolute;width:520px;height:520px;right:-150px;top:80px;border:1px solid rgba(197,162,93,.22);transform:rotate(-27deg);box-shadow:0 0 100px rgba(197,162,93,.04);opacity:.75}
.about-v600-hero-line{position:absolute;height:1px;background:rgba(197,162,93,.30);transform-origin:left center;pointer-events:none}
.about-v600-hero-line-a{width:72vw;left:-7vw;top:72%;transform:rotate(-17deg)}
.about-v600-hero-line-b{width:58vw;right:-14vw;top:35%;transform:rotate(-28deg);opacity:.5}
.about-v600-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:70px;align-items:center;padding:92px 0 82px}
.about-v600-hero-copy{max-width:820px}
.about-v600-hero-copy h1{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(58px,6.1vw,88px);line-height:.94;letter-spacing:-3.5px;margin:18px 0 28px;max-width:780px}
.about-v600-hero-text{max-width:700px;color:#bdbdbd;font-size:16px;line-height:1.7}
.about-v600-hero-text p{margin:0 0 18px}
.about-v600-hero-text p:last-child{margin-bottom:0}
.about-v600-hero-copy .btn{margin-top:30px}
.about-v600-hero-mark{align-self:center;border-left:1px solid rgba(197,162,93,.35);padding:20px 0 20px 28px;color:#666}
.about-v600-hero-mark span{display:block;color:var(--gold2);font-size:9px;letter-spacing:2px;font-weight:800;margin-bottom:10px}
.about-v600-hero-mark strong{display:block;color:rgba(197,162,93,.30);font-size:112px;line-height:.8;letter-spacing:-6px}
.about-v600-hero-mark i{display:block;width:72px;height:1px;background:var(--gold);margin:28px 0 20px}
.about-v600-hero-mark small{font-size:8px;line-height:1.8;letter-spacing:1.4px;color:#666}

.about-v600-section{padding:105px 0;border-bottom:1px solid var(--line);position:relative}
.about-v600-section-dark{background:#070707}
.about-v600-section-alt{background:#0b0b0b}
.about-v600-split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:72px;align-items:start}
.about-v600-label{display:flex;flex-direction:column;gap:24px;position:relative;padding-top:7px}
.about-v600-label b{font-size:76px;line-height:1;color:rgba(197,162,93,.22);font-weight:800;letter-spacing:-4px}
.about-v600-content{max-width:850px}
.about-v600-content h2,.about-v600-section-head h2{font-size:clamp(42px,4.1vw,62px);line-height:1.02;letter-spacing:-2px;margin:0 0 26px;font-weight:800}
.about-v600-copy{max-width:760px;color:#a9a9a9;font-size:16px;line-height:1.8}
.about-v600-copy p{margin:0 0 22px}
.about-v600-copy p:last-child{margin-bottom:0}
.about-v600-founder-line{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.about-v600-founder-line span{font-size:8px;letter-spacing:1.8px;color:#666;font-weight:800}
.about-v600-founder-line strong{font-size:11px;letter-spacing:1.3px;color:#ddd}

.about-v600-capability{background:#0a0a0a}
.about-v600-philosophy{background:#080808}
.about-v600-section-head{display:grid;grid-template-columns:260px minmax(0,1fr);gap:72px;align-items:start}
.about-v600-section-head>div:last-child{max-width:850px}
.about-v600-section-head>div:last-child>p{max-width:760px;color:#a9a9a9;font-size:16px;line-height:1.8;margin:0 0 20px}
.about-v600-section-head>div:last-child>p:last-child{margin-bottom:0}
.about-v600-detail-grid{margin:55px 0 32px;border-top:1px solid var(--line)}
.about-v600-detail-row{display:grid;grid-template-columns:46px 230px minmax(0,1fr);gap:22px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line)}
.about-v600-detail-row>span{font-size:9px;color:var(--gold2);letter-spacing:1.2px;font-weight:800;padding-top:4px}
.about-v600-detail-row strong{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#eee;padding-top:2px}
.about-v600-detail-row p{margin:0;color:#909090;font-size:13px;line-height:1.7}
.about-v600-proof{background:#101010}
.about-v600-vision{background:#0b0b0b}
.about-v600-vision .btn{margin-top:30px}
.about-v600-cta{background:#111;border-top:0}
.about-v600-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(197,162,93,.055),transparent 48%);pointer-events:none}
.about-v600-cta .container{position:relative;z-index:1}

@media(max-width:900px){
  .about-v600-hero{min-height:610px}
  .about-v600-hero-inner{grid-template-columns:1fr;gap:35px;padding:82px 0 70px}
  .about-v600-hero-copy{max-width:100%}
  .about-v600-hero-copy h1{font-size:clamp(50px,9vw,70px);letter-spacing:-2.8px}
  .about-v600-hero-mark{display:none}
  .about-v600-split,.about-v600-section-head{grid-template-columns:1fr;gap:30px}
  .about-v600-label{flex-direction:row;align-items:center;justify-content:space-between;padding:0}
  .about-v600-label b{font-size:54px;letter-spacing:-3px}
  .about-v600-section{padding:78px 0}
  .about-v600-detail-row{grid-template-columns:120px minmax(0,1fr);gap:28px}
}
@media(max-width:560px){
  .about-v600-hero{min-height:0}
  .about-v600-hero-inner{padding:78px 0 62px}
  .about-v600-hero-copy h1{font-size:clamp(44px,12vw,58px);line-height:.96;letter-spacing:-2.2px;margin:16px 0 22px}
  .about-v600-hero-text{font-size:15px;line-height:1.7}
  .about-v600-hero-copy .btn{margin-top:25px}
  .about-v600-section{padding:64px 0}
  .about-v600-label{gap:15px}
  .about-v600-label .eyebrow{font-size:9px;letter-spacing:1.5px}
  .about-v600-label b{font-size:46px}
  .about-v600-content h2,.about-v600-section-head h2{font-size:36px;line-height:1.06;letter-spacing:-1.5px}
  .about-v600-copy,.about-v600-section-head>div:last-child>p{font-size:14px;line-height:1.75}
  .about-v600-detail-grid{margin-top:40px}
  .about-v600-detail-row{grid-template-columns:105px minmax(0,1fr);gap:20px;padding:18px 0}
  .about-v600-detail-row p{grid-column:auto;font-size:13px;margin-top:0}
  .about-v600-founder-line{gap:10px;align-items:flex-start;flex-direction:column}
  .about-v600-cta .cta-grid{gap:30px}
}

/* v4.53.8 — About approved imagery + no section numbering */
.about-v600-hero{
  min-height:620px!important;
  background:#060606!important;
}
.about-v600-hero.has-about-hero-image{
  background-image:
    linear-gradient(90deg,rgba(4,4,4,.94) 0%,rgba(4,4,4,.78) 42%,rgba(4,4,4,.28) 74%,rgba(4,4,4,.10) 100%),
    var(--about-hero-image)!important;
  background-size:cover!important;
  background-position:center center!important;
}
.about-v600-hero-inner{
  grid-template-columns:minmax(0,1fr)!important;
  padding:76px 0 72px!important;
}
.about-v600-hero-copy{max-width:860px!important}
.about-v600-hero-copy h1{
  font-size:clamp(52px,5.5vw,78px)!important;
  line-height:.98!important;
  max-width:820px!important;
  margin:16px 0 24px!important;
}
.about-v600-hero-text{max-width:720px!important}
.about-v600-hero-mark{display:none!important}
.about-v600-label b,.about-v600-detail-row>span{display:none!important}
.about-v600-label{gap:0!important}

.about-v600-founder-split{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:72px!important;
  align-items:center!important;
}
.about-v600-founder-image{width:100%!important;min-width:0!important}
.about-v600-founder-image:empty{display:none!important}
.about-v600-founder-image .about-founder-photo{
  display:block!important;
  width:100%!important;
  height:clamp(390px,36vw,520px)!important;
  object-fit:cover!important;
  object-position:center!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
.about-v600-founder-split .about-v600-content{max-width:650px!important}

@media(max-width:850px){
  .about-v600-hero{min-height:610px!important}
  .about-v600-hero.has-about-hero-image{
    background-position:58% center!important;
    background-image:
      linear-gradient(90deg,rgba(4,4,4,.92) 0%,rgba(4,4,4,.70) 65%,rgba(4,4,4,.38) 100%),
      var(--about-hero-image)!important;
  }
  .about-v600-hero-inner{padding:68px 0 64px!important}
  .about-v600-hero-copy h1{font-size:clamp(42px,10vw,58px)!important;max-width:100%!important}
  .about-v600-founder-split{grid-template-columns:1fr!important;gap:36px!important}
  .about-v600-founder-image{order:1!important}
  .about-v600-founder-split .about-v600-content{order:2!important;max-width:none!important}
  .about-v600-founder-image .about-founder-photo{height:auto!important;aspect-ratio:16/10!important}
}


/* v4.54.0 — About page cleaner editorial sections: remove redundant micro-headings and add section dividers */
.about-v600-hero-copy>.eyebrow,
.about-v600 .about-v600-label,
.about-v600-founder-split .about-v600-content>.eyebrow,
.about-v600-cta .eyebrow{display:none!important}
.about-v600-split,
.about-v600-section-head{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.about-v600-content,
.about-v600-section-head>div:last-child{max-width:980px!important}
.about-v600-copy,
.about-v600-section-head>div:last-child>p{max-width:820px!important}
.about-v600-section{
  border-top:1px solid rgba(255,255,255,.12)!important;
  border-bottom:0!important;
}
.about-v600-section:first-of-type{border-top-color:rgba(255,255,255,.16)!important}
.about-v600-section:not(.about-v600-cta)::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:min(34vw,420px);
  height:1px;
  background:rgba(197,162,93,.72);
  pointer-events:none;
}
.about-v600-section-head{margin-bottom:0!important}
.about-v600-detail-grid{margin-top:58px!important}
.about-v600-founder-split .about-v600-content{max-width:760px!important}
.about-v600-founder-line{max-width:760px}
.about-v600-hero{border-bottom:1px solid rgba(255,255,255,.12)!important}
@media(max-width:850px){
  .about-v600-section:not(.about-v600-cta)::before{width:42vw}
  .about-v600-section{padding:72px 0}
  .about-v600-detail-grid{margin-top:42px!important}
}


/* v4.54.1 — About hero composition + stable image handling */
.about-v600-hero.has-about-hero-image{
  background-image:
    linear-gradient(90deg,rgba(4,4,4,.90) 0%,rgba(4,4,4,.68) 48%,rgba(4,4,4,.28) 78%,rgba(4,4,4,.10) 100%),
    var(--about-hero-image)!important;
  background-size:cover!important;
  background-position:center center!important;
}
.about-v600-hero-inner{width:min(var(--sp-max),calc(100% - 64px))!important;}
.about-v600-hero-copy{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
  column-gap:clamp(48px,7vw,110px)!important;
  align-items:center!important;
}
.about-v600-hero-copy h1{
  grid-column:1!important;
  max-width:none!important;
  margin:0!important;
  font-size:clamp(58px,6vw,86px)!important;
  line-height:.95!important;
  letter-spacing:-3.8px!important;
}
.about-v600-hero-text{
  grid-column:2!important;
  max-width:650px!important;
  color:#d0d0d0!important;
  font-size:16px!important;
  line-height:1.75!important;
}
.about-v600-hero-copy .btn{
  grid-column:2!important;
  justify-self:start!important;
  margin-top:22px!important;
}
@media(max-width:850px){
  .about-v600-hero-inner{width:calc(100% - 36px)!important;}
  .about-v600-hero-copy{display:block!important;}
  .about-v600-hero-copy h1{font-size:clamp(46px,10vw,66px)!important;letter-spacing:-2.8px!important;margin:0 0 24px!important;}
  .about-v600-hero-text{max-width:680px!important;}
  .about-v600-hero-copy .btn{margin-top:25px!important;}
}


/* v4.54.2 critical About layout */
.about-v600-hero-inner{grid-template-columns:1fr!important;}
.about-v600-hero-copy{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)!important;column-gap:clamp(50px,7vw,110px)!important;align-items:center!important;max-width:none!important;width:100%!important;}
.about-v600-hero-copy h1{grid-column:1!important;max-width:760px!important;margin:0!important;font-size:clamp(58px,6vw,86px)!important;line-height:.95!important;letter-spacing:-3.8px!important;}
.about-v600-hero-text{grid-column:2!important;max-width:650px!important;font-size:16px!important;line-height:1.75!important;}
.about-v600-hero-copy .btn{grid-column:2!important;justify-self:start!important;margin-top:22px!important;}
.about-v600-detail-row{grid-template-columns:180px minmax(0,1fr)!important;column-gap:40px!important;}
.about-v600-detail-row strong{white-space:nowrap!important;}
@media(max-width:850px){
.about-v600-hero-copy{display:block!important;}
.about-v600-hero-copy h1{font-size:clamp(46px,10vw,66px)!important;letter-spacing:-2.8px!important;margin:0 0 24px!important;}
.about-v600-hero-text{max-width:680px!important;}
.about-v600-hero-copy .btn{margin-top:25px!important;}
.about-v600-detail-row{grid-template-columns:130px minmax(0,1fr)!important;column-gap:24px!important;}
.about-v600-detail-row strong{white-space:normal!important;}
}

/* v4.54.3 — About editorial alignment + capability row columns */
.about-v600-hero-inner{
  display:block!important;
  padding:92px 0 88px!important;
}
.about-v600-hero-copy{
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(430px,1.02fr) minmax(420px,.98fr)!important;
  column-gap:86px!important;
  align-items:end!important;
}
.about-v600-hero-copy h1{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  max-width:none!important;
  width:max-content!important;
  font-size:clamp(60px,5.6vw,82px)!important;
  line-height:.96!important;
  letter-spacing:-3.2px!important;
  margin:0!important;
}
.about-v600-hero-text{
  grid-column:2!important;
  grid-row:1!important;
  max-width:650px!important;
  align-self:center!important;
  font-size:16px!important;
  line-height:1.72!important;
}
.about-v600-hero-copy .btn{
  grid-column:2!important;
  grid-row:2!important;
  justify-self:start!important;
  margin-top:30px!important;
}
.about-v600-detail-row{
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:42px!important;
  align-items:start!important;
  padding:23px 0!important;
}
.about-v600-detail-row strong{
  display:block!important;
  min-width:0!important;
  white-space:normal!important;
  font-size:11px!important;
  line-height:1.35!important;
  padding-top:2px!important;
}
.about-v600-detail-row p{
  min-width:0!important;
  margin:0!important;
}

@media(max-width:900px){
  .about-v600-hero-inner{padding:78px 0 70px!important}
  .about-v600-hero-copy{
    display:grid!important;
    grid-template-columns:1fr!important;
    row-gap:24px!important;
  }
  .about-v600-hero-copy h1{
    grid-column:1!important;
    grid-row:auto!important;
    width:auto!important;
    max-width:760px!important;
    font-size:clamp(52px,9vw,72px)!important;
  }
  .about-v600-hero-text{
    grid-column:1!important;
    grid-row:auto!important;
    max-width:720px!important;
  }
  .about-v600-hero-copy .btn{
    grid-column:1!important;
    grid-row:auto!important;
    margin-top:2px!important;
  }
  .about-v600-detail-row{
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:24px!important;
  }
}
@media(max-width:560px){
  .about-v600-hero-inner{padding:64px 0 58px!important}
  .about-v600-hero-copy h1{font-size:clamp(46px,12vw,60px)!important;letter-spacing:-2.2px!important}
  .about-v600-detail-row{grid-template-columns:1fr!important;gap:7px!important;padding:18px 0!important}
}


/* ======================================================================
   v4.57.0 — FULL SITE RESPONSIVE HARDENING
   One responsive system for Home / About / Services / Industries /
   Capabilities / Why Sharpline / Contact.
   Content must grow, wrap naturally and never create horizontal overflow.
   ====================================================================== */

html,body{max-width:100%;overflow-x:hidden!important}
body{min-width:0!important}
*,*:before,*:after{min-width:0}
.container{max-width:var(--sp-container,var(--container))!important}

/* Buttons: never let long labels force a layout wider than the viewport. */
.btn,
button.btn,
a.btn{max-width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;text-align:center!important;line-height:1.25!important}
.hero-actions,.cta-actions,.section-cta-row{max-width:100%;flex-wrap:wrap!important}

/* Headings: balanced where possible, but never force overflow. */
h1,h2,h3,h4,h5,h6{max-width:100%;overflow-wrap:normal;word-break:normal}
p,li,a,span,small,label{max-width:100%;overflow-wrap:anywhere}

/* ----------------------------- HEADER ----------------------------- */
@media(max-width:980px){
  .site-header{height:72px!important}
  .site-header + main,
  body.admin-bar .site-header + main{padding-top:72px!important}
  .header-inner{height:72px!important;gap:16px!important}
  .brand,.brand .sharpline-logo{width:178px!important;height:58px!important}
  .menu-toggle{display:block!important;margin-left:auto!important;flex:0 0 auto!important;padding:7px!important;cursor:pointer}
  .primary-nav{display:none!important;position:absolute!important;left:0!important;right:0!important;top:72px!important;width:100%!important;background:#070707!important;border-bottom:1px solid var(--line)!important;padding:14px var(--sp-gutter,20px)!important}
  .primary-nav.open{display:block!important}
  .main-nav{display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important}
  .main-nav li{width:100%!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
  .main-nav a{display:block!important;width:100%!important;padding:14px 2px!important;font-size:10px!important}
  .header-action{display:none!important}
  .primary-nav .mobile-enquire a{margin-top:12px!important;padding:15px 18px!important;background:var(--gold2)!important;color:#080808!important;text-align:center!important;font-weight:800!important}
}

/* ----------------------------- GLOBAL TABLET ----------------------------- */
@media(max-width:980px){
  .home-hero{min-height:0!important}
  .hero-inner{display:grid!important;grid-template-columns:1fr!important;gap:35px!important;align-items:center!important}
  .hero-stamp{display:none!important}
  .gold-grid,.cta-grid,.content-grid,.contact-grid{grid-template-columns:1fr!important;gap:38px!important}
  .content-grid{align-items:start!important}
  .content-grid>div{max-width:100%!important}
  .inner-hero-inner{grid-template-columns:1fr!important;gap:30px!important}
  .inner-hero{min-height:0!important}
  .page-no{display:none!important}
  .industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .trust-grid,.cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .service-grid{grid-template-columns:1fr!important}
  .service-card:nth-child(odd){border-right:0!important}
  .footer-main{grid-template-columns:1fr 1fr!important}
  .contact-side{border-left:0!important;padding-left:0!important;border-top:1px solid var(--line)!important;padding-top:38px!important}
  .enquiry-form{grid-template-columns:1fr 1fr!important}
  .visual img,.visual-placeholder{height:auto!important;aspect-ratio:16/10!important;min-height:0!important}
}

/* ----------------------------- ABOUT ----------------------------- */
.about-v600 .about-v600-hero-eyebrow{grid-column:1!important;grid-row:1!important;align-self:end!important;margin:0 0 18px!important}
.about-v600 .about-v600-hero-copy h1{grid-row:2!important}
.about-v600 .about-v600-hero-text{grid-row:2!important}
.about-v600 .about-v600-hero-copy .btn{grid-row:3!important}
.about-v600 .about-v600-section-head{min-width:0!important}
.about-v600 .about-v600-content{min-width:0!important}
.about-v600 .about-v600-copy,.about-v600 .about-v600-copy p{max-width:100%!important}

@media(max-width:980px){
  .about-v600 .about-v600-hero-inner{width:calc(100% - 40px)!important;padding:78px 0 70px!important}
  .about-v600 .about-v600-hero-copy{display:grid!important;grid-template-columns:1fr!important;row-gap:22px!important}
  .about-v600 .about-v600-hero-eyebrow,
  .about-v600 .about-v600-hero-copy h1,
  .about-v600 .about-v600-hero-text,
  .about-v600 .about-v600-hero-copy .btn{grid-column:1!important;grid-row:auto!important}
  .about-v600 .about-v600-hero-copy h1{font-size:clamp(52px,9vw,72px)!important;max-width:760px!important;margin:0!important}
  .about-v600 .about-v600-hero-text{max-width:720px!important}
  .about-v600 .about-v600-founder-split{grid-template-columns:1fr!important;gap:36px!important}
  .about-v600 .about-v600-founder-image{order:1!important}
  .about-v600 .about-v600-founder-split .about-v600-content{order:2!important;max-width:100%!important}
  .about-v600 .about-v600-detail-row{grid-template-columns:150px minmax(0,1fr)!important;gap:24px!important}
}

/* ----------------------------- SERVICES ----------------------------- */
@media(max-width:980px){
  .services-v456 .services-v456-hero{min-height:0!important}
  .services-v456 .services-v456-hero-inner{grid-template-columns:1fr!important;gap:32px!important;width:calc(100% - 40px)!important;padding:78px 0 70px!important}
  .services-v456 .services-v456-hero h1{font-size:clamp(50px,9vw,72px)!important;max-width:780px!important}
  .services-v456 .services-v456-hero-copy{max-width:720px!important}
  .services-v456 .services-v456-intro-grid,
  .services-v456 .services-v456-detail-grid,
  .services-v456 .services-v456-bridge-grid{grid-template-columns:1fr!important;gap:34px!important}
  .services-v456 .services-v456-section{padding:78px 0!important}
  .services-v456 .services-v456-detail-grid{align-items:start!important}
  .services-v456 .services-v456-point{grid-template-columns:160px minmax(0,1fr)!important;gap:24px!important}
  .services-v456 .services-v456-related-links a{grid-template-columns:minmax(0,1fr) 28px!important;gap:8px!important}
  .services-v456 .services-v456-related-links span{grid-column:1!important}
  .services-v456 .services-v456-related-links b{grid-column:2!important;grid-row:1 / span 2!important}
  .services-v456 .services-v456-cta{padding:78px 0!important}
}

/* ----------------------------- ALL INTERNAL PAGES ----------------------------- */
@media(max-width:980px){
  .content-block,.service-detail,.contact-section,.services-intro,.industry-list-section,.capability-overview{padding-top:72px!important;padding-bottom:72px!important}
  .content-grid{gap:34px!important}
  .content-grid h2{font-size:clamp(38px,8vw,56px)!important;line-height:1.04!important}
  .rich-copy{font-size:15px!important;line-height:1.78!important}
  .service-detail-grid{grid-template-columns:1fr!important;gap:34px!important}
  .service-detail h2{font-size:clamp(36px,8vw,52px)!important}
  .testimonial-grid{grid-template-columns:1fr!important}
  .section-heading-row{grid-template-columns:1fr!important;gap:22px!important}
  .industry-page-grid-modern{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ----------------------------- CONTACT / FORMS ----------------------------- */
@media(max-width:980px){
  .contact-grid{grid-template-columns:1fr!important;gap:42px!important}
  .enquiry-form{grid-template-columns:1fr 1fr!important}
  .enquiry-form .btn,.contact-section .btn{max-width:100%!important}
  .map-preview{width:100%!important;max-width:100%!important;overflow:hidden!important}
}

/* ----------------------------- MOBILE ----------------------------- */
@media(max-width:700px){
  :root{--sp-gutter:16px}
  .container,.site-header .container{width:calc(100% - 32px)!important}
  .site-header .header-inner{width:calc(100% - 32px)!important}
  .brand,.brand .sharpline-logo{width:168px!important}

  .hero-inner{padding:68px 0 58px!important}
  .hero-copy h1{font-size:clamp(42px,12vw,60px)!important;letter-spacing:-2.3px!important;line-height:.96!important}
  .hero-copy p{font-size:14px!important;line-height:1.75!important}
  .hero-actions{flex-direction:column!important;align-items:stretch!important;width:100%!important}
  .hero-actions .btn{width:100%!important}

  .home-section,.content-block,.service-detail,.services-intro,.industry-list-section,.capability-overview,.contact-section{padding-top:64px!important;padding-bottom:64px!important}
  .home-section h2,.services-intro h2,.industry-page-grid h2,.capability-overview h2{font-size:clamp(34px,10vw,48px)!important;line-height:1.03!important}
  .section-lead{font-size:14px!important;line-height:1.75!important;margin-bottom:34px!important}

  .service-grid,.industry-grid,.trust-grid,.cap-grid,.industry-page-grid-modern{grid-template-columns:1fr!important}
  .service-card,.industry-card,.trust-card,.cap-card,.editorial-card,.editorial-trust-card,.editorial-cap-card{min-height:0!important}
  .service-card{display:block!important;padding:0!important}
  .service-card .editorial-card-body{padding:22px 18px 26px!important;min-height:0!important}
  .service-card h3,.industry-card h3,.trust-card h3,.cap-card h3{font-size:19px!important}
  .industry-card,.trust-card,.cap-card{padding:22px!important}

  .cta-grid{gap:28px!important}
  .cta-band,.home-business-cta,.contact-bottom{padding:64px 0!important}
  .cta-band h2,.home-business-cta h2,.contact-bottom h2{font-size:clamp(38px,10.5vw,52px)!important;line-height:1.02!important}
  .cta-band p{font-size:14px!important;line-height:1.75!important}

  .inner-hero{padding:64px 0!important}
  .inner-hero h1{font-size:clamp(40px,11vw,56px)!important;letter-spacing:-2.2px!important}
  .inner-hero p{font-size:14px!important;line-height:1.75!important}
  .inner-hero .btn,.mini-cta .btn,.contact-bottom .btn{width:100%!important}

  .about-v600 .about-v600-hero-inner{width:calc(100% - 32px)!important;padding:64px 0 58px!important}
  .about-v600 .about-v600-hero-copy h1{font-size:clamp(44px,12vw,60px)!important;letter-spacing:-2.2px!important;line-height:.96!important}
  .about-v600 .about-v600-hero-text{font-size:15px!important;line-height:1.75!important}
  .about-v600 .about-v600-section{padding:64px 0!important}
  .about-v600 .about-v600-detail-row{grid-template-columns:1fr!important;gap:7px!important;padding:18px 0!important}
  .about-v600 .about-v600-detail-row strong,.about-v600 .about-v600-detail-row p{grid-column:1!important;grid-row:auto!important}
  .about-v600 .about-v600-founder-image .about-founder-photo{height:auto!important;aspect-ratio:16/10!important}
  .about-v600 .about-v600-cta .cta-grid{gap:28px!important}
  .about-v600 .about-v600-hero-copy .btn,.about-v600 .about-v600-cta .btn{width:100%!important}

  .services-v456 .services-v456-hero-inner{width:calc(100% - 32px)!important;padding:64px 0 58px!important}
  .services-v456 .services-v456-hero h1{font-size:clamp(44px,12vw,60px)!important;letter-spacing:-2.3px!important}
  .services-v456 .services-v456-section{padding:64px 0!important}
  .services-v456 .services-v456-section h2{font-size:clamp(34px,10vw,48px)!important;line-height:1.04!important}
  .services-v456 .services-v456-copy{font-size:15px!important;line-height:1.75!important}
  .services-v456 .services-v456-point{grid-template-columns:1fr!important;gap:7px!important;padding:17px 0!important}
  .services-v456 .services-v456-detail .btn,.services-v456 .services-v456-bridge .btn,.services-v456 .services-v456-cta .btn{width:100%!important}
  .services-v456 .services-v456-cta .cta-actions{flex-direction:column!important;align-items:stretch!important}
  .services-v456 .services-v456-cta .cta-actions .btn{width:100%!important}
  .services-v456 .services-v456-related-links a{grid-template-columns:minmax(0,1fr) 24px!important;padding:19px 0!important}

  .contact-grid{gap:34px!important}
  .enquiry-form{grid-template-columns:1fr!important;gap:14px!important}
  .field.full,.enquiry-form .full{grid-column:1!important}
  .enquiry-form .btn{width:100%!important}
  .contact-side{padding-top:30px!important}
  .direct-link{grid-template-columns:58px minmax(0,1fr) 18px!important}
  .footer-main{grid-template-columns:1fr!important;gap:30px!important;padding:58px 0!important}
  .footer-brand .sharpline-logo{width:190px!important;height:auto!important}
  .footer-bottom .container{display:block!important}

  .floating-actions{right:12px!important;bottom:12px!important;gap:8px!important}
  .floating-actions a{width:48px!important;height:48px!important}
}

@media(max-width:420px){
  .container,.site-header .container{width:calc(100% - 28px)!important}
  .site-header .header-inner{width:calc(100% - 28px)!important}
  .brand,.brand .sharpline-logo{width:154px!important}
  .eyebrow{font-size:9px!important;letter-spacing:1.7px!important}
  .btn{font-size:9px!important;letter-spacing:.9px!important;padding-left:16px!important;padding-right:16px!important}
  .hero-copy h1,.about-v600 .about-v600-hero-copy h1,.services-v456 .services-v456-hero h1{font-size:clamp(40px,12.5vw,52px)!important}
  .home-section,.content-block,.service-detail,.services-intro,.industry-list-section,.capability-overview,.contact-section,.about-v600 .about-v600-section,.services-v456 .services-v456-section{padding-top:56px!important;padding-bottom:56px!important}
}

/* v4.68 — Services precision sections alignment */
.services-v462 .services-v462-intro-grid{
  display:block !important;
  width:100% !important;
  max-width:1180px !important;
}
.services-v462 .services-v462-intro-content{
  width:100% !important;
  max-width:1120px !important;
}
.services-v462 .services-v462-intro-content > .eyebrow{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
}
.services-v462 .services-v462-intro-content > h2{
  display:block !important;
  width:100% !important;
  max-width:1120px !important;
  margin:18px 0 0 !important;
}
.services-v462 .services-v462-intro-content > .services-v462-copy{
  display:block !important;
  width:100% !important;
  max-width:1040px !important;
  margin:30px 0 0 !important;
  padding:0 !important;
  font-size:17px !important;
  line-height:1.9 !important;
}
.services-v462 .services-v462-intro-content > .services-v462-copy p{
  margin:0 0 22px !important;
}
.services-v462 .services-v462-intro-content > .services-v462-copy p:last-child{
  margin-bottom:0 !important;
}

.services-v462 .services-v462-bridge-grid{
  display:block !important;
  width:100% !important;
  max-width:1180px !important;
}
.services-v462 .services-v462-bridge-content{
  width:100% !important;
  max-width:1180px !important;
}
.services-v462 .services-v462-bridge-content > .eyebrow{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 0 18px !important;
}
.services-v462 .services-v462-bridge-content h2{
  display:block !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 !important;
  font-size:clamp(42px,4.1vw,58px) !important;
  line-height:1.02 !important;
  letter-spacing:-2.5px !important;
}
.services-v462 .services-v462-bridge-line{
  display:block !important;
}
.services-v462 .services-v462-bridge-content > .services-v462-copy{
  width:100% !important;
  max-width:1120px !important;
  margin:26px 0 0 !important;
  font-size:17px !important;
  line-height:1.82 !important;
}
.services-v462 .services-v462-bridge-content > .btn{
  margin-top:26px !important;
}

@media(min-width:1101px){
  .services-v462 .services-v462-bridge-line{white-space:nowrap !important}
}
@media(max-width:900px){
  .services-v462 .services-v462-intro-content > .services-v462-copy{margin-top:26px !important}
  .services-v462 .services-v462-bridge-content h2{font-size:clamp(42px,7vw,60px) !important;letter-spacing:-2.2px !important}
  .services-v462 .services-v462-bridge-content > .services-v462-copy{font-size:16px !important;line-height:1.8 !important}
}
@media(max-width:560px){
  .services-v462 .services-v462-intro-content > .services-v462-copy{font-size:15px !important;line-height:1.78 !important;margin-top:22px !important}
  .services-v462 .services-v462-bridge-content h2{font-size:clamp(36px,10vw,50px) !important;letter-spacing:-1.8px !important}
  .services-v462 .services-v462-bridge-content > .services-v462-copy{font-size:15px !important;line-height:1.75 !important;margin-top:20px !important}
}


/* SHARPLINE v4.73 — Industries editorial alignment
   Matches the approved Services/About content rhythm:
   one global container, controlled heading wraps, deliberate media,
   no oversized proof imagery, and clean mobile stacking. */
.industries-page{
  overflow:hidden;
}
.industries-page .container{
  width:min(var(--container),92%);
  margin-inline:auto;
}
.industries-hero{
  position:relative;
  min-height:560px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:#050505;
}
.industries-hero-media{
  position:absolute;
  inset:0;
  background-image:var(--industries-hero-image);
  background-size:cover;
  background-position:center;
  opacity:.92;
}
.industries-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,5,5,.97) 0%,rgba(5,5,5,.88) 34%,rgba(5,5,5,.48) 63%,rgba(5,5,5,.35) 100%),
    linear-gradient(180deg,rgba(5,5,5,.12),rgba(5,5,5,.72));
}
.industries-hero-inner{
  position:relative;
  z-index:2;
  padding:92px 0;
}
.industries-hero-copy{
  max-width:760px;
}
.industries-hero .eyebrow{
  margin-bottom:20px;
}
.industries-hero h1{
  max-width:760px;
  margin:0 0 22px;
  font-size:clamp(48px,5.3vw,72px);
  line-height:.99;
  letter-spacing:-2.8px;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}
.industries-hero-text{
  max-width:720px;
  margin:0 0 28px;
  color:#bfc1c3;
  font-size:17px;
  line-height:1.72;
}
.industries-section{
  border-bottom:1px solid var(--line);
}
.industries-priority{
  padding:92px 0 100px;
}
.industries-section-intro{
  max-width:1080px;
  margin-bottom:48px;
}
.industries-section-intro .eyebrow{
  margin-bottom:18px;
}
.industries-section-intro h2,
.industries-support h2,
.industries-proof h2,
.industries-cta h2{
  margin:0 0 20px;
  font-size:clamp(42px,4.1vw,60px);
  line-height:1.02;
  letter-spacing:-2.2px;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}
.industries-section-intro .section-lead{
  max-width:900px;
  color:#aeb0b2;
  font-size:17px;
  line-height:1.75;
}
.industries-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
}
.industries-card{
  min-width:0;
  padding:28px 34px 30px 0;
  border-bottom:1px solid var(--line);
}
.industries-card:nth-child(even){
  padding-left:34px;
  border-left:1px solid var(--line);
}
.industries-card-top{
  display:flex;
  align-items:flex-start;
  gap:20px;
}
.industries-card-index{
  flex:0 0 auto;
  color:var(--gold2);
  font:700 11px/1.2 Montserrat,Arial,sans-serif;
  letter-spacing:1.4px;
  padding-top:4px;
}
.industries-card h3{
  margin:0;
  font-size:20px;
  line-height:1.2;
  letter-spacing:-.25px;
}
.industries-card p{
  max-width:620px;
  margin:14px 0 0 38px;
  color:#9fa2a4;
  font-size:15px;
  line-height:1.65;
}
.industries-support{
  padding:100px 0;
}
.industries-support-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
  gap:72px;
  align-items:center;
}
.industries-copy{
  max-width:650px;
}
.industries-copy .eyebrow{
  margin-bottom:18px;
}
.industries-copy .rich-copy{
  max-width:680px;
  color:#aeb0b2;
  font-size:16px;
  line-height:1.75;
  margin-bottom:28px;
}
.industries-visual{
  width:100%;
}
.industries-visual img{
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  border:1px solid rgba(197,162,93,.24);
}
.industries-proof{
  padding:92px 0 100px;
}
.industries-proof-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);
  gap:72px;
  align-items:start;
}
.industries-proof-copy{
  max-width:760px;
}
.industries-proof-copy .rich-copy{
  color:#aeb0b2;
  font-size:16px;
  line-height:1.75;
  margin-bottom:28px;
}
.industries-proof-image img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border:1px solid rgba(197,162,93,.24);
}
.industries-cta{
  padding:92px 0 100px;
  background:#B97808;
  color:#050505;
}
.industries-cta-inner{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:60px;
}
.industries-cta .eyebrow{
  color:#050505;
  opacity:.72;
  margin-bottom:16px;
}
.industries-cta h2{
  max-width:760px;
  color:#050505;
  margin-bottom:14px;
}
.industries-cta .rich-copy{
  max-width:760px;
  color:rgba(5,5,5,.72);
  font-size:16px;
  line-height:1.7;
}
.industries-cta .btn{
  flex:0 0 auto;
  background:#050505;
  color:#fff;
  border-color:#050505;
}
.industries-cta .btn:hover,
.industries-cta .btn:focus-visible{
  background:#050505;
  color:#fff;
  border-color:#050505;
  transform:translateY(-1px);
}

@media (max-width:850px){
  .industries-hero{
    min-height:520px;
  }
  .industries-hero-inner{
    padding:78px 0 70px;
  }
  .industries-hero-overlay{
    background:
      linear-gradient(90deg,rgba(5,5,5,.95),rgba(5,5,5,.72)),
      linear-gradient(180deg,rgba(5,5,5,.2),rgba(5,5,5,.82));
  }
  .industries-hero-copy,
  .industries-hero h1,
  .industries-hero-text{
    max-width:100%;
  }
  .industries-hero h1{
    font-size:clamp(40px,10vw,56px);
    letter-spacing:-2px;
    line-height:1;
  }
  .industries-hero-text{
    font-size:15px;
    line-height:1.7;
  }
  .industries-priority,
  .industries-support,
  .industries-proof{
    padding:70px 0;
  }
  .industries-section-intro{
    margin-bottom:34px;
  }
  .industries-section-intro h2,
  .industries-support h2,
  .industries-proof h2,
  .industries-cta h2{
    font-size:clamp(34px,8.4vw,48px);
    letter-spacing:-1.6px;
    line-height:1.03;
  }
  .industries-section-intro .section-lead,
  .industries-copy .rich-copy,
  .industries-proof-copy .rich-copy,
  .industries-cta .rich-copy{
    font-size:15px;
    line-height:1.7;
  }
  .industries-grid{
    grid-template-columns:1fr;
  }
  .industries-card,
  .industries-card:nth-child(even){
    padding:24px 0;
    border-left:0;
  }
  .industries-card p{
    margin-left:34px;
    font-size:14px;
  }
  .industries-support-grid,
  .industries-proof-grid{
    grid-template-columns:1fr;
    gap:38px;
  }
  .industries-visual{
    order:2;
  }
  .industries-proof-image{
    order:2;
  }
  .industries-cta-inner{
    display:block;
  }
  .industries-cta .btn{
    display:inline-flex;
    margin-top:28px;
  }
}

/* v4.74 — Services styles consolidated into the main stylesheet so the page cannot lose its editorial styling. */

.services-v462{background:#070808;color:#f4f4f2;overflow:hidden}
.services-v462 .services-v462-hero{position:relative;min-height:590px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.10);overflow:hidden;background:#070808 var(--services-hero-image, none) center/cover no-repeat}
.services-v462 .services-v462-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,5,.94) 0%,rgba(4,5,5,.78) 44%,rgba(4,5,5,.42) 75%,rgba(4,5,5,.22) 100%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.58));pointer-events:none}
.services-v462 .services-v462-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(50px,7vw,110px);align-items:center;width:min(var(--sp-max),calc(100% - 64px));margin:0 auto;padding:90px 0}
.services-v462 .services-v462-hero h1{font-size:clamp(54px,6.1vw,86px);line-height:.96;letter-spacing:-3.6px;margin:16px 0 0;max-width:820px;color:#f7f7f5}
.services-v462 .services-v462-hero-copy{max-width:720px}.services-v462 .services-v462-copy{font-size:16px;line-height:1.82;color:#aeb2b0;max-width:100%}.services-v462 .services-v462-copy p{margin:0 0 20px}.services-v462 .services-v462-copy p:last-child{margin-bottom:0}
.services-v462 .services-v462-section{padding:96px 0;border-top:1px solid rgba(255,255,255,.10);position:relative}.services-v462 .services-v462-section:before{content:"";position:absolute;top:-1px;left:0;width:clamp(90px,18vw,260px);height:1px;background:rgba(197,162,93,.9)}
.services-v462 .services-v462-intro-grid,.services-v462 .services-v462-bridge-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(55px,8vw,120px);align-items:start}
.services-v462 .services-v462-section h2{font-family:Montserrat,Inter,sans-serif;font-weight:800;font-size:clamp(42px,4.5vw,68px);line-height:1.01;letter-spacing:-2.8px;margin:14px 0 0;color:#f4f4f2;max-width:900px}
.services-v462 .services-v462-intro{min-height:0}.services-v462 .services-v462-intro .services-v462-copy{font-size:17px;line-height:1.9;padding-top:10px}
.services-v462 .services-v462-detail{background:#080909}.services-v462 .services-v462-detail:nth-of-type(even){background:#0c0e0e}
.services-v462 .services-v462-service-head{display:block;max-width:1120px;margin-bottom:54px}.services-v462 .services-v462-service-head .eyebrow{display:inline-flex;align-items:center;margin:0}.services-v462 .services-v462-service-head h2{display:block;max-width:1050px;font-size:clamp(48px,5.2vw,78px);line-height:.99;letter-spacing:-3px;margin:18px 0 0;color:#f4f4f2}
.services-v462 .services-v462-service-main{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:clamp(44px,7vw,96px);align-items:start}
.services-v462 .services-v462-detail-visual{margin:0}.services-v462 .services-v462-detail-visual img{display:block;width:100%;height:clamp(280px,27vw,430px);object-fit:cover;border:1px solid rgba(255,255,255,.08)}
.services-v462 .services-v462-service-main.no-image{grid-template-columns:1fr}.services-v462 .services-v462-main-copy{font-size:17px;line-height:1.9;color:#aeb2b0;max-width:100%}.services-v462 .services-v462-main-copy p{margin:0 0 22px}.services-v462 .services-v462-main-copy p:last-child{margin-bottom:0}
.services-v462 .services-v462-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;margin-top:54px;border-top:1px solid rgba(255,255,255,.10)}
.services-v462 .services-v462-point{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:24px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.10);align-items:start}.services-v462 .services-v462-point strong{font-size:10px;line-height:1.35;letter-spacing:1px;text-transform:uppercase;color:#f0f0ed}.services-v462 .services-v462-point span{font-size:14px;line-height:1.7;color:#929795}
.services-v462 .services-v462-detail .btn{margin-top:34px}.services-v462 .services-v462-related{background:#090a0a}.services-v462 .services-v462-related-links{margin-top:54px;border-top:1px solid rgba(255,255,255,.10)}.services-v462 .services-v462-related-links a{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1fr) 30px;gap:30px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.10);color:inherit;text-decoration:none}.services-v462 .services-v462-related-links strong{font-size:14px;color:#eee}.services-v462 .services-v462-related-links span{font-size:14px;line-height:1.6;color:#8f9391}.services-v462 .services-v462-related-links b{color:var(--gold);font-size:18px}
.services-v462 .services-v462-bridge{background:#0d0f0f}.services-v462 .services-v462-cta{padding:90px 0;background:var(--gold);color:#090909}.services-v462 .services-v462-cta:before{display:none}.services-v462 .services-v462-cta .eyebrow{color:#090909}.services-v462 .services-v462-cta h2{color:#090909;max-width:900px}.services-v462 .services-v462-cta .services-v462-copy{color:#171717}.services-v462 .services-v462-cta .cta-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.services-v462 .services-v462-cta .btn-dark{background:#090909;color:#fff;border-color:#090909}
@media(max-width:900px){
.services-v462 .services-v462-hero{min-height:0}.services-v462 .services-v462-hero-inner{grid-template-columns:1fr;gap:30px;padding:78px 0 70px}.services-v462 .services-v462-hero h1{font-size:clamp(48px,10vw,72px)}
.services-v462 .services-v462-intro-grid,.services-v462 .services-v462-bridge-grid,.services-v462 .services-v462-service-main{grid-template-columns:1fr;gap:34px}.services-v462 .services-v462-section{padding:76px 0}.services-v462 .services-v462-service-head{margin-bottom:34px}.services-v462 .services-v462-service-head h2{font-size:clamp(44px,8vw,64px);line-height:1.01;letter-spacing:-2.5px}.services-v462 .services-v462-points{grid-template-columns:1fr;gap:0;margin-top:40px}.services-v462 .services-v462-detail-visual{order:-1}.services-v462 .services-v462-detail-visual img{height:360px}.services-v462 .services-v462-related-links a{grid-template-columns:1fr 24px;gap:8px}.services-v462 .services-v462-related-links span{grid-column:1}.services-v462 .services-v462-related-links b{grid-column:2;grid-row:1 / span 2}
}
@media(max-width:560px){.services-v462 .services-v462-hero-inner{width:calc(100% - 32px);padding:62px 0 58px}.services-v462 .services-v462-hero h1{font-size:clamp(44px,12vw,60px);letter-spacing:-2.4px}.services-v462 .services-v462-section{padding:62px 0}.services-v462 .services-v462-section h2{font-size:clamp(36px,10vw,50px);letter-spacing:-2px}.services-v462 .services-v462-service-head h2{font-size:clamp(40px,10.5vw,56px)}.services-v462 .services-v462-copy,.services-v462 .services-v462-main-copy{font-size:15px;line-height:1.78}.services-v462 .services-v462-point{grid-template-columns:1fr;gap:7px;padding:18px 0}.services-v462 .services-v462-detail-visual img{height:250px}.services-v462 .services-v462-detail .btn,.services-v462 .services-v462-bridge .btn,.services-v462 .services-v462-cta .btn{width:100%}.services-v462 .services-v462-cta .cta-actions{flex-direction:column;align-items:stretch}.services-v462 .services-v462-cta .cta-actions .btn{width:100%}}

/* v4.65 — premium gold CTA contrast: no yellow-on-yellow and no gold hover */
.services-v462 .services-v462-cta{
  background:linear-gradient(135deg,#c98d00 0%,#d79a00 52%,#c58a00 100%) !important;
  color:#090909 !important;
  border-top:1px solid rgba(255,255,255,.16) !important;
  border-bottom:1px solid rgba(0,0,0,.24) !important;
}
.services-v462 .services-v462-cta:after{
  background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 38%,rgba(0,0,0,.07) 100%) !important;
}
.services-v462 .services-v462-cta .eyebrow{
  color:#090909 !important;
}
.services-v462 .services-v462-cta .eyebrow:before{
  background:#090909 !important;
}
.services-v462 .services-v462-cta h2{
  color:#090909 !important;
}
.services-v462 .services-v462-cta .services-v462-copy,
.services-v462 .services-v462-cta .services-v462-copy p{
  color:#171717 !important;
}
.services-v462 .services-v462-cta .cta-actions .btn,
.services-v462 .services-v462-cta .cta-actions .btn-dark{
  background:#090909 !important;
  color:#fff !important;
  border-color:#090909 !important;
  box-shadow:none !important;
}
.services-v462 .services-v462-cta .cta-actions .btn:hover,
.services-v462 .services-v462-cta .cta-actions .btn:focus-visible,
.services-v462 .services-v462-cta .cta-actions .btn-dark:hover,
.services-v462 .services-v462-cta .cta-actions .btn-dark:focus-visible{
  background:#1b1b1b !important;
  color:#fff !important;
  border-color:#1b1b1b !important;
  box-shadow:none !important;
  transform:translateY(-1px);
}
.services-v462 .services-v462-cta .cta-actions .btn:hover span,
.services-v462 .services-v462-cta .cta-actions .btn-dark:hover span{
  color:#fff !important;
}




/* v4.64 — bridge + conversion CTA editorial alignment */
.services-v462 .services-v462-bridge .services-v462-bridge-grid{display:block;max-width:1180px;margin:0 auto}
.services-v462 .services-v462-bridge .services-v462-bridge-grid > div{max-width:none}
.services-v462 .services-v462-bridge .eyebrow{margin:0 0 18px;display:inline-flex;align-items:center}
.services-v462 .services-v462-bridge h2{max-width:1120px;margin:0;font-size:clamp(46px,5.2vw,76px);line-height:.99;letter-spacing:-3px}
.services-v462 .services-v462-bridge .services-v462-copy{max-width:920px;margin-top:28px;font-size:17px;line-height:1.82}
.services-v462 .services-v462-bridge .btn{margin-top:28px}

.services-v462 .services-v462-cta{position:relative;overflow:hidden;padding:92px 0;background:linear-gradient(135deg,#B97808 0%,#D7A62A 52%,#9A5D05 100%);color:#090909;border-top:1px solid rgba(255,255,255,.12)}
.services-v462 .services-v462-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.10),transparent 35%,rgba(0,0,0,.05) 100%);pointer-events:none}
.services-v462 .services-v462-cta .container{position:relative;z-index:1;max-width:1180px}
.services-v462 .services-v462-cta .eyebrow{display:inline-flex;align-items:center;margin:0 0 18px;color:#090909}
.services-v462 .services-v462-cta .eyebrow:before{background:#090909}
.services-v462 .services-v462-cta h2{max-width:1000px;margin:0;color:#090909;font-size:clamp(48px,5.4vw,78px);line-height:.99;letter-spacing:-3px}
.services-v462 .services-v462-cta .services-v462-copy{max-width:900px;margin-top:26px;color:#171717;font-size:17px;line-height:1.82}
.services-v462 .services-v462-cta .cta-actions{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.services-v462 .services-v462-cta .cta-actions .btn{margin:0;background:#090909;color:#fff;border-color:#090909;box-shadow:none}
.services-v462 .services-v462-cta .cta-actions .btn-dark{background:#090909;color:#fff;border-color:#090909}
.services-v462 .services-v462-cta .cta-actions .btn:hover{background:#1a1a1a;color:#fff}
@media(max-width:900px){
  .services-v462 .services-v462-bridge .services-v462-bridge-grid{width:calc(100% - 40px)}
  .services-v462 .services-v462-bridge h2{font-size:clamp(42px,8vw,64px)}
  .services-v462 .services-v462-cta{padding:78px 0}
}
@media(max-width:560px){
  .services-v462 .services-v462-bridge .services-v462-bridge-grid{width:calc(100% - 32px)}
  .services-v462 .services-v462-bridge h2{font-size:clamp(36px,10vw,50px);letter-spacing:-2px}
  .services-v462 .services-v462-bridge .services-v462-copy{font-size:15px;line-height:1.75;margin-top:22px}
  .services-v462 .services-v462-cta{padding:64px 0}
  .services-v462 .services-v462-cta h2{font-size:clamp(40px,10.5vw,54px);letter-spacing:-2px}
  .services-v462 .services-v462-cta .services-v462-copy{font-size:15px;line-height:1.75;margin-top:20px}
  .services-v462 .services-v462-cta .cta-actions{flex-direction:column;align-items:stretch}
  .services-v462 .services-v462-cta .cta-actions .btn{width:100%}
}


/* v4.68 — precision editorial alignment for What We Offer + Services Across Industries */
.services-v462 .services-v462-intro-grid{display:block;width:min(var(--sp-max),calc(100% - 64px));margin:0 auto}
.services-v462 .services-v462-intro-content{max-width:none}
.services-v462 .services-v462-intro-content .eyebrow{display:inline-flex;align-items:center;margin:0 0 20px}
.services-v462 .services-v462-intro-title{display:flex;flex-direction:column;align-items:flex-start;gap:0;max-width:none;width:100%;margin:0;font-size:clamp(42px,4.25vw,60px);line-height:1.02;letter-spacing:-2.5px}
.services-v462 .services-v462-intro-title span{display:block;white-space:nowrap}
.services-v462 .services-v462-intro-copy{max-width:1120px;margin-top:28px;font-size:17px;line-height:1.82}
.services-v462 .services-v462-intro-copy p{margin:0 0 18px}
.services-v462 .services-v462-intro-copy p:last-child{margin-bottom:0}

.services-v462 .services-v462-bridge .services-v462-bridge-grid{display:block;width:min(var(--sp-max),calc(100% - 64px));max-width:none;margin:0 auto}
.services-v462 .services-v462-bridge .services-v462-bridge-content{width:100%;max-width:none;text-align:left}
.services-v462 .services-v462-bridge .eyebrow{display:inline-flex;align-items:center;margin:0 0 20px}
.services-v462 .services-v462-bridge h2{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%;max-width:none;margin:0;font-size:clamp(42px,4.15vw,58px);line-height:1.02;letter-spacing:-2.4px;text-align:left}
.services-v462 .services-v462-bridge h2 .services-v462-bridge-line{display:block;white-space:nowrap}
.services-v462 .services-v462-bridge .services-v462-copy{max-width:1120px;margin-top:26px;font-size:16px;line-height:1.8;text-align:left}
.services-v462 .services-v462-bridge .btn{margin-top:26px}

@media(max-width:1100px){
  .services-v462 .services-v462-intro-title{font-size:clamp(40px,4.7vw,54px)}
  .services-v462 .services-v462-bridge h2{font-size:clamp(40px,4.65vw,54px)}
}
@media(max-width:900px){
  .services-v462 .services-v462-intro-grid,.services-v462 .services-v462-bridge .services-v462-bridge-grid{width:calc(100% - 40px)}
  .services-v462 .services-v462-intro-title,.services-v462 .services-v462-bridge h2{font-size:clamp(40px,7.2vw,58px)}
  .services-v462 .services-v462-intro-title span,.services-v462 .services-v462-bridge h2 .services-v462-bridge-line{white-space:normal}
}
@media(max-width:560px){
  .services-v462 .services-v462-intro-grid,.services-v462 .services-v462-bridge .services-v462-bridge-grid{width:calc(100% - 32px)}
  .services-v462 .services-v462-intro-content .eyebrow,.services-v462 .services-v462-bridge .eyebrow{margin-bottom:16px}
  .services-v462 .services-v462-intro-title,.services-v462 .services-v462-bridge h2{font-size:clamp(34px,9.8vw,48px);line-height:1.03;letter-spacing:-1.8px}
  .services-v462 .services-v462-intro-copy,.services-v462 .services-v462-bridge .services-v462-copy{font-size:15px;line-height:1.78;margin-top:20px}
  .services-v462 .services-v462-bridge .btn{width:100%;margin-top:22px}
}


/* v4.70 — clean Services alignment layer. Keep one consistent editorial container and no clipping. */
.services-v462,
.services-v462 *{box-sizing:border-box;}
.services-v462{width:100%;overflow-x:hidden;}
.services-v462 .container,
.services-v462 .services-v462-hero-inner,
.services-v462 .services-v462-intro-grid,
.services-v462 .services-v462-bridge-grid{
  width:min(1180px,calc(100% - 64px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.services-v462 .services-v462-section{padding:104px 0 !important;}
.services-v462 .services-v462-hero-inner{padding-top:92px !important;padding-bottom:92px !important;}
.services-v462 .services-v462-service-head{max-width:1180px !important;margin:0 0 52px !important;}
.services-v462 .services-v462-service-head h2{max-width:1120px !important;}
.services-v462 .services-v462-service-main{max-width:1180px !important;}
.services-v462 .services-v462-points{max-width:1180px !important;}

/* What We Offer — same left axis as every other Services section. */
.services-v462 .services-v462-intro-grid{display:block !important;}
.services-v462 .services-v462-intro-content{width:100% !important;max-width:1180px !important;}
.services-v462 .services-v462-intro-content > .eyebrow{display:inline-flex !important;align-items:center !important;margin:0 0 18px !important;}
.services-v462 .services-v462-intro-title{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:0 !important;
  width:100% !important;
  max-width:1120px !important;
  margin:0 !important;
  font-size:clamp(44px,4.15vw,58px) !important;
  line-height:1.01 !important;
  letter-spacing:-2.5px !important;
}
.services-v462 .services-v462-intro-title span{display:block !important;white-space:nowrap !important;}
.services-v462 .services-v462-intro-copy{
  width:100% !important;
  max-width:1080px !important;
  margin:28px 0 0 !important;
  padding:0 !important;
  font-size:17px !important;
  line-height:1.82 !important;
}
.services-v462 .services-v462-intro-copy p{margin:0 0 22px !important;}
.services-v462 .services-v462-intro-copy p:last-child{margin-bottom:0 !important;}

/* Services Across Industries — exact two-line editorial lock on desktop. */
.services-v462 .services-v462-bridge .services-v462-bridge-grid{display:block !important;width:min(1180px,calc(100% - 64px)) !important;max-width:1180px !important;}
.services-v462 .services-v462-bridge-content{width:100% !important;max-width:1180px !important;text-align:left !important;}
.services-v462 .services-v462-bridge-content > .eyebrow{display:inline-flex !important;align-items:center !important;margin:0 0 18px !important;}
.services-v462 .services-v462-bridge-content h2{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:0 !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 !important;
  font-size:clamp(42px,3.55vw,54px) !important;
  line-height:1.02 !important;
  letter-spacing:-2.1px !important;
  text-align:left !important;
}
.services-v462 .services-v462-bridge h2 .services-v462-bridge-line{display:block !important;white-space:nowrap !important;}
.services-v462 .services-v462-bridge-content > .services-v462-copy{
  width:100% !important;
  max-width:1080px !important;
  margin:24px 0 0 !important;
  font-size:16px !important;
  line-height:1.8 !important;
  text-align:left !important;
}
.services-v462 .services-v462-bridge-content > .btn{margin-top:26px !important;}

/* Keep CTA on the exact same content axis. */
.services-v462 .services-v462-cta .container{width:min(1180px,calc(100% - 64px)) !important;max-width:1180px !important;margin-left:auto !important;margin-right:auto !important;}

@media(max-width:1100px){
  .services-v462 .services-v462-intro-title{font-size:clamp(40px,4.8vw,54px) !important;}
  .services-v462 .services-v462-bridge-content h2{font-size:clamp(40px,4.5vw,52px) !important;}
}
@media(max-width:900px){
  .services-v462 .services-v462-container,
  .services-v462 .container,
  .services-v462 .services-v462-hero-inner,
  .services-v462 .services-v462-intro-grid,
  .services-v462 .services-v462-bridge .services-v462-bridge-grid,
  .services-v462 .services-v462-cta .container{
    width:calc(100% - 40px) !important;
    max-width:none !important;
  }
  .services-v462 .services-v462-section{padding:78px 0 !important;}
  .services-v462 .services-v462-intro-title{font-size:clamp(40px,7vw,56px) !important;line-height:1.03 !important;}
  .services-v462 .services-v462-intro-title span{white-space:normal !important;}
  .services-v462 .services-v462-bridge-content h2{font-size:clamp(40px,6.6vw,56px) !important;line-height:1.03 !important;}
  .services-v462 .services-v462-bridge h2 .services-v462-bridge-line{white-space:normal !important;}
  .services-v462 .services-v462-service-head{margin-bottom:34px !important;}
}
@media(max-width:560px){
  .services-v462 .container,
  .services-v462 .services-v462-hero-inner,
  .services-v462 .services-v462-intro-grid,
  .services-v462 .services-v462-bridge .services-v462-bridge-grid,
  .services-v462 .services-v462-cta .container{width:calc(100% - 32px) !important;}
  .services-v462 .services-v462-section{padding:62px 0 !important;}
  .services-v462 .services-v462-intro-content > .eyebrow,
  .services-v462 .services-v462-bridge-content > .eyebrow{margin-bottom:16px !important;}
  .services-v462 .services-v462-intro-title{font-size:clamp(34px,9.6vw,48px) !important;line-height:1.04 !important;letter-spacing:-1.7px !important;}
  .services-v462 .services-v462-intro-copy{font-size:15px !important;line-height:1.78 !important;margin-top:20px !important;}
  .services-v462 .services-v462-bridge-content h2{font-size:clamp(34px,9.2vw,46px) !important;line-height:1.04 !important;letter-spacing:-1.7px !important;}
  .services-v462 .services-v462-bridge-content > .services-v462-copy{font-size:15px !important;line-height:1.75 !important;margin-top:20px !important;}
  .services-v462 .services-v462-bridge-content > .btn{width:100% !important;margin-top:22px !important;}
}


/* v4.71 — Services final grid containment + editorial alignment */
.services-v462,
.services-v462 *{min-width:0}
.services-v462 .container{
  width:min(1180px,calc(100% - 64px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.services-v462 .services-v462-intro-grid,
.services-v462 .services-v462-bridge-grid,
.services-v462 .services-v462-service-main,
.services-v462 .services-v462-points,
.services-v462 .services-v462-related-links{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
.services-v462 .services-v462-intro-grid,
.services-v462 .services-v462-bridge-grid{
  display:block !important;
}
.services-v462 .services-v462-intro-content,
.services-v462 .services-v462-bridge-content{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
.services-v462 .services-v462-intro-title{
  width:100% !important;
  max-width:1120px !important;
  margin:18px 0 0 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.services-v462 .services-v462-intro-title span{
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  overflow-wrap:normal !important;
}
.services-v462 .services-v462-intro-copy,
.services-v462 .services-v462-main-copy,
.services-v462 .services-v462-copy{
  min-width:0 !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
}
.services-v462 .services-v462-intro-copy{
  width:100% !important;
  max-width:1040px !important;
  margin-top:30px !important;
}
.services-v462 .services-v462-service-head{
  width:100% !important;
  max-width:1120px !important;
}
.services-v462 .services-v462-service-head h2{
  max-width:1050px !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.services-v462 .services-v462-service-main{
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr) !important;
}
.services-v462 .services-v462-main-copy p{
  max-width:100% !important;
}
.services-v462 .services-v462-point,
.services-v462 .services-v462-related-links a{
  min-width:0 !important;
}
.services-v462 .services-v462-point span,
.services-v462 .services-v462-related-links strong,
.services-v462 .services-v462-related-links span{
  min-width:0 !important;
  overflow-wrap:anywhere !important;
}
.services-v462 .services-v462-related{
  overflow:hidden !important;
}
.services-v462 .services-v462-related .services-v462-intro-grid{
  display:block !important;
}
.services-v462 .services-v462-related .services-v462-intro-grid > div{
  width:100% !important;
  max-width:100% !important;
}
.services-v462 .services-v462-related .services-v462-intro-grid > div + div{
  margin-top:28px !important;
}
.services-v462 .services-v462-related h2{
  width:100% !important;
  max-width:1050px !important;
  margin:18px 0 0 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.services-v462 .services-v462-related .services-v462-copy{
  width:100% !important;
  max-width:1040px !important;
  margin:0 !important;
  overflow-wrap:break-word !important;
}
.services-v462 .services-v462-related-links{
  margin-top:48px !important;
}
.services-v462 .services-v462-related-links a{
  grid-template-columns:minmax(190px,.7fr) minmax(0,1fr) 28px !important;
  width:100% !important;
}
.services-v462 .services-v462-bridge{
  overflow:hidden !important;
}
.services-v462 .services-v462-bridge-content h2{
  width:100% !important;
  max-width:1120px !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.services-v462 .services-v462-bridge-line{
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  white-space:normal !important;
}
.services-v462 .services-v462-bridge .services-v462-copy{
  width:100% !important;
  max-width:1040px !important;
  overflow-wrap:break-word !important;
}
.services-v462 .services-v462-cta .container{
  width:min(1180px,calc(100% - 64px)) !important;
}

@media (max-width:900px){
  .services-v462 .container,
  .services-v462 .services-v462-cta .container{
    width:calc(100% - 40px) !important;
  }
  .services-v462 .services-v462-service-main{
    grid-template-columns:1fr !important;
  }
  .services-v462 .services-v462-detail-visual{
    order:-1 !important;
  }
  .services-v462 .services-v462-related-links a{
    grid-template-columns:minmax(0,1fr) 24px !important;
  }
  .services-v462 .services-v462-related-links span{
    grid-column:1 !important;
  }
  .services-v462 .services-v462-related-links b{
    grid-column:2 !important;
    grid-row:1 / span 2 !important;
  }
  .services-v462 .services-v462-bridge-line{
    width:auto !important;
    max-width:100% !important;
  }
}
@media (max-width:560px){
  .services-v462 .container,
  .services-v462 .services-v462-cta .container{
    width:calc(100% - 32px) !important;
  }
  .services-v462 .services-v462-intro-title span{
    width:auto !important;
  }
  .services-v462 .services-v462-related .services-v462-intro-grid > div + div{
    margin-top:22px !important;
  }
  .services-v462 .services-v462-related-links{
    margin-top:36px !important;
  }
}


/* Sharpline Industries content sync v4.77.0 */

/* v4.77.1 — Industries CTA contrast refinement */
.industries-page .industries-cta{
  background:linear-gradient(135deg,#d79a00 0%,#e0a300 52%,#d49300 100%);
  color:#090909;
}
.industries-page .industries-cta .eyebrow,
.industries-page .industries-cta .eyebrow:before{
  color:#090909!important;
  background:#090909!important;
  opacity:1!important;
}
.industries-page .industries-cta h2{
  color:#090909!important;
}
.industries-page .industries-cta .rich-copy,
.industries-page .industries-cta .rich-copy p{
  color:#171717!important;
}
.industries-page .industries-cta .btn,
.industries-page .industries-cta .btn:hover,
.industries-page .industries-cta .btn:focus-visible{
  background:#090909!important;
  color:#fff!important;
  border-color:#090909!important;
  box-shadow:none!important;
}

/* v4.77.3 — Industries CTA eyebrow label visibility */
.industries-page .industries-cta .eyebrow{
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  margin:0 0 16px !important;
  padding:0 !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#090909 !important;
  font-family:Montserrat,Inter,Arial,sans-serif !important;
  font-size:10px !important;
  line-height:1.3 !important;
  letter-spacing:2.2px !important;
  font-weight:800 !important;
  text-indent:0 !important;
  white-space:nowrap !important;
}
.industries-page .industries-cta .eyebrow:before{
  content:"" !important;
  display:block !important;
  width:34px !important;
  height:2px !important;
  flex:0 0 34px !important;
  margin:0 !important;
  background:#090909 !important;
  opacity:1 !important;
}

/* v4.77.3 — Industries CTA eyebrow rebuilt as explicit line + label */
.industries-page .industries-cta .industries-cta-eyebrow{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 18px!important;
  padding:0!important;
  overflow:visible!important;
  color:#090909!important;
}
.industries-page .industries-cta .industries-cta-eyebrow-line{
  display:block!important;
  width:34px!important;
  height:2px!important;
  flex:0 0 34px!important;
  background:#090909!important;
}
.industries-page .industries-cta .industries-cta-eyebrow-label{
  display:inline-block!important;
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
  font-family:Montserrat,Inter,Arial,sans-serif!important;
  font-size:10px!important;
  line-height:1.3!important;
  letter-spacing:2.2px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  opacity:1!important;
  visibility:visible!important;
}
@media (max-width:700px){
  .industries-page .industries-cta .industries-cta-eyebrow-label{font-size:9px!important;letter-spacing:1.8px!important}
}

/* v4.78.0 — Capabilities editorial rebuild: source-led content, optional imagery only where useful. */
.capabilities-page{background:#070808;color:#fff;overflow:hidden}
.capabilities-page .container{width:min(1180px,calc(100% - 64px));max-width:1180px;margin-left:auto;margin-right:auto}
.capabilities-page .eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--gold);font-size:9px!important;letter-spacing:2.2px;line-height:1.3;font-weight:800;text-transform:uppercase}
.capabilities-page .eyebrow:before{content:"";width:28px;height:1px;background:currentColor;opacity:.9;flex:none}
.capabilities-hero{position:relative;min-height:540px;display:flex;align-items:end;padding:105px 0 90px;background:radial-gradient(circle at 82% 25%,rgba(197,162,93,.15),transparent 30%),linear-gradient(135deg,#060606,#101010);border-bottom:1px solid rgba(255,255,255,.1);overflow:hidden}
.capabilities-hero.has-custom-hero{background:transparent}
.capabilities-hero-media{position:absolute;inset:0;background-image:var(--cap-hero-image);background-size:cover;background-position:center;opacity:.72}
.capabilities-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,5,.94) 0%,rgba(4,5,5,.72) 52%,rgba(4,5,5,.25) 100%)}
.capabilities-hero:not(.has-custom-hero) .capabilities-hero-media{opacity:0}
.capabilities-hero-inner{position:relative;z-index:2}
.capabilities-hero-copy{max-width:900px}
.capabilities-hero h1{margin:18px 0 20px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(54px,6vw,82px);line-height:.96;letter-spacing:-3.5px;max-width:760px}
.capabilities-hero-text{max-width:720px;color:#a9a9a9;font-size:17px;line-height:1.8}
.cap-section{position:relative;padding:108px 0;background:#070808;border-top:1px solid rgba(255,255,255,.08)}
.cap-section-alt{background:#0c0e0e}
.cap-section:before{content:"";position:absolute;top:-1px;left:0;width:clamp(90px,18vw,260px);height:1px;background:rgba(197,162,93,.82)}
.cap-section-inner{display:grid;align-items:center;gap:82px}
.cap-section-with-image{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr)}
.cap-section-alt .cap-section-with-image{grid-template-columns:minmax(360px,.82fr) minmax(0,1fr)}
.cap-section-alt .cap-section-copy{order:2}.cap-section-alt .cap-section-visual{order:1}
.cap-section-text-only{grid-template-columns:minmax(0,1fr)}
.cap-section-text-only .cap-section-copy{width:100%;max-width:none}
.cap-section-text-only .cap-section-copy > .rich-copy{max-width:1120px}
.cap-section-copy{min-width:0}
.cap-section h2{margin:17px 0 24px;font-family:'Montserrat',sans-serif;font-size:clamp(40px,4.4vw,62px);line-height:1.02;letter-spacing:-2.7px;font-weight:800;max-width:760px}
.cap-section .rich-copy{max-width:780px;color:#a9a9a9;font-size:16px;line-height:1.85}
.cap-section .rich-copy p{margin:0 0 20px}.cap-section .rich-copy p:last-child{margin-bottom:0}
.cap-section .rich-copy ul{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:0}
.cap-section .rich-copy li{position:relative;padding:17px 0 17px 21px;border-top:1px solid rgba(255,255,255,.1);color:#d1d1d1}
.cap-section .rich-copy li:before{content:"";position:absolute;left:0;top:25px;width:7px;height:7px;background:var(--gold);border-radius:50%}
.cap-section-visual{min-width:0;display:flex;align-items:stretch}
.cap-section-visual img{display:block;width:100%;height:430px;object-fit:cover;border:1px solid rgba(255,255,255,.12)}
.capabilities-closing{position:relative;padding:88px 0;background:linear-gradient(135deg,#B97808 0%,#D7A62A 52%,#9A5D05 100%);color:#090909;overflow:hidden}
.capabilities-closing:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.1),transparent 35%,rgba(0,0,0,.05));pointer-events:none}
.capabilities-closing-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:end}
.capabilities-closing .eyebrow,.capabilities-closing .eyebrow *{color:#090909 !important}.capabilities-closing .eyebrow:before{background:#090909 !important}
.capabilities-closing h2{margin:17px 0 18px;font-family:'Montserrat',sans-serif;font-size:clamp(42px,5vw,70px);line-height:1;letter-spacing:-3px;font-weight:800;max-width:900px;color:#090909 !important}
.capabilities-closing p{margin:0;max-width:720px;color:#171717 !important;font-size:16px;line-height:1.75}
.capabilities-closing .btn,.capabilities-closing .btn:hover,.capabilities-closing .btn:focus-visible,.capabilities-closing .btn span{background:#090909 !important;color:#fff !important;border-color:#090909 !important;box-shadow:none}
.capabilities-closing .btn:after{background:#fff !important}
@media(max-width:900px){
  .capabilities-page .container{width:calc(100% - 40px)}
  .capabilities-hero{min-height:470px;padding:82px 0 72px}
  .capabilities-hero h1{font-size:clamp(48px,9vw,72px);letter-spacing:-2.8px}
  .cap-section{padding:82px 0}
  .cap-section-inner,.cap-section-with-image,.cap-section-alt .cap-section-with-image{grid-template-columns:1fr;gap:42px}
  .cap-section-alt .cap-section-copy,.cap-section-alt .cap-section-visual{order:initial}
  .cap-section-visual img{height:340px}
  .cap-section .rich-copy ul{grid-template-columns:1fr}
  .capabilities-closing-inner{grid-template-columns:1fr;gap:30px}
}
@media(max-width:560px){
  .capabilities-page .container{width:calc(100% - 32px)}
  .capabilities-hero{min-height:410px;padding:68px 0 58px}
  .capabilities-hero h1{font-size:clamp(43px,11.5vw,58px);letter-spacing:-2.2px}
  .capabilities-hero-text{font-size:15px;line-height:1.75}
  .cap-section{padding:66px 0}
  .cap-section h2{font-size:clamp(37px,10vw,52px);letter-spacing:-2px}
  .cap-section .rich-copy{font-size:15px;line-height:1.8}
  .cap-section-visual img{height:260px}
  .capabilities-closing{padding:66px 0}
  .capabilities-closing h2{font-size:clamp(40px,10.5vw,54px);letter-spacing:-2px}
  .capabilities-closing .btn{width:100%}
}

/* Capabilities v4.80.0: fully use the editorial container when no image is present. */
.capabilities-page .cap-section-text-only .cap-section-copy{width:100%;max-width:none}
.capabilities-page .cap-section-text-only .rich-copy{width:100%;max-width:none!important}
.capabilities-page .cap-section-text-only .rich-copy ul{width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:72px}
.capabilities-page .cap-section-text-only .rich-copy li{min-width:0}
.capabilities-page .capabilities-closing .eyebrow{color:#090909!important}
.capabilities-page .capabilities-closing .eyebrow:before{background:#090909!important;opacity:1}
.capabilities-page .capabilities-closing .btn,
.capabilities-page .capabilities-closing .btn:hover,
.capabilities-page .capabilities-closing .btn:focus-visible{background:#090909!important;color:#fff!important;border-color:#090909!important}
@media(max-width:900px){
  .capabilities-page .cap-section-text-only .rich-copy ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
}
@media(max-width:600px){
  .capabilities-page .cap-section-text-only .rich-copy ul{grid-template-columns:1fr;column-gap:0}
}

/* Capabilities v4.81.0: use the full editorial width for text-only capability sections. */
@media (min-width:901px){
  .capabilities-page .cap-section-text-only .cap-section-copy{
    display:grid!important;
    grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)!important;
    column-gap:84px!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
  }
  .capabilities-page .cap-section-text-only .cap-section-copy > .eyebrow{
    grid-column:1!important;
    grid-row:1!important;
    align-self:start!important;
  }
  .capabilities-page .cap-section-text-only .cap-section-copy > h2{
    grid-column:1!important;
    grid-row:2!important;
    align-self:start!important;
    max-width:520px!important;
    margin-right:0!important;
  }
  .capabilities-page .cap-section-text-only .cap-section-copy > .rich-copy{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    width:100%!important;
    max-width:none!important;
    align-self:center!important;
    padding-top:4px!important;
  }
  .capabilities-page .cap-section-text-only .rich-copy ul{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:48px!important;
    width:100%!important;
  }
}

/* Capabilities v4.81.0: dark type treatment on the gold enquiry CTA. */
.capabilities-page .capabilities-closing .eyebrow,
.capabilities-page .capabilities-closing .eyebrow *{
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
  opacity:1!important;
  visibility:visible!important;
}
.capabilities-page .capabilities-closing .eyebrow:before{
  background:#090909!important;
  opacity:1!important;
}
.capabilities-page .capabilities-closing h2,
.capabilities-page .capabilities-closing h2 *{
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
}
.capabilities-page .capabilities-closing p,
.capabilities-page .capabilities-closing p *{
  color:#171717!important;
  -webkit-text-fill-color:#171717!important;
}
.capabilities-page .capabilities-closing .btn,
.capabilities-page .capabilities-closing .btn:hover,
.capabilities-page .capabilities-closing .btn:focus,
.capabilities-page .capabilities-closing .btn:focus-visible,
.capabilities-page .capabilities-closing .btn span{
  background:#090909!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#090909!important;
}
.capabilities-page .capabilities-closing .btn:after{background:#fff!important}

@media(max-width:900px){
  .capabilities-page .cap-section-text-only .cap-section-copy{display:block!important}
  .capabilities-page .cap-section-text-only .rich-copy{padding-top:0!important}
}

/* v4.82 — final site-wide editorial alignment + responsive normalization */
:root{
  --site-max:1200px;
  --site-gutter:clamp(24px,5vw,64px);
}

/* One shared content axis across header, heroes, sections and footer. */
.site-header .container,
.site-main .container,
main .container,
.site-footer .container,
.page .container{
  width:min(var(--site-max),calc(100% - (var(--site-gutter) * 2))) !important;
  max-width:var(--site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Services: force every editorial section onto the same axis as the header logo. */
.services-v462 .services-v462-hero-inner,
.services-v462 .services-v462-intro-grid,
.services-v462 .services-v462-service-head,
.services-v462 .services-v462-service-main,
.services-v462 .services-v462-points,
.services-v462 .services-v462-related .container,
.services-v462 .services-v462-bridge-grid,
.services-v462 .services-v462-cta .container{
  width:min(var(--site-max),calc(100% - (var(--site-gutter) * 2))) !important;
  max-width:var(--site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.services-v462 .services-v462-intro-grid,
.services-v462 .services-v462-bridge-grid{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Hero: keep copy on the right but give the CTA deliberate breathing room. */
.services-v462 .services-v462-hero-copy .btn{
  display:flex !important;
  width:max-content !important;
  max-width:100% !important;
  margin-top:30px !important;
  margin-left:auto !important;
}

/* What We Offer: use the full editorial width without drifting to the viewport edge. */
.services-v462 .services-v462-intro-content{
  width:100% !important;
  max-width:none !important;
}
.services-v462 .services-v462-intro-title{
  max-width:1100px !important;
}
.services-v462 .services-v462-intro-copy{
  max-width:1080px !important;
}

/* Service sections: title and body share one left axis; image occupies only its intended column. */
.services-v462 .services-v462-service-head{
  padding-left:0 !important;
  padding-right:0 !important;
}
.services-v462 .services-v462-service-main{
  padding-left:0 !important;
  padding-right:0 !important;
}
.services-v462 .services-v462-main-copy{
  max-width:none !important;
}

/* Related / bridge / CTA stay on exactly the same axis. */
.services-v462 .services-v462-related .container,
.services-v462 .services-v462-bridge-grid,
.services-v462 .services-v462-cta .container{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Site-wide section content should never create a second, narrower alignment axis. */
.about-page .container,
.industries-page .container,
.capabilities-page .container,
.why-page .container,
.contact-page .container,
.services-v462 .container{
  width:min(var(--site-max),calc(100% - (var(--site-gutter) * 2))) !important;
  max-width:var(--site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:900px){
  :root{--site-gutter:20px}
  .services-v462 .services-v462-hero-inner,
  .services-v462 .services-v462-intro-grid,
  .services-v462 .services-v462-service-head,
  .services-v462 .services-v462-service-main,
  .services-v462 .services-v462-points,
  .services-v462 .services-v462-related .container,
  .services-v462 .services-v462-bridge-grid,
  .services-v462 .services-v462-cta .container,
  .site-header .container,
  .site-main .container,
  main .container,
  .site-footer .container{
    width:calc(100% - (var(--site-gutter) * 2)) !important;
    max-width:none !important;
  }
  .services-v462 .services-v462-hero-copy .btn{
    margin-left:0 !important;
  }
}

@media(max-width:560px){
  :root{--site-gutter:16px}
  .services-v462 .services-v462-hero-copy .btn,
  .services-v462 .services-v462-detail .btn,
  .services-v462 .services-v462-bridge .btn,
  .services-v462 .services-v462-cta .btn{
    width:100% !important;
    margin-left:0 !important;
  }
  .services-v462 .services-v462-intro-title span,
  .services-v462 .services-v462-bridge h2 .services-v462-bridge-line{
    white-space:normal !important;
  }
}

/* v4.83.0 — FINAL QUALITY CONTROL: one editorial axis across the complete website. */
:root{
  --site-max:1180px;
  --site-gutter:36px;
}

/* Shared page rail: header, main content and footer all use the same horizontal axis. */
.site-header > .container,
.site-header .header-inner,
.site-main > .container,
main > .container,
.site-footer .container,
.page > .container,
.about-page .container,
.industries-page .container,
.capabilities-page .container,
.why-page .container,
.contact-page .container,
.services-v462 .container,
.services-v462 .services-v462-hero-inner,
.services-v462 .services-v462-intro-grid,
.services-v462 .services-v462-service-head,
.services-v462 .services-v462-service-main,
.services-v462 .services-v462-points,
.services-v462 .services-v462-related .container,
.services-v462 .services-v462-bridge-grid,
.services-v462 .services-v462-cta .container{
  width:min(var(--site-max),calc(100% - (var(--site-gutter) * 2))) !important;
  max-width:var(--site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Header is the master alignment reference. */
.site-header .header-inner{padding-left:0!important;padding-right:0!important}

/* Services hero: title and supporting copy sit on the same editorial rail; CTA gets breathing room. */
.services-v462 .services-v462-hero-inner{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  gap:clamp(56px,6vw,92px)!important;
  padding-top:88px!important;
  padding-bottom:88px!important;
}
.services-v462 .services-v462-hero-copy{max-width:650px!important;justify-self:end!important}
.services-v462 .services-v462-hero-copy .btn{
  margin-top:30px!important;
  margin-left:0!important;
}

/* What We Offer: deliberate two-column editorial composition; no orphaned full-width text. */
.services-v462 .services-v462-intro-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:clamp(48px,7vw,96px)!important;
  align-items:start!important;
}
.services-v462 .services-v462-intro-content,
.services-v462 .services-v462-intro-copy{
  width:100%!important;
  max-width:none!important;
}
.services-v462 .services-v462-intro-title{
  max-width:620px!important;
  margin:18px 0 0!important;
}
.services-v462 .services-v462-intro-title span{white-space:normal!important;width:auto!important}
.services-v462 .services-v462-intro-copy{
  margin:0!important;
  padding-top:36px!important;
  font-size:16px!important;
  line-height:1.85!important;
}

/* Every service detail begins from the same left axis. */
.services-v462 .services-v462-service-head{margin-bottom:48px!important}
.services-v462 .services-v462-service-head h2{max-width:980px!important}
.services-v462 .services-v462-service-main{gap:clamp(44px,6vw,82px)!important}
.services-v462 .services-v462-detail .btn{margin-top:30px!important}

/* Related and industry bridge follow the same rail and use the available width intentionally. */
.services-v462 .services-v462-related .services-v462-intro-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:clamp(48px,7vw,96px)!important;
}
.services-v462 .services-v462-related .services-v462-intro-grid > div + div{margin-top:0!important;padding-top:36px!important}
.services-v462 .services-v462-related h2{max-width:620px!important}
.services-v462 .services-v462-related .services-v462-copy{max-width:none!important}
.services-v462 .services-v462-bridge-content{max-width:100%!important}

/* Gold enquiry sections: never use low-contrast gold-on-gold text. */
.services-v462 .services-v462-cta .eyebrow,
.services-v462 .services-v462-cta .eyebrow *{color:#090909!important;-webkit-text-fill-color:#090909!important}
.services-v462 .services-v462-cta .eyebrow:before{background:#090909!important}
.services-v462 .services-v462-cta h2,
.services-v462 .services-v462-cta h2 *{color:#090909!important;-webkit-text-fill-color:#090909!important}
.services-v462 .services-v462-cta .services-v462-copy,
.services-v462 .services-v462-cta .services-v462-copy *{color:#171717!important;-webkit-text-fill-color:#171717!important}

/* Capability / About / Industries / Why / Contact sections: remove accidental narrow inner rails. */
.about-page .content-grid,
.industries-page .industries-support-grid,
.industries-page .industries-proof-grid,
.why-page .content-grid,
.contact-page .contact-grid{
  width:100%!important;
  max-width:none!important;
}

@media(max-width:900px){
  :root{--site-gutter:20px}
  .services-v462 .services-v462-hero-inner{grid-template-columns:1fr!important;gap:30px!important;padding-top:72px!important;padding-bottom:72px!important}
  .services-v462 .services-v462-hero-copy{max-width:760px!important;justify-self:start!important}
  .services-v462 .services-v462-intro-grid,
  .services-v462 .services-v462-related .services-v462-intro-grid{grid-template-columns:1fr!important;gap:28px!important}
  .services-v462 .services-v462-intro-copy,
  .services-v462 .services-v462-related .services-v462-intro-grid > div + div{padding-top:0!important}
  .services-v462 .services-v462-intro-title{max-width:900px!important}
}

@media(max-width:560px){
  :root{--site-gutter:16px}
  .services-v462 .services-v462-hero-inner{padding-top:60px!important;padding-bottom:58px!important}
  .services-v462 .services-v462-hero-copy .btn,
  .services-v462 .services-v462-detail .btn,
  .services-v462 .services-v462-bridge .btn,
  .services-v462 .services-v462-cta .btn{width:100%!important;margin-left:0!important}
  .services-v462 .services-v462-intro-title{font-size:clamp(34px,9.5vw,48px)!important;letter-spacing:-1.7px!important}
  .services-v462 .services-v462-intro-copy{font-size:15px!important;line-height:1.78!important}
}


/* v4.84 — Services visual quality-control pass
   One editorial rail, balanced whitespace, controlled typography and responsive rhythm. */
.services-v462{--svc-rail:1200px;--svc-gutter:clamp(32px,5.5vw,80px);overflow-x:clip!important}
.services-v462 .container,
.services-v462 .services-v462-hero-inner,
.services-v462 .services-v462-intro-grid,
.services-v462 .services-v462-bridge-grid,
.services-v462 .services-v462-cta .container{
  width:min(var(--svc-rail),calc(100% - (var(--svc-gutter) * 2)))!important;
  max-width:var(--svc-rail)!important;
  margin-inline:auto!important;
}

/* Hero */
.services-v462 .services-v462-hero{min-height:560px!important}
.services-v462 .services-v462-hero-inner{
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)!important;
  gap:clamp(48px,6vw,96px)!important;
  padding:96px 0 88px!important;
}
.services-v462 .services-v462-hero h1{
  max-width:820px!important;
  font-size:clamp(54px,5.25vw,76px)!important;
  line-height:.98!important;
  letter-spacing:-3px!important;
}
.services-v462 .services-v462-hero-copy{max-width:600px!important}
.services-v462 .services-v462-hero-copy .btn{margin-top:28px!important}

/* What We Offer: intentional 2-column editorial composition */
.services-v462 .services-v462-intro{padding:92px 0!important}
.services-v462 .services-v462-intro-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:clamp(48px,7vw,110px)!important;
  align-items:start!important;
}
.services-v462 .services-v462-intro-content{width:auto!important;max-width:560px!important}
.services-v462 .services-v462-intro-title{
  display:block!important;
  width:auto!important;
  max-width:560px!important;
  font-size:clamp(42px,4vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-2.4px!important;
}
.services-v462 .services-v462-intro-title span{white-space:normal!important;width:auto!important}
.services-v462 .services-v462-intro-copy{
  max-width:650px!important;
  margin:6px 0 0!important;
  padding:0!important;
  font-size:16px!important;
  line-height:1.82!important;
}

/* Service detail rhythm */
.services-v462 .services-v462-section{padding:88px 0!important}
.services-v462 .services-v462-service-head{max-width:1120px!important;margin:0 0 42px!important}
.services-v462 .services-v462-service-head h2{
  max-width:1000px!important;
  font-size:clamp(46px,4.65vw,68px)!important;
  line-height:1.01!important;
  letter-spacing:-2.7px!important;
  margin-top:16px!important;
}
.services-v462 .services-v462-service-main{
  grid-template-columns:minmax(0,1fr) minmax(360px,.72fr)!important;
  gap:clamp(48px,7vw,92px)!important;
  align-items:start!important;
}
.services-v462 .services-v462-main-copy{max-width:650px!important;font-size:16px!important;line-height:1.82!important}
.services-v462 .services-v462-main-copy p{margin-bottom:20px!important}
.services-v462 .services-v462-detail-visual img{height:clamp(300px,28vw,410px)!important;object-fit:cover!important}
.services-v462 .services-v462-points{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 58px!important;
  margin-top:48px!important;
}
.services-v462 .services-v462-point{
  grid-template-columns:minmax(130px,.62fr) minmax(0,1.38fr)!important;
  gap:20px!important;
  padding:19px 0!important;
}
.services-v462 .services-v462-detail .btn{margin-top:28px!important}

/* Alternate image side for visual rhythm, without changing content */
.services-v462 #service-2 .services-v462-service-main,
.services-v462 #service-4 .services-v462-service-main{grid-template-columns:minmax(360px,.72fr) minmax(0,1fr)!important}
.services-v462 #service-2 .services-v462-detail-visual,
.services-v462 #service-4 .services-v462-detail-visual{order:-1!important}

/* Related / bridge */
.services-v462 .services-v462-related{padding:88px 0!important}
.services-v462 .services-v462-related .services-v462-intro-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;display:grid!important}
.services-v462 .services-v462-related .services-v462-intro-grid > div + div{margin-top:0!important}
.services-v462 .services-v462-related h2{max-width:560px!important}
.services-v462 .services-v462-related .services-v462-copy{max-width:650px!important;margin:4px 0 0!important}
.services-v462 .services-v462-related-links{margin-top:46px!important}
.services-v462 .services-v462-related-links a{grid-template-columns:minmax(220px,.55fr) minmax(0,1fr) 30px!important;padding:21px 0!important}

.services-v462 .services-v462-bridge{padding:88px 0!important}
.services-v462 .services-v462-bridge-grid{display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;gap:clamp(48px,7vw,110px)!important}
.services-v462 .services-v462-bridge-content{grid-column:1/-1!important}
.services-v462 .services-v462-bridge-content h2{max-width:900px!important;font-size:clamp(42px,4vw,58px)!important}
.services-v462 .services-v462-bridge-content > .services-v462-copy{max-width:700px!important}

/* Gold CTA */
.services-v462 .services-v462-cta{padding:84px 0!important}
.services-v462 .services-v462-cta .container{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:70px;align-items:end}
.services-v462 .services-v462-cta .eyebrow,
.services-v462 .services-v462-cta .eyebrow:before{color:#090909!important;background:#090909!important}
.services-v462 .services-v462-cta h2{grid-column:1/-1;max-width:900px!important;margin:14px 0 0!important}
.services-v462 .services-v462-cta .services-v462-copy{max-width:680px!important;margin-top:20px!important}
.services-v462 .services-v462-cta .cta-actions{margin-top:0!important;justify-self:end}

@media(max-width:900px){
  .services-v462 .services-v462-hero-inner{grid-template-columns:1fr!important;padding:76px 0 68px!important}
  .services-v462 .services-v462-intro-grid,
  .services-v462 .services-v462-related .services-v462-intro-grid,
  .services-v462 .services-v462-bridge-grid{grid-template-columns:1fr!important;gap:32px!important}
  .services-v462 .services-v462-intro-content,.services-v462 .services-v462-intro-title{max-width:760px!important}
  .services-v462 .services-v462-service-main,
  .services-v462 #service-2 .services-v462-service-main,
  .services-v462 #service-4 .services-v462-service-main{grid-template-columns:1fr!important;gap:30px!important}
  .services-v462 #service-2 .services-v462-detail-visual,
  .services-v462 #service-4 .services-v462-detail-visual{order:-1!important}
  .services-v462 .services-v462-detail-visual img{height:360px!important}
  .services-v462 .services-v462-cta .container{display:block!important}
  .services-v462 .services-v462-cta .cta-actions{margin-top:26px!important;justify-self:auto}
}

@media(max-width:560px){
  .services-v462{--svc-gutter:16px}
  .services-v462 .services-v462-hero-inner{padding:62px 0 58px!important}
  .services-v462 .services-v462-hero h1{font-size:clamp(42px,11vw,58px)!important;letter-spacing:-2.2px!important}
  .services-v462 .services-v462-section,
  .services-v462 .services-v462-intro,
  .services-v462 .services-v462-related,
  .services-v462 .services-v462-bridge{padding:62px 0!important}
  .services-v462 .services-v462-section h2,
  .services-v462 .services-v462-service-head h2{font-size:clamp(36px,9.8vw,50px)!important;line-height:1.03!important;letter-spacing:-1.8px!important}
  .services-v462 .services-v462-intro-copy,.services-v462 .services-v462-main-copy{font-size:15px!important;line-height:1.78!important}
  .services-v462 .services-v462-detail-visual img{height:250px!important}
  .services-v462 .services-v462-points{grid-template-columns:1fr!important;gap:0!important;margin-top:36px!important}
  .services-v462 .services-v462-point{grid-template-columns:1fr!important;gap:6px!important;padding:17px 0!important}
  .services-v462 .services-v462-related-links a{grid-template-columns:1fr 22px!important;gap:7px!important}
  .services-v462 .services-v462-related-links span{grid-column:1}
  .services-v462 .services-v462-cta{padding:62px 0!important}
  .services-v462 .services-v462-cta h2{font-size:clamp(38px,10vw,52px)!important}
  .services-v462 .services-v462-cta .cta-actions{flex-direction:column!important;align-items:stretch!important}
  .services-v462 .services-v462-cta .cta-actions .btn{width:100%!important}
}

/* v4.85 — Services page: lock to the same global content rail as every other page */
.services-v462 .container,
.services-v462 .services-v462-hero-inner{
  width:min(var(--sp-max),calc(100% - 64px)) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.services-v462 .services-v462-service-head,
.services-v462 .services-v462-service-main,
.services-v462 .services-v462-points,
.services-v462 .services-v462-related-links{
  width:100% !important;
}
.services-v462 .services-v462-service-head h2{
  max-width:1040px !important;
}
.services-v462 .services-v462-intro-grid{
  width:100% !important;
}

@media(max-width:1100px){
  .services-v462 .container,
  .services-v462 .services-v462-hero-inner{
    width:min(100% - 52px,var(--sp-max)) !important;
  }
}
@media(max-width:850px){
  .services-v462 .container,
  .services-v462 .services-v462-hero-inner{
    width:calc(100% - 40px) !important;
  }
}
@media(max-width:600px){
  .services-v462 .container,
  .services-v462 .services-v462-hero-inner{
    width:calc(100% - 28px) !important;
  }
}

/* v4.86 — FINAL Services rail correction
   The What We Offer wrapper itself carries the .container class. Never make
   that element width:100% of the viewport; keep it on the shared site rail. */
.services-v462 > .services-v462-intro > .services-v462-intro-grid,
.services-v462 > .services-v462-related > .container.services-v462-intro-grid,
.services-v462 > .services-v462-bridge > .services-v462-bridge-grid{
  width:min(1180px,calc(100% - 72px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* What We Offer: deliberate editorial split, aligned to the same left/right
   axes as the hero and every service-detail section. */
.services-v462 > .services-v462-intro > .services-v462-intro-grid{
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
  gap:clamp(48px,7vw,96px) !important;
  align-items:start !important;
}
.services-v462 > .services-v462-intro > .services-v462-intro-grid .services-v462-intro-content{
  width:auto !important;
  max-width:560px !important;
}
.services-v462 > .services-v462-intro > .services-v462-intro-grid .services-v462-intro-copy{
  width:auto !important;
  max-width:650px !important;
  padding-top:36px !important;
}

/* Keep the service-detail wrappers on the exact same rail. */
.services-v462 > .services-v462-detail > .container,
.services-v462 > .services-v462-related > .container,
.services-v462 > .services-v462-cta > .container{
  width:min(1180px,calc(100% - 72px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:900px){
  .services-v462 > .services-v462-intro > .services-v462-intro-grid,
  .services-v462 > .services-v462-detail > .container,
  .services-v462 > .services-v462-related > .container,
  .services-v462 > .services-v462-bridge > .services-v462-bridge-grid,
  .services-v462 > .services-v462-cta > .container{
    width:calc(100% - 40px) !important;
    max-width:none !important;
  }
  .services-v462 > .services-v462-intro > .services-v462-intro-grid{
    grid-template-columns:1fr !important;
    gap:32px !important;
  }
  .services-v462 > .services-v462-intro > .services-v462-intro-grid .services-v462-intro-copy{
    padding-top:0 !important;
  }
}

@media(max-width:560px){
  .services-v462 > .services-v462-intro > .services-v462-intro-grid,
  .services-v462 > .services-v462-detail > .container,
  .services-v462 > .services-v462-related > .container,
  .services-v462 > .services-v462-bridge > .services-v462-bridge-grid,
  .services-v462 > .services-v462-cta > .container{
    width:calc(100% - 32px) !important;
  }
}

/* v4.87 — Services final shared rail + CTA contrast
   Hero, intro, detail, bridge, related and closing CTA now use one exact rail. */
.services-v462 > .services-v462-hero > .services-v462-hero-inner{
  width:min(1180px,calc(100% - 72px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
.services-v462 > .services-v462-intro > .services-v462-intro-grid,
.services-v462 > .services-v462-detail > .container,
.services-v462 > .services-v462-related > .container,
.services-v462 > .services-v462-bridge > .services-v462-bridge-grid,
.services-v462 > .services-v462-cta > .container{
  width:min(1180px,calc(100% - 72px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Closing CTA: yellow field with intentional black editorial contrast. */
.services-v462 > .services-v462-cta{
  background:linear-gradient(135deg,#d49a00 0%,#e2a500 52%,#d59600 100%) !important;
  color:#090909 !important;
}
.services-v462 > .services-v462-cta .eyebrow,
.services-v462 > .services-v462-cta .eyebrow span,
.services-v462 > .services-v462-cta h2,
.services-v462 > .services-v462-cta .services-v462-copy,
.services-v462 > .services-v462-cta .services-v462-copy p{
  color:#090909 !important;
}
.services-v462 > .services-v462-cta .eyebrow:before{
  background:#090909 !important;
}
.services-v462 > .services-v462-cta .cta-actions .btn,
.services-v462 > .services-v462-cta .cta-actions .btn-dark{
  background:#090909 !important;
  color:#fff !important;
  border-color:#090909 !important;
}
.services-v462 > .services-v462-cta .cta-actions .btn:hover,
.services-v462 > .services-v462-cta .cta-actions .btn:focus-visible,
.services-v462 > .services-v462-cta .cta-actions .btn-dark:hover,
.services-v462 > .services-v462-cta .cta-actions .btn-dark:focus-visible{
  background:#1a1a1a !important;
  color:#fff !important;
  border-color:#1a1a1a !important;
}

@media(max-width:900px){
  .services-v462 > .services-v462-hero > .services-v462-hero-inner,
  .services-v462 > .services-v462-intro > .services-v462-intro-grid,
  .services-v462 > .services-v462-detail > .container,
  .services-v462 > .services-v462-related > .container,
  .services-v462 > .services-v462-bridge > .services-v462-bridge-grid,
  .services-v462 > .services-v462-cta > .container{
    width:calc(100% - 40px) !important;
    max-width:none !important;
  }
}
@media(max-width:560px){
  .services-v462 > .services-v462-hero > .services-v462-hero-inner,
  .services-v462 > .services-v462-intro > .services-v462-intro-grid,
  .services-v462 > .services-v462-detail > .container,
  .services-v462 > .services-v462-related > .container,
  .services-v462 > .services-v462-bridge > .services-v462-bridge-grid,
  .services-v462 > .services-v462-cta > .container{
    width:calc(100% - 32px) !important;
  }
}


/* v4.88.0 — Services hard rail + CTA contrast, cache-busted release
   Final authority for Services page geometry. */
.services-v462{overflow-x:hidden!important}
.services-v462 > .services-v462-hero > .services-v462-hero-inner,
.services-v462 > .services-v462-intro > .services-v462-intro-grid,
.services-v462 > .services-v462-detail > .container,
.services-v462 > .services-v462-related > .container,
.services-v462 > .services-v462-bridge > .services-v462-bridge-grid,
.services-v462 > .services-v462-cta > .container{
  box-sizing:border-box!important;
  width:calc(100% - 64px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.services-v462 > .services-v462-hero > .services-v462-hero-inner{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  gap:clamp(48px,6vw,96px)!important;
  padding-top:92px!important;
  padding-bottom:84px!important;
}
.services-v462 > .services-v462-hero > .services-v462-hero-inner > div:first-child,
.services-v462 > .services-v462-hero > .services-v462-hero-inner > .services-v462-hero-copy{
  min-width:0!important;
}
.services-v462 > .services-v462-hero > .services-v462-hero-inner h1{
  max-width:820px!important;
  margin-left:0!important;
  margin-right:0!important;
}
.services-v462 > .services-v462-intro > .services-v462-intro-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:clamp(48px,7vw,96px)!important;
  align-items:start!important;
}
.services-v462 > .services-v462-intro > .services-v462-intro-grid .services-v462-intro-title{
  max-width:620px!important;
}
.services-v462 > .services-v462-intro > .services-v462-intro-grid .services-v462-intro-copy{
  max-width:680px!important;
  padding-top:8px!important;
}
.services-v462 > .services-v462-cta{
  background:linear-gradient(135deg,#d49a00 0%,#e2a500 52%,#d59600 100%)!important;
  color:#090909!important;
}
.services-v462 > .services-v462-cta .eyebrow,
.services-v462 > .services-v462-cta .eyebrow span,
.services-v462 > .services-v462-cta h2,
.services-v462 > .services-v462-cta h2 *,
.services-v462 > .services-v462-cta .services-v462-copy,
.services-v462 > .services-v462-cta .services-v462-copy *{
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
}
.services-v462 > .services-v462-cta .eyebrow:before{background:#090909!important}
.services-v462 > .services-v462-cta .cta-actions .btn,
.services-v462 > .services-v462-cta .cta-actions .btn-dark{
  background:#090909!important;color:#fff!important;border-color:#090909!important;
}
.services-v462 > .services-v462-cta .cta-actions .btn:hover,
.services-v462 > .services-v462-cta .cta-actions .btn:focus-visible,
.services-v462 > .services-v462-cta .cta-actions .btn-dark:hover,
.services-v462 > .services-v462-cta .cta-actions .btn-dark:focus-visible{
  background:#090909!important;color:#fff!important;border-color:#090909!important;
}
@media(max-width:900px){
  .services-v462 > .services-v462-hero > .services-v462-hero-inner,
  .services-v462 > .services-v462-intro > .services-v462-intro-grid,
  .services-v462 > .services-v462-detail > .container,
  .services-v462 > .services-v462-related > .container,
  .services-v462 > .services-v462-bridge > .services-v462-bridge-grid,
  .services-v462 > .services-v462-cta > .container{
    width:calc(100% - 40px)!important;
    max-width:none!important;
  }
  .services-v462 > .services-v462-hero > .services-v462-hero-inner{
    grid-template-columns:1fr!important;
    padding-top:72px!important;padding-bottom:68px!important;
  }
  .services-v462 > .services-v462-intro > .services-v462-intro-grid{grid-template-columns:1fr!important;gap:30px!important}
}
@media(max-width:560px){
  .services-v462 > .services-v462-hero > .services-v462-hero-inner,
  .services-v462 > .services-v462-intro > .services-v462-intro-grid,
  .services-v462 > .services-v462-detail > .container,
  .services-v462 > .services-v462-related > .container,
  .services-v462 > .services-v462-bridge > .services-v462-bridge-grid,
  .services-v462 > .services-v462-cta > .container{width:calc(100% - 32px)!important}
}


/* v4.89.0 — Services closing CTA eyebrow visibility fix.
   Use explicit line + label markup so global .eyebrow pseudo-element rules cannot hide or stretch the label. */
.services-v462 > .services-v462-cta > .container .services-v462-cta-eyebrow{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 14px!important;
  color:#090909!important;
  font-family:Montserrat,Inter,Arial,sans-serif!important;
  font-size:9px!important;
  line-height:1.3!important;
  letter-spacing:2.2px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  opacity:1!important;
  visibility:visible!important;
}
.services-v462 > .services-v462-cta > .container .services-v462-cta-eyebrow-line{
  display:block!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:1px!important;
  min-width:34px!important;
  background:#090909!important;
  opacity:1!important;
}
.services-v462 > .services-v462-cta > .container .services-v462-cta-eyebrow-label{
  display:block!important;
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
  opacity:1!important;
  visibility:visible!important;
  white-space:normal!important;
}
@media(max-width:560px){
  .services-v462 > .services-v462-cta > .container .services-v462-cta-eyebrow{
    font-size:8px!important;
    letter-spacing:1.7px!important;
  }
}

/* v4.90.0 — Why Sharpline page: clean editorial alignment + optional imagery */
.why-page{--why-rail:min(1180px,calc(100% - 48px));background:#060606;color:#fff}
.why-page .why-hero{min-height:590px;padding:110px 0 95px;position:relative;overflow:hidden;background:#070808!important;display:flex;align-items:end}
.why-page .why-hero-media{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.why-page .why-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,3,3,.95) 0%,rgba(3,3,3,.78) 54%,rgba(3,3,3,.35) 100%),linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.58));z-index:1}
.why-page .why-hero-inner{position:relative;z-index:2;width:var(--why-rail);max-width:none;margin:0 auto;display:block}
.why-page .why-hero h1{max-width:930px;font-size:clamp(54px,6.5vw,90px);line-height:.94;letter-spacing:-4px;margin:18px 0 24px}
.why-page .why-hero p{max-width:720px;font-size:17px;line-height:1.8;color:#a9aaa7;margin:0}
.why-page .why-section{padding:112px 0;background:#070808;border-top:1px solid rgba(255,255,255,.055);position:relative;overflow:hidden}
.why-page .why-section.why-alt{background:#0b0d0d}
.why-page .why-section-inner{width:var(--why-rail);max-width:none;margin:0 auto;display:grid;grid-template-columns:minmax(290px,.68fr) minmax(0,1.32fr);gap:80px;align-items:start}
.why-page .why-section-copy{padding-top:4px}
.why-page .why-section .eyebrow{display:flex;align-items:center;gap:12px;width:max-content;color:var(--gold2);font-size:9px;letter-spacing:1.8px;font-weight:800}
.why-page .why-section .eyebrow:before{content:"";width:34px;height:1px;background:currentColor;opacity:.8}
.why-page .why-section .eyebrow b{font-size:9px;color:#8d8d8d;font-weight:800}
.why-page .why-section h2{font-size:clamp(42px,4.4vw,62px);line-height:1.01;letter-spacing:-2.6px;margin:18px 0 0;max-width:600px}
.why-page .why-section-content{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:48px;align-items:start}
.why-page .why-section.no-image .why-section-content{grid-template-columns:minmax(0,1fr);max-width:780px}
.why-page .why-rich-copy{font-size:16px;line-height:1.82;color:#a7aaa8;max-width:760px}
.why-page .why-rich-copy p{margin:0 0 22px}
.why-page .why-points{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.09)}
.why-page .why-points li{position:relative;padding:18px 0 18px 23px;border-bottom:1px solid rgba(255,255,255,.09);color:#ddd;line-height:1.6}
.why-page .why-points li:before{content:"";position:absolute;left:0;top:27px;width:6px;height:6px;background:var(--gold2);border-radius:50%}
.why-page .why-section-media{width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.why-page .why-section-media img{width:100%;height:100%;object-fit:cover;display:block}
.why-page .why-cta{background:var(--gold2)!important;color:#080808!important;padding:92px 0!important;position:relative;overflow:hidden}
.why-page .why-cta:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(0,0,0,.14);border-radius:50%;right:-170px;top:-210px}
.why-page .why-cta-inner{width:var(--why-rail);max-width:none;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:end;position:relative;z-index:1}
.why-page .why-cta .eyebrow{display:flex;align-items:center;gap:12px;width:max-content;color:#080808!important;font-size:9px;letter-spacing:1.8px;font-weight:800}
.why-page .why-cta .eyebrow:before{content:"";width:34px;height:1px;background:#080808!important;opacity:.85}
.why-page .why-cta h2{color:#080808!important;font-size:clamp(42px,5vw,70px);line-height:.98;letter-spacing:-3px;margin:16px 0 20px;max-width:760px}
.why-page .why-cta p{color:#181818!important;max-width:700px;font-size:16px;line-height:1.7;margin:0}
.why-page .why-cta .btn-dark{background:#080808!important;color:#fff!important;border-color:#080808!important;min-width:205px}
.why-page .why-cta .btn-dark:hover{background:#080808!important;color:#fff!important;border-color:#080808!important}
@media(max-width:900px){
 .why-page .why-section-inner{grid-template-columns:1fr;gap:34px}
 .why-page .why-section-content{grid-template-columns:1fr;gap:34px}
 .why-page .why-section-media{max-width:560px}
 .why-page .why-cta-inner{grid-template-columns:1fr;gap:30px;align-items:start}
}
@media(max-width:600px){
 .why-page{--why-rail:calc(100% - 32px)}
 .why-page .why-hero{min-height:470px;padding:82px 0 66px}
 .why-page .why-hero h1{font-size:clamp(43px,11vw,58px);letter-spacing:-2.8px}
 .why-page .why-hero p{font-size:15px}
 .why-page .why-section{padding:72px 0}
 .why-page .why-section h2{font-size:36px;letter-spacing:-1.8px}
 .why-page .why-rich-copy{font-size:15px}
 .why-page .why-cta{padding:72px 0!important}
 .why-page .why-cta h2{font-size:42px;letter-spacing:-2px}
 .why-page .why-cta .btn-dark{width:100%}
}

/* v4.92.0 — Why Sharpline section imagery as full-width editorial backgrounds */
.why-page{--why-rail:min(1180px,calc(100% - 48px));background:#060606;color:#fff}
.why-page .why-hero{min-height:590px;padding:110px 0 95px;position:relative;overflow:hidden;background:#070808;display:flex;align-items:end}
.why-page .why-hero-media{position:absolute;inset:0;background-image:var(--why-hero-image);background-size:cover;background-position:center;z-index:0}
.why-page .why-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,3,3,.95) 0%,rgba(3,3,3,.78) 52%,rgba(3,3,3,.30) 100%),linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.62));z-index:1}
.why-page .why-hero-inner{position:relative;z-index:2;width:var(--why-rail);max-width:none;margin:0 auto}
.why-page .why-hero h1{max-width:930px;font-size:clamp(54px,6.5vw,90px);line-height:.94;letter-spacing:-4px;margin:18px 0 24px}
.why-page .why-hero-text{max-width:720px;font-size:17px;line-height:1.8;color:#b7b9b7}
.why-page .why-hero .eyebrow,.why-page .why-section .eyebrow{display:flex;align-items:center;gap:12px;width:max-content;color:var(--gold2);font-size:9px;letter-spacing:1.8px;font-weight:800}
.why-page .why-hero .eyebrow i,.why-page .why-section .eyebrow i{display:block;width:34px;height:1px;background:currentColor;opacity:.85}
.why-page .why-section{min-height:430px;padding:96px 0;position:relative;overflow:hidden;background:#070808;border-top:1px solid rgba(255,255,255,.055)}
.why-page .why-section.why-alt{background:#0b0d0d}
.why-page .why-section.has-image .why-section-bg{position:absolute;inset:0;background-image:var(--why-section-image);background-size:cover;background-position:center;z-index:0}
.why-page .why-section.has-image .why-section-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,5,.96) 0%,rgba(4,5,5,.86) 42%,rgba(4,5,5,.50) 100%),linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.72));z-index:1}
.why-page .why-section-inner{position:relative;z-index:2;width:var(--why-rail);max-width:none;margin:0 auto;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:80px;align-items:start}
.why-page .why-section-copy{padding-top:4px}
.why-page .why-section h2{font-size:clamp(42px,4.4vw,62px);line-height:1.01;letter-spacing:-2.6px;margin:18px 0 0;max-width:600px}
.why-page .why-section-content{min-width:0}
.why-page .why-rich-copy{font-size:16px;line-height:1.82;color:#b7b9b7;max-width:780px}
.why-page .why-rich-copy p{margin:0 0 22px}
.why-page .why-points{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.13);display:grid;grid-template-columns:1fr 1fr;column-gap:45px}
.why-page .why-points li{position:relative;padding:18px 0 18px 22px;border-bottom:1px solid rgba(255,255,255,.13);color:#e5e5e5;line-height:1.6}
.why-page .why-points li:before{content:"";position:absolute;left:0;top:27px;width:6px;height:6px;background:var(--gold2);border-radius:50%}
.why-page .why-section.has-image .why-rich-copy{color:#d0d1d0}
.why-page .why-cta{background:var(--gold2)!important;color:#080808!important;padding:92px 0!important;position:relative;overflow:hidden}
.why-page .why-cta-inner{width:var(--why-rail);max-width:none;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:end;position:relative;z-index:1}
.why-page .why-cta .eyebrow{display:flex;align-items:center;gap:12px;width:max-content;color:#080808!important;font-size:9px;letter-spacing:1.8px;font-weight:800}
.why-page .why-cta .eyebrow i{display:block;width:34px;height:1px;background:#080808!important}
.why-page .why-cta h2{color:#080808!important;font-size:clamp(42px,5vw,70px);line-height:.98;letter-spacing:-3px;margin:16px 0 20px;max-width:760px}
.why-page .why-cta p{color:#181818!important;max-width:700px;font-size:16px;line-height:1.7;margin:0}
.why-page .why-cta .btn{background:#080808!important;color:#fff!important;border-color:#080808!important;min-width:205px}
.why-page .why-cta .btn:hover{background:#080808!important;color:#fff!important;border-color:#080808!important}
@media(max-width:900px){
 .why-page .why-section-inner{grid-template-columns:1fr;gap:34px}
 .why-page .why-points{grid-template-columns:1fr}
 .why-page .why-cta-inner{grid-template-columns:1fr;gap:30px;align-items:start}
}
@media(max-width:600px){
 .why-page{--why-rail:calc(100% - 32px)}
 .why-page .why-hero{min-height:470px;padding:82px 0 66px}
 .why-page .why-hero h1{font-size:clamp(43px,11vw,58px);letter-spacing:-2.8px}
 .why-page .why-hero-text{font-size:15px}
 .why-page .why-section{min-height:0;padding:72px 0}
 .why-page .why-section h2{font-size:36px;letter-spacing:-1.8px}
 .why-page .why-rich-copy{font-size:15px}
 .why-page .why-cta{padding:72px 0!important}
 .why-page .why-cta h2{font-size:42px;letter-spacing:-2px}
 .why-page .why-cta .btn{width:100%}
}

/* v4.93.0 — Why Sharpline typography and eyebrow cleanup */
.why-page .why-hero .eyebrow:before,
.why-page .why-section .eyebrow:before,
.why-page .why-cta .eyebrow:before{content:none!important;display:none!important}
.why-page .why-section-content{display:block!important;grid-template-columns:none!important;width:100%;min-width:0}
.why-page .why-rich-copy{width:100%;max-width:820px}
.why-page .why-points{width:100%;max-width:820px}
@media (max-width:980px){
  .why-page .why-section-inner{grid-template-columns:1fr;gap:32px}
  .why-page .why-section-content{width:100%}
  .why-page .why-rich-copy,.why-page .why-points{max-width:none}
}

/* v4.99.0 — Why Sharpline spacing refinement */
.why-page .why-hero-inner{padding-top:8px}
.why-page .why-hero .eyebrow{margin-bottom:24px}
.why-page .why-hero h1{max-width:980px;line-height:1.01;letter-spacing:-3.2px;margin:0 0 30px}
.why-page .why-hero-text{max-width:760px;line-height:1.78}
.why-page .why-section{padding:108px 0}
.why-page .why-section-copy{padding-top:2px}
.why-page .why-section .eyebrow{margin-bottom:22px}
.why-page .why-section h2{line-height:1.04;letter-spacing:-2.2px;margin:0;max-width:620px}
.why-page .why-rich-copy{line-height:1.78}
.why-page .why-rich-copy p{margin-bottom:26px}
.why-page .why-points{margin-top:12px}
.why-page .why-points li{padding-top:19px;padding-bottom:19px;line-height:1.55}
@media(max-width:900px){
 .why-page .why-hero h1{max-width:900px;line-height:1.02}
 .why-page .why-section{padding:88px 0}
}
@media(max-width:600px){
 .why-page .why-hero .eyebrow{margin-bottom:18px}
 .why-page .why-hero h1{line-height:1.03;letter-spacing:-2.1px;margin-bottom:24px}
 .why-page .why-section{padding:72px 0}
 .why-page .why-section .eyebrow{margin-bottom:18px}
 .why-page .why-section h2{line-height:1.06;letter-spacing:-1.5px}
}


/* v4.99.0 — Why Sharpline hero line-spacing correction; keep font size unchanged */
.why-page .why-hero h1{
  max-width: 1040px !important;
  letter-spacing: -0.75px !important;
  line-height: 1.05 !important;
  word-spacing: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
@media (max-width: 900px){
  .why-page .why-hero h1{
    max-width: 100% !important;
    letter-spacing: -0.45px !important;
    line-height: 1.06 !important;
  }
}
@media (max-width: 600px){
  .why-page .why-hero h1{
    letter-spacing: -0.2px !important;
    line-height: 1.08 !important;
  }
}

/* =========================================================
   SHARPLINE v4.99.0 — CONTACT / ENQUIRE PAGE FINAL QC
   ========================================================= */
.contact-page.contact-section{padding:72px 0 88px;background:#080808}
.contact-page.contact-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:72px;align-items:start}
.contact-page .enquiry-panel{min-width:0}
.contact-page .enquiry-panel>.eyebrow{margin-bottom:8px}
.contact-page .enquiry-panel>h2{font-size:clamp(42px,4.5vw,62px);letter-spacing:-1.8px;margin:10px 0 16px}
.contact-page .enquiry-intro{max-width:720px;color:#a8a8a8;font-size:15px;line-height:1.75;margin:0 0 28px}
.contact-page .enquiry-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 30px}
.contact-page .enquiry-steps span{padding:14px 12px;font-size:9px;letter-spacing:1.1px;color:#8d8d8d;border-right:1px solid var(--line)}
.contact-page .enquiry-steps span:last-child{border-right:0}
.contact-page .enquiry-steps b{color:var(--gold2);margin-right:7px}
.contact-page .enquiry-form{gap:16px}
.contact-page .field input,.contact-page .field select,.contact-page .field textarea{background:#0d0d0d;border-color:#292929;padding:14px 15px}
.contact-page .field textarea{min-height:155px;resize:vertical}
.contact-page .enquiry-form .btn{min-width:190px}
.contact-page .contact-side{background:#0d0d0d;border:1px solid rgba(255,255,255,.1);padding:34px 34px 30px}
.contact-page .contact-side h2{font-size:clamp(32px,3.2vw,46px);letter-spacing:-1px;margin:10px 0 12px}
.contact-page .contact-side-intro{color:#999;margin:0 0 18px}
.contact-page .direct-link{padding:17px 0}
.contact-page .address-box{margin-top:28px;padding-top:24px}
.contact-page .map-preview{margin-top:18px;overflow:hidden;border:1px solid var(--line);min-height:190px}
.contact-page .map-preview iframe{display:block;width:100%;height:190px;border:0;filter:none !important;}
.contact-page.contact-bottom{padding:64px 0 70px;background:var(--gold);color:#090909}
.contact-page.contact-bottom .eyebrow{color:#090909}
.contact-page.contact-bottom h2{font-size:clamp(42px,5vw,68px);letter-spacing:-2px;line-height:1;margin:10px 0 14px}
.contact-page.contact-bottom p{margin:0;color:#17110a;font-size:16px}
.contact-page.contact-bottom:after{display:none}
.contact-page~.site-footer{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:2}
body.mobile-nav-open{overflow:hidden}
@media(max-width:850px){
  .contact-page.contact-section{padding:54px 0 68px}
  .contact-page.contact-grid{grid-template-columns:1fr;gap:48px}
  .contact-page .enquiry-panel>h2{font-size:clamp(38px,10vw,52px);letter-spacing:-1.2px}
  .contact-page .enquiry-steps{grid-template-columns:1fr}
  .contact-page .enquiry-steps span{border-right:0;border-bottom:1px solid var(--line)}
  .contact-page .enquiry-steps span:last-child{border-bottom:0}
  .contact-page .contact-side{padding:28px 22px}
  .contact-page.contact-bottom{padding:56px 0 62px}
  .contact-page.contact-bottom h2{font-size:42px;letter-spacing:-1.2px}
}
@media(max-width:560px){
  .contact-page.contact-section{padding:46px 0 58px}
  .contact-page .enquiry-form{grid-template-columns:1fr}
  .contact-page .field.full,.contact-page .enquiry-form .full{grid-column:auto}
  .contact-page .enquiry-form .btn{width:100%}
  .contact-page .contact-side{padding:24px 18px}
  .contact-page.contact-bottom h2{font-size:38px}
}

/* v5.00.0 Contact page final alignment */
.contact-intro{position:relative;overflow:hidden;padding:92px 0 58px;background:#080808;border-bottom:1px solid var(--sp-line)}
.contact-intro:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 25%,rgba(197,162,93,.10),transparent 32%),linear-gradient(120deg,#060606 0%,#0b0b0b 72%,#101010 100%);pointer-events:none}
.contact-intro-inner{position:relative;z-index:1}
.contact-intro h1{font-family:var(--font-display);font-size:clamp(48px,5.4vw,76px);line-height:1;letter-spacing:-2.8px;max-width:850px;margin:15px 0 16px}
.contact-intro p{max-width:680px;margin:0;color:#a6a6a1;font-size:17px;line-height:1.7}
.contact-section{padding:76px 0 92px}
.contact-grid{align-items:start;gap:72px}
.enquiry-panel,.contact-side{min-width:0}
.enquiry-panel h2,.contact-side h2{margin-top:14px;margin-bottom:18px}
.enquiry-intro{max-width:760px;margin:0 0 34px;color:#a6a6a1}
.enquiry-form{margin-top:10px}
.contact-side{padding-top:4px}
.contact-side h2{max-width:560px}
.map-preview{height:220px;margin-top:20px;border:1px solid var(--sp-line);overflow:hidden;background:#101010}
.map-preview iframe{width:100%;height:100%;border:0;display:block;filter:none !important;}
.contact-bottom{display:none!important}
@media(max-width:850px){.contact-intro{padding:72px 0 48px}.contact-intro h1{font-size:clamp(42px,10vw,64px);letter-spacing:-2px}.contact-intro p{font-size:15px}.contact-section{padding:64px 0 76px}.contact-grid{gap:46px}.contact-side{padding-top:0}.map-preview{height:240px}}
@media(max-width:600px){.contact-intro{padding:58px 0 42px}.contact-intro h1{font-size:43px;line-height:.98;letter-spacing:-1.5px}.contact-section{padding:54px 0 64px}.enquiry-intro{font-size:14px}.map-preview{height:210px}}

/* v5.01 Contact page final hierarchy */
.contact-intro{display:none!important}
.contact-section{padding:72px 0 90px!important;background:#080808!important}
.contact-grid{grid-template-columns:minmax(0,1fr) 360px!important;gap:58px!important;align-items:start!important}
.enquiry-panel{max-width:760px!important}
.contact-form-title{font-family:var(--font-display,'Montserrat',sans-serif)!important;font-size:clamp(42px,4.2vw,60px)!important;line-height:1.02!important;letter-spacing:-1.8px!important;margin:14px 0 10px!important}
.contact-form-subtitle{color:#9b9b9b!important;font-size:15px!important;line-height:1.7!important;margin:0 0 38px!important}
.enquiry-eyebrow{margin-top:8px!important}
.enquiry-panel>h2{font-size:clamp(34px,3.2vw,46px)!important;line-height:1.05!important;margin:12px 0 14px!important}
.enquiry-panel .enquiry-intro{max-width:650px!important;margin-bottom:28px!important}
.enquiry-form{margin-top:0!important;gap:18px!important}
.contact-side{position:static!important;padding-left:34px!important;border-left:1px solid var(--sp-line)!important}
.contact-side h2{font-size:clamp(34px,3.2vw,46px)!important;line-height:1.05!important;margin:12px 0 18px!important}
@media(max-width:850px){.contact-section{padding:58px 0 72px!important}.contact-grid{grid-template-columns:1fr!important;gap:48px!important}.enquiry-panel{max-width:none!important}.contact-side{padding-left:0!important;border-left:0!important;border-top:1px solid var(--sp-line)!important;padding-top:38px!important}.contact-form-title{font-size:clamp(40px,9vw,56px)!important}}
@media(max-width:560px){.contact-section{padding:44px 0 58px!important}.contact-form-title{font-size:43px!important;letter-spacing:-1.3px!important}.contact-form-subtitle{font-size:14px!important;margin-bottom:30px!important}.enquiry-panel>h2{font-size:34px!important}.contact-side h2{font-size:34px!important}}


/* =========================================================
   v5.02.0 — CONTACT PAGE FINAL EDITORIAL ALIGNMENT
   One global rail, controlled form width, clean hierarchy.
   ========================================================= */
.contact-page.contact-section{
  padding:76px 0 92px!important;
  background:#080808!important;
}
.contact-page .contact-grid{
  width:min(var(--sp-container,1240px),calc(100% - (var(--sp-gutter,80px) * 2)))!important;
  max-width:var(--sp-container,1240px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 360px!important;
  gap:58px!important;
  align-items:start!important;
}
.contact-page .enquiry-panel{
  width:100%!important;
  max-width:780px!important;
  min-width:0!important;
}
.contact-page .contact-form-title{
  max-width:720px!important;
  margin:14px 0 10px!important;
  font-size:clamp(42px,4.2vw,60px)!important;
  line-height:1.04!important;
  letter-spacing:-1.8px!important;
}
.contact-page .contact-form-subtitle{
  max-width:620px!important;
  margin:0 0 38px!important;
  color:#9b9b9b!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.contact-page .enquiry-eyebrow{margin:0 0 4px!important}
.contact-page .enquiry-panel>h2{
  max-width:650px!important;
  margin:12px 0 14px!important;
  font-size:clamp(34px,3.2vw,46px)!important;
  line-height:1.06!important;
  letter-spacing:-1.2px!important;
}
.contact-page .enquiry-panel .enquiry-intro{
  max-width:650px!important;
  margin:0 0 28px!important;
  color:#a6a6a1!important;
  line-height:1.75!important;
}
.contact-page .enquiry-form{
  width:100%!important;
  max-width:780px!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
}
.contact-page .contact-side{
  width:100%!important;
  max-width:360px!important;
  margin:0!important;
  padding:34px 34px 30px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  background:#0d0d0d!important;
}
.contact-page .contact-side h2{max-width:290px!important}
@media(max-width:1100px){
  .contact-page .contact-grid{
    width:calc(100% - (var(--sp-gutter,56px) * 2))!important;
  }
}
@media(max-width:850px){
  .contact-page.contact-section{padding:58px 0 72px!important}
  .contact-page .contact-grid{
    width:calc(100% - 40px)!important;
    grid-template-columns:1fr!important;
    gap:48px!important;
  }
  .contact-page .enquiry-panel,.contact-page .enquiry-form{max-width:none!important}
  .contact-page .contact-side{max-width:none!important}
  .contact-page .contact-form-title{font-size:clamp(40px,9vw,56px)!important}
}
@media(max-width:560px){
  .contact-page .contact-grid{width:calc(100% - 28px)!important}
  .contact-page .enquiry-form{grid-template-columns:1fr!important}
  .contact-page .contact-form-title{font-size:43px!important;letter-spacing:-1.3px!important}
  .contact-page .contact-side{padding:24px 18px!important}
}

/* =========================================================
   v5.03.0 — CONTACT PAGE STRUCTURE / ALIGNMENT FINAL
   Form is the primary top block; Direct Contact follows below.
   Uses the same editorial rail as the rest of the site.
   ========================================================= */
.contact-page.contact-section{
  padding:72px 0 96px!important;
  background:#080808!important;
}
.contact-page .contact-grid{
  width:calc(100% - 48px)!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:64px!important;
  align-items:stretch!important;
}
.contact-page .enquiry-panel{
  width:100%!important;
  max-width:920px!important;
  margin:0!important;
  padding:0!important;
}
.contact-page .contact-form-title{
  max-width:760px!important;
  margin:14px 0 10px!important;
  font-size:clamp(42px,4vw,58px)!important;
  line-height:1.04!important;
  letter-spacing:-1.7px!important;
}
.contact-page .contact-form-subtitle{
  max-width:650px!important;
  margin:0 0 42px!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.contact-page .enquiry-eyebrow{margin:0 0 5px!important}
.contact-page .enquiry-panel>h2{
  max-width:760px!important;
  margin:12px 0 14px!important;
  font-size:clamp(34px,3vw,44px)!important;
  line-height:1.08!important;
  letter-spacing:-1.1px!important;
}
.contact-page .enquiry-panel .enquiry-intro{
  max-width:760px!important;
  margin:0 0 30px!important;
  line-height:1.7!important;
}
.contact-page .enquiry-form{
  width:100%!important;
  max-width:860px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
}
.contact-page .contact-side{
  width:100%!important;
  max-width:920px!important;
  margin:0!important;
  padding:38px 42px 36px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-left:2px solid var(--gold2)!important;
  background:#0d0d0d!important;
}
.contact-page .contact-side h2{
  max-width:560px!important;
  margin:12px 0 14px!important;
  font-size:clamp(34px,3vw,44px)!important;
  line-height:1.06!important;
  letter-spacing:-1.1px!important;
}
.contact-page .contact-side-intro{max-width:650px!important}
.contact-page .contact-side .direct-link{max-width:760px!important}
.contact-page .contact-side .address-box{max-width:760px!important}
@media(max-width:850px){
  .contact-page.contact-section{padding:56px 0 72px!important}
  .contact-page .contact-grid{width:calc(100% - 32px)!important;gap:48px!important}
  .contact-page .enquiry-panel,.contact-page .contact-side{max-width:none!important}
  .contact-page .contact-side{padding:30px 24px!important}
}
@media(max-width:560px){
  .contact-page .contact-grid{width:calc(100% - 24px)!important}
  .contact-page .contact-form-title{font-size:43px!important;letter-spacing:-1.3px!important}
  .contact-page .enquiry-form{grid-template-columns:1fr!important}
  .contact-page .contact-side{padding:26px 18px!important}
}

/* =========================================================
   SHARPLINE v5.04 — CONTACT PREMIUM BALANCE PASS
   Use the full editorial grid, reduce oversized typography,
   keep the enquiry form dominant and direct contact balanced.
   ========================================================= */
.contact-page.contact-section{
  padding:82px 0 96px!important;
  background:#070707!important;
  overflow:hidden;
}
.contact-page .contact-grid{
  width:min(var(--sp-max),calc(100% - 64px))!important;
  max-width:1240px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr)!important;
  gap:54px!important;
  align-items:start!important;
}
.contact-page .enquiry-panel,
.contact-page .contact-side{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.contact-page .enquiry-panel{
  padding:40px 44px 46px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-left:2px solid var(--gold2)!important;
  background:linear-gradient(145deg,#0c0c0c 0%,#090909 100%)!important;
}
.contact-page .contact-form-title{
  font-size:clamp(44px,4vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-2.1px!important;
  margin:18px 0 12px!important;
  max-width:none!important;
  white-space:nowrap!important;
}
.contact-page .contact-form-subtitle{
  margin:0 0 38px!important;
  font-size:15px!important;
  line-height:1.7!important;
  color:#a8aaa6!important;
}
.contact-page .enquiry-eyebrow{margin-top:0!important}
.contact-page .enquiry-panel h2{
  font-size:clamp(34px,3vw,44px)!important;
  line-height:1.08!important;
  letter-spacing:-1.3px!important;
  margin:12px 0 12px!important;
}
.contact-page .enquiry-intro{
  max-width:760px!important;
  margin:0 0 30px!important;
  font-size:14px!important;
  line-height:1.75!important;
  color:#969894!important;
}
.contact-page .enquiry-form{
  max-width:none!important;
  width:100%!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:17px!important;
}
.contact-page .field input,
.contact-page .field select,
.contact-page .field textarea{
  background:#0a0a0a!important;
  border-color:rgba(255,255,255,.13)!important;
}
.contact-page .field textarea{min-height:145px!important}
.contact-page .contact-side{
  padding:40px 38px 42px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-left:2px solid var(--gold2)!important;
  background:#0b0b0b!important;
}
.contact-page .contact-side h2{
  font-size:clamp(34px,3.1vw,46px)!important;
  line-height:1.06!important;
  letter-spacing:-1.4px!important;
  margin:14px 0 14px!important;
  max-width:100%!important;
}
.contact-page .contact-side-intro{
  max-width:100%!important;
  margin:0 0 24px!important;
  color:#999b97!important;
  font-size:14px!important;
  line-height:1.7!important;
}
.contact-page .contact-side .direct-link{
  max-width:none!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:70px minmax(0,1fr) 20px!important;
  gap:10px!important;
  padding:19px 0!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  align-items:center!important;
}
.contact-page .contact-side .direct-link strong{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.contact-page .contact-side .address-box{
  max-width:none!important;
  margin-top:28px!important;
  padding-top:24px!important;
}
.contact-page .contact-side .map-preview{margin-top:18px!important}
.contact-page .contact-side .map-preview iframe{width:100%!important;min-height:210px!important;border:0!important}

@media(max-width:1100px){
  .contact-page .contact-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.9fr)!important;gap:38px!important}
  .contact-page .enquiry-panel{padding:36px 34px 40px!important}
  .contact-page .contact-side{padding:36px 30px 38px!important}
  .contact-page .contact-form-title{font-size:clamp(40px,4vw,52px)!important}
}
@media(max-width:850px){
  .contact-page.contact-section{padding:68px 0 80px!important}
  .contact-page .contact-grid{width:calc(100% - 36px)!important;grid-template-columns:1fr!important;gap:28px!important}
  .contact-page .contact-form-title{white-space:normal!important;font-size:clamp(42px,8vw,58px)!important}
  .contact-page .enquiry-panel,.contact-page .contact-side{padding:32px 28px 36px!important}
}
@media(max-width:600px){
  .contact-page .contact-grid{width:calc(100% - 28px)!important}
  .contact-page .enquiry-panel,.contact-page .contact-side{padding:28px 22px 32px!important}
  .contact-page .contact-form-title{font-size:clamp(38px,10vw,50px)!important;letter-spacing:-1.5px!important}
  .contact-page .enquiry-panel h2{font-size:34px!important}
  .contact-page .contact-side h2{font-size:36px!important}
  .contact-page .contact-side .direct-link{grid-template-columns:62px minmax(0,1fr) 18px!important}
}

/* =========================================================
   SHARPLINE v5.05 — CONTACT PAGE FINAL STRUCTURE
   Enquiry is the primary full-width section; Direct Contact
   sits below it. Keep typography compact and premium.
   ========================================================= */
.contact-page.contact-section{
  padding:72px 0 90px!important;
  background:#070707!important;
  overflow:visible!important;
}
.contact-page .contact-grid{
  width:min(var(--sp-max),calc(100% - 64px))!important;
  max-width:1240px!important;
  margin:0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:34px!important;
  align-items:stretch!important;
}
.contact-page .enquiry-panel{
  width:100%!important;
  max-width:none!important;
  padding:42px 52px 50px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-left:2px solid var(--gold2)!important;
  background:linear-gradient(145deg,#0c0c0c 0%,#090909 100%)!important;
}
.contact-page .contact-form-title{
  font-size:clamp(42px,3.65vw,56px)!important;
  line-height:1.04!important;
  letter-spacing:-1.9px!important;
  margin:16px 0 10px!important;
  max-width:none!important;
  white-space:nowrap!important;
}
.contact-page .contact-form-subtitle{
  margin:0 0 36px!important;
  font-size:15px!important;
  line-height:1.7!important;
  color:#a8aaa6!important;
}
.contact-page .enquiry-panel h2{
  font-size:clamp(32px,2.55vw,40px)!important;
  line-height:1.08!important;
  letter-spacing:-1px!important;
  margin:11px 0 10px!important;
}
.contact-page .enquiry-intro{
  max-width:900px!important;
  margin:0 0 28px!important;
  font-size:14px!important;
  line-height:1.75!important;
  color:#969894!important;
}
.contact-page .enquiry-form{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
}
.contact-page .field input,
.contact-page .field select,
.contact-page .field textarea{
  width:100%!important;
  box-sizing:border-box!important;
  background:#090909!important;
  border-color:rgba(255,255,255,.14)!important;
}
.contact-page .field textarea{min-height:150px!important}

/* Direct contact deliberately follows the form, not beside it. */
.contact-page .contact-side{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:38px 52px 42px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-left:2px solid var(--gold2)!important;
  background:#0b0b0b!important;
  position:static!important;
}
.contact-page .contact-side h2{
  max-width:none!important;
  font-size:clamp(32px,2.55vw,42px)!important;
  line-height:1.08!important;
  letter-spacing:-1px!important;
  margin:12px 0 10px!important;
}
.contact-page .contact-side-intro{
  max-width:760px!important;
  margin:0 0 24px!important;
  font-size:14px!important;
  line-height:1.7!important;
  color:#999b97!important;
}
.contact-page .contact-side .direct-link{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:80px minmax(0,1fr) 24px!important;
  gap:14px!important;
  padding:19px 0!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  align-items:center!important;
}
.contact-page .contact-side .direct-link strong{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.contact-page .contact-side .address-box{
  width:100%!important;
  max-width:none!important;
  margin-top:28px!important;
  padding-top:24px!important;
}
.contact-page .contact-side .map-preview{
  margin-top:18px!important;
  max-width:760px!important;
}
.contact-page .contact-side .map-preview iframe{
  width:100%!important;
  min-height:220px!important;
  border:0!important;
}

@media(max-width:850px){
  .contact-page.contact-section{padding:60px 0 76px!important}
  .contact-page .contact-grid{width:calc(100% - 36px)!important;gap:26px!important}
  .contact-page .enquiry-panel,
  .contact-page .contact-side{padding:32px 30px 38px!important}
  .contact-page .contact-form-title{
    white-space:normal!important;
    font-size:clamp(40px,7vw,54px)!important;
  }
}
@media(max-width:600px){
  .contact-page .contact-grid{width:calc(100% - 28px)!important}
  .contact-page .enquiry-panel,
  .contact-page .contact-side{padding:28px 22px 32px!important}
  .contact-page .contact-form-title{
    font-size:42px!important;
    line-height:1.05!important;
    letter-spacing:-1.4px!important;
  }
  .contact-page .enquiry-panel h2,
  .contact-page .contact-side h2{font-size:32px!important}
  .contact-page .enquiry-form{grid-template-columns:1fr!important}
  .contact-page .field.full,
  .contact-page .enquiry-form .full{grid-column:auto!important}
  .contact-page .contact-side .direct-link{grid-template-columns:68px minmax(0,1fr) 18px!important}
}

/* v5.06 Contact direct-contact/map refinement */
.contact-page .contact-side .direct-link:last-of-type{
  border-bottom:0!important;
}
.contact-page .contact-side .address-box{
  margin-top:18px!important;
  padding-top:0!important;
  border-top:0!important;
}
.contact-page .contact-side .map-preview{
  width:min(620px,100%)!important;
  max-width:620px!important;
  height:185px!important;
  min-height:0!important;
  margin-top:14px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:#111!important;
}
.contact-page .contact-side .map-preview iframe{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  filter:none!important;
  -webkit-filter:none!important;
  border:0!important;
  display:block!important;
}
@media(max-width:600px){
  .contact-page .contact-side .map-preview{
    width:100%!important;
    max-width:none!important;
    height:200px!important;
  }
}

/* v5.11 — section background images render like hero backgrounds */
.sp-has-bg{position:relative!important;isolation:isolate;overflow:hidden;background-color:#070707!important;background-image:var(--sp-section-bg-image)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.sp-has-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,5,.90) 0%,rgba(4,5,5,.64) 48%,rgba(4,5,5,.34) 78%,rgba(4,5,5,.58) 100%),linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.60));z-index:0;pointer-events:none}
.sp-has-bg::after{content:none!important}
.sp-has-bg > *{position:relative;z-index:1}
.sp-has-bg .container,.sp-has-bg .services-v462-hero-inner,.sp-has-bg .why-hero-inner,.sp-has-bg .about-v600-hero-inner,.sp-has-bg .capabilities-hero-inner,.sp-has-bg .industries-hero-inner{position:relative;z-index:2}

/* Google Maps must retain its native colour treatment. */
.map-preview,.contact-page .map-preview,.contact-page .contact-side .map-preview{filter:none!important;-webkit-filter:none!important}
.map-preview iframe,.contact-page .map-preview iframe,.contact-page .contact-side .map-preview iframe{filter:none!important;-webkit-filter:none!important;opacity:1!important;mix-blend-mode:normal!important}

.site-footer.has-footer-bg{position:relative;isolation:isolate;overflow:hidden}
.site-footer.has-footer-bg::before{content:"";position:absolute;inset:0;background-image:var(--footer-bg-image);background-size:cover;background-position:center;opacity:.22;z-index:0;pointer-events:none}
.site-footer.has-footer-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,4,.96),rgba(4,4,4,.78),rgba(4,4,4,.92));z-index:0;pointer-events:none}
.site-footer.has-footer-bg > *{position:relative;z-index:1}

/* v5.09.0 — hero image is the single hero background field; non-hero sections use independent background fields. */
.map-preview, .map-preview iframe, .contact-page .map-preview, .contact-page .map-preview iframe { filter:none !important; -webkit-filter:none !important; mix-blend-mode:normal !important; opacity:1 !important; }

/* v5.12.0 — definitive section-background rendering. The CMS-selected
   background is independent from every supporting/content image. */
.sp-has-bg{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-image:var(--sp-section-bg-image)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.sp-has-bg > *{position:relative;z-index:2}
.sp-has-bg::before{
  content:"";
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(3,4,4,.90) 0%,rgba(3,4,4,.68) 48%,rgba(3,4,4,.38) 78%,rgba(3,4,4,.60) 100%),linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.62))!important;
}
.sp-has-bg::after{pointer-events:none!important}
.sp-has-bg .container,
.sp-has-bg .services-v462-hero-inner,
.sp-has-bg .why-hero-inner,
.sp-has-bg .why-section-inner,
.sp-has-bg .about-v600-hero-inner,
.sp-has-bg .capabilities-hero-inner,
.sp-has-bg .industries-hero-inner{position:relative;z-index:2}

/* Why Sharpline: supporting image is content media; uploaded section BG
   remains the actual full-section background. */
.why-page .why-section.sp-has-bg .why-section-bg{display:none!important}
.why-page .why-section.sp-has-bg .why-section-overlay{display:none!important}
.why-page .why-section .why-section-content{display:grid!important;grid-template-columns:minmax(0,1fr) 330px!important;gap:48px!important;align-items:start!important}
.why-page .why-section .why-section-media{width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(255,255,255,.10);order:2}
.why-page .why-section .why-section-media img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){
  .why-page .why-section .why-section-content{grid-template-columns:1fr!important;gap:28px!important}
  .why-page .why-section .why-section-media{order:0;max-width:560px}
}


/* v5.13.0 — Background-image rules: hero backgrounds remain dedicated; yellow CTA sections and Enquire Now do not accept a background image. */
.services-v462 > .services-v462-cta,
.industries-page > .industries-cta,
.contact-page.contact-section{
  background-image:none!important;
}
.services-v462 > .services-v462-cta.sp-has-bg,
.industries-page > .industries-cta.sp-has-bg{
  background-image:none!important;
}


/* v5.14.0 — FINAL PAGE-SPECIFIC QUALITY CONTROL
   Why Sharpline: the existing section image is the section's hero-style background.
   There is no second content-image block and no duplicate section-BG upload.
   Enquire Now: no background imagery on the form/contact sections.
*/
.why-page .why-section.has-image{
  background:#070808 var(--why-section-image) center center / cover no-repeat !important;
  isolation:isolate;
}
.why-page .why-section.has-image .why-section-bg{
  display:none!important;
}
.why-page .why-section.has-image .why-section-overlay{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:linear-gradient(90deg,rgba(3,3,3,.96) 0%,rgba(3,3,3,.84) 42%,rgba(3,3,3,.50) 72%,rgba(3,3,3,.70) 100%),linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.68))!important;
  pointer-events:none!important;
}
.why-page .why-section-inner{
  position:relative!important;
  z-index:2!important;
  width:min(1180px,calc(100% - 72px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
  grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr)!important;
  gap:76px!important;
  align-items:start!important;
}
.why-page .why-section-content{
  display:block!important;
  min-width:0!important;
  max-width:760px!important;
}
.why-page .why-rich-copy{
  max-width:760px!important;
  font-size:16px!important;
  line-height:1.75!important;
}
.why-page .why-points li{
  padding:18px 0 18px 23px!important;
  line-height:1.55!important;
}
.why-page .why-section-media{display:none!important}
.why-page .why-cta{background:var(--gold2)!important;background-image:none!important}

/* Industries: one centered editorial rail on every non-hero section. */
.industries-page > .industries-section > .container,
.industries-page > #priority-industries > .container,
.industries-page > #industry-support > .industries-support-grid,
.industries-page > #industry-proof > .industries-proof-grid{
  width:min(1180px,calc(100% - 72px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
}
.industries-page .industries-support-grid,
.industries-page .industries-proof-grid{
  box-sizing:border-box!important;
}
.industries-page .industries-section-intro,
.industries-page .industries-copy,
.industries-page .industries-proof-copy{max-width:none!important}

/* Enquire Now: never render hero-style/background images in contact panels. */
.contact-page .enquiry-panel,
.contact-page .contact-side,
.contact-page .address-box,
.contact-page .submission-success{
  background-image:none!important;
}

@media(max-width:900px){
  .why-page .why-section-inner,
  .industries-page > .industries-section > .container,
  .industries-page > #priority-industries > .container,
  .industries-page > #industry-support > .industries-support-grid,
  .industries-page > #industry-proof > .industries-proof-grid{
    width:calc(100% - 40px)!important;
    max-width:none!important;
  }
  .why-page .why-section-inner{grid-template-columns:1fr!important;gap:30px!important}
  .why-page .why-section.has-image .why-section-overlay{
    background:linear-gradient(90deg,rgba(3,3,3,.94),rgba(3,3,3,.72)),linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.72))!important;
  }
}
@media(max-width:560px){
  .why-page .why-section-inner,
  .industries-page > .industries-section > .container,
  .industries-page > #priority-industries > .container,
  .industries-page > #industry-support > .industries-support-grid,
  .industries-page > #industry-proof > .industries-proof-grid{width:calc(100% - 32px)!important}
}

/* v5.15.0 — Why Sharpline final editorial width + no-image gold CTA QC
   Keep the existing section backgrounds, but give copy enough horizontal room
   so normal words do not stack into narrow columns. */
.why-page .why-section-inner{
  width:min(1180px,calc(100% - 72px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
  grid-template-columns:minmax(390px,.62fr) minmax(0,1.38fr)!important;
  gap:64px!important;
}
.why-page .why-section-copy{min-width:0!important}
.why-page .why-section h2{
  max-width:560px!important;
  font-size:clamp(42px,4vw,58px)!important;
  line-height:1.03!important;
  letter-spacing:-2.2px!important;
}
.why-page .why-section-content{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.why-page .why-rich-copy{
  width:100%!important;
  max-width:none!important;
  font-size:16px!important;
  line-height:1.72!important;
}
.why-page .why-points{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:42px!important;
}
.why-page .why-points li{
  min-width:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  padding:18px 0 18px 23px!important;
  line-height:1.5!important;
}
.why-page .why-points li:only-child{
  grid-column:1 / -1!important;
  max-width:760px!important;
}
/* Gold/yellow CTA sections are intentionally clean and never accept BG imagery. */
.why-page .why-cta,
.why-page .why-cta.sp-has-bg,
.services-v462 > .services-v462-cta,
.services-v462 > .services-v462-cta.sp-has-bg,
.industries-page > .industries-cta,
.industries-page > .industries-cta.sp-has-bg,
.capabilities-page > .capabilities-closing,
.capabilities-page > .capabilities-closing.sp-has-bg,
.about-page .about-v600-cta,
.about-page .about-v600-cta.sp-has-bg,
.contact-page .contact-bottom,
.contact-page .contact-bottom.sp-has-bg{
  background-image:none!important;
}
@media(max-width:900px){
  .why-page .why-section-inner{
    width:calc(100% - 40px)!important;
    max-width:none!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .why-page .why-section-content{width:100%!important}
  .why-page .why-points{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:30px!important}
}
@media(max-width:600px){
  .why-page .why-section-inner{width:calc(100% - 32px)!important}
  .why-page .why-section h2{font-size:36px!important;letter-spacing:-1.8px!important}
  .why-page .why-points{grid-template-columns:1fr!important}
  .why-page .why-points li:only-child{grid-column:auto!important}
}

/* v5.16.0 — FINAL COLOR / CMS SYNC QC
   Fixed yellow CTA bands remain yellow and never accept section background images.
   Their CMS background-image controls are intentionally absent. */
.services-v462 > .services-v462-cta,
.services-v462 > .services-v462-cta.sp-has-bg{
  background:linear-gradient(135deg,#B97808 0%,#D7A62A 52%,#9A5D05 100%)!important;
  background-image:none!important;
  color:#090909!important;
}
.services-v462 > .services-v462-cta .services-v462-cta-eyebrow,
.services-v462 > .services-v462-cta .services-v462-cta-eyebrow-label,
.services-v462 > .services-v462-cta h2,
.services-v462 > .services-v462-cta .services-v462-copy,
.services-v462 > .services-v462-cta .services-v462-copy *{
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
}
.services-v462 > .services-v462-cta .services-v462-cta-eyebrow-line{
  background:#090909!important;
}
.services-v462 > .services-v462-cta .cta-actions .btn,
.services-v462 > .services-v462-cta .cta-actions .btn-dark,
.services-v462 > .services-v462-cta .cta-actions .btn:hover,
.services-v462 > .services-v462-cta .cta-actions .btn:focus-visible,
.services-v462 > .services-v462-cta .cta-actions .btn-dark:hover,
.services-v462 > .services-v462-cta .cta-actions .btn-dark:focus-visible{
  background:#090909!important;
  color:#fff!important;
  border-color:#090909!important;
}

.industries-page > .industries-cta,
.industries-page > .industries-cta.sp-has-bg{
  background:linear-gradient(135deg,#B97808 0%,#D7A62A 52%,#9A5D05 100%)!important;
  background-image:none!important;
  color:#090909!important;
}

.capabilities-page > .capabilities-closing,
.capabilities-page > .capabilities-closing.sp-has-bg{
  background:linear-gradient(135deg,#B97808 0%,#D7A62A 52%,#9A5D05 100%)!important;
  background-image:none!important;
  color:#090909!important;
}

/* Keep the existing Why Sharpline gold closing band; no image slot. */
.why-page > .why-cta,
.why-page > .why-cta.sp-has-bg{
  background:linear-gradient(135deg,#B97808 0%,#D7A62A 52%,#9A5D05 100%)!important;
  background-image:none!important;
}

/* v5.16.1 — Restore approved yellow CTA bands + fix dark-section contrast/buttons.
   Yellow CTA bands remain image-free and use dark text. Dark sections keep white text.
   Dark buttons on dark sections use Sharpline yellow with black text. */

/* Approved yellow CTA bands — no background-image upload/rendering. */
.services-v462 > .services-v462-cta,
.services-v462 > .services-v462-cta.sp-has-bg,
.industries-page > .industries-cta,
.industries-page > .industries-cta.sp-has-bg,
.capabilities-page > .capabilities-closing,
.capabilities-page > .capabilities-closing.sp-has-bg,
.why-page > .why-cta,
.why-page > .why-cta.sp-has-bg,
.about-page .about-v600-cta,
.about-page .about-v600-cta.sp-has-bg,
.contact-page .contact-bottom,
.contact-page .contact-bottom.sp-has-bg{
  background:linear-gradient(135deg,#B97808 0%,#D7A62A 52%,#9A5D05 100%)!important;
  background-image:none!important;
  color:#090909!important;
}

/* Yellow-band typography: dark text on yellow for proper contrast. */
.services-v462 > .services-v462-cta .eyebrow,
.services-v462 > .services-v462-cta .eyebrow *,
.services-v462 > .services-v462-cta h2,
.services-v462 > .services-v462-cta h2 *,
.services-v462 > .services-v462-cta .services-v462-copy,
.services-v462 > .services-v462-cta .services-v462-copy *,
.industries-page > .industries-cta .eyebrow,
.industries-page > .industries-cta .eyebrow *,
.industries-page > .industries-cta h2,
.industries-page > .industries-cta h2 *,
.industries-page > .industries-cta .rich-copy,
.industries-page > .industries-cta .rich-copy *,
.capabilities-page > .capabilities-closing .eyebrow,
.capabilities-page > .capabilities-closing .eyebrow *,
.capabilities-page > .capabilities-closing h2,
.capabilities-page > .capabilities-closing h2 *,
.capabilities-page > .capabilities-closing p,
.capabilities-page > .capabilities-closing p *,
.why-page > .why-cta .eyebrow,
.why-page > .why-cta .eyebrow *,
.why-page > .why-cta h2,
.why-page > .why-cta h2 *,
.why-page > .why-cta p,
.why-page > .why-cta p *,
.about-page .about-v600-cta .eyebrow,
.about-page .about-v600-cta .eyebrow *,
.about-page .about-v600-cta h2,
.about-page .about-v600-cta h2 *,
.about-page .about-v600-cta p,
.about-page .about-v600-cta p *,
.contact-page .contact-bottom .eyebrow,
.contact-page .contact-bottom h2,
.contact-page .contact-bottom p{
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
}

.services-v462 > .services-v462-cta .services-v462-cta-eyebrow-line,
.industries-page > .industries-cta .industries-cta-eyebrow-line,
.capabilities-page > .capabilities-closing .eyebrow:before,
.why-page > .why-cta .eyebrow i,
.about-page .about-v600-cta .eyebrow:before,
.contact-page .contact-bottom .eyebrow:before{
  background:#090909!important;
}

/* Dark buttons: Sharpline yellow with black label. */
.btn-dark,
.services-v462 > .services-v462-cta .cta-actions .btn-dark,
.services-v462 > .services-v462-cta .cta-actions .btn-dark:hover,
.services-v462 > .services-v462-cta .cta-actions .btn-dark:focus-visible{
  background:#D7A62A!important;
  color:#090909!important;
  border-color:#D7A62A!important;
  -webkit-text-fill-color:#090909!important;
  box-shadow:none!important;
}

/* Any dark section text accidentally inheriting black remains readable. */
.why-page .why-section,
.services-v462 .services-v462-section,
.industries-page .industries-section,
.capabilities-page .cap-section,
.about-page .about-v600-section,
.contact-page .contact-section{
  color:#fff;
}

.why-page .why-section h1,.why-page .why-section h2,.why-page .why-section h3,
.services-v462 .services-v462-section h1,.services-v462 .services-v462-section h2,.services-v462 .services-v462-section h3,
.industries-page .industries-section h1,.industries-page .industries-section h2,.industries-page .industries-section h3,
.capabilities-page .cap-section h1,.capabilities-page .cap-section h2,.capabilities-page .cap-section h3,
.about-page .about-v600-section h1,.about-page .about-v600-section h2,.about-page .about-v600-section h3,
.contact-page .contact-section h1,.contact-page .contact-section h2,.contact-page .contact-section h3{
  color:#fff;
}

/* v5.16.2 — About closing CTA contrast */
.about-page .about-v600-cta .eyebrow,
.about-page .about-v600-cta .eyebrow *,
.about-page .about-v600-cta h2,
.about-page .about-v600-cta h2 *,
.about-page .about-v600-cta p,
.about-page .about-v600-cta p *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.about-page .about-v600-cta .eyebrow:before{
  background:#fff!important;
}
.about-page .about-v600-cta .btn,
.about-page .about-v600-cta .btn:hover,
.about-page .about-v600-cta .btn:focus-visible{
  background:#D7A62A!important;
  color:#090909!important;
  border-color:#D7A62A!important;
  -webkit-text-fill-color:#090909!important;
}

/* v5.16.3 — CTA contrast consistency across all pages
   Dark/image CTAs: white typography + yellow/black CTA buttons.
   Approved yellow CTA bands: black typography + yellow/black CTA buttons.
   Yellow CTA bands remain image-free. */

/* DARK / IMAGE CTA BANDS */
.home-business-cta,
.about-page .about-v600-cta{
  color:#fff!important;
}
.home-business-cta h1,.home-business-cta h2,.home-business-cta h3,
.home-business-cta p,.home-business-cta span,.home-business-cta small,
.about-page .about-v600-cta h1,.about-page .about-v600-cta h2,.about-page .about-v600-cta h3,
.about-page .about-v600-cta p,.about-page .about-v600-cta span,.about-page .about-v600-cta small{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.home-business-cta .eyebrow,
.about-page .about-v600-cta .eyebrow{
  color:#D7A62A!important;
  -webkit-text-fill-color:#D7A62A!important;
}
.home-business-cta .eyebrow:before,
.about-page .about-v600-cta .eyebrow:before{
  background:#D7A62A!important;
}
.home-business-cta .btn,
.home-business-cta .btn:hover,
.home-business-cta .btn:focus-visible,
.about-page .about-v600-cta .btn,
.about-page .about-v600-cta .btn:hover,
.about-page .about-v600-cta .btn:focus-visible{
  background:#D7A62A!important;
  color:#090909!important;
  border-color:#D7A62A!important;
  -webkit-text-fill-color:#090909!important;
  box-shadow:none!important;
}

/* YELLOW CTA BANDS */
.services-v462 > .services-v462-cta,
.industries-page > .industries-cta,
.capabilities-page > .capabilities-closing,
.why-page > .why-cta{
  background:linear-gradient(135deg,#B97808 0%,#D7A62A 52%,#9A5D05 100%)!important;
  background-image:none!important;
  color:#090909!important;
}
.services-v462 > .services-v462-cta .eyebrow,
.services-v462 > .services-v462-cta .services-v462-cta-eyebrow-label,
.services-v462 > .services-v462-cta h2,
.services-v462 > .services-v462-cta .services-v462-copy,
.services-v462 > .services-v462-cta .services-v462-copy *,
.industries-page > .industries-cta .eyebrow,
.industries-page > .industries-cta .industries-cta-eyebrow-label,
.industries-page > .industries-cta h2,
.industries-page > .industries-cta .rich-copy,
.industries-page > .industries-cta .rich-copy *,
.capabilities-page > .capabilities-closing .eyebrow,
.capabilities-page > .capabilities-closing h2,
.capabilities-page > .capabilities-closing p,
.why-page > .why-cta .eyebrow,
.why-page > .why-cta h2,
.why-page > .why-cta p{
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
}
.services-v462 > .services-v462-cta .services-v462-cta-eyebrow-line,
.industries-page > .industries-cta .industries-cta-eyebrow-line,
.capabilities-page > .capabilities-closing .eyebrow:before,
.why-page > .why-cta .eyebrow i{
  background:#090909!important;
}
.services-v462 > .services-v462-cta .btn,
.services-v462 > .services-v462-cta .btn-dark,
.services-v462 > .services-v462-cta .btn:hover,
.services-v462 > .services-v462-cta .btn-dark:hover,
.services-v462 > .services-v462-cta .btn:focus-visible,
.services-v462 > .services-v462-cta .btn-dark:focus-visible,
.industries-page > .industries-cta .btn,
.industries-page > .industries-cta .btn:hover,
.industries-page > .industries-cta .btn:focus-visible,
.capabilities-page > .capabilities-closing .btn,
.capabilities-page > .capabilities-closing .btn:hover,
.capabilities-page > .capabilities-closing .btn:focus-visible,
.why-page > .why-cta .btn,
.why-page > .why-cta .btn:hover,
.why-page > .why-cta .btn:focus-visible{
  background:#D7A62A!important;
  color:#090909!important;
  border-color:#D7A62A!important;
  -webkit-text-fill-color:#090909!important;
  box-shadow:none!important;
}

/* Never let generic dark-button rules override CTA button contrast. */
.services-v462 > .services-v462-cta .cta-actions .btn-dark,
.services-v462 > .services-v462-cta .cta-actions .btn-dark:hover,
.services-v462 > .services-v462-cta .cta-actions .btn-dark:focus-visible{
  background:#D7A62A!important;
  color:#090909!important;
  border-color:#D7A62A!important;
  -webkit-text-fill-color:#090909!important;
}

/* v5.16.4 — ALL PAGE CTA BANDS: approved yellow background + black copy + black CTA buttons.
   CTA bands are intentionally image-free. Button labels/arrows stay Sharpline yellow. */
.home-business-cta,
.about-page .about-v600-cta,
.services-v462 > .services-v462-cta,
.industries-page > .industries-cta,
.capabilities-page > .capabilities-closing,
.why-page > .why-cta,
.contact-page .contact-bottom{
  background:#D7A62A!important;
  background-image:none!important;
  color:#090909!important;
  border-top-color:rgba(9,9,9,.18)!important;
  border-bottom-color:rgba(9,9,9,.18)!important;
}

.home-business-cta h1,.home-business-cta h2,.home-business-cta h3,
.home-business-cta p,.home-business-cta span,.home-business-cta small,
.about-page .about-v600-cta h1,.about-page .about-v600-cta h2,.about-page .about-v600-cta h3,
.about-page .about-v600-cta p,.about-page .about-v600-cta span,.about-page .about-v600-cta small,
.services-v462 > .services-v462-cta h1,.services-v462 > .services-v462-cta h2,.services-v462 > .services-v462-cta h3,
.services-v462 > .services-v462-cta p,.services-v462 > .services-v462-cta span,.services-v462 > .services-v462-cta small,
.industries-page > .industries-cta h1,.industries-page > .industries-cta h2,.industries-page > .industries-cta h3,
.industries-page > .industries-cta p,.industries-page > .industries-cta span,.industries-page > .industries-cta small,
.capabilities-page > .capabilities-closing h1,.capabilities-page > .capabilities-closing h2,.capabilities-page > .capabilities-closing h3,
.capabilities-page > .capabilities-closing p,.capabilities-page > .capabilities-closing span,.capabilities-page > .capabilities-closing small,
.why-page > .why-cta h1,.why-page > .why-cta h2,.why-page > .why-cta h3,
.why-page > .why-cta p,.why-page > .why-cta span,.why-page > .why-cta small,
.contact-page .contact-bottom h1,.contact-page .contact-bottom h2,.contact-page .contact-bottom h3,
.contact-page .contact-bottom p,.contact-page .contact-bottom span,.contact-page .contact-bottom small{
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
}

.home-business-cta .eyebrow,
.about-page .about-v600-cta .eyebrow,
.services-v462 > .services-v462-cta .eyebrow,
.services-v462 > .services-v462-cta .services-v462-cta-eyebrow-label,
.industries-page > .industries-cta .eyebrow,
.industries-page > .industries-cta .industries-cta-eyebrow-label,
.capabilities-page > .capabilities-closing .eyebrow,
.why-page > .why-cta .eyebrow,
.contact-page .contact-bottom .eyebrow{
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
}

.home-business-cta .eyebrow:before,
.about-page .about-v600-cta .eyebrow:before,
.services-v462 > .services-v462-cta .services-v462-cta-eyebrow-line,
.industries-page > .industries-cta .industries-cta-eyebrow-line,
.capabilities-page > .capabilities-closing .eyebrow:before,
.why-page > .why-cta .eyebrow i,
.contact-page .contact-bottom .eyebrow:before{
  background:#090909!important;
  opacity:1!important;
}

.home-business-cta .btn,
.home-business-cta .btn:hover,
.home-business-cta .btn:focus-visible,
.about-page .about-v600-cta .btn,
.about-page .about-v600-cta .btn:hover,
.about-page .about-v600-cta .btn:focus-visible,
.services-v462 > .services-v462-cta .btn,
.services-v462 > .services-v462-cta .btn:hover,
.services-v462 > .services-v462-cta .btn:focus-visible,
.industries-page > .industries-cta .btn,
.industries-page > .industries-cta .btn:hover,
.industries-page > .industries-cta .btn:focus-visible,
.capabilities-page > .capabilities-closing .btn,
.capabilities-page > .capabilities-closing .btn:hover,
.capabilities-page > .capabilities-closing .btn:focus-visible,
.why-page > .why-cta .btn,
.why-page > .why-cta .btn:hover,
.why-page > .why-cta .btn:focus-visible,
.contact-page .contact-bottom .btn,
.contact-page .contact-bottom .btn:hover,
.contact-page .contact-bottom .btn:focus-visible{
  background:#090909!important;
  color:#D7A62A!important;
  border-color:#090909!important;
  -webkit-text-fill-color:#D7A62A!important;
  box-shadow:none!important;
}

.home-business-cta .btn * ,
.about-page .about-v600-cta .btn * ,
.services-v462 > .services-v462-cta .btn * ,
.industries-page > .industries-cta .btn * ,
.capabilities-page > .capabilities-closing .btn * ,
.why-page > .why-cta .btn * ,
.contact-page .contact-bottom .btn *{
  color:#D7A62A!important;
  -webkit-text-fill-color:#D7A62A!important;
}

/* v5.16.6 — Services CTA WhatsApp button follows the black CTA button treatment. */
.services-v462 > .services-v462-cta .cta-actions > a.btn-dark,
.services-v462 > .services-v462-cta .cta-actions > a.btn-dark:hover,
.services-v462 > .services-v462-cta .cta-actions > a.btn-dark:focus-visible,
.services-v462 > .services-v462-cta .cta-actions > a.btn-dark:active{
  background:#090909!important;
  color:#D7A62A!important;
  border-color:#090909!important;
  -webkit-text-fill-color:#D7A62A!important;
  box-shadow:none!important;
}
.services-v462 > .services-v462-cta .cta-actions > a.btn-dark span,
.services-v462 > .services-v462-cta .cta-actions > a.btn-dark:hover span,
.services-v462 > .services-v462-cta .cta-actions > a.btn-dark:focus-visible span,
.services-v462 > .services-v462-cta .cta-actions > a.btn-dark:active span{
  color:#D7A62A!important;
  -webkit-text-fill-color:#D7A62A!important;
}

/* v5.16.6 — Home + About CTA final yellow treatment
   Remove any inherited/inline background imagery and use the approved CTA contrast. */
.home-business-cta,
.about-page .about-v600-cta,
.about-page .about-business-cta{
  background:#D7A62A!important;
  background-image:none!important;
  color:#090909!important;
  border-top-color:rgba(9,9,9,.18)!important;
  border-bottom-color:rgba(9,9,9,.18)!important;
}

.home-business-cta h1,.home-business-cta h2,.home-business-cta h3,.home-business-cta h4,
.home-business-cta p,.home-business-cta span,.home-business-cta small,.home-business-cta strong,
.about-page .about-v600-cta h1,.about-page .about-v600-cta h2,.about-page .about-v600-cta h3,.about-page .about-v600-cta h4,
.about-page .about-v600-cta p,.about-page .about-v600-cta span,.about-page .about-v600-cta small,.about-page .about-v600-cta strong,
.about-page .about-business-cta h1,.about-page .about-business-cta h2,.about-page .about-business-cta h3,.about-page .about-business-cta h4,
.about-page .about-business-cta p,.about-page .about-business-cta span,.about-page .about-business-cta small,.about-page .about-business-cta strong{
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
}

.home-business-cta .eyebrow,
.about-page .about-v600-cta .eyebrow,
.about-page .about-business-cta .eyebrow{
  color:#090909!important;
  -webkit-text-fill-color:#090909!important;
}
.home-business-cta .eyebrow:before,
.about-page .about-v600-cta .eyebrow:before,
.about-page .about-business-cta .eyebrow:before{
  background:#090909!important;
  opacity:1!important;
}

.home-business-cta .btn,
.home-business-cta .btn:hover,
.home-business-cta .btn:focus-visible,
.home-business-cta .btn:active,
.about-page .about-v600-cta .btn,
.about-page .about-v600-cta .btn:hover,
.about-page .about-v600-cta .btn:focus-visible,
.about-page .about-v600-cta .btn:active,
.about-page .about-business-cta .btn,
.about-page .about-business-cta .btn:hover,
.about-page .about-business-cta .btn:focus-visible,
.about-page .about-business-cta .btn:active{
  background:#090909!important;
  color:#D7A62A!important;
  border-color:#090909!important;
  -webkit-text-fill-color:#D7A62A!important;
  box-shadow:none!important;
}
.home-business-cta .btn *,
.about-page .about-v600-cta .btn *,
.about-page .about-business-cta .btn *{
  color:#D7A62A!important;
  -webkit-text-fill-color:#D7A62A!important;
}

/* v5.16.7 — Home + About closing CTA: solid yellow, no background image */
#business-enquiry.home-business-cta,
#about-closing-cta.about-business-cta{
  background-color:#D7A62A!important;
  background-image:none!important;
  color:#080808!important;
}
#business-enquiry.home-business-cta h2,
#business-enquiry.home-business-cta p,
#business-enquiry.home-business-cta .eyebrow,
#business-enquiry.home-business-cta small,
#about-closing-cta.about-business-cta h2,
#about-closing-cta.about-business-cta p,
#about-closing-cta.about-business-cta .eyebrow,
#about-closing-cta.about-business-cta small{
  color:#080808!important;
}
#business-enquiry.home-business-cta .eyebrow:before,
#about-closing-cta.about-business-cta .eyebrow:before{
  background:#080808!important;
}
#business-enquiry.home-business-cta .btn,
#about-closing-cta.about-business-cta .btn,
#business-enquiry.home-business-cta button,
#about-closing-cta.about-business-cta button{
  background:#080808!important;
  color:#D7A62A!important;
  border-color:#080808!important;
}
#business-enquiry.home-business-cta .btn span,
#about-closing-cta.about-business-cta .btn span,
#business-enquiry.home-business-cta .btn svg,
#about-closing-cta.about-business-cta .btn svg,
#business-enquiry.home-business-cta button span,
#about-closing-cta.about-business-cta button span{
  color:#D7A62A!important;
  fill:#D7A62A!important;
}
#business-enquiry.home-business-cta .btn:hover,
#about-closing-cta.about-business-cta .btn:hover,
#business-enquiry.home-business-cta button:hover,
#about-closing-cta.about-business-cta button:hover{
  background:#080808!important;
  color:#D7A62A!important;
}

/* v5.18.1 — branded 404 */
.sharpline-404{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;background:#050505;border-bottom:1px solid var(--line);isolation:isolate}
.sharpline-404:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 42%,rgba(197,162,93,.13),transparent 28%),linear-gradient(135deg,#050505 0%,#0a0b0b 65%,#101010 100%);z-index:-2}
.sharpline-404:after{content:"";position:absolute;left:-8%;right:-8%;bottom:17%;height:1px;background:linear-gradient(90deg,transparent,rgba(197,162,93,.65),transparent);transform:rotate(-12deg);z-index:-1}
.sharpline-404-grid{position:absolute;inset:0;opacity:.32;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;pointer-events:none}
.sharpline-404-inner{width:100%;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:60px;align-items:center;position:relative;z-index:2;padding-top:30px;padding-bottom:30px}
.sharpline-404-copy{max-width:850px}.sharpline-404 .eyebrow{display:flex;align-items:center;gap:14px}.sharpline-404 .eyebrow-line{display:block;width:45px;height:1px;background:var(--gold)}
.sharpline-404 h1{font-size:clamp(58px,7vw,94px);line-height:.92;letter-spacing:-4px;margin:20px 0 26px}.sharpline-404 h1 span{color:var(--gold)}
.sharpline-404 p{max-width:620px;color:#a7a7a3;font-size:17px;line-height:1.8;margin:0}
.sharpline-404-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.sharpline-404-actions .btn{margin-top:0}
.sharpline-404-mark{justify-self:end;text-align:right;border-left:1px solid rgba(255,255,255,.12);padding-left:45px;min-width:280px}.sharpline-404-mark span{display:block;color:var(--gold);font-size:12px;letter-spacing:3px;font-weight:800}.sharpline-404-mark strong{display:block;font-size:clamp(100px,15vw,190px);line-height:.85;letter-spacing:-10px;color:rgba(255,255,255,.06)}.sharpline-404-mark small{display:block;margin-top:22px;color:#666;letter-spacing:2px;font-size:9px;font-weight:800}
@media(max-width:850px){.sharpline-404{min-height:560px}.sharpline-404-inner{grid-template-columns:1fr;gap:25px}.sharpline-404-mark{display:none}.sharpline-404 h1{font-size:clamp(48px,11vw,70px);letter-spacing:-3px}}
@media(max-width:560px){.sharpline-404{min-height:520px}.sharpline-404 p{font-size:15px}.sharpline-404-actions{flex-direction:column;align-items:flex-start}.sharpline-404-actions .btn{width:auto}}

/* =========================================================
   TYPOGRAPHY SYSTEM — SHARPLINE v5.18.3
   Sharp industrial display + clean body typography.
   ========================================================= */
:root{
  --font-display:'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  --font-body:'Inter', Arial, Helvetica, sans-serif;
  --type-display-weight:700;
}

/* One consistent type family system across the entire site */
html,body{font-family:var(--font-body)!important;font-size:16px;line-height:1.7;letter-spacing:0}
body,button,input,select,textarea{font-family:var(--font-body)!important}
h1,h2,h3,h4,h5,h6,
.hero-copy h1,.inner-hero h1,
.gold-intro h2,.home-section h2,
.content-grid h2,.services-intro h2,
.industry-page-grid h2,.capability-overview h2,
.service-detail h2,.cta-band h2,.mini-cta h2,
.contact-section h2,.contact-side h2,.contact-bottom h2,
.editorial-card-body h3,.editorial-industry-card h3,
.editorial-trust-card h3,.editorial-cap-card h3,
.industry-detail-card h3,.testimonial-content strong{
  font-family:var(--font-display)!important;
}

/* Global hierarchy */
.hero-copy h1{
  font-weight:800!important;
  font-size:clamp(62px,7.4vw,112px)!important;
  line-height:.88!important;
  letter-spacing:-1.8px!important;
  margin:20px 0 26px!important;
}

.inner-hero h1{
  font-weight:800!important;
  font-size:clamp(58px,6.7vw,94px)!important;
  line-height:.9!important;
  letter-spacing:-1.2px!important;
}

.home-section h2,.content-grid h2,.services-intro h2,
.industry-page-grid h2,.capability-overview h2,
.cta-band h2,.contact-bottom h2{
  font-weight:700!important;
  font-size:clamp(42px,4.5vw,64px)!important;
  line-height:.98!important;
  letter-spacing:-.8px!important;
}

.gold-intro h2{font-weight:700!important;font-size:clamp(40px,4.4vw,60px)!important;line-height:1!important;letter-spacing:-.6px!important}
.service-detail h2{font-weight:700!important;font-size:clamp(40px,4.2vw,58px)!important;line-height:1!important;letter-spacing:-.7px!important}
.contact-section h2,.contact-side h2{font-weight:700!important;font-size:clamp(40px,4.4vw,62px)!important;line-height:1!important;letter-spacing:-.7px!important}

.editorial-card-body h3{font-weight:700!important;font-size:clamp(25px,2.1vw,31px)!important;line-height:1.05!important;letter-spacing:-.25px!important}
.editorial-industry-card h3{font-weight:700!important;font-size:24px!important;line-height:1.08!important;letter-spacing:-.15px!important}
.editorial-trust-card h3,.editorial-cap-card h3{font-weight:700!important;font-size:21px!important;line-height:1.08!important;letter-spacing:-.1px!important}
.industry-detail-card h3{font-weight:700!important;font-size:24px!important;line-height:1.08!important}

.hero-copy p,.inner-hero p,.section-lead,.rich-copy,
.gold-intro p,.service-detail-copy p,.testimonial-review,
.editorial-card-body p,.editorial-industry-card p,
.editorial-trust-card p,.editorial-cap-card p{
  font-family:var(--font-body)!important;
}

.hero-copy p,.inner-hero p{font-size:17px!important;line-height:1.72!important}
.section-lead,.rich-copy{font-size:16px!important;line-height:1.78!important}

.eyebrow,.main-nav,.btn,.text-link,.card-link,.editorial-card-body a,
.service-points span,.field label,.footer-label,.testimonial-video{
  font-family:var(--font-display)!important;
  font-weight:700!important;
}
.eyebrow{font-size:11px!important;line-height:1!important;letter-spacing:2.2px!important}
.main-nav a{font-size:11px!important;letter-spacing:1.25px!important}
.btn{font-size:11px!important;letter-spacing:1.15px!important}

.service-card h3,.industry-card h3,.trust-card h3,.cap-card h3{
  font-family:var(--font-display)!important;
  font-weight:700!important;
}
.service-card h3{font-size:22px!important;line-height:1.08!important}
.industry-card h3{font-size:23px!important;line-height:1.08!important}
.trust-card h3{font-size:19px!important;line-height:1.1!important}
.cap-card h3{font-size:21px!important;line-height:1.1!important}

.service-card p,.trust-card p,.address-box p,.site-footer p,.site-footer a,
.direct-link strong,.field input,.field select,.field textarea{
  font-family:var(--font-body)!important;
}

/* Remove the old Arial exception from the hero */
.hero-copy h1{font-family:var(--font-display)!important}
.industry-card i,.cap-card b,.btn span,.direct-link span{font-family:var(--font-body)!important}

@media(max-width:850px){
  .hero-copy h1{font-size:clamp(48px,13vw,70px)!important;line-height:.9!important;letter-spacing:-1px!important}
  .inner-hero h1{font-size:clamp(46px,11vw,66px)!important;line-height:.92!important}
  .home-section h2,.content-grid h2,.services-intro h2,.industry-page-grid h2,.capability-overview h2,.cta-band h2,.contact-bottom h2{font-size:clamp(38px,9vw,52px)!important}
  .service-detail h2,.contact-section h2,.contact-side h2{font-size:clamp(36px,8.5vw,50px)!important}
  .editorial-card-body h3{font-size:24px!important}
  .hero-copy p,.inner-hero p{font-size:15px!important}
}

@media(max-width:560px){
  .hero-copy h1{font-size:clamp(45px,12.5vw,62px)!important}
  .inner-hero h1{font-size:43px!important}
  .home-section h2,.content-grid h2,.services-intro h2,.industry-page-grid h2,.capability-overview h2,.cta-band h2,.contact-bottom h2{font-size:36px!important}
  .service-detail h2,.contact-section h2,.contact-side h2{font-size:34px!important}
}

/* =========================================================
   SHARPLINE TYPOGRAPHY SYSTEM — v5.18.3
   Canonical type scale: Barlow Condensed display/UI + Inter body
   ========================================================= */
:root{
  --font-display:'Barlow Condensed',sans-serif;
  --font-body:'Inter',Arial,Helvetica,sans-serif;
  --type-display-xl:clamp(58px,7vw,104px);
  --type-display-lg:clamp(48px,5.2vw,78px);
  --type-h2:clamp(38px,4.2vw,58px);
  --type-h3:clamp(20px,1.8vw,24px);
  --type-body:15px;
  --type-small:12px;
  --type-label:10px;
}

html,body{font-family:var(--font-body)!important}
body{font-size:var(--type-body);line-height:1.7}

/* Display hierarchy */
.hero-copy h1,
.inner-hero h1,
.gold-intro h2,
.home-section h2,
.content-block h2,
.services-intro h2,
.industry-page-grid h2,
.capability-overview h2,
.service-detail h2,
.cta-band h2,
.mini-cta h2,
.contact-section h2,
.contact-side h2,
.contact-bottom h2{
  font-family:var(--font-display)!important;
  font-weight:700!important;
  text-transform:none;
  font-style:normal;
  letter-spacing:-.8px!important;
}

.hero-copy h1{
  font-size:var(--type-display-xl)!important;
  line-height:.9!important;
  letter-spacing:-1.2px!important;
}
.inner-hero h1{
  font-size:var(--type-display-lg)!important;
  line-height:.92!important;
  letter-spacing:-.8px!important;
}
.gold-intro h2,
.home-section h2,
.content-block h2,
.services-intro h2,
.industry-page-grid h2,
.capability-overview h2,
.cta-band h2,
.contact-section h2,
.contact-side h2,
.contact-bottom h2{
  font-size:var(--type-h2)!important;
  line-height:.98!important;
}
.service-detail h2{font-size:clamp(36px,3.8vw,54px)!important;line-height:1!important}

/* Secondary headings */
.service-card h3,
.industry-card h3,
.trust-card h3,
.cap-card h3,
.editorial-trust-card h3,
.editorial-cap-card h3{
  font-family:var(--font-display)!important;
  font-weight:600!important;
  font-size:var(--type-h3)!important;
  line-height:1.05!important;
  letter-spacing:-.15px!important;
}

/* UI / labels — sharp and consistent */
.main-nav a,
.btn,
.eyebrow,
.footer-label,
.service-card a,
.text-link,
.service-points span,
.field label,
.card-image-placeholder span,
.service-card .card-image-placeholder span{
  font-family:var(--font-display)!important;
  font-weight:600!important;
  letter-spacing:1.25px!important;
}
.main-nav a{font-size:11px!important}
.btn{font-size:11px!important}
.eyebrow{font-size:11px!important;letter-spacing:1.8px!important}
.footer-label{font-size:10px!important}
.service-card a,.text-link{font-size:10px!important}
.service-points span,.field label{font-size:10px!important}

/* Body copy stays neutral and readable */
.hero-copy p,
.gold-intro p,
.section-lead,
.service-card p,
.industry-card p,
.trust-card p,
.cap-card p,
.cta-band p,
.inner-hero p,
.rich-copy,
.service-detail p,
.service-detail-copy p,
.contact-section p,
.contact-side p,
.address-box p,
.footer-brand p,
.site-footer a,
.site-footer p{
  font-family:var(--font-body)!important;
  font-weight:400!important;
}

/* Numbers / utility data use the same sharp display language */
.hero-stamp b,
.page-no,
.service-number,
.visual-placeholder b,
.cap-card b{
  font-family:var(--font-display)!important;
  font-weight:700!important;
}

/* Prevent arbitrary legacy font declarations from breaking the system */
[style*="font-family:Arial"],[style*="font-family: Arial"]{font-family:var(--font-body)!important}

@media(max-width:700px){
  .hero-copy h1{font-size:clamp(46px,13vw,70px)!important;letter-spacing:-.7px!important}
  .inner-hero h1{font-size:clamp(42px,12vw,62px)!important;letter-spacing:-.5px!important}
  .gold-intro h2,.home-section h2,.content-block h2,.services-intro h2,.industry-page-grid h2,.capability-overview h2,.cta-band h2,.contact-section h2,.contact-side h2,.contact-bottom h2{font-size:clamp(34px,10vw,48px)!important}
  .service-card h3,.industry-card h3,.trust-card h3,.cap-card h3,.editorial-trust-card h3,.editorial-cap-card h3{font-size:21px!important}
}

/* =========================================================
   SHARPLINE BRAND COLOUR SYSTEM — v5.18.5
   Black / graphite + restrained metallic gold + silver.
   Avoids the previous bright yellow / taxi-like appearance.
   ========================================================= */
:root{
  --sp-brand-gold:var(--sp-gold,#B97808);
  --sp-brand-gold-light:var(--sp-gold-bright,#D7A62A);
  --sp-brand-silver:var(--sp-silver,#BFC3C8);
  --sp-brand-heading:var(--sp-white,#F4F4F1);
  --sp-brand-body:var(--sp-body-text,#D0D0CC);
  --sp-brand-muted:var(--sp-muted,#96989C);
  /* legacy aliases kept so older components inherit the new palette */
  --gold:var(--sp-brand-gold);
  --gold2:var(--sp-brand-gold-light);
  --silver:var(--sp-brand-silver);
}

/* Brand palette: gold and silver should read as accents, never as a yellow field. */
h1,h2,h3,h4,h5,h6{color:var(--sp-brand-heading)!important}
body{color:var(--sp-brand-body)}
.hero-copy p,.inner-hero p,.section-lead,.rich-copy,
.gold-intro p,.service-card p,.industry-card p,.trust-card p,.cap-card p,
.editorial-card-body p,.editorial-industry-card p,.editorial-trust-card p,
.editorial-cap-card p,.service-detail p,.service-detail-copy p,
.cta-band p,.contact-section p,.contact-side p,.address-box p,
.footer-brand p,.site-footer p,.site-footer a{color:var(--sp-brand-muted)!important}

/* Keep primary navigation and labels bright enough on dark backgrounds. */
.main-nav a{color:var(--sp-brand-silver)!important}
.main-nav a:hover,.main-nav a.active,.eyebrow,.footer-label,
.service-card a,.text-link,.card-link,.editorial-card-body a,
.testimonial-video{color:var(--sp-brand-gold-light)!important}

/* Metallic accents use a richer gold, not saturated yellow. */
.btn-gold{background:var(--sp-brand-gold)!important;border-color:var(--sp-brand-gold)!important;color:#090909!important}
.btn-gold:hover{background:var(--sp-brand-gold-light)!important;border-color:var(--sp-brand-gold-light)!important}
.btn-ghost:hover{border-color:var(--sp-brand-gold)!important;color:var(--sp-brand-gold-light)!important;background:rgba(197,162,93,.06)!important}

/* Replace large yellow editorial bands with premium graphite sections. */
.gold-intro,
.mini-cta,
.contact-bottom{
  background:
    radial-gradient(circle at 82% 18%,rgba(197,162,93,.10),transparent 30%),
    linear-gradient(135deg,#111214 0%,#0a0b0d 70%,#121416 100%)!important;
  color:var(--sp-brand-heading)!important;
  border-top:1px solid rgba(197,162,93,.24)!important;
  border-bottom:1px solid rgba(197,162,93,.18)!important;
}
.gold-intro h2,.mini-cta h2,.contact-bottom h2{color:var(--sp-brand-heading)!important}
.gold-intro .eyebrow.dark{color:var(--sp-brand-gold-light)!important}
.gold-intro p,.mini-cta p,.contact-bottom p{color:var(--sp-brand-body)!important}
.gold-intro:after{border-color:rgba(197,162,93,.10)!important}

/* Silver is used for secondary metadata / utility information. */
.page-no,.hero-stamp span,.service-card .num,.industry-card>span,
.trust-card>span,.cap-card>span,.service-number{color:var(--sp-brand-silver)!important}

/* Subtle metallic line treatment. */
.site-header{border-bottom-color:rgba(191,195,200,.12)!important}
.visual:before{border-color:rgba(197,162,93,.14)!important}

/* Ensure form labels and fields use the editable typography palette. */
.field label{color:var(--sp-brand-muted)!important}
.field input,.field select,.field textarea{color:var(--sp-brand-body)!important}

/* Remove bright-yellow hard-coded presentation from older components. */
.home-hero:before{background:
  linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.86) 39%,rgba(5,5,5,.42) 72%,rgba(5,5,5,.72) 100%),
  radial-gradient(circle at 80% 20%,rgba(197,162,93,.12),transparent 30%)!important}
.inner-hero:before{background:
  radial-gradient(circle at 82% 28%,rgba(197,162,93,.11),transparent 27%),
  linear-gradient(120deg,#060606 0%,#0d0d0d 68%,#101010 100%)!important}
.visual-placeholder{background:
  radial-gradient(circle at 70% 20%,rgba(197,162,93,.10),transparent 28%),
  linear-gradient(145deg,#18191b,#08090a)!important}

@media(max-width:850px){
  .gold-intro,.mini-cta,.contact-bottom{background:linear-gradient(135deg,#111214,#090a0b)!important}
}

/* =========================================================
   SHARPLINE CTA SYSTEM — v5.18.6
   All page-level closing CTAs use one consistent premium treatment.
   Graphite/black base, restrained metallic gold and silver accents.
   ========================================================= */
:root{
  --sp-cta-bg:#0b0c0e;
  --sp-cta-bg-2:#121416;
  --sp-cta-border:rgba(197,162,93,.22);
  --sp-cta-gold:#B97808;
  --sp-cta-gold-light:#D7A62A;
  --sp-cta-text:#F4F4F1;
  --sp-cta-body:#A7AAAD;
}

/* Every primary/page-level CTA shares the same colour language. */
.cta-band,
.mini-cta,
.contact-bottom,
.industries-cta,
.services-v462 .services-v462-cta,
.why-cta,
.about-v600-cta{
  background:
    radial-gradient(circle at 82% 15%,rgba(197,162,93,.085),transparent 28%),
    linear-gradient(135deg,var(--sp-cta-bg-2) 0%,var(--sp-cta-bg) 72%,#08090a 100%) !important;
  color:var(--sp-cta-text) !important;
  border-top:1px solid var(--sp-cta-border) !important;
  border-bottom:1px solid rgba(197,162,93,.12) !important;
}

.cta-band h2,
.mini-cta h2,
.contact-bottom h2,
.industries-cta h2,
.services-v462 .services-v462-cta h2,
.why-cta h2,
.about-v600-cta h2{
  color:var(--sp-cta-text) !important;
}

.cta-band p,
.mini-cta p,
.contact-bottom p,
.industries-cta .rich-copy,
.services-v462 .services-v462-cta .services-v462-copy,
.services-v462 .services-v462-cta .services-v462-copy p,
.why-cta p,
.about-v600-cta p{
  color:var(--sp-cta-body) !important;
}

.cta-band .eyebrow,
.mini-cta .eyebrow,
.contact-bottom .eyebrow,
.industries-cta .eyebrow,
.services-v462 .services-v462-cta .eyebrow,
.why-cta .eyebrow,
.about-v600-cta .eyebrow{
  color:var(--sp-cta-gold-light) !important;
}

.cta-band .eyebrow:before,
.mini-cta .eyebrow:before,
.contact-bottom .eyebrow:before,
.industries-cta .eyebrow:before,
.services-v462 .services-v462-cta .eyebrow:before,
.why-cta .eyebrow:before,
.about-v600-cta .eyebrow:before{
  background:var(--sp-cta-gold) !important;
}

/* CTA action buttons: gold primary, black/graphite secondary. */
.cta-band .btn-gold,
.mini-cta .btn-gold,
.contact-bottom .btn-gold,
.industries-cta .btn-gold,
.services-v462 .services-v462-cta .btn-gold,
.why-cta .btn-gold,
.about-v600-cta .btn-gold{
  background:var(--sp-cta-gold) !important;
  border-color:var(--sp-cta-gold) !important;
  color:#090909 !important;
}

.cta-band .btn-dark,
.mini-cta .btn-dark,
.contact-bottom .btn-dark,
.industries-cta .btn-dark,
.services-v462 .services-v462-cta .btn-dark,
.why-cta .btn-dark,
.about-v600-cta .btn-dark,
.services-v462 .services-v462-cta .cta-actions .btn:not(.btn-gold){
  background:#080909 !important;
  border-color:rgba(191,195,200,.22) !important;
  color:var(--sp-cta-text) !important;
}

/* Remove legacy bright-yellow CTA treatments and keep decorative effects subtle. */
.industries-cta:before,
.services-v462 .services-v462-cta:after,
.mini-cta:after,
.cta-band:after,
.contact-bottom:after{
  opacity:.7;
}

@media(max-width:850px){
  .cta-band,
  .mini-cta,
  .contact-bottom,
  .industries-cta,
  .services-v462 .services-v462-cta,
  .why-cta,
  .about-v600-cta{
    background:linear-gradient(135deg,#111214 0%,#090a0b 100%) !important;
  }
}

/* =========================================================
   SHARPLINE v5.18.7 — REFINED METALLIC GOLD PALETTE
   Premium champagne/antique gold; no taxi-yellow/orange.
   ========================================================= */
:root{
  --sp-gold:#B97808;
  --sp-gold-bright:#D7A62A;
  --sp-silver:#C5C7C9;
  --sp-white:#F3F2EE;
  --sp-text:#D0CFCA;
  --sp-muted:#8D8D8A;
}

/* Keep gold restrained: accents, rules, numbers and conversion actions only. */
.eyebrow,.footer-label{color:var(--sp-gold-bright)!important}
.eyebrow:before{background:var(--sp-gold)!important}
.main-nav a:hover,.main-nav a.active{color:var(--sp-gold-bright)!important}
.main-nav a.active:after{background:var(--sp-gold)!important}

/* Premium gold button — muted metallic champagne rather than yellow. */
.btn-gold,
.floating-actions .wa{
  background:linear-gradient(135deg,#B97808 0%,#D0B36A 48%,#A98A4D 100%)!important;
  border-color:#B97808!important;
  color:#0A0907!important;
  box-shadow:0 10px 28px rgba(184,154,90,.12)!important;
}
.btn-gold:hover,
.floating-actions .wa:hover{
  background:linear-gradient(135deg,#C6A862 0%,#DFC47B 48%,#B39252 100%)!important;
  border-color:#C6A862!important;
  box-shadow:0 14px 34px rgba(184,154,90,.18)!important;
}

/* Gold accents use a slightly warm metallic tone. */
.hero-stamp b,.service-card .num,.industry-card>span,.trust-card>span,.cap-card>span,
.cap-card b,.service-number,.direct-link span,.form-status,.text-link,
.service-card a,.editorial-card-body a,.editorial-trust-card .card-link,
.editorial-cap-card b{color:var(--sp-gold-bright)!important}
.btn-ghost:hover{border-color:var(--sp-gold)!important;color:var(--sp-gold-bright)!important}

/* CTA: rich graphite with a restrained gold edge — never a flat yellow panel. */
.cta-band,.mini-cta,.contact-bottom{
  background:
    radial-gradient(circle at 82% 22%,rgba(184,154,90,.075),transparent 28%),
    linear-gradient(115deg,#080909 0%,#0D0D0C 58%,#12110D 100%)!important;
  color:var(--sp-white)!important;
}
.cta-band:before,.mini-cta:before,.contact-bottom:before{
  background:linear-gradient(180deg,transparent 0%,#B97808 48%,transparent 100%)!important;
}
.cta-band:after,.mini-cta:after,.contact-bottom:after{
  border-color:rgba(184,154,90,.14)!important;
}
.cta-band h2,.mini-cta h2,.contact-bottom h2{color:var(--sp-white)!important}
.cta-band p,.mini-cta p,.contact-bottom p{color:#9A9A96!important}

/* Gold-intro stays dark; its identity comes from the gold rule, not a yellow block. */
.gold-intro{background:linear-gradient(115deg,#080909,#0D0D0C 70%,#12110D)!important;color:var(--sp-white)!important}
.gold-intro:before{background:linear-gradient(180deg,transparent,#B97808,transparent)!important}
.gold-intro:after{border-color:rgba(184,154,90,.14)!important}
.gold-intro h2{color:var(--sp-white)!important}
.gold-intro .eyebrow.dark{color:var(--sp-gold-bright)!important}

/* Premium surfaces: subtle warm undertone instead of yellow. */
.editorial-card:hover,.editorial-industry-card:hover,.editorial-trust-card:hover,.editorial-cap-card:hover,
.industry-page-grid .industry-card:hover{border-color:rgba(184,154,90,.28)!important}
.visual:before{border-color:rgba(184,154,90,.20)!important}

/* Keep CMS-controlled colour variables authoritative while retaining premium defaults. */


/* v5.18.8 — unified premium closing CTA across public pages. */
.shared-closing-cta,
.home-business-cta{
  background:linear-gradient(115deg,#0b0c0c 0%,#111313 62%,#0a0b0b 100%) !important;
  color:#f4f4f1 !important;
  border-top:1px solid rgba(197,162,93,.24) !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
  position:relative !important;
  overflow:hidden !important;
}
.shared-closing-cta:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:180px;
  height:2px;
  background:linear-gradient(90deg,var(--gold2),transparent);
}
.shared-closing-cta:after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-250px;
  top:-290px;
  border:1px solid rgba(197,162,93,.12);
  border-radius:50%;
  pointer-events:none;
}
.shared-closing-cta .container{position:relative;z-index:1}
.shared-closing-cta .eyebrow{color:var(--gold2)!important}
.shared-closing-cta h2{color:#f4f4f1!important}
.shared-closing-cta p{color:#a6a7a5!important}
.shared-closing-cta small{display:block;margin-top:16px;color:#6f7271;font-size:11px;line-height:1.6}
.shared-closing-cta .btn-gold{
  background:var(--gold)!important;
  color:#090909!important;
  border-color:var(--gold)!important;
}
.shared-closing-cta .btn-gold:hover{
  background:var(--gold2)!important;
  border-color:var(--gold2)!important;
}
@media(max-width:850px){
  .shared-closing-cta:before{width:120px}
}

/* =========================================================
   SHARPLINE v5.18.9 — FINAL PREMIUM CLOSING CTA
   One consistent CTA treatment across public pages.
   ========================================================= */
.shared-closing-cta,
.home-business-cta{
  background:
    radial-gradient(ellipse 42% 90% at 88% 50%, rgba(184,154,90,.10), transparent 70%),
    linear-gradient(115deg,#070808 0%,#0d0f0f 58%,#12120f 100%) !important;
  color:#F3F2EE !important;
  border-top:1px solid rgba(184,154,90,.30) !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  padding:108px 0 !important;
  position:relative !important;
  overflow:hidden !important;
}
.shared-closing-cta:before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:30% !important;
  height:1px !important;
  background:linear-gradient(90deg,#B97808,rgba(184,154,90,0)) !important;
}
.shared-closing-cta:after{
  content:"" !important;
  position:absolute !important;
  width:620px !important;
  height:620px !important;
  right:-330px !important;
  top:-330px !important;
  border:1px solid rgba(184,154,90,.13) !important;
  border-radius:50% !important;
  box-shadow:0 0 0 90px rgba(184,154,90,.018),0 0 0 180px rgba(184,154,90,.012) !important;
  pointer-events:none !important;
}
.shared-closing-cta .cta-grid{
  position:relative !important;
  z-index:2 !important;
  align-items:center !important;
  gap:110px !important;
}
.shared-closing-cta .eyebrow{
  color:#D7A62A !important;
  -webkit-text-fill-color:#D7A62A !important;
}
.shared-closing-cta .eyebrow:before{
  background:#B97808 !important;
}
.shared-closing-cta h1,
.shared-closing-cta h2,
.shared-closing-cta h3,
.shared-closing-cta h4{
  color:#F3F2EE !important;
  -webkit-text-fill-color:#F3F2EE !important;
  max-width:760px !important;
}
.shared-closing-cta h2{
  font-family:var(--font-display),'Barlow Condensed',sans-serif !important;
  font-weight:800 !important;
  font-size:clamp(50px,5.3vw,76px) !important;
  line-height:.96 !important;
  letter-spacing:-2.8px !important;
  margin:16px 0 0 !important;
}
.shared-closing-cta p{
  color:#B7B8B4 !important;
  -webkit-text-fill-color:#B7B8B4 !important;
  max-width:500px !important;
  font-size:15px !important;
  line-height:1.8 !important;
  margin:0 0 24px !important;
}
.shared-closing-cta small{
  color:#727572 !important;
  -webkit-text-fill-color:#727572 !important;
  margin-top:15px !important;
}
.shared-closing-cta .btn-gold{
  background:linear-gradient(135deg,#B97808 0%,#D1B56D 48%,#A98A4D 100%) !important;
  color:#0A0907 !important;
  -webkit-text-fill-color:#0A0907 !important;
  border:1px solid #B97808 !important;
  box-shadow:0 10px 26px rgba(184,154,90,.13) !important;
  min-height:50px !important;
  padding:0 24px !important;
}
.shared-closing-cta .btn-gold:hover{
  background:linear-gradient(135deg,#C7AA62 0%,#DFC47B 48%,#B39252 100%) !important;
  border-color:#C7AA62 !important;
  transform:translateY(-1px);
}
.shared-closing-cta .btn-gold span,
.shared-closing-cta .btn-gold *{
  color:#0A0907 !important;
  -webkit-text-fill-color:#0A0907 !important;
}
@media(max-width:850px){
  .shared-closing-cta{padding:82px 0 !important}
  .shared-closing-cta .cta-grid{gap:38px !important}
  .shared-closing-cta h2{font-size:clamp(44px,12vw,60px) !important;letter-spacing:-2px !important}
  .shared-closing-cta:after{width:420px !important;height:420px !important;right:-250px !important;top:-220px !important}
}
@media(max-width:560px){
  .shared-closing-cta{padding:70px 0 !important}
  .shared-closing-cta h2{font-size:44px !important}
}

/* =========================================================
   SHARPLINE v5.18.10 — RICHER METALLIC GOLD BUTTONS
   Stronger gold presence while retaining a premium finish.
   ========================================================= */
:root{
  --sp-button-gold-deep:#8F4F03;
  --sp-button-gold:#B97808;
  --sp-button-gold-light:#E0B84A;
  --sp-button-gold-highlight:#E5C45A;
}

/* All primary gold buttons — richer, warmer and more visibly golden. */
.btn-gold,
.shared-closing-cta .btn-gold,
.home-business-cta .btn-gold,
.floating-actions .wa{
  background:linear-gradient(135deg,
    var(--sp-button-gold-deep) 0%,
    var(--sp-button-gold) 32%,
    var(--sp-button-gold-light) 58%,
    var(--sp-button-gold) 78%,
    #9A5D05 100%) !important;
  border:1px solid var(--sp-button-gold-light) !important;
  color:#090806 !important;
  -webkit-text-fill-color:#090806 !important;
  box-shadow:
    0 8px 22px rgba(201,154,62,.18),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.btn-gold:hover,
.shared-closing-cta .btn-gold:hover,
.home-business-cta .btn-gold:hover,
.floating-actions .wa:hover{
  background:linear-gradient(135deg,
    #A86A07 0%,
    #C98A12 32%,
    var(--sp-button-gold-highlight) 58%,
    #C98A12 78%,
    #8F4F03 100%) !important;
  border-color:#E5C45A !important;
  color:#080705 !important;
  -webkit-text-fill-color:#080705 !important;
  box-shadow:
    0 12px 30px rgba(201,154,62,.25),
    inset 0 1px 0 rgba(255,255,255,.25) !important;
}

.btn-gold span,
.btn-gold svg,
.btn-gold i,
.btn-gold *{
  color:#090806 !important;
  -webkit-text-fill-color:#090806 !important;
}

/* =========================================================
   SHARPLINE v5.18.11 — HEADER & FOOTER GOLD ALIGNMENT
   Bring navigation and footer accents in line with the richer
   metallic-gold button treatment.
   ========================================================= */
.site-header .main-nav a:hover,
.site-header .main-nav a.active{
  color:#C98A12 !important;
  -webkit-text-fill-color:#C98A12 !important;
}
.site-header .main-nav a.active:after{
  background:#B97808 !important;
}
.site-header .header-action .btn-gold,
.site-header .header-action .btn-gold span{
  background:linear-gradient(135deg,#8F4F03 0%,#B97808 32%,#E0B84A 58%,#B97808 78%,#9A5D05 100%) !important;
  border-color:#E0B84A !important;
  color:#090806 !important;
  -webkit-text-fill-color:#090806 !important;
  box-shadow:0 8px 22px rgba(201,154,62,.18),inset 0 1px 0 rgba(255,255,255,.20) !important;
}
.site-header .header-action .btn-gold:hover,
.site-header .header-action .btn-gold:hover span{
  background:linear-gradient(135deg,#A86A07 0%,#C98A12 32%,#E5C45A 58%,#C98A12 78%,#8F4F03 100%) !important;
  border-color:#E5C45A !important;
}

.site-footer .footer-label{
  color:#C98A12 !important;
  -webkit-text-fill-color:#C98A12 !important;
}
.site-footer a:hover{
  color:#C98A12 !important;
  -webkit-text-fill-color:#C98A12 !important;
}
.site-footer .footer-main .btn-gold,
.site-footer .footer-main .btn-gold span{
  background:linear-gradient(135deg,#8F4F03 0%,#B97808 32%,#E0B84A 58%,#B97808 78%,#9A5D05 100%) !important;
  border-color:#E0B84A !important;
  color:#090806 !important;
  -webkit-text-fill-color:#090806 !important;
}
.site-footer .footer-main .btn-gold:hover,
.site-footer .footer-main .btn-gold:hover span{
  background:linear-gradient(135deg,#A86A07 0%,#C98A12 32%,#E5C45A 58%,#C98A12 78%,#8F4F03 100%) !important;
  border-color:#E5C45A !important;
}
.site-footer .footer-bottom a:hover{
  color:#C98A12 !important;
}


/* =========================================================
   SHARPLINE v5.18.12 — LOGO-MATCHED GOLD SYSTEM
   Gold is derived from the warm bronze/gold tones in the supplied
   Sharpline logo. Avoid bright taxi-yellow; use controlled metallic
   amber/gold accents across the public website.
   ========================================================= */
:root{
  --sp-logo-gold-deep:#8F4F03;
  --sp-logo-gold-dark:#9A5D05;
  --sp-logo-gold:#B97808;
  --sp-logo-gold-mid:#C98A12;
  --sp-logo-gold-light:#D7A62A;
  --sp-logo-gold-highlight:#E5C45A;
  --sp-logo-silver:#C7C9CB;
}

/* Public-site gold tokens. */
:root{
  --gold:var(--sp-logo-gold);
  --gold2:var(--sp-logo-gold-light);
  --silver:var(--sp-logo-silver);
  --sp-gold:var(--sp-logo-gold);
  --sp-gold-bright:var(--sp-logo-gold-light);
  --sp-silver:var(--sp-logo-silver);
  --sp-button-gold:var(--sp-logo-gold);
  --sp-button-gold-light:var(--sp-logo-gold-light);
}

/* All primary buttons share one logo-derived gold treatment. */
.btn-gold,
.site-header .header-action .btn-gold,
.site-footer .footer-main .btn-gold,
.shared-closing-cta .btn-gold,
.home-business-cta .btn-gold,
.hero-actions .btn-gold,
.floating-actions .wa{
  background:linear-gradient(135deg,
    var(--sp-logo-gold-deep) 0%,
    var(--sp-logo-gold) 34%,
    var(--sp-logo-gold-light) 58%,
    var(--sp-logo-gold-mid) 80%,
    var(--sp-logo-gold-dark) 100%) !important;
  border-color:var(--sp-logo-gold-light) !important;
  color:#090806 !important;
  -webkit-text-fill-color:#090806 !important;
  box-shadow:0 8px 24px rgba(143,79,3,.20),inset 0 1px 0 rgba(255,255,255,.20) !important;
}
.btn-gold:hover,
.site-header .header-action .btn-gold:hover,
.site-footer .footer-main .btn-gold:hover,
.shared-closing-cta .btn-gold:hover,
.home-business-cta .btn-gold:hover,
.hero-actions .btn-gold:hover,
.floating-actions .wa:hover{
  background:linear-gradient(135deg,
    var(--sp-logo-gold-dark) 0%,
    var(--sp-logo-gold-mid) 34%,
    var(--sp-logo-gold-highlight) 58%,
    var(--sp-logo-gold-mid) 80%,
    var(--sp-logo-gold-deep) 100%) !important;
  border-color:var(--sp-logo-gold-highlight) !important;
}

/* Arrow is clean text — never a boxed/square icon. */
.btn-gold span,
.site-header .header-action .btn-gold span,
.site-footer .footer-main .btn-gold span,
.shared-closing-cta .btn-gold span,
.home-business-cta .btn-gold span{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  color:#090806 !important;
  -webkit-text-fill-color:#090806 !important;
  width:auto !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
}
.btn-gold:hover span{transform:translateX(3px) !important;}

/* Gold accents throughout the public UI. */
.eyebrow,
.main-nav a:hover,
.main-nav a.active,
.service-card .num,
.service-card a,
.industry-card>span,
.industry-card i,
.trust-card>span,
.cap-card>span,
.cap-card b,
.service-number,
.page-no,
.direct-link span,
.text-link,
.footer-label,
.site-footer a:hover,
.form-status,
.about-v600-hero-mark span,
.about-v600-hero-mark i,
.related-service-links b,
.editorial-card-body a,
.testimonial-video,
.quote-mark{
  color:var(--sp-logo-gold-light) !important;
  -webkit-text-fill-color:var(--sp-logo-gold-light) !important;
}
.main-nav a.active:after,
.about-v600-hero-mark i,
.visual-placeholder:after{
  background:var(--sp-logo-gold) !important;
}

/* Remove old bright-gold CTA bands; the shared closing CTA is the single
   public-page conversion treatment. */
.services-v462 .services-v462-cta,
.capabilities-closing,
.why-page .why-cta,
.contact-page.contact-bottom,
.contact-bottom,
.mini-cta{
  display:none !important;
}

/* Shared CTA uses the same logo-derived gold only as a restrained accent. */
.shared-closing-cta,
.home-business-cta{
  background:
    radial-gradient(ellipse 42% 90% at 88% 50%, rgba(185,120,8,.10), transparent 70%),
    linear-gradient(115deg,#070808 0%,#0d0f0f 58%,#11110e 100%) !important;
  border-top-color:rgba(185,120,8,.38) !important;
}
.shared-closing-cta:before,
.home-business-cta:before{
  background:linear-gradient(90deg,var(--sp-logo-gold),rgba(185,120,8,0)) !important;
}
.shared-closing-cta:after{
  border-color:rgba(185,120,8,.15) !important;
  box-shadow:0 0 0 90px rgba(185,120,8,.018),0 0 0 180px rgba(185,120,8,.010) !important;
}

/* Keep non-CTA gold content bands logo-coloured rather than yellow. */
.gold-intro{
  background:linear-gradient(135deg,var(--sp-logo-gold-deep),var(--sp-logo-gold),var(--sp-logo-gold-mid)) !important;
  color:#090806 !important;
}
.gold-intro:after{background:var(--sp-logo-gold-highlight) !important;}

/* Legacy service/contact accent lines. */
.services-v462 .services-v462-cta .btn,
.capabilities-closing .btn,
.why-page .why-cta .btn,
.contact-bottom .btn{
  background:linear-gradient(135deg,var(--sp-logo-gold-deep),var(--sp-logo-gold),var(--sp-logo-gold-light)) !important;
  color:#090806 !important;
  border-color:var(--sp-logo-gold-light) !important;
}

/* Mobile enquiry button follows the same gold system. */
.primary-nav .mobile-enquire a{
  background:linear-gradient(135deg,var(--sp-logo-gold-deep),var(--sp-logo-gold),var(--sp-logo-gold-light)) !important;
  color:#090806 !important;
}
.primary-nav .mobile-enquire a span{color:#090806 !important;}

/* Decorative gold rules use the same warm logo hue. */
.card-image-placeholder:before,
.sp-has-bg .section-accent,
.home-business-cta:before{
  border-color:var(--sp-logo-gold) !important;
}

/* Floating call/WhatsApp action remains branded rather than green/yellow. */
.floating-actions .wa{
  border-color:var(--sp-logo-gold-light) !important;
}

@media(max-width:850px){
  .shared-closing-cta,
  .home-business-cta{background:linear-gradient(115deg,#070808 0%,#10110f 100%) !important;}
}

/* =========================================================
   SHARPLINE v5.18.13 — GLASS / TEXT DEPTH / CMS SECTION COLOUR SYSTEM
   ========================================================= */
:root{
  --sp-logo-gold-deep:#7A4A12;
  --sp-logo-gold-dark:#8F5F1B;
  --sp-logo-gold:#B8862D;
  --sp-logo-gold-mid:#C99A3E;
  --sp-logo-gold-light:#D4A94D;
  --sp-logo-gold-highlight:#E0BC68;
  --sp-glass:rgba(255,255,255,.035);
  --sp-glass-strong:rgba(255,255,255,.055);
  --sp-glass-line:rgba(255,255,255,.12);
  --sp-glass-line-gold:rgba(184,134,45,.38);
}

/* Reduce the yellow impression: dark surfaces remain dominant. */
.gold-intro,
.mini-cta,
.contact-bottom{
  background:
    radial-gradient(circle at 85% 20%,rgba(212,169,77,.12),transparent 28%),
    linear-gradient(135deg,rgba(18,18,17,.96),rgba(7,7,7,.98)) !important;
  color:var(--sp-white) !important;
  border-top:1px solid var(--sp-glass-line-gold);
  border-bottom:1px solid var(--sp-glass-line);
  backdrop-filter:blur(18px) saturate(.9);
  -webkit-backdrop-filter:blur(18px) saturate(.9);
}
.gold-intro h2,
.mini-cta h2,
.contact-bottom h2{color:var(--sp-white)!important}
.gold-intro p,
.mini-cta p,
.contact-bottom p{color:var(--sp-muted)!important}
.gold-intro .eyebrow.dark{color:var(--sp-logo-gold-light)!important}

/* Glass treatment across cards, panels and form controls. */
.editorial-card,
.editorial-industry-card,
.editorial-trust-card,
.editorial-cap-card,
.testimonial-card,
.cap-card,
.services-v462-related-links a,
.services-v462-point,
.why-section,
.contact-side,
.field input,
.field select,
.field textarea,
.visual-placeholder{
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018)) !important;
  border-color:var(--sp-glass-line)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 18px 45px rgba(0,0,0,.18);
  backdrop-filter:blur(14px) saturate(.9);
  -webkit-backdrop-filter:blur(14px) saturate(.9);
}
.editorial-card:hover,
.editorial-industry-card:hover,
.editorial-trust-card:hover,
.editorial-cap-card:hover,
.testimonial-card:hover{
  border-color:var(--sp-glass-line-gold)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(184,134,45,.035)) !important;
}

/* Subtle text depth: crisp, not a glow. */
body,
body a,
body p,
body li,
body label,
body input,
body textarea,
body select{
  text-shadow:0 1px 1px rgba(0,0,0,.30);
}
h1,h2,h3,h4,h5,h6,
.eyebrow,
.main-nav a,
.btn,
.card-index,
.service-number,
.page-no,
.footer-label,
.service-points span,
.services-v462-point strong,
.why-section-copy h2,
.about-v600-section-head h2{
  text-shadow:0 1px 0 rgba(255,255,255,.025),0 4px 18px rgba(0,0,0,.34);
}

/* Sharper display font + consistent body font throughout legacy selectors. */
h1,h2,h3,h4,h5,h6,.eyebrow,.btn,.main-nav,.card-index,.footer-label,
.service-number,.page-no,.section-index,.hero-side-note strong,
.hero-side-note span,.service-points span,.services-v462-point strong{
  font-family:var(--font-display)!important;
}
body,.rich-copy,.section-lead,.hero-copy p,.services-v462-copy,.why-rich-copy,
.site-footer p,.site-footer a,.field input,.field select,.field textarea{
  font-family:var(--font-body)!important;
}

/* Enquire Now: stronger typographic weight and cleaner arrow. */
.site-header .header-action .btn,
.site-header .header-action .btn-gold,
.primary-nav .mobile-enquire a{
  font-family:var(--font-display)!important;
  font-weight:800!important;
  letter-spacing:1.55px!important;
  text-shadow:0 1px 1px rgba(255,255,255,.08);
}
.site-header .header-action .btn span,
.primary-nav .mobile-enquire a span{
  font-family:var(--font-body)!important;
  font-weight:600!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Make the header feel like a glass layer instead of a flat black bar. */
.site-header{
  background:rgba(5,5,5,.72)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.22),inset 0 -1px 0 rgba(212,169,77,.08);
  backdrop-filter:blur(20px) saturate(.85)!important;
  -webkit-backdrop-filter:blur(20px) saturate(.85)!important;
}

/* Footer gets the same restrained glass depth. */
.site-footer{
  background:linear-gradient(180deg,rgba(8,8,8,.94),rgba(3,3,3,.99))!important;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-main > *{
  position:relative;
}

/* Keep gold accents warm and logo-derived. */
.eyebrow,
.main-nav a:hover,.main-nav a.active,
.service-card .num,.service-card a,
.industry-card>span,.industry-card i,
.trust-card>span,.cap-card>span,.cap-card b,
.service-number,.page-no,.direct-link span,.text-link,
.footer-label,.site-footer a:hover,.form-status,
.about-v600-hero-mark span,.about-v600-hero-mark i,
.related-service-links b{
  color:var(--sp-logo-gold-light)!important;
}

/* Section-level CMS colour variables are consumed by the selectors emitted
   from functions.php. */

@media(max-width:850px){
  .site-header{background:rgba(5,5,5,.86)!important}
  .editorial-card,.editorial-industry-card,.editorial-trust-card,.editorial-cap-card,
  .testimonial-card,.cap-card,.services-v462-related-links a,.services-v462-point,
  .field input,.field select,.field textarea{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
}
\n\n/* =========================================================\n   SHARPLINE v5.18.14 — PREMIUM GLASS BUTTON SYSTEM\n   ========================================================= */\n.btn{\n  position:relative!important;\n  isolation:isolate!important;\n  overflow:hidden!important;\n  border-radius:4px!important;\n  border:1px solid rgba(255,255,255,.24)!important;\n  backdrop-filter:blur(14px) saturate(125%)!important;\n  -webkit-backdrop-filter:blur(14px) saturate(125%)!important;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 30px rgba(0,0,0,.20)!important;\n}\n.btn:before{\n  content:""!important;\n  position:absolute!important;\n  inset:0!important;\n  z-index:-1!important;\n  background:linear-gradient(115deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.04) 36%,rgba(255,255,255,0) 62%)!important;\n  pointer-events:none!important;\n}\n.btn span{\n  display:inline!important;\n  background:transparent!important;\n  box-shadow:none!important;\n  border:0!important;\n  color:inherit!important;\n  margin-left:13px!important;\n  padding:0!important;\n}\n.btn-gold{\n  background:linear-gradient(135deg,rgba(199,154,59,.86),rgba(164,116,32,.72))!important;\n  color:#090909!important;\n  border-color:rgba(235,201,121,.62)!important;\n  text-shadow:0 1px 0 rgba(255,255,255,.18)!important;\n}\n.btn-gold:hover{\n  background:linear-gradient(135deg,rgba(224,183,91,.94),rgba(183,133,39,.84))!important;\n  border-color:rgba(247,218,148,.82)!important;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 14px 36px rgba(183,133,39,.22)!important;\n}\n.btn-ghost{\n  background:rgba(255,255,255,.055)!important;\n  border-color:rgba(255,255,255,.24)!important;\n  color:var(--sp-white)!important;\n}\n.btn-ghost:hover{background:rgba(199,154,59,.10)!important;border-color:rgba(199,154,59,.70)!important;color:var(--sp-gold-bright)!important}\n.header-action .btn-gold,.site-footer .btn-gold{font-weight:900!important}\n@media(max-width:850px){.btn{backdrop-filter:blur(10px) saturate(120%)!important;-webkit-backdrop-filter:blur(10px) saturate(120%)!important}}\n
/* v5.18.15 — section accent controls + true glass buttons */
.eyebrow,
.section-eyebrow,
.sh-section-eyebrow{
  text-shadow:0 1px 10px rgba(0,0,0,.45), 0 0 12px color-mix(in srgb, currentColor 16%, transparent)!important;
}

/* Make the section accent control also govern the eyebrow rule and common accent marks. */
[id="what-we-do"] .eyebrow:before,
[id="industries-we-serve"] .eyebrow:before,
[id="why-sharpline"] .eyebrow:before,
[id="capabilities"] .eyebrow:before,
.home-hero .eyebrow:before,
.about-v600-hero .eyebrow:before,
.services-v462-hero .eyebrow:before,
.industries-hero .eyebrow:before,
.capabilities-hero .eyebrow:before,
.why-hero .eyebrow:before,
.contact-page .eyebrow:before{
  background:currentColor!important;
}

/* Premium glass button system — transparent, blurred and restrained. */
.btn,
.header-action .btn,
.hero-actions .btn,
.cta-band .btn,
.mini-cta .btn,
.contact-bottom .btn,
.shared-closing-cta .btn,
.home-business-cta .btn{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  border-radius:2px!important;
  border:1px solid rgba(224,185,93,.48)!important;
  background:linear-gradient(135deg,rgba(214,171,77,.20),rgba(255,255,255,.045) 52%,rgba(175,126,35,.13))!important;
  color:#f5e6bd!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(0,0,0,.22),0 12px 32px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(16px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(135%)!important;
  transition:background .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease,color .28s ease!important;
}
.btn:before,
.header-action .btn:before,
.hero-actions .btn:before,
.cta-band .btn:before,
.mini-cta .btn:before,
.contact-bottom .btn:before,
.shared-closing-cta .btn:before,
.home-business-cta .btn:before{
  content:""!important;
  position:absolute!important;
  inset:0 42% 0 0!important;
  background:linear-gradient(110deg,rgba(255,255,255,.18),transparent 70%)!important;
  opacity:.42!important;
  pointer-events:none!important;
  z-index:-1!important;
}
.btn:hover,
.header-action .btn:hover,
.hero-actions .btn:hover,
.cta-band .btn:hover,
.mini-cta .btn:hover,
.contact-bottom .btn:hover,
.shared-closing-cta .btn:hover,
.home-business-cta .btn:hover{
  background:linear-gradient(135deg,rgba(226,185,91,.34),rgba(255,255,255,.075) 52%,rgba(193,141,44,.22))!important;
  border-color:rgba(235,202,123,.72)!important;
  color:#fff2ca!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 16px 38px rgba(0,0,0,.34),0 0 24px rgba(198,151,54,.10)!important;
  transform:translateY(-1px)!important;
}
.btn-gold,
.header-action .btn-gold{
  background:linear-gradient(135deg,rgba(204,157,59,.30),rgba(255,255,255,.06) 50%,rgba(170,116,24,.20))!important;
  color:#f7e6bb!important;
  border-color:rgba(218,177,85,.58)!important;
}
.btn-gold:hover,
.header-action .btn-gold:hover{
  background:linear-gradient(135deg,rgba(224,184,91,.42),rgba(255,255,255,.09) 50%,rgba(190,137,37,.26))!important;
  color:#fff5d7!important;
}
.btn-ghost{
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(255,255,255,.20)!important;
  color:#f1f1ed!important;
}
.btn-ghost:hover{
  border-color:rgba(218,177,85,.58)!important;
  color:#f4dfad!important;
}

/* Keep the gold language visible without turning sections yellow. */
.home-section .eyebrow,
.inner-hero .eyebrow,
.services-v462-hero .eyebrow,
.industries-hero .eyebrow,
.capabilities-hero .eyebrow,
.why-hero .eyebrow,
.contact-section .eyebrow,
.cta-band .eyebrow,
.shared-closing-cta .eyebrow{
  color:var(--sp-gold-bright)!important;
}


/* v5.18.16 — premium glass controls + reliable section colour variables. */
:root{
  --sp-glass-gold-rgb: 184,134,45;
  --sp-glass-gold-light-rgb: 212,169,77;
}

/* Section palettes are injected by the CMS using the section's own unique
   selector. These selectors are intentionally broad so colour controls also
   affect eyebrow lines and other accent typography reliably. */
.home-section .eyebrow,
.home-section .service-number,
.home-section .industry-index,
.home-section .trust-number,
.home-section .card-index,
.home-section .page-no,
.home-section .quote-mark,
.home-section .section-cta-row a:hover,
.home-section a:hover,
.about-v600-section .eyebrow,
.services-v462-section .eyebrow,
.industries-section .eyebrow,
.cap-section .eyebrow,
.why-section .eyebrow,
.contact-page .eyebrow{
  transition:color .2s ease, background-color .2s ease;
}

/* All primary/action buttons use translucent glass rather than a solid yellow
   fill. The gold is carried by the tint and border, keeping the interface
   premium and reducing visual yellowness. */
.btn,
.btn-gold,
.btn-ghost,
.site-header .btn,
.hero-actions .btn,
.section-cta-row .btn,
.cta-band .btn,
.mini-cta .btn,
.contact-page .btn,
.shared-closing-cta .btn,
.site-footer .btn{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(var(--sp-glass-gold-light-rgb), .58) !important;
  background:
    linear-gradient(135deg,
      rgba(var(--sp-glass-gold-light-rgb), .20) 0%,
      rgba(var(--sp-glass-gold-rgb), .10) 48%,
      rgba(255,255,255,.055) 100%) !important;
  color:#F4E9CE !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -1px 0 rgba(0,0,0,.20),
    0 10px 28px rgba(0,0,0,.22) !important;
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  backdrop-filter:blur(16px) saturate(125%);
  transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease,color .25s ease;
}

.btn::before,
.btn-gold::before,
.btn-ghost::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,rgba(255,255,255,.12),transparent 38%,rgba(255,255,255,.035) 72%,transparent);
  opacity:.75;
}

.btn > *,
.btn-gold > *,
.btn-ghost > *{
  position:relative;
  z-index:1;
}

.btn:hover,
.btn-gold:hover,
.btn-ghost:hover{
  background:
    linear-gradient(135deg,
      rgba(var(--sp-glass-gold-light-rgb), .31) 0%,
      rgba(var(--sp-glass-gold-rgb), .17) 52%,
      rgba(255,255,255,.075) 100%) !important;
  border-color:rgba(var(--sp-glass-gold-light-rgb), .88) !important;
  color:#FFF7E7 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 12px 32px rgba(0,0,0,.28),
    0 0 22px rgba(var(--sp-glass-gold-rgb), .10) !important;
  transform:translateY(-1px);
}

/* Enquire Now stays visibly stronger while retaining the same glass material. */
.site-header .btn,
.mobile-enquire,
.sharpline-mobile-enquire{
  font-weight:900 !important;
  letter-spacing:1.35px !important;
}

/* Keep the arrow as a clean glyph; never render a boxed icon behind it. */
.btn span,
.btn .arrow,
.btn .btn-arrow{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  color:inherit !important;
}

/* v5.18.17 — premium translucent glass controls */
.btn,.btn-gold,.btn-ghost,.site-footer .btn-gold,.mini-cta .btn-gold{background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(199,154,59,.14))!important;color:#f5f2ea!important;border:1px solid rgba(215,166,42,.46)!important;border-radius:0!important;backdrop-filter:blur(18px) saturate(135%)!important;-webkit-backdrop-filter:blur(18px) saturate(135%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.20),inset 0 0 28px rgba(215,166,42,.045),0 12px 32px rgba(0,0,0,.28)!important;overflow:hidden!important;}
.btn:hover,.btn-gold:hover,.btn-ghost:hover,.site-footer .btn-gold:hover,.mini-cta .btn-gold:hover{background:linear-gradient(135deg,rgba(215,166,42,.20),rgba(255,255,255,.08))!important;border-color:rgba(232,193,92,.76)!important;color:#fff!important;transform:translateY(-2px);}
.btn span,.btn-gold span,.btn-ghost span{background:transparent!important;color:#d7a62a!important;box-shadow:none!important;}

/* v5.18.18 — FINAL GLASS BUTTON MATERIAL
   Buttons should read as transparent glass, not filled gold. */
.btn,
.btn-gold,
.btn-ghost,
.header-action .btn,
.mini-cta .btn,
.contact-page .btn,
.shared-closing-cta .btn,
.site-footer .btn,
.mobile-enquire,
.sharpline-mobile-enquire {
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,rgba(255,255,255,.085) 0%,rgba(255,255,255,.035) 42%,rgba(197,154,59,.095) 100%)!important;
  background-color:rgba(255,255,255,.045)!important;
  border:1px solid rgba(210,177,105,.52)!important;
  color:#F3F0E8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 22px rgba(255,255,255,.025),0 12px 30px rgba(0,0,0,.28)!important;
  -webkit-backdrop-filter:blur(22px) saturate(135%)!important;
  backdrop-filter:blur(22px) saturate(135%)!important;
}
.btn::before,
.btn-gold::before,
.btn-ghost::before {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(120deg,rgba(255,255,255,.16),transparent 32%,rgba(210,177,105,.055) 70%,transparent)!important;
  opacity:1!important;
}
.btn:hover,
.btn-gold:hover,
.btn-ghost:hover,
.header-action .btn:hover,
.mini-cta .btn:hover,
.contact-page .btn:hover,
.shared-closing-cta .btn:hover,
.site-footer .btn:hover,
.mobile-enquire:hover,
.sharpline-mobile-enquire:hover {
  background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.045) 40%,rgba(197,154,59,.15) 100%)!important;
  background-color:rgba(255,255,255,.055)!important;
  border-color:rgba(225,193,119,.78)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 26px rgba(255,255,255,.035),0 14px 34px rgba(0,0,0,.32),0 0 18px rgba(197,154,59,.08)!important;
}
.btn span,.btn-gold span,.btn-ghost span,.btn .arrow,.btn .btn-arrow {
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  color:#D8B96D!important;
}

/* Section label colour: both the label text and its rule use the CMS Label value. */
.home-section .eyebrow,
.content-block .eyebrow,
.services-intro .eyebrow,
.industry-page-grid .eyebrow,
.capability-overview .eyebrow,
.inner-hero .eyebrow,
.about-v600-hero .eyebrow,
.services-v462-hero .eyebrow,
.industries-hero .eyebrow,
.capabilities-hero .eyebrow,
.why-hero .eyebrow {
  color:var(--sp-section-label)!important;
}
.home-section .eyebrow:before,
.content-block .eyebrow:before,
.services-intro .eyebrow:before,
.industry-page-grid .eyebrow:before,
.capability-overview .eyebrow:before,
.inner-hero .eyebrow:before,
.about-v600-hero .eyebrow:before,
.services-v462-hero .eyebrow:before,
.industries-hero .eyebrow:before,
.capabilities-hero .eyebrow:before,
.why-hero .eyebrow:before {
  background:var(--sp-section-label)!important;
}

/* Preserve bold Enquire Now while keeping the glass material. */
.site-header .btn,.header-action .btn,.mobile-enquire,.sharpline-mobile-enquire{font-weight:900!important;}


/* =========================================================
   v5.18.19 — TRUE GLASS BUTTON SYSTEM + SECTION TEXT CONTROLS
   Buttons are translucent glass surfaces, not filled gold blocks.
   Section CMS colours control labels, lines and button text independently.
   ========================================================= */
:root{
  --sp-glass-bg:rgba(255,255,255,.065);
  --sp-glass-bg-hover:rgba(255,255,255,.10);
  --sp-glass-border:rgba(255,255,255,.20);
  --sp-glass-highlight:rgba(255,255,255,.16);
  --sp-glass-shadow:rgba(0,0,0,.34);
  --sp-button-text:#F4F4F1;
}
.btn,.btn-gold,.btn-ghost,.header-action .btn{
  background:var(--sp-glass-bg)!important;
  background-image:none!important;
  color:var(--sp-button-text)!important;
  border:1px solid var(--sp-glass-border)!important;
  border-radius:3px!important;
  box-shadow:inset 0 1px 0 var(--sp-glass-highlight),inset 0 -1px 0 rgba(0,0,0,.16),0 14px 34px var(--sp-glass-shadow)!important;
  backdrop-filter:blur(20px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(120%)!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
}
.btn:before,.btn-gold:before,.btn-ghost:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(125deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.025) 38%,rgba(197,162,93,.035) 100%)!important;
  pointer-events:none!important;
  z-index:-1!important;
}
.btn:hover,.btn-gold:hover,.btn-ghost:hover,.header-action .btn:hover{
  background:var(--sp-glass-bg-hover)!important;
  background-image:none!important;
  color:var(--sp-button-text)!important;
  border-color:rgba(215,185,110,.48)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 16px 38px rgba(0,0,0,.40)!important;
}
.btn span,.btn-gold span,.btn-ghost span{
  color:currentColor!important;
  background:none!important;
  font-size:18px!important;
  line-height:1!important;
}
/* Section-level CMS variables win over the global button colour. */
.home-section .btn,.content-block .btn,.service-detail .btn,.services-intro .btn,
.industry-page-grid .btn,.capability-overview .btn,.testimonial-section .btn,
.contact-section .btn,.cta-band .btn,.shared-closing-cta .btn{
  color:var(--sp-section-button,var(--sp-button-text))!important;
}
.home-section .btn span,.content-block .btn span,.service-detail .btn span,.services-intro .btn span,
.industry-page-grid .btn span,.capability-overview .btn span,.testimonial-section .btn span,
.contact-section .btn span,.cta-band .btn span,.shared-closing-cta .btn span{
  color:var(--sp-section-button,var(--sp-button-text))!important;
}
/* Labels and their decorative rule always use the CMS Label colour together. */
.home-section .eyebrow,.content-block .eyebrow,.services-intro .eyebrow,.industry-page-grid .eyebrow,
.capability-overview .eyebrow,.service-detail .eyebrow,.cta-band .eyebrow,.shared-closing-cta .eyebrow{
  color:var(--sp-section-label,var(--sp-gold-bright))!important;
}
.home-section .eyebrow:before,.content-block .eyebrow:before,.services-intro .eyebrow:before,
.industry-page-grid .eyebrow:before,.capability-overview .eyebrow:before,.service-detail .eyebrow:before,
.cta-band .eyebrow:before,.shared-closing-cta .eyebrow:before{
  background:var(--sp-section-label,var(--sp-gold-bright))!important;
}
/* Glass cards use the same material language as the reference card: translucent,
   blurred, with the underlying image/light remaining visible. */
.editorial-card,.editorial-industry-card,.editorial-trust-card,.editorial-cap-card,.testimonial-card{
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.14)!important;
  backdrop-filter:blur(18px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(112%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 18px 50px rgba(0,0,0,.20)!important;
}
.editorial-card:hover,.editorial-industry-card:hover,.editorial-trust-card:hover,.editorial-cap-card:hover,.testimonial-card:hover{
  background:rgba(255,255,255,.10)!important;
}


/* v5.18.20 — final true-glass button layer. */
:root{
 --sp-glass-bg:rgba(255,255,255,.055);
 --sp-glass-border:rgba(255,255,255,.22);
 --sp-glass-highlight:rgba(255,255,255,.16);
 --sp-glass-shadow:rgba(0,0,0,.40);
}
.btn,.btn-gold,.btn-ghost,.header-action .btn,.hero-actions .btn,.section-cta-row .btn,.site-footer .btn,.enquiry-form .btn,.contact-bottom .btn,.mini-cta .btn{
 position:relative!important;isolation:isolate!important;overflow:hidden!important;
 background:linear-gradient(135deg,var(--sp-glass-bg),rgba(197,154,59,.055))!important;
 background-color:transparent!important;background-image:linear-gradient(135deg,var(--sp-glass-bg),rgba(197,154,59,.055))!important;
 color:var(--sp-white,#F4F4F1)!important;border:1px solid var(--sp-glass-border)!important;border-radius:2px!important;
 box-shadow:inset 0 1px 0 var(--sp-glass-highlight),0 14px 34px var(--sp-glass-shadow)!important;
 backdrop-filter:blur(22px) saturate(120%)!important;-webkit-backdrop-filter:blur(22px) saturate(120%)!important;
 text-shadow:0 1px 10px rgba(0,0,0,.30)!important;
}
.btn:before,.btn-gold:before,.btn-ghost:before{content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;background:linear-gradient(120deg,rgba(255,255,255,.10),transparent 40%,rgba(197,154,59,.045))!important;}
.btn:hover,.btn-gold:hover,.btn-ghost:hover,.header-action .btn:hover{background:rgba(255,255,255,.075)!important;background-image:none!important;border-color:rgba(215,185,110,.38)!important;color:var(--sp-white,#F4F4F1)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 16px 38px rgba(0,0,0,.44)!important;}
.btn span,.btn-gold span,.btn-ghost span,.btn:hover span{color:inherit!important;background:none!important;}
/* CMS button text colour is independent from body copy. */
.home-section .btn,.content-block .btn,.service-detail .btn,.services-intro .btn,.industry-page-grid .btn,.capability-overview .btn,.testimonial-section .btn,.contact-section .btn,.cta-band .btn,.shared-closing-cta .btn{color:var(--sp-section-button,var(--sp-white,#F4F4F1))!important;}
.home-section .btn span,.content-block .btn span,.service-detail .btn span,.services-intro .btn span,.industry-page-grid .btn span,.capability-overview .btn span,.testimonial-section .btn span,.contact-section .btn span,.cta-band .btn span,.shared-closing-cta .btn span{color:inherit!important;}
/* CMS Label colour controls the eyebrow text AND its rule. */
.home-section .eyebrow,.content-block .eyebrow,.services-intro .eyebrow,.industry-page-grid .eyebrow,.capability-overview .eyebrow,.service-detail .eyebrow,.cta-band .eyebrow,.shared-closing-cta .eyebrow{color:var(--sp-section-label,var(--sp-gold-bright))!important;}
.home-section .eyebrow:before,.content-block .eyebrow:before,.services-intro .eyebrow:before,.industry-page-grid .eyebrow:before,.capability-overview .eyebrow:before,.service-detail .eyebrow:before,.cta-band .eyebrow:before,.shared-closing-cta .eyebrow:before{background:var(--sp-section-label,var(--sp-gold-bright))!important;}


/* =========================================================
   v5.18.21 — AUTHORITATIVE SECTION COLOURS + BRIGHT TRUE GLASS BUTTONS
   CMS controls are scoped to the actual section selector so body/label/button
   colours never leak into one another. Buttons remain translucent glass.
   ========================================================= */
:root{
  --sp-true-glass-bg:rgba(255,255,255,.105);
  --sp-true-glass-highlight:rgba(255,255,255,.22);
  --sp-true-glass-border:rgba(255,255,255,.30);
  --sp-true-glass-shadow:rgba(0,0,0,.42);
}

.btn,.btn-gold,.btn-ghost,.header-action .btn,.hero-actions .btn,.section-cta-row .btn,
.section-cta-row a.btn,.site-footer .btn,.enquiry-form .btn,.contact-bottom .btn,.mini-cta .btn{
  background:rgba(255,255,255,.105)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035) 52%,rgba(197,154,59,.035))!important;
  background-color:transparent!important;
  border:1px solid var(--sp-true-glass-border)!important;
  color:#F7F7F4!important;
  text-shadow:0 1px 8px rgba(0,0,0,.42)!important;
  box-shadow:inset 0 1px 0 var(--sp-true-glass-highlight),inset 0 0 24px rgba(255,255,255,.025),0 14px 34px var(--sp-true-glass-shadow)!important;
  backdrop-filter:blur(22px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(135%)!important;
}
.btn:before,.btn-gold:before,.btn-ghost:before{
  background:linear-gradient(120deg,rgba(255,255,255,.16),rgba(255,255,255,.035) 45%,rgba(197,154,59,.025))!important;
}
.btn:hover,.btn-gold:hover,.btn-ghost:hover,.header-action .btn:hover{
  background:rgba(255,255,255,.14)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.045))!important;
  border-color:rgba(255,255,255,.42)!important;
  color:#fff!important;
}

/* The CMS Button Text colour must control the complete button label and arrow,
   including buttons living inside .section-cta-row and hero-actions. */
#what-we-do .btn,#what-we-do a.btn,#what-we-do button.btn,
#industries-we-serve .btn,#industries-we-serve a.btn,#industries-we-serve button.btn,
#why-sharpline .btn,#why-sharpline a.btn,#why-sharpline button.btn,
#capabilities .btn,#capabilities a.btn,#capabilities button.btn,
.home-hero .btn,.about-v600-hero .btn,.services-v462-hero .btn,.industries-hero .btn,
.capabilities-hero .btn,.why-hero .btn,.contact-page .btn,
.shared-closing-cta .btn,.shared-closing-cta a.btn,.shared-closing-cta button.btn{
  color:var(--sp-section-button,#F4F4F1)!important;
}
#what-we-do .btn span,#what-we-do a.btn span,#what-we-do button.btn span,
#industries-we-serve .btn span,#industries-we-serve a.btn span,#industries-we-serve button.btn span,
#why-sharpline .btn span,#why-sharpline a.btn span,#why-sharpline button.btn span,
#capabilities .btn span,#capabilities a.btn span,#capabilities button.btn span,
.home-hero .btn span,.about-v600-hero .btn span,.services-v462-hero .btn span,.industries-hero .btn span,
.capabilities-hero .btn span,.why-hero .btn span,.contact-page .btn span,
.shared-closing-cta .btn span,.shared-closing-cta a.btn span,.shared-closing-cta button.btn span{
  color:var(--sp-section-button,#F4F4F1)!important;
}

/* Label text and its rule always share the CMS Label colour. */
#what-we-do .eyebrow,#industries-we-serve .eyebrow,#why-sharpline .eyebrow,#capabilities .eyebrow,
.about-v600-hero .eyebrow,.services-v462-hero .eyebrow,.industries-hero .eyebrow,
.capabilities-hero .eyebrow,.why-hero .eyebrow,.shared-closing-cta .eyebrow{
  color:var(--sp-section-label,#C79A3B)!important;
}
#what-we-do .eyebrow:before,#industries-we-serve .eyebrow:before,#why-sharpline .eyebrow:before,#capabilities .eyebrow:before,
.about-v600-hero .eyebrow:before,.services-v462-hero .eyebrow:before,.industries-hero .eyebrow:before,
.capabilities-hero .eyebrow:before,.why-hero .eyebrow:before,.shared-closing-cta .eyebrow:before{
  background:var(--sp-section-label,#C79A3B)!important;
}


/* v5.18.22 — AUTHORITATIVE CMS TEXT COLOURS + BRIGHTER TRUE GLASS BUTTONS
   Section controls are intentionally independent: body never controls buttons,
   and Label controls the eyebrow text + rule only. */
.btn,.btn-gold,.btn-ghost,.header-action .btn,.hero-actions .btn,.section-cta-row .btn,
.site-footer .btn,.enquiry-form .btn,.contact-bottom .btn,.mini-cta .btn{
  background:rgba(255,255,255,.12)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.045) 55%,rgba(199,154,59,.025))!important;
  background-color:transparent!important;
  border:1px solid rgba(255,255,255,.34)!important;
  color:#F8F8F5!important;
  backdrop-filter:blur(24px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(145%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 20px rgba(255,255,255,.025),0 14px 36px rgba(0,0,0,.42)!important;
}
.btn:before,.btn-gold:before,.btn-ghost:before{
  background:linear-gradient(120deg,rgba(255,255,255,.18),rgba(255,255,255,.025) 45%,rgba(199,154,59,.025))!important;
}
.btn:hover,.btn-gold:hover,.btn-ghost:hover,.header-action .btn:hover{
  background:rgba(255,255,255,.16)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.19),rgba(255,255,255,.055))!important;
  border-color:rgba(255,255,255,.48)!important;
  color:#fff!important;
}
.btn span,.btn-gold span,.btn-ghost span{color:inherit!important;}


/* v5.18.24 — section Body colour applies to secondary metadata/copy across the full site. */
.hero-microline{color:var(--sp-section-body,var(--sp-body-text,#D0D0CC))!important;-webkit-text-fill-color:var(--sp-section-body,var(--sp-body-text,#D0D0CC))!important;}
.about-v600-hero-text,.about-v600-copy,.industries-hero-text,.industries-copy,.industries-proof-copy,
.capabilities-hero-text,.cap-section-copy .rich-copy,.services-v462-copy,.services-v462-main-copy,
.services-v462-points span,.services-v462-related-links span,.why-hero-text,.why-section-copy,
.why-rich-copy,.contact-side-intro,.enquiry-intro{
  color:var(--sp-section-body,var(--sp-body-text,#D0D0CC))!important;
  -webkit-text-fill-color:var(--sp-section-body,var(--sp-body-text,#D0D0CC))!important;
}

/* =========================================================
   v5.18.25 — GLOBAL SHARED CLOSING CTA / PREMIUM DARK GLASS
   One fixed visual treatment for the closing CTA across all public pages.
   No solid gold background. Gold is an accent; the section remains graphite/black.
   ========================================================= */
.shared-closing-cta,
.home-business-cta.shared-closing-cta{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  min-height:390px!important;
  padding:96px 0 92px!important;
  background:
    radial-gradient(ellipse at 78% 42%,rgba(197,154,59,.16) 0%,rgba(197,154,59,.065) 22%,transparent 48%),
    linear-gradient(135deg,#070808 0%,#0b0c0c 48%,#10100e 100%)!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
  color:#f5f5f2!important;
}

/* restrained technical grid */
.shared-closing-cta::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  pointer-events:none!important;
  opacity:.46!important;
  background-image:
    linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px)!important;
  background-size:72px 72px!important;
}

/* single diagonal brand element */
.shared-closing-cta::after{
  content:""!important;
  position:absolute!important;
  width:720px!important;
  height:720px!important;
  right:-250px!important;
  top:-390px!important;
  z-index:-1!important;
  pointer-events:none!important;
  border:1px solid rgba(202,160,70,.28)!important;
  background:linear-gradient(135deg,transparent 48%,rgba(202,160,70,.055) 49%,rgba(202,160,70,.025) 62%,transparent 63%)!important;
  transform:rotate(45deg)!important;
  filter:blur(.1px)!important;
}

.shared-closing-cta .cta-grid{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr)!important;
  gap:90px!important;
  align-items:center!important;
}

.shared-closing-cta .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 18px!important;
  font-family:'Barlow Condensed',Inter,sans-serif!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:2.4px!important;
  color:var(--sp-section-label,#C79A3B)!important;
  text-shadow:0 1px 8px rgba(0,0,0,.28)!important;
}

.shared-closing-cta .eyebrow::before{
  content:""!important;
  display:block!important;
  width:38px!important;
  height:1px!important;
  flex:0 0 38px!important;
  background:var(--sp-section-label,#C79A3B)!important;
  opacity:.95!important;
}

.shared-closing-cta h2{
  max-width:760px!important;
  margin:0!important;
  font-family:'Barlow Condensed',Inter,sans-serif!important;
  font-size:clamp(52px,5.35vw,78px)!important;
  line-height:.92!important;
  font-weight:800!important;
  letter-spacing:-1.4px!important;
  color:var(--sp-section-heading,#F5F5F2)!important;
  text-shadow:0 3px 18px rgba(0,0,0,.38)!important;
}

.shared-closing-cta p{
  max-width:560px!important;
  margin:0 0 24px!important;
  font-family:var(--font-body,Inter,sans-serif)!important;
  font-size:15px!important;
  line-height:1.8!important;
  color:var(--sp-section-body,#D0D0CC)!important;
  text-shadow:0 1px 7px rgba(0,0,0,.26)!important;
}

.shared-closing-cta small{
  display:block!important;
  max-width:520px!important;
  margin-top:14px!important;
  font-family:var(--font-body,Inter,sans-serif)!important;
  font-size:11px!important;
  line-height:1.6!important;
  color:rgba(215,215,208,.62)!important;
}

/* CTA action uses the same translucent glass material as the reference cards. */
.shared-closing-cta .btn,
.shared-closing-cta .btn-gold,
.shared-closing-cta .btn-ghost{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:20px!important;
  min-height:54px!important;
  padding:0 24px!important;
  font-family:'Barlow Condensed',Inter,sans-serif!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:1.35px!important;
  color:var(--sp-section-button,#F7F7F4)!important;
  background:rgba(255,255,255,.075)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.025) 58%,rgba(199,154,59,.025))!important;
  background-color:transparent!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:2px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 22px rgba(255,255,255,.025),0 14px 32px rgba(0,0,0,.38)!important;
  backdrop-filter:blur(24px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(135%)!important;
  text-shadow:0 1px 8px rgba(0,0,0,.35)!important;
}

.shared-closing-cta .btn::before,
.shared-closing-cta .btn-gold::before,
.shared-closing-cta .btn-ghost::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:linear-gradient(115deg,rgba(255,255,255,.13),transparent 44%,rgba(202,160,70,.035))!important;
}

.shared-closing-cta .btn span,
.shared-closing-cta .btn-gold span,
.shared-closing-cta .btn-ghost span{
  color:var(--sp-section-button,#F7F7F4)!important;
  font-size:17px!important;
  line-height:1!important;
  background:none!important;
}

.shared-closing-cta .btn:hover,
.shared-closing-cta .btn-gold:hover,
.shared-closing-cta .btn-ghost:hover{
  transform:translateY(-2px)!important;
  background:rgba(255,255,255,.105)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.04) 60%,rgba(202,160,70,.04))!important;
  border-color:rgba(221,190,116,.48)!important;
  color:var(--sp-section-button,#fff)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.27),0 18px 38px rgba(0,0,0,.46)!important;
}

.shared-closing-cta .btn:hover span,
.shared-closing-cta .btn-gold:hover span,
.shared-closing-cta .btn-ghost:hover span{
  color:var(--sp-section-button,#fff)!important;
  transform:translateX(3px)!important;
}

@media(max-width:850px){
  .shared-closing-cta{
    min-height:0!important;
    padding:76px 0 72px!important;
  }
  .shared-closing-cta .cta-grid{
    grid-template-columns:1fr!important;
    gap:38px!important;
  }
  .shared-closing-cta h2{
    font-size:clamp(46px,9vw,64px)!important;
  }
}

@media(max-width:560px){
  .shared-closing-cta{padding:64px 0!important}
  .shared-closing-cta .eyebrow{font-size:10px!important;letter-spacing:2px!important}
  .shared-closing-cta h2{font-size:43px!important;letter-spacing:-.8px!important}
  .shared-closing-cta p{font-size:14px!important;line-height:1.75!important}
  .shared-closing-cta .btn{width:auto!important;min-height:52px!important}
}

/* v5.18.26 — Premium shared CTA: graphite + restrained logo-gold, never a flat yellow block. */
.shared-closing-cta.home-business-cta.cta-band{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(520px 320px at 82% 48%, rgba(184,145,61,.13), transparent 68%),
    radial-gradient(420px 260px at 12% 100%, rgba(184,145,61,.07), transparent 72%),
    linear-gradient(135deg,#0b0d0e 0%,#111313 52%,#090a0a 100%)!important;
  border-top:1px solid rgba(197,162,93,.18)!important;
  border-bottom:1px solid rgba(197,162,93,.14)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.shared-closing-cta.home-business-cta.cta-band:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  opacity:.7!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(135deg,transparent 0 68%,rgba(184,145,61,.055) 68.2%,transparent 68.5%)!important;
  background-size:72px 72px,72px 72px,100% 100%!important;
}
.shared-closing-cta.home-business-cta.cta-band:after{
  content:""!important;
  position:absolute!important;
  width:560px!important;
  height:560px!important;
  right:-250px!important;
  top:-290px!important;
  border:1px solid rgba(210,182,109,.14)!important;
  border-radius:50%!important;
  transform:none!important;
  box-shadow:0 0 90px rgba(184,145,61,.05)!important;
  pointer-events:none!important;
  z-index:-1!important;
}
.shared-closing-cta .eyebrow{
  color:#c8a45a!important;
  -webkit-text-fill-color:#c8a45a!important;
}
.shared-closing-cta .eyebrow:before,
.shared-closing-cta .eyebrow:after{
  background:#c8a45a!important;
}
.shared-closing-cta h2{
  color:#f4f2ed!important;
  -webkit-text-fill-color:#f4f2ed!important;
  text-shadow:0 4px 24px rgba(0,0,0,.28)!important;
}
.shared-closing-cta p{
  color:#c9c9c3!important;
  -webkit-text-fill-color:#c9c9c3!important;
}
.shared-closing-cta small{
  color:#9b9b96!important;
  -webkit-text-fill-color:#9b9b96!important;
}
.shared-closing-cta .btn,
.shared-closing-cta .btn-gold{
  position:relative!important;
  isolation:isolate!important;
  min-height:54px!important;
  padding:0 24px!important;
  color:#f7f5ef!important;
  -webkit-text-fill-color:#f7f5ef!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.105),rgba(255,255,255,.045) 48%,rgba(197,162,93,.075))!important;
  border:1px solid rgba(220,211,189,.34)!important;
  border-radius:2px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -1px 0 rgba(197,162,93,.08),
    0 14px 34px rgba(0,0,0,.26)!important;
  backdrop-filter:blur(22px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(125%)!important;
  overflow:hidden!important;
}
.shared-closing-cta .btn:before,
.shared-closing-cta .btn-gold:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(115deg,rgba(255,255,255,.12),transparent 36%,rgba(197,162,93,.07) 100%)!important;
  pointer-events:none!important;
  z-index:-1!important;
}
.shared-closing-cta .btn span,
.shared-closing-cta .btn-gold span{
  color:#f7f5ef!important;
  -webkit-text-fill-color:#f7f5ef!important;
  background:transparent!important;
}
.shared-closing-cta .btn:hover,
.shared-closing-cta .btn-gold:hover{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.065) 48%,rgba(197,162,93,.11))!important;
  border-color:rgba(231,220,195,.52)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.2),
    0 16px 38px rgba(0,0,0,.3)!important;
  transform:translateY(-1px)!important;
}
@media(max-width:850px){
  .shared-closing-cta.home-business-cta.cta-band{padding:82px 0!important;}
  .shared-closing-cta h2{font-size:clamp(40px,10vw,58px)!important;}
}


/* =========================================================
   v5.18.27 — FINAL PREMIUM GLASS CLOSING CTA
   Dark graphite + restrained logo-gold. No flat gold/mustard CTA.
   ========================================================= */
body .shared-closing-cta.home-business-cta.cta-band{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:430px!important;
  padding:72px 0!important;
  background:
    radial-gradient(700px 360px at 82% 50%,rgba(194,151,67,.16),transparent 68%),
    radial-gradient(420px 300px at 8% 100%,rgba(255,255,255,.035),transparent 72%),
    linear-gradient(135deg,#050607 0%,#0b0d0e 48%,#11110f 100%)!important;
  border-top:1px solid rgba(216,182,104,.22)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  color:#f5f3ee!important;
}
body .shared-closing-cta.home-business-cta.cta-band::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  pointer-events:none!important;
  opacity:.52!important;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px)!important;
  background-size:72px 72px!important;
}
body .shared-closing-cta.home-business-cta.cta-band::after{
  content:""!important;
  position:absolute!important;
  width:680px!important;
  height:680px!important;
  right:-310px!important;
  top:-270px!important;
  z-index:-1!important;
  pointer-events:none!important;
  border:1px solid rgba(213,176,92,.20)!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(196,153,67,.09),transparent 64%)!important;
  box-shadow:0 0 110px rgba(190,145,58,.07)!important;
}
body .shared-closing-cta.home-business-cta.cta-band .cta-grid{
  position:relative!important;
  z-index:2!important;
  padding:54px 58px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:6px!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.025) 52%,rgba(196,153,67,.035))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(213,176,92,.05),
    0 24px 70px rgba(0,0,0,.36)!important;
  backdrop-filter:blur(22px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(125%)!important;
}
body .shared-closing-cta.home-business-cta.cta-band .eyebrow{
  color:#D2AF61!important;
  -webkit-text-fill-color:#D2AF61!important;
  text-shadow:none!important;
}
body .shared-closing-cta.home-business-cta.cta-band .eyebrow::before,
body .shared-closing-cta.home-business-cta.cta-band .eyebrow::after{
  background:#D2AF61!important;
}
body .shared-closing-cta.home-business-cta.cta-band h2{
  color:#F7F5F0!important;
  -webkit-text-fill-color:#F7F5F0!important;
  text-shadow:0 4px 22px rgba(0,0,0,.42)!important;
  font-family:'Barlow Condensed',Inter,sans-serif!important;
  font-weight:800!important;
  letter-spacing:-1.6px!important;
}
body .shared-closing-cta.home-business-cta.cta-band p{
  color:#D7D6D0!important;
  -webkit-text-fill-color:#D7D6D0!important;
  text-shadow:none!important;
}
body .shared-closing-cta.home-business-cta.cta-band small{
  color:#A9AAA5!important;
  -webkit-text-fill-color:#A9AAA5!important;
}
body .shared-closing-cta.home-business-cta.cta-band .btn,
body .shared-closing-cta.home-business-cta.cta-band .btn-gold,
body .shared-closing-cta.home-business-cta.cta-band .btn-ghost{
  position:relative!important;
  isolation:isolate!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  min-height:56px!important;
  padding:0 26px!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  font-family:'Barlow Condensed',Inter,sans-serif!important;
  font-weight:800!important;
  letter-spacing:1.3px!important;
  background:rgba(255,255,255,.065)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.025) 55%,rgba(207,168,86,.055))!important;
  border:1px solid rgba(255,255,255,.32)!important;
  border-radius:4px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(255,255,255,.035),
    0 16px 36px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(24px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(135%)!important;
  text-shadow:0 1px 8px rgba(0,0,0,.42)!important;
}
body .shared-closing-cta.home-business-cta.cta-band .btn::before,
body .shared-closing-cta.home-business-cta.cta-band .btn-gold::before,
body .shared-closing-cta.home-business-cta.cta-band .btn-ghost::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  border-radius:inherit!important;
  background:linear-gradient(115deg,rgba(255,255,255,.14),transparent 40%,rgba(210,175,92,.045))!important;
}
body .shared-closing-cta.home-business-cta.cta-band .btn span,
body .shared-closing-cta.home-business-cta.cta-band .btn-gold span,
body .shared-closing-cta.home-business-cta.cta-band .btn-ghost span{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  background:transparent!important;
}
body .shared-closing-cta.home-business-cta.cta-band .btn:hover,
body .shared-closing-cta.home-business-cta.cta-band .btn-gold:hover,
body .shared-closing-cta.home-business-cta.cta-band .btn-ghost:hover{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  background:rgba(255,255,255,.10)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.035) 55%,rgba(210,175,92,.075))!important;
  border-color:rgba(225,207,164,.54)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 20px 42px rgba(0,0,0,.42)!important;
  transform:translateY(-2px)!important;
}
body .shared-closing-cta.home-business-cta.cta-band .btn:hover span,
body .shared-closing-cta.home-business-cta.cta-band .btn-gold:hover span,
body .shared-closing-cta.home-business-cta.cta-band .btn-ghost:hover span{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
@media(max-width:850px){
  body .shared-closing-cta.home-business-cta.cta-band{min-height:0!important;padding:52px 0!important;}
  body .shared-closing-cta.home-business-cta.cta-band .cta-grid{padding:34px 28px!important;grid-template-columns:1fr!important;gap:30px!important;}
}
@media(max-width:560px){
  body .shared-closing-cta.home-business-cta.cta-band{padding:42px 0!important;}
  body .shared-closing-cta.home-business-cta.cta-band .cta-grid{padding:28px 20px!important;}
  body .shared-closing-cta.home-business-cta.cta-band h2{font-size:clamp(40px,10vw,56px)!important;}
}

/* =========================================================
   SHARPLINE v5.18.28 — GLOBAL TYPOGRAPHY + STABLE GLASS HOVER POLISH
   ========================================================= */
:root{
  --sp-gold-logo:#C6A45A;
  --sp-gold-logo-light:#D9BC78;
  --sp-ink:#080909;
  --sp-glass-dark:rgba(8,10,10,.72);
  --sp-glass-dark-hover:rgba(8,10,10,.72);
  --sp-glass-border:rgba(255,255,255,.14);
  --sp-glass-border-hover:rgba(198,164,90,.42);
}

/* One type system for the entire site: sharp display face + readable body face. */
html,body{font-family:'Inter',Arial,Helvetica,sans-serif!important;font-synthesis:none;}
h1,h2,h3,h4,h5,h6,
.main-nav a,
.btn,
.eyebrow,
.footer-label,
.card-index,
.service-number,
.page-no,
.service-card a,
.editorial-card-body a,
.editorial-trust-card .card-link,
.editorial-cap-card b,
.industry-card i{
  font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif!important;
  font-synthesis:none;
}

/* Display hierarchy — deliberately consistent across templates. */
h1{font-size:clamp(58px,7vw,104px)!important;line-height:.94!important;letter-spacing:-.02em!important;font-weight:800!important;}
h2{font-size:clamp(44px,4.8vw,68px)!important;line-height:1.00!important;letter-spacing:-.015em!important;font-weight:700!important;}
h3{font-size:clamp(20px,2vw,28px)!important;line-height:1.10!important;letter-spacing:-.005em!important;font-weight:700!important;}
h4{font-size:18px!important;line-height:1.15!important;letter-spacing:.005em!important;font-weight:700!important;}

.hero-copy h1,
.inner-hero h1,
.cta-band h2,
.mini-cta h2,
.contact-section h2,
.contact-side h2,
.contact-bottom h2,
.content-grid h2,
.service-detail-copy h2,
.services-intro h2,
.industry-page-grid h2,
.capability-overview h2{
  font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif!important;
  font-weight:800!important;
  letter-spacing:-.018em!important;
}

.hero-copy p,
.inner-hero p,
.section-lead,
.rich-copy,
.service-card p,
.industry-card p,
.editorial-card-body p,
.editorial-industry-card p,
.editorial-trust-card p,
.editorial-cap-card p,
.service-detail-copy p,
.cta-band p,
.mini-cta p,
.contact-bottom p,
.testimonial-review,
.site-footer p,
.site-footer a{
  font-family:'Inter',Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  line-height:1.72!important;
  letter-spacing:0!important;
}

.main-nav a{font-size:10px!important;line-height:1!important;letter-spacing:1.25px!important;font-weight:700!important;}
.eyebrow,.footer-label{font-size:10px!important;line-height:1!important;letter-spacing:2.2px!important;font-weight:800!important;}
.card-index,.service-number,.page-no{font-size:11px!important;line-height:1!important;letter-spacing:1.6px!important;font-weight:700!important;}

/* Keep headings from being squeezed by overly aggressive tracking. */
.hero-copy h1{max-width:980px!important;margin:18px 0 26px!important;}
.home-section h2,.content-grid h2,.service-detail-copy h2,.services-intro h2,.industry-page-grid h2,.capability-overview h2{margin-top:14px!important;margin-bottom:20px!important;max-width:920px!important;}
.editorial-card-body h3,.editorial-industry-card h3,.editorial-trust-card h3,.editorial-cap-card h3,.service-card h3,.industry-card h3{letter-spacing:-.005em!important;line-height:1.10!important;}

/* Button typography — strong enough to read through the glass. */
.btn,.btn-gold,.btn-ghost,.header-action .btn,.mobile-enquire,.sharpline-mobile-enquire{
  font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:1.45px!important;
  text-shadow:0 1px 5px rgba(0,0,0,.45)!important;
}
.btn span,.btn .arrow,.btn .btn-arrow{font-family:Inter,Arial,sans-serif!important;font-size:17px!important;line-height:1!important;letter-spacing:0!important;}

/* Stable glass cards: keep the material constant on hover so the image behind does not
   suddenly flare through the panel or create the gold "glitch" seen in review. */
.editorial-industry-card,
.editorial-trust-card,
.editorial-cap-card,
.industry-page-grid-modern .industry-card{
  position:relative!important;
  overflow:hidden!important;
  background:var(--sp-glass-dark)!important;
  border-color:var(--sp-glass-border)!important;
  backdrop-filter:blur(14px) saturate(105%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(105%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 16px 38px rgba(0,0,0,.18)!important;
  transition:border-color .24s ease,box-shadow .24s ease!important;
  transform:none!important;
}
.editorial-industry-card:hover,
.editorial-trust-card:hover,
.editorial-cap-card:hover,
.industry-page-grid-modern .industry-card:hover{
  background:var(--sp-glass-dark-hover)!important;
  border-color:var(--sp-glass-border-hover)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 42px rgba(0,0,0,.22)!important;
  transform:none!important;
}

/* Do not let the decorative gold light source bleed through the card as a hover artefact. */
.editorial-trust-card::before,
.editorial-trust-card::after,
.editorial-cap-card::before,
.editorial-cap-card::after{
  pointer-events:none!important;
}

/* Service cards: same stable interaction — no background flash. */
.service-card,
.editorial-card{
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}
.service-card:hover,
.editorial-card:hover{
  background:#0d0f0f!important;
  border-color:rgba(198,164,90,.36)!important;
}

/* Accent gold is an accent, never a full yellow surface. */
.main-nav a.active,
.main-nav a:hover,
.service-card a,
.editorial-card-body a,
.editorial-trust-card .card-link,
.editorial-cap-card b,
.industry-card i,
.eyebrow,
.footer-label{
  color:var(--sp-gold-logo)!important;
}

/* Consistent section spacing. */
.home-section,.content-block,.service-detail,.testimonial-section,.contact-section{padding-top:112px!important;padding-bottom:112px!important;}
.services-intro,.industry-page-grid,.capability-overview{padding-top:92px!important;padding-bottom:52px!important;}
.section-lead{margin-bottom:46px!important;color:#B2B3AE!important;}

@media(max-width:850px){
  h1{font-size:clamp(46px,10vw,76px)!important;letter-spacing:-.015em!important;}
  h2{font-size:clamp(38px,8vw,58px)!important;}
  h3{font-size:22px!important;}
  .hero-copy h1,.inner-hero h1{letter-spacing:-.015em!important;}
  .home-section,.content-block,.service-detail,.testimonial-section,.contact-section{padding-top:84px!important;padding-bottom:84px!important;}
  .services-intro,.industry-page-grid,.capability-overview{padding-top:76px!important;padding-bottom:42px!important;}
  .hero-copy p,.inner-hero p,.section-lead,.rich-copy,.service-card p,.industry-card p,.editorial-card-body p,.editorial-industry-card p,.editorial-trust-card p,.editorial-cap-card p,.service-detail-copy p,.cta-band p,.mini-cta p,.contact-bottom p,.testimonial-review{font-size:14px!important;line-height:1.75!important;}
}

@media(max-width:600px){
  h1{font-size:clamp(42px,12vw,60px)!important;}
  h2{font-size:36px!important;}
  h3{font-size:21px!important;}
  .btn{font-size:11px!important;min-height:50px!important;}
  .eyebrow,.footer-label{font-size:9px!important;letter-spacing:2px!important;}
  .home-section,.content-block,.service-detail,.testimonial-section,.contact-section{padding-top:68px!important;padding-bottom:68px!important;}
}

/* ================================================================
   SHARPLINE FINAL DESIGN SYSTEM 5.19.1
   Source: final approved website copy dated 30.9.26.
   Clean visual layer placed last so legacy styles cannot override it.
   ================================================================ */
:root{
  --sp-bg:#07090a;
  --sp-bg-2:#0b0e10;
  --sp-surface:rgba(255,255,255,.055);
  --sp-surface-strong:rgba(255,255,255,.075);
  --sp-border:rgba(255,255,255,.14);
  --sp-border-strong:rgba(201,164,86,.46);
  --sp-text:#f4f3ef;
  --sp-body:#c9cbc9;
  --sp-muted:#92969a;
  --sp-gold-logo:#c5a04e;
  --sp-gold-light:#e1bf70;
  --sp-silver:#c5c9cc;
  --sp-display:'Barlow Condensed',Arial Narrow,Arial,sans-serif;
  --sp-body-font:'Inter',Arial,Helvetica,sans-serif;
  --sp-container:1240px;
  --sp-ease:cubic-bezier(.22,.61,.36,1);
}
html{background:var(--sp-bg)}
body{background:var(--sp-bg)!important;color:var(--sp-text)!important;font-family:var(--sp-body-font)!important;font-size:16px!important;line-height:1.72!important;letter-spacing:.005em!important;-webkit-font-smoothing:antialiased!important;overflow-x:hidden}
.container{width:min(var(--sp-container),calc(100% - 72px))!important}
.sp-page{background:var(--sp-bg);color:var(--sp-text)}
.sp-page h1,.sp-page h2,.sp-page h3,.sp-page h4,.site-header .main-nav a,.btn,.eyebrow,.footer-label,.sp-index,.sp-card-link{font-family:var(--sp-display)!important}
.sp-page h1,.sp-page h2,.sp-page h3,.sp-page h4{color:var(--sp-text);font-weight:700}
.sp-page h1{font-size:clamp(58px,6.6vw,94px)!important;line-height:.94!important;letter-spacing:-1.8px!important;margin:20px 0 28px!important;max-width:980px}
.sp-page h2{font-size:clamp(42px,4.5vw,66px)!important;line-height:1!important;letter-spacing:-.8px!important;margin:16px 0 26px!important;max-width:860px}
.sp-page h3{font-size:clamp(26px,2.2vw,34px)!important;line-height:1.04!important;letter-spacing:-.25px!important;margin:12px 0 16px!important}
.sp-page p{font-family:var(--sp-body-font)!important;color:var(--sp-body);font-size:16px!important;line-height:1.78!important;letter-spacing:.005em!important}
.eyebrow{display:inline-flex!important;align-items:center!important;gap:12px!important;color:var(--sp-gold-logo)!important;font-size:10px!important;font-weight:800!important;line-height:1!important;letter-spacing:2.5px!important;text-transform:uppercase!important;margin:0 0 18px!important}
.eyebrow:before{content:"";width:24px;height:1px;background:currentColor;opacity:.9;display:block;flex:0 0 24px}
.sp-page-hero{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;background:#080a0b!important;border-bottom:1px solid rgba(255,255,255,.08)}
.sp-hero-media{position:absolute;inset:0;background-image:var(--sp-hero-image);background-size:cover;background-position:center;opacity:.58;filter:saturate(.88) contrast(1.03);z-index:0}
.sp-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,8,.94) 0%,rgba(5,7,8,.74) 46%,rgba(5,7,8,.28) 100%),linear-gradient(180deg,rgba(5,7,8,.18),rgba(5,7,8,.88));z-index:1}
.sp-hero-grid{position:relative;z-index:2;padding:150px 0 110px}
.sp-hero-copy{max-width:980px}
.sp-hero-text{max-width:740px}
.sp-hero-text p{margin:0 0 12px;color:#d1d3d2!important}
.sp-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.sp-microline{margin-top:26px;color:#a6aaad;font-family:var(--sp-body-font);font-size:11px;letter-spacing:1.8px;text-transform:uppercase}
.sp-section{position:relative;padding:120px 0;overflow:hidden;background-color:var(--sp-bg)!important;background-size:cover!important;background-position:center!important}
.sp-section:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,10,.91),rgba(7,9,10,.97));z-index:0;pointer-events:none}
.sp-section-contrast{background-color:#0c1012!important}
.sp-section-contrast:before{background:linear-gradient(180deg,rgba(10,13,15,.89),rgba(10,13,15,.96))}
.sp-section>.container{position:relative;z-index:1}
.sp-section-intro{margin-bottom:56px}
.sp-two-col,.sp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:clamp(54px,7vw,110px);align-items:start}
.sp-section-intro h2,.sp-split h2{max-width:780px}
.section-lead{max-width:700px!important;margin:42px 0 0!important;color:var(--sp-body)!important;font-size:17px!important;line-height:1.8!important}
.sp-card-grid{display:grid;gap:1px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10)}
.sp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-five-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10)}
.sp-industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10)}
.sp-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.018))!important;border:0;backdrop-filter:blur(18px) saturate(108%);-webkit-backdrop-filter:blur(18px) saturate(108%);box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 18px 42px rgba(0,0,0,.20);transition:border-color .25s var(--sp-ease),box-shadow .25s var(--sp-ease),transform .25s var(--sp-ease)}
.sp-card:hover{transform:translateY(-2px)!important;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.018))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.065),0 22px 46px rgba(0,0,0,.24)!important;border-color:rgba(197,160,78,.30)!important}
.sp-card-image{height:230px;overflow:hidden;background:#0a0c0d;border-bottom:1px solid rgba(255,255,255,.09)}
.sp-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--sp-ease)}
.sp-card:hover .sp-card-image img{transform:scale(1.025)}
.sp-card-body{padding:30px 30px 32px}
.sp-index{display:block;color:var(--sp-gold-logo)!important;font-size:11px!important;font-weight:700!important;letter-spacing:2px!important;line-height:1!important;margin-bottom:48px}
.sp-card h3{margin-bottom:16px!important}
.sp-card p{margin:0!important;color:var(--sp-body)!important}
.sp-card-link{display:inline-flex;align-items:center;gap:14px;margin-top:28px;color:var(--sp-gold-light)!important;font-size:11px!important;font-weight:800!important;letter-spacing:1.7px!important}
.sp-card-link span{font-family:var(--sp-body-font);font-size:16px;transition:transform .2s ease}.sp-card-link:hover span{transform:translateX(4px)}
.sp-industry-card{min-height:230px;padding:30px}
.sp-industry-card .sp-index{margin-bottom:58px}
.sp-industry-card h3{max-width:290px}
.sp-industry-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-industry-detail{padding:38px;min-height:300px}
.sp-industry-detail .sp-index{margin-bottom:64px}
.sp-industry-detail h2{font-size:clamp(32px,3vw,46px)!important;margin-bottom:18px!important}
.sp-pillar-card,.sp-cap-card{padding:30px;min-height:340px}
.sp-pillar-card .sp-index,.sp-cap-card .sp-index{margin-bottom:70px}
.sp-pillar-card p,.sp-cap-card p{margin-top:18px!important}
.sp-copy{max-width:720px}
.sp-copy>p:first-child{margin-top:0}
.sp-copy .content-support-item{display:grid;grid-template-columns:190px 1fr;gap:28px;padding:18px 0;border-top:1px solid rgba(255,255,255,.10)}
.sp-copy .content-support-item strong{font-family:var(--sp-display);font-size:20px;color:var(--sp-text)}
.sp-support-image{width:100%;max-height:430px;object-fit:cover;margin-top:30px;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.24)}
.sp-section-action{margin-top:42px}
.btn{font-family:var(--sp-display)!important;font-size:12px!important;font-weight:800!important;letter-spacing:1.6px!important;line-height:1!important;min-height:54px!important;padding:0 23px!important;border-radius:2px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:18px!important;position:relative!important;overflow:hidden!important;text-shadow:0 1px 6px rgba(0,0,0,.30)!important;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease!important}
.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.13),rgba(255,255,255,.02) 42%,rgba(197,160,78,.06));pointer-events:none;z-index:0}
.btn,.btn-gold,.btn-ghost,.btn-glass-primary,.btn-glass-secondary{background:rgba(255,255,255,.075)!important;color:var(--sp-text)!important;border:1px solid rgba(255,255,255,.26)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 16px 34px rgba(0,0,0,.22)!important;backdrop-filter:blur(20px) saturate(115%)!important;-webkit-backdrop-filter:blur(20px) saturate(115%)!important}
.btn span{position:relative;z-index:2;color:currentColor!important;background:transparent!important;font-family:var(--sp-body-font)!important;font-size:17px!important;line-height:1!important}
.btn:hover,.btn-gold:hover,.btn-ghost:hover,.btn-glass-primary:hover,.btn-glass-secondary:hover{background:rgba(255,255,255,.105)!important;color:#fff!important;border-color:rgba(225,191,112,.60)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 20px 40px rgba(0,0,0,.28)!important;transform:translateY(-1px)!important}
.btn:active{transform:translateY(0)!important}
.shared-closing-cta{position:relative;overflow:hidden;padding:100px 0;background:#080b0d!important;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.08)}
.shared-closing-cta:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 80% 30%,rgba(197,160,78,.14),transparent 30%),linear-gradient(135deg,transparent 35%,rgba(197,160,78,.045) 35%,rgba(197,160,78,.045) 48%,transparent 48%);pointer-events:none}
.shared-closing-cta:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,black,transparent 75%);pointer-events:none}
.cta-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:clamp(50px,8vw,120px);align-items:center;padding:48px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.025));backdrop-filter:blur(22px) saturate(110%);-webkit-backdrop-filter:blur(22px) saturate(110%);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 70px rgba(0,0,0,.28)}
.cta-shell h2{margin:0!important;font-size:clamp(46px,5vw,76px)!important;line-height:.96!important;letter-spacing:-1.1px!important}
.cta-action p{margin:0 0 28px!important;color:#d0d2d1!important;max-width:560px}
.sp-client-proof{margin-top:38px;padding:28px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.sp-client-proof p{margin:0 0 18px!important;color:var(--sp-body)!important}.sp-client-note{padding-top:18px;border-top:1px solid rgba(255,255,255,.09);color:var(--sp-muted);font-size:12px;line-height:1.7}
.sp-direct-links{margin-top:24px;border-top:1px solid rgba(255,255,255,.10)}
.sp-direct-links a{display:grid;grid-template-columns:110px 1fr 24px;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.10);transition:color .2s ease}.sp-direct-links a small{font-family:var(--sp-display);color:var(--sp-gold-logo);letter-spacing:1.8px;font-weight:800}.sp-direct-links a strong{font-family:var(--sp-body-font);font-size:14px;font-weight:600;color:var(--sp-text)}.sp-direct-links a span{color:var(--sp-gold-light);font-size:18px}.sp-direct-links a:hover strong{color:#fff}
.sp-contact-grid{display:grid;grid-template-columns:minmax(0,1fr);max-width:980px}.sp-form-panel{padding:42px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}.field.full,.enquiry-form .full{grid-column:1/-1}.field label{display:block!important;margin-bottom:8px!important;color:#aeb1b1!important;font-family:var(--sp-display)!important;font-size:11px!important;letter-spacing:1.5px!important;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(255,255,255,.15)!important;background:rgba(255,255,255,.045)!important;color:#f2f2ef!important;padding:15px 16px!important;border-radius:2px!important;outline:0;backdrop-filter:blur(10px)}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(197,160,78,.58)!important;box-shadow:0 0 0 2px rgba(197,160,78,.08)}
.map-preview{margin-top:26px!important;width:100%;height:330px;border:1px solid rgba(255,255,255,.12);background:#0d1011;overflow:hidden}.map-preview iframe{width:100%;height:100%;border:0;display:block}
.site-header{height:82px!important;background:rgba(7,9,10,.72)!important;border-bottom:1px solid rgba(255,255,255,.10)!important;backdrop-filter:blur(18px) saturate(115%)!important;-webkit-backdrop-filter:blur(18px) saturate(115%)!important}
.header-inner{gap:30px!important}.brand{width:220px!important}.brand .sharpline-logo{height:60px!important}.main-nav{gap:28px!important}.main-nav a{font-family:var(--sp-display)!important;font-size:11px!important;font-weight:700!important;letter-spacing:1.7px!important;color:#c9cbca!important;padding:8px 0!important}.main-nav a:after{background:var(--sp-gold-logo)!important}.main-nav a:hover,.main-nav a.active{color:var(--sp-gold-light)!important}
.header-action .btn{min-width:150px!important}
.site-footer{background:#050708!important;border-top:1px solid rgba(255,255,255,.10)!important}.footer-main{grid-template-columns:1.25fr .8fr 1fr .85fr!important;padding:82px 0 66px!important;gap:56px!important}.footer-brand .sharpline-logo{width:220px!important;height:76px!important}.footer-brand-line{font-family:var(--sp-display)!important;color:#d6d7d4!important;font-size:20px!important;letter-spacing:.2px}.site-footer .footer-label{font-family:var(--sp-display)!important;color:var(--sp-gold-light)!important;font-size:10px!important;letter-spacing:2px!important}.site-footer a,.site-footer p,.site-footer li a{font-family:var(--sp-body-font)!important;color:#c4c7c6!important;font-size:14px!important;line-height:1.8!important}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:0 0 6px}.site-footer a:hover{color:#fff!important}.footer-bottom{border-top:1px solid rgba(255,255,255,.08)!important;background:#050708!important;padding:18px 0!important}.footer-bottom span{font-family:var(--sp-body-font)!important;color:#808487!important;font-size:12px!important}
.floating-actions{right:24px!important;bottom:24px!important;z-index:9999!important;display:flex!important;flex-direction:column!important;gap:10px!important}.floating-actions a{width:52px!important;height:52px!important;border:1px solid rgba(255,255,255,.20)!important;background:rgba(8,10,11,.62)!important;color:#fff!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;box-shadow:0 14px 30px rgba(0,0,0,.26)!important}.floating-actions a span{font-family:var(--sp-display)!important;font-size:9px!important;letter-spacing:1px!important;text-transform:uppercase}
/* No yellow editorial bands in the final system. */
.gold-intro,.mini-cta,.contact-bottom,.cta-band{background:#080b0d!important;color:var(--sp-text)!important}
/* Prevent hover light/image flare from legacy card pseudo-elements. */
.sp-card:before,.sp-card:after,.sp-card:hover:before,.sp-card:hover:after{opacity:0!important;transform:none!important;background:none!important}
@media(max-width:1050px){.sp-five-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-two-col,.sp-split,.cta-shell{grid-template-columns:1fr}.section-lead{margin-top:0!important}.sp-hero-grid{padding:125px 0 90px}.sp-page h1{max-width:820px}.footer-main{grid-template-columns:1fr 1fr 1fr!important}}
@media(max-width:760px){.container{width:min(var(--sp-container),calc(100% - 36px))!important}.site-header{height:72px!important}.brand{width:180px!important}.brand .sharpline-logo{height:54px!important}.primary-nav{display:none}.menu-toggle{display:block;margin-left:auto}.header-action{display:none}.sp-page-hero{min-height:640px}.sp-hero-grid{padding:105px 0 72px}.sp-page h1{font-size:clamp(48px,12vw,70px)!important;letter-spacing:-1px!important}.sp-page h2{font-size:clamp(38px,10vw,54px)!important}.sp-section{padding:84px 0}.sp-service-grid,.sp-industry-grid,.sp-industry-detail-grid,.sp-five-grid{grid-template-columns:1fr}.sp-card-body,.sp-industry-detail,.sp-pillar-card,.sp-cap-card{padding:28px}.sp-copy .content-support-item{grid-template-columns:1fr;gap:6px}.cta-shell{padding:30px}.enquiry-form{grid-template-columns:1fr}.field.full,.enquiry-form .full{grid-column:auto}.footer-main{grid-template-columns:1fr 1fr!important;gap:34px}.sp-direct-links a{grid-template-columns:90px 1fr 20px}}
@media(max-width:520px){.container{width:calc(100% - 28px)!important}.sp-actions{flex-direction:column;align-items:stretch}.sp-actions .btn{width:100%}.sp-microline{font-size:9px;letter-spacing:1.2px}.sp-section{padding:72px 0}.footer-main{grid-template-columns:1fr!important}.floating-actions{right:14px!important;bottom:14px!important}.floating-actions a{width:48px!important;height:48px!important}}

/* =========================================================
   SHARPLINE v5.19.1 — CONTACT LAYOUT + CLEAN ARROW FINAL PASS
   Final overrides intentionally placed last so legacy 5.16–5.18
   button rules cannot reintroduce boxed arrows or split contact maps.
   ========================================================= */
.btn,
.btn-gold,
.btn-ghost,
.btn-glass-primary,
.btn-glass-secondary,
.header-action .btn,
.site-footer .btn{
  white-space:nowrap!important;
  flex-wrap:nowrap!important;
}
.btn > span,
.btn-gold > span,
.btn-ghost > span,
.btn-glass-primary > span,
.btn-glass-secondary > span,
.header-action .btn > span,
.site-footer .btn > span{
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 0 12px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
  font-family:Inter,Arial,sans-serif!important;
  font-size:17px!important;
  font-weight:500!important;
  line-height:1!important;
  letter-spacing:0!important;
  transform:none!important;
  position:relative!important;
  z-index:3!important;
}
.btn > span::before,
.btn > span::after,
.btn-gold > span::before,
.btn-gold > span::after,
.btn-ghost > span::before,
.btn-ghost > span::after,
.btn-glass-primary > span::before,
.btn-glass-primary > span::after,
.btn-glass-secondary > span::before,
.btn-glass-secondary > span::after{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
.btn:hover > span,
.btn-gold:hover > span,
.btn-ghost:hover > span,
.btn-glass-primary:hover > span,
.btn-glass-secondary:hover > span{
  transform:translateX(3px)!important;
  background:transparent!important;
  background-image:none!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}
.header-action .btn,
.site-footer .btn{
  min-width:max-content!important;
}

/* Contact page: use the approved PDF structure in a balanced two-column block. */
.sp-contact-details-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(54px,7vw,110px)!important;
  align-items:start!important;
}
.sp-contact-direct,
.sp-contact-location{
  min-width:0!important;
}
.sp-contact-direct h2,
.sp-contact-location h2{
  max-width:620px!important;
}
.sp-contact-intro{
  max-width:620px!important;
  margin:20px 0 0!important;
  color:var(--sp-section-body,var(--sp-body))!important;
  font-size:15px!important;
  line-height:1.8!important;
}
.sp-contact-location .eyebrow{
  margin-bottom:14px!important;
}
.sp-contact-address{
  margin:20px 0 0!important;
  color:var(--sp-section-body,var(--sp-body))!important;
  font-size:14px!important;
  line-height:1.8!important;
}
.sp-contact-location .map-preview{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  margin-top:24px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:#0d1011!important;
  overflow:hidden!important;
}
.sp-contact-location .map-preview iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important;
}
.sp-contact-location .sp-card-link{
  margin-top:22px!important;
}

@media(max-width:900px){
  .sp-contact-details-grid{grid-template-columns:1fr!important;gap:72px!important;}
  .sp-contact-location .map-preview{aspect-ratio:16/10!important;}
}
@media(max-width:760px){
  .sp-contact-details-grid{gap:58px!important;}
  .sp-contact-intro,.sp-contact-address{font-size:14px!important;}
  .sp-contact-location .map-preview{aspect-ratio:16/10!important;}
}

/* v5.19.1 — authoritative glass material for every public button.
   This intentionally overrides older gold-fill rules while retaining the logo-gold
   border/tint. */
body .btn,
body .btn-gold,
body .btn-ghost,
body .btn-glass-primary,
body .btn-glass-secondary,
body .site-header .header-action .btn-gold,
body .site-footer .footer-main .btn-gold,
body .shared-closing-cta .btn-gold,
body .home-business-cta .btn-gold,
body .hero-actions .btn-gold{
  background:rgba(255,255,255,.075)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.035) 52%,rgba(197,160,78,.055))!important;
  background-color:transparent!important;
  color:#F4F3EF!important;
  -webkit-text-fill-color:#F4F3EF!important;
  border:1px solid rgba(225,191,112,.58)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 0 24px rgba(255,255,255,.025),0 14px 34px rgba(0,0,0,.30)!important;
  -webkit-backdrop-filter:blur(22px) saturate(135%)!important;
  backdrop-filter:blur(22px) saturate(135%)!important;
  text-shadow:0 1px 8px rgba(0,0,0,.25)!important;
}
body .btn::before,
body .btn-gold::before,
body .btn-ghost::before{
  background:linear-gradient(120deg,rgba(255,255,255,.15),transparent 38%,rgba(225,191,112,.055) 76%,transparent)!important;
  z-index:0!important;
}
body .btn:hover,
body .btn-gold:hover,
body .btn-ghost:hover,
body .site-header .header-action .btn-gold:hover,
body .site-footer .footer-main .btn-gold:hover,
body .shared-closing-cta .btn-gold:hover,
body .home-business-cta .btn-gold:hover,
body .hero-actions .btn-gold:hover{
  background:rgba(255,255,255,.11)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.17),rgba(255,255,255,.045) 50%,rgba(197,160,78,.09))!important;
  border-color:rgba(239,213,155,.78)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30),inset 0 0 28px rgba(255,255,255,.035),0 16px 38px rgba(0,0,0,.34),0 0 20px rgba(197,160,78,.08)!important;
  transform:translateY(-1px)!important;
}
body .btn > span,
body .btn-gold > span,
body .btn-ghost > span,
body .site-header .header-action .btn-gold > span,
body .site-footer .footer-main .btn-gold > span,
body .shared-closing-cta .btn-gold > span,
body .home-business-cta .btn-gold > span,
body .hero-actions .btn-gold > span{
  background:transparent!important;
  background-image:none!important;
  background-color:transparent!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  box-shadow:none!important;
  border:0!important;
}
body .site-header .header-action .btn-gold,
body .site-footer .footer-main .btn-gold{
  font-weight:900!important;
}

/* =========================================================
   SHARPLINE v5.19.2 — CLEAN ARROW + SECTION IMAGE SYSTEM
   ========================================================= */
/* Arrow is a pure glyph: no tile, no fill, no pseudo-element. */
body .btn .btn-arrow,
body .btn-gold .btn-arrow,
body .btn-ghost .btn-arrow,
body .btn-glass-primary .btn-arrow,
body .btn-glass-secondary .btn-arrow,
body .site-header .header-action .btn .btn-arrow,
body .site-footer .btn .btn-arrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 0 13px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
  font-family:Arial,sans-serif!important;
  font-size:17px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
  position:relative!important;
  z-index:5!important;
  transform:none!important;
  filter:none!important;
}
body .btn .btn-arrow::before,
body .btn .btn-arrow::after,
body .btn-gold .btn-arrow::before,
body .btn-gold .btn-arrow::after,
body .btn-ghost .btn-arrow::before,
body .btn-ghost .btn-arrow::after,
body .btn-glass-primary .btn-arrow::before,
body .btn-glass-primary .btn-arrow::after,
body .btn-glass-secondary .btn-arrow::before,
body .btn-glass-secondary .btn-arrow::after{
  content:none!important;
  display:none!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
body .btn:hover .btn-arrow,
body .btn:focus-visible .btn-arrow{
  background:transparent!important;
  background-image:none!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
  transform:translateX(3px)!important;
}

/* Every approved content section gets a visible hero-style image treatment.
   CTA sections stay image-free. Why Sharpline remains intentionally editorial/dark. */
body .sp-section.sp-has-bg{
  background-color:#080b0d!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
body .sp-section.sp-has-bg::before{
  background:
    linear-gradient(90deg,rgba(5,7,8,.90) 0%,rgba(5,7,8,.76) 42%,rgba(5,7,8,.54) 72%,rgba(5,7,8,.66) 100%),
    linear-gradient(180deg,rgba(5,7,8,.24),rgba(5,7,8,.72))!important;
}
body .sp-section.sp-has-bg > .container{position:relative;z-index:2}

/* Keep the Home Why Sharpline section image-free, like the dedicated Why page. */
#home-why.sp-section{background-image:none!important}
#home-why.sp-section::before{background:linear-gradient(180deg,rgba(7,9,10,.96),rgba(7,9,10,.98))!important}

/* Contact form/details use the same page visual language without becoming a flat block. */
.contact-page #contact-form.sp-section.sp-has-bg::before,
.contact-page #contact-details.sp-section.sp-has-bg::before{
  background:
    linear-gradient(90deg,rgba(5,7,8,.93) 0%,rgba(5,7,8,.82) 45%,rgba(5,7,8,.68) 100%),
    linear-gradient(180deg,rgba(5,7,8,.28),rgba(5,7,8,.76))!important;
}

/* Image-backed cards retain the image while the glass surface stays restrained. */
.sp-has-bg .sp-card,
.sp-has-bg .sp-contact-direct,
.sp-has-bg .sp-contact-location{
  position:relative;
}

@media(max-width:760px){
  body .sp-section.sp-has-bg::before{
    background:linear-gradient(180deg,rgba(5,7,8,.78),rgba(5,7,8,.92))!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.3 — FINAL VISUAL ALIGNMENT + ARROW CLEANUP
   ========================================================= */

/* 1. Arrow: pure directional glyph. No gold tile, no inherited fill,
      no pseudo-element, no shadow, no background on the arrow itself. */
body a.btn > span.btn-arrow,
body button.btn > span.btn-arrow,
body .btn > span.btn-arrow,
body .btn-gold > span.btn-arrow,
body .btn-ghost > span.btn-arrow,
body .btn-glass-primary > span.btn-arrow,
body .btn-glass-secondary > span.btn-arrow,
body .site-footer a.btn > span.btn-arrow,
body .site-header a.btn > span.btn-arrow {
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 0 14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:0!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:17px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  filter:none!important;
  opacity:1!important;
}
body a.btn > span.btn-arrow::before,
body a.btn > span.btn-arrow::after,
body button.btn > span.btn-arrow::before,
body button.btn > span.btn-arrow::after,
body .btn > span.btn-arrow::before,
body .btn > span.btn-arrow::after,
body .site-footer a.btn > span.btn-arrow::before,
body .site-footer a.btn > span.btn-arrow::after {
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  background:none!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
body a.btn:hover > span.btn-arrow,
body button.btn:hover > span.btn-arrow,
body .btn:focus-visible > span.btn-arrow {
  background:transparent!important;
  background-image:none!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
  box-shadow:none!important;
  transform:translateX(3px)!important;
}

/* 2. Footer: balanced columns and clean CTA alignment. */
.site-footer .footer-main {
  display:grid!important;
  grid-template-columns:minmax(230px,1.25fr) minmax(150px,.72fr) minmax(210px,1fr) minmax(230px,.95fr)!important;
  align-items:start!important;
  gap:clamp(34px,5vw,68px)!important;
  padding:78px 0 64px!important;
}
.site-footer .footer-main > div {
  min-width:0!important;
  align-self:start!important;
}
.site-footer .footer-label {
  display:block!important;
  margin:0 0 20px!important;
  line-height:1.2!important;
}
.site-footer .footer-main > div > a:not(.btn),
.site-footer .footer-main > div > p {
  display:block!important;
  margin:0 0 9px!important;
}
.site-footer .footer-main .btn {
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:245px!important;
  min-height:54px!important;
  margin:0!important;
  white-space:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
}
.site-footer .footer-main .btn-arrow {
  margin-left:14px!important;
}
.site-footer .footer-brand-line {
  margin-top:16px!important;
}

/* 3. Global editorial rhythm: one consistent vertical system. */
.sp-page .sp-section {
  padding-top:clamp(82px,7.2vw,118px)!important;
  padding-bottom:clamp(82px,7.2vw,118px)!important;
}
.sp-page .sp-section > .container {
  position:relative!important;
}
.sp-page .sp-split {
  display:grid!important;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr)!important;
  gap:clamp(44px,7vw,104px)!important;
  align-items:start!important;
}
.sp-page .sp-split > div:first-child {
  min-width:0!important;
}
.sp-page .sp-split > .sp-copy {
  min-width:0!important;
}
.sp-page .sp-copy {
  max-width:760px!important;
  font-size:15px!important;
  line-height:1.78!important;
}
.sp-page .sp-copy p {
  margin:0 0 18px!important;
}
.sp-page .sp-copy p:last-child {
  margin-bottom:0!important;
}
.sp-page .sp-section-action {
  margin-top:30px!important;
}
.sp-page .sp-section h2 {
  max-width:760px!important;
  margin-top:14px!important;
  margin-bottom:0!important;
  text-wrap:balance;
}
.sp-page .eyebrow {
  line-height:1.2!important;
}

/* 4. Image/content alignment: all editorial support images share one visual
      frame so the top/bottom edges align consistently across pages. */
.sp-page .sp-support-image {
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:32px 0 0!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.24)!important;
}
.sp-page .sp-card-image,
.sp-page .visual,
.sp-page .services-v462-detail-visual,
.sp-page .cap-section-visual,
.sp-page .why-section-media {
  overflow:hidden!important;
}
.sp-page .sp-card-image img,
.sp-page .visual img,
.sp-page .services-v462-detail-visual img,
.sp-page .cap-section-visual img,
.sp-page .why-section-media img {
  width:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.sp-page .sp-card-image {
  aspect-ratio:16/10!important;
  height:auto!important;
}
.sp-page .sp-card-image img {
  height:100%!important;
}

/* 5. Home editorial cards: equal image frames and equal content rhythm. */
.home-editorial-grid .editorial-card {
  min-height:100%!important;
}
.home-editorial-grid .editorial-card .card-image {
  height:auto!important;
  aspect-ratio:16/10!important;
}
.home-editorial-grid .editorial-card .card-image img {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.home-editorial-grid .editorial-card-body {
  padding:26px 28px 30px!important;
}
.home-editorial-grid .editorial-card-body h3 {
  margin:0 0 12px!important;
  line-height:1.08!important;
}
.home-editorial-grid .editorial-card-body p {
  margin:0!important;
  line-height:1.7!important;
}

/* 6. Contact/Map: exact same vertical rhythm as the rest of the site. */
.contact-page .sp-contact-details-grid {
  align-items:start!important;
}
.contact-page .sp-contact-direct,
.contact-page .sp-contact-location {
  padding-top:0!important;
}
.contact-page .map-preview {
  width:100%!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.contact-page .map-preview iframe {
  width:100%!important;
  height:100%!important;
  display:block!important;
}

/* 7. Keep hover restrained. No gold flare or layout movement. */
.editorial-card,
.editorial-industry-card,
.editorial-trust-card,
.editorial-cap-card,
.sp-card,
.service-card {
  transition:transform .25s ease,border-color .25s ease,background-color .25s ease,box-shadow .25s ease!important;
}
.editorial-card:hover,
.editorial-industry-card:hover,
.editorial-trust-card:hover,
.editorial-cap-card:hover,
.sp-card:hover,
.service-card:hover {
  transform:translateY(-2px)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.20)!important;
}
.editorial-card::before,
.editorial-card::after,
.editorial-industry-card::before,
.editorial-industry-card::after,
.editorial-trust-card::before,
.editorial-trust-card::after,
.editorial-cap-card::before,
.editorial-cap-card::after,
.sp-card::before,
.sp-card::after,
.service-card::before,
.service-card::after {
  transition:none!important;
}

/* 8. Responsive alignment. */
@media(max-width:1050px){
  .site-footer .footer-main{grid-template-columns:1.1fr 1fr 1fr!important;gap:42px!important;}
  .site-footer .footer-main > div:last-child{grid-column:2 / span 2!important;}
}
@media(max-width:760px){
  .site-footer .footer-main{grid-template-columns:1fr 1fr!important;gap:36px!important;padding:64px 0 54px!important;}
  .site-footer .footer-main > div:last-child{grid-column:1 / -1!important;}
  .site-footer .footer-main .btn{min-width:220px!important;}
  .sp-page .sp-section{padding-top:72px!important;padding-bottom:72px!important;}
  .sp-page .sp-split{grid-template-columns:1fr!important;gap:34px!important;}
  .sp-page .sp-support-image{aspect-ratio:16/10!important;margin-top:26px!important;}
}
@media(max-width:520px){
  .site-footer .footer-main{grid-template-columns:1fr!important;gap:30px!important;}
  .site-footer .footer-main > div:last-child{grid-column:auto!important;}
  .site-footer .footer-main .btn{width:100%!important;min-width:0!important;}
}


/* =========================================================
   SHARPLINE v5.19.10 — SERVICE DETAIL EDITORIAL LAYOUT
   ========================================================= */
/* Service sections: full-width heading first, then copy + image on one aligned row. */
.services-page .sp-service-detail{
  display:block!important;
}
.services-page .sp-service-heading{
  max-width:1040px!important;
  margin:0 0 clamp(34px,4vw,58px)!important;
}
.services-page .sp-service-heading h2{
  max-width:980px!important;
  margin:14px 0 0!important;
}
.services-page .sp-service-body-row{
  display:grid!important;
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr)!important;
  gap:clamp(44px,6vw,88px)!important;
  align-items:start!important;
}
.services-page .sp-service-copy-column{
  max-width:700px!important;
  padding-top:4px!important;
}
.services-page .sp-service-copy-column p{
  margin:0 0 20px!important;
}
.services-page .sp-service-copy-column p:last-child{
  margin-bottom:0!important;
}
.services-page .sp-service-visual-column{
  min-width:0!important;
}
.services-page .sp-service-image-frame{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/10!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.025)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.28)!important;
}
.services-page .sp-service-image-frame .sp-support-image{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
}
.services-page .sp-service-visual-column .sp-section-action{
  margin-top:22px!important;
}
.services-page .sp-service-visual-column .btn{
  min-width:0!important;
  width:auto!important;
  max-width:100%!important;
  white-space:nowrap!important;
}

/* Connected Services follows the same editorial rhythm, without forcing a split heading. */
.services-page #services-connected .sp-split{
  display:block!important;
}
.services-page #services-connected .sp-split > div:first-child{
  max-width:1040px!important;
  margin-bottom:34px!important;
}
.services-page #services-connected .sp-copy{
  max-width:760px!important;
}

/* True clean arrow: the glyph can never inherit a gold tile or button-like fill. */
body .btn > .btn-arrow,
body .btn-gold > .btn-arrow,
body .btn-ghost > .btn-arrow,
body .site-header .btn > .btn-arrow,
body .site-footer .btn > .btn-arrow{
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0 0 0 14px!important;
  padding:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-shadow:none!important;
  transform:none!important;
  filter:none!important;
}
body .btn > .btn-arrow::before,
body .btn > .btn-arrow::after,
body .btn-gold > .btn-arrow::before,
body .btn-gold > .btn-arrow::after,
body .btn-ghost > .btn-arrow::before,
body .btn-ghost > .btn-arrow::after{
  content:none!important;
  display:none!important;
  background:none!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
body .btn:hover > .btn-arrow,
body .btn:focus-visible > .btn-arrow{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
  transform:translateX(3px)!important;
}

@media(max-width:900px){
  .services-page .sp-service-body-row{grid-template-columns:1fr!important;gap:34px!important}
  .services-page .sp-service-copy-column{max-width:760px!important}
  .services-page .sp-service-visual-column{max-width:760px!important}
}
@media(max-width:760px){
  .services-page .sp-service-heading{margin-bottom:28px!important}
  .services-page .sp-service-heading h2{max-width:100%!important}
  .services-page .sp-service-image-frame{aspect-ratio:16/10!important}
  .services-page .sp-service-visual-column .btn{width:auto!important;max-width:100%!important}
}


/* =========================================================
   SHARPLINE v5.19.10 — GLOBAL EDITORIAL WIDTH + WRAP CONTROL
   ========================================================= */
:root{
  --font-display:'Barlow Condensed',Inter,Arial,sans-serif;
  --font-body:'Inter',Arial,sans-serif;
}

/* One consistent editorial grid across the site. */
.sp-page .container,
.site-footer .container,
.site-header .container{
  width:min(1320px, calc(100% - 72px))!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Sharp display typography without the old cramped Montserrat overrides. */
.sp-page h1,
.sp-page h2,
.sp-page h3,
.sp-page h4,
.site-footer h2,
.site-footer h3{
  font-family:'Barlow Condensed',Inter,Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:-.6px!important;
  line-height:1.02!important;
  text-wrap:balance;
}
.sp-page p,
.site-footer p,
.sp-page li{
  font-family:Inter,Arial,sans-serif!important;
  letter-spacing:0!important;
  line-height:1.72!important;
}

/* Stop headings from wrapping inside unnecessarily narrow legacy max-widths. */
.sp-page .sp-section h2,
.sp-page .sp-section h3,
.sp-page .sp-split h2,
.sp-page .sp-service-heading h2,
.sp-page .sp-page-hero h1{
  max-width:1200px!important;
}
.sp-page .sp-section .sp-copy,
.sp-page .sp-service-copy-column{
  max-width:760px!important;
}

/* Consistent section rhythm. */
.sp-page .sp-section{
  padding-top:clamp(88px,8vw,124px)!important;
  padding-bottom:clamp(88px,8vw,124px)!important;
}
.sp-page .sp-section + .sp-section{margin-top:0!important;}
.sp-page .sp-section .eyebrow{margin-bottom:18px!important;}
.sp-page .sp-section .sp-section-action{margin-top:32px!important;}

/* Service detail: use the available horizontal space, then put copy + image on one line. */
.services-page .sp-service-detail{max-width:1320px!important;}
.services-page .sp-service-heading{
  width:100%!important;
  max-width:1220px!important;
  margin:0 0 clamp(42px,5vw,64px)!important;
}
.services-page .sp-service-heading h2{
  width:100%!important;
  max-width:1180px!important;
  margin:14px 0 0!important;
  font-size:clamp(52px,5.4vw,78px)!important;
  line-height:.98!important;
  letter-spacing:-.8px!important;
}
.services-page .sp-service-body-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(42px,5vw,76px)!important;
  align-items:start!important;
}
.services-page .sp-service-copy-column{
  width:100%!important;
  max-width:680px!important;
  padding-top:0!important;
}
.services-page .sp-service-copy-column p{
  font-size:16px!important;
  line-height:1.78!important;
  margin:0 0 18px!important;
}
.services-page .sp-service-visual-column{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.services-page .sp-service-image-frame{
  width:100%!important;
  aspect-ratio:16/10!important;
}
.services-page .sp-service-visual-column .sp-section-action{
  margin-top:24px!important;
}

/* Other editorial sections: heading uses the available column; copy remains readable. */
.sp-page .sp-split{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(42px,6vw,90px)!important;
  align-items:start!important;
}
.sp-page .sp-split > div:first-child h2{
  max-width:760px!important;
  font-size:clamp(44px,4.8vw,70px)!important;
  line-height:1!important;
}
.sp-page .sp-split .sp-copy{
  max-width:720px!important;
  font-size:16px!important;
}

/* Cards: consistent internal rhythm and no premature title wrapping. */
.sp-page .sp-card h3,
.sp-page .editorial-card-body h3,
.sp-page .editorial-industry-card h3,
.sp-page .editorial-trust-card h3,
.sp-page .editorial-cap-card h3{
  letter-spacing:-.35px!important;
  line-height:1.08!important;
}

/* Buttons: preserve the glass surface, but never allow the arrow to become a tile. */
body .btn,
body .btn-gold,
body .btn-ghost{
  font-family:'Barlow Condensed',Inter,Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:1.2px!important;
  white-space:nowrap!important;
}
body .btn .btn-arrow,
body .btn-gold .btn-arrow,
body .btn-ghost .btn-arrow{
  display:inline!important;
  width:auto!important;
  height:auto!important;
  margin-left:16px!important;
  padding:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
}
body .btn .btn-arrow::before,
body .btn .btn-arrow::after,
body .btn-gold .btn-arrow::before,
body .btn-gold .btn-arrow::after,
body .btn-ghost .btn-arrow::before,
body .btn-ghost .btn-arrow::after{display:none!important;content:none!important;}

@media(max-width:900px){
  .sp-page .container,.site-footer .container,.site-header .container{width:min(100% - 44px,1320px)!important;}
  .sp-page .sp-split{grid-template-columns:1fr!important;gap:34px!important;}
  .services-page .sp-service-body-row{grid-template-columns:1fr!important;gap:34px!important;}
  .services-page .sp-service-heading h2{max-width:100%!important;font-size:clamp(48px,8vw,68px)!important;}
}
@media(max-width:600px){
  .sp-page .container,.site-footer .container,.site-header .container{width:calc(100% - 32px)!important;}
  .sp-page .sp-section{padding-top:70px!important;padding-bottom:70px!important;}
  .sp-page .sp-split > div:first-child h2{font-size:clamp(40px,12vw,56px)!important;}
  .services-page .sp-service-heading{margin-bottom:32px!important;}
  .services-page .sp-service-heading h2{font-size:clamp(42px,11vw,58px)!important;letter-spacing:-.5px!important;}
  .services-page .sp-service-copy-column p{font-size:15px!important;line-height:1.7!important;}
}

/* =========================================================
   v5.19.10 — FINAL SERVICE HEADING SPACE PASS
   Use the available editorial width; avoid oversized 3-line wrapping.
   ========================================================= */
@media (min-width: 851px){
  .services-page .sp-service-heading{
    width:100%!important;
    max-width:none!important;
    margin-bottom:clamp(30px,3.5vw,48px)!important;
  }
  .services-page .sp-service-heading h2{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(46px,4.15vw,64px)!important;
    line-height:.98!important;
    letter-spacing:-1.15px!important;
    text-wrap:balance!important;
  }
  .services-page .sp-service-body-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:clamp(38px,4.5vw,72px)!important;
  }
}
@media (min-width: 1100px){
  .services-page .sp-service-heading h2{font-size:clamp(52px,4.05vw,62px)!important;}
}
@media (max-width: 850px){
  .services-page .sp-service-heading h2{
    max-width:100%!important;
    font-size:clamp(42px,8vw,60px)!important;
    line-height:1!important;
    letter-spacing:-.8px!important;
  }
}

/* v5.19.11 — universal editorial section rhythm: heading first, then copy + image; image fallback to hero */
.sp-editorial .sp-editorial-head{display:block!important;max-width:none!important;margin-bottom:clamp(30px,4vw,52px)!important}
.sp-editorial .sp-editorial-head h2{max-width:none!important;width:100%!important;margin:14px 0 0!important;text-wrap:balance}
.sp-editorial .sp-editorial-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr)!important;gap:clamp(34px,5vw,78px)!important;align-items:start!important}
.sp-editorial .sp-editorial-copy{min-width:0!important}
.sp-editorial .sp-editorial-image{width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important;display:block!important;border:1px solid rgba(255,255,255,.14)!important}
.sp-editorial .sp-editorial-image-wrap{min-width:0!important}
.sp-editorial .sp-section-action{margin-top:28px!important}
.sp-editorial.sp-has-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,8,.88),rgba(4,7,8,.70));pointer-events:none}
.sp-editorial.sp-has-bg > .container{position:relative;z-index:2}
.sp-editorial{position:relative;overflow:hidden}
@media(max-width:900px){
  .sp-editorial .sp-editorial-row{grid-template-columns:1fr!important;gap:30px!important}
  .sp-editorial .sp-editorial-image{aspect-ratio:16/9!important}
}
@media(max-width:640px){
  .sp-editorial .sp-editorial-head{margin-bottom:26px!important}
  .sp-editorial .sp-editorial-head h2{font-size:clamp(38px,11vw,58px)!important;line-height:.98!important}
}


/* =========================================================
   SHARPLINE v5.19.12 — ZERO-HOVER-GLITCH / CLEAN ARROWS
   Final interaction layer. Cards do not lift, cast hover shadows,
   flare the image behind them, or create displaced border lines.
   Button arrows are plain glyphs with no tile/fill and no hover transform.
   ========================================================= */

/* Cards: stable glass surface at rest and on hover. */
body .editorial-card,
body .editorial-industry-card,
body .editorial-trust-card,
body .editorial-cap-card,
body .testimonial-card,
body .industry-page-grid-modern .industry-card,
body .industry-page-grid .industry-card,
body .sp-card,
body .service-card,
body .home-editorial-grid .editorial-card {
  transform:none!important;
  box-shadow:none!important;
  filter:none!important;
  transition:border-color .18s ease,background-color .18s ease!important;
}

body .editorial-card:hover,
body .editorial-industry-card:hover,
body .editorial-trust-card:hover,
body .editorial-cap-card:hover,
body .testimonial-card:hover,
body .industry-page-grid-modern .industry-card:hover,
body .industry-page-grid .industry-card:hover,
body .sp-card:hover,
body .service-card:hover,
body .home-editorial-grid .editorial-card:hover {
  transform:none!important;
  box-shadow:none!important;
  filter:none!important;
  background:var(--sp-glass-dark,rgba(8,10,10,.72))!important;
  border-color:var(--sp-glass-border,rgba(255,255,255,.14))!important;
}

/* Kill hover-generated decorative layers on cards. */
body .editorial-card:hover::before,
body .editorial-card:hover::after,
body .editorial-industry-card:hover::before,
body .editorial-industry-card:hover::after,
body .editorial-trust-card:hover::before,
body .editorial-trust-card:hover::after,
body .editorial-cap-card:hover::before,
body .editorial-cap-card:hover::after,
body .testimonial-card:hover::before,
body .testimonial-card:hover::after,
body .sp-card:hover::before,
body .sp-card:hover::after,
body .service-card:hover::before,
body .service-card:hover::after {
  opacity:0!important;
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
  background-image:none!important;
}

/* The image itself must not zoom or shift when a card is hovered. */
body .editorial-card:hover img,
body .editorial-industry-card:hover img,
body .editorial-trust-card:hover img,
body .editorial-cap-card:hover img,
body .testimonial-card:hover img,
body .sp-card:hover img,
body .service-card:hover img {
  transform:none!important;
  filter:none!important;
}

/* All button arrows are literal glyphs. No gold tile, pseudo-element,
   background, shadow, filter or movement on hover/focus. */
body a.btn > span.btn-arrow,
body button.btn > span.btn-arrow,
body .btn > span.btn-arrow,
body .btn-gold > span.btn-arrow,
body .btn-ghost > span.btn-arrow,
body .btn-glass-primary > span.btn-arrow,
body .btn-glass-secondary > span.btn-arrow,
body .site-header .btn > span.btn-arrow,
body .site-footer .btn > span.btn-arrow,
body .site-footer .footer-main .btn-gold > span.btn-arrow,
body .shared-closing-cta .btn > span.btn-arrow {
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 0 14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  text-shadow:none!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:17px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}

body a.btn > span.btn-arrow::before,
body a.btn > span.btn-arrow::after,
body button.btn > span.btn-arrow::before,
body button.btn > span.btn-arrow::after,
body .btn > span.btn-arrow::before,
body .btn > span.btn-arrow::after,
body .btn-gold > span.btn-arrow::before,
body .btn-gold > span.btn-arrow::after,
body .site-footer .btn > span.btn-arrow::before,
body .site-footer .btn > span.btn-arrow::after {
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}

body a.btn:hover > span.btn-arrow,
body button.btn:hover > span.btn-arrow,
body .btn:hover > span.btn-arrow,
body .btn:focus-visible > span.btn-arrow,
body .site-footer .btn:hover > span.btn-arrow,
body .site-footer .btn:focus-visible > span.btn-arrow {
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
  transform:none!important;
}

/* Do not move the entire arrow span on hover either. */
body .btn:hover > span,
body .btn-gold:hover > span,
body .btn-ghost:hover > span,
body .btn-glass-primary:hover > span,
body .btn-glass-secondary:hover > span,
body .site-footer .btn:hover > span {
  transform:none!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* Footer button: keep the glass surface, but never allow the old gold-fill
   span rule to paint the arrow. */
body .site-footer .footer-main .btn-gold,
body .site-footer .footer-main .btn-gold:hover {
  background:rgba(255,255,255,.075)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.035) 52%,rgba(197,160,78,.055))!important;
  color:#F4F3EF!important;
  -webkit-text-fill-color:#F4F3EF!important;
  border-color:rgba(225,191,112,.58)!important;
}
body .site-footer .footer-main .btn-gold > span,
body .site-footer .footer-main .btn-gold:hover > span {
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
  transform:none!important;
}

/* Remove only hover glow/halo from other interactive cards and links. */
body .page-cross-links-grid a:hover,
body .related-service-links a:hover,
body .site-footer a:hover {
  box-shadow:none!important;
  filter:none!important;
}


/* =========================================================
   SHARPLINE v5.19.14 — GLOBAL ALIGNMENT / RHYTHM PASS
   Remove artificial narrowness, use available canvas, and keep
   heading -> content -> image rhythm consistent across the site.
   ========================================================= */
:root{--sp-container:1320px!important;--sp-content-gap:clamp(48px,5.2vw,76px)!important;}

.sp-page .container,
.site-header .container,
.site-footer .container,
.shared-closing-cta .container{
  width:min(1320px,calc(100% - 80px))!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* One consistent editorial grid: heading first, then content/image. */
.sp-page .sp-section{padding-top:clamp(96px,7vw,118px)!important;padding-bottom:clamp(96px,7vw,118px)!important;}
.sp-page .sp-section-intro{margin-bottom:clamp(42px,4vw,58px)!important;}
.sp-page .sp-two-col{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;gap:clamp(56px,6vw,92px)!important;}
.sp-page .sp-section-intro h2,
.sp-page .sp-split h2{max-width:none!important;width:100%!important;}
.sp-page .section-lead{max-width:760px!important;margin-top:8px!important;}

/* Headings should consume the canvas before wrapping. */
.sp-page h1{max-width:1120px!important;}
.sp-page h2{max-width:1180px!important;}
.sp-page .sp-editorial .sp-editorial-head{max-width:none!important;margin-bottom:clamp(34px,4vw,52px)!important;}
.sp-page .sp-editorial .sp-editorial-head h2{
  width:100%!important;
  max-width:1180px!important;
  margin:12px 0 0!important;
  font-size:clamp(46px,4.2vw,72px)!important;
  line-height:.98!important;
  letter-spacing:-1.05px!important;
  text-wrap:pretty!important;
}

/* Content + image stay on one clean line where an image exists. */
.sp-page .sp-editorial-row.sp-has-image{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;
  gap:var(--sp-content-gap)!important;
  align-items:start!important;
}
.sp-page .sp-editorial-row.sp-no-image{
  grid-template-columns:minmax(0,1fr)!important;
  max-width:1120px!important;
}
.sp-page .sp-editorial-row.sp-no-image .sp-editorial-copy{max-width:980px!important;}
.sp-page .sp-editorial-copy{min-width:0!important;}
.sp-page .sp-editorial-copy p{max-width:820px!important;}
.sp-page .sp-editorial-image-wrap{min-width:0!important;width:100%!important;}
.sp-page .sp-editorial-image{width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important;display:block!important;}

/* Services: full-width heading, then balanced copy/image row. */
.services-page .sp-service-detail{max-width:1320px!important;}
.services-page .sp-service-heading{max-width:none!important;width:100%!important;margin-bottom:clamp(34px,4vw,52px)!important;}
.services-page .sp-service-heading h2{
  max-width:1200px!important;
  width:100%!important;
  font-size:clamp(48px,4.15vw,64px)!important;
  line-height:.98!important;
  letter-spacing:-1.05px!important;
  text-wrap:pretty!important;
}
.services-page .sp-service-body-row{
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr)!important;
  gap:var(--sp-content-gap)!important;
}
.services-page .sp-service-copy-column{max-width:820px!important;}
.services-page .sp-service-copy-column p{max-width:820px!important;}
.services-page .sp-service-image-frame{width:100%!important;aspect-ratio:16/10!important;}

/* Home cards: consistent internal alignment and less forced wrapping. */
.sp-page .sp-card h3{max-width:none!important;}
.sp-page .sp-card p{max-width:100%!important;}
.sp-page .sp-five-grid .sp-card{min-width:0!important;}

/* Why Sharpline: use the now-available width after removing client proof. */
.why-page #why-experience .sp-editorial-head h2{max-width:1180px!important;}
.why-page #why-experience .sp-editorial-copy{max-width:1120px!important;}

/* Keep the visual background readable without shrinking the content column. */
.sp-page .sp-has-bg::before{background:linear-gradient(90deg,rgba(4,7,8,.88),rgba(4,7,8,.66))!important;}

@media(max-width:1050px){
  .sp-page .container,.site-header .container,.site-footer .container,.shared-closing-cta .container{width:min(100% - 52px,1320px)!important;}
  .sp-page .sp-two-col{grid-template-columns:minmax(0,1fr) minmax(300px,.82fr)!important;gap:44px!important;}
  .sp-page .sp-editorial-row.sp-has-image,.services-page .sp-service-body-row{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)!important;gap:40px!important;}
}
@media(max-width:900px){
  .sp-page .sp-two-col{grid-template-columns:1fr!important;gap:26px!important;}
  .sp-page .sp-editorial-row.sp-has-image,.sp-page .sp-editorial-row.sp-no-image,.services-page .sp-service-body-row{grid-template-columns:1fr!important;gap:30px!important;max-width:none!important;}
  .sp-page .sp-editorial-copy,.sp-page .sp-editorial-copy p,.services-page .sp-service-copy-column,.services-page .sp-service-copy-column p{max-width:none!important;}
  .sp-page .sp-editorial .sp-editorial-head h2{max-width:none!important;font-size:clamp(44px,7vw,64px)!important;}
  .services-page .sp-service-heading h2{max-width:none!important;font-size:clamp(44px,7vw,64px)!important;}
}
@media(max-width:600px){
  .sp-page .container,.site-header .container,.site-footer .container,.shared-closing-cta .container{width:calc(100% - 32px)!important;}
  .sp-page .sp-section{padding-top:72px!important;padding-bottom:72px!important;}
  .sp-page .sp-editorial .sp-editorial-head{margin-bottom:28px!important;}
  .sp-page .sp-editorial .sp-editorial-head h2{font-size:clamp(38px,10.5vw,56px)!important;line-height:1!important;letter-spacing:-.7px!important;}
  .services-page .sp-service-heading h2{font-size:clamp(40px,10.5vw,58px)!important;line-height:1!important;letter-spacing:-.7px!important;}
}

/* v5.19.14 — header/footer alignment and vertical rhythm. */
.site-header .header-inner{
  width:min(1320px,calc(100% - 80px))!important;
  max-width:1320px!important;
  margin:0 auto!important;
  min-height:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
}
.site-header .brand{flex:0 0 auto!important;display:flex!important;align-items:center!important;}
.site-header .primary-nav{margin-left:auto!important;display:flex!important;align-items:center!important;}
.site-header .main-nav{display:flex!important;align-items:center!important;gap:clamp(22px,2.4vw,34px)!important;margin:0!important;padding:0!important;}
.site-header .header-action{flex:0 0 auto!important;margin-left:8px!important;}
.site-footer .footer-main{
  width:min(1320px,calc(100% - 80px))!important;
  max-width:1320px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(1.2fr,1.2fr) minmax(150px,.7fr) minmax(220px,.9fr) minmax(250px,1fr)!important;
  gap:clamp(36px,5vw,82px)!important;
  align-items:start!important;
}
.site-footer .footer-brand-line{margin-top:18px!important;max-width:260px!important;}
.site-footer .footer-main > div{min-width:0!important;}
.site-footer .footer-main ul{margin:14px 0 0!important;padding:0!important;}
.site-footer .footer-main .btn{margin-top:14px!important;}

@media(max-width:1050px){
  .site-header .header-inner,.site-footer .footer-main{width:min(100% - 52px,1320px)!important;}
  .site-header .main-nav{gap:20px!important;}
  .site-footer .footer-main{grid-template-columns:1.1fr .8fr 1fr!important;}
}
@media(max-width:760px){
  .site-header .header-inner,.site-footer .footer-main{width:calc(100% - 36px)!important;}
  .site-footer .footer-main{grid-template-columns:1fr 1fr!important;gap:34px!important;}
}
@media(max-width:520px){
  .site-header .header-inner,.site-footer .footer-main{width:calc(100% - 28px)!important;}
  .site-footer .footer-main{grid-template-columns:1fr!important;}
}


/* =========================================================
   SHARPLINE v5.19.15 — CTA SHELL CLEANUP
   The shared CTA keeps its section background treatment, but the
   unnecessary inner glass box is removed on every page.
   ========================================================= */
body .shared-closing-cta .cta-shell{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr)!important;
  gap:clamp(54px,8vw,120px)!important;
  align-items:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body .shared-closing-cta .cta-copy,
body .shared-closing-cta .cta-action{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body .shared-closing-cta .cta-copy h2{max-width:900px!important;}
body .shared-closing-cta .cta-action p{max-width:620px!important;}
@media(max-width:1050px){body .shared-closing-cta .cta-shell{grid-template-columns:1fr!important;gap:36px!important;}}
@media(max-width:600px){body .shared-closing-cta .cta-shell{gap:28px!important;}}

/* =========================================================
   SHARPLINE v5.19.16 — MASTER ALIGNMENT PASS
   One desktop rail for header, hero, sections, CTA and footer.
   Prevents page content from drifting relative to the navigation.
   ========================================================= */
:root{
  --sp-master-max:1180px;
  --sp-master-gutter:36px;
}

/* The header is the master horizontal reference. */
.sp-page .container,
.site-header .container,
.site-header .header-inner,
.site-footer .container,
.shared-closing-cta .container{
  width:min(var(--sp-master-max),calc(100% - (var(--sp-master-gutter) * 2)))!important;
  max-width:var(--sp-master-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.site-header .header-inner{
  padding-left:0!important;
  padding-right:0!important;
}

/* Hero copy starts on exactly the same vertical axis as the header logo. */
.sp-page-hero .sp-hero-grid{
  width:min(var(--sp-master-max),calc(100% - (var(--sp-master-gutter) * 2)))!important;
  max-width:var(--sp-master-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Every editorial section uses the same rail. */
.sp-page .sp-section > .container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* Industry editorial heading, grid and following content share one axis. */
.industries-page #priority-industries > .container,
.industries-page #industry-support > .container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

.industries-page #priority-industries .sp-editorial-head,
.industries-page #priority-industries .sp-industry-detail-grid,
.industries-page #industry-support .sp-editorial-head,
.industries-page #industry-support .sp-editorial-row{
  width:100%!important;
  max-width:none!important;
}

/* Do not let balanced text create an artificial narrow-looking column. */
.sp-page .sp-editorial .sp-editorial-head h2,
.sp-page .sp-section-intro h2,
.sp-page .sp-service-heading h2{
  text-wrap:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Use the full master rail before allowing a heading to wrap. */
.industries-page #priority-industries .sp-editorial-head h2{
  max-width:1180px!important;
  width:100%!important;
  margin-right:0!important;
}

/* Home hero: keep the copy on the same rail and use the available width. */
.home-hero .sp-hero-copy{
  width:100%!important;
  max-width:1000px!important;
}
.home-hero .sp-hero-copy h1{
  max-width:1000px!important;
}

/* Header logo/nav/button remain vertically centred within the same rail. */
.site-header .brand,
.site-header .primary-nav,
.site-header .header-action{
  min-width:0!important;
}

/* Footer follows the same left/right edges. */
.site-footer .footer-main{
  width:min(var(--sp-master-max),calc(100% - (var(--sp-master-gutter) * 2)))!important;
  max-width:var(--sp-master-max)!important;
}

@media(max-width:900px){
  :root{--sp-master-gutter:24px;}
  .sp-page .container,
  .site-header .container,
  .site-header .header-inner,
  .site-footer .container,
  .shared-closing-cta .container,
  .sp-page-hero .sp-hero-grid{
    width:calc(100% - (var(--sp-master-gutter) * 2))!important;
    max-width:none!important;
  }
}

@media(max-width:600px){
  :root{--sp-master-gutter:16px;}
}

/* =========================================================
   SHARPLINE v5.19.18 — GLOBAL SECTION RAIL CORRECTION
   Previous master-alignment override accidentally made several
   section containers full-viewport width. Restore one shared rail
   across header, hero, sections, CTA and footer.
   ========================================================= */
:root{
  --sp-master-max:1320px;
  --sp-master-gutter:40px;
}

/* One true desktop content rail across the complete site. */
.sp-page .container,
.sp-page .sp-section > .container,
.sp-page .sp-editorial > .container,
.site-header .container,
.site-header .header-inner,
.site-footer .container,
.site-footer .footer-main,
.shared-closing-cta .container,
.sp-page-hero .sp-hero-grid{
  width:min(var(--sp-master-max),calc(100% - (var(--sp-master-gutter) * 2)))!important;
  max-width:var(--sp-master-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Never allow a page section to fall back to viewport-edge content. */
.sp-page .sp-section > .container,
.sp-page .sp-editorial > .container{
  padding-left:0!important;
  padding-right:0!important;
}

/* Editorial headings should use the complete available rail before wrapping. */
.sp-page .sp-editorial .sp-editorial-head h2,
.sp-page .sp-section-intro h2,
.sp-page .sp-service-heading h2{
  width:100%!important;
  max-width:1320px!important;
  text-wrap:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Keep supporting copy readable without creating a second left axis. */
.sp-page .sp-editorial-copy p{
  max-width:900px!important;
}

/* Industries: heading, cards and support content now share the exact same rail. */
.industries-page #priority-industries > .container,
.industries-page #industry-support > .container{
  width:min(var(--sp-master-max),calc(100% - (var(--sp-master-gutter) * 2)))!important;
  max-width:var(--sp-master-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.industries-page #priority-industries .sp-editorial-head,
.industries-page #priority-industries .sp-industry-detail-grid,
.industries-page #industry-support .sp-editorial-head,
.industries-page #industry-support .sp-editorial-row{
  width:100%!important;
  max-width:none!important;
}
.industries-page #priority-industries .sp-editorial-head h2{
  max-width:1320px!important;
}

/* Home hero and all page heroes remain on the same rail. */
.home-hero .sp-hero-copy,
.sp-page-hero .sp-hero-copy{
  max-width:1100px!important;
}
.home-hero .sp-hero-copy h1,
.sp-page-hero .sp-hero-copy h1{
  max-width:1100px!important;
}

@media(max-width:900px){
  :root{--sp-master-gutter:24px}
  .sp-page .container,
  .sp-page .sp-section > .container,
  .sp-page .sp-editorial > .container,
  .site-header .container,
  .site-header .header-inner,
  .site-footer .container,
  .site-footer .footer-main,
  .shared-closing-cta .container,
  .sp-page-hero .sp-hero-grid{
    width:calc(100% - (var(--sp-master-gutter) * 2))!important;
    max-width:none!important;
  }
}

@media(max-width:600px){
  :root{--sp-master-gutter:16px}
}

/* =========================================================
   SHARPLINE v5.19.20 — FINAL ALIGNMENT RECOVERY
   One real content rail for the entire public website.
   This override intentionally supersedes the accumulated legacy
   container rules so sections cannot drift to the viewport edge.
   ========================================================= */
:root{
  --sp-final-max:1320px;
  --sp-final-gutter:40px;
}

/* Public master rail — header, home, inner pages, CTA and footer. */
body .container{
  width:min(var(--sp-final-max),calc(100% - (var(--sp-final-gutter) * 2)))!important;
  max-width:var(--sp-final-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body .site-header .header-inner,
body .site-footer .footer-main,
body .site-footer .footer-bottom .container,
body .sp-page .sp-section > .container,
body .sp-page .sp-editorial > .container,
body .sp-page-hero .sp-hero-grid,
body .shared-closing-cta .cta-shell.container{
  width:min(var(--sp-final-max),calc(100% - (var(--sp-final-gutter) * 2)))!important;
  max-width:var(--sp-final-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* CTA shell is a layout wrapper, not an inner card. */
body .shared-closing-cta .cta-shell.container{
  display:grid!important;
  grid-template-columns:minmax(0,1.24fr) minmax(360px,.76fr)!important;
  gap:clamp(54px,7vw,110px)!important;
  align-items:center!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body .shared-closing-cta .cta-copy,
body .shared-closing-cta .cta-action{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .shared-closing-cta .cta-copy h2{
  width:100%!important;
  max-width:1000px!important;
  text-wrap:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body .shared-closing-cta .cta-action p{max-width:620px!important}

/* Editorial sections: same left edge for eyebrow, heading, copy and media. */
body .sp-page .sp-editorial .sp-editorial-head,
body .sp-page .sp-editorial .sp-editorial-row,
body .sp-page .sp-industry-detail-grid,
body .sp-page .sp-service-detail{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body .sp-page .sp-editorial .sp-editorial-head h2,
body .sp-page .sp-service-heading h2,
body .sp-page .sp-section-intro h2{
  width:100%!important;
  max-width:1320px!important;
  text-wrap:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Keep page copy readable while preserving the shared left axis. */
body .sp-page .sp-editorial-copy p,
body .services-page .sp-service-copy-column p{
  max-width:900px!important;
}

/* Home sections use the exact same rail as the header. */
body .home-section > .container,
body .home-hero > .container,
body .gold-intro > .container,
body .mini-cta > .container,
body .contact-section > .container,
body .contact-bottom > .container,
body .content-block > .container,
body .service-detail > .container,
body .services-intro > .container,
body .industry-page-grid > .container,
body .capability-overview > .container,
body .cta-band > .container{
  width:min(var(--sp-final-max),calc(100% - (var(--sp-final-gutter) * 2)))!important;
  max-width:var(--sp-final-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Prevent legacy narrow heading rules from creating needless wrapping. */
body .home-section h2,
body .home-business-cta h2,
body .cta-band h2,
body .content-block h2,
body .services-intro h2,
body .industry-page-grid h2,
body .capability-overview h2{
  text-wrap:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Floating contact actions are icon-only — never render text labels. */
body .floating-actions a{
  font-size:0!important;
  line-height:0!important;
  text-indent:0!important;
}
body .floating-actions a .sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
body .floating-actions a svg{
  display:block!important;
  width:25px!important;
  height:25px!important;
  margin:0!important;
  flex:none!important;
}
body .floating-actions .wa svg{width:27px!important;height:27px!important;fill:currentColor!important}
body .floating-actions .call svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}

@media(max-width:900px){
  :root{--sp-final-gutter:24px}
  body .shared-closing-cta .cta-shell.container{grid-template-columns:1fr!important;gap:32px!important}
}
@media(max-width:600px){
  :root{--sp-final-gutter:16px}
  body .shared-closing-cta .cta-shell.container{grid-template-columns:1fr!important;gap:28px!important}
}

/* =========================================================
   SHARPLINE v5.19.21 — NAV ACTIVE RULE + FLOATING CONTACT POLISH
   Final, responsive overrides. Keep the public theme architecture intact.
   ========================================================= */

/* Active-page indicator: sit cleanly below the actual nav text, not inside
   the link's vertical box. Hover and active use the same measured rule. */
.site-header .main-nav li{position:relative!important;display:flex!important;align-items:center!important;}
.site-header .main-nav a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 0 10px!important;
  line-height:1!important;
}
.site-header .main-nav a:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:1px!important;
  width:0!important;
  height:2px!important;
  transform:translateX(-50%)!important;
  background:var(--sp-gold-logo)!important;
  opacity:1!important;
  transition:width .22s ease!important;
}
.site-header .main-nav a:hover:after,
.site-header .main-nav a.active:after{
  right:auto!important;
  width:100%!important;
}

/* Floating WhatsApp + Call: premium icon buttons, no text, no accidental
   yellow tile around the icon. */
body .floating-actions{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  z-index:99999!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:10px!important;
}
body .floating-actions a{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  padding:0!important;
  margin:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  text-decoration:none!important;
  overflow:hidden!important;
  font-size:0!important;
  line-height:0!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease!important;
}
body .floating-actions .wa{
  background:linear-gradient(145deg,#D9BC78 0%,#C6A45A 48%,#A9843E 100%)!important;
  border:1px solid rgba(244,220,153,.88)!important;
  color:#090806!important;
  box-shadow:0 10px 26px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.36)!important;
}
body .floating-actions .call{
  background:rgba(8,10,11,.82)!important;
  border:1px solid rgba(217,188,120,.90)!important;
  color:#D9BC78!important;
  box-shadow:0 10px 26px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(14px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(115%)!important;
}
body .floating-actions a:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
body .floating-actions .wa:hover{
  background:linear-gradient(145deg,#E4CA8D 0%,#D4B66A 48%,#B8954F 100%)!important;
  border-color:#E8CE8D!important;
}
body .floating-actions .call:hover{
  border-color:#E0C681!important;
  color:#E0C681!important;
  background:rgba(18,17,14,.90)!important;
}
body .floating-actions a svg{
  display:block!important;
  margin:0!important;
  flex:none!important;
}
body .floating-actions .wa svg{
  width:29px!important;
  height:29px!important;
  fill:currentColor!important;
}
body .floating-actions .call svg{
  width:23px!important;
  height:23px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Responsive header/nav and floating controls. */
@media(max-width:1050px){
  .site-header .header-inner{
    width:min(100% - 48px,1320px)!important;
  }
  .site-header .main-nav{gap:20px!important;}
}
@media(max-width:760px){
  .site-header .header-inner{
    width:calc(100% - 32px)!important;
  }
  .site-header .main-nav li{
    display:block!important;
  }
  .site-header .main-nav a{
    display:flex!important;
    justify-content:flex-start!important;
    width:100%!important;
    padding:14px 2px!important;
  }
  .site-header .main-nav a:after{
    left:2px!important;
    right:auto!important;
    bottom:0!important;
    width:0!important;
    transform:none!important;
  }
  .site-header .main-nav a:hover:after,
  .site-header .main-nav a.active:after{
    width:34px!important;
  }
  body .floating-actions{
    right:14px!important;
    bottom:calc(14px + env(safe-area-inset-bottom))!important;
    gap:9px!important;
  }
  body .floating-actions a{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
  }
  body .floating-actions .wa svg{width:27px!important;height:27px!important;}
  body .floating-actions .call svg{width:22px!important;height:22px!important;}
}
@media(max-width:420px){
  .site-header .header-inner{width:calc(100% - 24px)!important;}
  body .floating-actions{right:12px!important;}
}

/* =========================================================
   SHARPLINE v5.19.22 — HEADER CTA + FLOATING CONTACT REFINEMENT
   One desktop Enquire Now only; mobile duplicate appears only inside
   the opened mobile menu. Floating actions use a restrained glass system.
   ========================================================= */

/* Never show the mobile-menu Enquire item on desktop/tablet. */
.site-header .main-nav .mobile-enquire{
  display:none!important;
}

/* Keep the real header CTA on the same vertical centerline as the nav. */
.site-header .header-inner{
  display:flex!important;
  align-items:center!important;
}
.site-header .header-action{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:0 0 auto!important;
  margin-left:26px!important;
}
.site-header .header-action .btn{
  width:174px!important;
  min-width:174px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0 20px!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.site-header .header-action .btn span{
  line-height:1!important;
}

/* Desktop nav: prevent the CTA from squeezing the navigation into odd gaps. */
@media(min-width:851px){
  .site-header .primary-nav{margin-left:auto!important;}
  .site-header .main-nav{align-items:center!important;}
}

/* Mobile: hide the desktop CTA and expose the enquiry item only when the
   mobile menu is opened. */
@media(max-width:850px){
  .site-header .header-action{display:none!important;}
  .site-header .primary-nav{
    background:#070707!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    box-shadow:none!important;
    overflow-y:auto!important;
    max-height:calc(100vh - 72px)!important;
  }
  .site-header .main-nav .mobile-enquire{
    display:block!important;
    width:100%!important;
    margin:14px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  .site-header .main-nav .mobile-enquire a{
    width:100%!important;
    min-height:50px!important;
    height:50px!important;
    padding:0 18px!important;
    margin:0!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:16px!important;
    background:var(--gold2)!important;
    color:#080808!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .site-header .main-nav .mobile-enquire a:before,
  .site-header .main-nav .mobile-enquire a:after{
    display:none!important;
  }
  .site-header .main-nav .mobile-enquire a span{
    color:#080808!important;
    line-height:1!important;
  }
}

/* Floating contact controls: quiet, premium glass instead of a solid gold
   WhatsApp disc. Both actions now belong to the same visual family. */
body .floating-actions{
  right:26px!important;
  bottom:26px!important;
  gap:10px!important;
  align-items:center!important;
}
body .floating-actions a,
body .floating-actions .wa,
body .floating-actions .call{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  min-height:50px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  background:rgba(10,11,11,.62)!important;
  border:1px solid rgba(212,169,77,.72)!important;
  color:#D8B96D!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -8px 18px rgba(0,0,0,.18),
    0 10px 26px rgba(0,0,0,.38)!important;
  -webkit-backdrop-filter:blur(18px) saturate(120%)!important;
  backdrop-filter:blur(18px) saturate(120%)!important;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease!important;
}
body .floating-actions .wa{
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(212,169,77,.09) 72%,rgba(0,0,0,.18))!important;
  color:#E2C47B!important;
}
body .floating-actions .call{
  background:rgba(8,10,11,.58)!important;
  color:#CFCFCB!important;
}
body .floating-actions a:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(229,196,90,.95)!important;
  background:rgba(24,23,19,.78)!important;
  color:#E5C45A!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 13px 30px rgba(0,0,0,.46),
    0 0 16px rgba(197,154,59,.10)!important;
}
body .floating-actions .wa svg{
  width:25px!important;
  height:25px!important;
  fill:currentColor!important;
}
body .floating-actions .call svg{
  width:21px!important;
  height:21px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

@media(max-width:600px){
  body .floating-actions{
    right:14px!important;
    bottom:calc(14px + env(safe-area-inset-bottom))!important;
    gap:8px!important;
  }
  body .floating-actions a,
  body .floating-actions .wa,
  body .floating-actions .call{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }
  body .floating-actions .wa svg{width:23px!important;height:23px!important;}
  body .floating-actions .call svg{width:20px!important;height:20px!important;}
}

/* FINAL FLOATING CONTACT BUTTONS — premium, aligned, no hover-glow/glitch */
body .floating-actions{
  position:fixed!important;
  right:28px!important;
  bottom:28px!important;
  z-index:99999!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:12px!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}

body .floating-actions a,
body .floating-actions .wa,
body .floating-actions .call{
  position:relative!important;
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  max-width:54px!important;
  max-height:54px!important;
  padding:0!important;
  margin:0!important;
  border-radius:50%!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  text-decoration:none!important;
  transform:none!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
  box-shadow:0 7px 20px rgba(0,0,0,.32)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* WhatsApp: solid Sharpline gold with a clean dark icon */
body .floating-actions .wa{
  background:#D4A94D!important;
  border:1px solid #E7C978!important;
  color:#080909!important;
}

/* Call: dark premium button with the same gold ring */
body .floating-actions .call{
  background:#0B0D0E!important;
  border:1px solid #D4A94D!important;
  color:#E4C77A!important;
}

/* No offset, glow, shadow expansion or gold block on hover */
body .floating-actions a:hover,
body .floating-actions a:focus,
body .floating-actions a:focus-visible,
body .floating-actions .wa:hover,
body .floating-actions .call:hover{
  transform:none!important;
  box-shadow:0 7px 20px rgba(0,0,0,.32)!important;
}
body .floating-actions .wa:hover{background:#D4A94D!important;color:#080909!important;border-color:#E7C978!important;}
body .floating-actions .call:hover{background:#111416!important;color:#E4C77A!important;border-color:#E7C978!important;}

body .floating-actions a svg{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
}
body .floating-actions .wa svg{
  width:27px!important;
  height:27px!important;
  fill:currentColor!important;
}
body .floating-actions .call svg{
  width:22px!important;
  height:22px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body .floating-actions .sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@media(max-width:600px){
  body .floating-actions{
    right:16px!important;
    bottom:calc(16px + env(safe-area-inset-bottom))!important;
    gap:10px!important;
  }
  body .floating-actions a,
  body .floating-actions .wa,
  body .floating-actions .call{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    max-width:50px!important;
    max-height:50px!important;
  }
  body .floating-actions .wa svg{width:25px!important;height:25px!important;}
  body .floating-actions .call svg{width:20px!important;height:20px!important;}
}


/* =========================================================
   v5.19.26 — HERO REMOVE IS REAL + UNIVERSAL IMAGE OVERLAY
   ========================================================= */
/* A missing hero must render as a clean theme background, never as a stale
   inherited CSS variable or a legacy template background. */
body .sp-page-hero.no-hero-image .sp-hero-media,
body .sp-page-hero.no-hero-image .sp-hero-media::before,
body .home-hero.no-hero-image .hero-bg{
  background-image:none!important;
  opacity:0!important;
}
body .sp-page-hero.no-hero-image{
  background-image:none!important;
}
body .home-hero.no-hero-image{
  background-image:none!important;
}

/* All CMS-selected section background images get a restrained black treatment
   so white body copy and headings remain readable over photography. */
body .sp-has-bg::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(3,5,6,.88) 0%,rgba(3,5,6,.72) 42%,rgba(3,5,6,.52) 70%,rgba(3,5,6,.68) 100%),
    linear-gradient(180deg,rgba(3,5,6,.22) 0%,rgba(3,5,6,.74) 100%)!important;
}
body .sp-has-bg > *{position:relative!important;z-index:2!important;}

/* The dedicated hero overlay remains stronger than normal section overlays. */
body .sp-page-hero.has-hero-image .sp-hero-overlay,
body .home-hero.has-hero-image .hero-overlay{
  opacity:1!important;
}

/* Never allow an empty custom-property value to paint an image. */
body .sp-page-hero .sp-hero-media{background-image:var(--sp-hero-image,none);}
body .home-hero .hero-bg{background-image:var(--sp-image-desktop,none)!important;}
@media(max-width:850px){body .home-hero .hero-bg{background-image:var(--sp-image-mobile,none)!important;}}

/* Keep inline content photos clean; the black treatment is for background
   photography, not the deliberate supporting image beside the copy. */
body .sp-editorial-image-wrap,
body .sp-service-image-frame,
body .sp-card-image{position:relative;z-index:2;}

/* =========================================================
   SHARPLINE v5.19.27 — FINAL FLOATING CONTACT BUTTON SYSTEM
   Both controls use one visual language: dark glass + restrained gold ring.
   No solid gold disc, no hover tile, no movement, no glow spill.
   ========================================================= */
body .floating-actions{
  position:fixed!important;
  right:28px!important;
  bottom:28px!important;
  z-index:99999!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}

body .floating-actions a,
body .floating-actions .wa,
body .floating-actions .call{
  position:relative!important;
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  max-width:54px!important;
  max-height:54px!important;
  padding:0!important;
  margin:0!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-decoration:none!important;
  transform:none!important;
  background:rgba(10,12,13,.88)!important;
  border:1px solid rgba(214,171,76,.88)!important;
  color:#D8B66A!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -8px 16px rgba(0,0,0,.20),
    0 8px 22px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(12px) saturate(110%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(110%)!important;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease!important;
}

/* Both actions intentionally match; the icon is the only distinction. */
body .floating-actions .wa,
body .floating-actions .call{
  background:rgba(10,12,13,.88)!important;
  color:#D8B66A!important;
  border-color:rgba(214,171,76,.88)!important;
}

body .floating-actions a:hover,
body .floating-actions a:focus,
body .floating-actions a:focus-visible,
body .floating-actions .wa:hover,
body .floating-actions .call:hover{
  transform:none!important;
  background:rgba(18,19,18,.94)!important;
  color:#E2C77C!important;
  border-color:#E2C77C!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -8px 16px rgba(0,0,0,.20),
    0 8px 22px rgba(0,0,0,.34)!important;
}

body .floating-actions a svg{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  opacity:1!important;
}
body .floating-actions .wa svg{
  width:27px!important;
  height:27px!important;
  fill:currentColor!important;
}
body .floating-actions .call svg{
  width:22px!important;
  height:22px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

@media(max-width:600px){
  body .floating-actions{
    right:16px!important;
    bottom:calc(16px + env(safe-area-inset-bottom))!important;
    gap:10px!important;
  }
  body .floating-actions a,
  body .floating-actions .wa,
  body .floating-actions .call{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    max-width:50px!important;
    max-height:50px!important;
  }
  body .floating-actions .wa svg{width:25px!important;height:25px!important;}
  body .floating-actions .call svg{width:20px!important;height:20px!important;}
}

/* v5.19.28 — use the supplied WhatsApp brand button asset exactly; do not recolor it */
body .floating-actions .wa{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  overflow:visible!important;
  box-shadow:none!important;
  color:transparent!important;
}
body .floating-actions .wa:hover,
body .floating-actions .wa:focus,
body .floating-actions .wa:focus-visible{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:transparent!important;
  transform:none!important;
}
body .floating-actions .wa .wa-icon{
  display:block!important;
  width:54px!important;
  height:54px!important;
  max-width:none!important;
  object-fit:contain!important;
  margin:0!important;
  padding:0!important;
}
@media(max-width:600px){
  body .floating-actions .wa .wa-icon{width:50px!important;height:50px!important;}
}

/* =========================================================
   v5.19.29 — FINAL CALL BUTTON POLISH
   ========================================================= */
body .floating-actions .call{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  max-width:54px!important;
  max-height:54px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  background:rgba(8,10,11,.92)!important;
  border:1px solid rgba(212,169,77,.95)!important;
  color:#D4A94D!important;
  box-shadow:0 8px 22px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.035)!important;
  overflow:hidden!important;
}
body .floating-actions .call::before{
  content:""!important;
  position:absolute!important;
  inset:4px!important;
  border:1px solid rgba(212,169,77,.16)!important;
  border-radius:50%!important;
  pointer-events:none!important;
}
body .floating-actions .call svg{
  width:23px!important;
  height:23px!important;
  display:block!important;
  fill:currentColor!important;
  stroke:none!important;
  position:relative!important;
  z-index:1!important;
}
body .floating-actions .call:hover,
body .floating-actions .call:focus,
body .floating-actions .call:focus-visible{
  background:rgba(16,18,19,.96)!important;
  border-color:#E4C77A!important;
  color:#E4C77A!important;
  transform:none!important;
  box-shadow:0 8px 22px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.035)!important;
}
@media(max-width:600px){
  body .floating-actions .call{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    max-width:50px!important;
    max-height:50px!important;
  }
  body .floating-actions .call svg{width:21px!important;height:21px!important;}
}

/* =========================================================
   v5.19.32 — HORIZONTAL LOGO SCALE
   The approved horizontal lockup is intentionally larger in the
   header/footer without changing the scale of the other logo variants.
   ========================================================= */
.site-header .brand:has(.logo-variant-horizontal){
  width:270px!important;
}
.site-header .brand .sharpline-logo.logo-variant-horizontal{
  width:260px!important;
  height:72px!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.site-footer .footer-brand .sharpline-logo.logo-variant-horizontal{
  width:260px!important;
  height:82px!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:1050px){
  .site-header .brand:has(.logo-variant-horizontal){width:245px!important;}
  .site-header .brand .sharpline-logo.logo-variant-horizontal{width:235px!important;height:68px!important;}
}
@media(max-width:760px){
  .site-header .brand:has(.logo-variant-horizontal){width:210px!important;}
  .site-header .brand .sharpline-logo.logo-variant-horizontal{width:200px!important;height:60px!important;}
  .site-footer .footer-brand .sharpline-logo.logo-variant-horizontal{width:230px!important;height:72px!important;}
}

/* =========================================================
   v5.19.33 — CONSISTENT SECTION IMAGE VISIBILITY + TEXT OVERLAY
   Every CMS-selected background image should remain visibly photographic,
   while a restrained black gradient keeps customer-facing copy readable.
   Hero treatment and section treatment now follow one visual language.
   ========================================================= */

/* CMS background sections: image first, readable gradient second. */
body .sp-section.sp-has-bg,
body .home-section.sp-has-bg{
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#07090a!important;
}

body .sp-section.sp-has-bg::before,
body .home-section.sp-has-bg::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(3,5,6,.84) 0%,
      rgba(3,5,6,.68) 40%,
      rgba(3,5,6,.36) 68%,
      rgba(3,5,6,.52) 100%),
    linear-gradient(180deg,
      rgba(3,5,6,.14) 0%,
      rgba(3,5,6,.58) 100%)!important;
}

body .sp-section.sp-has-bg > .container,
body .home-section.sp-has-bg > .container{
  position:relative!important;
  z-index:2!important;
}

/* Dedicated page heroes: show the actual supplied image clearly, then use
   the gradient only where text needs protection. */
body .sp-page-hero.has-hero-image .sp-hero-media{
  opacity:.78!important;
  visibility:visible!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

body .sp-page-hero.has-hero-image .sp-hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(3,5,6,.88) 0%,
      rgba(3,5,6,.68) 42%,
      rgba(3,5,6,.30) 74%,
      rgba(3,5,6,.20) 100%),
    linear-gradient(180deg,
      rgba(3,5,6,.10) 0%,
      rgba(3,5,6,.56) 100%)!important;
}

/* Homepage hero follows the same treatment. */
body .home-hero.has-hero-image .hero-bg{
  opacity:.86!important;
  visibility:visible!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

body .home-hero.has-hero-image .hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(3,5,6,.90) 0%,
      rgba(3,5,6,.70) 44%,
      rgba(3,5,6,.30) 74%,
      rgba(3,5,6,.16) 100%),
    linear-gradient(180deg,
      rgba(3,5,6,.08) 0%,
      rgba(3,5,6,.54) 100%)!important;
}

/* Supporting background photography must never be covered by a flat opaque
   section colour. */
body .sp-section.sp-has-bg .sp-editorial-image-wrap,
body .sp-section.sp-has-bg .sp-card-image,
body .sp-section.sp-has-bg .sp-service-image-frame{
  position:relative!important;
  z-index:3!important;
}

@media(max-width:760px){
  body .sp-section.sp-has-bg::before,
  body .home-section.sp-has-bg::before{
    background:
      linear-gradient(180deg,
        rgba(3,5,6,.62) 0%,
        rgba(3,5,6,.78) 58%,
        rgba(3,5,6,.90) 100%)!important;
  }
  body .sp-page-hero.has-hero-image .sp-hero-overlay,
  body .home-hero.has-hero-image .hero-overlay{
    background:
      linear-gradient(180deg,
        rgba(3,5,6,.48) 0%,
        rgba(3,5,6,.72) 55%,
        rgba(3,5,6,.92) 100%)!important;
  }
}


/* v5.19.34 — mobile menu Enquire Now alignment cleanup */
@media(max-width:850px){
  .site-header .primary-nav.open{background:#070707!important;}
  .site-header .primary-nav .main-nav li.mobile-enquire{
    border:0!important; border-top:0!important; border-bottom:0!important;
    background:transparent!important; padding:0!important;
  }
  .site-header .primary-nav .main-nav li.mobile-enquire a{
    background:var(--gold2)!important; color:#080808!important;
    border:0!important; box-shadow:none!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.35 — GLOBAL IMAGE VISIBILITY + LEFT GRADIENT
   Every image-backed hero/section uses the same readable treatment.
   Images remain photographic; the left side is intentionally darker.
   ========================================================= */
body .home-hero.has-hero-image .sp-hero-media{
  opacity:.86!important;
  visibility:visible!important;
  background-image:var(--sp-hero-image,none)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  filter:saturate(.88) contrast(1.03)!important;
}
body .home-hero.has-hero-image .sp-hero-overlay,
body .sp-page-hero.has-hero-image .sp-hero-overlay{
  opacity:1!important;
  background:
    linear-gradient(90deg,
      rgba(3,5,6,.96) 0%,
      rgba(3,5,6,.86) 30%,
      rgba(3,5,6,.68) 50%,
      rgba(3,5,6,.38) 72%,
      rgba(3,5,6,.22) 100%),
    linear-gradient(180deg,
      rgba(3,5,6,.08) 0%,
      rgba(3,5,6,.54) 100%)!important;
}
body .sp-section.sp-has-bg{
  background-image:var(--sp-section-bg-image,none)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#07090a!important;
}
body .sp-section.sp-has-bg::before{
  background:
    linear-gradient(90deg,
      rgba(3,5,6,.95) 0%,
      rgba(3,5,6,.84) 32%,
      rgba(3,5,6,.64) 52%,
      rgba(3,5,6,.36) 74%,
      rgba(3,5,6,.28) 100%),
    linear-gradient(180deg,
      rgba(3,5,6,.10) 0%,
      rgba(3,5,6,.58) 100%)!important;
}
body .sp-section.sp-has-bg > .container{position:relative!important;z-index:2!important;}
body .sp-section.sp-has-bg .sp-editorial-image-wrap,
body .sp-section.sp-has-bg .sp-service-image-frame,
body .sp-section.sp-has-bg .sp-card-image{position:relative!important;z-index:3!important;}
body .sp-page-hero.no-hero-image .sp-hero-media,
body .home-hero.no-hero-image .sp-hero-media{background-image:none!important;opacity:0!important;}
body .why-page .sp-section.sp-has-bg{background-image:var(--sp-section-bg-image,none)!important;}
body .why-page .sp-section.sp-has-bg::before{
  background:
    linear-gradient(90deg,
      rgba(3,5,6,.95) 0%,
      rgba(3,5,6,.83) 34%,
      rgba(3,5,6,.60) 56%,
      rgba(3,5,6,.34) 78%,
      rgba(3,5,6,.24) 100%),
    linear-gradient(180deg,
      rgba(3,5,6,.10) 0%,
      rgba(3,5,6,.62) 100%)!important;
}
@media(max-width:760px){
  body .home-hero.has-hero-image .sp-hero-overlay,
  body .sp-page-hero.has-hero-image .sp-hero-overlay{
    background:
      linear-gradient(180deg,
        rgba(3,5,6,.52) 0%,
        rgba(3,5,6,.72) 48%,
        rgba(3,5,6,.92) 100%)!important;
  }
  body .sp-section.sp-has-bg::before,
  body .why-page .sp-section.sp-has-bg::before{
    background:
      linear-gradient(180deg,
        rgba(3,5,6,.56) 0%,
        rgba(3,5,6,.76) 48%,
        rgba(3,5,6,.92) 100%)!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.36 — STRONG LEFT IMAGE GRADIENT / READABILITY
   Final pass: image-backed sections keep the photograph visible on the
   right while the left side is deliberately dark enough for copy.
   ========================================================= */
body .sp-page-hero.has-hero-image,
body .sp-section.sp-has-bg,
body .home-section.sp-has-bg{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}

/* Dedicated page/home heroes: strong black-to-transparent sweep. */
body .sp-page-hero.has-hero-image .sp-hero-overlay,
body .home-hero.has-hero-image .hero-overlay{
  z-index:1!important;
  opacity:1!important;
  background:
    linear-gradient(90deg,
      rgba(2,4,5,1) 0%,
      rgba(2,4,5,.985) 22%,
      rgba(2,4,5,.92) 38%,
      rgba(2,4,5,.72) 54%,
      rgba(2,4,5,.40) 70%,
      rgba(2,4,5,.16) 86%,
      rgba(2,4,5,.08) 100%),
    linear-gradient(180deg,
      rgba(2,4,5,.10) 0%,
      rgba(2,4,5,.30) 58%,
      rgba(2,4,5,.66) 100%)!important;
}

body .sp-page-hero.has-hero-image .sp-hero-media,
body .home-hero.has-hero-image .hero-bg{
  z-index:0!important;
  opacity:.88!important;
  visibility:visible!important;
}

/* Every CMS background section gets the same directional treatment. */
body .sp-section.sp-has-bg::before,
body .home-section.sp-has-bg::before{
  z-index:1!important;
  background:
    linear-gradient(90deg,
      rgba(2,4,5,1) 0%,
      rgba(2,4,5,.97) 20%,
      rgba(2,4,5,.90) 36%,
      rgba(2,4,5,.72) 52%,
      rgba(2,4,5,.46) 68%,
      rgba(2,4,5,.24) 84%,
      rgba(2,4,5,.14) 100%),
    linear-gradient(180deg,
      rgba(2,4,5,.12) 0%,
      rgba(2,4,5,.38) 55%,
      rgba(2,4,5,.72) 100%)!important;
}

body .sp-section.sp-has-bg > .container,
body .home-section.sp-has-bg > .container{
  position:relative!important;
  z-index:2!important;
}

/* Keep copy bright enough against photography. */
body .sp-page-hero.has-hero-image .sp-hero-text p,
body .home-hero.has-hero-image .hero-copy p,
body .sp-section.sp-has-bg .section-lead,
body .sp-section.sp-has-bg .sp-editorial-copy p,
body .home-section.sp-has-bg .section-lead,
body .home-section.sp-has-bg p{
  color:#d5d6d2!important;
}

/* Prevent glass cards from washing out copy when placed over photography. */
body .sp-section.sp-has-bg .sp-card,
body .home-section.sp-has-bg .sp-card{
  background:rgba(8,10,11,.72)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

@media(max-width:760px){
  body .sp-page-hero.has-hero-image .sp-hero-overlay,
  body .home-hero.has-hero-image .hero-overlay{
    background:
      linear-gradient(180deg,
        rgba(2,4,5,.58) 0%,
        rgba(2,4,5,.80) 38%,
        rgba(2,4,5,.94) 72%,
        rgba(2,4,5,1) 100%)!important;
  }
  body .sp-section.sp-has-bg::before,
  body .home-section.sp-has-bg::before{
    background:
      linear-gradient(180deg,
        rgba(2,4,5,.60) 0%,
        rgba(2,4,5,.82) 40%,
        rgba(2,4,5,.94) 72%,
        rgba(2,4,5,1) 100%)!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.37 — UNIVERSAL PAGE IMAGE TREATMENT
   Match the approved About hero treatment across every image-backed
   page/section. Photography stays visible; copy sits over a dark left field.
   ========================================================= */
body .sp-section.sp-has-bg,
body .home-section.sp-has-bg{
  background-image:
    linear-gradient(90deg,
      rgba(2,4,5,1) 0%,
      rgba(2,4,5,.98) 18%,
      rgba(2,4,5,.90) 34%,
      rgba(2,4,5,.70) 50%,
      rgba(2,4,5,.42) 67%,
      rgba(2,4,5,.18) 84%,
      rgba(2,4,5,.10) 100%),
    linear-gradient(180deg,
      rgba(2,4,5,.10) 0%,
      rgba(2,4,5,.28) 58%,
      rgba(2,4,5,.62) 100%),
    var(--sp-section-bg-image, none)!important;
  background-size:cover,cover,cover!important;
  background-position:center,center,center!important;
  background-repeat:no-repeat,no-repeat,no-repeat!important;
  background-color:#050708!important;
}
body .sp-section.sp-has-bg::before,
body .home-section.sp-has-bg::before{
  content:none!important;
  display:none!important;
}
body .sp-section.sp-has-bg > .container,
body .home-section.sp-has-bg > .container{
  position:relative!important;
  z-index:2!important;
}

/* Home hero: deliberately mirror the approved About hero's dark-left composition. */
body .home-hero.has-hero-image .hero-bg{
  opacity:.90!important;
  filter:saturate(.90) contrast(1.04)!important;
  background-position:center center!important;
}
body .home-hero.has-hero-image .hero-overlay{
  z-index:2!important;
  background:
    linear-gradient(90deg,
      rgba(2,4,5,1) 0%,
      rgba(2,4,5,.98) 20%,
      rgba(2,4,5,.90) 36%,
      rgba(2,4,5,.70) 52%,
      rgba(2,4,5,.40) 69%,
      rgba(2,4,5,.18) 85%,
      rgba(2,4,5,.08) 100%),
    linear-gradient(180deg,
      rgba(2,4,5,.08) 0%,
      rgba(2,4,5,.30) 60%,
      rgba(2,4,5,.58) 100%)!important;
}
body .home-hero.has-hero-image .hero-copy{
  position:relative!important;
  z-index:3!important;
}
body .home-hero.has-hero-image .hero-copy p{color:#d0d1cd!important;}

/* All dedicated page heroes use the same visual language. */
body .sp-page-hero.has-hero-image .sp-hero-media{
  opacity:.90!important;
  background-position:center center!important;
  filter:saturate(.90) contrast(1.04)!important;
}
body .sp-page-hero.has-hero-image .sp-hero-overlay{
  z-index:2!important;
  background:
    linear-gradient(90deg,
      rgba(2,4,5,1) 0%,
      rgba(2,4,5,.98) 20%,
      rgba(2,4,5,.90) 36%,
      rgba(2,4,5,.70) 52%,
      rgba(2,4,5,.40) 69%,
      rgba(2,4,5,.18) 85%,
      rgba(2,4,5,.08) 100%),
    linear-gradient(180deg,
      rgba(2,4,5,.08) 0%,
      rgba(2,4,5,.30) 60%,
      rgba(2,4,5,.58) 100%)!important;
}
body .sp-page-hero.has-hero-image .sp-hero-copy{position:relative!important;z-index:3!important;}
body .sp-page-hero.has-hero-image .sp-hero-text p{color:#d0d1cd!important;}

/* Cards over photographic Home sections should remain readable without the
   frosted/blurred appearance visible in the previous screenshots. */
body .home-section.sp-has-bg .editorial-industry-card,
body .home-section.sp-has-bg .editorial-trust-card,
body .home-section.sp-has-bg .editorial-cap-card,
body .home-section.sp-has-bg .editorial-card{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:rgba(7,9,10,.78)!important;
}
body .home-section.sp-has-bg .editorial-industry-card:hover,
body .home-section.sp-has-bg .editorial-trust-card:hover,
body .home-section.sp-has-bg .editorial-cap-card:hover,
body .home-section.sp-has-bg .editorial-card:hover{
  background:rgba(12,14,15,.86)!important;
}

@media(max-width:760px){
  body .sp-section.sp-has-bg,
  body .home-section.sp-has-bg{
    background-image:
      linear-gradient(180deg,
        rgba(2,4,5,.52) 0%,
        rgba(2,4,5,.72) 34%,
        rgba(2,4,5,.88) 66%,
        rgba(2,4,5,.98) 100%),
      var(--sp-section-bg-image, none)!important;
    background-size:cover,cover!important;
    background-position:center,center!important;
  }
  body .home-hero.has-hero-image .hero-overlay,
  body .sp-page-hero.has-hero-image .sp-hero-overlay{
    background:
      linear-gradient(180deg,
        rgba(2,4,5,.50) 0%,
        rgba(2,4,5,.70) 36%,
        rgba(2,4,5,.88) 66%,
        rgba(2,4,5,.98) 100%)!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.38 — HOME IMAGE READABILITY FIX
   Final, high-specificity pass. The Home page uses legacy .home-hero /
   .home-section markup, while newer pages use .sp-* markup. Keep both
   systems visually identical: photography remains visible on the right,
   with a deliberate dark field on the left for readable copy.
   ========================================================= */

/* HOME HERO — image stays photographic; left copy sits on a deep black sweep. */
html body .home-hero.has-hero-image{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#050708!important;
}
html body .home-hero.has-hero-image .hero-bg{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  background-image:var(--sp-image-desktop)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  filter:none!important;
}
html body .home-hero.has-hero-image .hero-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  opacity:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,0.98) 0%,
      rgba(0,0,0,0.96) 18%,
      rgba(0,0,0,0.91) 32%,
      rgba(0,0,0,0.76) 46%,
      rgba(0,0,0,0.54) 60%,
      rgba(0,0,0,0.25) 76%,
      rgba(0,0,0,0.08) 100%),
    linear-gradient(180deg,
      rgba(0,0,0,0.10) 0%,
      rgba(0,0,0,0.22) 58%,
      rgba(0,0,0,0.62) 100%)!important;
}
html body .home-hero.has-hero-image .hero-inner,
html body .home-hero.has-hero-image .hero-copy{
  position:relative!important;
  z-index:3!important;
}
html body .home-hero.has-hero-image .hero-copy h1,
html body .home-hero.has-hero-image .hero-copy p,
html body .home-hero.has-hero-image .hero-copy .eyebrow,
html body .home-hero.has-hero-image .hero-actions,
html body .home-hero.has-hero-image .hero-microline{
  position:relative!important;
  z-index:4!important;
}
html body .home-hero.has-hero-image .hero-copy p{color:#f0f0ed!important;}

/* ALL HOME BACKGROUND SECTIONS — dark left, visible image right. */
html body .home-section.sp-has-bg,
html body .sp-section.sp-has-bg{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-color:#050708!important;
  background-image:var(--sp-section-bg-image)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
html body .home-section.sp-has-bg::before,
html body .sp-section.sp-has-bg::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,0.97) 0%,
      rgba(0,0,0,0.94) 18%,
      rgba(0,0,0,0.88) 34%,
      rgba(0,0,0,0.70) 50%,
      rgba(0,0,0,0.46) 66%,
      rgba(0,0,0,0.25) 82%,
      rgba(0,0,0,0.12) 100%),
    linear-gradient(180deg,
      rgba(0,0,0,0.10) 0%,
      rgba(0,0,0,0.30) 55%,
      rgba(0,0,0,0.70) 100%)!important;
}
html body .home-section.sp-has-bg > .container,
html body .sp-section.sp-has-bg > .container{
  position:relative!important;
  z-index:2!important;
}

/* Keep cards readable, but do not blur the actual photography behind them. */
html body .home-section.sp-has-bg .editorial-card,
html body .home-section.sp-has-bg .editorial-industry-card,
html body .home-section.sp-has-bg .editorial-trust-card,
html body .home-section.sp-has-bg .editorial-cap-card,
html body .sp-section.sp-has-bg .sp-card{
  background:rgba(5,7,8,0.82)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html body .home-section.sp-has-bg .section-lead,
html body .home-section.sp-has-bg p,
html body .sp-section.sp-has-bg .section-lead,
html body .sp-section.sp-has-bg p,
html body .sp-section.sp-has-bg .sp-editorial-copy p{
  color:#e1e2df!important;
}

/* Dedicated inner-page heroes use exactly the same left-to-right treatment. */
html body .sp-page-hero.has-hero-image{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
html body .sp-page-hero.has-hero-image .sp-hero-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  opacity:1!important;
  visibility:visible!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  filter:none!important;
}
html body .sp-page-hero.has-hero-image .sp-hero-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  opacity:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,0.98) 0%,
      rgba(0,0,0,0.96) 18%,
      rgba(0,0,0,0.91) 32%,
      rgba(0,0,0,0.76) 46%,
      rgba(0,0,0,0.54) 60%,
      rgba(0,0,0,0.25) 76%,
      rgba(0,0,0,0.08) 100%),
    linear-gradient(180deg,
      rgba(0,0,0,0.10) 0%,
      rgba(0,0,0,0.22) 58%,
      rgba(0,0,0,0.62) 100%)!important;
}
html body .sp-page-hero.has-hero-image .sp-hero-grid,
html body .sp-page-hero.has-hero-image .sp-hero-copy{
  position:relative!important;
  z-index:3!important;
}

@media(max-width:760px){
  html body .home-hero.has-hero-image .hero-overlay,
  html body .sp-page-hero.has-hero-image .sp-hero-overlay,
  html body .home-section.sp-has-bg::before,
  html body .sp-section.sp-has-bg::before{
    background:
      linear-gradient(180deg,
        rgba(0,0,0,0.56) 0%,
        rgba(0,0,0,0.76) 36%,
        rgba(0,0,0,0.92) 68%,
        rgba(0,0,0,0.98) 100%)!important;
  }
  html body .home-hero.has-hero-image .hero-bg,
  html body .sp-page-hero.has-hero-image .sp-hero-media{
    background-position:center center!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.39 — HOME ALL-SECTIONS LEFT GRADIENT
   Every image-backed Home section gets the same deliberate
   black-to-transparent treatment: dark on the copy side,
   photographic and visible on the right.
   ========================================================= */
html body.home #what-we-do.home-section.sp-has-bg,
html body.home #industries-we-serve.home-section.sp-has-bg,
html body.home #why-sharpline.home-section.sp-has-bg,
html body.home #capabilities.home-section.sp-has-bg,
html body .home-section.sp-has-bg {
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-color:#050708!important;
  background-image:var(--sp-section-bg-image,none)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* Kill the old vertical/double overlays and use one clean horizontal sweep. */
html body.home .home-section.sp-has-bg::before,
html body .home-section.sp-has-bg::before {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.99) 0%,
      rgba(0,0,0,.97) 14%,
      rgba(0,0,0,.93) 28%,
      rgba(0,0,0,.84) 42%,
      rgba(0,0,0,.68) 55%,
      rgba(0,0,0,.46) 68%,
      rgba(0,0,0,.22) 82%,
      rgba(0,0,0,.04) 100%)!important;
}

html body.home .home-section.sp-has-bg::after,
html body .home-section.sp-has-bg::after {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.16) 52%,rgba(0,0,0,.48) 100%)!important;
}

html body.home .home-section.sp-has-bg > .container,
html body .home-section.sp-has-bg > .container {
  position:relative!important;
  z-index:2!important;
}

/* Keep the copy itself crisp above the image treatment. */
html body.home .home-section.sp-has-bg .section-heading-row,
html body.home .home-section.sp-has-bg .section-heading-row h2,
html body.home .home-section.sp-has-bg .section-lead,
html body.home .home-section.sp-has-bg .eyebrow,
html body.home .home-section.sp-has-bg .section-cta-row,
html body.home .home-section.sp-has-bg .home-editorial-grid,
html body.home .home-section.sp-has-bg .editorial-industry-grid,
html body.home .home-section.sp-has-bg .editorial-trust-grid,
html body.home .home-section.sp-has-bg .editorial-cap-grid {
  position:relative!important;
  z-index:3!important;
}

html body.home .home-section.sp-has-bg .section-lead,
html body.home .home-section.sp-has-bg .editorial-card-body p,
html body.home .home-section.sp-has-bg .editorial-industry-card p,
html body.home .home-section.sp-has-bg .editorial-trust-card p,
html body.home .home-section.sp-has-bg .editorial-cap-card p {
  color:#d7d8d4!important;
}

/* Cards stay solid enough to read, without blurring the photographic background. */
html body.home .home-section.sp-has-bg .editorial-card,
html body.home .home-section.sp-has-bg .editorial-industry-card,
html body.home .home-section.sp-has-bg .editorial-trust-card,
html body.home .home-section.sp-has-bg .editorial-cap-card {
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:rgba(5,7,8,.78)!important;
}

@media(max-width:760px){
  html body.home .home-section.sp-has-bg::before,
  html body .home-section.sp-has-bg::before {
    background:
      linear-gradient(180deg,
        rgba(0,0,0,.48) 0%,
        rgba(0,0,0,.68) 30%,
        rgba(0,0,0,.84) 62%,
        rgba(0,0,0,.96) 100%)!important;
  }
  html body.home .home-section.sp-has-bg::after,
  html body .home-section.sp-has-bg::after {
    background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.30) 55%,rgba(0,0,0,.60))!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.40 — HOME IMAGE-BACKED SECTIONS FIX
   The current Home template uses .sp-section markup (not the
   legacy .home-section markup). Apply the requested strong
   left-dark-to-right-transparent treatment to every Home
   section that has a CMS background image.
   ========================================================= */
html body.home #home-what-we-do.sp-section,
html body.home #home-industries.sp-section,
html body.home #home-why.sp-section,
html body.home #home-capabilities.sp-section,
html body.home #home-clients.sp-section {
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-color:#050708!important;
  background-image:var(--sp-section-bg-image,none)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* Replace the generic vertical dark wash with the deliberate
   horizontal readability gradient. */
html body.home #home-what-we-do.sp-section::before,
html body.home #home-industries.sp-section::before,
html body.home #home-why.sp-section::before,
html body.home #home-capabilities.sp-section::before,
html body.home #home-clients.sp-section::before {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.98) 0%,
      rgba(0,0,0,.96) 15%,
      rgba(0,0,0,.91) 30%,
      rgba(0,0,0,.80) 43%,
      rgba(0,0,0,.62) 56%,
      rgba(0,0,0,.40) 69%,
      rgba(0,0,0,.18) 84%,
      rgba(0,0,0,.03) 100%);
}

/* Subtle bottom protection only; do not overpower the right-side image. */
html body.home #home-what-we-do.sp-section::after,
html body.home #home-industries.sp-section::after,
html body.home #home-why.sp-section::after,
html body.home #home-capabilities.sp-section::after,
html body.home #home-clients.sp-section::after {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.10) 70%,rgba(0,0,0,.28) 100%)!important;
}

html body.home #home-what-we-do.sp-section > .container,
html body.home #home-industries.sp-section > .container,
html body.home #home-why.sp-section > .container,
html body.home #home-capabilities.sp-section > .container,
html body.home #home-clients.sp-section > .container {
  position:relative!important;
  z-index:2!important;
}

/* Ensure all Home copy remains crisp and readable. */
html body.home #home-what-we-do.sp-section .section-lead,
html body.home #home-industries.sp-section .section-lead,
html body.home #home-why.sp-section .section-lead,
html body.home #home-capabilities.sp-section .section-lead,
html body.home #home-clients.sp-section .section-lead {
  color:#e1e2df!important;
}

/* Keep content cards readable without blurring the background. */
html body.home #home-what-we-do.sp-section .sp-card,
html body.home #home-industries.sp-section .sp-card,
html body.home #home-why.sp-section .sp-card,
html body.home #home-capabilities.sp-section .sp-card,
html body.home #home-clients.sp-section .sp-card {
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

@media(max-width:760px){
  html body.home #home-what-we-do.sp-section::before,
  html body.home #home-industries.sp-section::before,
  html body.home #home-why.sp-section::before,
  html body.home #home-capabilities.sp-section::before,
  html body.home #home-clients.sp-section::before {
    background:
      linear-gradient(180deg,
        rgba(0,0,0,.52) 0%,
        rgba(0,0,0,.72) 28%,
        rgba(0,0,0,.88) 62%,
        rgba(0,0,0,.97) 100%);
  }
}

/* =========================================================
   SHARPLINE v5.19.41 — DEFINITIVE HOME IMAGE READABILITY
   Put the readability gradient in the same background layer as
   the CMS image. This avoids pseudo-element stacking conflicts.
   ========================================================= */
html body #home-what-we-do.sp-section.sp-has-bg,
html body #home-industries.sp-section.sp-has-bg,
html body #home-why.sp-section.sp-has-bg,
html body #home-capabilities.sp-section.sp-has-bg,
html body #home-clients.sp-section.sp-has-bg {
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-color:#050708!important;
  background-image:
    linear-gradient(90deg,
      rgba(0,0,0,.96) 0%,
      rgba(0,0,0,.93) 18%,
      rgba(0,0,0,.84) 34%,
      rgba(0,0,0,.68) 49%,
      rgba(0,0,0,.48) 64%,
      rgba(0,0,0,.25) 80%,
      rgba(0,0,0,.04) 100%),
    var(--sp-section-bg-image)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* Disable competing section washes on these Home sections. */
html body #home-what-we-do.sp-section.sp-has-bg::before,
html body #home-industries.sp-section.sp-has-bg::before,
html body #home-why.sp-section.sp-has-bg::before,
html body #home-capabilities.sp-section.sp-has-bg::before,
html body #home-clients.sp-section.sp-has-bg::before,
html body #home-what-we-do.sp-section.sp-has-bg::after,
html body #home-industries.sp-section.sp-has-bg::after,
html body #home-why.sp-section.sp-has-bg::after,
html body #home-capabilities.sp-section.sp-has-bg::after,
html body #home-clients.sp-section.sp-has-bg::after {
  display:none!important;
  content:none!important;
}

html body #home-what-we-do.sp-section.sp-has-bg > .container,
html body #home-industries.sp-section.sp-has-bg > .container,
html body #home-why.sp-section.sp-has-bg > .container,
html body #home-capabilities.sp-section.sp-has-bg > .container,
html body #home-clients.sp-section.sp-has-bg > .container {
  position:relative!important;
  z-index:2!important;
}

/* Keep text bright against the deliberately dark left side. */
html body #home-what-we-do.sp-section.sp-has-bg h2,
html body #home-industries.sp-section.sp-has-bg h2,
html body #home-why.sp-section.sp-has-bg h2,
html body #home-capabilities.sp-section.sp-has-bg h2,
html body #home-clients.sp-section.sp-has-bg h2,
html body #home-what-we-do.sp-section.sp-has-bg .section-lead,
html body #home-industries.sp-section.sp-has-bg .section-lead,
html body #home-why.sp-section.sp-has-bg .section-lead,
html body #home-capabilities.sp-section.sp-has-bg .section-lead,
html body #home-clients.sp-section.sp-has-bg .section-lead {
  text-shadow:0 2px 14px rgba(0,0,0,.65)!important;
}

@media (max-width:760px){
  html body #home-what-we-do.sp-section.sp-has-bg,
  html body #home-industries.sp-section.sp-has-bg,
  html body #home-why.sp-section.sp-has-bg,
  html body #home-capabilities.sp-section.sp-has-bg,
  html body #home-clients.sp-section.sp-has-bg {
    background-image:
      linear-gradient(180deg,
        rgba(0,0,0,.72) 0%,
        rgba(0,0,0,.80) 35%,
        rgba(0,0,0,.90) 70%,
        rgba(0,0,0,.96) 100%),
      var(--sp-section-bg-image)!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.50 — FINAL GLOBAL CONTENT RAIL + CMS LINE BREAKS
   Use one measured rail everywhere and honour intentional CMS line breaks.
   Headings use all available rail width before wrapping. Body copy keeps a
   clean editorial measure while preserving user-entered line breaks.
   ========================================================= */
:root{
  --sp-final-rail:1240px;
  --sp-final-gutter:36px;
}

/* One rail for header, hero, sections, CTA and footer. */
html body .container,
html body .site-header .container,
html body .site-footer .container{
  width:min(var(--sp-final-rail),calc(100% - (var(--sp-final-gutter) * 2)))!important;
  max-width:var(--sp-final-rail)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Let headings use the full available content rail; do not introduce an
   arbitrary max-width that makes them wrap while empty space remains. */
html body .sp-page .sp-page-hero h1,
html body .sp-page .sp-section h2,
html body .sp-page .sp-section h3,
html body .sp-page .sp-editorial-head h2,
html body .sp-page .sp-service-heading h2,
html body .sp-page .sp-section-intro h2,
html body .sp-page .sp-split h2,
html body .sp-page .sp-section-intro > div > h2{
  width:100%!important;
  max-width:none!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:wrap!important;
}

/* CMS-entered line breaks are actual visual breaks, not collapsed spaces. */
html body .sp-page h1 br,
html body .sp-page h2 br,
html body .sp-page h3 br,
html body .sp-page p br,
html body .sp-page .section-lead br,
html body .site-footer p br{
  display:block!important;
}

/* Editorial body copy: aligned to the same rail and visually consistent. */
html body .sp-page .sp-editorial-copy,
html body .sp-page .sp-service-copy-column,
html body .sp-page .sp-hero-text,
html body .sp-page .section-lead,
html body .sp-page .sp-card p,
html body .sp-page .sp-industry-detail p{
  max-width:none!important;
}

html body .sp-page .sp-editorial-copy p,
html body .sp-page .sp-service-copy-column p,
html body .sp-page .sp-hero-text p,
html body .sp-page .section-lead,
html body .sp-page .sp-card p,
html body .sp-page .sp-industry-detail p{
  text-align:justify!important;
  text-justify:inter-word!important;
}

/* The primary section-intro heading and lead now stack on the same full rail,
   so the heading wraps only after the usable content width is exhausted. */
html body .sp-page .sp-section-intro.sp-two-col{
  display:block!important;
}
html body .sp-page .sp-section-intro.sp-two-col .section-lead{
  margin-top:30px!important;
  max-width:1050px!important;
}

/* Service headings: use the complete rail before wrapping. */
html body .services-page .sp-service-detail,
html body .services-page .sp-service-heading{
  width:100%!important;
  max-width:none!important;
}
html body .services-page .sp-service-heading h2{
  width:100%!important;
  max-width:none!important;
}

/* Keep the same visual start/end rail on section rules. */
html body .sp-page .sp-section-intro,
html body .sp-page .sp-editorial-head,
html body .sp-page .sp-service-heading{
  width:100%!important;
}

@media(max-width:760px){
  :root{--sp-final-gutter:18px;}
  html body .sp-page .sp-editorial-copy p,
  html body .sp-page .sp-service-copy-column p,
  html body .sp-page .sp-hero-text p,
  html body .sp-page .section-lead,
  html body .sp-page .sp-card p,
  html body .sp-page .sp-industry-detail p{
    text-align:left!important;
  }
  html body .sp-page .sp-section-intro.sp-two-col .section-lead{
    max-width:none!important;
    margin-top:24px!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.50 — TRUE LEFT/RIGHT RAIL ALIGNMENT
   Every content block now has a deterministic right edge as well
   as the shared left edge. Split layouts use equal columns; text
   fills its assigned column instead of retaining legacy narrow max-widths.
   ========================================================= */
:root{
  --sp-rail-max:1320px;
  --sp-rail-gutter:40px;
  --sp-column-gap:clamp(44px,5vw,76px);
}

/* One exact outer rail. */
html body .sp-page .container,
html body .sp-page .sp-section > .container,
html body .sp-page .sp-editorial > .container,
html body .site-header .container,
html body .site-footer .container,
html body .site-footer .footer-main,
html body .shared-closing-cta .container,
html body .sp-page-hero .sp-hero-grid{
  width:min(var(--sp-rail-max),calc(100% - (var(--sp-rail-gutter) * 2)))!important;
  max-width:var(--sp-rail-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Headings always get the complete rail. */
html body .sp-page .sp-editorial-head h2,
html body .sp-page .sp-section-intro h2,
html body .sp-page .sp-service-heading h2,
html body .sp-page .sp-page-hero h1{
  width:100%!important;
  max-width:none!important;
  margin-right:0!important;
  text-wrap:normal!important;
}

/* No-image editorial sections: copy reaches the exact same right rail. */
html body .sp-page .sp-editorial-row.sp-no-image,
html body .sp-page .sp-editorial-row.sp-no-image .sp-editorial-copy,
html body .sp-page .sp-editorial-row.sp-no-image .sp-editorial-copy p{
  width:100%!important;
  max-width:none!important;
}

/* Image-backed editorial sections: equal columns with identical left/right edges. */
html body .sp-page .sp-editorial-row.sp-has-image{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:var(--sp-column-gap)!important;
}
html body .sp-page .sp-editorial-row.sp-has-image .sp-editorial-copy,
html body .sp-page .sp-editorial-row.sp-has-image .sp-editorial-copy p{
  width:100%!important;
  max-width:none!important;
}
html body .sp-page .sp-editorial-row.sp-has-image .sp-editorial-image-wrap{
  width:100%!important;
  max-width:none!important;
}

/* Services: heading uses full rail; copy and visual share equal columns. */
html body .services-page .sp-service-detail,
html body .services-page .sp-service-heading,
html body .services-page .sp-service-heading h2{
  width:100%!important;
  max-width:none!important;
}
html body .services-page .sp-service-body-row{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:var(--sp-column-gap)!important;
}
html body .services-page .sp-service-copy-column,
html body .services-page .sp-service-copy-column p,
html body .services-page .sp-service-visual-column,
html body .services-page .sp-service-image-frame{
  width:100%!important;
  max-width:none!important;
}

/* Generic split sections: both sides occupy their full assigned columns. */
html body .sp-page .sp-split,
html body .sp-page .sp-two-col{
  width:100%!important;
  max-width:none!important;
}
html body .sp-page .sp-copy,
html body .sp-page .sp-copy p,
html body .sp-page .section-lead{
  width:100%!important;
  max-width:none!important;
}

/* Industry cards and support rows share the same outer rail. */
html body .industries-page #priority-industries > .container,
html body .industries-page #industry-support > .container,
html body .industries-page #priority-industries .sp-editorial-head,
html body .industries-page #priority-industries .sp-industry-detail-grid,
html body .industries-page #industry-support .sp-editorial-head,
html body .industries-page #industry-support .sp-editorial-row{
  width:100%!important;
  max-width:none!important;
}

/* Preserve justified body copy, but never constrain its right edge with a legacy max-width. */
html body .sp-page .sp-editorial-copy p,
html body .sp-page .sp-service-copy-column p,
html body .sp-page .sp-copy p,
html body .sp-page .section-lead,
html body .sp-page .sp-industry-detail p,
html body .sp-page .sp-card p{
  width:100%!important;
  max-width:none!important;
  text-align:justify!important;
  text-justify:inter-word!important;
}

@media(max-width:900px){
  :root{--sp-rail-gutter:26px;}
  html body .sp-page .sp-editorial-row.sp-has-image,
  html body .services-page .sp-service-body-row{
    grid-template-columns:minmax(0,1fr) minmax(0,.9fr)!important;
    gap:40px!important;
  }
}

@media(max-width:760px){
  :root{--sp-rail-gutter:18px;}
  html body .sp-page .sp-editorial-row.sp-has-image,
  html body .services-page .sp-service-body-row,
  html body .sp-page .sp-split,
  html body .sp-page .sp-two-col{
    grid-template-columns:1fr!important;
  }
  html body .sp-page .sp-editorial-copy p,
  html body .sp-page .sp-service-copy-column p,
  html body .sp-page .sp-copy p,
  html body .sp-page .section-lead,
  html body .sp-page .sp-industry-detail p,
  html body .sp-page .sp-card p{
    text-align:left!important;
  }
}

/* v5.19.51 — Header brand + navigation scale-up */
@media (min-width: 851px){
  .site-header{height:94px!important}
  .site-header + main{padding-top:94px!important}
  .brand{width:265px!important}
  .brand .sharpline-logo,
  .brand .sharpline-logo.logo-variant-horizontal{width:255px!important;height:76px!important;max-height:none!important;object-fit:contain!important;object-position:left center!important}
  .header-inner{gap:34px!important}
  .primary-nav{margin-left:auto!important}
  .main-nav{gap:30px!important;align-items:center!important}
  .main-nav a{font-size:12px!important;letter-spacing:1.45px!important;font-weight:800!important;line-height:1.1!important}
  .header-action .btn{min-height:52px!important;min-width:154px!important;padding:0 22px!important;font-size:11px!important}
}

/* =========================================================
   SHARPLINE v5.19.52 — STRICT LINE-END ALIGNMENT
   Keep every editorial text block on the same right edge. CMS line
   breaks remain intact; desktop lines are distributed to the full
   assigned text measure, including the final line.
   ========================================================= */
@media (min-width:761px){
  html body .sp-page .sp-editorial-head h1,
  html body .sp-page .sp-editorial-head h2,
  html body .sp-page .sp-editorial-head h3,
  html body .sp-page .sp-page-hero h1,
  html body .sp-page .sp-section-intro h2,
  html body .sp-page .sp-service-heading h2,
  html body .sp-page .sp-section h2,
  html body .sp-page .sp-section h3,
  html body .sp-page .sp-editorial-copy p,
  html body .sp-page .sp-service-copy-column p,
  html body .sp-page .sp-copy p,
  html body .sp-page .sp-hero-text p,
  html body .sp-page .section-lead,
  html body .sp-page .sp-industry-detail p,
  html body .sp-page .sp-card p,
  html body .sp-page .sp-editorial-row p{
    text-align:justify!important;
    text-align-last:justify!important;
    text-justify:inter-word!important;
    width:100%!important;
    max-width:none!important;
  }

  /* Keep short single-line headings visually normal. */
  html body .sp-page .sp-editorial-head h2:only-child,
  html body .sp-page .sp-service-heading h2:only-child{
    text-align-last:left!important;
  }
}

@media (max-width:760px){
  html body .sp-page .sp-editorial-head h1,
  html body .sp-page .sp-editorial-head h2,
  html body .sp-page .sp-editorial-head h3,
  html body .sp-page .sp-page-hero h1,
  html body .sp-page .sp-section-intro h2,
  html body .sp-page .sp-service-heading h2,
  html body .sp-page .sp-section h2,
  html body .sp-page .sp-section h3,
  html body .sp-page .sp-editorial-copy p,
  html body .sp-page .sp-service-copy-column p,
  html body .sp-page .sp-copy p,
  html body .sp-page .sp-hero-text p,
  html body .sp-page .section-lead,
  html body .sp-page .sp-industry-detail p,
  html body .sp-page .sp-card p,
  html body .sp-page .sp-editorial-row p{
    text-align:left!important;
    text-align-last:auto!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.53 — GLOBAL BODY-COPY JUSTIFICATION
   Apply the Word-style paragraph treatment consistently across
   every page/section, including CTA, cards, footer and form copy.
   Headings remain natural so single-line headings do not get
   artificially stretched.
   ========================================================= */
@media (min-width:761px){
  html body .sp-page p,
  html body .sp-page .section-lead,
  html body .sp-page .section-description,
  html body .sp-page .hero-copy,
  html body .sp-page .hero-text,
  html body .sp-page .sp-copy,
  html body .sp-page .sp-copy p,
  html body .sp-page .sp-card p,
  html body .sp-page .sp-industry-detail p,
  html body .sp-page .sp-editorial-copy p,
  html body .sp-page .sp-service-copy-column p,
  html body .sp-page .sp-hero-text p,
  html body .sp-page .sp-editorial-row p,
  html body .sp-page .sp-service-body-row p,
  html body .sp-page .sp-section-intro p,
  html body .sp-page .sp-section-content p,
  html body .sp-page .sp-feature-copy p,
  html body .sp-page .sp-capability-copy p,
  html body .sp-page .sp-cta-copy p,
  html body .sp-page .shared-closing-cta p,
  html body .sp-page .sp-form-copy p,
  html body .sp-page .sp-contact-copy p,
  html body .site-footer p{
    text-align:justify!important;
    text-align-last:justify!important;
    text-justify:inter-word!important;
    width:100%;
    max-width:none!important;
  }
}

@media (max-width:760px){
  html body .sp-page p,
  html body .sp-page .section-lead,
  html body .sp-page .section-description,
  html body .sp-page .hero-copy,
  html body .sp-page .hero-text,
  html body .sp-page .sp-copy,
  html body .sp-page .sp-card p,
  html body .sp-page .sp-industry-detail p,
  html body .sp-page .sp-editorial-copy p,
  html body .sp-page .sp-service-copy-column p,
  html body .sp-page .sp-hero-text p,
  html body .sp-page .sp-editorial-row p,
  html body .sp-page .sp-service-body-row p,
  html body .sp-page .sp-section-intro p,
  html body .sp-page .sp-section-content p,
  html body .sp-page .sp-feature-copy p,
  html body .sp-page .sp-capability-copy p,
  html body .sp-page .sp-cta-copy p,
  html body .sp-page .shared-closing-cta p,
  html body .sp-page .sp-form-copy p,
  html body .sp-page .sp-contact-copy p,
  html body .site-footer p{
    text-align:left!important;
    text-align-last:auto!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.55 — NATURAL TYPOGRAPHY / NO JUSTIFICATION
   Use the full content rail without stretching words. Typography
   is enlarged so copy fills the available line width naturally.
   ========================================================= */
@media (min-width:761px){
  html body .sp-page p,
  html body .sp-page .section-lead,
  html body .sp-page .section-description,
  html body .sp-page .hero-copy p,
  html body .sp-page .hero-text p,
  html body .sp-page .sp-copy,
  html body .sp-page .sp-copy p,
  html body .sp-page .sp-card p,
  html body .sp-page .sp-industry-detail p,
  html body .sp-page .sp-editorial-copy p,
  html body .sp-page .sp-service-copy-column p,
  html body .sp-page .sp-hero-text p,
  html body .sp-page .sp-editorial-row p,
  html body .sp-page .sp-service-body-row p,
  html body .sp-page .sp-section-intro p,
  html body .sp-page .sp-section-content p,
  html body .sp-page .sp-feature-copy p,
  html body .sp-page .sp-capability-copy p,
  html body .sp-page .sp-cta-copy p,
  html body .sp-page .shared-closing-cta p,
  html body .sp-page .sp-form-copy p,
  html body .sp-page .sp-contact-copy p,
  html body .site-footer p{
    text-align:left!important;
    text-align-last:auto!important;
    text-justify:none!important;
    width:100%!important;
    max-width:none!important;
    word-spacing:normal!important;
  }

  /* Let headings use the complete rail instead of old narrow max-widths. */
  html body .sp-page .sp-editorial-head h1,
  html body .sp-page .sp-editorial-head h2,
  html body .sp-page .sp-editorial-head h3,
  html body .sp-page .sp-page-hero h1,
  html body .sp-page .sp-section-intro h2,
  html body .sp-page .sp-service-heading h2,
  html body .sp-page .sp-section h2,
  html body .sp-page .sp-section h3,
  html body .sp-page .content-grid h2,
  html body .sp-page .service-detail h2,
  html body .sp-page .services-intro h2,
  html body .sp-page .industry-page-grid h2,
  html body .sp-page .capability-overview h2,
  html body .sp-page .inner-hero h1,
  html body .sp-page .cta-band h2{
    max-width:none!important;
    width:100%!important;
  }

  /* Larger supporting copy; it naturally reaches farther across the rail. */
  html body .sp-page .sp-copy p,
  html body .sp-page .sp-editorial-copy p,
  html body .sp-page .sp-service-copy-column p,
  html body .sp-page .sp-section-content p,
  html body .sp-page .sp-feature-copy p,
  html body .sp-page .sp-capability-copy p,
  html body .sp-page .sp-cta-copy p,
  html body .sp-page .shared-closing-cta p{
    font-size:17px!important;
    line-height:1.65!important;
  }

  /* Keep hero support copy readable without a restrictive paragraph width. */
  html body .sp-page .sp-hero-text p,
  html body .sp-page .hero-copy p{
    font-size:17px!important;
    line-height:1.65!important;
    max-width:none!important;
  }
}

@media (max-width:760px){
  html body .sp-page p,
  html body .sp-page .section-lead,
  html body .sp-page .section-description,
  html body .sp-page .hero-copy p,
  html body .sp-page .hero-text p,
  html body .sp-page .sp-copy,
  html body .sp-page .sp-copy p,
  html body .sp-page .sp-card p,
  html body .sp-page .sp-industry-detail p,
  html body .sp-page .sp-editorial-copy p,
  html body .sp-page .sp-service-copy-column p,
  html body .sp-page .sp-hero-text p,
  html body .sp-page .sp-editorial-row p,
  html body .sp-page .sp-service-body-row p,
  html body .sp-page .sp-section-intro p,
  html body .sp-page .sp-section-content p,
  html body .sp-page .sp-feature-copy p,
  html body .sp-page .sp-capability-copy p,
  html body .sp-page .sp-cta-copy p,
  html body .sp-page .shared-closing-cta p,
  html body .sp-page .sp-form-copy p,
  html body .sp-page .sp-contact-copy p,
  html body .site-footer p{
    text-align:left!important;
    text-align-last:auto!important;
    text-justify:none!important;
    word-spacing:normal!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.56 — FINAL NATURAL TYPOGRAPHY
   Remove every legacy justification rule. Keep the shared rail for
   layout, but never stretch words to manufacture a right edge.
   ========================================================= */
@media (min-width: 761px){
  html body .sp-page,
  html body .sp-page *,
  html body .site-footer,
  html body .site-footer *{
    text-justify: none !important;
  }

  html body .sp-page h1,
  html body .sp-page h2,
  html body .sp-page h3,
  html body .sp-page h4,
  html body .sp-page h5,
  html body .sp-page h6,
  html body .sp-page p,
  html body .sp-page li,
  html body .sp-page .sp-editorial-copy,
  html body .sp-page .sp-service-copy-column,
  html body .sp-page .sp-hero-text,
  html body .sp-page .section-lead,
  html body .sp-page .sp-card,
  html body .sp-page .sp-industry-detail,
  html body .site-footer p{
    text-align: left !important;
    text-align-last: auto !important;
    text-justify: none !important;
    word-spacing: normal !important;
  }

  /* Use the complete shared rail for headings without forced justification. */
  html body .sp-page .sp-editorial-head h1,
  html body .sp-page .sp-editorial-head h2,
  html body .sp-page .sp-editorial-head h3,
  html body .sp-page .sp-service-heading h2,
  html body .sp-page .sp-section-intro h2,
  html body .sp-page .sp-page-hero h1{
    width: 100% !important;
    max-width: none !important;
    text-align: left !important;
    text-align-last: auto !important;
    word-spacing: normal !important;
  }

  /* Larger headings, but natural wrapping. */
  html body .services-page .sp-service-heading h2,
  html body .industries-page .sp-editorial-head h2,
  html body .capabilities-page .sp-editorial-head h2,
  html body .why-page .sp-editorial-head h2,
  html body .about-page .sp-editorial-head h2{
    font-size: clamp(42px, 4.2vw, 68px) !important;
    line-height: 1.02 !important;
    letter-spacing: -1.8px !important;
  }

  /* Industry cards must never distribute words across the card width. */
  html body .industries-page .sp-industry-detail h3,
  html body .industries-page .sp-industry-detail p{
    text-align: left !important;
    text-align-last: auto !important;
    word-spacing: normal !important;
    max-width: none !important;
  }

  /* Services: keep the two-column structure aligned while copy remains natural. */
  html body .services-page .sp-service-copy-column,
  html body .services-page .sp-service-copy-column p{
    text-align: left !important;
    text-align-last: auto !important;
    word-spacing: normal !important;
    max-width: none !important;
  }
}

@media (max-width: 760px){
  html body .sp-page *,
  html body .site-footer *{
    text-justify: none !important;
    text-align-last: auto !important;
    word-spacing: normal !important;
  }
  html body .sp-page h1,
  html body .sp-page h2,
  html body .sp-page h3,
  html body .sp-page p,
  html body .sp-page li{
    text-align: left !important;
  }
}

/* =========================================================
   SHARPLINE v5.19.57 — LARGE EDGE-FILLING HEADLINES
   Major section headings use the available rail with a larger
   type scale. No justification or artificial word stretching.
   ========================================================= */
html body .sp-page .sp-editorial-head h1,
html body .sp-page .sp-editorial-head h2,
html body .sp-page .sp-section-intro h2,
html body .sp-page .sp-service-heading h2,
html body .sp-page .sp-page-hero h1,
html body .home-section > .container > h2,
html body .content-grid h2,
html body .service-detail h2,
html body .cta-band h2,
html body .mini-cta h2 {
  width:100% !important;
  max-width:none !important;
  text-align:left !important;
  text-align-last:auto !important;
  text-justify:none !important;
  word-spacing:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

/* Main editorial/page headings: deliberately large so shorter lines
   visually use the full content rail without stretching individual words. */
html body .sp-page .sp-editorial-head h2,
html body .sp-page .sp-section-intro h2,
html body .sp-page .sp-service-heading h2 {
  font-size:clamp(52px,5.1vw,78px) !important;
  line-height:.98 !important;
  letter-spacing:-2.8px !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Page heroes are also scaled up consistently. */
html body .sp-page .sp-page-hero h1 {
  font-size:clamp(56px,5.5vw,84px) !important;
  line-height:.96 !important;
  letter-spacing:-3.2px !important;
}

/* Home/internal non-editorial section headings. */
html body .home-section > .container > h2,
html body .content-grid h2,
html body .service-detail h2,
html body .cta-band h2,
html body .mini-cta h2 {
  font-size:clamp(48px,4.9vw,76px) !important;
  line-height:1 !important;
  letter-spacing:-2.6px !important;
}

/* Keep smaller card headings intentionally smaller; they should not inherit
   the large editorial scale. */
html body .sp-page .sp-card h3,
html body .sp-page .sp-industry-detail h3,
html body .editorial-card-body h3,
html body .editorial-industry-card h3,
html body .editorial-trust-card h3,
html body .editorial-cap-card h3 {
  text-align:left !important;
  text-justify:none !important;
  word-spacing:normal !important;
}

@media (max-width:850px){
  html body .sp-page .sp-editorial-head h2,
  html body .sp-page .sp-section-intro h2,
  html body .sp-page .sp-service-heading h2 {
    font-size:clamp(38px,7.8vw,58px) !important;
    line-height:1.02 !important;
    letter-spacing:-1.8px !important;
  }
  html body .sp-page .sp-page-hero h1 {
    font-size:clamp(42px,8.5vw,64px) !important;
    letter-spacing:-2.2px !important;
  }
  html body .home-section > .container > h2,
  html body .content-grid h2,
  html body .service-detail h2,
  html body .cta-band h2,
  html body .mini-cta h2 {
    font-size:clamp(38px,7.2vw,58px) !important;
    letter-spacing:-1.8px !important;
  }
}

@media (max-width:600px){
  html body .sp-page .sp-editorial-head h2,
  html body .sp-page .sp-section-intro h2,
  html body .sp-page .sp-service-heading h2,
  html body .home-section > .container > h2,
  html body .content-grid h2,
  html body .service-detail h2,
  html body .cta-band h2,
  html body .mini-cta h2 {
    font-size:clamp(32px,9.2vw,46px) !important;
    line-height:1.04 !important;
    letter-spacing:-1.3px !important;
  }
}

/* v5.19.58 FINAL — restore full theme stylesheet + safe area-fit overrides */
@media (min-width:761px){
  html body .sp-page h1, html body .sp-page h2, html body .sp-page h3,
  html body .sp-page p, html body .sp-page li,
  html body .site-footer p, html body .site-footer li{
    text-align:left !important;
    text-align-last:auto !important;
    text-justify:none !important;
    word-spacing:normal !important;
  }
  html body .sp-page h1, html body .sp-page h2, html body .sp-page h3{
    max-width:100% !important;
    width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:none !important;
  }
  /* Large headings that fill their actual content area without clipping. */
  html body .sp-page .sp-editorial-head h1,
  html body .sp-page .sp-editorial-head h2,
  html body .sp-page .sp-page-hero h1,
  html body .sp-page .sp-section-intro h2,
  html body .sp-page .sp-service-heading h2,
  html body .sp-page .sp-section h2{
    font-size:clamp(42px,4.25vw,64px) !important;
    line-height:1.02 !important;
    letter-spacing:-1.5px !important;
  }
  html body .sp-page .sp-page-hero h1{
    font-size:clamp(50px,5.4vw,84px) !important;
  }
  /* Cards stay inside their own column. */
  html body .sp-page .sp-card h3,
  html body .sp-page .sp-industry-detail h3{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(22px,1.8vw,30px) !important;
    line-height:1.08 !important;
    white-space:normal !important;
  }
}
@media (max-width:760px){
  html body .sp-page h1, html body .sp-page h2, html body .sp-page h3,
  html body .sp-page p, html body .sp-page li{
    text-align:left !important;
    text-align-last:auto !important;
    text-justify:none !important;
    word-spacing:normal !important;
  }
  html body .sp-page h1, html body .sp-page h2, html body .sp-page h3{
    max-width:100% !important;
    width:100% !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}


/* =========================================================
   SHARPLINE v5.19.59 — FINAL RAIL + CMS BACKGROUND SYNC
   Definitive overrides placed last so accumulated legacy alignment,
   justification and background rules cannot override the live layout.
   ========================================================= */
:root{
  --sp59-rail:1320px;
  --sp59-gutter:40px;
}

/* ONE master rail: header, hero, every section, CTA and footer. */
html body .sp-page .container,
html body .site-header .header-inner,
html body .site-footer .footer-main,
html body .site-footer .footer-bottom .container,
html body .shared-closing-cta .container,
html body .sp-page-hero .sp-hero-grid{
  width:min(var(--sp59-rail),calc(100% - (var(--sp59-gutter) * 2))) !important;
  max-width:var(--sp59-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Editorial section wrappers must use the same rail, never the viewport. */
html body .sp-page .sp-section > .container,
html body .sp-page .sp-editorial > .container,
html body .industries-page #priority-industries > .container,
html body .industries-page #industry-support > .container{
  width:min(var(--sp59-rail),calc(100% - (var(--sp59-gutter) * 2))) !important;
  max-width:var(--sp59-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Industry heading + cards line up on the exact same left/right edges. */
html body .industries-page #priority-industries .sp-editorial-head,
html body .industries-page #priority-industries .sp-industry-detail-grid,
html body .industries-page #industry-support .sp-editorial-head,
html body .industries-page #industry-support .sp-editorial-row{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* No forced justification anywhere on the public website. */
html body .sp-page h1,
html body .sp-page h2,
html body .sp-page h3,
html body .sp-page h4,
html body .sp-page p,
html body .sp-page li,
html body .site-footer p,
html body .site-footer li{
  text-align:left !important;
  text-align-last:auto !important;
  text-justify:none !important;
  word-spacing:normal !important;
  hyphens:none !important;
}

/* Headings fill their assigned area but always wrap inside it. */
html body .sp-page .sp-editorial-head h2,
html body .sp-page .sp-section-intro h2,
html body .sp-page .sp-service-heading h2,
html body .sp-page .sp-page-hero h1,
html body .sp-page .sp-section h2{
  width:100% !important;
  max-width:none !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  text-wrap:normal !important;
}

/* CMS-entered line breaks remain visible. */
html body .sp-page h1,
html body .sp-page h2,
html body .sp-page h3,
html body .sp-page p,
html body .sp-page .sp-hero-text,
html body .sp-page .sp-editorial-copy{
  white-space:normal !important;
}

/* Equal two-column content where the design calls for copy + image. */
html body .sp-page .sp-editorial-row.sp-has-image,
html body .services-page .sp-service-body-row{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:clamp(38px,5vw,72px) !important;
}
html body .sp-page .sp-editorial-row.sp-has-image > *,
html body .services-page .sp-service-body-row > *{
  min-width:0 !important;
  width:100% !important;
  max-width:none !important;
}

/* --- CMS BACKGROUND IMAGE: render an actual media layer --- */
html body .sp-page .sp-section.sp-has-bg{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background-image:none !important;
  background-color:#07090a !important;
}
html body .sp-page .sp-section.sp-has-bg .sp-section-bg-media{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  pointer-events:none !important;
}
html body .sp-page .sp-section.sp-has-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:linear-gradient(90deg,rgba(4,6,7,.94) 0%,rgba(4,6,7,.82) 34%,rgba(4,6,7,.52) 68%,rgba(4,6,7,.20) 100%) !important;
}
html body .sp-page .sp-section.sp-has-bg > .container{
  position:relative !important;
  z-index:2 !important;
}

/* Industries support section uses the same CMS BG treatment. */
html body .industries-page #industry-support.sp-has-bg .sp-section-bg-media,
html body .industries-page #priority-industries.sp-has-bg .sp-section-bg-media{
  display:block !important;
}

/* Industry cards remain readable over a section background. */
html body .industries-page .sp-industry-detail-grid .sp-card{
  min-width:0 !important;
}
html body .industries-page .sp-industry-detail h3,
html body .industries-page .sp-industry-detail p{
  width:100% !important;
  max-width:none !important;
  overflow-wrap:break-word !important;
}

/* Heading scale: large enough to feel editorial, never allowed to clip. */
@media(min-width:901px){
  html body .sp-page .sp-editorial-head h2,
  html body .sp-page .sp-section-intro h2,
  html body .sp-page .sp-service-heading h2{
    font-size:clamp(48px,3.7vw,68px) !important;
    line-height:1.02 !important;
    letter-spacing:-1.8px !important;
  }
  html body .sp-page .sp-page-hero h1{
    font-size:clamp(54px,5vw,84px) !important;
    line-height:.98 !important;
    letter-spacing:-2.2px !important;
  }
}

@media(max-width:900px){
  :root{--sp59-gutter:26px;}
}
@media(max-width:760px){
  :root{--sp59-gutter:18px;}
  html body .sp-page .sp-editorial-row.sp-has-image,
  html body .services-page .sp-service-body-row{
    grid-template-columns:1fr !important;
  }
  html body .sp-page .sp-editorial-head h2,
  html body .sp-page .sp-service-heading h2,
  html body .sp-page .sp-page-hero h1{
    font-size:clamp(38px,9vw,58px) !important;
    line-height:1.02 !important;
    letter-spacing:-1.2px !important;
  }
  html body .sp-page .sp-section.sp-has-bg::before{
    background:linear-gradient(180deg,rgba(4,6,7,.78),rgba(4,6,7,.94)) !important;
  }
}


/* =========================================================
   SHARPLINE v5.19.60 — TYPOGRAPHIC SCALE / AREA-FIT
   Larger headings and utility labels use the available content rail
   without justification, artificial spacing or forced clipping.
   ========================================================= */
@media (min-width:761px){
  html body .sp-page .sp-page-hero .sp-hero-copy{
    max-width:1120px!important;
    min-width:0!important;
  }

  /* Primary page/hero headings: scale up and balance natural wrapping. */
  html body .sp-page .sp-page-hero h1{
    width:100%!important;
    max-width:1120px!important;
    font-size:clamp(64px,7.2vw,108px)!important;
    line-height:.92!important;
    letter-spacing:-2.4px!important;
    text-align:left!important;
    text-wrap:balance!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* Section headings: increase scale while preserving the approved rail. */
  html body .sp-page .sp-section-intro h2,
  html body .sp-page .sp-editorial-head h2,
  html body .sp-page .sp-service-heading h2,
  html body .sp-page .sp-section h2,
  html body .sp-page .content-grid h2,
  html body .sp-page .service-detail h2,
  html body .sp-page .cta-shell h2{
    font-size:clamp(44px,4.7vw,70px)!important;
    line-height:.98!important;
    letter-spacing:-1.7px!important;
    text-wrap:balance!important;
    max-width:100%!important;
  }

  /* Site-wide eyebrow treatment: larger, clearer and consistent. */
  html body .sp-page .eyebrow,
  html body .site-footer .eyebrow{
    font-size:12px!important;
    line-height:1!important;
    letter-spacing:2.7px!important;
    gap:14px!important;
    margin-bottom:20px!important;
  }
  html body .sp-page .eyebrow:before{
    width:32px!important;
    flex-basis:32px!important;
    height:1px!important;
  }

  /* Hero supporting paragraph remains readable, but gets the full copy rail. */
  html body .sp-page .sp-hero-text{
    max-width:920px!important;
  }
  html body .sp-page .sp-hero-text p{
    font-size:17px!important;
    line-height:1.68!important;
    max-width:920px!important;
  }

  /* Capability/service microline: more readable without competing with H1. */
  html body .sp-page .sp-microline{
    font-size:13px!important;
    line-height:1.35!important;
    letter-spacing:2.05px!important;
    word-spacing:2px!important;
    margin-top:28px!important;
  }
}

@media (max-width:1100px) and (min-width:761px){
  html body .sp-page .sp-page-hero h1{
    font-size:clamp(60px,7vw,88px)!important;
  }
}

@media (max-width:760px){
  html body .sp-page .sp-page-hero h1{
    font-size:clamp(48px,12vw,70px)!important;
    line-height:.94!important;
    letter-spacing:-1.4px!important;
    text-wrap:balance!important;
  }

  html body .sp-page .sp-section-intro h2,
  html body .sp-page .sp-editorial-head h2,
  html body .sp-page .sp-service-heading h2,
  html body .sp-page .sp-section h2,
  html body .sp-page .content-grid h2,
  html body .sp-page .service-detail h2,
  html body .sp-page .cta-shell h2{
    font-size:clamp(38px,10.5vw,58px)!important;
    line-height:1!important;
    text-wrap:balance!important;
  }

  html body .sp-page .eyebrow{
    font-size:10.5px!important;
    letter-spacing:2.25px!important;
    gap:11px!important;
  }
  html body .sp-page .eyebrow:before{
    width:26px!important;
    flex-basis:26px!important;
  }
  html body .sp-page .sp-microline{
    font-size:10px!important;
    line-height:1.5!important;
    letter-spacing:1.45px!important;
    word-spacing:1px!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.61 — CMS BACKGROUND SYNC / IMAGE VISIBILITY
   CMS-uploaded section backgrounds are rendered through a dedicated media
   layer so they are not dependent on CSS custom-property inheritance.
   The previous left-side treatment was too heavy; keep copy readable while
   allowing the supplied photography to remain clearly visible.
   ========================================================= */
html body .sp-section.sp-has-bg,
html body .home-section.sp-has-bg{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-color:#07090a!important;
  background-image:none!important;
}

html body .sp-section.sp-has-bg .sp-section-bg-media,
html body .home-section.sp-has-bg .sp-section-bg-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  pointer-events:none!important;
  opacity:1!important;
  visibility:visible!important;
}

html body .sp-section.sp-has-bg::before,
html body .home-section.sp-has-bg::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(2,4,5,.72) 0%,
      rgba(2,4,5,.54) 30%,
      rgba(2,4,5,.28) 58%,
      rgba(2,4,5,.10) 82%,
      rgba(2,4,5,.06) 100%),
    linear-gradient(180deg,
      rgba(2,4,5,.06) 0%,
      rgba(2,4,5,.24) 62%,
      rgba(2,4,5,.46) 100%)!important;
}

html body .sp-section.sp-has-bg > .container,
html body .home-section.sp-has-bg > .container{
  position:relative!important;
  z-index:2!important;
}

/* Do not hide the supplied section image behind opaque cards. */
html body .sp-section.sp-has-bg .sp-card,
html body .home-section.sp-has-bg .sp-card{
  background:rgba(8,10,11,.62)!important;
}

/* Page hero images: keep the existing image source, but reduce the black
   sweep so the photography is actually visible on the left as well. */
html body .sp-page-hero.has-hero-image .sp-hero-media,
html body .home-hero.has-hero-image .hero-bg{
  opacity:1!important;
  visibility:visible!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

html body .sp-page-hero.has-hero-image .sp-hero-overlay,
html body .home-hero.has-hero-image .hero-overlay{
  opacity:1!important;
  background:
    linear-gradient(90deg,
      rgba(2,4,5,.78) 0%,
      rgba(2,4,5,.60) 28%,
      rgba(2,4,5,.34) 52%,
      rgba(2,4,5,.14) 76%,
      rgba(2,4,5,.08) 100%),
    linear-gradient(180deg,
      rgba(2,4,5,.06) 0%,
      rgba(2,4,5,.28) 65%,
      rgba(2,4,5,.54) 100%)!important;
}

@media(max-width:760px){
  html body .sp-section.sp-has-bg::before,
  html body .home-section.sp-has-bg::before{
    background:
      linear-gradient(180deg,
        rgba(2,4,5,.42) 0%,
        rgba(2,4,5,.62) 52%,
        rgba(2,4,5,.82) 100%)!important;
  }
  html body .sp-page-hero.has-hero-image .sp-hero-overlay,
  html body .home-hero.has-hero-image .hero-overlay{
    background:
      linear-gradient(180deg,
        rgba(2,4,5,.38) 0%,
        rgba(2,4,5,.58) 48%,
        rgba(2,4,5,.84) 100%)!important;
  }
}


/*
 * SHARPLINE v5.19.63 — SITE-WIDE EYEBROW / SECTION LABEL SCALE
 * Increase the small gold eyebrow labels across all pages so they read as
 * deliberate section headings rather than micro-labels. Keep the existing
 * line treatment and typography; only scale the labels and spacing.
 */
html body .eyebrow{
  font-size:16px!important;
  line-height:1.2!important;
  letter-spacing:3px!important;
  font-weight:800!important;
}
html body .eyebrow:before{
  width:46px!important;
  height:1px!important;
  margin-right:16px!important;
}
html body .eyebrow.dark{
  font-size:16px!important;
  letter-spacing:3px!important;
}
html body .footer-label{
  font-size:12px!important;
  line-height:1.25!important;
  letter-spacing:2.4px!important;
}

@media(max-width:1024px){
  html body .eyebrow,
  html body .eyebrow.dark{
    font-size:13px!important;
    letter-spacing:2.6px!important;
  }
  html body .eyebrow:before{
    width:40px!important;
    margin-right:14px!important;
  }
}

@media(max-width:760px){
  html body .eyebrow,
  html body .eyebrow.dark{
    font-size:11px!important;
    letter-spacing:2.2px!important;
  }
  html body .eyebrow:before{
    width:32px!important;
    margin-right:11px!important;
  }
  html body .footer-label{
    font-size:10px!important;
    letter-spacing:2px!important;
  }
}


/* SHARPLINE v5.19.64 — HOME HERO CAPABILITY MICROLINE SCALE */
html body .home-hero .hero-microline{
  font-size:14px!important;
  line-height:1.45!important;
  letter-spacing:2.15px!important;
  word-spacing:3px!important;
  font-weight:600!important;
}
@media(max-width:1024px){
  html body .home-hero .hero-microline{
    font-size:12px!important;
    letter-spacing:1.9px!important;
    word-spacing:2.5px!important;
  }
}
@media(max-width:760px){
  html body .home-hero .hero-microline{
    font-size:11px!important;
    line-height:1.5!important;
    letter-spacing:1.5px!important;
    word-spacing:1.5px!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.65 — CENTERED TITLE SYSTEM / SITE-WIDE ALIGNMENT
   Section title blocks share one visual axis: eyebrow, rule and title are
   centered together, with balanced wrapping. Body/content columns remain
   independently aligned for readability.
   ========================================================= */

/* Core section title block */
html body .sp-page .sp-editorial .sp-editorial-head,
html body .sp-page .sp-section-intro,
html body .home-section > .container > .eyebrow,
html body .home-section > .container > h2,
html body .services-intro > .container > .eyebrow,
html body .services-intro > .container > h2,
html body .industry-page-grid > .container > .eyebrow,
html body .industry-page-grid > .container > h2,
html body .capability-overview > .container > .eyebrow,
html body .capability-overview > .container > h2 {
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* Keep all editorial title blocks on the same central rail */
html body .sp-page .sp-editorial .sp-editorial-head,
html body .sp-page .sp-section-intro {
  width:100%!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}

/* Eyebrow + line become one centered unit */
html body .sp-page .sp-editorial .sp-editorial-head .eyebrow,
html body .sp-page .sp-section-intro .eyebrow,
html body .home-section > .container > .eyebrow,
html body .services-intro > .container > .eyebrow,
html body .industry-page-grid > .container > .eyebrow,
html body .capability-overview > .container > .eyebrow {
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

html body .sp-page .sp-editorial .sp-editorial-head .eyebrow:before,
html body .sp-page .sp-section-intro .eyebrow:before,
html body .home-section > .container > .eyebrow:before,
html body .services-intro > .container > .eyebrow:before,
html body .industry-page-grid > .container > .eyebrow:before,
html body .capability-overview > .container > .eyebrow:before {
  flex:0 0 46px!important;
}

/* Titles share the same readable central width and balanced wrapping */
html body .sp-page .sp-editorial .sp-editorial-head h2,
html body .sp-page .sp-section-intro h2,
html body .home-section > .container > h2,
html body .services-intro > .container > h2,
html body .industry-page-grid > .container > h2,
html body .capability-overview > .container > h2 {
  width:100%!important;
  max-width:1080px!important;
  margin:16px auto 0!important;
  text-align:center!important;
  text-align-last:auto!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Give centered section titles a consistent bottom rhythm */
html body .sp-page .sp-editorial .sp-editorial-head,
html body .sp-page .sp-section-intro {
  margin-bottom:clamp(38px,4vw,56px)!important;
}

/* Home section title lead remains centered only when it directly follows title */
html body .home-section > .container > .section-lead {
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  max-width:760px!important;
}

/* CTA title follows the same centered title language */
html body .cta-band .cta-grid > div:first-child {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
}
html body .cta-band h2 {
  text-align:left!important;
  max-width:900px!important;
}

/* Card headings stay left aligned; they are content labels, not section titles. */
html body .sp-page .sp-card h3,
html body .sp-page .sp-industry-detail h3,
html body .sp-page .editorial-card h3,
html body .service-card h3,
html body .industry-card h3,
html body .editorial-trust-card h3,
html body .editorial-cap-card h3 {
  text-align:left!important;
}

/* Keep title rails consistent on narrower screens */
@media(max-width:1024px){
  html body .sp-page .sp-editorial .sp-editorial-head,
  html body .sp-page .sp-section-intro,
  html body .home-section > .container > h2,
  html body .services-intro > .container > h2,
  html body .industry-page-grid > .container > h2,
  html body .capability-overview > .container > h2 {
    max-width:900px!important;
  }
}

@media(max-width:760px){
  html body .sp-page .sp-editorial .sp-editorial-head,
  html body .sp-page .sp-section-intro {
    width:100%!important;
    max-width:100%!important;
    margin-bottom:30px!important;
  }

  html body .sp-page .sp-editorial .sp-editorial-head h2,
  html body .sp-page .sp-section-intro h2,
  html body .home-section > .container > h2,
  html body .services-intro > .container > h2,
  html body .industry-page-grid > .container > h2,
  html body .capability-overview > .container > h2 {
    max-width:100%!important;
    text-align:center!important;
    text-wrap:balance!important;
  }

  html body .sp-page .sp-editorial .sp-editorial-head .eyebrow,
  html body .sp-page .sp-section-intro .eyebrow,
  html body .home-section > .container > .eyebrow,
  html body .services-intro > .container > .eyebrow,
  html body .industry-page-grid > .container > .eyebrow,
  html body .capability-overview > .container > .eyebrow {
    max-width:100%!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.66 — ALL SECTION TITLES / CONSISTENT CENTER AXIS
   Apply the centered title treatment to every content section.
   Hero and CTA sections are intentionally excluded.
   Cards and body copy remain content-aligned for readability.
   ========================================================= */

/* Every standard content-section title uses the same centered rail. */
html body .sp-section:not(.sp-page-hero) > .container > h2,
html body .sp-section:not(.sp-page-hero) .sp-section-heading h2,
html body .sp-section:not(.sp-page-hero) .sp-service-heading h2,
html body .sp-section:not(.sp-page-hero) .sp-form-panel > h2,
html body .sp-section:not(.sp-page-hero) .sp-contact-grid h2,
html body .sp-section:not(.sp-page-hero) .sp-editorial-head h2,
html body .home-section:not(.home-hero) > .container > h2,
html body .home-section:not(.home-hero) .sp-section-intro h2,
html body .services-intro > .container > h2,
html body .industry-page-grid > .container > h2,
html body .capability-overview > .container > h2 {
  text-align:center!important;
  text-align-last:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* The title wrapper itself is centered, regardless of the section's content grid. */
html body .sp-section:not(.sp-page-hero) .sp-service-heading,
html body .sp-section:not(.sp-page-hero) .sp-section-heading,
html body .sp-section:not(.sp-page-hero) .sp-form-panel > h2,
html body .sp-section:not(.sp-page-hero) .sp-editorial-head,
html body .home-section:not(.home-hero) .sp-section-intro,
html body .services-intro > .container,
html body .industry-page-grid > .container,
html body .capability-overview > .container {
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Home two-column intros become a centered title block; body lead remains readable. */
html body .home-section:not(.home-hero) .sp-section-intro {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  width:100%!important;
  max-width:1080px!important;
}
html body .home-section:not(.home-hero) .sp-section-intro > div {
  width:100%!important;
  max-width:1080px!important;
  text-align:center!important;
}
html body .home-section:not(.home-hero) .sp-section-intro .section-lead {
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  max-width:760px!important;
}

/* Service titles: center the heading while keeping service copy/image columns untouched. */
html body .sp-section .sp-service-heading {
  width:100%!important;
  max-width:1080px!important;
  text-align:center!important;
  margin-bottom:clamp(34px,4vw,54px)!important;
}
html body .sp-section .sp-service-heading .eyebrow {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Contact/location/form section headings are titles, not card labels. */
html body .sp-section .sp-form-panel > h2,
html body .sp-section .sp-contact-grid > h2,
html body .sp-section .sp-contact-details h2 {
  width:100%!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* No accidental centering of card headings. */
html body .sp-section .sp-card h3,
html body .sp-section .sp-industry-detail h3,
html body .sp-section .editorial-card h3,
html body .sp-section .service-card h3,
html body .sp-section .industry-card h3,
html body .sp-section .editorial-trust-card h3,
html body .sp-section .editorial-cap-card h3 {
  text-align:left!important;
}

@media(max-width:1024px){
  html body .sp-section:not(.sp-page-hero) .sp-service-heading,
  html body .sp-section:not(.sp-page-hero) .sp-section-heading,
  html body .sp-section:not(.sp-page-hero) .sp-editorial-head,
  html body .home-section:not(.home-hero) .sp-section-intro {
    max-width:900px!important;
  }
}

@media(max-width:760px){
  html body .sp-section:not(.sp-page-hero) .sp-service-heading,
  html body .sp-section:not(.sp-page-hero) .sp-section-heading,
  html body .sp-section:not(.sp-page-hero) .sp-editorial-head,
  html body .home-section:not(.home-hero) .sp-section-intro {
    width:100%!important;
    max-width:100%!important;
  }
  html body .home-section:not(.home-hero) .sp-section-intro > div {
    max-width:100%!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.67 — FULL SECTION CONTENT CENTER + BG SCRIM
   Standard content sections use one centered content axis. Section
   backgrounds are rendered through the CMS media layer and receive a
   readable black scrim so photography never competes with copy.
   Hero and CTA layouts remain unchanged.
   ========================================================= */

/* Every standard section gets a stable image layer + readable dark scrim. */
html body .sp-section.sp-has-bg,
html body .home-section.sp-has-bg{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-color:#050708!important;
  background-image:none!important;
}
html body .sp-section.sp-has-bg .sp-section-bg-media,
html body .home-section.sp-has-bg .sp-section-bg-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
}
html body .sp-section.sp-has-bg::before,
html body .home-section.sp-has-bg::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,
      rgba(3,5,6,.42) 0%,
      rgba(3,5,6,.52) 42%,
      rgba(3,5,6,.64) 72%,
      rgba(3,5,6,.72) 100%),
    linear-gradient(90deg,
      rgba(3,5,6,.28) 0%,
      rgba(3,5,6,.12) 48%,
      rgba(3,5,6,.30) 100%)!important;
}
html body .sp-section.sp-has-bg > .container,
html body .home-section.sp-has-bg > .container{
  position:relative!important;
  z-index:2!important;
}

/* Center the complete section-intro block: eyebrow, title and supporting copy. */
html body .home-section:not(.home-hero) .sp-section-intro,
html body .sp-section:not(.sp-page-hero) .sp-editorial-head,
html body .sp-section:not(.sp-page-hero) .sp-section-heading,
html body .sp-section:not(.sp-page-hero) .sp-service-heading{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}
html body .home-section:not(.home-hero) .sp-section-intro > div,
html body .sp-section:not(.sp-page-hero) .sp-editorial-head > div,
html body .sp-section:not(.sp-page-hero) .sp-section-heading > div{
  width:100%!important;
  max-width:1120px!important;
  text-align:center!important;
}
html body .home-section:not(.home-hero) .sp-section-intro .section-lead,
html body .sp-section:not(.sp-page-hero) .sp-section-intro .section-lead,
html body .sp-section:not(.sp-page-hero) .sp-editorial-head + .section-lead{
  width:100%!important;
  max-width:900px!important;
  margin:0 auto 42px!important;
  text-align:center!important;
}

/* Keep the eyebrow as a centered line + label unit. */
html body .home-section:not(.home-hero) .sp-section-intro .eyebrow,
html body .sp-section:not(.sp-page-hero) .sp-editorial-head .eyebrow,
html body .sp-section:not(.sp-page-hero) .sp-section-heading .eyebrow,
html body .sp-section:not(.sp-page-hero) .sp-service-heading .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* Center all standard card content on content sections. */
html body .home-section:not(.home-hero) .sp-card,
html body .sp-section:not(.sp-page-hero) .sp-card,
html body .sp-section:not(.sp-page-hero) .sp-industry-detail,
html body .sp-section:not(.sp-page-hero) .service-card,
html body .sp-section:not(.sp-page-hero) .industry-card,
html body .sp-section:not(.sp-page-hero) .editorial-card,
html body .sp-section:not(.sp-page-hero) .editorial-trust-card,
html body .sp-section:not(.sp-page-hero) .editorial-cap-card{
  text-align:center!important;
}
html body .home-section:not(.home-hero) .sp-card .sp-index,
html body .sp-section:not(.sp-page-hero) .sp-card .sp-index,
html body .sp-section:not(.sp-page-hero) .sp-industry-detail .sp-index,
html body .sp-section:not(.sp-page-hero) .industry-card > span,
html body .sp-section:not(.sp-page-hero) .editorial-trust-card > span,
html body .sp-section:not(.sp-page-hero) .editorial-cap-card > span{
  display:block!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body .home-section:not(.home-hero) .sp-card h3,
html body .home-section:not(.home-hero) .sp-card p,
html body .home-section:not(.home-hero) .sp-card .sp-card-link,
html body .sp-section:not(.sp-page-hero) .sp-card h3,
html body .sp-section:not(.sp-page-hero) .sp-card p,
html body .sp-section:not(.sp-page-hero) .sp-industry-detail h3,
html body .sp-section:not(.sp-page-hero) .sp-industry-detail p,
html body .sp-section:not(.sp-page-hero) .service-card h3,
html body .sp-section:not(.sp-page-hero) .service-card p,
html body .sp-section:not(.sp-page-hero) .industry-card h3,
html body .sp-section:not(.sp-page-hero) .editorial-trust-card h3,
html body .sp-section:not(.sp-page-hero) .editorial-trust-card p,
html body .sp-section:not(.sp-page-hero) .editorial-cap-card h3,
html body .sp-section:not(.sp-page-hero) .editorial-cap-card p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Section action buttons sit on the same central axis. */
html body .home-section:not(.home-hero) .sp-section-action,
html body .sp-section:not(.sp-page-hero) .sp-section-action{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Editorial body copy becomes centered when it is the primary copy block,
   while image/content rows remain structurally unchanged. */
html body .sp-section:not(.sp-page-hero) .sp-editorial-row.sp-no-image .sp-editorial-copy{
  width:100%!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body .sp-section:not(.sp-page-hero) .sp-editorial-row.sp-no-image .sp-editorial-copy p,
html body .sp-section:not(.sp-page-hero) .sp-editorial-row.sp-no-image .sp-editorial-copy > div{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:760px){
  html body .sp-section.sp-has-bg::before,
  html body .home-section.sp-has-bg::before{
    background:
      linear-gradient(180deg,
        rgba(3,5,6,.44) 0%,
        rgba(3,5,6,.60) 48%,
        rgba(3,5,6,.76) 100%)!important;
  }
  html body .home-section:not(.home-hero) .sp-section-intro,
  html body .sp-section:not(.sp-page-hero) .sp-editorial-head,
  html body .sp-section:not(.sp-page-hero) .sp-section-heading,
  html body .sp-section:not(.sp-page-hero) .sp-service-heading{
    max-width:100%!important;
  }
  html body .home-section:not(.home-hero) .sp-section-intro .section-lead,
  html body .sp-section:not(.sp-page-hero) .sp-section-intro .section-lead,
  html body .sp-section:not(.sp-page-hero) .sp-editorial-row.sp-no-image .sp-editorial-copy{
    max-width:100%!important;
    text-align:center!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.68 — AUTHORITATIVE HOME/SECTION ALIGNMENT
   This block intentionally comes last so it wins over all previous
   two-column/title rules. Hero and closing CTA are excluded.
   ========================================================= */

/* CMS background media must sit behind every piece of section content. */
html body .sp-section.sp-has-bg,
html body .home-section.sp-has-bg{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#07090b!important;
}
html body .sp-section.sp-has-bg > .sp-section-bg-media,
html body .home-section.sp-has-bg > .sp-section-bg-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center center!important;
  pointer-events:none!important;
}

/* Strong, even black scrim: image remains visible but never fights the copy. */
html body .sp-section.sp-has-bg::before,
html body .home-section.sp-has-bg::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,rgba(3,5,7,.68) 0%,rgba(3,5,7,.56) 38%,rgba(3,5,7,.62) 68%,rgba(3,5,7,.82) 100%),
    linear-gradient(90deg,rgba(3,5,7,.58) 0%,rgba(3,5,7,.30) 50%,rgba(3,5,7,.40) 100%)!important;
}
html body .sp-section.sp-has-bg > .container,
html body .home-section.sp-has-bg > .container{
  position:relative!important;
  z-index:2!important;
}

/* HOME: every section intro is one centered vertical stack. */
html body.home .home-section:not(.home-hero) .sp-section-intro{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto 58px!important;
  gap:0!important;
  text-align:center!important;
}
html body.home .home-section:not(.home-hero) .sp-section-intro > div{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  text-align:center!important;
}
html body.home .home-section:not(.home-hero) .sp-section-intro .eyebrow{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 auto 18px!important;
  text-align:center!important;
}
html body.home .home-section:not(.home-hero) .sp-section-intro h2{
  display:block!important;
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto 22px!important;
  text-align:center!important;
  text-wrap:balance!important;
}
html body.home .home-section:not(.home-hero) .sp-section-intro .section-lead{
  display:block!important;
  width:100%!important;
  max-width:900px!important;
  margin:0 auto!important;
  text-align:center!important;
}

/* Home content cards: centre every visible text element without changing the grid. */
html body.home .home-section:not(.home-hero) .sp-card,
html body.home .home-section:not(.home-hero) .sp-client-proof{
  text-align:center!important;
}
html body.home .home-section:not(.home-hero) .sp-card-body{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}
html body.home .home-section:not(.home-hero) .sp-card .sp-index,
html body.home .home-section:not(.home-hero) .sp-card h3,
html body.home .home-section:not(.home-hero) .sp-card p,
html body.home .home-section:not(.home-hero) .sp-card .sp-card-link,
html body.home .home-section:not(.home-hero) .sp-client-proof p,
html body.home .home-section:not(.home-hero) .sp-client-note{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body.home .home-section:not(.home-hero) .sp-card .sp-index{
  display:block!important;
}
html body.home .home-section:not(.home-hero) .sp-section-action{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin:38px auto 0!important;
}

/* Site-wide editorial/content section titles: one centered rail. */
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-editorial-head,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-section-heading,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-service-heading{
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-editorial-head h2,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-section-heading h2,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-service-heading h2{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  text-wrap:balance!important;
}
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-editorial-head .eyebrow,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-section-heading .eyebrow,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-service-heading .eyebrow{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* Standard no-image editorial copy is centred beneath its title. */
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-editorial-row.sp-no-image .sp-editorial-copy{
  width:100%!important;
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-editorial-row.sp-no-image .sp-editorial-copy p,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-editorial-row.sp-no-image .sp-editorial-copy > div{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:760px){
  html body.home .home-section:not(.home-hero) .sp-section-intro,
  html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-editorial-head,
  html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-section-heading,
  html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-service-heading{
    max-width:100%!important;
    margin-bottom:38px!important;
  }
  html body .sp-section.sp-has-bg::before,
  html body .home-section.sp-has-bg::before{
    background:linear-gradient(180deg,rgba(3,5,7,.54) 0%,rgba(3,5,7,.66) 48%,rgba(3,5,7,.86) 100%)!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.70 — TRUE CENTRED SECTION SYSTEM
   Home + inner content sections. Hero/CTA intentionally excluded.
   ========================================================= */

/* ---------- Background image + full-section black gradient ---------- */
html body .home-section.sp-has-bg,
html body .sp-section.sp-has-bg,
html body .home-section[style*="--sp-section-bg-image"],
html body .sp-section[style*="--sp-section-bg-image"]{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#050607!important;
  background-image:none!important;
}
html body .home-section.sp-has-bg > .sp-section-bg-media,
html body .sp-section.sp-has-bg > .sp-section-bg-media,
html body .home-section[style*="--sp-section-bg-image"] > .sp-section-bg-media,
html body .sp-section[style*="--sp-section-bg-image"] > .sp-section-bg-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  pointer-events:none!important;
}
html body .home-section.sp-has-bg::before,
html body .sp-section.sp-has-bg::before,
html body .home-section[style*="--sp-section-bg-image"]::before,
html body .sp-section[style*="--sp-section-bg-image"]::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.62) 28%,
      rgba(0,0,0,.66) 58%,
      rgba(0,0,0,.82) 100%),
    linear-gradient(90deg,
      rgba(0,0,0,.62) 0%,
      rgba(0,0,0,.34) 48%,
      rgba(0,0,0,.48) 100%)!important;
}
html body .home-section.sp-has-bg > .container,
html body .sp-section.sp-has-bg > .container,
html body .home-section[style*="--sp-section-bg-image"] > .container,
html body .sp-section[style*="--sp-section-bg-image"] > .container{
  position:relative!important;
  z-index:2!important;
}

/* ---------- Every HOME section: one centered vertical stack ---------- */
html body.home .home-section:not(.home-hero) .section-heading-row,
html body.home .home-section:not(.home-hero) .sp-section-intro{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  gap:0!important;
}
html body.home .home-section:not(.home-hero) .section-heading-row > div,
html body.home .home-section:not(.home-hero) .sp-section-intro > div{
  width:100%!important;
  max-width:1200px!important;
  margin:0 auto!important;
  text-align:center!important;
}
html body.home .home-section:not(.home-hero) .section-heading-row > p,
html body.home .home-section:not(.home-hero) .section-heading-row .section-lead,
html body.home .home-section:not(.home-hero) .sp-section-intro .section-lead{
  width:100%!important;
  max-width:920px!important;
  margin:24px auto 0!important;
  text-align:center!important;
}
html body.home .home-section:not(.home-hero) .section-heading-row h2,
html body.home .home-section:not(.home-hero) .sp-section-intro h2,
html body.home .home-section:not(.home-hero) > .container > h2{
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  text-wrap:balance!important;
}

/* Capabilities uses direct heading + paragraph instead of section-heading-row. */
html body.home #capabilities > .container > .eyebrow,
html body.home #capabilities > .container > h2,
html body.home #capabilities > .container > .section-lead{
  display:block!important;
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body.home #capabilities > .container > .eyebrow{
  display:flex!important;
  justify-content:center!important;
}
html body.home #capabilities > .container > .section-lead{
  max-width:920px!important;
  margin-top:24px!important;
}

/* ---------- Eyebrow: long equal gold rules on BOTH sides ---------- */
html body.home .home-section:not(.home-hero) .eyebrow,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  gap:18px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
html body.home .home-section:not(.home-hero) .eyebrow::before,
html body.home .home-section:not(.home-hero) .eyebrow::after,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::before,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::after{
  content:""!important;
  display:block!important;
  flex:0 1 90px!important;
  width:90px!important;
  min-width:90px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  background:currentColor!important;
  opacity:.72!important;
}
/* Override the old left-only pseudo rule. */
html body .eyebrow::before{margin:0!important;}

/* ---------- Cards: text centered, numbers centered, links centered ---------- */
html body.home .home-section:not(.home-hero) .service-card,
html body.home .home-section:not(.home-hero) .industry-card,
html body.home .home-section:not(.home-hero) .trust-card,
html body.home .home-section:not(.home-hero) .cap-card,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-card,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-industry-detail,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .editorial-trust-card,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .editorial-cap-card{
  text-align:center!important;
}
html body.home .home-section:not(.home-hero) .service-card h3,
html body.home .home-section:not(.home-hero) .service-card p,
html body.home .home-section:not(.home-hero) .service-card a,
html body.home .home-section:not(.home-hero) .industry-card h3,
html body.home .home-section:not(.home-hero) .industry-card p,
html body.home .home-section:not(.home-hero) .trust-card h3,
html body.home .home-section:not(.home-hero) .trust-card p,
html body.home .home-section:not(.home-hero) .trust-card .card-link,
html body.home .home-section:not(.home-hero) .cap-card h3,
html body.home .home-section:not(.home-hero) .cap-card p,
html body.home .home-section:not(.home-hero) .cap-card > b,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-card h3,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-card p,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-industry-detail h3,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .sp-industry-detail p,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .editorial-trust-card h3,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .editorial-trust-card p,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .editorial-cap-card h3,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .editorial-cap-card p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Keep card grids intact; only their internal alignment changes. */
html body.home .home-section:not(.home-hero) .service-grid,
html body.home .home-section:not(.home-hero) .industry-grid,
html body.home .home-section:not(.home-hero) .trust-grid,
html body.home .home-section:not(.home-hero) .cap-grid{
  width:100%!important;
}

@media(max-width:760px){
  html body.home .home-section:not(.home-hero) .section-heading-row,
  html body.home .home-section:not(.home-hero) .sp-section-intro{
    max-width:100%!important;
  }
  html body.home .home-section:not(.home-hero) .eyebrow,
  html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow{
    gap:10px!important;
    white-space:normal!important;
  }
  html body.home .home-section:not(.home-hero) .eyebrow::before,
  html body.home .home-section:not(.home-hero) .eyebrow::after,
  html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::before,
  html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::after{
    flex-basis:42px!important;
    width:42px!important;
    min-width:42px!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.70 — DEFINITIVE FULL BLACK SECTION SCRIM
   Apply a visible black screen over CMS-backed Home sections.
   This intentionally targets the actual Home section IDs so it
   works regardless of legacy class / pseudo-element state.
   ========================================================= */
html body.home #home-what-we-do.sp-section,
html body.home #home-industries.sp-section,
html body.home #home-why.sp-section,
html body.home #home-capabilities.sp-section,
html body.home #home-clients.sp-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}

html body.home #home-what-we-do.sp-section::before,
html body.home #home-industries.sp-section::before,
html body.home #home-why.sp-section::before,
html body.home #home-capabilities.sp-section::before,
html body.home #home-clients.sp-section::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  opacity:1!important;
  visibility:visible!important;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.68) 0%,
      rgba(0,0,0,.72) 45%,
      rgba(0,0,0,.80) 100%),
    linear-gradient(90deg,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.64) 50%,
      rgba(0,0,0,.72) 100%)!important;
}

html body.home #home-what-we-do.sp-section::after,
html body.home #home-industries.sp-section::after,
html body.home #home-why.sp-section::after,
html body.home #home-capabilities.sp-section::after,
html body.home #home-clients.sp-section::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at center,
    rgba(0,0,0,.06) 0%,
    rgba(0,0,0,.22) 58%,
    rgba(0,0,0,.42) 100%)!important;
}

html body.home #home-what-we-do.sp-section > .container,
html body.home #home-industries.sp-section > .container,
html body.home #home-why.sp-section > .container,
html body.home #home-capabilities.sp-section > .container,
html body.home #home-clients.sp-section > .container{
  position:relative!important;
  z-index:3!important;
}

@media(max-width:760px){
  html body.home #home-what-we-do.sp-section::before,
  html body.home #home-industries.sp-section::before,
  html body.home #home-why.sp-section::before,
  html body.home #home-capabilities.sp-section::before,
  html body.home #home-clients.sp-section::before{
    background:
      linear-gradient(180deg,
        rgba(0,0,0,.70) 0%,
        rgba(0,0,0,.78) 48%,
        rgba(0,0,0,.88) 100%),
      rgba(0,0,0,.24)!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.72 — HOME SECTION VISIBILITY + SHINY EYEBROWS
   Uses the real Home section IDs from front-page.php.
   Hero and CTA are intentionally excluded.
   ========================================================= */

/* Real Home CMS background layers — the earlier rules targeted
   non-existent home-* IDs, so these selectors intentionally use
   the actual IDs: #what-we-do, #industries-we-serve, #why-sharpline,
   and #capabilities. */
html body.home #what-we-do.home-section,
html body.home #industries-we-serve.home-section,
html body.home #why-sharpline.home-section,
html body.home #capabilities.home-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#050607!important;
}

html body.home #what-we-do.home-section > .sp-section-bg-media,
html body.home #industries-we-serve.home-section > .sp-section-bg-media,
html body.home #why-sharpline.home-section > .sp-section-bg-media,
html body.home #capabilities.home-section > .sp-section-bg-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  pointer-events:none!important;
}

/* Strong but readable cinematic black layer. */
html body.home #what-we-do.home-section::before,
html body.home #industries-we-serve.home-section::before,
html body.home #why-sharpline.home-section::before,
html body.home #capabilities.home-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.66) 38%,
      rgba(0,0,0,.72) 70%,
      rgba(0,0,0,.86) 100%),
    linear-gradient(90deg,
      rgba(0,0,0,.76) 0%,
      rgba(0,0,0,.58) 50%,
      rgba(0,0,0,.76) 100%)!important;
}

html body.home #what-we-do.home-section::after,
html body.home #industries-we-serve.home-section::after,
html body.home #why-sharpline.home-section::after,
html body.home #capabilities.home-section::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at center,
    rgba(0,0,0,.02) 0%,
    rgba(0,0,0,.18) 62%,
    rgba(0,0,0,.40) 100%)!important;
}

html body.home #what-we-do.home-section > .container,
html body.home #industries-we-serve.home-section > .container,
html body.home #why-sharpline.home-section > .container,
html body.home #capabilities.home-section > .container{
  position:relative!important;
  z-index:3!important;
}

/* Shiny metallic-gold eyebrow treatment across dark sections. */
html body .home-section:not(.home-hero) .eyebrow,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow,
html body .sp-page .sp-editorial-head .eyebrow{
  color:#d7a62a!important;
  background-image:linear-gradient(105deg,#8b5f12 0%,#c38a1b 24%,#ffe7a0 50%,#c99120 72%,#8b5f12 100%)!important;
  background-size:220% 100%!important;
  background-position:center!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:0 0 12px rgba(215,166,42,.14)!important;
  filter:drop-shadow(0 0 4px rgba(215,166,42,.10))!important;
}

/* Long metallic-gold rules beside every dark-background eyebrow. */
html body .home-section:not(.home-hero) .eyebrow::before,
html body .home-section:not(.home-hero) .eyebrow::after,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::before,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::after,
html body .sp-page .sp-editorial-head .eyebrow::before,
html body .sp-page .sp-editorial-head .eyebrow::after{
  background:linear-gradient(90deg,#8b5f12,#f2cb67,#9b6b16)!important;
  box-shadow:0 0 8px rgba(215,166,42,.16)!important;
}

@media(max-width:760px){
  html body.home #what-we-do.home-section::before,
  html body.home #industries-we-serve.home-section::before,
  html body.home #why-sharpline.home-section::before,
  html body.home #capabilities.home-section::before{
    background:
      linear-gradient(180deg,
        rgba(0,0,0,.74) 0%,
        rgba(0,0,0,.78) 50%,
        rgba(0,0,0,.90) 100%),
      rgba(0,0,0,.18)!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.73 — HERO-STYLE BLACK SHADE + METALLIC LABELS
   ========================================================= */
html body.home #what-we-do.home-section,
html body.home #industries-we-serve.home-section,
html body.home #why-sharpline.home-section,
html body.home #capabilities.home-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#050607!important;
}

html body.home #what-we-do.home-section > .sp-section-bg-media,
html body.home #industries-we-serve.home-section > .sp-section-bg-media,
html body.home #why-sharpline.home-section > .sp-section-bg-media,
html body.home #capabilities.home-section > .sp-section-bg-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  pointer-events:none!important;
}

/* Same visual principle as the Hero: strong black readability layer,
   while keeping the CMS photography visible. */
html body.home #what-we-do.home-section::before,
html body.home #industries-we-serve.home-section::before,
html body.home #why-sharpline.home-section::before,
html body.home #capabilities.home-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse at center,
      rgba(2,4,5,.28) 0%,
      rgba(2,4,5,.42) 48%,
      rgba(2,4,5,.58) 100%),
    linear-gradient(90deg,
      rgba(2,4,5,.84) 0%,
      rgba(2,4,5,.68) 24%,
      rgba(2,4,5,.60) 50%,
      rgba(2,4,5,.68) 76%,
      rgba(2,4,5,.84) 100%),
    linear-gradient(180deg,
      rgba(2,4,5,.22) 0%,
      rgba(2,4,5,.46) 58%,
      rgba(2,4,5,.78) 100%)!important;
}

html body.home #what-we-do.home-section::after,
html body.home #industries-we-serve.home-section::after,
html body.home #why-sharpline.home-section::after,
html body.home #capabilities.home-section::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,
    rgba(0,0,0,.08) 0%,
    rgba(0,0,0,.18) 48%,
    rgba(0,0,0,.28) 100%)!important;
}

html body.home #what-we-do.home-section > .container,
html body.home #industries-we-serve.home-section > .container,
html body.home #why-sharpline.home-section > .container,
html body.home #capabilities.home-section > .container{
  position:relative!important;
  z-index:3!important;
}

/* Metallic / shiny gold labels — full website. */
html body .eyebrow,
html body .footer-label{
  color:transparent!important;
  background-image:linear-gradient(105deg,
    #79500b 0%,
    #b97912 18%,
    #e4ad3b 34%,
    #fff1b0 49%,
    #f5ca62 57%,
    #c58a1e 76%,
    #80540d 100%)!important;
  background-size:260% 100%!important;
  background-position:0% 50%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:0 0 10px rgba(225,174,65,.16)!important;
  animation:sharplineMetalShine 5.5s ease-in-out infinite!important;
}

/* Long polished metallic rules on both sides of labels. */
html body .home-section:not(.home-hero) .eyebrow::before,
html body .home-section:not(.home-hero) .eyebrow::after,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::before,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::after{
  content:""!important;
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  height:1px!important;
  margin:0!important;
  opacity:.95!important;
  background:linear-gradient(90deg,
    rgba(116,77,11,.65),
    #dcae45 35%,
    #fff0ae 50%,
    #c88d22 68%,
    rgba(116,77,11,.65))!important;
  box-shadow:0 0 8px rgba(221,170,58,.22)!important;
}

html body .home-section:not(.home-hero) .eyebrow,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:100%!important;
  max-width:none!important;
  margin-inline:auto!important;
  white-space:nowrap!important;
}

@keyframes sharplineMetalShine{
  0%,62%{background-position:0% 50%;}
  78%{background-position:100% 50%;}
  100%{background-position:0% 50%;}
}

@media(max-width:760px){
  html body.home #what-we-do.home-section::before,
  html body.home #industries-we-serve.home-section::before,
  html body.home #why-sharpline.home-section::before,
  html body.home #capabilities.home-section::before{
    background:
      radial-gradient(ellipse at center,
        rgba(2,4,5,.34) 0%,
        rgba(2,4,5,.52) 50%,
        rgba(2,4,5,.72) 100%),
      linear-gradient(180deg,
        rgba(2,4,5,.48) 0%,
        rgba(2,4,5,.68) 52%,
        rgba(2,4,5,.90) 100%)!important;
  }
  html body .home-section:not(.home-hero) .eyebrow,
  html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow{
    gap:10px!important;
    white-space:normal!important;
  }
  html body .home-section:not(.home-hero) .eyebrow::before,
  html body .home-section:not(.home-hero) .eyebrow::after,
  html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::before,
  html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::after{
    flex-basis:42px!important;
    width:42px!important;
    min-width:42px!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.74 — REAL HOME SECTION OVERLAY
   Dedicated overlay element: same readability principle as Hero.
   This avoids competing pseudo-elements / background-image rules.
   ========================================================= */
html body.home #home-what-we-do.sp-section,
html body.home #home-industries.sp-section,
html body.home #home-why.sp-section,
html body.home #home-capabilities.sp-section,
html body.home #home-clients.sp-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#050708!important;
}

html body.home #home-what-we-do.sp-section > .sp-section-bg-media,
html body.home #home-industries.sp-section > .sp-section-bg-media,
html body.home #home-why.sp-section > .sp-section-bg-media,
html body.home #home-capabilities.sp-section > .sp-section-bg-media,
html body.home #home-clients.sp-section > .sp-section-bg-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

html body.home #home-what-we-do.sp-section > .sp-home-bg-scrim,
html body.home #home-industries.sp-section > .sp-home-bg-scrim,
html body.home #home-why.sp-section > .sp-home-bg-scrim,
html body.home #home-capabilities.sp-section > .sp-home-bg-scrim,
html body.home #home-clients.sp-section > .sp-home-bg-scrim{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(5,7,8,.94) 0%,
      rgba(5,7,8,.84) 25%,
      rgba(5,7,8,.72) 50%,
      rgba(5,7,8,.78) 75%,
      rgba(5,7,8,.90) 100%),
    linear-gradient(180deg,
      rgba(5,7,8,.22) 0%,
      rgba(5,7,8,.46) 52%,
      rgba(5,7,8,.88) 100%)!important;
}

html body.home #home-what-we-do.sp-section > .container,
html body.home #home-industries.sp-section > .container,
html body.home #home-why.sp-section > .container,
html body.home #home-capabilities.sp-section > .container,
html body.home #home-clients.sp-section > .container{
  position:relative!important;
  z-index:3!important;
}

/* Kill older competing washes on these exact Home sections. */
html body.home #home-what-we-do.sp-section::before,
html body.home #home-industries.sp-section::before,
html body.home #home-why.sp-section::before,
html body.home #home-capabilities.sp-section::before,
html body.home #home-clients.sp-section::before,
html body.home #home-what-we-do.sp-section::after,
html body.home #home-industries.sp-section::after,
html body.home #home-why.sp-section::after,
html body.home #home-capabilities.sp-section::after,
html body.home #home-clients.sp-section::after{
  background:transparent!important;
}

/* True centred Home section intro — actual template classes/IDs. */
html body.home #home-what-we-do .sp-section-intro,
html body.home #home-industries .sp-section-intro,
html body.home #home-why .sp-section-intro,
html body.home #home-capabilities .sp-section-intro,
html body.home #home-clients .sp-section-intro{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:1200px!important;
  margin-inline:auto!important;
  text-align:center!important;
}

html body.home #home-what-we-do .sp-section-intro > div,
html body.home #home-industries .sp-section-intro > div,
html body.home #home-why .sp-section-intro > div,
html body.home #home-capabilities .sp-section-intro > div,
html body.home #home-clients .sp-section-intro > div,
html body.home #home-what-we-do .sp-section-intro .section-lead,
html body.home #home-industries .sp-section-intro .section-lead,
html body.home #home-why .sp-section-intro .section-lead,
html body.home #home-capabilities .sp-section-intro .section-lead,
html body.home #home-clients .sp-section-intro .section-lead{
  width:100%!important;
  max-width:1180px!important;
  margin-inline:auto!important;
  text-align:center!important;
}

html body.home #home-what-we-do .sp-section-intro .section-lead,
html body.home #home-industries .sp-section-intro .section-lead,
html body.home #home-why .sp-section-intro .section-lead,
html body.home #home-capabilities .sp-section-intro .section-lead,
html body.home #home-clients .sp-section-intro .section-lead{
  max-width:920px!important;
  margin-top:24px!important;
}

/* Metallic labels + long rules, including the actual .sp-section Home markup. */
html body.home #home-what-we-do .eyebrow,
html body.home #home-industries .eyebrow,
html body.home #home-why .eyebrow,
html body.home #home-capabilities .eyebrow,
html body.home #home-clients .eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  margin-inline:auto!important;
  gap:18px!important;
  white-space:nowrap!important;
  color:transparent!important;
  background-image:linear-gradient(105deg,#79500b 0%,#b97912 18%,#e4ad3b 34%,#fff1b0 49%,#f5ca62 57%,#c58a1e 76%,#80540d 100%)!important;
  background-size:260% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  animation:sharplineMetalShine 5.5s ease-in-out infinite!important;
}

html body.home #home-what-we-do .eyebrow::before,
html body.home #home-what-we-do .eyebrow::after,
html body.home #home-industries .eyebrow::before,
html body.home #home-industries .eyebrow::after,
html body.home #home-why .eyebrow::before,
html body.home #home-why .eyebrow::after,
html body.home #home-capabilities .eyebrow::before,
html body.home #home-capabilities .eyebrow::after,
html body.home #home-clients .eyebrow::before,
html body.home #home-clients .eyebrow::after{
  content:""!important;
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  height:1px!important;
  margin:0!important;
  background:linear-gradient(90deg,rgba(116,77,11,.65),#dcae45 35%,#fff0ae 50%,#c88d22 68%,rgba(116,77,11,.65))!important;
  box-shadow:0 0 8px rgba(221,170,58,.22)!important;
}

@media(max-width:760px){
  html body.home #home-what-we-do.sp-section > .sp-home-bg-scrim,
  html body.home #home-industries.sp-section > .sp-home-bg-scrim,
  html body.home #home-why.sp-section > .sp-home-bg-scrim,
  html body.home #home-capabilities.sp-section > .sp-home-bg-scrim,
  html body.home #home-clients.sp-section > .sp-home-bg-scrim{
    background:
      linear-gradient(180deg,rgba(5,7,8,.58) 0%,rgba(5,7,8,.74) 50%,rgba(5,7,8,.94) 100%),
      rgba(5,7,8,.28)!important;
  }
  html body.home #home-what-we-do .eyebrow,
  html body.home #home-industries .eyebrow,
  html body.home #home-why .eyebrow,
  html body.home #home-capabilities .eyebrow,
  html body.home #home-clients .eyebrow{gap:10px!important;white-space:normal!important;}
  html body.home #home-what-we-do .eyebrow::before,
  html body.home #home-what-we-do .eyebrow::after,
  html body.home #home-industries .eyebrow::before,
  html body.home #home-industries .eyebrow::after,
  html body.home #home-why .eyebrow::before,
  html body.home #home-why .eyebrow::after,
  html body.home #home-capabilities .eyebrow::before,
  html body.home #home-capabilities .eyebrow::after,
  html body.home #home-clients .eyebrow::before,
  html body.home #home-clients .eyebrow::after{flex-basis:42px!important;width:42px!important;min-width:42px!important;}
}


/* v5.19.75 — authoritative Home section background scrim.
   These selectors intentionally target the real front-page.php IDs/classes,
   not the legacy #home-* selectors. */
html body.home #what-we-do.home-section,
html body.home #industries-we-serve.home-section,
html body.home #why-sharpline.home-section,
html body.home #capabilities.home-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}

html body.home #what-we-do.home-section > .sp-section-bg-media,
html body.home #industries-we-serve.home-section > .sp-section-bg-media,
html body.home #why-sharpline.home-section > .sp-section-bg-media,
html body.home #capabilities.home-section > .sp-section-bg-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  opacity:1!important;
  visibility:visible!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  pointer-events:none!important;
}

/* Same visual principle as the Hero: a deep black cinematic wash over the CMS image. */
html body.home #what-we-do.home-section > .sp-home-bg-scrim,
html body.home #industries-we-serve.home-section > .sp-home-bg-scrim,
html body.home #why-sharpline.home-section > .sp-home-bg-scrim,
html body.home #capabilities.home-section > .sp-home-bg-scrim{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(3,4,5,.92) 0%,
      rgba(3,4,5,.80) 28%,
      rgba(3,4,5,.72) 52%,
      rgba(3,4,5,.80) 76%,
      rgba(3,4,5,.91) 100%),
    linear-gradient(180deg,
      rgba(3,4,5,.55) 0%,
      rgba(3,4,5,.34) 34%,
      rgba(3,4,5,.62) 72%,
      rgba(3,4,5,.91) 100%)!important;
}

html body.home #what-we-do.home-section > .container,
html body.home #industries-we-serve.home-section > .container,
html body.home #why-sharpline.home-section > .container,
html body.home #capabilities.home-section > .container{
  position:relative!important;
  z-index:2!important;
}

/* Keep the existing hero untouched; this only applies to non-hero Home sections. */
@media(max-width:850px){
  html body.home #what-we-do.home-section > .sp-home-bg-scrim,
  html body.home #industries-we-serve.home-section > .sp-home-bg-scrim,
  html body.home #why-sharpline.home-section > .sp-home-bg-scrim,
  html body.home #capabilities.home-section > .sp-home-bg-scrim{
    background:
      linear-gradient(180deg,
        rgba(3,4,5,.64) 0%,
        rgba(3,4,5,.76) 48%,
        rgba(3,4,5,.94) 100%),
      rgba(3,4,5,.38)!important;
  }
}


/* v5.19.76 — Home Industries: true boxed 3x2 grid + aligned/shiny cards. */
@media(max-width:850px){
  .industries-home-section .editorial-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .industries-home-section .editorial-industry-card{min-height:205px!important;padding:24px 18px 26px!important}
  .industries-home-section .editorial-industry-card h3{margin-top:40px!important;font-size:19px!important}
}
@media(max-width:560px){
  .industries-home-section .editorial-industry-grid{grid-template-columns:1fr!important;gap:8px!important}
  .industries-home-section .editorial-industry-card{min-height:180px!important}
  .industries-home-section .editorial-industry-card h3{margin-top:34px!important;font-size:18px!important}
}

/* v5.19.77 — Home hero eyebrow alignment */
.home-hero .hero-copy > .eyebrow{
  display:block!important;
  width:auto!important;
  margin-left:0!important;
  padding-left:0!important;
}
.home-hero .hero-copy > .eyebrow::before{
  display:none!important;
}


/* v5.19.78 — Home card action alignment: label + arrow stay on one clean horizontal line. */
html body.home .editorial-trust-card,
html body.home .editorial-cap-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}

html body.home .editorial-trust-card .card-link{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  width:max-content!important;
  margin-top:auto!important;
  padding-top:18px!important;
  line-height:1!important;
  white-space:nowrap!important;
  position:relative!important;
}

html body.home .editorial-trust-card .card-link b{
  display:inline-block!important;
  position:static!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  transform:none!important;
  vertical-align:middle!important;
}

html body.home .editorial-cap-card > b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  margin-top:auto!important;
  padding-top:18px!important;
  position:static!important;
  line-height:1!important;
  transform:none!important;
  vertical-align:middle!important;
}

@media(max-width:850px){
  html body.home .editorial-trust-card .card-link,
  html body.home .editorial-cap-card > b{
    padding-top:16px!important;
  }
}


/* v5.19.79 — Hero eyebrow: clean gold, no animated shine, exact hero-copy alignment. */
html body.home .home-hero .hero-copy > .eyebrow,
html body.home .home-hero .sp-hero-copy > .eyebrow{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 18px 0!important;
  padding:0!important;
  text-align:left!important;
  color:#d7a32d!important;
  background:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:#d7a32d!important;
  text-shadow:none!important;
  animation:none!important;
  filter:none!important;
  transform:none!important;
  letter-spacing:3px!important;
}
html body.home .home-hero .hero-copy > .eyebrow::before,
html body.home .home-hero .hero-copy > .eyebrow::after,
html body.home .home-hero .sp-hero-copy > .eyebrow::before,
html body.home .home-hero .sp-hero-copy > .eyebrow::after{
  display:none!important;
  content:none!important;
}
/* Keep eyebrow, H1, paragraph and actions on the exact same left axis. */
html body.home .home-hero .hero-copy,
html body.home .home-hero .sp-hero-copy{
  align-items:flex-start!important;
  text-align:left!important;
}
html body.home .home-hero .hero-copy h1,
html body.home .home-hero .sp-hero-copy h1,
html body.home .home-hero .hero-copy p,
html body.home .home-hero .sp-hero-copy p{
  margin-left:0!important;
  margin-right:0!important;
}

/* v5.19.80 — Hero eyebrow final cleanup: completely flat gold, no shine/glow, exact H1 axis. */
html body.home .home-hero .hero-copy > .eyebrow,
html body.home .home-hero .sp-hero-copy > .eyebrow{
  display:block!important;
  position:static!important;
  width:max-content!important;
  max-width:calc(100% - 2px)!important;
  margin:0 0 18px 0!important;
  padding:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  text-align:left!important;
  color:#c99224!important;
  background:none!important;
  background-image:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  -webkit-text-fill-color:#c99224!important;
  text-shadow:none!important;
  box-shadow:none!important;
  filter:none!important;
  animation:none!important;
  transition:none!important;
  opacity:1!important;
  letter-spacing:3px!important;
}
html body.home .home-hero .hero-copy > .eyebrow::before,
html body.home .home-hero .hero-copy > .eyebrow::after,
html body.home .home-hero .sp-hero-copy > .eyebrow::before,
html body.home .home-hero .sp-hero-copy > .eyebrow::after{
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}
html body.home .home-hero .hero-copy,
html body.home .home-hero .sp-hero-copy{
  align-items:flex-start!important;
  text-align:left!important;
  padding-left:0!important;
}
html body.home .home-hero .hero-copy > .eyebrow + h1,
html body.home .home-hero .sp-hero-copy > .eyebrow + h1{
  margin-left:0!important;
}


/* v5.19.81 — Final hero eyebrow correction: text only, no background bar. */
html body.home .home-hero .sp-hero-copy > .eyebrow,
html body.home .home-hero .hero-copy > .eyebrow {
  background: transparent !important;
  background-image: none !important;
  color: #c99224 !important;
  -webkit-text-fill-color: #c99224 !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  display: block !important;
  width: max-content !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.home .home-hero .sp-hero-copy > .eyebrow::before,
html body.home .home-hero .sp-hero-copy > .eyebrow::after,
html body.home .home-hero .hero-copy > .eyebrow::before,
html body.home .home-hero .hero-copy > .eyebrow::after {
  display: none !important;
  content: none !important;
}

/* v5.19.82 — About page eyebrow / section label scale-up. */
html body .about-page .eyebrow,
html body .about-page .sp-editorial-head > .eyebrow,
html body .about-page .sp-section-head > .eyebrow,
html body .about-page .section-heading-row > .eyebrow {
  font-size: 16px !important;
  line-height: 1.2 !important;
  letter-spacing: 3.2px !important;
  font-weight: 700 !important;
}

@media (max-width: 850px) {
  html body .about-page .eyebrow,
  html body .about-page .sp-editorial-head > .eyebrow,
  html body .about-page .sp-section-head > .eyebrow,
  html body .about-page .section-heading-row > .eyebrow {
    font-size: 13px !important;
    line-height: 1.25 !important;
    letter-spacing: 2.5px !important;
  }
}


/* =========================================================
   SHARPLINE v5.19.83 — GLOBAL LABEL SYSTEM + ALIGNMENT
   One consistent eyebrow/section-label scale and approved gold
   across Home → Contact. Preserve hero/CTA layouts while making
   standard section heads share one visual axis.
   ========================================================= */
html body .eyebrow,
html body .footer-label{
  font-size:16px!important;
  line-height:1.2!important;
  letter-spacing:3.2px!important;
  font-weight:700!important;
  color:#C99224!important;
  background:none!important;
  background-image:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  -webkit-text-fill-color:#C99224!important;
  text-shadow:none!important;
  filter:none!important;
  animation:none!important;
  transition:none!important;
  opacity:1!important;
}

/* Standard section label/title blocks share one centered rail. */
html body .sp-section:not(.cta-band) .sp-editorial-head,
html body .sp-section:not(.cta-band) .sp-service-heading,
html body .home-section:not(.home-hero) .sp-section-intro,
html body .sp-section:not(.cta-band) .section-heading-row{
  width:100%!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

html body .sp-section:not(.cta-band) .sp-editorial-head > .eyebrow,
html body .sp-section:not(.cta-band) .sp-service-heading > .eyebrow,
html body .home-section:not(.home-hero) .sp-section-intro .eyebrow,
html body .sp-section:not(.cta-band) .section-heading-row > .eyebrow{
  justify-content:center!important;
  align-items:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

html body .sp-section:not(.cta-band) .sp-editorial-head > h2,
html body .sp-section:not(.cta-band) .sp-service-heading > h2,
html body .home-section:not(.home-hero) .sp-section-intro h2,
html body .sp-section:not(.cta-band) .section-heading-row > h2{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* Keep long label rules symmetrical wherever the label system uses them. */
html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::before,
html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::after,
html body .home-section:not(.home-hero) .eyebrow::before,
html body .home-section:not(.home-hero) .eyebrow::after{
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  height:1px!important;
}

/* Page heroes: same label scale/colour, but retain each page's established copy alignment. */
html body .sp-page-hero .eyebrow,
html body .inner-hero .eyebrow,
html body .home-hero .eyebrow{
  font-size:16px!important;
  line-height:1.2!important;
  letter-spacing:3.2px!important;
  font-weight:700!important;
  color:#C99224!important;
  background:none!important;
  background-image:none!important;
  -webkit-text-fill-color:#C99224!important;
  text-shadow:none!important;
  filter:none!important;
  animation:none!important;
}

/* Home hero stays on its left content rail, while the label uses the same scale. */
html body.home .home-hero .hero-copy > .eyebrow,
html body.home .home-hero .sp-hero-copy > .eyebrow{
  width:max-content!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}

/* Contact direct/location labels follow the same centered heading rail. */
html body .sp-contact-details-grid .eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  text-align:center!important;
}

@media(max-width:850px){
  html body .eyebrow,
  html body .footer-label,
  html body .sp-page-hero .eyebrow,
  html body .inner-hero .eyebrow,
  html body .home-hero .eyebrow{
    font-size:13px!important;
    line-height:1.25!important;
    letter-spacing:2.5px!important;
  }
  html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::before,
  html body .sp-section:not(.sp-page-hero):not(.cta-band) .eyebrow::after,
  html body .home-section:not(.home-hero) .eyebrow::before,
  html body .home-section:not(.home-hero) .eyebrow::after{
    flex-basis:42px!important;
    width:42px!important;
    min-width:42px!important;
  }
}



/* =========================================================
   SHARPLINE v5.19.85 — GLOBAL VISUAL ALIGNMENT / LABEL SYSTEM
   One consistent editorial system from Home through Contact.
   Hero labels are text-only; content-section labels use long rules.
   ========================================================= */
:root{
  --sp-global-label-size:16px;
  --sp-global-label-mobile:13px;
  --sp-global-gold:#c99224;
  --sp-global-gold-bright:#e4b34c;
  --sp-global-rail:1320px;
  --sp-global-gutter:40px;
}

/* Every content section shares the same readable rail. */
html body .sp-page > .sp-section > .container,
html body .sp-page .sp-editorial > .container,
html body .sp-page .sp-section-intro,
html body .home-section > .container{
  width:min(var(--sp-global-rail),calc(100% - (var(--sp-global-gutter) * 2)))!important;
  max-width:var(--sp-global-rail)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Section labels: same size, same gold, same visual rhythm everywhere. */
html body .sp-section:not(.sp-page-hero) .eyebrow,
html body .home-section:not(.home-hero) .eyebrow,
html body .shared-closing-cta .eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  margin:0 auto 20px!important;
  gap:18px!important;
  white-space:nowrap!important;
  font-size:var(--sp-global-label-size)!important;
  line-height:1.2!important;
  letter-spacing:3px!important;
  font-weight:800!important;
  color:var(--sp-global-gold-bright)!important;
  background:linear-gradient(180deg,#f6d477 0%,#e5b44c 35%,#b97816 68%,#f0c45b 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:0 1px 6px rgba(120,76,10,.20)!important;
  animation:none!important;
}

/* Long balanced rules on both sides — content sections only. */
html body .sp-section:not(.sp-page-hero) .eyebrow::before,
html body .sp-section:not(.sp-page-hero) .eyebrow::after,
html body .home-section:not(.home-hero) .eyebrow::before,
html body .home-section:not(.home-hero) .eyebrow::after,
html body .shared-closing-cta .eyebrow::before,
html body .shared-closing-cta .eyebrow::after{
  content:""!important;
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  height:1px!important;
  margin:0!important;
  opacity:.95!important;
  background:linear-gradient(90deg,rgba(116,77,11,.45),#dcae45 35%,#f3ce78 50%,#c88d22 68%,rgba(116,77,11,.45))!important;
  box-shadow:0 0 7px rgba(221,170,58,.14)!important;
}

/* HERO LABELS: no rule, no glow, no gradient — text only and aligned to H1. */
html body .sp-page-hero .eyebrow,
html body .home-hero .hero-copy > .eyebrow,
html body .home-hero .sp-hero-copy > .eyebrow{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 20px 0!important;
  padding:0!important;
  text-align:left!important;
  white-space:normal!important;
  font-size:var(--sp-global-label-size)!important;
  line-height:1.2!important;
  letter-spacing:3px!important;
  font-weight:800!important;
  color:var(--sp-global-gold-bright)!important;
  background:linear-gradient(180deg,#f6d477 0%,#e5b44c 35%,#b97816 68%,#f0c45b 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:0 1px 6px rgba(120,76,10,.18)!important;
  animation:none!important;
  filter:none!important;
}
html body .sp-page-hero .eyebrow::before,
html body .sp-page-hero .eyebrow::after,
html body .home-hero .hero-copy > .eyebrow::before,
html body .home-hero .hero-copy > .eyebrow::after,
html body .home-hero .sp-hero-copy > .eyebrow::before,
html body .home-hero .sp-hero-copy > .eyebrow::after{
  display:none!important;
  content:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  box-shadow:none!important;
}

/* Hero copy uses one exact left axis for label, H1, paragraph and actions. */
html body .sp-page-hero .sp-hero-copy,
html body .home-hero .hero-copy,
html body .home-hero .sp-hero-copy{
  text-align:left!important;
  align-items:flex-start!important;
  margin-left:0!important;
}
html body .sp-page-hero .sp-hero-copy h1,
html body .sp-page-hero .sp-hero-text,
html body .sp-page-hero .sp-actions,
html body .home-hero .hero-copy h1,
html body .home-hero .hero-copy p,
html body .home-hero .hero-actions,
html body .home-hero .hero-microline{
  margin-left:0!important;
  margin-right:0!important;
}

/* Section heading hierarchy: label -> heading -> supporting copy all share one center axis. */
html body .sp-editorial .sp-editorial-head,
html body .sp-section-intro,
html body .home-section .section-heading-row{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  width:100%!important;
  max-width:var(--sp-global-rail)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body .sp-editorial .sp-editorial-head h2,
html body .sp-section-intro h2,
html body .home-section .section-heading-row h2,
html body .home-section > .container > h2{
  width:100%!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body .sp-editorial .sp-editorial-head + .sp-editorial-row{
  margin-top:0!important;
}
html body .sp-section-intro .section-lead,
html body .home-section .section-heading-row .section-lead,
html body .home-section > .container > .section-lead{
  width:100%!important;
  max-width:900px!important;
  margin:22px auto 0!important;
  text-align:center!important;
}

/* Editorial copy is centered to match the section title while images retain their visual role. */
html body .sp-editorial .sp-editorial-copy{
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
html body .sp-editorial .sp-editorial-copy > *{
  max-width:900px!important;
}
html body .sp-editorial .sp-section-action{
  margin:30px auto 0!important;
}

/* Give sections a little more visual depth without changing the approved architecture. */
html body .sp-section{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), inset 0 -1px 0 rgba(0,0,0,.45)!important;
}
html body .sp-editorial .sp-editorial-image{
  box-shadow:0 20px 55px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
html body .sp-card,
html body .editorial-card,
html body .editorial-industry-card,
html body .editorial-trust-card,
html body .editorial-cap-card{
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 16px 42px rgba(0,0,0,.18)!important;
}

/* Keep card internals disciplined and aligned. */
html body .editorial-card,
html body .editorial-industry-card,
html body .editorial-trust-card,
html body .editorial-cap-card{
  text-align:center!important;
}

@media(max-width:900px){
  :root{--sp-global-gutter:24px;}
  html body .sp-page > .sp-section > .container,
  html body .sp-page .sp-editorial > .container,
  html body .sp-page .sp-section-intro,
  html body .home-section > .container{
    width:calc(100% - (var(--sp-global-gutter) * 2))!important;
    max-width:none!important;
  }
  html body .sp-section:not(.sp-page-hero) .eyebrow,
  html body .home-section:not(.home-hero) .eyebrow,
  html body .shared-closing-cta .eyebrow,
  html body .sp-page-hero .eyebrow,
  html body .home-hero .hero-copy > .eyebrow{
    font-size:var(--sp-global-label-mobile)!important;
    letter-spacing:2.5px!important;
  }
  html body .sp-section:not(.sp-page-hero) .eyebrow::before,
  html body .sp-section:not(.sp-page-hero) .eyebrow::after,
  html body .home-section:not(.home-hero) .eyebrow::before,
  html body .home-section:not(.home-hero) .eyebrow::after,
  html body .shared-closing-cta .eyebrow::before,
  html body .shared-closing-cta .eyebrow::after{
    flex-basis:64px!important;
    width:64px!important;
    min-width:64px!important;
  }
}
@media(max-width:600px){
  :root{--sp-global-gutter:16px;}
  html body .sp-section:not(.sp-page-hero) .eyebrow,
  html body .home-section:not(.home-hero) .eyebrow,
  html body .shared-closing-cta .eyebrow,
  html body .sp-page-hero .eyebrow,
  html body .home-hero .hero-copy > .eyebrow{
    font-size:12px!important;
    letter-spacing:2.1px!important;
  }
  html body .sp-section:not(.sp-page-hero) .eyebrow::before,
  html body .sp-section:not(.sp-page-hero) .eyebrow::after,
  html body .home-section:not(.home-hero) .eyebrow::before,
  html body .home-section:not(.home-hero) .eyebrow::after,
  html body .shared-closing-cta .eyebrow::before,
  html body .shared-closing-cta .eyebrow::after{
    flex-basis:36px!important;
    width:36px!important;
    min-width:36px!important;
  }
}


/* v5.19.85 — GLOBAL METALLIC GOLD LABELS
   Text-only metallic treatment; no rectangular background. */
html body .eyebrow {
  color:#e5b44c!important;
  background:linear-gradient(180deg,#f8da7d 0%,#e9bb55 34%,#b87816 66%,#f1c85f 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:0 1px 7px rgba(118,75,9,.18)!important;
  animation:none!important;
}
html body .eyebrow::before,
html body .eyebrow::after {
  background:linear-gradient(90deg,rgba(116,77,11,.38),#dcae45 35%,#f3ce78 50%,#c88d22 68%,rgba(116,77,11,.38))!important;
  box-shadow:0 0 7px rgba(221,170,58,.14)!important;
}
html body .sp-page-hero .eyebrow::before,
html body .sp-page-hero .eyebrow::after,
html body .home-hero .hero-copy > .eyebrow::before,
html body .home-hero .hero-copy > .eyebrow::after,
html body .home-hero .sp-hero-copy > .eyebrow::before,
html body .home-hero .sp-hero-copy > .eyebrow::after {
  display:none!important;
  content:none!important;
}


/* =========================================================
   SHARPLINE v5.19.87 — FINAL LABEL POLISH + CTA LABEL CENTER
   ========================================================= */
html body .eyebrow,
html body .footer-label{
  background:linear-gradient(180deg,#fff0a3 0%,#f2cf72 22%,#d79f2e 48%,#a96d0d 70%,#f5d77d 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  color:#e0b44f!important;
  text-shadow:0 1px 0 rgba(255,240,170,.22),0 2px 10px rgba(184,126,20,.18)!important;
  background-color:transparent!important;
  animation:none!important;
}

/* Keep section-label rules symmetrical and premium. */
html body .sp-section:not(.sp-page-hero) .eyebrow::before,
html body .sp-section:not(.sp-page-hero) .eyebrow::after,
html body .shared-closing-cta .eyebrow::before,
html body .shared-closing-cta .eyebrow::after{
  background:linear-gradient(90deg,rgba(126,82,10,.35),#d6a02d 25%,#ffe18b 50%,#c48a1f 75%,rgba(126,82,10,.35))!important;
  box-shadow:0 0 8px rgba(235,187,70,.18)!important;
}

/* Home closing CTA: move the eyebrow to the visual centre of the full CTA,
   while keeping the title/copy two-column composition intact. */
html body .shared-closing-cta .cta-shell.container{
  position:relative!important;
}
html body .shared-closing-cta .cta-copy > .eyebrow{
  position:absolute!important;
  top:-44px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  z-index:5!important;
  margin:0!important;
  white-space:nowrap!important;
}
html body .shared-closing-cta .cta-copy > .eyebrow::before,
html body .shared-closing-cta .cta-copy > .eyebrow::after{
  display:block!important;
  content:""!important;
  width:74px!important;
  flex:0 0 74px!important;
}

@media(max-width:1050px){
  html body .shared-closing-cta .cta-copy > .eyebrow{
    position:static!important;
    transform:none!important;
    justify-content:center!important;
    width:100%!important;
    margin:0 0 18px!important;
  }
}
@media(max-width:600px){
  html body .shared-closing-cta .cta-copy > .eyebrow::before,
  html body .shared-closing-cta .cta-copy > .eyebrow::after{
    width:42px!important;
    flex-basis:42px!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.88 — UNIVERSAL HERO ALIGNMENT
   One hero label axis across Home + every inner page.
   Prevent mobile overflow while preserving the approved scale.
   ========================================================= */
:root{
  --sp-hero-rail:1320px;
  --sp-hero-gutter:40px;
}

/* Every hero uses one identical content rail. */
html body .sp-page-hero .sp-hero-grid,
html body .home-hero .sp-hero-grid,
html body .home-hero .hero-grid{
  width:min(var(--sp-hero-rail),calc(100% - (var(--sp-hero-gutter) * 2)))!important;
  max-width:var(--sp-hero-rail)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Hero copy is the alignment anchor: label, H1, paragraph and actions all share it. */
html body .sp-page-hero .sp-hero-copy,
html body .home-hero .sp-hero-copy,
html body .home-hero .hero-copy{
  width:100%!important;
  max-width:1100px!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  text-align:left!important;
  box-sizing:border-box!important;
}

/* Hero labels: identical position, size and treatment on every page. */
html body .sp-page-hero .sp-hero-copy > .eyebrow,
html body .home-hero .sp-hero-copy > .eyebrow,
html body .home-hero .hero-copy > .eyebrow{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 20px 0!important;
  padding:0!important;
  text-align:left!important;
  align-self:flex-start!important;
  white-space:normal!important;
  font-size:16px!important;
  line-height:1.2!important;
  letter-spacing:3px!important;
  font-weight:800!important;
}

/* No decorative line is allowed on hero labels. */
html body .sp-page-hero .sp-hero-copy > .eyebrow::before,
html body .sp-page-hero .sp-hero-copy > .eyebrow::after,
html body .home-hero .sp-hero-copy > .eyebrow::before,
html body .home-hero .sp-hero-copy > .eyebrow::after,
html body .home-hero .hero-copy > .eyebrow::before,
html body .home-hero .hero-copy > .eyebrow::after{
  content:none!important;
  display:none!important;
  width:0!important;
  min-width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  box-shadow:none!important;
}

/* H1 starts on exactly the same x-axis and cannot escape the viewport. */
html body .sp-page-hero .sp-hero-copy > h1,
html body .home-hero .sp-hero-copy > h1,
html body .home-hero .hero-copy > h1{
  width:100%!important;
  max-width:1100px!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:left!important;
  box-sizing:border-box!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

html body .sp-page-hero .sp-hero-text,
html body .sp-page-hero .sp-actions,
html body .home-hero .hero-copy > p,
html body .home-hero .hero-copy > .hero-actions,
html body .home-hero .hero-copy > .hero-microline,
html body .home-hero .sp-hero-text,
html body .home-hero .sp-actions{
  width:100%!important;
  max-width:900px!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
  align-self:flex-start!important;
}

/* Desktop: keep the large headline but use a predictable readable width. */
html body .sp-page-hero .sp-hero-copy > h1,
html body .home-hero .sp-hero-copy > h1,
html body .home-hero .hero-copy > h1{
  font-size:clamp(56px,5.8vw,88px)!important;
  line-height:.94!important;
  letter-spacing:-2.8px!important;
}

/* Tablet / mobile: prevent the headline from being wider than the screen. */
@media(max-width:900px){
  :root{--sp-hero-gutter:24px;}
  html body .sp-page-hero .sp-hero-grid,
  html body .home-hero .sp-hero-grid,
  html body .home-hero .hero-grid{
    width:calc(100% - (var(--sp-hero-gutter) * 2))!important;
    max-width:none!important;
  }
  html body .sp-page-hero .sp-hero-copy,
  html body .home-hero .sp-hero-copy,
  html body .home-hero .hero-copy{
    max-width:100%!important;
  }
  html body .sp-page-hero .sp-hero-copy > h1,
  html body .home-hero .sp-hero-copy > h1,
  html body .home-hero .hero-copy > h1{
    max-width:100%!important;
    font-size:clamp(46px,9vw,72px)!important;
    line-height:.95!important;
    letter-spacing:-2px!important;
  }
  html body .sp-page-hero .sp-hero-text,
  html body .sp-page-hero .sp-actions,
  html body .home-hero .hero-copy > p,
  html body .home-hero .hero-copy > .hero-actions,
  html body .home-hero .hero-copy > .hero-microline,
  html body .home-hero .sp-hero-text,
  html body .home-hero .sp-actions{
    max-width:100%!important;
  }
}

@media(max-width:600px){
  :root{--sp-hero-gutter:16px;}
  html body .sp-page-hero .sp-hero-grid,
  html body .home-hero .sp-hero-grid,
  html body .home-hero .hero-grid{
    width:calc(100% - (var(--sp-hero-gutter) * 2))!important;
  }
  html body .sp-page-hero .sp-hero-copy > .eyebrow,
  html body .home-hero .sp-hero-copy > .eyebrow,
  html body .home-hero .hero-copy > .eyebrow{
    font-size:13px!important;
    letter-spacing:2.4px!important;
    margin-bottom:16px!important;
  }
  html body .sp-page-hero .sp-hero-copy > h1,
  html body .home-hero .sp-hero-copy > h1,
  html body .home-hero .hero-copy > h1{
    font-size:clamp(40px,10.5vw,62px)!important;
    line-height:.96!important;
    letter-spacing:-1.4px!important;
  }
}

/* =========================================================
   v5.19.89 — Premium Editorial System
   ========================================================= */
:root{
  --sp-gold:#C99224;
  --sp-gold-bright:#F2CB63;
  --sp-gold-deep:#8D5A08;
  --sp-glass:rgba(10,10,10,.62);
  --sp-border:rgba(215,166,42,.24);
  --sp-white-line:rgba(255,255,255,.10);
}

/* Premium section architecture: fine rules, restrained grid texture, and depth. */
.home-section,
.content-block,
.services-intro,
.industry-page-grid,
.capability-overview,
.contact-section,
.cta-band{
  position:relative;
  isolation:isolate;
}
.home-section::after,
.content-block::after,
.services-intro::after,
.industry-page-grid::after,
.capability-overview::after,
.contact-section::after,
.cta-band::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0%,rgba(255,255,255,.018) 50%,transparent 100%),
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 18%,transparent 82%,rgba(0,0,0,.28));
}
.home-section::before,
.content-block::before,
.services-intro::before,
.industry-page-grid::before,
.capability-overview::before,
.contact-section::before,
.cta-band::before{
  content:"";
  position:absolute;
  top:0;
  left:4%;
  right:4%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(215,166,42,.42) 18%,rgba(255,255,255,.10) 50%,rgba(215,166,42,.42) 82%,transparent);
  z-index:1;
  pointer-events:none;
}

/* Labels: premium metallic gold, with long editorial rules on standard sections. */
.home-section>.container>.eyebrow,
.content-block .eyebrow,
.services-intro .eyebrow,
.industry-page-grid .eyebrow,
.capability-overview .eyebrow,
.contact-section .eyebrow,
.cta-band .eyebrow,
.home-business-cta .eyebrow{
  position:relative;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:18px!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 16px!important;
  color:var(--sp-gold-bright)!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:3px!important;
  line-height:1.15!important;
  text-transform:uppercase;
  text-shadow:0 0 14px rgba(242,203,99,.18);
}
.home-section>.container>.eyebrow::before,
.home-section>.container>.eyebrow::after,
.content-block .eyebrow::before,
.content-block .eyebrow::after,
.services-intro .eyebrow::before,
.services-intro .eyebrow::after,
.industry-page-grid .eyebrow::before,
.industry-page-grid .eyebrow::after,
.capability-overview .eyebrow::before,
.capability-overview .eyebrow::after,
.contact-section .eyebrow::before,
.contact-section .eyebrow::after,
.cta-band .eyebrow::before,
.cta-band .eyebrow::after,
.home-business-cta .eyebrow::before,
.home-business-cta .eyebrow::after{
  content:""!important;
  display:block!important;
  flex:1 1 150px!important;
  max-width:230px!important;
  height:1px!important;
  width:auto!important;
  margin:0!important;
  opacity:1!important;
  background:linear-gradient(90deg,transparent,var(--sp-gold-bright) 38%,var(--sp-gold-deep))!important;
  box-shadow:0 0 8px rgba(215,166,42,.18);
}
.home-section>.container>.eyebrow::after,
.content-block .eyebrow::after,
.services-intro .eyebrow::after,
.industry-page-grid .eyebrow::after,
.capability-overview .eyebrow::after,
.contact-section .eyebrow::after,
.cta-band .eyebrow::after,
.home-business-cta .eyebrow::after{
  background:linear-gradient(90deg,var(--sp-gold-deep),var(--sp-gold-bright) 62%,transparent)!important;
}

/* Hero labels intentionally remain clean and left aligned — no rules. */
.home-hero .eyebrow,
.sp-page-hero .eyebrow,
.inner-hero .eyebrow{
  display:block!important;
  width:auto!important;
  margin:0 0 12px!important;
  color:var(--sp-gold-bright)!important;
  font-size:14px!important;
  letter-spacing:3px!important;
  text-shadow:0 0 12px rgba(242,203,99,.14);
}
.home-hero .eyebrow::before,
.home-hero .eyebrow::after,
.sp-page-hero .eyebrow::before,
.sp-page-hero .eyebrow::after,
.inner-hero .eyebrow::before,
.inner-hero .eyebrow::after{display:none!important;content:none!important}

/* Editorial section headings sit on a clean centre rail. */
.home-section>.container>h2,
.home-section .section-heading-row h2,
.content-block .content-grid h2,
.services-intro h2,
.industry-page-grid h2,
.capability-overview h2,
.contact-section h2,
.cta-band h2{
  text-wrap:balance;
}
.home-section>.container>h2,
.home-section .section-heading-row,
.home-section .section-lead,
.content-block .content-grid,
.services-intro>.container,
.industry-page-grid>.container,
.capability-overview>.container{
  position:relative;
}

/* Section intro cards/rails: glass depth rather than flat blocks. */
.service-card,
.industry-card,
.trust-card,
.cap-card,
.testimonial-card{
  background:linear-gradient(145deg,rgba(20,20,20,.90),rgba(6,6,6,.78))!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),inset 0 0 0 1px rgba(215,166,42,.025),0 18px 45px rgba(0,0,0,.16);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease;
}
.service-card::before,
.industry-card::before,
.trust-card::before,
.cap-card::before,
.testimonial-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--sp-gold-bright),transparent);
  opacity:.62;
  pointer-events:none;
}
.service-card:hover,
.industry-card:hover,
.trust-card:hover,
.cap-card:hover,
.testimonial-card:hover{
  transform:translateY(-4px);
  border-color:rgba(215,166,42,.38)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 22px 52px rgba(0,0,0,.28),0 0 28px rgba(201,146,36,.06);
}

/* Number/index treatment */
.service-number,.trust-number,.cap-number,.industry-index,
.industry-card>span,.trust-card>span,.cap-card>span{
  color:var(--sp-gold-bright)!important;
  text-shadow:0 0 10px rgba(242,203,99,.16);
}

/* Fine section separators and premium image frames. */
.visual img,
.visual-placeholder,
.card-image,
.service-card .card-image{
  border-color:rgba(215,166,42,.20)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 20px 45px rgba(0,0,0,.22);
}
.visual img:hover{border-color:rgba(215,166,42,.42)!important}

/* Buttons get a restrained premium edge rather than flat fills. */
.btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 12px 30px rgba(0,0,0,.24)!important}
.btn::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:36%;
  left:-45%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
  transform:skewX(-18deg);
  transition:left .55s ease;
  pointer-events:none;
}
.btn:hover::after{left:120%}

/* Header and footer receive the same fine-line language. */
.site-header{box-shadow:0 10px 35px rgba(0,0,0,.22)}
.site-header::after{
  content:"";position:absolute;left:4%;right:4%;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(215,166,42,.38),transparent);
  pointer-events:none;
}
.site-footer{border-top:1px solid rgba(215,166,42,.16)}
.footer-label{color:var(--sp-gold-bright)!important;text-shadow:0 0 10px rgba(242,203,99,.12)}

/* Contact CTA gets a more deliberate split-line treatment. */
.home-business-cta,
.cta-band{border-top:1px solid rgba(215,166,42,.16);border-bottom:1px solid rgba(255,255,255,.07)}

@media(max-width:850px){
  .home-section>.container>.eyebrow,
  .content-block .eyebrow,
  .services-intro .eyebrow,
  .industry-page-grid .eyebrow,
  .capability-overview .eyebrow,
  .contact-section .eyebrow,
  .cta-band .eyebrow,
  .home-business-cta .eyebrow{font-size:12px!important;letter-spacing:2.4px!important;gap:12px!important}
  .home-section>.container>.eyebrow::before,
  .home-section>.container>.eyebrow::after,
  .content-block .eyebrow::before,
  .content-block .eyebrow::after,
  .services-intro .eyebrow::before,
  .services-intro .eyebrow::after,
  .industry-page-grid .eyebrow::before,
  .industry-page-grid .eyebrow::after,
  .capability-overview .eyebrow::before,
  .capability-overview .eyebrow::after,
  .contact-section .eyebrow::before,
  .contact-section .eyebrow::after,
  .cta-band .eyebrow::before,
  .cta-band .eyebrow::after,
  .home-business-cta .eyebrow::before,
  .home-business-cta .eyebrow::after{flex-basis:65px!important;max-width:110px!important}
}
@media(max-width:560px){
  .home-section>.container>.eyebrow,
  .content-block .eyebrow,
  .services-intro .eyebrow,
  .industry-page-grid .eyebrow,
  .capability-overview .eyebrow,
  .contact-section .eyebrow,
  .cta-band .eyebrow,
  .home-business-cta .eyebrow{font-size:11px!important;letter-spacing:2px!important}
  .home-section>.container>.eyebrow::before,
  .home-section>.container>.eyebrow::after,
  .content-block .eyebrow::before,
  .content-block .eyebrow::after,
  .services-intro .eyebrow::before,
  .services-intro .eyebrow::after,
  .industry-page-grid .eyebrow::before,
  .industry-page-grid .eyebrow::after,
  .capability-overview .eyebrow::before,
  .capability-overview .eyebrow::after,
  .contact-section .eyebrow::before,
  .contact-section .eyebrow::after,
  .cta-band .eyebrow::before,
  .cta-band .eyebrow::after,
  .home-business-cta .eyebrow::before,
  .home-business-cta .eyebrow::after{flex-basis:28px!important;max-width:48px!important}
}

/* SHARPLINE 5.19.90 PREMIUM FINISH */
:root{--sp-premium-gold:#d7a62a;--sp-premium-gold-bright:#f4cf67}

/* richer depth across every content section */
.sp-section,.home-section,.content-block,.services-intro,.industry-page-grid,.capability-overview,.contact-section,.cta-band,.home-business-cta{position:relative;isolation:isolate;overflow:hidden;background-color:#050708}
.sp-section::after,.home-section::after,.content-block::after,.services-intro::after,.industry-page-grid::after,.capability-overview::after,.contact-section::after,.cta-band::after,.home-business-cta::after{background:radial-gradient(ellipse at 50% 0%,rgba(215,166,42,.055),transparent 42%),linear-gradient(90deg,rgba(0,0,0,.30),transparent 22%,transparent 78%,rgba(0,0,0,.30)),linear-gradient(180deg,rgba(255,255,255,.022),transparent 20%,transparent 78%,rgba(0,0,0,.34)),repeating-linear-gradient(90deg,rgba(255,255,255,.014) 0 1px,transparent 1px 96px)!important}

/* all labels: matching metallic gold shine */
.home-section>.container>.eyebrow,.content-block .eyebrow,.services-intro .eyebrow,.industry-page-grid .eyebrow,.capability-overview .eyebrow,.contact-section .eyebrow,.cta-band .eyebrow,.home-business-cta .eyebrow,.sp-editorial-head .eyebrow,.sp-service-heading .eyebrow,.sp-contact-direct>.eyebrow,.sp-contact-location>.eyebrow,.home-hero .eyebrow,.sp-page-hero .eyebrow,.inner-hero .eyebrow{color:transparent!important;background:linear-gradient(90deg,#9d7418 0%,#d7a62a 25%,#fff0a1 48%,#d7a62a 70%,#a97819 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:spLabelShine 5s linear infinite;text-shadow:0 0 16px rgba(242,203,99,.12)}
@keyframes spLabelShine{0%{background-position:180% 0}100%{background-position:-40% 0}}

/* long balanced editorial rules */
.home-section>.container>.eyebrow::before,.home-section>.container>.eyebrow::after,.content-block .eyebrow::before,.content-block .eyebrow::after,.services-intro .eyebrow::before,.services-intro .eyebrow::after,.industry-page-grid .eyebrow::before,.industry-page-grid .eyebrow::after,.capability-overview .eyebrow::before,.capability-overview .eyebrow::after,.contact-section .eyebrow::before,.contact-section .eyebrow::after,.cta-band .eyebrow::before,.cta-band .eyebrow::after,.home-business-cta .eyebrow::before,.home-business-cta .eyebrow::after,.sp-editorial-head .eyebrow::before,.sp-editorial-head .eyebrow::after,.sp-service-heading .eyebrow::before,.sp-service-heading .eyebrow::after,.sp-contact-direct>.eyebrow::before,.sp-contact-direct>.eyebrow::after,.sp-contact-location>.eyebrow::before,.sp-contact-location>.eyebrow::after{flex:1 1 180px!important;max-width:300px!important;min-width:80px!important;height:1px!important;background:linear-gradient(90deg,transparent,#a97819 18%,#fff0a1 50%,#d7a62a 82%,transparent)!important;box-shadow:0 0 9px rgba(215,166,42,.24)!important}

/* one standard body CTA size */
.sp-actions .btn,.sp-section-action .btn,.home-business-cta .btn,.cta-band .btn,.enquiry-form .btn,.services-v462 .cta-actions .btn{width:270px!important;min-width:270px!important;max-width:100%!important;height:56px!important;min-height:56px!important;padding:0 24px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:18px!important;white-space:nowrap!important;box-sizing:border-box!important;border-radius:0!important}
.sp-actions,.sp-section-action,.home-business-cta .cta-actions,.cta-band .cta-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.btn:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 16px 38px rgba(0,0,0,.34),0 0 22px rgba(215,166,42,.10)!important}
.header-action .btn{width:174px!important;min-width:174px!important;height:52px!important;min-height:52px!important}

/* premium framed rails */
.service-card,.industry-card,.trust-card,.cap-card,.testimonial-card,.sp-editorial-row,.sp-service-body-row,.sp-form-panel,.sp-contact-direct,.sp-contact-location{position:relative}
.service-card::after,.industry-card::after,.trust-card::after,.cap-card::after,.testimonial-card::after,.sp-editorial-row::after,.sp-service-body-row::after,.sp-form-panel::after,.sp-contact-direct::after,.sp-contact-location::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.055);box-shadow:inset 0 0 35px rgba(0,0,0,.14)}
.sp-editorial-row::before,.sp-service-body-row::before,.sp-form-panel::before,.sp-contact-direct::before,.sp-contact-location::before{content:"";position:absolute;width:42px;height:42px;top:-1px;left:-1px;border-top:1px solid rgba(215,166,42,.55);border-left:1px solid rgba(215,166,42,.55);pointer-events:none;z-index:3}

/* contact/CTA sections get visual depth instead of plain black */
.home-business-cta,.cta-band,#contact-form{background:radial-gradient(circle at 18% 50%,rgba(215,166,42,.055),transparent 30%),radial-gradient(circle at 82% 50%,rgba(255,255,255,.035),transparent 28%),#050708!important}
.home-business-cta::before,.cta-band::before,#contact-form::before{content:"";position:absolute;inset:24px 4%;border-top:1px solid rgba(215,166,42,.20);border-bottom:1px solid rgba(255,255,255,.055);background:linear-gradient(90deg,rgba(215,166,42,.025),transparent 35%,transparent 65%,rgba(215,166,42,.025));pointer-events:none;z-index:-1}
.home-business-cta h2,.cta-band h2,#contact-form h2{text-shadow:0 10px 35px rgba(0,0,0,.35)}
.home-business-cta h2::after,.cta-band h2::after,.sp-form-panel h2::after{content:"";display:block;width:86px;height:2px;margin-top:24px;background:linear-gradient(90deg,#9d7418,#fff0a1,#9d7418);box-shadow:0 0 12px rgba(215,166,42,.20)}
.sp-form-panel{background:linear-gradient(145deg,rgba(14,16,17,.94),rgba(5,7,8,.88))!important;border:1px solid rgba(255,255,255,.075)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 30px 70px rgba(0,0,0,.25)!important}

@media(max-width:850px){
 .home-section>.container>.eyebrow::before,.home-section>.container>.eyebrow::after,.content-block .eyebrow::before,.content-block .eyebrow::after,.services-intro .eyebrow::before,.services-intro .eyebrow::after,.industry-page-grid .eyebrow::before,.industry-page-grid .eyebrow::after,.capability-overview .eyebrow::before,.capability-overview .eyebrow::after,.contact-section .eyebrow::before,.contact-section .eyebrow::after,.cta-band .eyebrow::before,.cta-band .eyebrow::after,.home-business-cta .eyebrow::before,.home-business-cta .eyebrow::after,.sp-editorial-head .eyebrow::before,.sp-editorial-head .eyebrow::after,.sp-service-heading .eyebrow::before,.sp-service-heading .eyebrow::after{flex-basis:90px!important;max-width:140px!important;min-width:30px!important}
 .sp-actions .btn,.sp-section-action .btn,.home-business-cta .btn,.cta-band .btn,.enquiry-form .btn{width:240px!important;min-width:240px!important;height:54px!important;min-height:54px!important}
}
@media(max-width:560px){.sp-actions .btn,.sp-section-action .btn,.home-business-cta .btn,.cta-band .btn,.enquiry-form .btn{width:100%!important;min-width:0!important}.home-section>.container>.eyebrow::before,.home-section>.container>.eyebrow::after,.content-block .eyebrow::before,.content-block .eyebrow::after,.services-intro .eyebrow::before,.services-intro .eyebrow::after,.industry-page-grid .eyebrow::before,.industry-page-grid .eyebrow::after,.capability-overview .eyebrow::before,.capability-overview .eyebrow::after,.contact-section .eyebrow::before,.contact-section .eyebrow::after,.cta-band .eyebrow::before,.cta-band .eyebrow::after,.home-business-cta .eyebrow::before,.home-business-cta .eyebrow::after,.sp-editorial-head .eyebrow::before,.sp-editorial-head .eyebrow::after,.sp-service-heading .eyebrow::before,.sp-service-heading .eyebrow::after{flex-basis:32px!important;max-width:54px!important;min-width:18px!important}}

/* =========================================================
   SHARPLINE v5.19.91 — SERVICES HERO CTA COMPOSITION
   Keep the services hero editorially centred: label, heading,
   supporting copy and CTA now form one visual column instead
   of leaving the CTA floating awkwardly on the right.
   ========================================================= */
html body .services-page .sp-page-hero .sp-hero-copy{
  max-width:1350px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-items:center!important;
  text-align:center!important;
}

html body .services-page .sp-page-hero .sp-hero-copy > .eyebrow{
  align-self:center!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

html body .services-page .sp-page-hero .sp-hero-copy > h1{
  max-width:1350px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

html body .services-page .sp-page-hero .sp-hero-text{
  max-width:900px!important;
  margin:24px auto 0!important;
  text-align:center!important;
  align-self:center!important;
}

html body .services-page .sp-page-hero .sp-actions{
  width:auto!important;
  max-width:none!important;
  margin:30px auto 0!important;
  justify-content:center!important;
  align-self:center!important;
}

html body .services-page .sp-page-hero .sp-actions .btn{
  width:270px!important;
  min-width:270px!important;
  height:56px!important;
  min-height:56px!important;
}

@media(max-width:900px){
  html body .services-page .sp-page-hero .sp-hero-copy{
    max-width:100%!important;
  }
  html body .services-page .sp-page-hero .sp-hero-copy > h1,
  html body .services-page .sp-page-hero .sp-hero-text{
    max-width:100%!important;
    text-align:center!important;
  }
  html body .services-page .sp-page-hero .sp-actions{
    width:100%!important;
  }
}

@media(max-width:600px){
  html body .services-page .sp-page-hero .sp-actions .btn{
    width:100%!important;
    min-width:0!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.92 — SERVICE SECTION CTA POSITION
   Hero remains untouched. Service-detail section CTAs belong to
   the content column, directly beneath the supporting copy, so
   they no longer float awkwardly beside the section heading.
   ========================================================= */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-copy-column{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-width:0!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-action{
  width:100%!important;
  margin:30px 0 0!important;
  justify-content:flex-start!important;
  align-items:center!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-action .btn{
  width:270px!important;
  min-width:270px!important;
  height:56px!important;
  min-height:56px!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-visual-column{
  min-width:0!important;
}
@media(max-width:760px){
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-action{
    justify-content:center!important;
  }
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-action .btn{
    width:100%!important;
    min-width:0!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.93 — SERVICE SECTION RAIL / CTA CLEANUP
   Keep the Services HERO exactly as approved. Service detail rows
   get an intentional inner rail so copy/buttons/images never touch
   the section border. Long CTA labels remain fully visible while
   all body CTAs keep one consistent premium size.
   ========================================================= */

/* The service content panel needs breathing room inside its border. */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row{
  box-sizing:border-box!important;
  padding:30px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  width:100%!important;
  max-width:none!important;
  gap:clamp(38px,5vw,72px)!important;
}

/* Do not let the decorative frame sit directly against the content. */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row::after{
  inset:0!important;
  border-color:rgba(255,255,255,.075)!important;
  box-shadow:inset 0 0 45px rgba(0,0,0,.20)!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row::before{
  top:0!important;
  left:0!important;
}

/* Copy and media start/end on the inner rail, never the border itself. */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-copy-column,
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-visual-column{
  min-width:0!important;
  position:relative!important;
  z-index:2!important;
}

/* Every body CTA uses the same standard size and is kept inside its column. */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-action{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  justify-content:flex-start!important;
  align-items:center!important;
  margin:30px 0 0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-action .btn{
  width:320px!important;
  min-width:320px!important;
  max-width:100%!important;
  height:56px!important;
  min-height:56px!important;
  box-sizing:border-box!important;
  padding:0 20px!important;
  font-size:10px!important;
  letter-spacing:1.35px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}

/* The label + arrow must stay within the button rather than clipping at the edge. */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-action .btn-arrow{
  flex:0 0 auto!important;
  margin-left:auto!important;
  padding-left:14px!important;
}

/* Connected-services CTA follows the same body-button standard. */
html body .services-page #services-connected .sp-section-action .btn{
  width:320px!important;
  min-width:320px!important;
  max-width:100%!important;
  height:56px!important;
  min-height:56px!important;
}

@media(max-width:760px){
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row{
    padding:20px!important;
    gap:28px!important;
  }
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-action,
  html body .services-page #services-connected .sp-section-action{
    justify-content:center!important;
  }
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-action .btn,
  html body .services-page #services-connected .sp-section-action .btn{
    width:100%!important;
    min-width:0!important;
    font-size:10px!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.94 — SERVICES ALIGNMENT CORRECTION
   Services HERO = left editorial composition.
   Service detail sections = centred content composition.
   ========================================================= */

/* HERO: restore the approved left-aligned composition. */
html body .services-page .sp-page-hero .sp-hero-copy{
  max-width:760px!important;
  margin-left:0!important;
  margin-right:auto!important;
  align-items:flex-start!important;
  text-align:left!important;
}
html body .services-page .sp-page-hero .sp-hero-copy > .eyebrow{
  align-self:flex-start!important;
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
html body .services-page .sp-page-hero .sp-hero-copy > h1{
  max-width:760px!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}
html body .services-page .sp-page-hero .sp-hero-text{
  max-width:760px!important;
  margin:24px 0 0!important;
  text-align:left!important;
  align-self:flex-start!important;
}
html body .services-page .sp-page-hero .sp-actions{
  width:auto!important;
  margin:30px 0 0!important;
  justify-content:flex-start!important;
  align-self:flex-start!important;
}

/* SERVICE DETAIL SECTIONS: centre all editorial content. */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-detail{
  text-align:center!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-heading{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-heading .eyebrow{
  align-self:center!important;
  text-align:center!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-heading h2{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* When a service section has no separate visual, keep the copy as a
   centred editorial column instead of stretching from the left rail. */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row{
  justify-items:center!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-copy-column{
  width:100%!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-items:center!important;
  text-align:center!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-copy-column p,
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-copy-column .content-support-item{
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-action{
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* If an actual service image exists, preserve the image but centre the
   editorial copy within its own column. */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row:has(.sp-service-visual-column .sp-service-image-frame){
  align-items:center!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row:has(.sp-service-visual-column .sp-service-image-frame) .sp-service-copy-column{
  max-width:760px!important;
}

/* Connected services section follows the same centred editorial language. */
html body .services-page #services-connected .sp-editorial-head{
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
html body .services-page #services-connected .sp-editorial-head .eyebrow{
  text-align:center!important;
  align-self:center!important;
}
html body .services-page #services-connected .sp-editorial-head h2{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body .services-page #services-connected .sp-editorial-copy{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body .services-page #services-connected .sp-editorial-copy p{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body .services-page #services-connected .sp-section-action{
  justify-content:center!important;
}

@media(max-width:900px){
  html body .services-page .sp-page-hero .sp-hero-copy,
  html body .services-page .sp-page-hero .sp-hero-copy > h1,
  html body .services-page .sp-page-hero .sp-hero-text{
    max-width:100%!important;
  }
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-copy-column,
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-copy-column p{
    max-width:100%!important;
  }
}


/* =========================================================
   SHARPLINE v5.19.95 — SERVICES: BACKGROUND-ONLY DETAIL SECTIONS
   Service detail sections use only their CMS background image.
   Separate foreground service images are intentionally removed so
   the editorial content can occupy the full section and remain centred.
   The Services HERO remains unchanged.
   ========================================================= */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual{
  display:block!important;
  width:100%!important;
  max-width:1120px!important;
  margin:34px auto 0!important;
  padding:34px 42px!important;
  box-sizing:border-box!important;
  text-align:center!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual .sp-service-copy-column{
  width:100%!important;
  max-width:960px!important;
  margin:0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual .sp-service-copy-column p,
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual .sp-service-copy-column .content-support-item{
  width:100%!important;
  max-width:960px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual .sp-service-action{
  width:auto!important;
  max-width:100%!important;
  margin:30px auto 0!important;
  justify-content:center!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual .sp-service-action .btn{
  width:320px!important;
  min-width:320px!important;
  max-width:100%!important;
}
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-visual-column{
  display:none!important;
}
@media(max-width:900px){
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual{
    max-width:100%!important;
    padding:28px 24px!important;
  }
}
@media(max-width:560px){
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual{
    padding:22px 18px!important;
    margin-top:26px!important;
  }
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual .sp-service-action{
    width:100%!important;
  }
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual .sp-service-action .btn{
    width:100%!important;
    min-width:0!important;
  }
}


/* Connected Services also uses background image only; remove the foreground media slot. */
html body .services-page #services-connected .sp-editorial-row--no-visual{
  display:block!important;
  max-width:1120px!important;
  margin:34px auto 0!important;
  padding:34px 42px!important;
  box-sizing:border-box!important;
}
html body .services-page #services-connected .sp-editorial-row--no-visual .sp-editorial-copy{
  width:100%!important;
  max-width:960px!important;
  margin:0 auto!important;
  text-align:center!important;
}
html body .services-page #services-connected .sp-editorial-row--no-visual .sp-section-action{
  justify-content:center!important;
  margin:30px auto 0!important;
}
@media(max-width:900px){
  html body .services-page #services-connected .sp-editorial-row--no-visual{padding:28px 24px!important;}
}
@media(max-width:560px){
  html body .services-page #services-connected .sp-editorial-row--no-visual{padding:22px 18px!important;}
}


/* =========================================================
   SHARPLINE v5.19.96 — ABOUT HERO CTA BREATHING ROOM
   The About hero CTA must never sit against the lower rail/frame.
   Keep the approved hero alignment and simply create a clean
   visual gap beneath the button.
   ========================================================= */
html body .about-page .sp-page-hero .sp-actions{
  margin-top:34px!important;
  margin-bottom:34px!important;
  padding-bottom:0!important;
  align-self:flex-start!important;
}
html body .about-page .sp-page-hero .sp-actions .btn{
  margin-bottom:0!important;
}
html body .about-page .sp-page-hero .sp-hero-copy{
  padding-bottom:34px!important;
}
@media(max-width:760px){
  html body .about-page .sp-page-hero .sp-actions{
    margin-top:28px!important;
    margin-bottom:24px!important;
  }
  html body .about-page .sp-page-hero .sp-hero-copy{
    padding-bottom:24px!important;
  }
}

/* =========================================================
   SHARPLINE v5.19.97 — PREMIUM SECTION DEPTH + CTA CLEARANCE
   Global visual polish:
   - framed content never touches CTA buttons
   - one consistent body CTA size
   - image-less sections get subtle premium depth instead of flat black
   - preserve hero imagery and existing CMS backgrounds
   ========================================================= */

/* Give every framed editorial/service content rail real breathing room. */
html body .sp-editorial-row,
html body .sp-service-body-row,
html body .sp-form-panel,
html body .sp-contact-direct,
html body .sp-contact-location{
  box-sizing:border-box!important;
}

html body .sp-editorial-row,
html body .sp-service-body-row{
  padding-bottom:72px!important;
}

/* CTA sits clearly inside the frame, never on its bottom border. */
html body .sp-editorial-row .sp-section-action,
html body .sp-service-body-row .sp-section-action,
html body .sp-service-action,
html body .sp-editorial-row--no-visual .sp-section-action,
html body .sp-service-body-row--no-visual .sp-service-action{
  margin-top:32px!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  position:relative!important;
  z-index:4!important;
}

/* One consistent content-button footprint across every page/section. */
html body .sp-actions .btn,
html body .sp-section-action .btn,
html body .sp-service-action .btn,
html body .home-business-cta .btn,
html body .cta-band .btn,
html body .enquiry-form .btn,
html body .services-v462 .cta-actions .btn{
  width:320px!important;
  min-width:320px!important;
  max-width:100%!important;
  height:56px!important;
  min-height:56px!important;
  box-sizing:border-box!important;
}

/* Image-less sections: premium architectural depth rather than dead black. */
html body .sp-page .sp-section:not(.sp-has-bg):not(.has-hero-image){
  background:
    radial-gradient(circle at 82% 18%,rgba(215,166,42,.075),transparent 28%),
    radial-gradient(circle at 14% 82%,rgba(255,255,255,.035),transparent 30%),
    linear-gradient(135deg,#070a0b 0%,#050708 52%,#090b0c 100%)!important;
}

/* Fine architectural grid + restrained ambient glow. */
html body .sp-page .sp-section:not(.sp-has-bg)::before{
  background:
    radial-gradient(circle at 78% 22%,rgba(215,166,42,.07),transparent 24%),
    linear-gradient(90deg,rgba(0,0,0,.20),transparent 24%,transparent 76%,rgba(0,0,0,.28)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 96px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 96px),
    linear-gradient(180deg,rgba(7,9,10,.72),rgba(7,9,10,.90))!important;
}

html body .sp-page .sp-section:not(.sp-has-bg)::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:1!important;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(244,207,103,.055),transparent 34%),
    linear-gradient(90deg,transparent 0%,rgba(215,166,42,.035) 50%,transparent 100%),
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 24%,transparent 76%,rgba(0,0,0,.30));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),inset 0 -1px 0 rgba(215,166,42,.08);
}

/* Keep content above the decorative treatment. */
html body .sp-page .sp-section:not(.sp-has-bg) > .container{
  position:relative!important;
  z-index:3!important;
}

/* Premium inner rails get a little more depth without becoming heavy cards. */
html body .sp-editorial-row,
html body .sp-service-body-row{
  background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.012) 48%,rgba(215,166,42,.018))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),inset 0 -1px 0 rgba(215,166,42,.035),0 22px 60px rgba(0,0,0,.16)!important;
}

/* Mobile: preserve the same visual gap and full-width button behaviour. */
@media(max-width:900px){
  html body .sp-editorial-row,
  html body .sp-service-body-row{padding-bottom:60px!important;}
}
@media(max-width:560px){
  html body .sp-editorial-row,
  html body .sp-service-body-row{padding-bottom:48px!important;}
  html body .sp-actions .btn,
  html body .sp-section-action .btn,
  html body .sp-service-action .btn,
  html body .home-business-cta .btn,
  html body .cta-band .btn,
  html body .enquiry-form .btn,
  html body .services-v462 .cta-actions .btn{
    width:100%!important;
    min-width:0!important;
  }
}



/* =========================================================
   SHARPLINE v5.19.98 — CONTACT / ENQUIRE PAGE PREMIUM REBUILD
   Keep the site-wide system intact; only refine the Contact page.
   ========================================================= */
html body .contact-page .sp-page-hero{
  min-height:460px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(215,166,42,.08),transparent 34%),
    linear-gradient(180deg,#080b0d 0%,#050708 100%)!important;
}
html body .contact-page .sp-page-hero .sp-hero-media,
html body .contact-page .sp-page-hero .sp-hero-overlay{display:none!important}
html body .contact-page .sp-page-hero .sp-hero-grid{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:460px!important;
  padding:110px 0 78px!important;
}
html body .contact-page .sp-page-hero .sp-hero-copy{
  width:100%!important;
  max-width:980px!important;
  margin:0 auto!important;
  align-items:center!important;
  text-align:center!important;
}
html body .contact-page .sp-page-hero .sp-hero-copy > .eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(760px,100%)!important;
  margin:0 auto 24px!important;
  text-align:center!important;
  gap:24px!important;
}
html body .contact-page .sp-page-hero .sp-hero-copy > .eyebrow::before,
html body .contact-page .sp-page-hero .sp-hero-copy > .eyebrow::after{
  display:block!important;
  content:""!important;
  flex:1 1 180px!important;
  max-width:260px!important;
  min-width:70px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#a97819 18%,#fff0a1 50%,#d7a62a 82%,transparent)!important;
  box-shadow:0 0 10px rgba(215,166,42,.25)!important;
}
html body .contact-page .sp-page-hero .sp-hero-copy > h1{
  max-width:900px!important;
  margin:0 auto!important;
  text-align:center!important;
  font-size:clamp(48px,5.3vw,76px)!important;
  line-height:.98!important;
}
html body .contact-page .sp-page-hero .sp-hero-text{
  max-width:760px!important;
  margin:26px auto 0!important;
  text-align:center!important;
}

/* Form becomes the central premium panel between intro and contact details. */
html body .contact-page #contact-form{
  padding:34px 0 92px!important;
}
html body .contact-page #contact-form > .container{
  max-width:1120px!important;
}
html body .contact-page .sp-form-panel{
  position:relative!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:52px clamp(28px,4vw,64px) 58px!important;
  border:1px solid rgba(255,255,255,.105)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  box-shadow:0 28px 80px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
html body .contact-page .sp-form-panel::before{
  width:54px!important;height:54px!important;
  border-top-color:rgba(215,166,42,.65)!important;
  border-left-color:rgba(215,166,42,.65)!important;
}
html body .contact-page .sp-contact-form-head{
  max-width:850px!important;
  margin:0 auto 36px!important;
  text-align:center!important;
}
html body .contact-page .sp-contact-form-head .eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
  margin:0 auto 20px!important;
  text-align:center!important;
}
html body .contact-page .sp-contact-form-head .eyebrow::before,
html body .contact-page .sp-contact-form-head .eyebrow::after{
  display:block!important;
  content:""!important;
  flex:1 1 130px!important;
  max-width:190px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#a97819,#fff0a1,#d7a62a,transparent)!important;
  box-shadow:0 0 8px rgba(215,166,42,.22)!important;
}
html body .contact-page .sp-contact-form-head h2{
  margin:0!important;
  text-align:center!important;
  font-size:clamp(38px,4vw,56px)!important;
  line-height:1!important;
}
html body .contact-page .sp-contact-form-head p{
  max-width:680px!important;
  margin:18px auto 0!important;
  color:#bfc2c1!important;
  text-align:center!important;
}
html body .contact-page .enquiry-form{
  max-width:1000px!important;
  margin:0 auto!important;
  gap:22px!important;
}
html body .contact-page .enquiry-form .field label{
  color:#d7a62a!important;
}

/* Details: equal premium columns, labels centred with long gold rails. */
html body .contact-page #contact-details{
  padding:92px 0 110px!important;
}
html body .contact-page .sp-contact-details-grid{
  max-width:1120px!important;
  margin:0 auto!important;
  gap:34px!important;
  align-items:stretch!important;
}
html body .contact-page .sp-contact-direct,
html body .contact-page .sp-contact-location{
  padding:42px 40px 44px!important;
  min-height:520px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.009))!important;
  border:1px solid rgba(255,255,255,.07)!important;
}
html body .contact-page .sp-contact-direct > .eyebrow,
html body .contact-page .sp-contact-location > .eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  gap:20px!important;
  margin:0 0 24px!important;
  text-align:center!important;
}
html body .contact-page .sp-contact-direct > .eyebrow::before,
html body .contact-page .sp-contact-direct > .eyebrow::after,
html body .contact-page .sp-contact-location > .eyebrow::before,
html body .contact-page .sp-contact-location > .eyebrow::after{
  display:block!important;
  content:""!important;
  flex:1 1 100px!important;
  max-width:170px!important;
  min-width:40px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#a97819 18%,#fff0a1 50%,#d7a62a 82%,transparent)!important;
  box-shadow:0 0 9px rgba(215,166,42,.24)!important;
}
html body .contact-page .sp-contact-direct h2,
html body .contact-page .sp-contact-location h2{
  max-width:none!important;
  margin:0!important;
  text-align:center!important;
  font-size:clamp(36px,3.4vw,54px)!important;
  line-height:.98!important;
}
html body .contact-page .sp-contact-intro,
html body .contact-page .sp-contact-address{
  max-width:620px!important;
  margin:22px auto 0!important;
  text-align:center!important;
}
html body .contact-page .sp-direct-links{
  margin-top:34px!important;
}
html body .contact-page .sp-direct-links a{
  min-height:70px!important;
  padding:18px 0!important;
}
html body .contact-page .sp-contact-location .map-preview{
  width:100%!important;
  max-width:none!important;
  height:260px!important;
  aspect-ratio:auto!important;
  margin-top:30px!important;
}
html body .contact-page .sp-contact-location .sp-card-link{
  display:flex!important;
  justify-content:center!important;
  margin-top:20px!important;
}

@media(max-width:900px){
 html body .contact-page .sp-page-hero .sp-hero-grid{min-height:420px!important;padding:90px 0 65px!important}
 html body .contact-page .sp-contact-details-grid{grid-template-columns:1fr!important}
 html body .contact-page .sp-contact-direct,
 html body .contact-page .sp-contact-location{min-height:auto!important}
}
@media(max-width:560px){
 html body .contact-page .sp-page-hero .sp-hero-grid{min-height:390px!important}
 html body .contact-page .sp-page-hero .sp-hero-copy > .eyebrow{gap:12px!important}
 html body .contact-page .sp-page-hero .sp-hero-copy > .eyebrow::before,
 html body .contact-page .sp-page-hero .sp-hero-copy > .eyebrow::after{min-width:28px!important}
 html body .contact-page .sp-form-panel{padding:38px 20px 44px!important}
 html body .contact-page .sp-contact-direct,
 html body .contact-page .sp-contact-location{padding:32px 22px 36px!important}
 html body .contact-page .sp-contact-direct > .eyebrow,
 html body .contact-page .sp-contact-location > .eyebrow{gap:10px!important}
 html body .contact-page .sp-contact-location .map-preview{height:230px!important}
}


/* v5.19.99 — Business Enquiry CTA page rebuild */
html body .contact-page .sp-contact-cta-section{
  padding:96px 0 118px!important;
  background:
    radial-gradient(circle at 50% 8%,rgba(215,166,42,.055),transparent 34%),
    linear-gradient(180deg,#070a0b 0%,#080909 58%,#060707 100%)!important;
}
html body .contact-page .sp-contact-cta-shell{
  width:min(1260px,calc(100% - 64px))!important;
  max-width:1260px!important;
  margin:0 auto!important;
}
html body .contact-page #contact-form .sp-form-panel{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:58px clamp(34px,5vw,76px) 64px!important;
}
html body .contact-page #contact-form .enquiry-form{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:24px!important;
  margin-top:38px!important;
}
html body .contact-page #contact-form .field.full,
html body .contact-page #contact-form .enquiry-form .full{grid-column:1/-1!important}
html body .contact-page #contact-form .field input,
html body .contact-page #contact-form .field select,
html body .contact-page #contact-form .field textarea{
  min-height:54px!important;
  box-sizing:border-box!important;
}
html body .contact-page #contact-form .field textarea{min-height:150px!important;resize:vertical!important}
html body .contact-page .enquiry-submit-row{
  display:flex!important;
  justify-content:center!important;
  padding-top:10px!important;
}
html body .contact-page .enquiry-submit-row .form-status{position:absolute!important;margin-top:66px!important}
html body .contact-page #contact-details{
  width:100%!important;
  max-width:none!important;
  margin:34px 0 0!important;
  padding:0!important;
  background:transparent!important;
}
html body .contact-page .sp-contact-details-grid{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:34px!important;
}
html body .contact-page .sp-contact-direct,
html body .contact-page .sp-contact-location{
  min-height:0!important;
  height:100%!important;
  box-sizing:border-box!important;
  padding:46px 42px 48px!important;
  display:flex!important;
  flex-direction:column!important;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
}
html body .contact-page .sp-contact-direct h2,
html body .contact-page .sp-contact-location h2{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  white-space:normal!important;
  margin:0!important;
}
html body .contact-page .sp-contact-location .sp-contact-address{
  text-align:center!important;
  min-height:26px!important;
}
html body .contact-page .sp-contact-location .map-preview{
  height:300px!important;
  margin-top:28px!important;
}
html body .contact-page .sp-contact-location .sp-card-link{margin-top:20px!important}
html body .contact-page .sp-contact-direct .sp-direct-links{margin-top:30px!important}
html body .contact-page .sp-contact-direct .sp-direct-links a{padding:22px 0!important;min-height:72px!important}
@media(max-width:900px){
 html body .contact-page .sp-contact-cta-shell{width:min(100% - 36px,720px)!important}
 html body .contact-page #contact-form .enquiry-form{grid-template-columns:1fr!important}
 html body .contact-page #contact-form .field.full,
 html body .contact-page #contact-form .enquiry-form .full{grid-column:auto!important}
 html body .contact-page .sp-contact-details-grid{grid-template-columns:1fr!important}
}
@media(max-width:560px){
 html body .contact-page .sp-contact-cta-section{padding:70px 0 82px!important}
 html body .contact-page .sp-contact-cta-shell{width:calc(100% - 28px)!important}
 html body .contact-page #contact-form .sp-form-panel{padding:38px 20px 46px!important}
 html body .contact-page .sp-contact-direct,
 html body .contact-page .sp-contact-location{padding:34px 22px 38px!important}
 html body .contact-page .sp-contact-location .map-preview{height:230px!important}
}

/* =========================================================
   SHARPLINE v5.20.1 — ENQUIRE NOW FULL REBUILD
   Single premium CTA surface. No nested/double frames.
   ========================================================= */
.contact-page .sp-contact-redesign{
  position:relative!important;
  overflow:hidden!important;
  padding:110px 0 120px!important;
  background:#07090a!important;
}
.contact-page .sp-contact-redesign:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%,rgba(197,160,78,.11),transparent 27%),
    radial-gradient(circle at 88% 74%,rgba(197,160,78,.075),transparent 30%),
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);
  background-size:auto,auto,64px 64px,64px 64px;
  mask-image:linear-gradient(180deg,black 0%,black 82%,transparent 100%);
}
.contact-page .sp-contact-redesign>.container{position:relative;z-index:2}
.contact-master-card{
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:64px clamp(28px,5vw,72px) 58px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018) 55%,rgba(197,160,78,.025));
  box-shadow:0 35px 100px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.055);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}
.contact-master-card:before{
  content:"";position:absolute;top:-1px;left:48px;width:150px;height:1px;background:linear-gradient(90deg,var(--sp-gold-logo),transparent);box-shadow:0 0 14px rgba(197,160,78,.35);
}
.contact-master-head{text-align:center;max-width:780px;margin:0 auto 44px}
.contact-microline{display:flex;align-items:center;justify-content:center;gap:22px;color:var(--sp-gold-light);font-family:var(--sp-display);font-size:11px;letter-spacing:2.6px;font-weight:800;text-shadow:0 0 12px rgba(225,191,112,.18)}
.contact-microline i{display:block;width:105px;height:1px;background:linear-gradient(90deg,transparent,var(--sp-gold-logo));box-shadow:0 0 9px rgba(197,160,78,.22)}
.contact-microline i:last-child{transform:scaleX(-1)}
.contact-master-head h2{margin:24px 0 14px!important;font-size:clamp(46px,5vw,72px)!important;line-height:.98!important;letter-spacing:-1.5px!important}
.contact-master-head p{max-width:650px;margin:0 auto!important;color:#bfc2c1!important;font-size:16px!important;line-height:1.75!important}
.contact-enquiry-form{margin:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 24px!important;padding:34px 0 42px;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}
.contact-enquiry-form .field label{color:var(--sp-gold-light)!important;font-size:10px!important;letter-spacing:1.8px!important;margin-bottom:9px!important}
.contact-enquiry-form .field input,.contact-enquiry-form .field textarea{box-sizing:border-box!important;background:rgba(4,6,7,.52)!important;border:1px solid rgba(255,255,255,.13)!important;min-height:54px!important;padding:15px 17px!important;color:#f2f1ed!important;transition:border-color .2s,box-shadow .2s,background .2s!important}
.contact-enquiry-form .field textarea{min-height:130px!important;resize:vertical!important}
.contact-enquiry-form .field input::placeholder,.contact-enquiry-form .field textarea::placeholder{color:#707574!important}
.contact-enquiry-form .field input:focus,.contact-enquiry-form .field textarea:focus{background:rgba(7,9,10,.72)!important;border-color:rgba(225,191,112,.62)!important;box-shadow:0 0 0 3px rgba(197,160,78,.07),0 0 24px rgba(197,160,78,.06)!important}
.contact-enquiry-form .enquiry-submit-row{display:flex!important;align-items:center!important;justify-content:center!important;margin-top:8px!important}
.contact-enquiry-form .enquiry-submit-row .btn{min-width:250px!important;height:56px!important}
.contact-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;margin-top:0}
.contact-info-panel,.contact-location-panel{padding:42px 42px 12px}
.contact-info-panel{border-right:1px solid rgba(255,255,255,.09)}
.contact-bottom-grid .contact-microline{justify-content:flex-start;gap:18px}
.contact-bottom-grid .contact-microline i{width:72px}
.contact-info-panel h3,.contact-location-panel h3{margin:22px 0 10px!important;font-size:clamp(34px,3.2vw,50px)!important;line-height:1!important;letter-spacing:-.8px!important}
.contact-info-panel>p,.contact-location-panel>p{margin:0!important;color:#aeb2b0!important;font-size:14px!important;line-height:1.75!important;max-width:500px}
.contact-info-list{margin-top:24px;border-top:1px solid rgba(255,255,255,.09)}
.contact-info-list a{display:grid;grid-template-columns:90px minmax(0,1fr) 20px;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.09);text-decoration:none!important}
.contact-info-list a span{font-family:var(--sp-display);font-size:9px;letter-spacing:1.7px;color:var(--sp-gold-light);font-weight:800}
.contact-info-list a strong{font-size:14px;color:#dedfdd;font-weight:600;overflow-wrap:anywhere}
.contact-info-list a b{color:var(--sp-gold-light);font-size:17px;font-weight:400;transition:transform .2s}
.contact-info-list a:hover b{transform:translateX(4px)}
.contact-address{margin-top:8px!important}
.contact-map{margin-top:22px;width:100%;aspect-ratio:16/8.8;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#0b0d0e}
.contact-map iframe{display:block;width:100%;height:100%;border:0}
.contact-map-link{display:inline-flex;align-items:center;gap:14px;margin-top:17px;text-decoration:none!important;font-family:var(--sp-display);font-size:9px;letter-spacing:1.7px;color:var(--sp-gold-light)!important;font-weight:800}
.contact-map-link span{font-family:Arial,sans-serif;font-size:17px;transition:transform .2s}.contact-map-link:hover span{transform:translateX(4px)}
@media(max-width:900px){
 .contact-page .sp-contact-redesign{padding:82px 0 90px!important}
 .contact-master-card{padding:48px 28px 38px}
 .contact-bottom-grid{grid-template-columns:1fr}
 .contact-info-panel{border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}
 .contact-info-panel,.contact-location-panel{padding:38px 0 12px}
}
@media(max-width:700px){
 .contact-master-head h2{font-size:clamp(40px,11vw,58px)!important}
 .contact-master-head p{font-size:14px!important}
 .contact-microline{gap:12px;font-size:9px;letter-spacing:2px}
 .contact-microline i{width:58px}
 .contact-enquiry-form{grid-template-columns:1fr!important;gap:17px!important}
 .contact-enquiry-form .field.full{grid-column:auto!important}
 .contact-enquiry-form .enquiry-submit-row{justify-content:stretch!important}
 .contact-enquiry-form .enquiry-submit-row .btn{width:100%!important}
 .contact-info-list a{grid-template-columns:78px minmax(0,1fr) 18px;gap:10px}
 .contact-map{aspect-ratio:16/10}
}

/* ================================================================
   SHARPLINE — ENQUIRE PAGE PREMIUM REBUILD v5.20.2
   Scoped to .contact-page so no other page layout is affected.
   ================================================================ */
.contact-page{
  --contact-gold:#d7a83f;
  --contact-gold-soft:#f0ca72;
  --contact-line:rgba(215,168,63,.34);
  --contact-border:rgba(255,255,255,.10);
}

.contact-page .sp-contact-hero{
  min-height:620px!important;
  background:
    radial-gradient(circle at 50% 35%,rgba(215,168,63,.10),transparent 30%),
    linear-gradient(180deg,#080a0b 0%,#0a0c0d 100%)!important;
  border-bottom:1px solid rgba(215,168,63,.20)!important;
  position:relative!important;
}
.contact-page .sp-contact-hero:before{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),
    radial-gradient(circle at 15% 20%,rgba(215,168,63,.08),transparent 24%),
    radial-gradient(circle at 85% 75%,rgba(215,168,63,.06),transparent 26%);
  background-size:64px 64px,64px 64px,auto,auto;
}
.contact-page .sp-contact-hero .sp-hero-overlay{display:none!important}
.contact-page .sp-contact-hero .sp-hero-media{display:none!important}
.contact-page .sp-contact-hero .sp-hero-grid{
  min-height:620px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:110px 0 92px!important;
  position:relative!important;z-index:2!important;
}
.contact-page .sp-contact-hero .sp-hero-copy{
  width:min(920px,100%)!important;
  max-width:920px!important;
  text-align:center!important;
  margin:0 auto!important;
}
.contact-page .sp-contact-hero .eyebrow,
.contact-page .contact-microline{
  color:var(--contact-gold-soft)!important;
  text-shadow:0 0 16px rgba(215,168,63,.30)!important;
}
.contact-page .sp-contact-hero .eyebrow{
  display:flex!important;align-items:center;justify-content:center;gap:24px;
  font-family:var(--sp-display)!important;font-size:12px!important;font-weight:800!important;
  letter-spacing:3px!important;margin:0 0 28px!important;
}
.contact-page .sp-contact-hero .eyebrow:before,
.contact-page .sp-contact-hero .eyebrow:after{
  content:"";display:block;width:150px;height:1px;
  background:linear-gradient(90deg,transparent,var(--contact-gold));
  box-shadow:0 0 14px rgba(215,168,63,.35);
}
.contact-page .sp-contact-hero .eyebrow:after{transform:scaleX(-1)}
.contact-page .sp-contact-hero h1{
  max-width:900px!important;margin:0 auto 26px!important;
  font-size:clamp(54px,6.2vw,88px)!important;
  line-height:.98!important;letter-spacing:-2px!important;
  text-wrap:balance;
}
.contact-page .sp-contact-hero .sp-hero-text{
  max-width:760px!important;margin:0 auto!important;
}
.contact-page .sp-contact-hero .sp-hero-text p{
  color:#bfc2c0!important;font-size:17px!important;line-height:1.8!important;margin:0!important;
}

.contact-page .sp-contact-redesign{
  padding:86px 0 110px!important;
  background:
    radial-gradient(circle at 8% 15%,rgba(215,168,63,.075),transparent 25%),
    radial-gradient(circle at 92% 80%,rgba(215,168,63,.055),transparent 28%),
    #080a0b!important;
}
.contact-page .contact-master-card{
  max-width:1280px!important;
  padding:64px clamp(28px,5vw,76px) 66px!important;
  border:1px solid var(--contact-border)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.016) 58%,rgba(215,168,63,.022))!important;
  box-shadow:0 40px 110px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)!important;
  overflow:hidden!important;
}
.contact-page .contact-master-card:after{
  content:"";position:absolute;inset:auto 12% 0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(215,168,63,.30),transparent);
}
.contact-page .contact-master-head{
  max-width:820px!important;margin:0 auto 48px!important;text-align:center!important;
}
.contact-page .contact-master-head h2{
  margin:22px 0 15px!important;font-size:clamp(48px,5vw,72px)!important;
  line-height:1!important;letter-spacing:-1.7px!important;
}
.contact-page .contact-master-head p{
  max-width:680px!important;font-size:16px!important;line-height:1.75!important;
}
.contact-page .contact-enquiry-form{
  position:relative!important;
  margin:0!important;padding:38px 0 46px!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:25px 26px!important;
}
.contact-page .contact-enquiry-form .field label{
  display:block!important;color:var(--contact-gold-soft)!important;
  font-family:var(--sp-display)!important;font-size:10px!important;
  font-weight:800!important;letter-spacing:1.8px!important;text-transform:uppercase!important;
  margin:0 0 9px!important;
}
.contact-page .contact-enquiry-form .field input,
.contact-page .contact-enquiry-form .field textarea{
  width:100%!important;box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:0!important;background:rgba(3,5,6,.62)!important;
  color:#f2f0ea!important;font-size:15px!important;
  padding:16px 18px!important;min-height:56px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.contact-page .contact-enquiry-form .field textarea{min-height:142px!important;resize:vertical!important}
.contact-page .contact-enquiry-form .field input::placeholder,
.contact-page .contact-enquiry-form .field textarea::placeholder{color:#6f7472!important}
.contact-page .contact-enquiry-form .field input:focus,
.contact-page .contact-enquiry-form .field textarea:focus{
  outline:none!important;border-color:rgba(215,168,63,.65)!important;
  box-shadow:0 0 0 3px rgba(215,168,63,.055),0 0 25px rgba(215,168,63,.055)!important;
}
.contact-page .contact-enquiry-form .field.full{grid-column:1/-1!important}
.contact-page .contact-enquiry-form .enquiry-submit-row{
  grid-column:1/-1!important;display:flex!important;justify-content:center!important;
  padding-top:10px!important;margin:0!important;
}
.contact-page .contact-enquiry-form .enquiry-submit-row .btn{
  width:270px!important;min-width:270px!important;height:58px!important;
  margin:0!important;display:inline-flex!important;align-items:center!important;
  justify-content:center!important;gap:28px!important;
}

.contact-page .contact-bottom-grid{
  grid-template-columns:1fr 1fr!important;gap:24px!important;margin-top:30px!important;
}
.contact-page .contact-info-panel,
.contact-page .contact-location-panel{
  position:relative!important;padding:40px 38px 36px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:rgba(5,7,8,.42)!important;
  min-height:330px!important;
}
.contact-page .contact-info-panel{border-right:1px solid rgba(255,255,255,.10)!important}
.contact-page .contact-info-panel:before,
.contact-page .contact-location-panel:before{
  content:"";position:absolute;left:-1px;top:-1px;width:88px;height:1px;
  background:linear-gradient(90deg,var(--contact-gold),transparent);
  box-shadow:0 0 12px rgba(215,168,63,.25);
}
.contact-page .contact-info-panel h3,
.contact-page .contact-location-panel h3{
  font-size:clamp(34px,3vw,48px)!important;line-height:1!important;
  margin:22px 0 12px!important;
}
.contact-page .contact-info-panel>p,
.contact-page .contact-location-panel>p{
  max-width:570px!important;color:#aeb2b0!important;font-size:14px!important;line-height:1.75!important;
}
.contact-page .contact-info-list{margin-top:25px!important}
.contact-page .contact-info-list a{
  min-height:62px!important;padding:16px 0!important;
}
.contact-page .contact-map{margin-top:20px!important;aspect-ratio:16/8.5!important}
.contact-page .contact-map-link{margin-top:15px!important}

@media(max-width:900px){
  .contact-page .sp-contact-hero,.contact-page .sp-contact-hero .sp-hero-grid{min-height:570px!important}
  .contact-page .sp-contact-hero .sp-hero-grid{padding:95px 0 70px!important}
  .contact-page .sp-contact-hero .eyebrow:before,.contact-page .sp-contact-hero .eyebrow:after{width:90px}
  .contact-page .contact-bottom-grid{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .contact-page .sp-contact-hero h1{font-size:clamp(45px,12vw,66px)!important;letter-spacing:-1.2px!important}
  .contact-page .sp-contact-hero .sp-hero-text p{font-size:14px!important}
  .contact-page .sp-contact-hero .eyebrow{gap:12px;font-size:9px!important;letter-spacing:2px!important}
  .contact-page .sp-contact-hero .eyebrow:before,.contact-page .sp-contact-hero .eyebrow:after{width:45px}
  .contact-page .contact-master-card{padding:45px 20px 48px!important}
  .contact-page .contact-enquiry-form{grid-template-columns:1fr!important;gap:19px!important}
  .contact-page .contact-enquiry-form .field.full{grid-column:auto!important}
  .contact-page .contact-enquiry-form .enquiry-submit-row{grid-column:auto!important}
  .contact-page .contact-enquiry-form .enquiry-submit-row .btn{width:100%!important;min-width:0!important}
  .contact-page .contact-info-panel,.contact-page .contact-location-panel{padding:34px 24px 30px!important}
}

/* ================================================================
   ENQUIRE PAGE — FULL PREMIUM REDESIGN
   ================================================================ */
.contact-premium-page{--cp-gold:#d9a62f;--cp-gold2:#f4cf73;--cp-bg:#07090a;--cp-panel:#0d1011;--cp-line:rgba(255,255,255,.10);--cp-muted:#aeb2b1;overflow:hidden;background:var(--cp-bg)}
.contact-premium-page .contact-hero-premium{position:relative;min-height:620px;display:flex;align-items:center;background:radial-gradient(circle at 50% 25%,rgba(217,166,47,.10),transparent 34%),linear-gradient(180deg,#080a0b,#090b0c 70%,#07090a);border-bottom:1px solid rgba(217,166,47,.22)}
.contact-premium-page .contact-hero-grid,.contact-premium-page .contact-hero-grid:before{position:absolute;inset:0;pointer-events:none}
.contact-premium-page .contact-hero-grid{background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.contact-premium-page .contact-hero-grid:before{content:"";background:radial-gradient(circle at 20% 50%,rgba(217,166,47,.08),transparent 24%),radial-gradient(circle at 80% 40%,rgba(217,166,47,.06),transparent 26%)}
.contact-premium-page .contact-hero-glow{position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(80px);opacity:.12;pointer-events:none}.contact-hero-glow-a{background:#d9a62f;left:-220px;top:30%}.contact-hero-glow-b{background:#d9a62f;right:-220px;bottom:0}
.contact-premium-page .contact-hero-inner{position:relative;z-index:2;text-align:center;padding:115px 0 92px;max-width:1100px}
.contact-premium-page .contact-eyebrow,.contact-premium-page .contact-section-label{display:flex;align-items:center;justify-content:center;gap:22px;color:var(--cp-gold2);font-family:var(--sp-display);font-weight:800;letter-spacing:3px;font-size:12px;text-shadow:0 0 16px rgba(217,166,47,.38);text-transform:uppercase}.contact-premium-page .contact-eyebrow i,.contact-premium-page .contact-section-label i{display:block;width:150px;height:1px;background:linear-gradient(90deg,transparent,var(--cp-gold));box-shadow:0 0 12px rgba(217,166,47,.45)}.contact-premium-page .contact-eyebrow i:last-child,.contact-premium-page .contact-section-label i:last-child{transform:scaleX(-1)}
.contact-premium-page .contact-hero-inner h1{font-size:clamp(58px,7vw,102px);line-height:.94;letter-spacing:-2.8px;max-width:1000px;margin:28px auto 28px;text-wrap:balance}.contact-premium-page .contact-hero-copy{max-width:760px;margin:auto;color:#c3c6c4;font-size:17px;line-height:1.75}.contact-premium-page .contact-hero-points{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:34px;color:#ddd9ce;font:800 10px/1 var(--sp-display);letter-spacing:2px}.contact-premium-page .contact-hero-points b{color:var(--cp-gold)}
.contact-premium-page .contact-enquiry-premium{padding:100px 0;background:radial-gradient(circle at 15% 40%,rgba(217,166,47,.055),transparent 25%),#080a0b}.contact-premium-page .contact-enquiry-shell{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(520px,1.28fr);gap:0;max-width:1320px;margin:auto;border:1px solid var(--cp-line);background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:0 40px 100px rgba(0,0,0,.45);position:relative}.contact-premium-page .contact-enquiry-shell:before{content:"";position:absolute;left:-1px;top:-1px;width:120px;height:1px;background:linear-gradient(90deg,var(--cp-gold),transparent);box-shadow:0 0 15px rgba(217,166,47,.35)}
.contact-premium-page .contact-enquiry-intro{padding:65px 55px;border-right:1px solid var(--cp-line);display:flex;flex-direction:column;justify-content:center}.contact-premium-page .contact-enquiry-intro .contact-section-label{justify-content:flex-start;gap:13px;font-size:10px}.contact-premium-page .contact-enquiry-intro .contact-section-label i{width:42px}.contact-premium-page .contact-enquiry-intro h2{font-size:clamp(38px,4vw,62px);line-height:.98;letter-spacing:-1.8px;margin:27px 0 22px}.contact-premium-page .contact-enquiry-intro h2 em{font-style:normal;color:var(--cp-gold2);text-shadow:0 0 18px rgba(217,166,47,.18)}.contact-premium-page .contact-enquiry-intro>p{color:var(--cp-muted);line-height:1.75;max-width:480px}.contact-premium-page .contact-trust-list{margin-top:36px;border-top:1px solid var(--cp-line)}.contact-premium-page .contact-trust-list>div{display:grid;grid-template-columns:42px 1fr;column-gap:13px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.07)}.contact-premium-page .contact-trust-list span{grid-row:span 2;color:var(--cp-gold);font:800 10px var(--sp-display);letter-spacing:1.5px}.contact-premium-page .contact-trust-list strong{font:800 12px var(--sp-display);letter-spacing:1.5px;text-transform:uppercase}.contact-premium-page .contact-trust-list small{color:#898e8c;margin-top:5px;line-height:1.45}
.contact-premium-page .contact-form-card{padding:55px 58px;background:rgba(0,0,0,.18)}.contact-premium-page .contact-enquiry-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:22px!important;margin:0!important;padding:0!important;border:0!important}.contact-premium-page .contact-enquiry-form .field{min-width:0}.contact-premium-page .contact-enquiry-form .field.full{grid-column:1/-1!important}.contact-premium-page .contact-enquiry-form label{display:block!important;color:var(--cp-gold2)!important;font:800 10px/1 var(--sp-display)!important;letter-spacing:1.7px!important;text-transform:uppercase!important;margin:0 0 10px!important}.contact-premium-page .contact-enquiry-form input,.contact-premium-page .contact-enquiry-form textarea{width:100%!important;box-sizing:border-box!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:2px!important;background:rgba(5,7,8,.76)!important;color:#f2f0ea!important;padding:16px 17px!important;font-size:14px!important;min-height:56px!important;transition:.25s ease!important}.contact-premium-page .contact-enquiry-form textarea{min-height:145px!important;resize:vertical!important}.contact-premium-page .contact-enquiry-form input:focus,.contact-premium-page .contact-enquiry-form textarea:focus{outline:none!important;border-color:rgba(217,166,47,.72)!important;box-shadow:0 0 0 3px rgba(217,166,47,.06),0 0 24px rgba(217,166,47,.08)!important}.contact-premium-page .contact-enquiry-form input::placeholder,.contact-premium-page .contact-enquiry-form textarea::placeholder{color:#666d6b!important}.contact-premium-page .enquiry-submit-row{grid-column:1/-1!important;display:flex!important;justify-content:flex-start!important;padding-top:8px!important}.contact-premium-page .enquiry-submit-row .btn{width:250px!important;min-width:250px!important;height:58px!important;margin:0!important}
.contact-premium-page .contact-connect-premium{padding:100px 0;background:#080a0b}.contact-premium-page .contact-connect-head{text-align:center;margin-bottom:45px}.contact-premium-page .contact-connect-head .contact-section-label{margin-bottom:22px}.contact-premium-page .contact-connect-head h2{font-size:clamp(42px,5vw,70px);line-height:1;margin:0 0 15px;letter-spacing:-1.8px}.contact-premium-page .contact-connect-head p{color:var(--cp-muted);margin:0}.contact-premium-page .contact-connect-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;max-width:1320px;margin:auto}.contact-premium-page .contact-direct-card,.contact-premium-page .contact-location-card{position:relative;border:1px solid var(--cp-line);background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));padding:42px;min-height:390px}.contact-premium-page .contact-direct-card:before,.contact-premium-page .contact-location-card:before{content:"";position:absolute;top:-1px;left:-1px;width:90px;height:1px;background:linear-gradient(90deg,var(--cp-gold),transparent);box-shadow:0 0 12px rgba(217,166,47,.35)}.contact-premium-page .contact-card-number{position:absolute;right:30px;top:28px;color:rgba(217,166,47,.5);font:800 10px var(--sp-display);letter-spacing:2px}.contact-premium-page .contact-direct-card h3,.contact-premium-page .contact-location-card h3{font-size:clamp(36px,4vw,56px);line-height:1;margin:20px 0 13px;letter-spacing:-1.3px}.contact-premium-page .contact-direct-card>p,.contact-premium-page .contact-location-card>p{color:var(--cp-muted);line-height:1.7;max-width:520px}.contact-premium-page .contact-direct-links{margin-top:27px;border-top:1px solid var(--cp-line)}.contact-premium-page .contact-direct-links a{display:grid;grid-template-columns:85px minmax(0,1fr) 20px;align-items:center;gap:15px;min-height:62px;border-bottom:1px solid rgba(255,255,255,.07);color:#eee;text-decoration:none}.contact-premium-page .contact-direct-links span{color:var(--cp-gold2);font:800 9px var(--sp-display);letter-spacing:1.6px}.contact-premium-page .contact-direct-links strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.contact-premium-page .contact-direct-links b{color:var(--cp-gold2)}.contact-premium-page .contact-location-card .contact-section-label{justify-content:flex-start;gap:12px;font-size:9px}.contact-premium-page .contact-location-card .contact-section-label i{width:42px}.contact-premium-page .contact-location-card h3{margin-top:25px}.contact-premium-page .contact-location-card .contact-address{min-height:45px}.contact-premium-page .contact-map{margin-top:20px!important;height:190px!important;aspect-ratio:auto!important;border:1px solid rgba(255,255,255,.10);filter:saturate(.72) contrast(1.02);overflow:hidden}.contact-premium-page .contact-map iframe{width:100%;height:100%;border:0}.contact-premium-page .contact-map-link{display:inline-flex;align-items:center;gap:18px;margin-top:15px!important;color:var(--cp-gold2);font:800 10px var(--sp-display);letter-spacing:1.6px;text-decoration:none}
.contact-premium-page .contact-final-cta{position:relative;text-align:center;padding:105px 0 125px;border-top:1px solid rgba(217,166,47,.16);background:radial-gradient(circle at 50% 20%,rgba(217,166,47,.12),transparent 36%),#07090a;overflow:hidden}.contact-premium-page .contact-final-cta:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000,transparent)}.contact-premium-page .contact-final-cta .container{position:relative;z-index:2}.contact-premium-page .contact-final-cta h2{font-size:clamp(44px,6vw,82px);line-height:.98;letter-spacing:-2px;max-width:900px;margin:28px auto 34px}.contact-premium-page .contact-final-btn{display:inline-flex!important;width:270px!important;min-width:270px!important;height:58px!important;align-items:center;justify-content:center;gap:28px!important;text-decoration:none}
@media(max-width:1000px){.contact-premium-page .contact-enquiry-shell{grid-template-columns:1fr}.contact-premium-page .contact-enquiry-intro{border-right:0;border-bottom:1px solid var(--cp-line)}.contact-premium-page .contact-connect-grid{grid-template-columns:1fr}.contact-premium-page .contact-form-card{padding:45px}}
@media(max-width:700px){.contact-premium-page .contact-hero-inner{padding:95px 18px 70px}.contact-premium-page .contact-eyebrow,.contact-premium-page .contact-section-label{gap:10px;font-size:9px;letter-spacing:2px}.contact-premium-page .contact-eyebrow i,.contact-premium-page .contact-section-label i{width:45px}.contact-premium-page .contact-hero-inner h1{font-size:clamp(46px,13vw,68px);letter-spacing:-1.5px}.contact-premium-page .contact-hero-copy{font-size:14px}.contact-premium-page .contact-enquiry-premium,.contact-premium-page .contact-connect-premium{padding:70px 0}.contact-premium-page .contact-enquiry-intro,.contact-premium-page .contact-form-card,.contact-premium-page .contact-direct-card,.contact-premium-page .contact-location-card{padding:34px 22px}.contact-premium-page .contact-enquiry-form{grid-template-columns:1fr!important}.contact-premium-page .contact-enquiry-form .field.full{grid-column:auto!important}.contact-premium-page .enquiry-submit-row{grid-column:auto!important}.contact-premium-page .enquiry-submit-row .btn,.contact-premium-page .contact-final-btn{width:100%!important;min-width:0!important}.contact-premium-page .contact-final-cta{padding:75px 18px 90px}}


/* ================================================================
   v5.20.9 — HOME HERO LOGO SCALE
   Keep the supplied horizontal Sharpline logo present in the hero,
   but visually balanced with the main H1 rather than dominating it.
   ================================================================ */
.home-hero .sp-hero-brand-lockup{
  display:block!important;
  width:min(520px,48vw)!important;
  max-width:520px!important;
  margin:0 0 30px 0!important;
  padding:0!important;
  line-height:0!important;
  flex:0 0 auto!important;
}
.home-hero .sp-hero-brand-lockup .sharpline-logo{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
/* Keep the hero copy rail unchanged; only the logo is scaled down. */
.home-hero .sp-hero-brand-lockup + h1{margin-top:0!important}
@media(max-width:900px){
  .home-hero .sp-hero-brand-lockup{
    width:min(430px,58vw)!important;
    max-width:430px!important;
    margin-bottom:25px!important;
  }
}
@media(max-width:600px){
  .home-hero .sp-hero-brand-lockup{
    width:min(300px,72vw)!important;
    max-width:300px!important;
    margin-bottom:20px!important;
  }
}

/* v5.20.10 — HOME HERO LOGO FINAL SCALE
 * The actual homepage template uses .hero-brand. Keep the supplied
 * horizontal logo compact and visually subordinate to the H1.
 */
.home-hero .hero-brand{
  display:block!important;
  width:360px!important;
  max-width:360px!important;
  margin:0 0 24px 0!important;
  padding:0!important;
  line-height:0!important;
  flex:0 0 auto!important;
}
.home-hero .hero-brand .sharpline-logo{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.home-hero .hero-brand + h1{margin-top:0!important}
@media(max-width:900px){
  .home-hero .hero-brand{width:310px!important;max-width:58vw!important;margin-bottom:20px!important}
}
@media(max-width:600px){
  .home-hero .hero-brand{width:250px!important;max-width:72vw!important;margin-bottom:16px!important}
}

/* ================================================================
   v5.20.11 — ENQUIRE PAGE / CLEAN CTA REDESIGN
   Hero headline -> full-width enquiry form -> contact + location.
   ================================================================ */
.contact-premium-page .contact-hero-premium{
  min-height:520px;
  align-items:flex-end;
  background:
    radial-gradient(circle at 50% 20%,rgba(217,166,47,.10),transparent 34%),
    linear-gradient(180deg,#080a0b,#090b0c 78%,#07090a);
}
.contact-premium-page .contact-hero-inner{
  max-width:1180px;
  padding:105px 0 78px;
}
.contact-premium-page .contact-hero-inner h1{
  max-width:1120px;
  font-size:clamp(58px,6.2vw,94px);
  line-height:.96;
  margin:27px auto 22px;
}
.contact-premium-page .contact-hero-copy{max-width:850px;font-size:16px;line-height:1.7}
.contact-premium-page .contact-hero-points{margin-top:28px}

.contact-premium-page .contact-enquiry-premium{
  padding:78px 0 96px;
  background:
    radial-gradient(circle at 50% 0%,rgba(217,166,47,.065),transparent 28%),
    #080a0b;
}
.contact-premium-page .contact-enquiry-shell{
  display:block;
  max-width:1180px;
  border:1px solid var(--cp-line);
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  box-shadow:0 35px 90px rgba(0,0,0,.38);
  padding:0;
}
.contact-premium-page .contact-enquiry-shell:after{
  content:"";position:absolute;right:-1px;bottom:-1px;width:150px;height:1px;
  background:linear-gradient(90deg,transparent,var(--cp-gold));
  box-shadow:0 0 15px rgba(217,166,47,.3)
}
.contact-premium-page .contact-enquiry-heading{
  text-align:center;
  padding:48px 55px 38px;
  border-bottom:1px solid var(--cp-line);
}
.contact-premium-page .contact-enquiry-heading .contact-section-label{margin-bottom:20px}
.contact-premium-page .contact-enquiry-heading h2{
  font-size:clamp(42px,4.5vw,68px);
  line-height:.98;
  letter-spacing:-1.8px;
  margin:0 auto 18px;
  max-width:900px;
}
.contact-premium-page .contact-enquiry-heading h2 em{
  font-style:normal;color:var(--cp-gold2);text-shadow:0 0 18px rgba(217,166,47,.18)
}
.contact-premium-page .contact-enquiry-heading p{
  max-width:760px;margin:0 auto;color:var(--cp-muted);line-height:1.7
}
.contact-premium-page .contact-form-card{
  padding:48px 58px 52px;
  background:rgba(0,0,0,.16)
}
.contact-premium-page .contact-enquiry-form{gap:24px!important}
.contact-premium-page .contact-enquiry-form input,.contact-premium-page .contact-enquiry-form textarea{min-height:58px!important}
.contact-premium-page .contact-enquiry-form textarea{min-height:155px!important}
.contact-premium-page .enquiry-submit-row{justify-content:center!important;padding-top:10px!important}
.contact-premium-page .enquiry-submit-row .btn{width:270px!important;min-width:270px!important;height:60px!important}

.contact-premium-page .contact-connect-premium{
  padding:92px 0 110px;
  background:
    radial-gradient(circle at 15% 20%,rgba(217,166,47,.045),transparent 25%),
    #07090a;
  border-top:1px solid rgba(217,166,47,.13)
}
.contact-premium-page .contact-connect-head{margin-bottom:42px}
.contact-premium-page .contact-connect-head h2{font-size:clamp(44px,5vw,68px)}
.contact-premium-page .contact-connect-grid{max-width:1180px;grid-template-columns:1fr 1.35fr;gap:22px}
.contact-premium-page .contact-direct-card,.contact-premium-page .contact-location-card{min-height:430px;padding:40px}
.contact-premium-page .contact-map{height:230px!important}

@media(max-width:1000px){
 .contact-premium-page .contact-enquiry-heading{padding:42px 30px 34px}
 .contact-premium-page .contact-form-card{padding:40px 30px 45px}
}
@media(max-width:700px){
 .contact-premium-page .contact-hero-premium{min-height:480px}
 .contact-premium-page .contact-hero-inner{padding:85px 18px 65px}
 .contact-premium-page .contact-hero-inner h1{font-size:clamp(46px,12vw,68px)}
 .contact-premium-page .contact-enquiry-premium{padding:55px 0 70px}
 .contact-premium-page .contact-enquiry-heading{padding:36px 22px 30px}
 .contact-premium-page .contact-enquiry-heading h2{font-size:clamp(38px,10vw,54px)}
 .contact-premium-page .contact-form-card{padding:32px 22px 38px}
 .contact-premium-page .contact-connect-premium{padding:65px 0 75px}
 .contact-premium-page .contact-connect-grid{grid-template-columns:1fr}
 .contact-premium-page .contact-direct-card,.contact-premium-page .contact-location-card{min-height:auto;padding:32px 22px}
 .contact-premium-page .contact-map{height:210px!important}
}

/* ================================================================
   v5.20.12 — ENQUIRE FORM / TRUE EDITORIAL STACK
   Small label + large heading + one-line intro, then a clean wide form.
   No split-column form panel.
   ================================================================ */
.contact-premium-page .contact-enquiry-premium{padding:88px 0 105px!important}
.contact-premium-page .contact-enquiry-premium > .container{max-width:1180px!important}
.contact-premium-page .contact-enquiry-heading{display:block!important;text-align:center!important;padding:0 20px 38px!important;border:0!important;max-width:1000px!important;margin:0 auto!important}
.contact-premium-page .contact-enquiry-heading .contact-section-label{margin:0 0 22px!important}
.contact-premium-page .contact-enquiry-heading h2{font-size:clamp(44px,5vw,72px)!important;line-height:.98!important;max-width:980px!important;margin:0 auto 18px!important}
.contact-premium-page .contact-enquiry-heading p{max-width:780px!important;margin:0 auto!important;font-size:15px!important;line-height:1.7!important}
.contact-premium-page .contact-enquiry-shell{display:block!important;position:relative!important;width:100%!important;max-width:1120px!important;margin:0 auto!important;padding:0!important;border:1px solid var(--cp-line)!important;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;box-shadow:0 35px 90px rgba(0,0,0,.38)!important}
.contact-premium-page .contact-enquiry-shell:before{content:""!important;position:absolute!important;left:-1px!important;top:-1px!important;width:170px!important;height:1px!important;background:linear-gradient(90deg,var(--cp-gold),transparent)!important;box-shadow:0 0 15px rgba(217,166,47,.35)!important}
.contact-premium-page .contact-enquiry-shell:after{content:""!important;position:absolute!important;right:-1px!important;bottom:-1px!important;width:170px!important;height:1px!important;background:linear-gradient(90deg,transparent,var(--cp-gold))!important;box-shadow:0 0 15px rgba(217,166,47,.3)!important}
.contact-premium-page .contact-form-card{padding:52px 64px 58px!important;background:rgba(0,0,0,.16)!important}
.contact-premium-page .contact-enquiry-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important}
.contact-premium-page .contact-enquiry-form .field.full{grid-column:1/-1!important}
.contact-premium-page .enquiry-submit-row{justify-content:center!important}
@media(max-width:700px){
 .contact-premium-page .contact-enquiry-premium{padding:65px 0 78px!important}
 .contact-premium-page .contact-enquiry-heading{padding:0 18px 30px!important}
 .contact-premium-page .contact-enquiry-heading h2{font-size:clamp(40px,10vw,56px)!important}
 .contact-premium-page .contact-form-card{padding:34px 22px 40px!important}
 .contact-premium-page .contact-enquiry-form{grid-template-columns:1fr!important}
 .contact-premium-page .contact-enquiry-form .field.full{grid-column:auto!important}
}

/* ================================================================
   v5.20.13 — ENQUIRE PAGE / FINAL PREMIUM UX
   Editorial hero -> large, easy-to-fill enquiry form -> contact + map.
   ================================================================ */
.contact-premium-page{overflow:hidden}
.contact-premium-page .contact-hero-premium{
  min-height:500px!important;
  display:flex!important;
  align-items:center!important;
  background:
    radial-gradient(circle at 50% 15%,rgba(215,166,42,.11),transparent 32%),
    linear-gradient(180deg,#080a0b 0%,#090b0c 72%,#07090a 100%)!important;
}
.contact-premium-page .contact-hero-inner{
  width:min(1180px,calc(100% - 64px))!important;
  max-width:1180px!important;
  padding:88px 0 70px!important;
  text-align:center!important;
}
.contact-premium-page .contact-eyebrow{justify-content:center!important;margin-bottom:24px!important}
.contact-premium-page .contact-hero-inner h1{
  max-width:1050px!important;
  margin:0 auto 22px!important;
  font-size:clamp(58px,6vw,88px)!important;
  line-height:.98!important;
  letter-spacing:-2.5px!important;
  text-align:center!important;
}
.contact-premium-page .contact-hero-copy{
  max-width:850px!important;
  margin:0 auto!important;
  font-size:16px!important;
  line-height:1.7!important;
  text-align:center!important;
}
.contact-premium-page .contact-hero-points{justify-content:center!important;margin-top:27px!important}

.contact-premium-page .contact-enquiry-premium{
  padding:82px 0 100px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(215,166,42,.065),transparent 30%),
    #080a0b!important;
  border-top:1px solid rgba(215,166,42,.16);
}
.contact-premium-page .contact-enquiry-premium>.container{
  width:min(1240px,calc(100% - 64px))!important;
  max-width:1240px!important;
}
.contact-premium-page .contact-enquiry-heading{
  max-width:900px!important;
  padding:0 0 38px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.contact-premium-page .contact-enquiry-heading .contact-section-label{justify-content:center!important;margin-bottom:20px!important}
.contact-premium-page .contact-enquiry-heading h2{
  max-width:900px!important;
  margin:0 auto 15px!important;
  font-size:clamp(42px,4.2vw,64px)!important;
  line-height:1!important;
  letter-spacing:-1.8px!important;
}
.contact-premium-page .contact-enquiry-heading p{max-width:720px!important;font-size:15px!important;line-height:1.7!important}
.contact-premium-page .contact-enquiry-shell{
  width:100%!important;
  max-width:1160px!important;
  margin:0 auto!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  box-shadow:0 30px 90px rgba(0,0,0,.42)!important;
}
.contact-premium-page .contact-form-card{padding:54px 64px 58px!important}
.contact-premium-page .contact-enquiry-form{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:26px!important;
  row-gap:24px!important;
}
.contact-premium-page .contact-enquiry-form .field label{
  color:var(--cp-gold2)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:1.5px!important;
  margin-bottom:9px!important;
}
.contact-premium-page .contact-enquiry-form input,
.contact-premium-page .contact-enquiry-form textarea{
  background:rgba(3,5,6,.72)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  padding:16px 17px!important;
  font-size:14px!important;
  border-radius:0!important;
  min-height:58px!important;
}
.contact-premium-page .contact-enquiry-form input::placeholder,
.contact-premium-page .contact-enquiry-form textarea::placeholder{color:#6f7376!important}
.contact-premium-page .contact-enquiry-form textarea{min-height:155px!important;resize:vertical!important}
.contact-premium-page .contact-enquiry-form input:focus,
.contact-premium-page .contact-enquiry-form textarea:focus{border-color:var(--cp-gold2)!important;box-shadow:0 0 0 1px rgba(215,166,42,.15)!important}
.contact-premium-page .enquiry-submit-row{padding-top:8px!important;justify-content:center!important}
.contact-premium-page .enquiry-submit-row .btn{width:280px!important;min-width:280px!important;height:58px!important}

.contact-premium-page .contact-connect-premium{
  padding:88px 0 105px!important;
  border-top:1px solid rgba(255,255,255,.09)!important;
  background:radial-gradient(circle at 50% 0%,rgba(215,166,42,.055),transparent 28%),#07090a!important;
}
.contact-premium-page .contact-connect-premium>.container{width:min(1240px,calc(100% - 64px))!important;max-width:1240px!important}
.contact-premium-page .contact-connect-head{text-align:center!important;margin-bottom:38px!important}
.contact-premium-page .contact-connect-head .contact-section-label{justify-content:center!important}
.contact-premium-page .contact-connect-head h2{font-size:clamp(42px,4.2vw,64px)!important;line-height:1!important;margin:20px 0 12px!important}
.contact-premium-page .contact-connect-head p{margin:0 auto!important;max-width:650px!important;color:var(--cp-muted)!important}
.contact-premium-page .contact-connect-grid{
  width:100%!important;
  max-width:1160px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1fr 1.25fr!important;
  gap:22px!important;
}
.contact-premium-page .contact-direct-card,
.contact-premium-page .contact-location-card{
  min-height:390px!important;
  padding:38px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.01))!important;
}
.contact-premium-page .contact-direct-card h3,
.contact-premium-page .contact-location-card h3{font-size:38px!important;line-height:1.05!important;margin:12px 0!important}
.contact-premium-page .contact-direct-links a{min-height:62px!important}
.contact-premium-page .contact-map{height:245px!important;margin-top:24px!important}

@media(max-width:900px){
 .contact-premium-page .contact-hero-inner,.contact-premium-page .contact-enquiry-premium>.container,.contact-premium-page .contact-connect-premium>.container{width:calc(100% - 40px)!important}
 .contact-premium-page .contact-form-card{padding:42px 38px 48px!important}
 .contact-premium-page .contact-connect-grid{grid-template-columns:1fr!important}
}
@media(max-width:700px){
 .contact-premium-page .contact-hero-premium{min-height:470px!important}
 .contact-premium-page .contact-hero-inner{padding:78px 0 58px!important}
 .contact-premium-page .contact-hero-inner h1{font-size:clamp(44px,12vw,62px)!important;letter-spacing:-1.5px!important}
 .contact-premium-page .contact-hero-copy{font-size:14px!important}
 .contact-premium-page .contact-enquiry-premium{padding:68px 0 78px!important}
 .contact-premium-page .contact-form-card{padding:32px 22px 38px!important}
 .contact-premium-page .contact-enquiry-form{grid-template-columns:1fr!important}
 .contact-premium-page .contact-enquiry-form .field.full{grid-column:auto!important}
 .contact-premium-page .enquiry-submit-row .btn{width:100%!important;min-width:0!important}
 .contact-premium-page .contact-connect-premium{padding:68px 0 80px!important}
 .contact-premium-page .contact-direct-card,.contact-premium-page .contact-location-card{padding:28px 22px!important;min-height:auto!important}
}


/* =========================================================
   SHARPLINE ENQUIRE PAGE — FINAL PREMIUM FORM SYSTEM
   ========================================================= */
.contact-premium-page{background:#07090a!important;color:#f4f1eb!important}
.contact-premium-page .contact-hero-premium{
  min-height:540px!important; padding:105px 0 80px!important; box-sizing:border-box!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  background:radial-gradient(circle at 50% 15%,rgba(211,160,40,.13),transparent 36%),linear-gradient(180deg,#0b0d0e 0%,#07090a 100%)!important;
  border-bottom:1px solid rgba(211,160,40,.28)!important;
}
.contact-premium-page .contact-hero-inner{
  width:min(1180px,calc(100% - 64px))!important; max-width:1180px!important; margin:0 auto!important;
  text-align:center!important; padding:0!important;
}
.contact-premium-page .contact-eyebrow,
.contact-premium-page .contact-section-label{
  display:flex!important; align-items:center!important; justify-content:center!important; gap:20px!important;
  color:#d9aa43!important; font-size:12px!important; font-weight:800!important; letter-spacing:3px!important;
  text-transform:uppercase!important; text-align:center!important; margin:0 0 28px!important;
}
.contact-premium-page .contact-eyebrow i,
.contact-premium-page .contact-section-label i{
  display:block!important; width:105px!important; height:1px!important; flex:0 0 105px!important;
  background:linear-gradient(90deg,transparent,#d9aa43,transparent)!important; box-shadow:0 0 14px rgba(217,166,47,.28)!important;
}
.contact-premium-page .contact-hero-inner h1{
  max-width:1050px!important; margin:0 auto 24px!important; text-align:center!important;
  font-size:clamp(58px,6.2vw,92px)!important; line-height:.94!important; letter-spacing:-2.8px!important;
  color:#f5f2ec!important;
}
.contact-premium-page .contact-hero-copy{
  max-width:820px!important; margin:0 auto!important; color:#aeb1b0!important; font-size:17px!important;
  line-height:1.7!important; text-align:center!important;
}
.contact-premium-page .contact-hero-points{
  display:flex!important; justify-content:center!important; align-items:center!important; gap:16px!important;
  margin-top:34px!important; color:#c9c9c4!important; font-size:10px!important; font-weight:800!important; letter-spacing:2px!important;
}
.contact-premium-page .contact-hero-points b{color:#d9aa43!important;font-size:9px!important}

.contact-premium-page .contact-enquiry-premium{
  padding:92px 0 105px!important; background:linear-gradient(180deg,#080a0b,#0a0c0d)!important;
}
.contact-premium-page .contact-enquiry-premium>.container{
  width:min(1120px,calc(100% - 64px))!important; max-width:1120px!important; margin:0 auto!important;
}
.contact-premium-page .contact-enquiry-heading{
  text-align:center!important; max-width:930px!important; margin:0 auto 38px!important;
}
.contact-premium-page .contact-enquiry-heading .contact-section-label{margin-bottom:22px!important}
.contact-premium-page .contact-enquiry-heading h2{
  margin:0 0 16px!important; font-size:clamp(42px,4.5vw,68px)!important; line-height:1!important;
  letter-spacing:-1.8px!important; color:#f5f2ec!important; text-align:center!important;
}
.contact-premium-page .contact-enquiry-heading h2 em{font-style:normal!important;color:#d9aa43!important}
.contact-premium-page .contact-enquiry-heading p{
  max-width:780px!important; margin:0 auto!important; color:#9ea3a2!important; font-size:16px!important; line-height:1.65!important;
}
.contact-premium-page .contact-enquiry-shell{
  display:block!important; width:100%!important; max-width:1080px!important; margin:0 auto!important;
  border:1px solid rgba(255,255,255,.13)!important; border-radius:2px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  box-shadow:0 35px 90px rgba(0,0,0,.38)!important; overflow:hidden!important;
}
.contact-premium-page .contact-form-card{
  width:100%!important; box-sizing:border-box!important; padding:58px 64px 62px!important;
  background:rgba(5,7,8,.46)!important;
}
.contact-premium-page .contact-enquiry-form{
  width:100%!important; max-width:none!important; margin:0!important; padding:0!important; border:0!important;
  display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; gap:28px 24px!important;
}
.contact-premium-page .contact-enquiry-form .field{width:100%!important; min-width:0!important; margin:0!important}
.contact-premium-page .contact-enquiry-form .field.full{grid-column:1/-1!important}
.contact-premium-page .contact-enquiry-form label{
  display:block!important; margin:0 0 10px!important; color:#d9aa43!important; font-size:13px!important;
  line-height:1.1!important; font-weight:800!important; letter-spacing:1.8px!important; text-transform:uppercase!important;
}
.contact-premium-page .contact-enquiry-form input,
.contact-premium-page .contact-enquiry-form textarea{
  display:block!important; width:100%!important; max-width:none!important; box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.16)!important; border-radius:2px!important; background:#090b0c!important;
  color:#f3f0ea!important; padding:17px 18px!important; font:400 16px/1.45 var(--sp-body,Arial,sans-serif)!important;
  min-height:58px!important; outline:none!important;
}
.contact-premium-page .contact-enquiry-form textarea{min-height:150px!important;resize:vertical!important}
.contact-premium-page .contact-enquiry-form input:focus,
.contact-premium-page .contact-enquiry-form textarea:focus{border-color:#d9aa43!important;box-shadow:0 0 0 3px rgba(217,166,47,.08)!important}
.contact-premium-page .contact-enquiry-form input::placeholder,
.contact-premium-page .contact-enquiry-form textarea::placeholder{color:#666b69!important}
.contact-premium-page .enquiry-submit-row{
  grid-column:1/-1!important; display:flex!important; justify-content:center!important; padding-top:8px!important;
}
.contact-premium-page .enquiry-submit-row .btn{
  width:280px!important; min-width:280px!important; height:60px!important; margin:0!important;
}

.contact-premium-page .contact-connect-premium{
  padding:92px 0 110px!important; border-top:1px solid rgba(255,255,255,.08)!important;
  background:radial-gradient(circle at 50% 0,rgba(217,166,47,.07),transparent 35%),#07090a!important;
}
.contact-premium-page .contact-connect-premium>.container{width:min(1120px,calc(100% - 64px))!important;max-width:1120px!important;margin:auto!important}
.contact-premium-page .contact-connect-head{text-align:center!important;margin:0 auto 38px!important}
.contact-premium-page .contact-connect-head h2{font-size:clamp(38px,4vw,58px)!important;line-height:1!important;margin:0 0 12px!important;color:#f5f2ec!important}
.contact-premium-page .contact-connect-head p{margin:0;color:#929796;font-size:15px}
.contact-premium-page .contact-connect-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important}
.contact-premium-page .contact-direct-card,
.contact-premium-page .contact-location-card{
  min-height:330px!important;box-sizing:border-box!important;padding:42px!important;
  border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.018)!important;
}
.contact-premium-page .contact-direct-card h3,.contact-premium-page .contact-location-card h3{color:#f5f2ec!important;font-size:32px!important;margin:8px 0 12px!important}
.contact-premium-page .contact-card-number{color:#d9aa43!important;font-size:10px!important;letter-spacing:2px!important;font-weight:800!important}
.contact-premium-page .contact-direct-links{margin-top:28px!important}
.contact-premium-page .contact-direct-links a{display:grid!important;grid-template-columns:110px 1fr 24px!important;align-items:center!important;gap:14px!important;padding:17px 0!important;border-top:1px solid rgba(255,255,255,.1)!important;color:#f0eee9!important;text-decoration:none!important}
.contact-premium-page .contact-direct-links a span{color:#d9aa43!important;font-size:9px!important;font-weight:800!important;letter-spacing:1.6px!important}
.contact-premium-page .contact-direct-links a strong{font-size:14px!important;font-weight:500!important}
.contact-premium-page .contact-direct-links a b{color:#d9aa43!important}
.contact-premium-page .contact-location-card .contact-section-label{justify-content:flex-start!important;margin-bottom:18px!important}
.contact-premium-page .contact-location-card .contact-section-label i{width:55px!important;flex-basis:55px!important}
.contact-premium-page .contact-map{height:190px!important;margin-top:24px!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.1)!important}
.contact-premium-page .contact-map iframe{width:100%!important;height:100%!important;border:0!important;display:block!important}

@media(max-width:800px){
 .contact-premium-page .contact-hero-inner,.contact-premium-page .contact-enquiry-premium>.container,.contact-premium-page .contact-connect-premium>.container{width:calc(100% - 36px)!important}
 .contact-premium-page .contact-hero-premium{min-height:500px!important;padding:90px 0 65px!important}
 .contact-premium-page .contact-eyebrow,.contact-premium-page .contact-section-label{gap:10px!important;font-size:9px!important;letter-spacing:2px!important}
 .contact-premium-page .contact-eyebrow i,.contact-premium-page .contact-section-label i{width:55px!important;flex-basis:55px!important}
 .contact-premium-page .contact-hero-inner h1{font-size:clamp(48px,11vw,72px)!important;letter-spacing:-1.8px!important}
 .contact-premium-page .contact-hero-copy{font-size:14px!important}
 .contact-premium-page .contact-hero-points{flex-wrap:wrap!important;gap:10px!important}
 .contact-premium-page .contact-enquiry-premium{padding:70px 0 80px!important}
 .contact-premium-page .contact-form-card{padding:38px 26px 42px!important}
 .contact-premium-page .contact-enquiry-form{grid-template-columns:1fr!important;gap:22px!important}
 .contact-premium-page .contact-enquiry-form .field.full{grid-column:auto!important}
 .contact-premium-page .enquiry-submit-row{grid-column:auto!important}
 .contact-premium-page .enquiry-submit-row .btn{width:100%!important;min-width:0!important}
 .contact-premium-page .contact-connect-grid{grid-template-columns:1fr!important}
 .contact-premium-page .contact-direct-card,.contact-premium-page .contact-location-card{padding:30px 24px!important}
}


/* ================================================================
   v5.20.15 — ENQUIRE PAGE FINAL LAYOUT
   Contact page starts with the enquiry form. No separate hero.
   ================================================================ */
.contact-premium-page .contact-enquiry-premium{
  padding:88px 0 92px!important;
  background:
    radial-gradient(circle at 15% 15%,rgba(217,166,47,.08),transparent 28%),
    radial-gradient(circle at 88% 40%,rgba(217,166,47,.045),transparent 30%),
    #080a0b!important;
  border-bottom:1px solid rgba(217,166,47,.16)!important;
}
.contact-premium-page .contact-enquiry-heading{
  max-width:1180px!important;
  margin:0 auto 42px!important;
  text-align:center!important;
}
.contact-premium-page .contact-enquiry-heading .contact-section-label{
  margin-bottom:22px!important;
}
.contact-premium-page .contact-enquiry-heading h2{
  margin:0 auto 16px!important;
  max-width:1100px!important;
  font-size:clamp(46px,5.4vw,78px)!important;
  line-height:.98!important;
  letter-spacing:-2.2px!important;
}
.contact-premium-page .contact-enquiry-heading p{
  max-width:820px!important;
  margin:0 auto!important;
  color:#aeb2b1!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.contact-premium-page .contact-enquiry-shell{
  display:block!important;
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))!important;
  box-shadow:0 35px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.contact-premium-page .contact-enquiry-shell:before{
  width:145px!important;
  background:linear-gradient(90deg,var(--cp-gold),rgba(217,166,47,.25),transparent)!important;
}
.contact-premium-page .contact-form-card{
  padding:52px clamp(28px,5vw,72px) 58px!important;
  background:rgba(0,0,0,.14)!important;
}
.contact-premium-page .contact-enquiry-form{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:25px 28px!important;
}
.contact-premium-page .contact-enquiry-form .field{
  width:100%!important;
}
.contact-premium-page .contact-enquiry-form .field input,
.contact-premium-page .contact-enquiry-form .field textarea{
  width:100%!important;
  min-width:0!important;
}
.contact-premium-page .contact-enquiry-form .field.full{
  grid-column:1/-1!important;
}
.contact-premium-page .contact-enquiry-form .field.full input{
  min-height:60px!important;
}
.contact-premium-page .contact-enquiry-form .field textarea{
  min-height:170px!important;
}
.contact-premium-page .contact-enquiry-form .enquiry-submit-row{
  grid-column:1/-1!important;
  justify-content:center!important;
  padding-top:8px!important;
}
.contact-premium-page .contact-enquiry-form .enquiry-submit-row .btn{
  width:280px!important;
  min-width:280px!important;
  height:60px!important;
}
.contact-premium-page .contact-connect-premium{
  padding:88px 0 105px!important;
  background:#080a0b!important;
}
.contact-premium-page .contact-connect-grid{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
}
@media(max-width:700px){
  .contact-premium-page .contact-enquiry-premium{padding:68px 0 70px!important}
  .contact-premium-page .contact-enquiry-heading{margin-bottom:30px!important;padding:0 18px!important}
  .contact-premium-page .contact-enquiry-heading h2{font-size:clamp(40px,11vw,58px)!important;letter-spacing:-1.2px!important}
  .contact-premium-page .contact-enquiry-heading p{font-size:14px!important}
  .contact-premium-page .contact-enquiry-shell{width:calc(100% - 28px)!important}
  .contact-premium-page .contact-form-card{padding:34px 20px 40px!important}
  .contact-premium-page .contact-enquiry-form{grid-template-columns:1fr!important;gap:19px!important}
  .contact-premium-page .contact-enquiry-form .field.full{grid-column:auto!important}
  .contact-premium-page .contact-enquiry-form .enquiry-submit-row{grid-column:auto!important}
  .contact-premium-page .contact-enquiry-form .enquiry-submit-row .btn{width:100%!important;min-width:0!important}
  .contact-premium-page .contact-connect-premium{padding:68px 0 78px!important}
  .contact-premium-page .contact-connect-grid{width:calc(100% - 28px)!important}
}

/* v5.20.15.1 — enquiry copy alignment refinement */
.contact-premium-page .contact-enquiry-heading p{
  max-width:760px!important;
  margin:0 auto!important;
  text-align:center!important;
  line-height:1.65!important;
}
.contact-premium-page .contact-connect-head p{
  max-width:520px!important;
  margin:0 auto!important;
  text-align:center!important;
  line-height:1.65!important;
}

/* v5.20.16 — Enquire connect section alignment polish */
.contact-premium-page .contact-connect-head{
  text-align:center!important;
  max-width:980px!important;
  margin:0 auto 42px!important;
}
.contact-premium-page .contact-connect-head .contact-section-label{
  justify-content:center!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.contact-premium-page .contact-connect-head h2{
  text-align:center!important;
  max-width:900px!important;
  margin:0 auto 12px!important;
}
.contact-premium-page .contact-connect-head p{
  text-align:center!important;
  max-width:620px!important;
  margin:0 auto!important;
  line-height:1.55!important;
}
.contact-premium-page .contact-direct-card > p,
.contact-premium-page .contact-location-card > p{
  line-height:1.65!important;
}

/* v5.20.18 — Services hero headline width correction */
@media (min-width:1101px){
  html body .services-page .sp-page-hero .sp-hero-copy{
    max-width:1180px!important;
    width:100%!important;
  }
  html body .services-page .sp-page-hero .sp-hero-copy > h1{
    max-width:1180px!important;
    width:100%!important;
    font-size:clamp(52px,5.0vw,76px)!important;
    line-height:.98!important;
    letter-spacing:-2.8px!important;
    text-wrap:balance!important;
  }
  html body .services-page .sp-page-hero .sp-hero-text{
    max-width:820px!important;
  }
}
@media (min-width:851px) and (max-width:1100px){
  html body .services-page .sp-page-hero .sp-hero-copy,
  html body .services-page .sp-page-hero .sp-hero-copy > h1{
    max-width:900px!important;
  }
}

/* v5.20.19 — Capabilities intro/card breathing room
   Keep the supporting copy visually separated from the capability cards. */
html body.home #capabilities > .container > .section-lead + .cap-grid{
  margin-top:56px!important;
}
@media (max-width:760px){
  html body.home #capabilities > .container > .section-lead + .cap-grid{
    margin-top:40px!important;
  }
}

/* v5.20.20 — HOME SECTION LABEL SYSTEM
   Match the premium gold line-label treatment used across inner pages. */
.sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow,
.sp-section:not(.sp-page-hero) > .container > .eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:13px!important;
  width:max-content!important;
  max-width:100%!important;
  color:var(--sp-gold-bright,#D7A62A)!important;
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  font-family:'Montserrat',sans-serif!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:2.3px!important;
  text-transform:uppercase!important;
  text-shadow:0 0 16px rgba(215,166,42,.12)!important;
}
.sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow:before,
.sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow:after,
.sp-section:not(.sp-page-hero) > .container > .eyebrow:before,
.sp-section:not(.sp-page-hero) > .container > .eyebrow:after{
  content:""!important;
  display:block!important;
  flex:0 0 82px!important;
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:1px!important;
  margin:0!important;
  background:linear-gradient(90deg,transparent,#a97819 18%,#fff0a1 50%,#d7a62a 82%,transparent)!important;
  box-shadow:0 0 9px rgba(215,166,42,.24)!important;
  opacity:1!important;
}
.sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow:before,
.sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow:after{
  /* Keep the home two-column layout intact while giving the label the same finish. */
}
@media(max-width:760px){
  .sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow,
  .sp-section:not(.sp-page-hero) > .container > .eyebrow{
    font-size:10px!important;
    letter-spacing:2.2px!important;
    gap:11px!important;
  }
  .sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow:before,
  .sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow:after,
  .sp-section:not(.sp-page-hero) > .container > .eyebrow:before,
  .sp-section:not(.sp-page-hero) > .container > .eyebrow:after{
    flex-basis:42px!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
  }
}


/* v5.20.22 — HOME LABELS: match approved inner-page editorial label treatment */
html body.home .sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow,
html body.home .sp-section:not(.sp-page-hero) > .container > .eyebrow,
html body.home .home-business-cta .eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  gap:16px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  color:#c8a45a!important;
  -webkit-text-fill-color:#c8a45a!important;
  background:none!important;
  font-family:var(--sp-display,Montserrat,sans-serif)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:2.6px!important;
  text-transform:uppercase!important;
  text-shadow:0 0 14px rgba(200,164,90,.12)!important;
  white-space:nowrap!important;
}
html body.home .sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow::before,
html body.home .sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow::after,
html body.home .sp-section:not(.sp-page-hero) > .container > .eyebrow::before,
html body.home .sp-section:not(.sp-page-hero) > .container > .eyebrow::after,
html body.home .home-business-cta .eyebrow::before,
html body.home .home-business-cta .eyebrow::after{
  content:""!important;
  display:block!important;
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  flex:0 0 76px!important;
  height:1px!important;
  margin:0!important;
  background:#c8a45a!important;
  box-shadow:0 0 10px rgba(200,164,90,.22)!important;
  opacity:.9!important;
}
@media(max-width:760px){
  html body.home .sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow,
  html body.home .sp-section:not(.sp-page-hero) > .container > .eyebrow,
  html body.home .home-business-cta .eyebrow{
    gap:11px!important;
    font-size:10px!important;
    letter-spacing:2.2px!important;
  }
  html body.home .sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow::before,
  html body.home .sp-section:not(.sp-page-hero) .sp-section-intro .eyebrow::after,
  html body.home .sp-section:not(.sp-page-hero) > .container > .eyebrow::before,
  html body.home .sp-section:not(.sp-page-hero) > .container > .eyebrow::after,
  html body.home .home-business-cta .eyebrow::before,
  html body.home .home-business-cta .eyebrow::after{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    flex-basis:34px!important;
  }
}


/* =========================================================
   SHARPLINE v5.20.30 — GLOBAL NEGATIVE SPACE / VERTICAL RHYTHM PASS
   Reduce excessive vertical gaps across the full website while
   preserving the approved hierarchy, card proportions and hero treatment.
   ========================================================= */
html body .sp-section{
  padding-top:80px!important;
  padding-bottom:80px!important;
}
html body .sp-section-intro{
  margin-bottom:40px!important;
}
html body .sp-section-action{
  margin-top:30px!important;
}
html body .shared-closing-cta{
  padding-top:78px!important;
  padding-bottom:78px!important;
}

/* Inner pages use the same tighter section rhythm. */
html body .sp-page .sp-section{
  padding-top:80px!important;
  padding-bottom:80px!important;
}
html body .sp-page .sp-section-intro{
  margin-bottom:40px!important;
}
html body .sp-page .sp-section-action{
  margin-top:30px!important;
}

/* Keep content blocks compact without making the design feel cramped. */
html body .sp-client-proof{margin-top:28px!important;}
html body .sp-editorial .sp-editorial-head{margin-bottom:36px!important;}

@media(max-width:760px){
  html body .sp-section,
  html body .sp-page .sp-section{
    padding-top:58px!important;
    padding-bottom:58px!important;
  }
  html body .sp-section-intro,
  html body .sp-page .sp-section-intro{
    margin-bottom:30px!important;
  }
  html body .sp-section-action,
  html body .sp-page .sp-section-action{
    margin-top:24px!important;
  }
  html body .shared-closing-cta{
    padding-top:60px!important;
    padding-bottom:60px!important;
  }
}


/* =========================================================
   SHARPLINE v5.20.33 — HOME LABELS: EXACT GLOBAL EYEBROW MATCH
   Do not create a separate Home label design. Home uses the same
   .eyebrow typography and decorative rail as the inner pages.
   ========================================================= */
html body.home .home-section .home-section-label,
html body.home .home-section .sp-editorial-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 18px!important;
  padding:0!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  background:linear-gradient(90deg,#9d7418 0%,#d7a62a 25%,#fff0a1 48%,#d7a62a 70%,#a97819 100%)!important;
  background-size:220% 100%!important;
  background-position:center!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  font-family:var(--font-display)!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:2.2px!important;
  text-transform:uppercase!important;
  text-shadow:0 0 12px rgba(215,166,42,.14)!important;
  filter:drop-shadow(0 0 4px rgba(215,166,42,.10))!important;
  white-space:nowrap!important;
  animation:spLabelShine 5s linear infinite!important;
}
html body.home .home-section .home-section-label::before,
html body.home .home-section .home-section-label::after,
html body.home .home-section .sp-editorial-label::before,
html body.home .home-section .sp-editorial-label::after{
  content:""!important;
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  background:linear-gradient(90deg,#8b5f12,#f2cb67,#9b6b16)!important;
  box-shadow:0 0 8px rgba(215,166,42,.16)!important;
  opacity:.95!important;
}
@media(max-width:760px){
  html body.home .home-section .home-section-label,
  html body.home .home-section .sp-editorial-label{
    gap:12px!important;
    font-size:10px!important;
    letter-spacing:2.2px!important;
  }
  html body.home .home-section .home-section-label::before,
  html body.home .home-section .home-section-label::after,
  html body.home .home-section .sp-editorial-label::before,
  html body.home .home-section .sp-editorial-label::after{
    flex-basis:54px!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
  }
}
@media(max-width:560px){
  html body.home .home-section .home-section-label,
  html body.home .home-section .sp-editorial-label{
    gap:10px!important;
    font-size:9px!important;
    letter-spacing:2px!important;
    white-space:normal!important;
  }
  html body.home .home-section .home-section-label::before,
  html body.home .home-section .home-section-label::after,
  html body.home .home-section .sp-editorial-label::before,
  html body.home .home-section .sp-editorial-label::after{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
  }
}

/* =========================================================
   SHARPLINE v5.20.35 — GLOBAL SECTION LABELS: MATCH HOME
   The Home section-label treatment is now the single visual
   standard for all editorial/content-section labels site-wide.
   ========================================================= */
html body .sp-section:not(.sp-page-hero) .eyebrow,
html body .sp-editorial-head .eyebrow,
html body .sp-service-heading .eyebrow,
html body .sp-contact-direct > .eyebrow,
html body .sp-contact-location > .eyebrow,
html body .shared-closing-cta .eyebrow,
html body .home-business-cta .eyebrow,
html body .cta-band .eyebrow,
html body .content-block .eyebrow,
html body .services-intro .eyebrow,
html body .industry-page-grid .eyebrow,
html body .capability-overview .eyebrow,
html body .contact-section .eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:max-content!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  color:#c8a45a!important;
  -webkit-text-fill-color:#c8a45a!important;
  background:none!important;
  background-image:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  font-family:var(--font-display,Montserrat,Arial,sans-serif)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:2.2px!important;
  text-transform:uppercase!important;
  text-shadow:0 0 12px rgba(215,166,42,.14)!important;
  white-space:nowrap!important;
  animation:none!important;
}
html body .sp-section:not(.sp-page-hero) .eyebrow::before,
html body .sp-section:not(.sp-page-hero) .eyebrow::after,
html body .sp-editorial-head .eyebrow::before,
html body .sp-editorial-head .eyebrow::after,
html body .sp-service-heading .eyebrow::before,
html body .sp-service-heading .eyebrow::after,
html body .sp-contact-direct > .eyebrow::before,
html body .sp-contact-direct > .eyebrow::after,
html body .sp-contact-location > .eyebrow::before,
html body .sp-contact-location > .eyebrow::after,
html body .shared-closing-cta .eyebrow::before,
html body .shared-closing-cta .eyebrow::after,
html body .home-business-cta .eyebrow::before,
html body .home-business-cta .eyebrow::after,
html body .cta-band .eyebrow::before,
html body .cta-band .eyebrow::after,
html body .content-block .eyebrow::before,
html body .content-block .eyebrow::after,
html body .services-intro .eyebrow::before,
html body .services-intro .eyebrow::after,
html body .industry-page-grid .eyebrow::before,
html body .industry-page-grid .eyebrow::after,
html body .capability-overview .eyebrow::before,
html body .capability-overview .eyebrow::after,
html body .contact-section .eyebrow::before,
html body .contact-section .eyebrow::after{
  content:""!important;
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  background:#c8a45a!important;
  box-shadow:0 0 10px rgba(200,164,90,.22)!important;
  opacity:.9!important;
}
/* Contact section's standalone label uses the same Home treatment. */
html body .contact-section-label{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:max-content!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  color:#c8a45a!important;
  font-family:var(--font-display,Montserrat,Arial,sans-serif)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:2.2px!important;
  text-transform:uppercase!important;
  text-shadow:0 0 12px rgba(215,166,42,.14)!important;
}
html body .contact-section-label i{
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:1px!important;
  margin:0!important;
  background:#c8a45a!important;
  box-shadow:0 0 10px rgba(200,164,90,.22)!important;
}
@media(max-width:760px){
  html body .sp-section:not(.sp-page-hero) .eyebrow,
  html body .sp-editorial-head .eyebrow,
  html body .sp-service-heading .eyebrow,
  html body .sp-contact-direct > .eyebrow,
  html body .sp-contact-location > .eyebrow,
  html body .shared-closing-cta .eyebrow,
  html body .home-business-cta .eyebrow,
  html body .cta-band .eyebrow,
  html body .content-block .eyebrow,
  html body .services-intro .eyebrow,
  html body .industry-page-grid .eyebrow,
  html body .capability-overview .eyebrow,
  html body .contact-section .eyebrow,
  html body .contact-section-label{
    gap:12px!important;
    font-size:10px!important;
    letter-spacing:2.2px!important;
  }
  html body .sp-section:not(.sp-page-hero) .eyebrow::before,
  html body .sp-section:not(.sp-page-hero) .eyebrow::after,
  html body .sp-editorial-head .eyebrow::before,
  html body .sp-editorial-head .eyebrow::after,
  html body .sp-service-heading .eyebrow::before,
  html body .sp-service-heading .eyebrow::after,
  html body .sp-contact-direct > .eyebrow::before,
  html body .sp-contact-direct > .eyebrow::after,
  html body .sp-contact-location > .eyebrow::before,
  html body .sp-contact-location > .eyebrow::after,
  html body .shared-closing-cta .eyebrow::before,
  html body .shared-closing-cta .eyebrow::after,
  html body .home-business-cta .eyebrow::before,
  html body .home-business-cta .eyebrow::after,
  html body .cta-band .eyebrow::before,
  html body .cta-band .eyebrow::after,
  html body .content-block .eyebrow::before,
  html body .content-block .eyebrow::after,
  html body .services-intro .eyebrow::before,
  html body .services-intro .eyebrow::after,
  html body .industry-page-grid .eyebrow::before,
  html body .industry-page-grid .eyebrow::after,
  html body .capability-overview .eyebrow::before,
  html body .capability-overview .eyebrow::after,
  html body .contact-section .eyebrow::before,
  html body .contact-section .eyebrow::after,
  html body .contact-section-label i{
    flex-basis:54px!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
  }
}
@media(max-width:560px){
  html body .sp-section:not(.sp-page-hero) .eyebrow,
  html body .sp-editorial-head .eyebrow,
  html body .sp-service-heading .eyebrow,
  html body .sp-contact-direct > .eyebrow,
  html body .sp-contact-location > .eyebrow,
  html body .shared-closing-cta .eyebrow,
  html body .home-business-cta .eyebrow,
  html body .cta-band .eyebrow,
  html body .content-block .eyebrow,
  html body .services-intro .eyebrow,
  html body .industry-page-grid .eyebrow,
  html body .capability-overview .eyebrow,
  html body .contact-section .eyebrow,
  html body .contact-section-label{
    gap:10px!important;
    font-size:9px!important;
    letter-spacing:2px!important;
  }
  html body .sp-section:not(.sp-page-hero) .eyebrow::before,
  html body .sp-section:not(.sp-page-hero) .eyebrow::after,
  html body .sp-editorial-head .eyebrow::before,
  html body .sp-editorial-head .eyebrow::after,
  html body .sp-service-heading .eyebrow::before,
  html body .sp-service-heading .eyebrow::after,
  html body .sp-contact-direct > .eyebrow::before,
  html body .sp-contact-direct > .eyebrow::after,
  html body .sp-contact-location > .eyebrow::before,
  html body .sp-contact-location > .eyebrow::after,
  html body .shared-closing-cta .eyebrow::before,
  html body .shared-closing-cta .eyebrow::after,
  html body .home-business-cta .eyebrow::before,
  html body .home-business-cta .eyebrow::after,
  html body .cta-band .eyebrow::before,
  html body .cta-band .eyebrow::after,
  html body .content-block .eyebrow::before,
  html body .content-block .eyebrow::after,
  html body .services-intro .eyebrow::before,
  html body .services-intro .eyebrow::after,
  html body .industry-page-grid .eyebrow::before,
  html body .industry-page-grid .eyebrow::after,
  html body .capability-overview .eyebrow::before,
  html body .capability-overview .eyebrow::after,
  html body .contact-section .eyebrow::before,
  html body .contact-section .eyebrow::after,
  html body .contact-section-label i{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
  }
}


/* =========================================================
   SHARPLINE v5.20.36 — MASTER EYEBROW SYSTEM
   The Home page eyebrow treatment is the single approved
   eyebrow style across the entire visible website.
   ========================================================= */
html body .home-eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:max-content!important;
  max-width:calc(100% - 20px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-top:0!important;
  padding:0!important;
  color:#c8a45a!important;
  -webkit-text-fill-color:#c8a45a!important;
  background:none!important;
  background-image:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  font-family:var(--font-display,Montserrat,Arial,sans-serif)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:2.2px!important;
  text-transform:uppercase!important;
  text-shadow:0 0 12px rgba(215,166,42,.14)!important;
  white-space:nowrap!important;
  animation:none!important;
  filter:none!important;
}
html body .home-eyebrow::before,
html body .home-eyebrow::after{
  content:""!important;
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  background:#c8a45a!important;
  box-shadow:0 0 10px rgba(200,164,90,.22)!important;
  opacity:.9!important;
}
/* Keep intentionally hidden legacy labels hidden. */
html body .about-v600-cta .home-eyebrow{display:none!important;}

/* Contact's non-span label uses the exact same master treatment. */
html body .contact-section-label{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:max-content!important;
  max-width:calc(100% - 20px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  color:#c8a45a!important;
  -webkit-text-fill-color:#c8a45a!important;
  background:none!important;
  font-family:var(--font-display,Montserrat,Arial,sans-serif)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:2.2px!important;
  text-transform:uppercase!important;
  text-shadow:0 0 12px rgba(215,166,42,.14)!important;
  white-space:nowrap!important;
}
html body .contact-section-label i{
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:1px!important;
  margin:0!important;
  background:#c8a45a!important;
  box-shadow:0 0 10px rgba(200,164,90,.22)!important;
}

@media(max-width:760px){
  html body .home-eyebrow,
  html body .contact-section-label{
    gap:12px!important;
    font-size:10px!important;
    letter-spacing:2.2px!important;
  }
  html body .home-eyebrow::before,
  html body .home-eyebrow::after,
  html body .contact-section-label i{
    flex-basis:54px!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
  }
}
@media(max-width:560px){
  html body .home-eyebrow,
  html body .contact-section-label{
    gap:10px!important;
    font-size:9px!important;
    letter-spacing:2px!important;
    white-space:normal!important;
  }
  html body .home-eyebrow::before,
  html body .home-eyebrow::after,
  html body .contact-section-label i{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
  }
}

/* =========================================================
   v5.20.37 — DEFINITIVE SITE-WIDE EYEBROW MASTER
   The Home page eyebrow is the single approved visual reference.
   Every visible .eyebrow on every page uses this exact treatment.
   ========================================================= */
html body .eyebrow,
html body .home-eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:max-content!important;
  max-width:calc(100% - 20px)!important;
  margin:0 auto 18px!important;
  padding:0!important;
  color:#c8a45a!important;
  -webkit-text-fill-color:#c8a45a!important;
  background:none!important;
  background-image:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  font-family:var(--font-display,'Barlow Condensed',Arial,sans-serif)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:2.2px!important;
  text-transform:uppercase!important;
  text-shadow:0 0 12px rgba(215,166,42,.14)!important;
  white-space:nowrap!important;
  animation:none!important;
  filter:none!important;
}
html body .eyebrow::before,
html body .eyebrow::after,
html body .home-eyebrow::before,
html body .home-eyebrow::after{
  content:""!important;
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  background:#c8a45a!important;
  box-shadow:0 0 10px rgba(200,164,90,.22)!important;
  opacity:.9!important;
}
html body .eyebrow.dark{
  color:#c8a45a!important;
  -webkit-text-fill-color:#c8a45a!important;
}
html body .contact-section-label{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:max-content!important;
  max-width:calc(100% - 20px)!important;
  margin:0 auto 18px!important;
  padding:0!important;
  color:#c8a45a!important;
  -webkit-text-fill-color:#c8a45a!important;
  background:none!important;
  font-family:var(--font-display,'Barlow Condensed',Arial,sans-serif)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:2.2px!important;
  text-transform:uppercase!important;
  text-shadow:0 0 12px rgba(215,166,42,.14)!important;
  white-space:nowrap!important;
}
html body .contact-section-label i{
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  background:#c8a45a!important;
  box-shadow:0 0 10px rgba(200,164,90,.22)!important;
}
@media(max-width:760px){
  html body .eyebrow,
  html body .home-eyebrow,
  html body .contact-section-label{
    gap:12px!important;
    font-size:10px!important;
    letter-spacing:2.2px!important;
  }
  html body .eyebrow::before,
  html body .eyebrow::after,
  html body .home-eyebrow::before,
  html body .home-eyebrow::after,
  html body .contact-section-label i{
    flex-basis:54px!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
  }
}
@media(max-width:560px){
  html body .eyebrow,
  html body .home-eyebrow,
  html body .contact-section-label{
    gap:10px!important;
    font-size:9px!important;
    letter-spacing:2px!important;
    white-space:normal!important;
  }
  html body .eyebrow::before,
  html body .eyebrow::after,
  html body .home-eyebrow::before,
  html body .home-eyebrow::after,
  html body .contact-section-label i{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
  }
}


/* =========================================================
   SHARPLINE v5.20.38 — MASTER EYEBROW SYSTEM
   The Home WHAT WE DO eyebrow is the single master treatment.
   Every site-wide eyebrow uses this exact typography, gold
   treatment, spacing and balanced rules.
   ========================================================= */
html body .eyebrow,
html body .contact-section-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:max-content!important;
  max-width:calc(100% - 20px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  font-family:Montserrat,Inter,Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:3px!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  color:transparent!important;
  background:linear-gradient(180deg,#fff0a3 0%,#f2cf72 22%,#d79f2e 48%,#a96d0d 70%,#f5d77d 100%)!important;
  background-color:transparent!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:0 1px 0 rgba(255,240,170,.22),0 2px 10px rgba(184,126,20,.18)!important;
  animation:none!important;
  filter:none!important;
}
html body .eyebrow::before,
html body .eyebrow::after,
html body .contact-section-label::before,
html body .contact-section-label::after{
  content:""!important;
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  background:linear-gradient(90deg,rgba(126,82,10,.35),#d6a02d 25%,#ffe18b 50%,#c48a1f 75%,rgba(126,82,10,.35))!important;
  box-shadow:0 0 8px rgba(235,187,70,.18)!important;
  opacity:1!important;
}
html body .contact-section-label i{
  display:none!important;
}
@media(max-width:760px){
  html body .eyebrow,
  html body .contact-section-label{
    gap:12px!important;
    font-size:12px!important;
    letter-spacing:2.1px!important;
  }
  html body .eyebrow::before,
  html body .eyebrow::after,
  html body .contact-section-label::before,
  html body .contact-section-label::after{
    flex-basis:64px!important;
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
  }
}
@media(max-width:560px){
  html body .eyebrow,
  html body .contact-section-label{
    gap:10px!important;
    font-size:11px!important;
    letter-spacing:2px!important;
  }
  html body .eyebrow::before,
  html body .eyebrow::after,
  html body .contact-section-label::before,
  html body .contact-section-label::after{
    flex-basis:42px!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
  }
}


/* =========================================================
   SHARPLINE v5.20.39 — SINGLE MASTER EYEBROW CLASS
   One class. One visual system. Every public website eyebrow
   uses .site-eyebrow so page-specific eyebrow styling cannot diverge.
   ========================================================= */
.site-eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:max-content!important;
  max-width:calc(100% - 20px)!important;
  margin:0 auto 18px!important;
  padding:0!important;
  box-sizing:border-box!important;
  font-family:Montserrat,Inter,Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:3px!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  color:transparent!important;
  background:linear-gradient(180deg,#fff0a3 0%,#f2cf72 22%,#d79f2e 48%,#a96d0d 70%,#f5d77d 100%)!important;
  background-color:transparent!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:0 1px 0 rgba(255,240,170,.22),0 2px 10px rgba(184,126,20,.18)!important;
  animation:none!important;
  filter:none!important;
}
.site-eyebrow::before,
.site-eyebrow::after{
  content:""!important;
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  background:linear-gradient(90deg,rgba(126,82,10,.35),#d6a02d 25%,#ffe18b 50%,#c48a1f 75%,rgba(126,82,10,.35))!important;
  box-shadow:0 0 8px rgba(235,187,70,.18)!important;
  opacity:1!important;
}
@media(max-width:760px){
  .site-eyebrow{
    gap:12px!important;
    font-size:12px!important;
    letter-spacing:2.1px!important;
  }
  .site-eyebrow::before,.site-eyebrow::after{
    flex-basis:64px!important;
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
  }
}
@media(max-width:560px){
  .site-eyebrow{
    gap:10px!important;
    font-size:11px!important;
    letter-spacing:2px!important;
    white-space:normal!important;
  }
  .site-eyebrow::before,.site-eyebrow::after{
    flex-basis:42px!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
  }
}

/* =========================================================
   v5.20.40 — HERO EYEBROW POSITIONING
   Hero eyebrows use the same master typography/colour system,
   but are left-aligned and have no decorative lines.
   All non-hero section eyebrows remain centered with both lines.
   Contact / Enquire page is intentionally excluded.
   ========================================================= */
.sp-page-hero .site-eyebrow,
.inner-hero .site-eyebrow{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 18px!important;
  padding:0!important;
  justify-content:flex-start!important;
  gap:0!important;
  text-align:left!important;
}
.sp-page-hero .site-eyebrow::before,
.sp-page-hero .site-eyebrow::after,
.inner-hero .site-eyebrow::before,
.inner-hero .site-eyebrow::after{
  display:none!important;
  content:none!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  flex:0 0 0!important;
}
@media(max-width:760px){
  .sp-page-hero .site-eyebrow,
  .inner-hero .site-eyebrow{
    margin:0 0 16px!important;
  }
}

/* =========================================================
   SHARPLINE v5.20.41 — NON-HERO EYEBROW CENTERING
   Hero eyebrows remain left aligned and line-free.
   Every non-hero eyebrow is centered. The shared closing CTA
   eyebrow is centered across the full CTA width.
   ========================================================= */
.site-eyebrow{
  margin-left:auto!important;
  margin-right:auto!important;
}
.sp-page-hero .site-eyebrow,
.inner-hero .site-eyebrow{
  margin-left:0!important;
  margin-right:0!important;
}
.shared-closing-cta .cta-shell.container{
  position:relative!important;
}
.shared-closing-cta .cta-copy > .site-eyebrow{
  position:absolute!important;
  top:-44px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  z-index:5!important;
  margin:0!important;
  white-space:nowrap!important;
}
@media(max-width:1050px){
  .shared-closing-cta .cta-copy > .site-eyebrow{
    position:static!important;
    transform:none!important;
    width:max-content!important;
    margin:0 auto 18px!important;
  }
}


/* v5.20.42 — FINAL HERO EYEBROW OVERRIDE */
.sp-page-hero .site-eyebrow,
.inner-hero .site-eyebrow{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
  gap:0!important;
}
.sp-page-hero .site-eyebrow::before,
.sp-page-hero .site-eyebrow::after,
.inner-hero .site-eyebrow::before,
.inner-hero .site-eyebrow::after{
  content:none!important;
  display:none!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  flex:none!important;
}

/* =========================================================
   SHARPLINE v5.20.43 — HOME NON-HERO EYEBROW / CTA ALIGNMENT
   Home section eyebrows are content-section labels, not heroes.
   Keep them on the same centered master system as every other
   non-hero section. Home CTA rows remain centered as well.
   ========================================================= */
html body.home .home-section:not(.home-hero) > .container > .site-eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:calc(100% - 20px)!important;
  margin:0 auto 18px!important;
  padding:0!important;
  gap:18px!important;
  text-align:center!important;
}
html body.home .home-section:not(.home-hero) > .container > .site-eyebrow::before,
html body.home .home-section:not(.home-hero) > .container > .site-eyebrow::after{
  content:""!important;
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  background:linear-gradient(90deg,rgba(116,77,11,.45),#dcae45 35%,#f3ce78 50%,#c88d22 68%,rgba(116,77,11,.45))!important;
  box-shadow:0 0 7px rgba(221,170,58,.14)!important;
  opacity:.95!important;
}
html body.home .home-section:not(.home-hero) > .container > .section-cta-row{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:760px){
  html body.home .home-section:not(.home-hero) > .container > .site-eyebrow{
    gap:12px!important;
    max-width:100%!important;
    font-size:10px!important;
    letter-spacing:2.2px!important;
  }
  html body.home .home-section:not(.home-hero) > .container > .site-eyebrow::before,
  html body.home .home-section:not(.home-hero) > .container > .site-eyebrow::after{
    flex-basis:54px!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
  }
}
@media(max-width:560px){
  html body.home .home-section:not(.home-hero) > .container > .site-eyebrow{
    gap:10px!important;
    font-size:9px!important;
    letter-spacing:2px!important;
  }
  html body.home .home-section:not(.home-hero) > .container > .site-eyebrow::before,
  html body.home .home-section:not(.home-hero) > .container > .site-eyebrow::after{
    flex-basis:42px!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
  }
}

/* =========================================================
   SHARPLINE v5.20.44 — TWO-FONT GLOBAL SYSTEM + TIGHTER RHYTHM
   Exactly two typefaces site-wide:
   1) Barlow Condensed — display / headings / navigation / labels
   2) Inter — body / forms / supporting UI
   ========================================================= */
:root{
  --font-display:'Barlow Condensed',sans-serif!important;
  --font-body:'Inter',sans-serif!important;
}

/* Hard reset typography to the two approved families. */
html body,
html body *{
  font-family:'Inter',sans-serif!important;
}

/* Display family: every heading and branded/UI display element. */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .site-eyebrow,
html body .eyebrow,
html body .home-section-label,
html body .sp-editorial-label,
html body .main-nav,
html body .main-nav a,
html body .primary-nav a,
html body .btn,
html body .footer-label,
html body .sp-index,
html body .sp-card-link,
html body .section-label,
html body .hero-microline,
html body .industry-index,
html body .service-number,
html body .trust-number,
html body .cap-number,
html body .field label,
html body .contact-microline,
html body .contact-info-list a span,
html body .contact-map-link,
html body .contact-section-label,
html body .text-action-label,
html body .direct-link small,
html body .address-box small,
html body .service-points span,
html body .footer-brand-line,
html body .sp-direct-links a small{
  font-family:'Barlow Condensed',sans-serif!important;
}

/* Keep paragraph/copy/form input typography on Inter. */
html body p,
html body li,
html body label,
html body input,
html body select,
html body textarea,
html body option,
html body blockquote,
html body .section-lead,
html body .rich-copy,
html body .sp-copy,
html body .sp-page p,
html body .site-footer p,
html body .site-footer a,
html body .site-footer li a,
html body .sp-direct-links a strong,
html body .btn span,
html body .btn .arrow,
html body .btn .btn-arrow{
  font-family:'Inter',sans-serif!important;
}

/* Never allow legacy inline Arial/other family declarations to leak through. */
html body [style*="font-family"]{
  font-family:inherit!important;
}

/* Tighter section rhythm — reduce excess vertical negative space site-wide.
   Hero heights are deliberately excluded. */
html body .sp-section:not(.sp-page-hero),
html body .home-section:not(.home-hero),
html body .content-block,
html body .services-intro,
html body .service-detail,
html body .industry-page-grid,
html body .capability-overview,
html body .cta-band,
html body .mini-cta,
html body .contact-section,
html body .contact-bottom{
  padding-top:clamp(58px,5.5vw,78px)!important;
  padding-bottom:clamp(58px,5.5vw,78px)!important;
}

/* Preserve compact spacing between adjacent sections. */
html body .sp-section + .sp-section,
html body .home-section + .home-section,
html body .content-block + .content-block{
  margin-top:0!important;
}

html body .sp-section .sp-section-intro,
html body .home-section .section-intro,
html body .home-section .home-section-intro{
  margin-bottom:28px!important;
}

html body .sp-section .sp-section-action,
html body .home-section .section-cta-row{
  margin-top:24px!important;
}

/* Keep mobile rhythm compact without making sections cramped. */
@media(max-width:760px){
  html body .sp-section:not(.sp-page-hero),
  html body .home-section:not(.home-hero),
  html body .content-block,
  html body .services-intro,
  html body .service-detail,
  html body .industry-page-grid,
  html body .capability-overview,
  html body .cta-band,
  html body .mini-cta,
  html body .contact-section,
  html body .contact-bottom{
    padding-top:46px!important;
    padding-bottom:46px!important;
  }
}

@media(max-width:560px){
  html body .sp-section:not(.sp-page-hero),
  html body .home-section:not(.home-hero),
  html body .content-block,
  html body .services-intro,
  html body .service-detail,
  html body .industry-page-grid,
  html body .capability-overview,
  html body .cta-band,
  html body .mini-cta,
  html body .contact-section,
  html body .contact-bottom{
    padding-top:40px!important;
    padding-bottom:40px!important;
  }
}


/* v5.20.45 — Enquire page typography refinement */
html body .contact-premium-page .contact-enquiry-heading h2{
  font-size:clamp(48px,5.2vw,76px)!important;
}
html body .contact-premium-page .contact-enquiry-heading p{
  font-size:17px!important;
}
html body .contact-premium-page .contact-enquiry-form .field label{
  font-size:13px!important;
  letter-spacing:2px!important;
  margin-bottom:10px!important;
}
html body .contact-premium-page .contact-enquiry-form input,
html body .contact-premium-page .contact-enquiry-form textarea{
  font-size:17px!important;
  line-height:1.5!important;
}
html body .contact-premium-page .contact-enquiry-form input::placeholder,
html body .contact-premium-page .contact-enquiry-form textarea::placeholder{
  font-size:17px!important;
}
html body .contact-premium-page .contact-connect-head h2{
  font-size:clamp(46px,4.6vw,68px)!important;
}
html body .contact-premium-page .contact-connect-head p{
  font-size:17px!important;
}
html body .contact-premium-page .contact-direct-card h3,
html body .contact-premium-page .contact-location-card h3{
  font-size:32px!important;
}
html body .contact-premium-page .contact-direct-card > p,
html body .contact-premium-page .contact-location-card .contact-address{
  font-size:16px!important;
  line-height:1.65!important;
}
html body .contact-premium-page .contact-direct-links strong{
  font-size:16px!important;
}
html body .contact-premium-page .contact-direct-links span,
html body .contact-premium-page .contact-map-link{
  font-size:12px!important;
}
@media(max-width:760px){
  html body .contact-premium-page .contact-enquiry-heading h2{font-size:clamp(42px,10vw,58px)!important}
  html body .contact-premium-page .contact-enquiry-heading p{font-size:16px!important}
  html body .contact-premium-page .contact-enquiry-form input,
  html body .contact-premium-page .contact-enquiry-form textarea,
  html body .contact-premium-page .contact-enquiry-form input::placeholder,
  html body .contact-premium-page .contact-enquiry-form textarea::placeholder{font-size:16px!important}
  html body .contact-premium-page .contact-connect-head h2{font-size:clamp(40px,10vw,56px)!important}
  html body .contact-premium-page .contact-direct-card h3,
  html body .contact-premium-page .contact-location-card h3{font-size:28px!important}
}

/* v5.20.46 — Enquire typography alignment
   Keep the enquiry heading on one display typeface and increase form readability. */
html body .contact-premium-page .contact-enquiry-heading h2,
html body .contact-premium-page .contact-enquiry-heading h2 em{
  font-family:'Barlow Condensed',sans-serif!important;
  font-weight:800!important;
  font-style:normal!important;
}
html body .contact-premium-page .contact-enquiry-heading h2 em{
  color:#d9aa43!important;
}
html body .contact-premium-page .contact-enquiry-form .field label{
  font-family:'Barlow Condensed',sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:2px!important;
}
html body .contact-premium-page .contact-enquiry-form input,
html body .contact-premium-page .contact-enquiry-form textarea,
html body .contact-premium-page .contact-enquiry-form input::placeholder,
html body .contact-premium-page .contact-enquiry-form textarea::placeholder{
  font-family:'Inter',sans-serif!important;
  font-size:18px!important;
  line-height:1.55!important;
}
@media(max-width:760px){
  html body .contact-premium-page .contact-enquiry-form input,
  html body .contact-premium-page .contact-enquiry-form textarea,
  html body .contact-premium-page .contact-enquiry-form input::placeholder,
  html body .contact-premium-page .contact-enquiry-form textarea::placeholder{
    font-size:17px!important;
  }
}

/* =========================================================
   SHARPLINE v5.20.47 — ENQUIRE ALIGNMENT + GLOBAL RHYTHM PASS
   Enquire page is intentionally left-aligned. Keep the rest of
   the site on the existing global typography/eyebrow system.
   ========================================================= */
html body .contact-premium-page .contact-enquiry-premium{
  padding-top:58px!important;
  padding-bottom:62px!important;
}
html body .contact-premium-page .contact-enquiry-heading{
  text-align:left!important;
  max-width:1180px!important;
  margin:0 auto 24px!important;
  padding:0!important;
}
html body .contact-premium-page .contact-enquiry-heading .site-eyebrow{
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
  justify-content:flex-start!important;
  width:max-content!important;
}
html body .contact-premium-page .contact-enquiry-heading h2{
  margin:0 0 10px!important;
  max-width:920px!important;
  text-align:left!important;
  font-family:'Barlow Condensed',sans-serif!important;
  font-weight:700!important;
  letter-spacing:-1.5px!important;
}
html body .contact-premium-page .contact-enquiry-heading p{
  max-width:760px!important;
  margin:0!important;
  text-align:left!important;
  font-family:'Inter',sans-serif!important;
  font-size:16px!important;
  line-height:1.6!important;
}
html body .contact-premium-page .contact-enquiry-shell{
  margin-top:0!important;
}
html body .contact-premium-page .contact-form-card{
  padding-top:42px!important;
  padding-bottom:46px!important;
}
html body .contact-premium-page .contact-enquiry-form{
  gap:18px 24px!important;
}
html body .contact-premium-page .contact-enquiry-form .field label{
  margin-bottom:8px!important;
}

/* Reduce excessive vertical section padding site-wide; hero heights remain untouched. */
html body .sp-section:not(.sp-page-hero),
html body .home-section:not(.home-hero),
html body .content-block,
html body .services-intro,
html body .service-detail,
html body .industry-page-grid,
html body .capability-overview,
html body .cta-band,
html body .mini-cta,
html body .contact-section,
html body .contact-bottom,
html body .contact-connect-premium{
  padding-top:clamp(46px,4.6vw,64px)!important;
  padding-bottom:clamp(46px,4.6vw,64px)!important;
}

@media(max-width:700px){
  html body .contact-premium-page .contact-enquiry-premium{
    padding-top:44px!important;
    padding-bottom:48px!important;
  }
  html body .contact-premium-page .contact-enquiry-heading{
    margin-bottom:20px!important;
  }
  html body .contact-premium-page .contact-enquiry-heading h2{
    font-size:clamp(40px,10vw,56px)!important;
    font-weight:700!important;
  }
  html body .contact-premium-page .contact-enquiry-heading p{
    font-size:15px!important;
  }
  html body .contact-premium-page .contact-form-card{
    padding-top:32px!important;
    padding-bottom:36px!important;
  }
  html body .sp-section:not(.sp-page-hero),
  html body .home-section:not(.home-hero),
  html body .content-block,
  html body .services-intro,
  html body .service-detail,
  html body .industry-page-grid,
  html body .capability-overview,
  html body .cta-band,
  html body .mini-cta,
  html body .contact-section,
  html body .contact-bottom,
  html body .contact-connect-premium{
    padding-top:38px!important;
    padding-bottom:38px!important;
  }
}

@media(max-width:560px){
  html body .contact-premium-page .contact-enquiry-premium{
    padding-top:38px!important;
    padding-bottom:42px!important;
  }
  html body .contact-premium-page .contact-enquiry-heading h2{
    font-size:42px!important;
    line-height:1.02!important;
  }
}

/* v5.20.50: Enquire intro alignment — centered */
html body.contact-premium-page .contact-enquiry-heading{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body.contact-premium-page .contact-enquiry-heading .site-eyebrow,
html body.contact-premium-page .contact-enquiry-heading .contact-section-label{
  margin-left:auto!important;
  margin-right:auto!important;
}
html body.contact-premium-page .contact-enquiry-heading h2,
html body.contact-premium-page .contact-enquiry-heading p{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* v5.20.51: Enquire intro — force true centered alignment */
html body .contact-premium-page .contact-enquiry-heading{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:1100px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body .contact-premium-page .contact-enquiry-heading .site-eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body .contact-premium-page .contact-enquiry-heading h2,
html body .contact-premium-page .contact-enquiry-heading p{
  width:100%!important;
  max-width:1000px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body .contact-premium-page .contact-enquiry-heading h2 em{
  display:block!important;
  text-align:center!important;
}
@media(max-width:700px){
  html body .contact-premium-page .contact-enquiry-heading{max-width:100%!important}
  html body .contact-premium-page .contact-enquiry-heading h2,
  html body .contact-premium-page .contact-enquiry-heading p{max-width:100%!important}
}


/* v5.20.58 — clear section-to-section division for the Home page.
   A restrained border makes the change between adjacent sections visible
   without introducing decorative bars or changing the section layout. */
html body.home #home-what-we-do.sp-section,
html body.home #home-industries.sp-section,
html body.home #home-why.sp-section,
html body.home #home-capabilities.sp-section,
html body.home #home-clients.sp-section{
  border-top:1px solid rgba(205,166,67,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
html body.home #home-industries.sp-section,
html body.home #home-capabilities.sp-section{
  border-top-color:rgba(205,166,67,.34)!important;
}
html body.home #home-what-we-do.sp-section::after,
html body.home #home-industries.sp-section::after,
html body.home #home-why.sp-section::after,
html body.home #home-capabilities.sp-section::after,
html body.home #home-clients.sp-section::after{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,rgba(205,166,67,0),rgba(205,166,67,.22) 18%,rgba(255,255,255,.12) 50%,rgba(205,166,67,.22) 82%,rgba(205,166,67,0));
  z-index:4;
  pointer-events:none;
}

/* Home section separation — clear structural dividers */
.home-section{
  border-top:1px solid rgba(255,255,255,.14)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
.home-section + .home-section{
  border-top:1px solid rgba(212,160,45,.28)!important;
}

/* =========================================================
   SHARPLINE v5.20.59 — BOX CONTENT BALANCE + CORNER FRAME
   Global box treatment:
   - vertically centres content inside framed boxes
   - removes unnecessary fixed height when there is no CTA
   - keeps image/content rows vertically balanced
   - adds matching gold top-left + bottom-right corner details
   ========================================================= */

/* Framed editorial rails: centre the content instead of leaving it pinned to the top. */
html body .sp-editorial-row,
html body .sp-service-body-row{
  align-items:center!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.10)!important;
}

html body .sp-editorial-row.sp-has-image,
html body .sp-service-body-row{
  align-items:center!important;
}

/* Image-less boxes should be only as tall as their actual content needs. */
html body .sp-editorial-row.sp-no-image{
  min-height:0!important;
  padding:44px 48px!important;
  align-items:center!important;
}

html body .sp-editorial-row.sp-no-image .sp-editorial-copy{
  min-height:0!important;
  height:auto!important;
  justify-content:center!important;
}

/* When there is a CTA, give the content enough room without creating a dead lower gap. */
html body .sp-editorial-row.sp-no-image .sp-section-action{
  margin-top:26px!important;
  margin-bottom:0!important;
}

/* Image/content boxes: centre the copy vertically against the image. */
html body .sp-editorial-row.sp-has-image .sp-editorial-copy,
html body .sp-service-body-row .sp-editorial-copy,
html body .sp-service-body-row .sp-service-body-copy{
  align-self:center!important;
  justify-content:center!important;
}

/* Site-wide content cards: don't force empty vertical space when no action exists. */
html body .editorial-industry-card,
html body .editorial-cap-card,
html body .industry-card,
html body .cap-card{
  min-height:0!important;
  height:auto!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

html body .editorial-industry-card{
  min-height:190px!important;
}
html body .editorial-cap-card{
  min-height:205px!important;
}

html body .editorial-trust-card{
  min-height:245px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

/* Service cards retain their image, but the content below it is vertically balanced. */
html body .editorial-card-body{
  justify-content:center!important;
}
html body .editorial-card-body a{
  margin-top:22px!important;
}

/* Form/contact panels: content is centred vertically without forcing oversized panels. */
html body .sp-form-panel,
html body .sp-contact-direct,
html body .sp-contact-location{
  box-sizing:border-box!important;
}

/* Use the actual box border for the frame. Pseudo-elements are reserved for the two gold corners. */
html body .sp-editorial-row::after,
html body .sp-service-body-row::after,
html body .sp-form-panel::after,
html body .sp-contact-direct::after,
html body .sp-contact-location::after,
html body .service-card::after,
html body .industry-card::after,
html body .trust-card::after,
html body .cap-card::after,
html body .testimonial-card::after{
  content:""!important;
  position:absolute!important;
  width:42px!important;
  height:42px!important;
  inset:auto -1px -1px auto!important;
  border:0!important;
  border-right:1px solid rgba(215,166,42,.55)!important;
  border-bottom:1px solid rgba(215,166,42,.55)!important;
  box-shadow:none!important;
  pointer-events:none!important;
  z-index:3!important;
}

html body .sp-editorial-row::before,
html body .sp-service-body-row::before,
html body .sp-form-panel::before,
html body .sp-contact-direct::before,
html body .sp-contact-location::before,
html body .service-card::before,
html body .industry-card::before,
html body .trust-card::before,
html body .cap-card::before,
html body .testimonial-card::before{
  content:""!important;
  position:absolute!important;
  width:42px!important;
  height:42px!important;
  inset:-1px auto auto -1px!important;
  border:0!important;
  border-top:1px solid rgba(215,166,42,.55)!important;
  border-left:1px solid rgba(215,166,42,.55)!important;
  box-shadow:none!important;
  pointer-events:none!important;
  z-index:3!important;
}

/* The capability cards previously had a decorative diamond; replace it with the same corner system. */
html body .editorial-cap-card::before,
html body .editorial-cap-card::after,
html body .editorial-trust-card::before,
html body .editorial-trust-card::after{
  content:""!important;
  position:absolute!important;
  width:42px!important;
  height:42px!important;
  box-shadow:none!important;
  pointer-events:none!important;
  z-index:3!important;
}
html body .editorial-cap-card::before,
html body .editorial-trust-card::before{
  inset:-1px auto auto -1px!important;
  border:0!important;
  border-top:1px solid rgba(215,166,42,.55)!important;
  border-left:1px solid rgba(215,166,42,.55)!important;
}
html body .editorial-cap-card::after,
html body .editorial-trust-card::after{
  inset:auto -1px -1px auto!important;
  border:0!important;
  border-right:1px solid rgba(215,166,42,.55)!important;
  border-bottom:1px solid rgba(215,166,42,.55)!important;
}

/* Keep the framing clean on mobile. */
@media(max-width:700px){
  html body .sp-editorial-row.sp-no-image{
    padding:32px 22px!important;
  }
  html body .editorial-industry-card,
  html body .editorial-cap-card,
  html body .editorial-trust-card{
    min-height:0!important;
  }
}


/* =========================================================
   v5.20.60 — CLEAN CORNER FRAME FIX
   Remove inherited pseudo-element fills/gradients that were
   bleeding into the new corner treatment. Corners are lines only.
   ========================================================= */
html body .sp-editorial-row::before,
html body .sp-editorial-row::after,
html body .sp-service-body-row::before,
html body .sp-service-body-row::after,
html body .sp-form-panel::before,
html body .sp-form-panel::after,
html body .sp-contact-direct::before,
html body .sp-contact-direct::after,
html body .sp-contact-location::before,
html body .sp-contact-location::after,
html body .service-card::before,
html body .service-card::after,
html body .industry-card::before,
html body .industry-card::after,
html body .trust-card::before,
html body .trust-card::after,
html body .cap-card::before,
html body .cap-card::after,
html body .testimonial-card::before,
html body .testimonial-card::after,
html body .editorial-cap-card::before,
html body .editorial-cap-card::after,
html body .editorial-trust-card::before,
html body .editorial-trust-card::after{
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  transform:none!important;
  filter:none!important;
}

/* Clean, consistent corner marks — no filled blocks or diamonds. */
html body .service-card,
html body .industry-card,
html body .trust-card,
html body .cap-card,
html body .testimonial-card,
html body .editorial-cap-card,
html body .editorial-trust-card,
html body .sp-editorial-row,
html body .sp-service-body-row,
html body .sp-form-panel,
html body .sp-contact-direct,
html body .sp-contact-location{
  position:relative!important;
}

html body .service-card::before,
html body .industry-card::before,
html body .trust-card::before,
html body .cap-card::before,
html body .testimonial-card::before,
html body .editorial-cap-card::before,
html body .editorial-trust-card::before,
html body .sp-editorial-row::before,
html body .sp-service-body-row::before,
html body .sp-form-panel::before,
html body .sp-contact-direct::before,
html body .sp-contact-location::before{
  content:""!important;
  position:absolute!important;
  top:-1px!important;
  left:-1px!important;
  width:34px!important;
  height:34px!important;
  border:0!important;
  border-top:1px solid rgba(215,166,42,.60)!important;
  border-left:1px solid rgba(215,166,42,.60)!important;
  background:none!important;
  z-index:5!important;
  pointer-events:none!important;
}

html body .service-card::after,
html body .industry-card::after,
html body .trust-card::after,
html body .cap-card::after,
html body .testimonial-card::after,
html body .editorial-cap-card::after,
html body .editorial-trust-card::after,
html body .sp-editorial-row::after,
html body .sp-service-body-row::after,
html body .sp-form-panel::after,
html body .sp-contact-direct::after,
html body .sp-contact-location::after{
  content:""!important;
  position:absolute!important;
  right:-1px!important;
  bottom:-1px!important;
  width:34px!important;
  height:34px!important;
  border:0!important;
  border-right:1px solid rgba(215,166,42,.60)!important;
  border-bottom:1px solid rgba(215,166,42,.60)!important;
  background:none!important;
  z-index:5!important;
  pointer-events:none!important;
}

/* The new frame replaces the old diagonal/filled capability decoration. */
html body .editorial-cap-card,
html body .editorial-trust-card{
  overflow:hidden!important;
}

@media(max-width:700px){
  html body .service-card::before,
  html body .industry-card::before,
  html body .trust-card::before,
  html body .cap-card::before,
  html body .testimonial-card::before,
  html body .editorial-cap-card::before,
  html body .editorial-trust-card::before,
  html body .sp-editorial-row::before,
  html body .sp-service-body-row::before,
  html body .sp-form-panel::before,
  html body .sp-contact-direct::before,
  html body .sp-contact-location::before,
  html body .service-card::after,
  html body .industry-card::after,
  html body .trust-card::after,
  html body .cap-card::after,
  html body .testimonial-card::after,
  html body .editorial-cap-card::after,
  html body .editorial-trust-card::after,
  html body .sp-editorial-row::after,
  html body .sp-service-body-row::after,
  html body .sp-form-panel::after,
  html body .sp-contact-direct::after,
  html body .sp-contact-location::after{
    width:26px!important;
    height:26px!important;
  }
}

/* =========================================================
   SHARPLINE v5.20.61 — SERVICES BODY BOX ALIGNMENT
   Match service-page content rails to the global framed-box width,
   height and spacing. Keep the clean corner treatment without the
   oversized square appearance.
   ========================================================= */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual{
  width:100%!important;
  max-width:var(--container)!important;
  margin:42px auto 0!important;
  padding:48px 56px!important;
  min-height:320px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual .sp-service-copy-column{
  max-width:1000px!important;
}

/* Service-page corner marks: restrained lines, not a visible square block. */
html body .services-page .sp-service-body-row--no-visual::before{
  width:24px!important;
  height:24px!important;
  border-top:1px solid rgba(215,166,42,.58)!important;
  border-left:1px solid rgba(215,166,42,.58)!important;
}
html body .services-page .sp-service-body-row--no-visual::after{
  width:24px!important;
  height:24px!important;
  border-right:1px solid rgba(215,166,42,.58)!important;
  border-bottom:1px solid rgba(215,166,42,.58)!important;
}

html body .services-page .sp-service-body-row--no-visual .sp-service-action{
  margin-top:28px!important;
}

@media(max-width:900px){
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual{
    max-width:100%!important;
    min-height:0!important;
    padding:40px 34px!important;
  }
}
@media(max-width:560px){
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual{
    margin-top:28px!important;
    padding:30px 20px!important;
  }
  html body .services-page .sp-service-body-row--no-visual::before,
  html body .services-page .sp-service-body-row--no-visual::after{
    width:20px!important;
    height:20px!important;
  }
}

/* =========================================================
   SHARPLINE v5.20.62 — SERVICE DETAIL BOX MATCH
   Match the framed content boxes used across the other inner pages.
   ========================================================= */
html body .services-page .sp-service-body-row{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:48px 56px 50px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(255,255,255,.012))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  overflow:visible!important;
}

/* Clean, open corner accents — no filled square blocks. */
html body .services-page .sp-service-body-row::before,
html body .services-page .sp-service-body-row::after{
  content:""!important;
  position:absolute!important;
  width:34px!important;
  height:34px!important;
  background:transparent!important;
  opacity:1!important;
  pointer-events:none!important;
  transform:none!important;
  box-shadow:none!important;
  z-index:3!important;
}
html body .services-page .sp-service-body-row::before{
  top:-1px!important;
  left:-1px!important;
  border-top:1px solid rgba(215,166,42,.85)!important;
  border-left:1px solid rgba(215,166,42,.85)!important;
}
html body .services-page .sp-service-body-row::after{
  right:-1px!important;
  bottom:-1px!important;
  border-right:1px solid rgba(215,166,42,.85)!important;
  border-bottom:1px solid rgba(215,166,42,.85)!important;
}

html body .services-page .sp-service-copy-column{
  width:100%!important;
  max-width:1000px!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
}
html body .services-page .sp-service-copy-column p{
  width:100%!important;
  max-width:1000px!important;
  margin:0 auto 18px!important;
  text-align:center!important;
}
html body .services-page .sp-service-action{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin-top:30px!important;
}

@media(max-width:760px){
  html body .services-page .sp-service-body-row{
    padding:36px 24px 38px!important;
  }
  html body .services-page .sp-service-copy-column,
  html body .services-page .sp-service-copy-column p{
    max-width:none!important;
  }
}

/* =========================================================
   SHARPLINE v5.20.63 — SERVICES FRAMED BOX FINAL MATCH
   Use a real frame for service content boxes so legacy pseudo-elements
   cannot create filled/square corner glitches. Match the global framed
   content treatment used by About / Industries / Capabilities.
   ========================================================= */
html body .services-page .sp-service-body-row--no-visual{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:42px 56px 44px!important;
  min-height:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:linear-gradient(110deg,rgba(10,12,13,.70),rgba(24,24,20,.34))!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Disable every inherited service-row pseudo decoration. */
html body .services-page .sp-service-body-row--no-visual::before,
html body .services-page .sp-service-body-row--no-visual::after{
  content:none!important;
  display:none!important;
}

/* Exact same open-corner language as the approved framed boxes. */
html body .services-page .sp-service-body-row--no-visual .sp-box-corner{
  position:absolute!important;
  display:block!important;
  width:34px!important;
  height:34px!important;
  background:transparent!important;
  pointer-events:none!important;
  z-index:5!important;
  box-sizing:border-box!important;
}
html body .services-page .sp-service-body-row--no-visual .sp-box-corner--tl{
  top:-1px!important;
  left:-1px!important;
  border-top:1px solid rgba(215,166,42,.82)!important;
  border-left:1px solid rgba(215,166,42,.82)!important;
}
html body .services-page .sp-service-body-row--no-visual .sp-box-corner--br{
  right:-1px!important;
  bottom:-1px!important;
  border-right:1px solid rgba(215,166,42,.82)!important;
  border-bottom:1px solid rgba(215,166,42,.82)!important;
}

html body .services-page .sp-service-body-row--no-visual .sp-service-copy-column{
  width:100%!important;
  max-width:1000px!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
}
html body .services-page .sp-service-body-row--no-visual .sp-service-copy-column p{
  width:100%!important;
  max-width:1000px!important;
  margin:0 auto 18px!important;
  text-align:center!important;
}
html body .services-page .sp-service-body-row--no-visual .sp-service-action{
  display:flex!important;
  width:100%!important;
  justify-content:center!important;
  align-items:center!important;
  margin:26px auto 0!important;
}

/* The service frame must sit on the exact same content rail as the heading. */
html body .services-page .sp-service-detail{
  width:100%!important;
  max-width:none!important;
}

@media(max-width:760px){
  html body .services-page .sp-service-body-row--no-visual{
    padding:34px 24px 36px!important;
  }
  html body .services-page .sp-service-body-row--no-visual .sp-box-corner{
    width:26px!important;
    height:26px!important;
  }
}

/* =========================================================
   SHARPLINE v5.20.65 — SERVICES CONTENT RAIL / HEADER ALIGNMENT
   Services-page sections use the same horizontal rail as the global
   header so every framed box starts and ends on the same verticals.
   ========================================================= */
html body .services-page > .sp-section:not(.sp-page-hero) > .container,
html body .services-page > .sp-page-hero > .container{
  width:min(1320px,calc(100% - 80px))!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

html body .services-page .sp-service-detail{
  width:100%!important;
  max-width:none!important;
}

html body .services-page .sp-service-body-row--no-visual{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Keep the connected-services panel on exactly the same rail. */
html body .services-page #services-connected .sp-editorial-row{
  width:100%!important;
  max-width:none!important;
}

@media(max-width:1050px){
  html body .services-page > .sp-section:not(.sp-page-hero) > .container,
  html body .services-page > .sp-page-hero > .container{
    width:min(100% - 52px,1320px)!important;
  }
}
@media(max-width:760px){
  html body .services-page > .sp-section:not(.sp-page-hero) > .container,
  html body .services-page > .sp-page-hero > .container{
    width:calc(100% - 36px)!important;
  }
}
@media(max-width:520px){
  html body .services-page > .sp-section:not(.sp-page-hero) > .container,
  html body .services-page > .sp-page-hero > .container{
    width:calc(100% - 28px)!important;
  }
}


/* =========================================================
   SHARPLINE v5.20.67 — SERVICES SECTION RAIL / HEADER MATCH
   The four service sections must use the same full editorial rail as
   the header and the already-correct Connected Capabilities section.
   ========================================================= */
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-detail,
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-heading,
html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual{
  width:100%!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

@media(max-width:1360px){
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-detail,
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-heading,
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual{
    max-width:calc(100vw - 80px)!important;
  }
}
@media(max-width:760px){
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-detail,
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-heading,
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual{
    max-width:calc(100vw - 36px)!important;
  }
}
@media(max-width:520px){
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-detail,
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-heading,
  html body .services-page .sp-section:not(.sp-page-hero) .sp-service-body-row--no-visual{
    max-width:calc(100vw - 28px)!important;
  }
}

/* v5.20.71 — Homepage Industries compact single-row strip.
   These items are informational only (not clickable), so they should read
   as a compact category list rather than six large content cards. */
html body.home .industries-home-section .editorial-industry-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:0!important;
}
html body.home .industries-home-section .editorial-industry-card{
  min-height:112px!important;
  height:112px!important;
  padding:16px 12px!important;
  justify-content:center!important;
  align-items:center!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:rgba(5,7,8,.78)!important;
  box-shadow:none!important;
  transform:none!important;
}
html body.home .industries-home-section .editorial-industry-card::before{
  width:58px!important;
}
html body.home .industries-home-section .editorial-industry-card .industry-index{
  position:absolute!important;
  top:15px!important;
  left:0!important;
  right:0!important;
  margin:0!important;
  font-size:9px!important;
  line-height:1!important;
}
html body.home .industries-home-section .editorial-industry-card h3{
  max-width:100%!important;
  margin:0!important;
  font-size:16px!important;
  line-height:1.15!important;
  letter-spacing:-.15px!important;
  text-align:center!important;
}
html body.home .industries-home-section .editorial-industry-card p{
  display:none!important;
}
html body.home .industries-home-section .section-cta-row{
  margin-top:18px!important;
}

@media(max-width:1100px){
  html body.home .industries-home-section .editorial-industry-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  html body.home .industries-home-section .editorial-industry-card{
    height:105px!important;
    min-height:105px!important;
  }
}
@media(max-width:650px){
  html body.home .industries-home-section .editorial-industry-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html body.home .industries-home-section .editorial-industry-card{
    height:96px!important;
    min-height:96px!important;
  }
  html body.home .industries-home-section .editorial-industry-card h3{
    font-size:15px!important;
  }
}

/* v5.20.72 — FOOTER CTA TYPOGRAPHY MATCH
   Footer links use body typography, but the CTA must use the same display
   typography as every other global CTA button. */
body .site-footer .footer-main a.btn,
body .site-footer .footer-main a.btn-gold,
body .site-footer .footer-main a.btn-ghost{
  font-family:var(--sp-display,Montserrat,Inter,Arial,sans-serif)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:1.6px!important;
  line-height:1!important;
  text-transform:uppercase!important;
}
body .site-footer .footer-main a.btn > span.btn-arrow,
body .site-footer .footer-main a.btn-gold > span.btn-arrow,
body .site-footer .footer-main a.btn-ghost > span.btn-arrow{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:17px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  margin-left:14px!important;
}

/* v5.20.85 — Responsive header/mobile navigation reliability fix. */
@media(max-width:980px){
  html body .site-header{position:sticky!important;top:0!important;z-index:10000!important;height:72px!important;}
  html body .site-header .header-inner{height:72px!important;min-height:72px!important;position:relative!important;z-index:10001!important;display:flex!important;align-items:center!important;}
  html body .site-header .brand{flex:0 0 auto!important;max-width:calc(100% - 68px)!important;}
  html body .site-header .menu-toggle{display:flex!important;flex:0 0 46px!important;width:46px!important;height:46px!important;margin-left:auto!important;padding:10px!important;box-sizing:border-box!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;position:relative!important;z-index:10003!important;cursor:pointer!important;border:1px solid rgba(255,255,255,.28)!important;background:rgba(10,10,10,.88)!important;color:#fff!important;appearance:none!important;-webkit-appearance:none!important;}
  html body .site-header .menu-toggle span{display:block!important;width:23px!important;height:2px!important;min-height:2px!important;margin:0!important;background:#f4f3ef!important;border-radius:0!important;position:static!important;transform:none!important;}
  html body .site-header .primary-nav{display:none!important;position:absolute!important;top:72px!important;left:0!important;right:0!important;width:100%!important;max-width:none!important;z-index:10002!important;box-sizing:border-box!important;background:#070707!important;border-bottom:1px solid rgba(215,166,42,.35)!important;padding:14px 16px 18px!important;overflow-x:hidden!important;overflow-y:auto!important;max-height:calc(100vh - 72px)!important;}
  html body .site-header .primary-nav.open{display:block!important;}
  html body .site-header .main-nav{width:100%!important;display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important;}
  html body .site-header .main-nav li{width:100%!important;box-sizing:border-box!important;}
  html body .site-header .main-nav a{display:flex!important;width:100%!important;min-height:48px!important;align-items:center!important;padding:14px 4px!important;box-sizing:border-box!important;}
  html body .site-header .header-action{display:none!important;}
  html body .site-header .primary-nav .mobile-enquire a{justify-content:center!important;text-align:center!important;margin-top:12px!important;}
}

@media(max-width:520px){
  html body .site-header .header-inner{width:calc(100% - 24px)!important;}
  html body .site-header .brand{width:170px!important;max-width:calc(100% - 58px)!important;}
  html body .site-header .brand .sharpline-logo{width:100%!important;height:52px!important;object-fit:contain!important;}
  html body .site-header .menu-toggle{width:44px!important;height:44px!important;flex-basis:44px!important;}
}

/* v5.20.86 — Mobile header stability / full-width navigation correction.
   Keep the header fixed, remove the double top gap, and make the mobile
   navigation span the viewport instead of the inner content rail. */
@media (max-width: 980px){
  html body .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:72px!important;
    z-index:10000!important;
  }
  html body .site-header .header-inner{
    height:72px!important;
    min-height:72px!important;
  }
  html body .site-header .menu-toggle{
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
    padding:8px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    outline:0!important;
  }
  html body .site-header .menu-toggle span{
    width:25px!important;
    height:2px!important;
    margin:0!important;
    background:#f4f3ef!important;
  }
  html body .site-header .primary-nav{
    position:fixed!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
    padding:10px 16px 18px!important;
    box-sizing:border-box!important;
    z-index:9999!important;
    background:#070707!important;
    border:0!important;
    border-bottom:1px solid rgba(215,166,42,.35)!important;
    box-shadow:0 18px 35px rgba(0,0,0,.32)!important;
  }
  html body .site-header .primary-nav.open{display:block!important;}
  html body .site-header .main-nav{width:100%!important;}
  html body .site-header + main,
  html body main{padding-top:72px!important;}
}
@media (max-width:520px){
  html body .site-header .header-inner{width:calc(100% - 24px)!important;}
}
