
:root{--bg:#07090a;--panel:#101415;--gold:#c7a55c;--gold2:#e1b95f;--white:#f7f7f4;--muted:#c9cbc8;--line:rgba(199,165,92,.42);--wrap:1480px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.45}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(calc(100% - 72px),var(--wrap));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{color:var(--gold2);text-transform:uppercase;font-weight:700;letter-spacing:.14em;font-size:14px;margin:0 0 8px}.button,.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:20px;text-transform:uppercase;font-weight:700;letter-spacing:.04em;border:0}.button{padding:15px 24px}.button.gold{background:linear-gradient(105deg,#ae8d49,#d1b36b);color:#fff}.button.black{background:#070808;color:#fff}.button.outline{background:rgba(5,7,8,.5);border:1px solid rgba(255,255,255,.75)}
/* header */
.site-header{height:96px;background:#060808;display:grid;grid-template-columns:190px 1fr auto;align-items:center;padding:0 46px;position:relative;z-index:50;border-bottom:1px solid rgba(255,255,255,.05)}.brand{width:128px;height:78px;display:flex;align-items:center}.brand img{width:100%;height:100%;object-fit:contain}.site-nav{display:flex;justify-content:center;align-items:center;gap:34px;text-transform:uppercase;font-size:12px}.site-nav>a,.nav-drop-toggle{position:relative;padding:12px 0}.site-nav>a.active:after,.site-nav>a:hover:after,.nav-drop-toggle:hover:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--gold2)}.header-cta{height:52px;padding:0 24px;background:transparent;color:var(--gold2);border:1px solid var(--gold2);font-size:12px}.menu-toggle{display:none}.nav-dropdown{position:relative}.nav-drop-toggle{display:flex;align-items:center;gap:6px;text-transform:uppercase}.services-menu{position:absolute;top:42px;left:50%;transform:translateX(-38%);width:690px;background:#0b0f10;border:1px solid var(--line);box-shadow:0 22px 50px rgba(0,0,0,.65);padding:22px;display:none}.nav-dropdown:hover .services-menu{display:block}.services-menu-head{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px;margin-bottom:10px}.services-menu-head strong{color:var(--gold2)}.services-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.services-menu-grid a{padding:7px 8px;text-transform:none;color:#eee;font-size:13px}.services-menu-grid a:hover{color:var(--gold2)}.services-header{grid-template-columns:170px 1fr auto auto;gap:20px}.header-phone{display:flex;align-items:center;gap:8px;font-size:13px;white-space:nowrap}.header-phone span{color:var(--gold2)}
/* homepage hero */
.hero{height:560px;position:relative;display:flex;align-items:center;overflow:hidden;background:#0b0d0e}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 2s ease-in-out}.hero-slide.is-active{opacity:1}.hero-slide img{position:absolute;inset:-1% -3%;width:106%;height:102%;max-width:none;object-fit:cover;will-change:transform}.hero-slide.is-active.hero-pan-right img{animation:heroPanRight 12s linear forwards}.hero-slide.is-active.hero-pan-left img{animation:heroPanLeft 12s linear forwards}@keyframes heroPanRight{from{transform:translateX(-1.2%)}to{transform:translateX(1.2%)}}@keyframes heroPanLeft{from{transform:translateX(1.2%)}to{transform:translateX(-1.2%)}}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,6,.87) 0%,rgba(3,5,6,.52) 46%,rgba(3,5,6,.12) 78%,rgba(3,5,6,.05) 100%)}.hero-content{position:relative;z-index:2}.hero h1{font-size:clamp(44px,3.4vw,64px);line-height:1.08;text-transform:uppercase;font-weight:400;letter-spacing:-.02em;margin:0 0 14px;max-width:900px}.hero-copy{font-size:26px;margin:0 0 24px}.hero-index{display:flex;gap:26px;margin-top:32px}.hero-index button{background:none;border:0;color:#ddd;padding:0 0 9px;position:relative;font-size:13px}.hero-index button.is-active:after{content:"";position:absolute;left:0;bottom:0;width:27px;height:2px;background:var(--gold2)}
/* homepage services */
.home-services{background:radial-gradient(circle at 45% 0,#131718 0,#0b0e0f 44%,#080a0b 100%);padding:34px 0 30px}.section-title{text-align:center}.section-title h2{font-weight:400;text-transform:uppercase;font-size:31px;letter-spacing:.02em;margin:0}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);margin-top:26px}.service-grid article{text-align:center;padding:10px 26px 20px;min-height:235px;border-right:1px solid rgba(199,165,92,.35)}.service-grid article:last-child{border-right:0}.service-grid h3{text-transform:uppercase;font-size:18px;line-height:1.18;margin:10px 0}.service-grid p{font-size:14px;color:#e0e0dd;max-width:220px;margin:auto}.service-icon{width:64px;height:64px;margin:auto;color:var(--gold2);font-size:46px;display:flex;align-items:center;justify-content:center}.fabric-icon svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:3}.building-icon{gap:3px;align-items:end}.building-icon span{width:12px;border:2px solid var(--gold2);border-bottom:0}.building-icon span:nth-child(1){height:37px}.building-icon span:nth-child(2){height:52px}.building-icon span:nth-child(3){height:31px}.tools-icon{font-size:64px;transform:rotate(-45deg)}.hardhat-icon{font-size:69px}.clipboard-icon{font-size:56px}.sectors-title{margin:6px 0 8px}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sector-card{border:1px solid rgba(199,165,92,.44);background:#0c0f10;overflow:hidden}.sector-card img{width:100%;height:190px;object-fit:cover}.sector-card>div{min-height:108px;padding:17px 15px 16px 66px;position:relative}.sector-card h3{text-transform:uppercase;font-size:18px;margin:0}.sector-card p{font-size:14px;margin:3px 0 0;color:#eee}.sector-symbol{position:absolute;left:18px;top:22px;color:var(--gold2);font-size:34px}
/* seamless About */
.about{height:420px;position:relative;background:#080a0b url("assets/about-seamless-v6.jpg") center/cover no-repeat;overflow:hidden}.about-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,6,.94) 0%,rgba(3,5,6,.80) 27%,rgba(3,5,6,.24) 55%,rgba(3,5,6,.03) 100%)}.about-grid{position:relative;z-index:2;height:100%;display:flex;align-items:center}.about-copy{width:36%;max-width:540px}.about-copy h2{font-size:48px;line-height:1.04;text-transform:uppercase;font-weight:400;margin:0 0 14px}.about-copy p:not(.eyebrow){font-size:15px;color:#eee;margin:0 0 20px}
/* accreditations */
.accreditations{background:#090b0c;border-top:1px solid rgba(199,165,92,.18);border-bottom:1px solid rgba(199,165,92,.18);padding:20px 0}.accreditations h2{text-align:center;text-transform:uppercase;color:var(--gold2);font-size:18px;letter-spacing:.10em;margin:0 0 14px}.accreditation-grid{display:grid;grid-template-columns:repeat(3,1fr)}.accred{min-height:130px;display:flex;align-items:center;justify-content:center;gap:22px;border-right:1px solid rgba(199,165,92,.30);padding:0 20px}.accred:last-child{border-right:0}.accred img{max-height:100px;max-width:160px;object-fit:contain}.accred strong{display:block;font-size:20px;line-height:1.15}.accred small{display:block;color:#e4e4e1;font-size:13px;margin-top:5px}
/* projects */
.projects{height:250px;background:#090b0c}.projects-grid{height:100%;display:grid;grid-template-columns:38% 62%;align-items:center}.projects h2{font-size:46px;line-height:1;text-transform:uppercase;font-weight:400;margin:0}.projects p:not(.eyebrow){font-size:14px;max-width:430px;margin:7px 0 14px;color:#eee}.coming-chip{display:inline-flex;background:linear-gradient(100deg,#b08f4c,#d1b36b);padding:11px 20px;text-transform:uppercase;font-size:12px;font-weight:700;gap:20px}.project-visual{height:250px;overflow:hidden}.project-visual img{width:100%;height:100%;object-fit:cover}
/* contact footer */
.contact-strip{background:linear-gradient(90deg,#b08f4c,#cdb06a);color:#fff}.contact-grid{min-height:92px;display:grid;grid-template-columns:1.35fr .8fr 1.2fr .8fr;align-items:center;gap:18px}.contact-intro,.contact-phone,.contact-email{display:flex;align-items:center;gap:14px}.contact-intro strong{display:block;text-transform:uppercase;font-size:16px}.contact-intro small{display:block;font-size:13px}.contact-phone a,.contact-email a{font-size:14px}.round-icon{width:48px;height:48px;border:1px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 auto}.contact-grid .button{padding:14px 20px;font-size:12px}.site-footer{background:#07090a;padding-top:23px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr;gap:36px;padding-bottom:22px}.footer-brand img{width:150px;height:86px;object-fit:contain}.footer-grid h3{text-transform:uppercase;color:var(--gold2);font-size:13px;margin:4px 0 9px}.footer-grid a{display:block;color:#e0e0dd;font-size:13px;line-height:1.5;margin:2px 0}.footer-contact .instagram-link{margin-top:8px;display:inline-flex;align-items:center;gap:7px}.instagram-link svg{width:18px;height:18px;fill:none;stroke:var(--gold2);stroke-width:1.8}.footer-bottom{border-top:1px solid rgba(199,165,92,.24);padding:10px 0 12px}.footer-bottom-inner{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:18px;align-items:center;color:#c9a65e;font-size:11px}.footer-slogan{text-transform:uppercase;letter-spacing:.22em;white-space:nowrap}
/* services page hero */
.services-page-hero{height:510px;position:relative;overflow:hidden;background:#090c0d}.services-page-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.services-page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,9,10,.96) 0%,rgba(6,9,10,.90) 37%,rgba(6,9,10,.30) 57%,rgba(6,9,10,.02) 100%)}.services-page-hero-grid{position:relative;z-index:2;height:100%;display:flex;align-items:center}.services-page-hero-copy{width:49%;max-width:700px}.services-page-hero-copy h1{font-size:58px;line-height:1.08;text-transform:uppercase;font-weight:300;margin:0 0 22px;letter-spacing:-.01em}.services-page-hero-copy h1 span{color:#d5b46c}.services-page-hero-copy p:not(.eyebrow){font-size:18px;line-height:1.55;color:#f0f0ed;margin:0;max-width:690px}
.service-trust-strip{background:#111617;border-top:1px solid rgba(199,165,92,.48);border-bottom:1px solid rgba(199,165,92,.40);padding:20px 0}.service-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.service-trust-grid>div{min-height:78px;padding:7px 20px 7px 76px;border-right:1px solid rgba(255,255,255,.17);position:relative}.service-trust-grid>div:last-child{border-right:0}.service-trust-grid span{position:absolute;left:18px;top:8px;color:var(--gold2);font-size:46px}.service-trust-grid strong{display:block;text-transform:uppercase;font-size:14px;margin-bottom:4px}.service-trust-grid small{display:block;color:#d7d8d6;font-size:13px;line-height:1.4}
.specialist-services-page{background:radial-gradient(circle at 50% 0,#151a1b 0,#0c1011 42%,#080a0b 100%);padding:42px 0 0}.specialist-intro{display:grid;grid-template-columns:54% 46%;gap:50px;align-items:end;margin-bottom:26px}.specialist-intro h2{font-size:38px;font-weight:300;text-transform:uppercase;margin:0;letter-spacing:.02em}.specialist-intro>p{font-size:15px;line-height:1.55;color:#ddd;margin:0 0 2px}.specialist-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.specialist-card{background:#111516;border:1px solid rgba(199,165,92,.28);overflow:hidden;scroll-margin-top:110px;min-width:0}.specialist-card>img{width:100%;height:155px;object-fit:cover}.specialist-card-body{min-height:135px;padding:16px 14px 15px;position:relative}.specialist-icon{position:absolute;left:14px;top:14px;color:var(--gold2);font-size:32px;width:34px;text-align:center}.specialist-card h3{font-size:13px;line-height:1.28;text-transform:uppercase;margin:0 0 12px;padding-left:48px;min-height:34px}.specialist-card p{font-size:12px;line-height:1.45;color:#dedfdd;margin:0;padding-left:48px}.services-brand-panel{grid-column:2/6;display:grid;grid-template-columns:1fr 1.45fr .7fr;align-items:center;border:1px solid rgba(199,165,92,.28);background:linear-gradient(110deg,#121718,#090b0c);padding:28px 40px;gap:28px;min-height:290px}.services-brand-panel>img{width:190px;justify-self:center}.services-brand-message{font-size:30px;line-height:1.25;text-transform:uppercase;border-left:1px solid var(--gold2);padding-left:40px}.services-brand-message span{color:var(--gold2)}.services-brand-panel ul{list-style:none;margin:0;padding:0}.services-brand-panel li{font-size:14px;margin:12px 0}.services-brand-panel li:before{content:"✓";color:var(--gold2);margin-right:12px;font-weight:700}.services-page-cta{height:430px;position:relative;overflow:hidden;background:#0b0d0e;margin-top:0}.services-page-cta-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.services-cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,8,.93) 0%,rgba(5,7,8,.74) 40%,rgba(5,7,8,.10) 73%,rgba(5,7,8,.02) 100%)}.services-cta-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center}.services-cta-content h2{font-size:42px;text-transform:uppercase;font-weight:300;line-height:1.14;margin:0 0 28px;max-width:560px}.services-cta-content .button{font-size:12px}.services-cta-content .button.outline{margin-left:12px}
/* modal */
.modal{position:fixed;inset:0;z-index:200;display:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal.is-open{display:block}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.80);backdrop-filter:blur(4px)}.modal-dialog{position:relative;width:min(900px,calc(100% - 30px));margin:18px auto 60px;background:#101415;border:1px solid rgba(199,165,92,.55);padding:32px 38px 48px;box-shadow:0 35px 90px rgba(0,0,0,.75)}.modal-close{position:absolute;right:16px;top:8px;background:none;border:0;color:#fff;font-size:36px}.modal-logo{width:120px;height:auto;margin-bottom:12px}.modal-head h2{text-transform:uppercase;font-size:32px;margin:0 0 5px}.modal-head p:not(.eyebrow){color:#ccc;margin:0 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.form-grid label{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.form-grid label>span{color:var(--gold2)}.form-grid input,.form-grid select,.form-grid textarea{width:100%;display:block;margin-top:6px;background:#080a0b;border:1px solid rgba(255,255,255,.18);color:#fff;padding:11px 12px}.form-grid select option{color:#111}.form-grid .wide{grid-column:1/-1}.upload-label{border:1px dashed var(--line);padding:13px}.upload-label strong{float:right;color:var(--gold2)}.upload-label input{border:0;padding:6px 0;background:none}.upload-label small{display:block;text-transform:none;color:#bbb}.consent{display:flex!important;gap:10px;align-items:flex-start;text-transform:none!important}.consent input{width:18px;height:18px;margin:1px 0 0}.hp-field{position:absolute;left:-9999px}.form-status{margin:12px 0;min-height:20px;font-size:13px}.form-status.success{color:#bde1bd}.form-status.error{color:#ffb2b2}.submit-button{margin-top:6px}
@media(max-width:1180px){.site-header{padding:0 24px;grid-template-columns:150px 1fr auto}.site-nav{gap:20px;font-size:11px}.services-header{grid-template-columns:145px 1fr auto auto;gap:14px}.wrap{width:min(calc(100% - 42px),var(--wrap))}.service-grid article{padding-left:12px;padding-right:12px}.services-page-hero-copy h1{font-size:48px}.specialist-card>img{height:130px}.specialist-card-body{min-height:145px}.services-brand-message{font-size:25px}}
@media(max-width:880px){.site-header,.services-header{height:82px;grid-template-columns:1fr auto auto;padding:0 16px}.services-header .header-phone{display:none}.brand{width:104px;height:68px}.menu-toggle{display:flex;width:40px;height:40px;border:0;background:none;flex-direction:column;justify-content:center;gap:5px}.menu-toggle span:not(.sr-only){width:26px;height:2px;background:#fff}.header-cta{height:40px;padding:0 13px;font-size:10px}.site-nav{position:absolute;display:none;left:0;right:0;top:82px;background:#080a0b;flex-direction:column;align-items:stretch;gap:0;padding:14px 18px;border-top:1px solid var(--line)}.site-nav.open{display:flex}.site-nav>a,.nav-drop-toggle{display:flex;padding:11px 0}.services-menu{display:none!important}.hero{height:500px}.hero h1{font-size:40px}.hero-copy{font-size:21px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{border-bottom:1px solid rgba(199,165,92,.25);border-right:0;min-height:210px}.service-grid article:last-child{grid-column:1/-1}.sector-grid{grid-template-columns:1fr 1fr}.about{height:560px;background-position:65% center}.about-grid{align-items:flex-start;padding-top:38px}.about-copy{width:100%;max-width:490px}.about-overlay{background:linear-gradient(180deg,rgba(4,6,7,.95) 0%,rgba(4,6,7,.78) 46%,rgba(4,6,7,.20) 72%,rgba(4,6,7,.02) 100%)}.accreditation-grid{grid-template-columns:1fr}.accred{border-right:0;border-bottom:1px solid rgba(199,165,92,.28);justify-content:flex-start;padding:14px 18px}.projects{height:auto}.projects-grid{grid-template-columns:1fr}.projects-grid>div:first-child{padding:30px 0}.project-visual{height:auto}.project-visual img{height:auto}.contact-grid{grid-template-columns:1fr 1fr;padding:16px 0}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom-inner{grid-template-columns:1fr 1fr}.services-page-hero{height:650px}.services-page-hero-photo{object-position:72% center}.services-page-hero-overlay{background:linear-gradient(180deg,rgba(6,9,10,.15) 0%,rgba(6,9,10,.36) 35%,rgba(6,9,10,.96) 67%,#090c0d 100%)}.services-page-hero-grid{align-items:flex-end;padding-bottom:42px}.services-page-hero-copy{width:100%;max-width:720px}.services-page-hero-copy h1{font-size:42px}.service-trust-grid{grid-template-columns:1fr 1fr;gap:0}.service-trust-grid>div{border-bottom:1px solid rgba(255,255,255,.10)}.specialist-intro{grid-template-columns:1fr;gap:12px}.specialist-card-grid{grid-template-columns:1fr 1fr}.specialist-card>img{height:190px}.services-brand-panel{grid-column:1/-1;grid-template-columns:1fr 1.4fr;padding:30px}.services-brand-panel ul{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.services-page-cta{height:520px}.services-page-cta-photo{object-position:66% center}.services-cta-overlay{background:linear-gradient(180deg,rgba(5,7,8,.93) 0%,rgba(5,7,8,.70) 48%,rgba(5,7,8,.12) 80%)}.services-cta-content{justify-content:flex-start;padding-top:42px}}
@media(max-width:560px){.wrap{width:calc(100% - 28px)}.site-header,.services-header{grid-template-columns:1fr auto}.header-cta{display:none}.hero{height:470px}.hero-slide img{width:114%;inset:-1% -7%}.hero h1{font-size:31px}.hero-copy{font-size:19px}.section-title h2{font-size:25px}.service-grid{grid-template-columns:1fr}.service-grid article:last-child{grid-column:auto}.sector-grid{grid-template-columns:1fr}.sector-card img{height:180px}.about{height:520px;background-position:63% center}.about-copy h2{font-size:32px}.about-copy p:not(.eyebrow){font-size:13px}.contact-grid{grid-template-columns:1fr}.contact-grid .button{width:100%}.footer-grid{grid-template-columns:1fr}.footer-bottom-inner{grid-template-columns:1fr;gap:5px}.footer-slogan{white-space:normal}.services-page-hero{height:610px}.services-page-hero-copy h1{font-size:34px}.services-page-hero-copy p:not(.eyebrow){font-size:15px}.service-trust-grid{grid-template-columns:1fr}.specialist-intro h2{font-size:29px}.specialist-card-grid{grid-template-columns:1fr}.specialist-card>img{height:210px}.specialist-card-body{min-height:120px}.specialist-card h3{font-size:14px}.specialist-card p{font-size:13px}.services-brand-panel{grid-template-columns:1fr;min-height:auto;text-align:center}.services-brand-message{border-left:0;border-top:1px solid var(--gold2);padding:20px 0 0;font-size:26px}.services-brand-panel ul{grid-template-columns:1fr 1fr;text-align:left}.services-page-cta{height:480px}.services-cta-content h2{font-size:31px}.services-cta-content .button{display:flex;width:100%;margin:7px 0}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal-dialog{width:calc(100% - 12px);margin:5px auto 40px;padding:22px 14px calc(34px + env(safe-area-inset-bottom))}.submit-button{width:100%;justify-content:center;min-height:48px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide img{animation:none!important;transform:none!important}}

/* v6.1: reliable inline vector icons for homepage service categories */
.service-icon{
  width:70px;
  height:70px;
  margin:0 auto 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold2);
}
.service-icon svg{
  display:block;
  width:64px;
  height:64px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* ===== BPS v6.2 polish: image framing + consistent vector graphics ===== */
.hero-slide picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.sector-symbol{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:0}
.sector-icon-svg{width:42px;height:42px;display:block;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.specialist-icon{width:38px;height:38px;font-size:0;display:flex;align-items:center;justify-content:center}
.specialist-icon-svg{width:34px;height:34px;display:block;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.trust-icon{width:50px;height:50px;display:flex!important;align-items:center;justify-content:center;font-size:0!important;flex:0 0 50px}
.trust-icon-svg{width:46px;height:46px;display:block;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.mini-line-svg{width:25px;height:25px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.header-phone-icon{display:flex;color:var(--gold2);width:22px;height:22px;align-items:center;justify-content:center}
.header-phone-icon .mini-line-svg{width:19px;height:19px}
.quote-company-name{font-size:13px;letter-spacing:.12em}

/* Services hero: keep reception desk perspective visible instead of zooming the photo to full-page width. */
.services-page-hero-photo{left:auto;right:0;width:59%;height:100%;object-fit:contain;object-position:right center;background:#090c0d}
.services-page-hero-overlay{background:linear-gradient(90deg,#090c0d 0%,rgba(9,12,13,.98) 33%,rgba(9,12,13,.84) 48%,rgba(9,12,13,.24) 66%,rgba(9,12,13,.03) 100%)}
.services-page-hero-copy{width:48%;max-width:690px}

/* Use drawn ticks, never emoji/text glyphs. */
.services-brand-panel li{position:relative;padding-left:24px}
.services-brand-panel li:before{content:"";position:absolute;left:2px;top:.35em;width:10px;height:5px;border-left:2px solid var(--gold2);border-bottom:2px solid var(--gold2);transform:rotate(-45deg);margin:0}

@media(max-width:880px){
  /* Give the services hero a true split composition on tablet/mobile: full reception scene above, text below. */
  .services-page-hero{height:650px;background:#090c0d}
  .services-page-hero-photo{top:0;left:0;right:auto;bottom:auto;width:100%;height:46%;object-fit:contain;object-position:center top;background:#090c0d}
  .services-page-hero-overlay{background:linear-gradient(180deg,rgba(9,12,13,.02) 0%,rgba(9,12,13,.08) 31%,rgba(9,12,13,.72) 47%,#090c0d 58%,#090c0d 100%)}
  .services-page-hero-grid{align-items:flex-end;padding-bottom:36px}
  .services-page-hero-copy{width:100%;max-width:none}
}

@media(max-width:600px){
  /* Mobile homepage: use dedicated portrait compositions instead of cropping the wide desktop skyline. */
  .hero{height:560px;align-items:flex-end;background:#07090a}
  .hero-slide img{inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center top;animation:none!important;transform:none!important}
  .hero-overlay{background:linear-gradient(180deg,rgba(3,5,6,.04) 0%,rgba(3,5,6,.08) 28%,rgba(3,5,6,.72) 46%,#07090a 63%,#07090a 100%)}
  .hero-content{padding-bottom:28px}
  .hero h1{font-size:30px;line-height:1.08;max-width:100%;margin-bottom:12px}
  .hero-copy{font-size:18px;margin-bottom:18px}
  .hero-index{margin-top:22px}

  /* Mobile About: show the complete van at a sensible scale and fade it into the section. */
  .about{height:650px;background:#07090a url("assets/about-mobile-v62.jpg") center/cover no-repeat}
  .about-overlay{background:linear-gradient(180deg,#07090a 0%,rgba(7,9,10,.96) 42%,rgba(7,9,10,.54) 65%,rgba(7,9,10,.08) 82%,rgba(7,9,10,0) 100%)}
  .about-grid{align-items:flex-start;padding-top:32px}
  .about-copy{width:100%;max-width:none}
  .about-copy h2{font-size:31px;line-height:1.04}
  .about-copy p:not(.eyebrow){font-size:13px;max-width:100%}

  .services-page-hero{height:610px}
  .services-page-hero-photo{height:37%;object-fit:contain}
  .services-page-hero-overlay{background:linear-gradient(180deg,rgba(9,12,13,.02) 0%,rgba(9,12,13,.12) 28%,rgba(9,12,13,.76) 38%,#090c0d 49%,#090c0d 100%)}
  .services-page-hero-grid{padding-bottom:31px}
  .services-page-hero-copy h1{font-size:33px}
  .service-trust-grid>div{grid-template-columns:56px 1fr;align-items:center}
  .trust-icon{width:46px;height:46px;flex-basis:46px}
  .trust-icon-svg{width:42px;height:42px}
  .specialist-icon{width:40px;height:40px}
  .specialist-icon-svg{width:36px;height:36px}
  .sector-symbol{width:44px;height:44px}
  .sector-icon-svg{width:43px;height:43px}
}


/* ===== BPS v6.3 mobile/photography framing polish ===== */
/* Desktop Project Photography: preserve the complete right-hand wording. */
@media(min-width:881px){
  .project-visual{
    background:#090b0c;
    display:flex;
    align-items:center;
    justify-content:flex-end;
  }
  .project-visual img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:right center;
  }
}

@media(max-width:600px){
  /* Restore the subtle horizontal movement used on desktop while retaining the mobile compositions. */
  .hero-slide img{
    left:-5%;
    right:auto;
    top:0;
    bottom:auto;
    width:110%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center top;
    transform:translate3d(0,0,0);
    will-change:transform;
  }
  .hero-slide.is-active.hero-pan-right img{animation:mobileHeroPanRight 12s linear forwards!important}
  .hero-slide.is-active.hero-pan-left img{animation:mobileHeroPanLeft 12s linear forwards!important}
  @keyframes mobileHeroPanRight{from{transform:translate3d(-1.7%,0,0)}to{transform:translate3d(1.7%,0,0)}}
  @keyframes mobileHeroPanLeft{from{transform:translate3d(1.7%,0,0)}to{transform:translate3d(-1.7%,0,0)}}

  /* Do not crop the mobile About/van composition. Show the whole image at phone width. */
  .about{
    height:650px;
    background-color:#07090a;
    background-image:url("assets/about-mobile-v62.jpg");
    background-repeat:no-repeat;
    background-size:100% auto;
    background-position:center bottom;
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-slide.is-active.hero-pan-right img,
  .hero-slide.is-active.hero-pan-left img{animation:none!important;transform:none!important}
}

/* v6.5 — larger homepage BPS header logo without changing header dimensions */
.home-page .site-header .brand{
  width:128px;
  height:78px;
  overflow:visible;
}
.home-page .site-header .brand img{
  transform:scale(1.20);
  transform-origin:left center;
}

/* Keep the logo comfortably inside the same fixed header on smaller screens */
@media(max-width:1180px){
  .home-page .site-header .brand img{
    transform:scale(1.12);
  }
}
@media(max-width:880px){
  .home-page .site-header .brand img{
    transform:scale(1.08);
  }
}


/* ===== v6.6 slideshow reliability + true mobile van framing ===== */

/* If JavaScript fails to load for any reason, still rotate the five skyline slides. */
@keyframes bpsFallbackSlide {
  0%, 18% { opacity:1; }
  20%, 100% { opacity:0; }
}
.home-page:not(.js-ready) .hero-slide{
  opacity:0;
  animation:bpsFallbackSlide 60s infinite;
}
.home-page:not(.js-ready) .hero-slide:nth-child(1){animation-delay:0s}
.home-page:not(.js-ready) .hero-slide:nth-child(2){animation-delay:12s}
.home-page:not(.js-ready) .hero-slide:nth-child(3){animation-delay:24s}
.home-page:not(.js-ready) .hero-slide:nth-child(4){animation-delay:36s}
.home-page:not(.js-ready) .hero-slide:nth-child(5){animation-delay:48s}

/* The mobile van is now a real image element rather than a cropped background. */
.about-mobile-visual{display:none}

@media(max-width:600px){
  .about{
    height:auto;
    min-height:0;
    background:#07090a;
    overflow:hidden;
  }
  .about-overlay{display:none}
  .about-grid{
    display:block;
    height:auto;
    padding-top:32px;
  }
  .about-copy{
    position:relative;
    z-index:2;
    width:100%;
    max-width:none;
    padding-bottom:12px;
  }
  .about-mobile-visual{
    display:block;
    width:100vw;
    margin-left:calc((100vw - 100%) / -2);
    margin-top:4px;
    background:#07090a;
  }
  .about-mobile-visual img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center;
  }

  /* Gentle movement on mobile while the slides also continue changing. */
  .hero-slide img{
    left:-4%;
    width:108%;
  }
  .hero-slide.is-active.hero-pan-right img{
    animation:mobileHeroPanRightV66 12s linear forwards!important;
  }
  .hero-slide.is-active.hero-pan-left img{
    animation:mobileHeroPanLeftV66 12s linear forwards!important;
  }
  @keyframes mobileHeroPanRightV66{
    from{transform:translate3d(-1.3%,0,0)}
    to{transform:translate3d(1.3%,0,0)}
  }
  @keyframes mobileHeroPanLeftV66{
    from{transform:translate3d(1.3%,0,0)}
    to{transform:translate3d(-1.3%,0,0)}
  }
}

/* Reduced-motion users still receive the different skyline photos;
   only the panning itself is disabled. */
@media(prefers-reduced-motion:reduce){
  .hero-slide.is-active.hero-pan-right img,
  .hero-slide.is-active.hero-pan-left img{
    animation:none!important;
    transform:none!important;
  }
}
