/* Precision site refresh v3 — minimal / futuristic (Nov 2026)
   Charcoal surfaces, hairline borders, sharp corners, mono micro-labels, gold used sparingly. */
:root{
  --pz-gold:#cbb379; --pz-gold-2:#e0cf9f; --pz-bg:#0f0f10; --pz-surface:#141416; --pz-surface-2:#18181b;
  --pz-hair:rgba(255,255,255,.08); --pz-hair-2:rgba(255,255,255,.16); --pz-text:#a6a6ab; --pz-white:#f1f1f1;
  --pz-mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;
  --pz-ease:cubic-bezier(.16,1,.3,1);
  --pz-sec:clamp(72px, 8vw, 128px); --pz-title-gap:clamp(32px, 4vw, 60px);
}

/* ================= HEADER ================= */
.site-header.business-new-menu{ transition:background .5s ease, border-color .5s ease; border-bottom:1px solid transparent; }
body.pz-scrolled .site-header.business-new-menu{ background:rgba(12,12,13,.78) !important; backdrop-filter:blur(16px) saturate(140%); -webkit-backdrop-filter:blur(16px) saturate(140%); border-bottom-color:var(--pz-hair); }
@media (min-width:768px){
  .site-header .nav-new nav > ul.lev-1:not(.right){ margin-left:auto !important; }
  .site-header .nav-new nav > ul.lev-1.right{ margin-left:8px !important; }
}
.site-header nav a.on-dark .overflow{ letter-spacing:.16em; }
.site-header nav a.on-dark{ position:relative; transition:color .3s; }
.site-header nav a.on-dark:after{ content:""; position:absolute; left:0; right:0; bottom:-8px; height:1px; background:var(--pz-gold); transform:scaleX(0); transform-origin:right; transition:transform .5s var(--pz-ease); }
.site-header nav a.on-dark:hover{ color:var(--pz-white) !important; }
.site-header nav a.on-dark:hover:after{ transform:scaleX(1); transform-origin:left; }
.social-side{ display:none !important; }

/* ================= TYPE & LABELS ================= */
.pz-home{ counter-reset:pzsec; }
.section-title .description.square-before{
  font-family:var(--pz-mono) !important; font-size:11px !important; font-weight:500 !important; letter-spacing:.32em !important;
  color:var(--pz-text) !important; text-transform:uppercase; padding-left:0 !important; display:inline-flex !important; align-items:center; gap:14px;
}
.pz-home .sub-section-title > .description.square-before{ counter-increment:pzsec; }
.section-title .description.square-before:before{
  content:"\2014"; position:static !important; width:auto !important; height:auto !important;
  background:none !important; color:var(--pz-gold); font-family:var(--pz-mono); letter-spacing:.1em; margin:0 !important; transform:none;
}
.pz-home .section-title .description.square-before:before{ content:counter(pzsec, decimal-leading-zero); order:-2; }
.section-title .description.square-before:after{ content:""; order:-1; width:0; height:0; display:none; }
.pz-home .section-title .description.square-before:after{ display:inline-block; order:-1; width:36px; height:1px; background:var(--pz-hair-2); transform-origin:left; transition:transform 1s .2s var(--pz-ease); }
.title-h2{ letter-spacing:.02em; }
.pz-home .title-h2{ font-size:clamp(30px, 4.2vw, 58px) !important; line-height:1.08 !important; font-weight:500 !important; }
.title-h2 .pz-accent, .title-h2 b{ color:var(--pz-gold); font-weight:inherit; }
.section-margin p:not(.description), .section-padding p:not(.description), .about-section p{ color:var(--pz-text); }

