/* Protech final visual polish — loaded after each page's page-specific styles */
:root{
  --orange:#f4511e;
  --orange-dark:#d94112;
  --ink:#0f1012;
  --ink-2:#17191c;
  --paper:#f4f4f1;
  --line:#d8d8d3;
  --muted:#6f7276;
  --shadow:0 16px 40px rgba(0,0,0,.14);
}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:"Segoe UI",Arial,Helvetica,sans-serif}
img{max-width:100%}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
a,button,input,select,textarea{transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
:focus-visible{outline:3px solid rgba(244,81,30,.35);outline-offset:3px}
.wrap{width:min(100% - 44px,1220px)!important;max-width:1220px!important;padding-left:0!important;padding-right:0!important}

/* Header */
.site-header{height:88px!important;position:sticky!important;top:0!important;z-index:1000!important;background:rgba(12,13,15,.97)!important;border-bottom:1px solid rgba(255,255,255,.09)!important;box-shadow:0 8px 28px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
.site-header .nav{height:88px;position:relative}
.brandlockup{min-width:292px!important;gap:13px!important;flex-shrink:0}
.brandmark{width:76px!important;height:64px!important;object-fit:contain!important;display:block!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))!important;mix-blend-mode:normal!important}
.brandname{font-size:21px!important;font-weight:750!important;letter-spacing:4.7px!important;color:#fff!important}
.brandsub{font-size:9px!important;font-weight:700!important;letter-spacing:2.35px!important;color:#c8c9ca!important;margin-top:7px!important}
.site-header nav{gap:24px!important;align-items:center!important;font-size:11px!important;font-weight:650!important;letter-spacing:.55px!important}
.site-header nav a:not(.quote){position:relative;padding:10px 0;color:#dedede}
.site-header nav a:not(.quote)::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--orange);transition:right .2s ease}
.site-header nav a:not(.quote):hover,.site-header nav a.active{color:#fff!important}
.site-header nav a:not(.quote):hover::after,.site-header nav a.active::after{right:0}
.site-header nav .quote{background:var(--orange)!important;color:#fff!important;padding:14px 18px!important;border:1px solid var(--orange)!important;border-radius:2px;box-shadow:0 8px 22px rgba(244,81,30,.18)}
.site-header nav .quote:hover{background:var(--orange-dark)!important;border-color:var(--orange-dark)!important;transform:translateY(-1px)}
.menu-toggle{display:none;width:46px;height:42px;border:1px solid #3b3d40;background:#17191c;color:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;border-radius:2px}
.menu-toggle span{display:block;width:20px;height:2px;background:#fff;transition:.2s}
.site-header.nav-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header.nav-open .menu-toggle span:nth-child(2){opacity:0}
.site-header.nav-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Buttons */
.btn,.submit,.filebtn,.filterbtn,.adminlink{border-radius:2px!important;letter-spacing:.45px}
.btn,.submit{box-shadow:0 7px 20px rgba(0,0,0,.08)}
.btn:hover,.submit:hover,.filebtn:hover{transform:translateY(-1px)}
.btn.primary,.submit,.filebtn{background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important}
.btn.primary:hover,.submit:hover,.filebtn:hover{background:var(--orange-dark)!important;border-color:var(--orange-dark)!important}

/* Hero refinement */
.homehero,.projectshero,.detailhero{background-color:#222}
.homehero:after,.projectshero:after,.detailhero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:rgba(255,255,255,.08);pointer-events:none}
.homecontent,.projectshero .inside,.detailhead{filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}
.eyebrow{letter-spacing:1.15px!important}
.homehero h1,.projectshero h1,.detailhead h1,.formhero h1,.hero h1{letter-spacing:.2px!important}
.hero-actions .btn{min-width:165px;text-align:center}

/* Capability section */
.caps{background:#fff;border:1px solid #d9d9d4!important;box-shadow:0 12px 30px rgba(0,0,0,.05)}
.capitem{border-right:1px solid #dfdfda!important;padding:26px 14px 25px!important}
.capitem:hover{background:#faf9f7}
.capicon{height:38px;display:flex;align-items:center;justify-content:center;font-size:28px!important}

/* Project cards */
.projectgrid{gap:22px!important}
.projectcard{border:1px solid #37393c!important;border-radius:3px;box-shadow:0 8px 24px rgba(0,0,0,.08);background:#1a1c1f!important}
.projectcard:hover{transform:translateY(-5px)!important;border-color:#626569!important;box-shadow:0 18px 38px rgba(0,0,0,.22)}
.projectcard .photo{background:#242629}
.projectcard .photo img{transition:transform .35s ease,filter .35s ease!important}
.projectcard:hover .photo img{transform:scale(1.035)!important;filter:saturate(1.04) contrast(1.02)}
.projectcard .body{padding:19px 19px 20px!important}
.projectcard h3{font-size:16.5px!important}
.projectcard p{font-size:12.5px!important;color:#c5c6c7!important}
.tag{border-radius:1px;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.projectmeta{align-items:center}
.learn{white-space:nowrap}
.filterbtn{padding:11px 15px!important}.filterbtn.active,.filterbtn:hover{background:var(--ink)!important}

/* Detail pages */
.summary,.customize{padding-top:52px!important;padding-bottom:56px!important}
.summarygrid,.customgrid{gap:44px!important}
.specbox,.ctabox,.featurecard,.configcard{border-radius:3px;box-shadow:0 10px 26px rgba(0,0,0,.06)}
.specbox{border-top:4px solid var(--orange)!important}
.speclist li,.customlist li{line-height:1.55}
.featurecard{border-top:2px solid rgba(244,81,30,.75)!important}
.gallery{padding-top:50px!important;padding-bottom:58px!important}
.gallerygrid{gap:14px!important}
.gallerygrid a{border-radius:3px;overflow:hidden;background:#222;box-shadow:0 8px 24px rgba(0,0,0,.10);cursor:zoom-in}
.gallerygrid img{transition:transform .32s ease,filter .32s ease!important}
.gallerygrid a:hover img{transform:scale(1.025);filter:brightness(1.03)}
.backrow{gap:12px!important;flex-wrap:wrap}

/* Forms */
.formcard,.panel{border-radius:3px!important;box-shadow:0 15px 36px rgba(0,0,0,.07)!important}
.field input,.field select,.field textarea,.search{border-radius:2px!important;outline:none}
.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:var(--orange)!important;box-shadow:0 0 0 3px rgba(244,81,30,.10)}
.drop{border-radius:3px}.drop:hover{border-color:#999}
.radio{border-radius:2px}.radio:has(input:checked){border-color:var(--orange);background:#fff7f3}
.submitrow{border-top:1px solid #e7e7e2;padding-top:20px}

/* Footer */
.site-footer{background:#0b0c0e!important;color:#bfc1c3!important;padding:42px 0 24px!important;border-top:1px solid #27292c}
.site-footer .footgrid{grid-template-columns:1.15fr 1fr 1fr 1.15fr!important;gap:42px!important;align-items:start}
.footer-lockup{display:flex;gap:14px;align-items:center}.footer-lockup .mark{width:72px!important;height:62px!important;object-fit:contain!important;filter:none!important;mix-blend-mode:normal!important}.footer-name{color:#fff;font-weight:750;letter-spacing:2.5px;font-size:15px;line-height:1.25}.footer-sub{font-size:9px;letter-spacing:1.8px;color:#aeb0b2;margin-top:5px;font-weight:700}
.site-footer h4{color:var(--orange)!important;font-size:10px!important;letter-spacing:.8px;margin:0 0 13px!important}
.site-footer p,.site-footer a{font-size:12px;line-height:1.7;color:#bfc1c3}.site-footer a:hover{color:#fff}
.site-footer .fine{margin-top:32px!important;padding-top:18px!important;color:#777!important;display:flex;justify-content:space-between;gap:20px;text-align:left!important}
.footer-note{max-width:580px}

/* Lightbox */
.protech-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:5000;display:none;align-items:center;justify-content:center;padding:32px}
.protech-lightbox.open{display:flex}.protech-lightbox img{max-width:min(94vw,1500px);max-height:86vh;object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,.55)}
.lightbox-close{position:absolute;top:18px;right:22px;width:46px;height:46px;border:1px solid #777;background:#151515;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.lightbox-caption{position:absolute;left:24px;right:80px;bottom:18px;color:#d7d7d7;font-size:12px}

@media(max-width:1120px){
  .site-header nav{gap:16px!important;font-size:10px!important}.brandlockup{min-width:260px!important}.brandname{font-size:19px!important;letter-spacing:4px!important}
}
@media(max-width:980px){
  .site-header{height:78px!important}.site-header .nav{height:78px}.brandlockup{min-width:0!important}.brandmark{width:65px!important;height:56px!important}.brandname{font-size:18px!important}.brandsub{font-size:8px!important}.menu-toggle{display:flex}
  .site-header nav{position:absolute!important;top:78px;left:0;right:0;background:#101114;border:1px solid #34363a;box-shadow:0 18px 40px rgba(0,0,0,.28);padding:12px;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important}
  .site-header.nav-open nav{display:flex!important}.site-header nav a:not(.quote){padding:13px 12px!important}.site-header nav a:not(.quote)::after{display:none}.site-header nav .quote{text-align:center;margin-top:6px}
  .site-footer .footgrid{grid-template-columns:1fr 1fr!important;gap:32px!important}
}
@media(max-width:620px){
  .wrap{width:min(100% - 32px,1220px)!important}.brandmark{width:58px!important;height:52px!important}.brandname{font-size:16px!important;letter-spacing:3.4px!important}.brandsub{letter-spacing:1.65px!important}
  .site-header .nav{gap:10px}.homehero{height:540px!important}.homecontent{padding-top:58px!important}.homehero h1{font-size:44px!important}.projectshero h1,.detailhead h1,.formhero h1,.hero h1{font-size:40px!important}
  .site-footer .footgrid{grid-template-columns:1fr!important}.site-footer .fine{flex-direction:column!important}.footer-lockup{margin-bottom:6px}
}

/* High-visibility contact strip */
.contactbar{height:38px;background:#050607;color:#d7d8da;position:sticky;top:0;z-index:1002;border-bottom:1px solid rgba(255,255,255,.08)}
.contactbar-inner{height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px;letter-spacing:.25px}
.contactbar-note{color:#9fa2a5;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.9px}
.contactbar-links{display:flex;align-items:center;gap:19px;white-space:nowrap}
.contactbar-phone{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#fff!important;font-weight:800;letter-spacing:.55px;padding:7px 12px;text-transform:uppercase;border-radius:2px;box-shadow:0 5px 16px rgba(244,81,30,.18)}
.contactbar-phone:hover{background:var(--orange-dark);transform:translateY(-1px)}
.contactbar-email{color:#d7d8da!important;font-weight:650}.contactbar-email:hover{color:#fff!important}
.site-header{top:38px!important}
html{scroll-padding-top:138px!important}
@media(max-width:700px){.contactbar{height:38px}.contactbar-inner{height:38px;justify-content:center}.contactbar-note,.contactbar-email{display:none}.contactbar-phone{font-size:10px;padding:7px 14px}.site-header{top:38px!important}}
