/* Focused visual refinements added after the approved V1.1 design. */

/* Homepage: use the large PMaaS card's lower space as a clear visual, not more copy. */
.pt-pmaas-visual{
  position:absolute;
  left:46px;
  right:46px;
  bottom:34px;
  height:220px;
  z-index:3;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(36,136,255,.16);
  background:
    radial-gradient(circle at 50% 46%,rgba(36,136,255,.10),transparent 23%),
    linear-gradient(145deg,rgba(255,255,255,.90),rgba(239,249,251,.88));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 14px 34px rgba(31,74,79,.04);
}
.pt-pmaas-visual:before,
.pt-pmaas-visual:after{
  content:"";
  position:absolute;
  left:50%;
  top:46%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
}
.pt-pmaas-visual:before{width:210px;height:210px;border:1px solid rgba(36,136,255,.17)}
.pt-pmaas-visual:after{width:146px;height:146px;border:1px dashed rgba(51,198,209,.34)}
.pt-pmaas-core{
  position:absolute;
  left:50%;
  top:46%;
  transform:translate(-50%,-50%);
  width:94px;
  height:94px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#10282c,#183b40);
  color:#fff;
  box-shadow:0 18px 38px rgba(17,48,52,.20),0 0 0 10px rgba(36,136,255,.045);
  z-index:4;
}
.pt-pmaas-core i{font-size:21px;color:#6ddce4;margin-bottom:5px}
.pt-pmaas-core span{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.pt-pmaas-node{
  position:absolute;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:112px;
  height:42px;
  padding:0 13px;
  border-radius:12px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(31,79,85,.14);
  box-shadow:0 12px 28px rgba(24,66,71,.09);
  color:#2d4c50;
  font-size:11px;
  font-weight:750;
  z-index:5;
}
.pt-pmaas-node i{
  width:25px;height:25px;display:grid;place-items:center;border-radius:7px;
  background:linear-gradient(135deg,rgba(36,136,255,.14),rgba(51,198,209,.15));
  color:#1b87c9;font-size:13px;
}
.pt-pmaas-node.plan{left:8%;top:23%}
.pt-pmaas-node.govern{right:8%;top:23%}
.pt-pmaas-node.coordinate{left:50%;bottom:6%;transform:translateX(-50%);min-width:136px}
.pt-pmaas-line{
  position:absolute;
  z-index:2;
  height:2px;
  border-radius:2px;
  transform-origin:left center;
  background:linear-gradient(90deg,rgba(36,136,255,.34),rgba(51,198,209,.62));
  box-shadow:0 0 8px rgba(36,136,255,.08);
}
.pt-pmaas-line.l1{width:100px;left:27%;top:39%;transform:rotate(18deg)}
.pt-pmaas-line.l2{width:100px;right:27%;top:39%;transform:rotate(-18deg);transform-origin:right center}
.pt-pmaas-line.l3{width:52px;left:50%;bottom:27%;transform:translateX(-50%) rotate(90deg);transform-origin:center}

/* Services hero: six equal nodes arranged evenly around the delivery-ownership orbit. */
.pt-service-map{
  min-height:460px!important;
}
.pt-service-map .pt-map-node{
  width:128px!important;
  min-width:128px!important;
  max-width:128px!important;
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  padding:9px 12px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  white-space:nowrap;
  box-sizing:border-box;
  transform:none!important;
}
/* 12 o'clock */
.pt-service-map .pt-map-node.n1{
  top:0!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
}
/* 2 o'clock */
.pt-service-map .pt-map-node.n2{
  top:20%!important;
  right:-2%!important;
  left:auto!important;
  bottom:auto!important;
}
/* 4 o'clock */
.pt-service-map .pt-map-node.n3{
  right:-2%!important;
  bottom:14%!important;
  left:auto!important;
  top:auto!important;
}
/* 6 o'clock */
.pt-service-map .pt-map-node.n4{
  left:50%!important;
  bottom:0!important;
  right:auto!important;
  top:auto!important;
  transform:translateX(-50%)!important;
}
/* 8 o'clock */
.pt-service-map .pt-map-node.n5{
  left:-2%!important;
  bottom:14%!important;
  right:auto!important;
  top:auto!important;
}
/* 10 o'clock */
.pt-service-map .pt-map-node.n6{
  left:-2%!important;
  top:20%!important;
  right:auto!important;
  bottom:auto!important;
}

/* Cross-page hero QA: keep inner-page breadcrumb and proof treatment visually consistent. */
.pt-inner-hero .pt-breadcrumb,
.pt-cap-page-hero .pt-breadcrumb,
.pt-work-hero .pt-breadcrumb,
.pt-about-hero .pt-breadcrumb,
.pt-contact-hero .pt-breadcrumb,
.pt-privacy-hero .pt-breadcrumb{
  display:flex;
  align-items:center;
  gap:0;
  font-size:12px;
  color:#789296;
  margin-bottom:28px;
}
.pt-inner-hero .pt-breadcrumb a,
.pt-cap-page-hero .pt-breadcrumb a,
.pt-work-hero .pt-breadcrumb a,
.pt-about-hero .pt-breadcrumb a,
.pt-contact-hero .pt-breadcrumb a,
.pt-privacy-hero .pt-breadcrumb a{
  color:#a9bec1;
  text-decoration:none;
}
.pt-inner-hero .pt-breadcrumb a:hover,
.pt-cap-page-hero .pt-breadcrumb a:hover,
.pt-work-hero .pt-breadcrumb a:hover,
.pt-about-hero .pt-breadcrumb a:hover,
.pt-contact-hero .pt-breadcrumb a:hover,
.pt-privacy-hero .pt-breadcrumb a:hover{color:#fff}
.pt-inner-hero .pt-breadcrumb i,
.pt-cap-page-hero .pt-breadcrumb i,
.pt-work-hero .pt-breadcrumb i,
.pt-about-hero .pt-breadcrumb i,
.pt-contact-hero .pt-breadcrumb i,
.pt-privacy-hero .pt-breadcrumb i{
  font-size:9px;
  margin:0 8px;
  color:#789296;
}
.pt-inner-hero .pt-hero-proof,
.pt-cap-page-hero .pt-hero-proof,
.pt-work-hero .pt-hero-proof,
.pt-about-hero .pt-hero-proof,
.pt-contact-hero .pt-hero-proof{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
  margin-top:34px;
}
.pt-inner-hero .pt-hero-proof span,
.pt-cap-page-hero .pt-hero-proof span,
.pt-work-hero .pt-hero-proof span,
.pt-about-hero .pt-hero-proof span,
.pt-contact-hero .pt-hero-proof span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#91aaad;
  font-size:13px;
}
.pt-inner-hero .pt-hero-proof i,
.pt-cap-page-hero .pt-hero-proof i,
.pt-work-hero .pt-hero-proof i,
.pt-about-hero .pt-hero-proof i,
.pt-contact-hero .pt-hero-proof i{
  color:var(--pt-cyan);
  margin-right:0;
}

/* Keep circular hero diagrams contained on narrow screens. */
.pt-service-map,
.pt-cap-orbit,
.pt-work-cycle,
.pt-about-orbit,
.pt-contact-signal,
.pt-privacy-visual{width:100%;max-width:500px}
.pt-privacy-visual{max-width:380px}

/* Subtle evidence links between services/capabilities and anonymised case studies. */
.pt-proof-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:22px;
  padding:10px 14px;
  border:1px solid rgba(36,136,255,.20);
  border-radius:999px;
  background:rgba(36,136,255,.055);
  color:#176fbd;
  text-decoration:none;
  font-size:12px;
  font-weight:750;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.pt-proof-link:hover{transform:translateY(-1px);border-color:rgba(36,136,255,.38);background:rgba(36,136,255,.09);color:#125f9f}
.pt-service-detail.dark .pt-proof-link,
.pt-service-detail.iso-specialist .pt-proof-link,
.pt-cap-detail.dark .pt-proof-link{
  color:#79dce3;
  border-color:rgba(121,220,227,.22);
  background:rgba(121,220,227,.07);
}
.pt-service-detail.dark .pt-proof-link:hover,
.pt-service-detail.iso-specialist .pt-proof-link:hover,
.pt-cap-detail.dark .pt-proof-link:hover{color:#a9f0f4;border-color:rgba(121,220,227,.42);background:rgba(121,220,227,.11)}

/* Keyboard and reduced-motion QA across all pages. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(51,198,209,.58);
  outline-offset:3px;
}

.pt-footer-email{overflow-wrap:anywhere}

@media(max-width:1199.98px){
  .pt-pmaas-visual{display:none}
}
@media(max-width:991.98px){
  .pt-service-map{min-height:430px!important}
  .pt-service-map .pt-map-node{width:116px!important;min-width:116px!important;max-width:116px!important}
  .pt-service-map .pt-map-node.n2{right:0!important;top:21%!important}
  .pt-service-map .pt-map-node.n3{right:0!important;bottom:13%!important}
  .pt-service-map .pt-map-node.n5{left:0!important;bottom:13%!important}
  .pt-service-map .pt-map-node.n6{left:0!important;top:21%!important}
}
@media(max-width:575.98px){
  .pt-service-map{min-height:390px!important}
  .pt-service-map .pt-map-node{width:104px!important;min-width:104px!important;max-width:104px!important;height:46px!important;min-height:46px!important;max-height:46px!important;padding:8px 9px!important;font-size:10px}
  .pt-service-map .pt-map-node i{width:27px;height:27px}
  .pt-service-map .pt-map-node.n1{top:1%!important}
  .pt-service-map .pt-map-node.n2{right:0!important;top:22%!important}
  .pt-service-map .pt-map-node.n3{right:0!important;bottom:12%!important}
  .pt-service-map .pt-map-node.n4{bottom:1%!important}
  .pt-service-map .pt-map-node.n5{left:0!important;bottom:12%!important}
  .pt-service-map .pt-map-node.n6{left:0!important;top:22%!important}
  .pt-inner-hero .pt-hero-proof,
  .pt-cap-page-hero .pt-hero-proof,
  .pt-work-hero .pt-hero-proof,
  .pt-about-hero .pt-hero-proof,
  .pt-contact-hero .pt-hero-proof{gap:12px 16px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .pt-reveal,.pt-scroll-reveal{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
  .pt-service-primary,.pt-service-secondary,.pt-engagement-card,.pt-cap-overview-card,.pt-work-stage,.pt-rhythm-grid article,.pt-values-grid article{transition:none!important}
}