/* ================= HERO ================= */
#video_overlays{
  background:
    linear-gradient(90deg, rgba(10,10,11,.92) 0%, rgba(10,10,11,.66) 38%, rgba(10,10,11,.18) 72%, rgba(10,10,11,.1) 100%),
    linear-gradient(0deg, rgba(10,10,11,.85) 0%, rgba(10,10,11,0) 30%) !important;
}
@media (max-width:991px){ #video_overlays{ background:linear-gradient(180deg, rgba(10,10,11,.6), rgba(10,10,11,.88)) !important; } }
#heroVideo.is-ready{ animation:pzKen 30s ease-in-out infinite alternate; filter:saturate(.85) contrast(1.05); }
@keyframes pzKen{ from{transform:scale(1)} to{transform:scale(1.06)} }
#dsn_header .footer-head{ display:none !important; }
#hero_image:after{ content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:120px 120px; mask-image:linear-gradient(90deg, #000 0%, transparent 62%); -webkit-mask-image:linear-gradient(90deg, #000 0%, transparent 62%); }
#video_overlays{ z-index:2 !important; }
.pz-hero{ z-index:3; }
.pz-hero .pz-kicker{ display:flex; align-items:center; gap:16px; margin-bottom:26px; }
.pz-hero .pz-kicker-line{ display:block; width:0; height:1px; background:var(--pz-gold); animation:pzLine 1s .3s var(--pz-ease) forwards; }
.pz-hero .pz-kicker-text{ font-family:var(--pz-mono); color:var(--pz-gold); font-size:12px; font-weight:500; letter-spacing:.42em; line-height:1; opacity:0; transform:translateY(10px); animation:pzUp .9s .5s var(--pz-ease) forwards; }
.pz-hero .pz-logo img{ display:block; width:clamp(270px, 44vw, 760px); height:auto; clip-path:inset(0 100% 0 0); filter:blur(8px); opacity:.3; animation:pzWipe 1.6s .7s var(--pz-ease) forwards; }
@keyframes pzWipe{ 55%{ filter:blur(0); opacity:1 } to{ clip-path:inset(0 0 0 0); filter:blur(0); opacity:1 } }
.pz-hero .pz-rule{ display:block; width:0; height:1px; margin:30px 0 8px; background:var(--pz-hair-2); animation:pzRule 1.4s 1.5s var(--pz-ease) forwards; }
.pz-hero .pz-desc{ font-size:18px !important; line-height:1.65 !important; color:rgba(255,255,255,.78) !important; max-width:540px; font-weight:300; opacity:0; transform:translateY(14px); animation:pzUp 1s 1.7s var(--pz-ease) forwards; }
.pz-hero .pz-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:30px; margin-top:38px; opacity:0; transform:translateY(14px); animation:pzUp 1s 1.9s var(--pz-ease) forwards; }
.pz-ticker{ position:absolute; left:0; right:0; bottom:0; z-index:4; overflow:hidden; border-top:1px solid var(--pz-hair); background:rgba(10,10,11,.4); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.pz-ticker-track{ display:flex; width:max-content; animation:pzTick 50s linear infinite; }
.pz-ticker-track span{ font-family:var(--pz-mono); font-size:11px; letter-spacing:.32em; color:rgba(255,255,255,.55); padding:16px 30px; white-space:nowrap; }
.pz-ticker-track span:before{ content:""; display:inline-block; width:5px; height:5px; margin-right:16px; vertical-align:middle; background:var(--pz-gold); }
@keyframes pzTick{ to{ transform:translateX(-50%); } }
@keyframes pzLine{ to{ width:56px } } @keyframes pzRule{ to{ width:min(460px,72%) } } @keyframes pzUp{ to{ opacity:1; transform:none } }

/* ================= BUTTONS ================= */
.pz-btn{ position:relative; display:inline-flex; align-items:center; gap:14px; padding:17px 30px; border-radius:0; font-size:12px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; text-decoration:none !important; transition:background .35s, color .35s, border-color .35s; }
.pz-btn svg{ width:16px; height:16px; transition:transform .5s var(--pz-ease); }
.pz-btn:hover svg{ transform:translateX(6px); }
.pz-btn-gold{ background:var(--pz-gold); color:#111 !important; border:1px solid var(--pz-gold); }
.pz-btn-gold:hover{ background:#fff; border-color:#fff; color:#111 !important; }
.pz-btn-ghost{ background:transparent; color:#fff !important; border:1px solid var(--pz-hair-2); }
.pz-btn-ghost:hover{ border-color:var(--pz-gold); color:var(--pz-gold) !important; }
.pz-link{ display:inline-flex; align-items:center; gap:16px; color:#fff !important; font-size:12px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; text-decoration:none !important; }
.pz-link .pz-link-c{ width:48px; height:48px; border:1px solid var(--pz-hair-2); display:inline-flex; align-items:center; justify-content:center; transition:border-color .4s, color .4s; }
.pz-link svg{ width:16px; height:16px; transition:transform .5s var(--pz-ease); }
.pz-link .pz-link-t{ position:relative; padding:6px 0; }
.pz-link .pz-link-t:after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--pz-gold); transform:scaleX(0); transform-origin:right; transition:transform .55s var(--pz-ease); }
.pz-link:hover .pz-link-c{ border-color:var(--pz-gold); color:var(--pz-gold); }
.pz-link:hover svg{ transform:translateX(4px); }
.pz-link:hover .pz-link-t:after{ transform:scaleX(1); transform-origin:left; }
@media (max-width:575px){ .pz-btn{ padding:15px 22px; letter-spacing:.18em; } .pz-hero .pz-actions{ gap:20px; } }

/* ================= HUD CORNERS (hover / active) ================= */
.solution-card-section .service-item, .about-award .award-item, .pz-contained .swiper-slide, .dsn-testimonials .swiper-slide{ position:relative; }
.pz-hudc{ position:absolute; inset:0; pointer-events:none; z-index:3; opacity:0; transition:opacity .45s, inset .6s var(--pz-ease);
  background:
    linear-gradient(var(--pz-gold),var(--pz-gold)) top left / 16px 1px no-repeat, linear-gradient(var(--pz-gold),var(--pz-gold)) top left / 1px 16px no-repeat,
    linear-gradient(var(--pz-gold),var(--pz-gold)) top right / 16px 1px no-repeat, linear-gradient(var(--pz-gold),var(--pz-gold)) top right / 1px 16px no-repeat,
    linear-gradient(var(--pz-gold),var(--pz-gold)) bottom left / 16px 1px no-repeat, linear-gradient(var(--pz-gold),var(--pz-gold)) bottom left / 1px 16px no-repeat,
    linear-gradient(var(--pz-gold),var(--pz-gold)) bottom right / 16px 1px no-repeat, linear-gradient(var(--pz-gold),var(--pz-gold)) bottom right / 1px 16px no-repeat; }
.solution-card-section .service-item:hover > .pz-hudc, .about-award .award-item:hover > .pz-hudc, .about-award .award-item.pz-active > .pz-hudc,
.pz-contained .swiper-slide:hover > .pz-hudc, .dsn-testimonials .swiper-slide:hover > .pz-hudc, .dsn-testimonials .swiper-slide-next > .pz-hudc{ opacity:1; inset:-7px; }
@media (max-width:991px){ .dsn-testimonials .swiper-slide-next > .pz-hudc{ opacity:0; inset:0; } }
.pz-contained .swiper-container, .dsn-testimonials .swiper-container{ padding:8px !important; margin:-8px !important; }

/* ================= SERVICES ================= */
.solution-card-section{ --precision-hover-text:#f1f1f1; --precision-hover-bg:#18181b; }
.solution-card-section .service-item-inner{ background:var(--pz-surface) !important; border:1px solid var(--pz-hair) !important; border-radius:0 !important; padding:42px 34px !important; transition:background-color .5s, border-color .5s !important; }
.solution-card-section .service-item-inner:hover{ background:var(--pz-surface-2) !important; border-color:var(--pz-hair-2) !important; }
.solution-card-section .service-item-inner .dsn-icon svg, .solution-card-section .service-item-inner:hover .dsn-icon svg, .solution-card-section .service-item-inner:hover .dsn-icon svg path{ fill:var(--pz-gold) !important; transition:transform .6s var(--pz-ease); }
.solution-card-section .service-item-inner:hover .dsn-icon svg{ transform:translateY(-4px); }
.solution-card-section .service-item-inner:hover .service_title{ color:var(--pz-gold) !important; }
.solution-card-section .service-item-inner:hover .service_description p{ color:var(--pz-text) !important; }
.solution-card-section .service_title{ border-bottom-color:var(--pz-hair) !important; }
.solution-card-section .service-item-inner.number-item:before{ -webkit-text-stroke-color:rgba(255,255,255,.07) !important; }
.pz-cta-card .service-item-inner{ background:transparent !important; border:1px dashed var(--pz-hair-2) !important; display:flex; flex-direction:column; justify-content:center; }
.pz-cta-card h4{ color:#fff; } .pz-cta-card p{ color:var(--pz-text); margin:12px 0 26px; }

/* ================= PRESSURE POINTS (hairline grid) ================= */
.pz-points .dsn-service{ gap:0 !important; border-top:1px solid var(--pz-hair); border-left:1px solid var(--pz-hair); }
.pz-points .service-item{ padding:34px 32px !important; margin:0 !important; border-right:1px solid var(--pz-hair); border-bottom:1px solid var(--pz-hair); transition:background .5s; }
.pz-points .service-item:hover{ background:var(--pz-surface); }
.pz-points .service-item .dsn-icon, .pz-points .service-item .dsn-icon i{ color:var(--pz-gold) !important; }
.pz-points .service-item:hover .service_title{ color:var(--pz-gold); }

/* ================= STATS ================= */
.pz-home > .about-section + .dsn-award .award-item .font-number, .pz-home > .about-section + .dsn-award .award-item .font-number span{ font-weight:300 !important; color:#fff !important; }
.pz-home > .about-section + .dsn-award .award-item h4{ font-family:var(--pz-mono); font-size:11px !important; letter-spacing:.3em; color:var(--pz-gold) !important; }
.pz-home > .about-section + .dsn-award .award-item p{ color:var(--pz-text) !important; font-size:14px !important; }

/* ================= ACCORDION ================= */
.dsn-accordion .accordion__question .tab-title{ transition:color .35s, padding-left .5s var(--pz-ease); }
.dsn-accordion .accordion__question:hover .tab-title, .dsn-accordion .accordion__question.expanded .tab-title{ color:var(--pz-gold) !important; }
.dsn-accordion .accordion__question:hover .tab-title{ padding-left:10px; }

/* ================= STEPS ================= */
.about-award .award-item{ padding:22px 22px 22px 26px; border-left:1px solid var(--pz-hair); transition:border-color .6s, background .6s; }
.about-award .award-item .award-num, .about-award .award-item .award-num span{ font-family:var(--pz-mono) !important; font-weight:400 !important; transition:color .6s; }
.about-award .award-item.pz-active, .about-award .award-item:hover{ border-left-color:var(--pz-gold); background:var(--pz-surface); }
.about-award .award-item.pz-active .award-num, .about-award .award-item.pz-active .award-num span, .about-award .award-item:hover .award-num span, .about-award .award-item.pz-active h4 a, .about-award .award-item:hover h4 a{ color:var(--pz-gold) !important; }

/* ================= PROJECT + ARTICLE SLIDERS ================= */
.pz-contained .swiper-container{ overflow:hidden; }
.pz-contained .swiper-wrapper{ align-items:stretch; }
.pz-contained .swiper-slide{ height:auto !important; display:flex; background:var(--pz-surface) !important; border:1px solid var(--pz-hair); transition:border-color .5s; }
.pz-contained .swiper-slide:hover{ border-color:var(--pz-hair-2); }
.pz-contained .swiper-slide > .box-content{ display:flex; flex-direction:column; width:100%; height:100%; }
/* (old card text padding removed in v11) */
.pz-contained .box-image-bg{ overflow:hidden; }
.pz-contained .box-image-bg img{ transition:transform 1.4s var(--pz-ease), filter .8s; filter:grayscale(.35) contrast(1.05); }
.pz-contained .swiper-slide:hover .box-image-bg img{ transform:scale(1.05); filter:grayscale(0) contrast(1.05); }
.pz-contained .post-title a{ transition:color .35s; }
.pz-contained .swiper-slide:hover .post-title a{ color:var(--pz-gold) !important; }
.pz-contained .post-content p, .pz-contained .dsn-category span, .pz-contained .entry-date{ font-family:var(--pz-mono) !important; font-size:11px !important; letter-spacing:.24em !important; text-transform:uppercase; color:var(--pz-text) !important; }
.pz-hide-excerpt .post-description-info{ display:none !important; }
.dsn-swiper-paginate{ justify-content:flex-end !important; gap:10px; padding:0 !important; height:auto !important; margin-top:28px !important; }
.dsn-swiper-paginate .swiper-pagination{ display:none !important; }
.dsn-swiper-paginate .swiper-prev, .dsn-swiper-paginate .swiper-next{ position:relative !important; width:48px; height:48px; border:1px solid var(--pz-hair-2); display:inline-flex !important; align-items:center; justify-content:center; cursor:pointer; color:#fff; left:auto !important; right:auto !important; top:auto !important; margin:0 !important; transition:border-color .35s, color .35s; }
.dsn-swiper-paginate .swiper-prev > *, .dsn-swiper-paginate .swiper-next > *{ display:none !important; }
.dsn-swiper-paginate .swiper-prev:before, .dsn-swiper-paginate .swiper-next:before{ content:""; width:9px; height:9px; border-top:1px solid currentColor; border-right:1px solid currentColor; }
.dsn-swiper-paginate .swiper-prev:before{ transform:rotate(-135deg); margin-left:4px; } .dsn-swiper-paginate .swiper-next:before{ transform:rotate(45deg); margin-right:4px; }
.dsn-swiper-paginate .swiper-prev:hover, .dsn-swiper-paginate .swiper-next:hover{ border-color:var(--pz-gold); color:var(--pz-gold); }
.dsn-swiper-paginate .swiper-button-disabled{ opacity:.3; pointer-events:none; }

/* ================= REVIEWS ================= */
.pz-rating{ display:inline-flex; align-items:center; gap:14px; margin-top:20px; font-family:var(--pz-mono); font-size:11px; letter-spacing:.28em; color:var(--pz-text); text-transform:uppercase; }
.pz-rating:before{ content:""; width:36px; height:1px; background:var(--pz-hair-2); }
.pz-rating b{ color:#fff; font-size:13px; letter-spacing:.1em; font-weight:500; } .pz-rating i{ font-style:normal; color:var(--pz-gold); letter-spacing:3px; }
.dsn-testimonials .swiper-wrapper{ align-items:stretch; transition-property:transform !important; transition-timing-function:cubic-bezier(.16,1,.3,1) !important; }
.dsn-testimonials .swiper-slide.testimonial-inner-item{ height:auto !important; min-height:0 !important; max-height:none !important; display:flex; border:0 !important; padding:0 !important; background:none !important; }
.dsn-testimonials .testimonial-item{ position:relative; display:flex; flex-direction:column; width:100%; height:100%; min-height:300px; padding:34px 32px 28px; background:var(--pz-surface); border:1px solid var(--pz-hair); transition:border-color .5s, background .5s; }
.dsn-testimonials .swiper-slide:hover .testimonial-item, .dsn-testimonials .swiper-slide-next .testimonial-item{ border-color:var(--pz-hair-2); background:var(--pz-surface-2); }
@media (max-width:991px){ .dsn-testimonials .swiper-slide-next .testimonial-item{ background:var(--pz-surface); border-color:var(--pz-hair); } }
.dsn-testimonials .testimonial-item:before, .dsn-testimonials .testimonial-item:after{ display:none !important; content:none !important; }
.dsn-testimonials .testimonial-content.mb-25{ margin-bottom:22px !important; }
.dsn-testimonials .quote:before{ content:"\2605\2605\2605\2605\2605"; display:block; color:var(--pz-gold); letter-spacing:5px; font-size:11px; margin-bottom:20px; }
.dsn-testimonials .quote p{ min-height:0 !important; margin:0; font-size:17px !important; line-height:1.7 !important; font-weight:300; }
.dsn-testimonials .quote p a:first-child{ color:#e9e9e9 !important; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.dsn-testimonials .quote p a:last-child{ display:inline-block; margin-top:16px; font-family:var(--pz-mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--pz-gold) !important; }
.dsn-testimonials .quote p br{ display:none; }
.dsn-testimonials .content-inner{ margin-top:auto; padding-top:20px; border-top:1px solid var(--pz-hair) !important; }
.pz-initial{ display:none !important; }
.dsn-testimonials .testimonial-name{ color:#fff !important; margin:0 0 6px; font-size:15px !important; letter-spacing:.06em; }
.dsn-testimonials .testimonial-position{ font-family:var(--pz-mono); color:#7d7d82; font-size:10px; letter-spacing:.22em; text-transform:uppercase; display:inline !important; }
.dsn-testimonials .testimonial-position + .testimonial-position:before{ content:"  /  "; }

/* ================= CLOSING CTA BOX ================= */
.pz-home > .dsn-award:last-of-type > .container{ max-width:1150px !important; border:1px solid var(--pz-hair) !important; border-radius:0 !important; background:var(--pz-surface) !important; position:relative; padding-left:clamp(24px,5vw,70px) !important; padding-right:clamp(24px,5vw,70px) !important; }
.pz-home > .dsn-award:last-of-type > .container:before{ content:""; position:absolute; left:50%; top:-1px; width:120px; height:1px; transform:translateX(-50%); background:var(--pz-gold); }

/* ================= FOOTER ================= */
#dsn_footer .footer-content > .text-center .title-h2 .pz-accent{ color:var(--pz-gold); }
.pz-footer{ margin-top:72px !important; }
.pz-footer-top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:48px; padding:60px 0 50px; border-top:1px solid var(--pz-hair); }
.pz-f-brand img.pz-f-logo{ width:200px; height:auto; display:block; }
.pz-f-brand p{ margin:22px 0 26px; max-width:320px; color:var(--pz-text); font-size:14px; line-height:1.75; }
.pz-f-social{ display:flex; gap:8px; }
.pz-f-social a{ width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--pz-hair-2); color:#cfcfcf !important; font-size:13px; transition:border-color .35s, color .35s; }
.pz-f-social a:hover{ border-color:var(--pz-gold); color:var(--pz-gold) !important; }
.pz-footer h5{ font-family:var(--pz-mono); font-size:10px; letter-spacing:.34em; text-transform:uppercase; color:var(--pz-gold); margin:4px 0 24px; font-weight:500; }
.pz-f-links{ list-style:none; margin:0; padding:0; }
.pz-f-links li{ margin:0 0 13px; }
.pz-f-links a, .pz-f-contact a:not(.pz-btn){ color:#d0d0d0 !important; font-size:14px; letter-spacing:.03em; text-transform:none; position:relative; transition:color .3s, padding-left .45s var(--pz-ease); }
.pz-f-links a:hover{ color:#fff !important; padding-left:12px; }
.pz-f-links a:before{ content:""; position:absolute; left:0; top:50%; width:0; height:1px; background:var(--pz-gold); transition:width .45s var(--pz-ease); }
.pz-f-links a:hover:before{ width:6px; }
.pz-f-contact{ display:flex; flex-direction:column; gap:14px; font-size:14px; color:var(--pz-text); }
.pz-f-contact a.pz-f-phone{ font-size:22px; font-weight:300; color:#fff !important; letter-spacing:.02em; }
.pz-f-contact a.pz-f-phone:hover{ color:var(--pz-gold) !important; }
.pz-f-contact .pz-f-hours{ font-family:var(--pz-mono); font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:#7d7d82; }
.pz-f-contact a.pz-btn{ align-self:flex-start; padding:14px 22px !important; font-size:11px; background:transparent !important; color:#fff !important; border:1px solid var(--pz-hair-2) !important; }
.pz-f-contact a.pz-btn:hover{ border-color:var(--pz-gold) !important; color:var(--pz-gold) !important; }
.pz-f-badge{ display:inline-flex; align-items:center; gap:10px; align-self:flex-start; font-family:var(--pz-mono); font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:#7d7d82; }
.pz-f-badge b{ color:var(--pz-gold); font-weight:500; letter-spacing:.1em; background:none; padding:0; }
.pz-f-locations{ padding:30px 0 34px; border-top:1px solid var(--pz-hair); display:grid; grid-template-columns:160px 1fr; align-items:baseline; gap:20px; }
.pz-f-locations h5{ margin:0; }
.pz-f-cities{ display:flex; flex-wrap:wrap; gap:6px 0; }
.pz-f-cities a{ position:relative; color:#cfcfcf !important; font-size:13px; letter-spacing:.06em; text-transform:none; padding:4px 18px; border-left:1px solid var(--pz-hair); transition:color .3s; }
.pz-f-cities a:first-child{ border-left:0; padding-left:0; }
.pz-f-cities a:hover{ color:var(--pz-gold) !important; }
.pz-f-cities a small{ font-family:var(--pz-mono); color:#6f6f74; font-size:9px; letter-spacing:.2em; text-transform:uppercase; margin-left:6px; }
#dsn_footer .footer-bottom{ border-top-color:var(--pz-hair) !important; }
#dsn_footer .footer-bottom, #dsn_footer .footer-bottom a{ font-family:var(--pz-mono); color:#6f6f74 !important; font-size:11px; letter-spacing:.14em; }
#dsn_footer .footer-bottom a:hover{ color:var(--pz-gold) !important; }
@media (max-width:991px){ .pz-footer-top{ grid-template-columns:1fr 1fr; gap:40px; } .pz-f-locations{ grid-template-columns:1fr; } }
@media (max-width:575px){ .pz-footer-top{ gap:34px 20px; padding:44px 0 34px; } .pz-f-brand, .pz-f-contact{ grid-column:1 / -1; } .pz-f-cities a{ padding:4px 12px; font-size:12px; } }

/* ================= ONE GRID + EVEN SPACING ================= */
.pz-contained, .pz-footer, #dsn_footer .footer-bottom, .pz-home .about-award > .container, .pz-home > .about-section + .dsn-award > .container{
  max-width:1250px !important; margin-left:auto !important; margin-right:auto !important; padding-left:50px !important; padding-right:50px !important; box-sizing:border-box; }
@media (max-width:1199px){ .pz-contained, .pz-footer, #dsn_footer .footer-bottom, .pz-home .about-award > .container, .pz-home > .about-section + .dsn-award > .container{ max-width:1010px !important; } }
@media (max-width:991px){ .pz-contained, .pz-footer, #dsn_footer .footer-bottom, .pz-home .about-award > .container, .pz-home > .about-section + .dsn-award > .container{ max-width:100% !important; padding-left:40px !important; padding-right:40px !important; } }
@media (max-width:767px){ .pz-contained, .pz-footer, #dsn_footer .footer-bottom, .pz-home .about-award > .container, .pz-home > .about-section + .dsn-award > .container{ padding-left:15px !important; padding-right:15px !important; }
  .pz-home > .dsn-award:last-of-type > .container{ margin-left:15px !important; margin-right:15px !important; width:auto; padding-left:24px !important; padding-right:24px !important; } }
.pz-home > div{ margin-top:0 !important; margin-bottom:0 !important; padding-top:var(--pz-sec) !important; padding-bottom:var(--pz-sec) !important; }
.pz-home > footer .footer-content{ margin-top:0 !important; padding-top:var(--pz-sec) !important; }
.pz-home .section-title{ margin-bottom:var(--pz-title-gap) !important; }
.pz-home .section-title .section-title{ margin-bottom:0 !important; }
.pz-home .about-section .box-left > br{ display:none; }
.pz-home .about-section .box-right > p.mt-90{ margin-top:0 !important; }
.pz-home .about-section .dsn-accordion{ margin-top:0 !important; }
.pz-home .row .col-md-6.mt-50{ margin-top:0 !important; }
.pz-home .pz-contained{ margin-top:0 !important; }
.pz-home .service_title, .pz-points .service_title, .about-award .award-item h4, .pz-contained .post-title{ font-size:clamp(17px,1.5vw,20px) !important; line-height:1.35 !important; }
.pz-home .service_description p, .pz-points p, .about-award .award-item p{ font-size:15px !important; line-height:1.65 !important; }
.solution-card-section .dsn-service{ align-items:stretch; } .solution-card-section .service-item{ height:100%; }
@media (max-width:767px){ .pz-home .about-section{ row-gap:36px !important; } .pz-home .about-award .container{ row-gap:40px; } }
@media (max-width:575px){ .dsn-testimonials .testimonial-item{ min-height:280px; padding:30px 24px 24px; } .pz-hero .pz-actions .pz-btn{ flex:1 1 auto; justify-content:center; } .pz-ticker-track span{ padding:13px 20px; } }

/* ================= MOTION (scroll) ================= */
.pz-reveal, .pz-reveal-left{ opacity:0; filter:blur(8px); transform:translateY(26px); transition:opacity 1.1s var(--pz-ease), transform 1.1s var(--pz-ease), filter 1.1s var(--pz-ease); transition-delay:var(--pz-d,0s); }
.pz-reveal-left{ transform:translateX(-26px); }
.pz-reveal.pz-in, .pz-reveal-left.pz-in{ opacity:1; filter:none; transform:none; }
.pz-reveal .description.square-before:after{ transform:scaleX(0); } .pz-reveal.pz-in .description.square-before:after{ transform:scaleX(1); }
.pz-reveal .title-h2{ clip-path:inset(0 0 100% 0); transform:translateY(24px); transition:clip-path 1.2s .1s var(--pz-ease), transform 1.2s .1s var(--pz-ease); }
.pz-reveal.pz-in .title-h2{ clip-path:inset(0 0 -20% 0); transform:none; }
.pz-contained .swiper-slide.pz-reveal .box-image-bg{ clip-path:inset(0 0 100% 0); transition:clip-path 1.4s var(--pz-ease); transition-delay:var(--pz-d,0s); }
.pz-contained .swiper-slide.pz-reveal.pz-in .box-image-bg{ clip-path:inset(0 0 0 0); }
.solution-card-section .service-item.pz-reveal .dsn-icon{ opacity:0; transform:translateY(14px); transition:all 1s .3s var(--pz-ease); }
.solution-card-section .service-item.pz-in .dsn-icon{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
  #heroVideo.is-ready{ animation:none; } .pz-ticker-track{ animation:none; }
  .pz-hero .pz-kicker-line{ width:56px; animation:none; } .pz-hero .pz-rule{ width:min(460px,72%); animation:none; }
  .pz-hero .pz-kicker-text, .pz-hero .pz-desc, .pz-hero .pz-actions{ opacity:1; transform:none; animation:none; }
  .pz-hero .pz-logo img{ clip-path:none; filter:none; opacity:1; animation:none; }
  .pz-reveal, .pz-reveal-left{ opacity:1; transform:none; filter:none; transition:none; }
  .pz-reveal .title-h2, .pz-contained .swiper-slide.pz-reveal .box-image-bg{ clip-path:none !important; transform:none !important; }
}

/* ================= v4: CALM DROPDOWNS ================= */
#menu-overlay{ background:rgba(12,12,13,.94) !important; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-bottom:1px solid var(--pz-hair); }
#menu-overlay > div{ padding-top:34px !important; }
#menu-overlay .inner{ display:flex; flex-direction:column; }
#menu-overlay .inner + .inner{ margin-left:64px !important; }
#menu-overlay .pz-mh{ display:block; font-family:var(--pz-mono); font-size:10px; font-weight:500 !important; letter-spacing:.32em; text-transform:uppercase; color:var(--pz-gold); margin:0 0 18px !important; }
#menu-overlay .lev-2{ margin:0; padding:0; }
#menu-overlay .lev-2 li{ margin:0 0 14px !important; opacity:0; transform:translateY(10px); transition:opacity .5s var(--pz-ease), transform .6s var(--pz-ease); }
#menu-overlay > div.active .lev-2 li{ opacity:1; transform:none; }
#menu-overlay > div.active .lev-2 li:nth-child(1){ transition-delay:.04s } #menu-overlay > div.active .lev-2 li:nth-child(2){ transition-delay:.08s }
#menu-overlay > div.active .lev-2 li:nth-child(3){ transition-delay:.12s } #menu-overlay > div.active .lev-2 li:nth-child(4){ transition-delay:.16s }
#menu-overlay > div.active .lev-2 li:nth-child(5){ transition-delay:.2s } #menu-overlay > div.active .lev-2 li:nth-child(6){ transition-delay:.24s }
#menu-overlay > div.active .inner:nth-child(2) .lev-2 li{ transition-delay:.1s } #menu-overlay > div.active .inner:nth-child(3) .lev-2 li{ transition-delay:.16s } #menu-overlay > div.active .inner:nth-child(4) .lev-2 li{ transition-delay:.22s }
#menu-overlay .lev-2 a{ position:relative; display:inline-block; padding-left:0; transition:padding-left .45s var(--pz-ease); }
#menu-overlay .lev-2 a span{ font-size:15px !important; font-weight:400 !important; letter-spacing:.02em !important; text-transform:none !important; color:#c9c9cc !important; transition:color .3s; }
#menu-overlay .lev-2 a:before{ content:""; position:absolute; left:0; top:50%; width:0; height:1px; background:var(--pz-gold); transition:width .45s var(--pz-ease); }
#menu-overlay .lev-2 a:hover{ padding-left:16px; }
#menu-overlay .lev-2 a:hover:before{ width:9px; }
#menu-overlay .lev-2 a:hover span{ color:#fff !important; }
@media (prefers-reduced-motion: reduce){ #menu-overlay .lev-2 li{ opacity:1; transform:none; transition:none; } }

/* ================= v4: ROOMIER EDGES (every page) ================= */
@media (max-width:991px){
  .container, .dsn-container, .pz-contained, .pz-footer, #dsn_footer .footer-bottom, .pz-home .about-award > .container, .pz-home > .about-section + .dsn-award > .container{ padding-left:40px !important; padding-right:40px !important; }
}
@media (max-width:767px){
  .container, .dsn-container, .pz-contained, .pz-footer, #dsn_footer .footer-bottom, .pz-home .about-award > .container, .pz-home > .about-section + .dsn-award > .container{ padding-left:24px !important; padding-right:24px !important; }
  .pz-home > .dsn-award:last-of-type > .container{ margin-left:24px !important; margin-right:24px !important; padding-left:24px !important; padding-right:24px !important; }
}
.container .container, .container .dsn-container, .dsn-container .container, .dsn-container .dsn-container,
#dsn_footer.container .container, .pz-contained .dsn-swiper-paginate{ padding-left:0 !important; padding-right:0 !important; }
.pz-home > .dsn-award:last-of-type > .container{ padding-left:clamp(24px,5vw,70px) !important; padding-right:clamp(24px,5vw,70px) !important; }
@media (min-width:1200px){ #hero_content.container{ padding-left:50px !important; padding-right:50px !important; } }

/* ================= v4: DECLUTTER ================= */
body.bg-dots, .bg-dots{ background-image:none !important; }
#hero_image:after{ display:none !important; }
.solution-card-section .service-item-inner.number-item:before{ display:none !important; }
.solution-card-section .service-item-inner{ position:relative; }
.solution-card-section .service-item-inner .dsn-def-btn{ margin-top:22px !important; }
.solution-card-section .service-item-inner .dsn-btn{ position:static !important; padding:0 !important; border:0 !important; background:none !important; }
.solution-card-section .service-item-inner .dsn-btn:after{ content:""; position:absolute; inset:0; z-index:2; }
.solution-card-section .service-item-inner .dsn-btn .title-btn{ font-family:var(--pz-mono); font-size:10px !important; letter-spacing:.3em !important; text-transform:uppercase; color:var(--pz-text) !important; }
.solution-card-section .service-item-inner .dsn-btn .dsn-icon{ display:none !important; }
.solution-card-section .service-item-inner:hover .dsn-btn .title-btn{ color:var(--pz-gold) !important; }
.solution-card-section .service_title{ border-bottom:0 !important; padding-bottom:0 !important; margin-bottom:14px !important; }
.solution-card-section .service_description{ margin-top:0 !important; }
.pz-points .service-item .dsn-icon{ display:none !important; }
.dsn-testimonials .quote p a:last-child{ display:none !important; }
.dsn-testimonials .testimonial-position:first-of-type{ display:none !important; }
.dsn-testimonials .testimonial-position + .testimonial-position:before{ content:none; }
.pz-hero .pz-rule{ display:none !important; }
.pz-hero .pz-desc{ margin-top:28px !important; }
.pz-home .about-section .mt-30 .square-after:after{ display:none !important; }
.pz-f-badge{ display:none !important; }

/* v4.1: tablet grid fix + one-line menu items */
@media (max-width:991px){.about-award .grid-half-1{grid-template-columns:1fr!important;gap:32px!important}.about-award .grid-half-1>*{min-width:0}}
#menu-overlay .lev-2 a span{white-space:nowrap}

/* ================= v5 (Nov 2) ================= */
/* Hero: crisp, no fade/wipe on the title area */
.pz-hero .pz-logo > img{ clip-path:none !important; opacity:1; }
.pz-hero:not(.pz-intro) .pz-logo > img{ animation:none !important; }
.pz-hero:not(.pz-intro) .pz-kicker-text, .pz-hero:not(.pz-intro) .pz-desc, .pz-hero:not(.pz-intro) .pz-actions{ opacity:1 !important; transform:none !important; animation:none !important; }
.pz-hero.pz-intro .pz-kicker-text{ opacity:1; transform:none; animation:none; }
.pz-hero:not(.pz-intro) .pz-kicker-line{ width:56px !important; animation:none !important; }
/* Hero video: sharper (no zoom, no colour filter, lighter overlay on the picture side) */
#heroVideo.is-ready{ animation:none !important; filter:none !important; transform:none !important; }
@media (min-width:992px){ #video_overlays{ background:
  linear-gradient(90deg, rgba(10,10,11,.9) 0%, rgba(10,10,11,.6) 38%, rgba(10,10,11,.1) 72%, rgba(10,10,11,0) 100%),
  linear-gradient(0deg, rgba(10,10,11,.75) 0%, rgba(10,10,11,0) 24%) !important; } }

/* Buttons: one matched pair (solid gold + glass outline), same size, colour-sweep hover */
.pz-actions{ gap:16px !important; }
.pz-hbtn{ position:relative; display:inline-flex; align-items:center; justify-content:center; gap:12px; height:56px; min-width:220px; padding:0 32px; font-size:12px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; line-height:1; text-decoration:none !important; overflow:hidden; isolation:isolate; border-radius:0; transition:color .45s var(--pz-ease), border-color .45s var(--pz-ease); }
.pz-hbtn:before{ content:""; position:absolute; inset:0; z-index:-1; transform:scaleX(0); transform-origin:right; transition:transform .55s var(--pz-ease); }
.pz-hbtn:hover:before, .pz-hbtn:focus-visible:before{ transform:scaleX(1); transform-origin:left; }
.pz-hbtn svg{ width:16px; height:16px; flex:none; transition:transform .45s var(--pz-ease); }
.pz-hbtn:hover svg{ transform:translateX(5px); }
.pz-hbtn:focus-visible{ outline:1px solid var(--pz-gold); outline-offset:4px; }
.pz-hbtn-primary{ background:var(--pz-gold) !important; color:#111 !important; border:1px solid var(--pz-gold); }
.pz-hbtn-primary:before{ background:#fff; }
.pz-hbtn-primary:hover{ border-color:#fff; color:#111 !important; }
.pz-hbtn-ghost{ background:rgba(255,255,255,.04) !important; color:#fff !important; border:1px solid rgba(255,255,255,.34); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.pz-hbtn-ghost:before{ background:var(--pz-gold); }
.pz-hbtn-ghost:hover{ color:#111 !important; border-color:var(--pz-gold); }
@media (max-width:575px){ .pz-actions .pz-hbtn{ flex:1 1 100%; min-width:0; height:54px; } }

/* Leadership signature */
.pz-sign{ margin-top:40px; padding-top:28px; border-top:1px solid var(--pz-hair); max-width:470px; }
.pz-sign-label{ display:block; font-family:var(--pz-mono); font-size:10px; letter-spacing:.34em; text-transform:uppercase; color:var(--pz-gold); margin-bottom:20px; }
.pz-sign-row{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pz-sign-person{ position:relative; padding:2px 0 2px 18px; border-left:1px solid var(--pz-hair-2); }
.pz-sign-person:before{ content:""; position:absolute; left:-1px; top:0; width:2px; height:0; background:var(--pz-gold); transition:height .5s var(--pz-ease); }
.pz-sign-person:hover:before{ height:100%; }
.pz-sign-name{ display:block; color:#fff; font-size:18px; font-weight:500; letter-spacing:.02em; line-height:1.3; }
.pz-sign-role{ display:block; margin-top:8px; font-family:var(--pz-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#8d8d92; }
@media (max-width:420px){ .pz-sign-row{ grid-template-columns:1fr; gap:18px; } }

/* Footer CTA: one clean band (heading left, button right) */
@media (min-width:992px){
  #dsn_footer .footer-content > .text-center{ display:flex; align-items:center; justify-content:space-between; gap:48px; text-align:left !important; }
  #dsn_footer .footer-content > .text-center .title-h2{ margin:0 !important; font-size:clamp(28px,2.7vw,40px) !important; line-height:1.15 !important; max-width:760px; }
  #dsn_footer .footer-content > .text-center .title-h2 br{ display:none; }
  #dsn_footer .footer-content > .text-center .dsn-def-btn{ margin-top:0 !important; flex:none; }
}
/* Homepage already ends with its own quote box, so skip the second CTA there */
.pz-home > footer .footer-content > .text-center{ display:none !important; }
.pz-home > footer .footer-content{ padding-top:0 !important; }
.pz-home > footer .pz-footer{ margin-top:0 !important; }
.pz-home > footer .pz-footer-top{ border-top:0; }

/* Footer locations: even grid, no orphan */
.pz-f-locations{ grid-template-columns:1fr !important; gap:6px !important; padding:40px 0 36px !important; }
.pz-f-cities{ display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)); gap:0 36px !important; }
.pz-f-cities a, .pz-f-cities a:first-child{ display:flex; align-items:center; gap:8px; padding:15px 0 !important; border-left:0 !important; border-bottom:1px solid var(--pz-hair); font-size:14px !important; letter-spacing:.03em !important; transition:color .3s, border-color .4s; }
.pz-f-cities a:after{ content:""; margin-left:auto; width:0; height:1px; background:var(--pz-gold); transition:width .45s var(--pz-ease); }
.pz-f-cities a:hover{ border-bottom-color:rgba(203,179,121,.45); }
.pz-f-cities a:hover:after{ width:16px; }
.pz-f-cities a small{ margin-left:0 !important; }
@media (max-width:991px){ .pz-f-cities{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:0 28px !important; } }

/* Brand-colour hovers */
.site-header nav a.on-dark:hover, .site-header nav a.on-dark:hover .overflow, .site-header nav a.on-dark:focus-visible{ color:var(--pz-gold) !important; }
.site-header nav a.on-dark:after{ bottom:-6px; }
.accordion__question .tab-title{ transition:color .35s, letter-spacing .45s var(--pz-ease); }
.accordion__question:hover .tab-title{ color:var(--pz-gold) !important; }
.solution-card-section .service-item h4, .solution-card-section .service-item .title-block{ transition:color .35s; }
.solution-card-section .service-item:hover h4, .solution-card-section .service-item:hover .title-block{ color:var(--pz-gold) !important; }
.pz-contained .swiper-slide h4, .pz-contained .swiper-slide h3{ transition:color .35s; }
.pz-contained .swiper-slide:hover h4, .pz-contained .swiper-slide:hover h3{ color:var(--pz-gold) !important; }
.pz-f-social a{ transition:background .35s, border-color .35s, color .35s, transform .35s var(--pz-ease); }
.pz-f-social a:hover{ background:var(--pz-gold); border-color:var(--pz-gold); color:#111 !important; transform:translateY(-3px); }
#dsn_footer .footer-bottom a{ transition:color .3s; } #dsn_footer .footer-bottom a:hover{ color:var(--pz-gold) !important; }

/* ================= v6 (Nov 2) ================= */
/* Hero overlay: even tint over the whole video + stronger behind the text so the title pops */
@media (min-width:992px){ #video_overlays{ background:
  radial-gradient(120% 90% at 20% 50%, rgba(8,8,9,.55) 0%, rgba(8,8,9,0) 60%),
  linear-gradient(90deg, rgba(8,8,9,.78) 0%, rgba(8,8,9,.5) 40%, rgba(8,8,9,.3) 75%, rgba(8,8,9,.26) 100%),
  linear-gradient(0deg, rgba(8,8,9,.75) 0%, rgba(8,8,9,0) 26%) !important; } }
.pz-hero .pz-logo > img{ filter:drop-shadow(0 8px 32px rgba(0,0,0,.5)) !important; }

/* Hero intro */
.pz-hero .pz-logo{ position:relative; display:inline-block; }
/* v8: minimal soft fade-in for the logo (replaces the shutter slices) */
.pz-hero.pz-intro .pz-logo > img{ animation:pzLogoIn 1.6s .3s cubic-bezier(.22,.61,.36,1) both !important; }
@keyframes pzLogoIn{ from{ opacity:0; transform:translateY(14px) scale(.985); letter-spacing:0; } to{ opacity:1; transform:none; } }
.pz-slices{ position:absolute; inset:0; pointer-events:none; }
.pz-slice{ position:absolute; top:0; bottom:0; overflow:hidden; }
.pz-slice img{ position:absolute; top:0; max-width:none; height:auto; transform:translateY(105%); animation:pzSliceUp .95s cubic-bezier(.77,0,.18,1) forwards; filter:drop-shadow(0 8px 32px rgba(0,0,0,.5)); }
.pz-slice.pz-down img{ transform:translateY(-105%); }
@keyframes pzSliceUp{ to{ transform:translateY(0); } }
/* gold rule draws under the logo */
.pz-hero .pz-logo:after{ content:""; position:absolute; left:0; bottom:-20px; height:2px; width:0; background:var(--pz-gold); }
.pz-hero.pz-intro .pz-logo:after{ animation:pzRuleIn .9s 1.3s cubic-bezier(.77,0,.18,1) forwards; }
.pz-hero.pz-intro-done:not(.pz-intro) .pz-logo:after{ width:88px; }
@keyframes pzRuleIn{ to{ width:88px; } }
/* slow light sheen across the logo after the intro */
.pz-hero .pz-logo:before{ content:""; position:absolute; inset:0; z-index:2; pointer-events:none; opacity:0;
  background:linear-gradient(105deg, transparent 38%, rgba(255,255,255,.75) 50%, transparent 62%); background-size:260% 100%; background-position:120% 0;
  -webkit-mask:url(/assets/precision-logo-light.png) center / 100% 100% no-repeat; mask:url(/assets/precision-logo-light.png) center / 100% 100% no-repeat; }
.pz-hero.pz-intro-done .pz-logo:before{ opacity:1; animation:pzSheen 2.6s .2s ease-in-out 1 forwards; }
@keyframes pzSheen{ 0%{ background-position:120% 0; } 100%{ background-position:-20% 0; } }
.pz-hero .pz-desc{ margin-top:44px !important; }
/* text + buttons rise in after the logo (no blur) */
.pz-hero.pz-intro .pz-desc{ opacity:0; animation:pzRise .9s 1.25s cubic-bezier(.2,.7,.2,1) forwards; }
.pz-hero.pz-intro .pz-actions{ opacity:0; animation:pzRise .9s 1.45s cubic-bezier(.2,.7,.2,1) forwards; }
.pz-hero.pz-intro .pz-kicker-line{ width:0; animation:pzKick .8s .15s cubic-bezier(.77,0,.18,1) forwards; }
@keyframes pzRise{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }
@keyframes pzKick{ to{ width:56px; } }
.pz-hero .pz-kicker-text{ min-width:11ch; }

/* Image hover overlays */
a.box-image-link, .effect-popup{ position:relative; overflow:hidden; }
a.box-image-link img, .effect-popup img.cover-bg-img{ transition:transform 1.3s cubic-bezier(.2,.7,.2,1), filter .8s !important; }
.pz-imgfx{ position:absolute; inset:0; z-index:5; pointer-events:none; opacity:0; transition:opacity .55s ease;
  background:linear-gradient(0deg, rgba(10,10,11,.82) 0%, rgba(10,10,11,.25) 55%, rgba(10,10,11,.1) 100%); }
.pz-imgfx:before{ content:""; position:absolute; inset:0; background:linear-gradient(110deg, transparent 35%, rgba(203,179,121,.28) 50%, transparent 65%); transform:translateX(-110%); }
.pz-imgfx-frame{ position:absolute; inset:16px; border:1px solid rgba(203,179,121,.7); transform:scale(1.06); opacity:0; transition:transform .7s cubic-bezier(.2,.7,.2,1), opacity .6s; }
.pz-imgfx-cta{ position:absolute; left:34px; bottom:30px; display:inline-flex; align-items:center; gap:12px; font-family:var(--pz-mono); font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--pz-gold); transform:translateY(14px); opacity:0; transition:transform .6s .08s cubic-bezier(.2,.7,.2,1), opacity .5s .08s; }
.pz-imgfx-cta i{ display:block; width:0; height:1px; background:var(--pz-gold); transition:width .6s .2s cubic-bezier(.2,.7,.2,1); }
.pz-imgfx-plus{ position:absolute; left:50%; top:50%; width:58px; height:58px; margin:-29px 0 0 -29px; border:1px solid var(--pz-gold); border-radius:50%; transform:scale(.6) rotate(-90deg); opacity:0; transition:transform .6s cubic-bezier(.2,.7,.2,1), opacity .4s; background:rgba(10,10,11,.35); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.pz-imgfx-plus:before, .pz-imgfx-plus:after{ content:""; position:absolute; left:50%; top:50%; background:var(--pz-gold); }
.pz-imgfx-plus:before{ width:18px; height:1px; margin:0 0 0 -9px; } .pz-imgfx-plus:after{ width:1px; height:18px; margin:-9px 0 0 0; }
.pz-imgfx-zoom{ background:rgba(10,10,11,.38); }
@media (hover:hover){
  a.box-image-link:hover img, .effect-popup:hover img.cover-bg-img{ transform:scale(1.07); filter:grayscale(0) contrast(1.06) !important; }
  a.box-image-link:hover .pz-imgfx, .effect-popup:hover .pz-imgfx{ opacity:1; }
  a.box-image-link:hover .pz-imgfx:before, .effect-popup:hover .pz-imgfx:before{ transform:translateX(110%); transition:transform 1.1s cubic-bezier(.2,.7,.2,1); }
  a.box-image-link:hover .pz-imgfx-frame, .effect-popup:hover .pz-imgfx-frame{ transform:scale(1); opacity:1; }
  a.box-image-link:hover .pz-imgfx-cta{ transform:none; opacity:1; } a.box-image-link:hover .pz-imgfx-cta i{ width:34px; }
  .effect-popup:hover .pz-imgfx-plus{ transform:none; opacity:1; }
}
a.box-image-link:focus-visible .pz-imgfx{ opacity:1; } a.box-image-link:focus-visible .pz-imgfx-cta, a.box-image-link:focus-visible .pz-imgfx-frame{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .pz-hero .pz-logo:before{ display:none; } .pz-imgfx:before{ display:none; } }
.pz-hero .pz-logo .pz-slice img{ clip-path:none !important; opacity:1 !important; filter:drop-shadow(0 8px 32px rgba(0,0,0,.5)) !important; transform:translateY(105%); animation:pzSliceUp .95s cubic-bezier(.77,0,.18,1) forwards !important; }
.pz-hero .pz-logo .pz-slice.pz-down img{ transform:translateY(-105%); }

/* ================= v7 (Nov 2): brand text colours + counters ================= */
:root{ --pz-text:#c3c3c8; --pz-title:#f5f3ee; }
/* Titles: warm white, accent word gold */
#page_wrapper h1, #page_wrapper h2, #page_wrapper .title-h2:not(.award-num), #page_wrapper h3, #page_wrapper h4, #page_wrapper .title-block, #page_wrapper .post-title{ color:var(--pz-title) !important; }
#page_wrapper .pz-accent, #page_wrapper .title-h2 b, #page_wrapper .title-h2 .pz-accent{ color:var(--pz-gold) !important; }
/* Sub-headers: brand gold */
#page_wrapper .section-title .description, #page_wrapper .sub-section-title .description, #page_wrapper h5:not(.font-number):not(.title-h2), #page_wrapper h6:not(.title-h2), #page_wrapper .sm-title-block:not(.tab-title), #page_wrapper .pz-sign-label, #page_wrapper .pz-mh{ color:var(--pz-gold) !important; }
#page_wrapper .accordion__question .tab-title{ color:var(--pz-title) !important; }
#page_wrapper .accordion__question:hover .tab-title{ color:var(--pz-gold) !important; }
/* Body copy: bright, easy to read on dark */
#page_wrapper p:not(.description):not(.sm-title-block), #page_wrapper li, #page_wrapper .sm-p, #page_wrapper .service_description p, #page_wrapper .testimonial-content p, #page_wrapper label{ color:var(--pz-text); }
#page_wrapper .pz-hero .pz-desc{ color:rgba(255,255,255,.88) !important; }
/* keep buttons / nav / menus as designed */
#page_wrapper .pz-hbtn, #page_wrapper .pz-btn, #dsn_header *{ }
/* Counters */
.pz-count-wrap{ display:inline-flex; align-items:baseline; gap:2px; }
.pz-count{ font-variant-numeric:tabular-nums; color:var(--pz-title); transition:color .5s; }
.pz-count.pz-counting{ color:#fff; }
.pz-count.pz-counted{ color:var(--pz-title); }
.pz-count-plus{ color:var(--pz-gold); font-weight:300; margin-left:2px; }
/* stats + step labels are sub-headers -> gold */
#page_wrapper .dsn-award .award-item h4.title-block{ color:var(--pz-gold) !important; }
#page_wrapper .about-award .award-item .award-num, #page_wrapper .about-award .award-item .award-num span{ color:var(--pz-gold) !important; }

/* ================= v9 (Nov 2): contrasting caption / meta colours ================= */
/* Text under pictures + small info lines -> gold, so they stand apart from white titles and grey body */
#page_wrapper .entry-meta, #page_wrapper .entry-meta *, #page_wrapper .entry-date, #page_wrapper .entry-date *,
#page_wrapper .metas, #page_wrapper .metas *, #page_wrapper .subtitle-meta, #page_wrapper .subtitle-meta *,
#page_wrapper .post-meta, #page_wrapper .post-meta *, #page_wrapper .blog-category, #page_wrapper .blog-category *,
#page_wrapper .dsn-category, #page_wrapper .dsn-category *, #page_wrapper .pz-contained .section_description,
#page_wrapper .label.box-text, #page_wrapper .location-punchline{ color:var(--pz-gold) !important; }
#page_wrapper .metas .separator-between, #page_wrapper .entry-meta .separator-between{ color:rgba(203,179,121,.5) !important; }
/* Card titles under pictures stay bright white; turn gold on hover */
#page_wrapper .pz-contained .post-title, #page_wrapper .pz-contained .post-title a, #page_wrapper .location-name{ color:var(--pz-title) !important; }
#page_wrapper .pz-contained .swiper-slide:hover .post-title, #page_wrapper .pz-contained .swiper-slide:hover .post-title a{ color:var(--pz-gold) !important; }
/* Service card link text gold */
#page_wrapper .solution-card-section .title-btn{ color:var(--pz-gold) !important; }
/* Small grey labels were too dim -> brighter */
#page_wrapper .testimonial-position, #page_wrapper .pz-sign-role{ color:#b9b9be !important; }
/* Body under section titles a touch brighter than card body for hierarchy */
#page_wrapper .section-title + p, #page_wrapper .section-title ~ p.max-w570, #page_wrapper .about-section .box-left > p{ color:#d4d4d8 !important; }
/* Insights list: dates + index numbers gold */
#page_wrapper .link.mt-15 .font-caps, #page_wrapper .dsn-numbers, #page_wrapper .dsn-numbers .number{ color:var(--pz-gold) !important; }

/* ================= v10 (Nov 2): article/project cards - one clean meta row, alternating contrast ================= */
.pz-contained .post-meta{ position:static !important; display:flex !important; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:0 0 16px !important; transform:none !important; }
.pz-contained .post-meta .entry-date, .pz-contained .post-meta .dsn-category{ position:static !important; margin:0 !important; padding:0 !important; transform:none !important; background:none !important; top:auto !important; bottom:auto !important; }
.pz-contained .post-meta .separator-between{ display:none !important; }
/* date = soft light grey, category = gold, title = white */
#page_wrapper .pz-contained .post-meta .entry-date{ color:#a9a9ae !important; }
#page_wrapper .pz-contained .post-meta .dsn-category, #page_wrapper .pz-contained .post-meta .dsn-category span{ color:var(--pz-gold) !important; }
.pz-contained .post-meta .entry-date + .separator-between + .dsn-category:before{ content:""; display:inline-block; width:4px; height:4px; margin:0 12px 2px 0; border-radius:50%; background:rgba(203,179,121,.6); vertical-align:middle; }
.pz-contained .post-title a{ text-decoration:none !important; background:none !important; }
.pz-contained .swiper-slide:hover .post-title a{ text-decoration:none !important; }

/* ================= v11 (Nov 2): photo cards redesigned - full-bleed image, text over a dark fade, no dates ================= */
.pz-contained .swiper-slide{ background:transparent !important; border:0 !important; box-shadow:none !important; }
.pz-contained .swiper-slide .box-content{ position:relative !important; display:block !important; height:460px; overflow:hidden; border:1px solid var(--pz-hair); background:#0d0d0e; transition:border-color .5s; height:460px !important; min-height:460px !important; flex:1 1 auto; width:100%; }
.pz-contained .swiper-slide:hover .box-content{ border-color:rgba(203,179,121,.45); }
.pz-contained .box-image-link{ position:absolute !important; inset:0; height:100% !important; width:100% !important; display:block !important; margin:0 !important; }
.pz-contained .box-image-bg{ position:absolute !important; inset:0; height:100% !important; }
.pz-contained .box-image-bg img{ width:100% !important; height:100% !important; aspect-ratio:auto !important; object-fit:cover !important; }
.pz-contained .post-content{ position:absolute !important; left:0; right:0; bottom:0; z-index:6; margin:0 !important; padding:90px 30px 28px !important;
  background:linear-gradient(0deg, rgba(10,10,11,.94) 0%, rgba(10,10,11,.7) 45%, rgba(10,10,11,0) 100%) !important; pointer-events:none; }
.pz-contained .post-content a{ pointer-events:auto; }
.pz-contained .post-title-info{ margin:0 !important; padding:0 !important; }
/* no dates */
.pz-contained .entry-date, .pz-contained .post-meta .separator-between{ display:none !important; }
.pz-contained .post-meta{ margin:0 0 10px !important; }
.pz-contained .post-meta .dsn-category:before{ display:none !important; }
/* label (category / city) in gold above the title */
.pz-contained .post-description-info{ order:-1; margin:0 0 10px !important; }
.pz-contained .post-description-info p, .pz-contained .post-meta .dsn-category, .pz-contained .post-meta .dsn-category span{ margin:0 !important; color:var(--pz-gold) !important; font-family:var(--pz-mono) !important; font-size:10.5px !important; letter-spacing:.26em !important; text-transform:uppercase !important; }
/* title */
.pz-contained .post-title{ margin:0 !important; font-size:clamp(18px,1.45vw,21px) !important; line-height:1.3 !important; letter-spacing:.02em !important; text-transform:none !important; position:relative; padding-bottom:16px; }
#page_wrapper .pz-contained .post-title, #page_wrapper .pz-contained .post-title a{ color:#fff !important; }
.pz-contained .post-title:after{ content:""; position:absolute; left:0; bottom:0; height:1px; width:28px; background:rgba(203,179,121,.6); transition:width .6s cubic-bezier(.2,.7,.2,1), background .4s; }
.pz-contained .swiper-slide:hover .post-title:after{ width:72px; background:var(--pz-gold); }
#page_wrapper .pz-contained .swiper-slide:hover .post-title a{ color:#fff !important; }
/* hover overlay: keep zoom + gold frame, drop the extra label (title already shown) */
.pz-contained .pz-imgfx-cta{ display:none !important; }
.pz-contained .pz-imgfx{ background:rgba(10,10,11,.25); }
.pz-contained .pz-imgfx-frame{ inset:14px; }
.pz-contained .box-image-bg img{ filter:grayscale(.2) contrast(1.05) !important; }
.pz-contained .swiper-slide:hover .box-image-bg img{ filter:grayscale(0) contrast(1.05) !important; transform:scale(1.06); }
@media (max-width:991px){ .pz-contained .swiper-slide .box-content{ height:420px !important; min-height:420px !important; } }
@media (max-width:575px){ .pz-contained .swiper-slide .box-content{ height:380px !important; min-height:380px !important; } #page_wrapper .pz-contained .swiper-slide .post-content{ padding:110px 22px 22px !important; } }
/* stronger fade behind card text so it always reads */
#page_wrapper .pz-contained .swiper-slide .post-content{ padding:130px 30px 28px !important; background:linear-gradient(0deg, rgba(8,8,9,.97) 0%, rgba(8,8,9,.86) 42%, rgba(8,8,9,.45) 72%, rgba(8,8,9,0) 100%) !important; }
.pz-contained .post-content *{ text-shadow:0 1px 12px rgba(0,0,0,.45); }
