
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:#e9eef3;color:#303249}
.visual-page{min-height:100vh}
.master-page{position:relative;width:min(100vw,1536px);margin:0 auto;background:#fff;overflow:hidden}
.master-image{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.hotspot{position:absolute;display:block;z-index:5;background:transparent;border:0;cursor:pointer}
.hotspot:hover,.country-hotspot:hover{outline:2px solid rgba(0,177,255,.6);outline-offset:2px;background:rgba(0,177,255,.06)}

/* HOME — aligned to selected 1536 × 1024 concept */
.home-master .home-nav{top:0.6%;height:5.2%}
.home-master .home-nav.about{left:50.0%;width:6.8%}
.home-master .home-nav.capabilities{left:57.0%;width:10.0%}
.home-master .home-nav.approach{left:67.2%;width:8.6%}
.home-master .home-nav.projects{left:76.2%;width:14.0%}
.home-master .home-nav.contact{left:90.5%;width:8.5%}
.home-master .learn-more{left:2.2%;top:38.2%;width:10.5%;height:5.8%}
.home-master .cap{top:63.8%;height:28.0%}
.home-master .cap1{left:1.4%;width:23.4%}
.home-master .cap2{left:25.0%;width:24.4%}
.home-master .cap3{left:49.5%;width:24.1%}
.home-master .cap4{left:73.8%;width:24.8%}
.home-master .bottom{top:92.2%;height:7.4%}
.home-master .recent{left:71.4%;width:23.0%}

/* ABOUT image navigation */
.about-master .about-nav{top:1.4%;height:6.6%}
.about-master .home-logo{left:1.2%;width:22.5%}
.about-master .about-active{left:50.5%;width:7.2%}
.about-master .about-nav.capabilities{left:58.0%;width:10.9%}
.about-master .about-nav.approach{left:69.2%;width:8.8%}
.about-master .about-nav.projects{left:78.6%;width:12.6%}
.about-master .about-nav.contact{left:91.5%;width:7.7%}

/* ABOUT map interaction */
.country-hotspot{position:absolute;z-index:8;width:3.4%;aspect-ratio:1/1;border-radius:50%;border:0;background:rgba(0,139,255,.01);cursor:pointer}
.country-hotspot.us{left:27.1%;top:43.0%}
.country-hotspot.germany{left:44.0%;top:31.9%}
.country-hotspot.czech{left:47.8%;top:31.0%}
.country-hotspot.slovenia{left:46.9%;top:36.8%}
.country-hotspot.uae{left:54.0%;top:45.0%}
.country-hotspot.korea{left:66.0%;top:40.2%}

.experience-panel{position:absolute;z-index:12;right:3%;top:14%;width:21.5%;min-height:55%;padding:2%;background:rgba(255,255,255,.985);border:1px solid #d8e2ec;border-radius:8px;box-shadow:0 8px 26px rgba(16,35,60,.18);color:#303249}
.panel-close{position:absolute;right:5%;top:3%;border:0;background:transparent;color:#303249;font-size:28px;cursor:pointer}
.panel-country{font-weight:800;font-size:clamp(15px,1.55vw,27px);margin:0 0 5%}
.panel-subtitle{font-size:clamp(11px,.95vw,16px);line-height:1.45;margin:0 0 6%;padding-left:18%;min-height:42px;background:radial-gradient(circle at 7% 42%,transparent 0 9px,#777a80 10px 12px,transparent 13px)}
.panel-rule{height:1px;background:#a9aaad;margin:5% 0}
.panel-heading{color:#777a80;font-weight:800;font-size:clamp(9px,.82vw,14px);margin-bottom:4%}
.experience-panel ul{padding-left:18px;margin:0}
.experience-panel li{margin:0 0 5%;font-size:clamp(9px,.78vw,13px);line-height:1.35}
.panel-time{font-size:clamp(9px,.8vw,13px);margin-top:3%}
.experience-panel.closed{display:none}

/* REAL CONTENT PAGES */
.content-page{min-height:100vh;background:#f7f7f8}
.site-header{height:92px;background:#303249;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid #777a80}
.text-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.brand-shield{display:grid;place-items:center;width:48px;height:54px;border:2px solid #fff;clip-path:polygon(50% 0,96% 16%,88% 74%,50% 100%,12% 74%,4% 16%);font-weight:800;font-size:24px;color:#a9aaad}
.text-brand strong{display:block;font-size:24px;letter-spacing:.14em}
.text-brand small{display:block;color:#a9aaad;letter-spacing:.23em;margin-top:3px}
.site-header nav{display:flex;gap:30px}
.site-header nav a{color:#dbe7f0;text-decoration:none;font-size:13px;letter-spacing:.08em}
.site-header nav a.active,.site-header nav a:hover{color:#c2c3c7;border-bottom:2px solid #c2c3c7;padding-bottom:8px}
.content-page main{max-width:1250px;margin:0 auto;padding:70px 5% 90px}
.content-hero{padding:45px 0 55px;border-bottom:1px solid #cbd7e1}
.content-hero .eyebrow{color:#777a80;font-size:13px;font-weight:700;letter-spacing:.13em}
.content-hero h1{font-size:clamp(38px,5vw,68px);margin:12px 0 20px;color:#303249;font-weight:700}
.content-hero p{max-width:780px;font-size:18px;line-height:1.65;color:#506476}
.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}
.content-card{background:#fff;border:1px solid #d7e1ea;padding:30px;display:grid;grid-template-columns:64px 1fr;gap:22px;min-height:190px}
.content-icon{font-size:36px;color:#777a80;font-weight:700}
.content-card h2{margin:0 0 10px;font-size:22px;color:#303249}
.content-card p{margin:0;color:#536777;line-height:1.6}

@media(max-width:900px){
  .experience-panel{right:2%;top:12%;width:28%;min-height:auto}
  .site-header{height:auto;align-items:flex-start;gap:20px;flex-direction:column;padding:20px 5%}
  .site-header nav{flex-wrap:wrap;gap:16px}
}
@media(max-width:700px){
  .experience-panel{right:2%;top:10%;width:38%;padding:2.5%}
  .panel-subtitle{padding-left:0;background:none}
  .content-grid{grid-template-columns:1fr}
}


/* v0.2.5 — Homepage capability drawings are clickable navigation tiles */
.home-master .cap {
  transition: background .16s ease, outline-color .16s ease;
}
.home-master .cap:hover {
  background: rgba(17, 155, 225, .075);
  outline: 2px solid rgba(17, 155, 225, .72);
  outline-offset: -2px;
}

/* Dedicated capability pages */
.service-hero {
  position: relative;
}
.back-capabilities {
  display: inline-block;
  margin-top: 22px;
  color: #777a80;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
}
.back-capabilities:hover {
  text-decoration: underline;
}
.service-detail-card {
  min-height: 210px;
}
.service-grid .content-icon {
  display: grid;
  place-items: start center;
  font-size: 22px;
  letter-spacing: .08em;
}


/* v0.2.6 — approved Praesidium logo used consistently throughout */
.approved-brand {
  display:flex;
  align-items:center;
  width:min(365px,34vw);
  text-decoration:none;
}
.site-logo {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.about-logo-patch {
  position:absolute;
  z-index:4;
  left:1.0%;
  top:.45%;
  width:31%;
  height:8.4%;
  display:flex;
  align-items:center;
  padding:0 .8%;
  background:#303249;
}
.about-logo-patch img {
  display:block;
  width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:left center;
}
.about-master .home-logo {
  z-index:6;
}
@media(max-width:900px){
  .approved-brand{width:min(330px,70vw)}
}


/* v0.3.0 — Recent Projects / Block 4 interactive aircraft-impact project */
.project-clickable{cursor:pointer;position:relative;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.project-clickable:hover,.project-clickable:focus{transform:translateY(-2px);border-color:#777a80;box-shadow:0 12px 28px rgba(8,37,74,.12);outline:none}
.project-open{display:inline-block;margin-top:18px;color:#777a80;font-size:12px;font-weight:800;letter-spacing:.08em}
.modal-open{overflow:hidden}
.project-detail-overlay{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:28px}
.project-detail-overlay.open{display:flex}
.project-detail-backdrop{position:absolute;inset:0;background:rgba(2,18,35,.76);backdrop-filter:blur(3px)}
.project-detail-panel{position:relative;z-index:1;width:min(1080px,96vw);max-height:90vh;overflow:auto;background:#fbfbfc;border:1px solid #c9d9e6;box-shadow:0 24px 70px rgba(0,0,0,.32);padding:44px 52px 48px}
.project-detail-close{position:absolute;right:22px;top:15px;border:0;background:transparent;color:#303249;font-size:34px;line-height:1;cursor:pointer}
.project-detail-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:38px;align-items:center;padding-bottom:28px;border-bottom:1px solid #cbd7e1}
.project-detail-heading h2{font-size:clamp(30px,4vw,48px);line-height:1.08;color:#303249;margin:10px 0 0}
.project-detail-copy{columns:2;column-gap:42px;padding-top:30px}
.project-detail-copy p{break-inside:avoid;margin:0 0 22px;color:#40586b;font-size:15.5px;line-height:1.72}
.project-detail-copy strong{color:#303249}
.impact-graphic{height:220px;position:relative;overflow:hidden;border:1px solid #c9d9e6;background:linear-gradient(135deg,#f4f4f6,#e5e5e8)}
.impact-core,.impact-ring{position:absolute;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.impact-core{width:24px;height:24px;background:#303249;z-index:5}
.impact-ring{border:2px solid rgba(11,145,212,.55)}
.impact-ring-1{width:78px;height:78px}
.impact-ring-2{width:132px;height:132px;border-style:dashed}
.impact-ring-3{width:190px;height:190px;border-color:rgba(8,37,74,.28)}
.impact-facility{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:43px;background:#303249;color:white;padding:5px 9px;font-size:9px;letter-spacing:.12em}
.impact-label{position:absolute;color:#303249;font-size:9px;font-weight:800;letter-spacing:.09em}
.impact-label.heat{left:8%;top:14%}.impact-label.blast{right:9%;top:17%}.impact-label.smoke{right:8%;bottom:14%}.impact-label.debris{left:8%;bottom:16%}
@media(max-width:760px){
  .project-detail-panel{padding:38px 26px}
  .project-detail-heading{grid-template-columns:1fr}
  .impact-graphic{height:180px}
  .project-detail-copy{columns:1}
}


/* v0.3.1 — Recent Projects three-card layout */
.projects-main{max-width:1480px;margin:0 auto;padding:52px 42px 90px}
.projects-intro{text-align:center;margin-bottom:38px}
.projects-title-row{display:grid;grid-template-columns:180px auto 180px;align-items:center;justify-content:center;gap:28px}
.projects-title-row span{height:1px;background:#a9aaad}
.projects-title-row h1{margin:0;color:#303249;font-size:48px;letter-spacing:.08em}
.projects-intro p{max-width:820px;margin:16px auto 0;font-size:19px;line-height:1.45;color:#526475}
.project-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.recent-project-card{position:relative;min-height:610px;border-radius:14px;overflow:hidden;background:#303249;background-size:cover;background-position:center;border:1px solid #4c4f67;color:#fff}
.aircraft-card{background-image:url("assets/aircraft-impact-tile.png");cursor:pointer}
.card-two{background-image:linear-gradient(rgba(3,22,41,.25),rgba(3,22,41,.3)),linear-gradient(135deg,#203f59,#0b2138)}
.card-three{background-image:linear-gradient(rgba(3,22,41,.2),rgba(3,22,41,.25)),linear-gradient(135deg,#213d57,#0a1d33)}
.project-card-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(2,18,35,.14) 0%,rgba(2,18,35,.36) 38%,rgba(2,18,35,.96) 76%)}
.project-number{position:absolute;left:28px;top:25px;font-size:52px;font-weight:300;color:#a9aaad;border-bottom:1px solid #a9aaad;padding-bottom:7px;z-index:2}
.project-card-content{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}
.project-card-content h2{font-size:30px;line-height:1.15;margin:0 0 15px;color:#fff}
.project-card-content h3{font-size:22px;line-height:1.28;margin:0 0 18px;color:#d1d1d4;font-style:italic;font-weight:500}
.project-card-content p{font-size:15px;line-height:1.55;margin:0 0 24px;color:#fff}
.project-card-link{display:inline-block;border-bottom:2px solid #d1d1d4;padding-bottom:5px;font-size:14px;font-weight:800;letter-spacing:.03em}
.aircraft-card:hover,.aircraft-card:focus{outline:2px solid #a9aaad;outline-offset:2px;transform:translateY(-2px)}
.placeholder-link{opacity:.65;border-bottom-style:dashed}
.placeholder-card{cursor:default}

/* Response-centered dependency graphic */
.response-dependency-graphic{position:relative;min-height:330px;background:#f2f2f4;border:1px solid #c8d8e5;border-radius:10px}
.dep-node{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:50%;border:2px solid #fff;box-shadow:0 4px 14px rgba(8,37,74,.15);color:#fff}
.dep-node strong{font-size:15px;letter-spacing:.04em}
.dep-node small{font-size:10px;line-height:1.35;margin-top:5px}
.dep-response{width:142px;height:142px;left:50%;top:50%;transform:translate(-50%,-50%);background:#303249}
.dep-thermal,.dep-smoke,.dep-blast,.dep-debris{width:92px;height:92px;background:#777a80}
.dep-thermal{left:50%;top:14px;transform:translateX(-50%);background:#b95d4b}
.dep-smoke{left:16px;top:50%;transform:translateY(-50%)}
.dep-blast{right:16px;top:50%;transform:translateY(-50%);background:#777a80}
.dep-debris{left:50%;bottom:44px;transform:translateX(-50%);background:#85796e}
.dep-arrow{position:absolute;color:#303249;font-size:28px;font-weight:800}
.dep-arrow-up{left:50%;top:94px;transform:translateX(-50%)}
.dep-arrow-left{left:118px;top:50%;transform:translateY(-50%)}
.dep-arrow-right{right:118px;top:50%;transform:translateY(-50%)}
.dep-arrow-down{left:50%;bottom:116px;transform:translateX(-50%)}
.dep-caption{position:absolute;left:18px;right:18px;bottom:10px;text-align:center;color:#303249;font-size:11px;font-weight:800;font-style:italic}

@media(max-width:1000px){
  .project-card-grid{grid-template-columns:1fr}
  .recent-project-card{min-height:500px}
  .projects-title-row{grid-template-columns:80px auto 80px}
}
@media(max-width:650px){
  .projects-main{padding:34px 18px 70px}
  .projects-title-row{grid-template-columns:1fr}
  .projects-title-row span{display:none}
  .projects-title-row h1{font-size:36px}
  .response-dependency-graphic{min-height:300px}
  .dep-response{width:120px;height:120px}
  .dep-thermal,.dep-smoke,.dep-blast,.dep-debris{width:76px;height:76px}
  .dep-arrow-left{left:92px}.dep-arrow-right{right:92px}
}


/* v0.3.2 — Expanded Aircraft Impact response-dependency graphic */
.project-detail-heading{
  grid-template-columns:minmax(330px,.78fr) minmax(620px,1.22fr);
  gap:52px;
  align-items:center;
}
.response-dependency-graphic{
  position:relative;
  min-height:570px;
  width:100%;
  background:#f8f8f9;
  border:1px solid #c8d8e5;
  border-radius:12px;
  overflow:hidden;
}
.dep-response{
  width:210px;
  height:210px;
}
.dep-response strong{
  font-size:25px;
}
.dep-response small{
  font-size:13px;
  line-height:1.5;
  margin-top:10px;
}
.dep-thermal,.dep-smoke,.dep-blast,.dep-debris{
  width:142px;
  height:142px;
}
.dep-node strong{
  font-size:19px;
}
.dep-node small{
  font-size:12px;
  line-height:1.45;
  margin-top:7px;
}
.dep-thermal{
  top:20px;
}
.dep-smoke{
  left:28px;
}
.dep-blast{
  right:28px;
}
.dep-debris{
  bottom:58px;
}
.dep-arrow{
  font-size:42px;
  line-height:1;
}
.dep-arrow-up{
  top:146px;
}
.dep-arrow-left{
  left:174px;
}
.dep-arrow-right{
  right:174px;
}
.dep-arrow-down{
  bottom:188px;
}
.dep-caption{
  left:24px;
  right:24px;
  bottom:17px;
  font-size:14px;
  line-height:1.25;
}
@media(max-width:1100px){
  .project-detail-heading{
    grid-template-columns:1fr;
  }
  .response-dependency-graphic{
    min-height:570px;
  }
}
@media(max-width:700px){
  .response-dependency-graphic{
    min-height:500px;
  }
  .dep-response{
    width:160px;
    height:160px;
  }
  .dep-response strong{font-size:20px}
  .dep-response small{font-size:10px}
  .dep-thermal,.dep-smoke,.dep-blast,.dep-debris{
    width:105px;
    height:105px;
  }
  .dep-node strong{font-size:14px}
  .dep-node small{font-size:9px}
  .dep-smoke{left:8px}
  .dep-blast{right:8px}
  .dep-arrow-left{left:104px}
  .dep-arrow-right{right:104px}
  .dep-arrow-up{top:111px}
  .dep-arrow-down{bottom:151px}
  .dep-debris{bottom:43px}
  .dep-caption{font-size:11px;bottom:10px}
}


/* v0.3.3 — Approved two-column Aircraft Impact project-detail layout */
.project-detail-panel-v2{
  width:min(1500px,97vw);
  max-height:94vh;
  padding:30px 34px 30px;
  overflow:auto;
  background:#fbfbfc;
  border:2px solid #303249;
  border-radius:8px;
}
.project-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:34px;
  align-items:stretch;
}
.project-detail-left{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.project-kicker{
  color:#303249;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  margin:0 0 18px;
}
.project-detail-left h2{
  margin:0;
  color:#303249;
  font-size:clamp(34px,3.5vw,56px);
  line-height:1.03;
  letter-spacing:-.02em;
}
.project-detail-left h3{
  margin:10px 0 12px;
  color:#303249;
  font-size:clamp(22px,2vw,31px);
  line-height:1.15;
  font-style:italic;
}
.project-title-rule{
  height:1px;
  background:#777a80;
  width:100%;
  margin:0 0 22px;
}
.project-detail-copy-v2{
  columns:1 !important;
  column-gap:0 !important;
  padding:0 !important;
}
.project-detail-copy-v2 p{
  margin:0 0 22px;
  color:#1d2730;
  font-size:15.5px;
  line-height:1.68;
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}
.project-detail-actions{
  display:flex;
  gap:22px;
  margin-top:auto;
  padding-top:8px;
}
.project-summary-button,
.project-back-button{
  min-height:54px;
  padding:0 22px;
  border-radius:3px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.01em;
}
.project-summary-button{
  background:#303249;
  color:#fff;
  border:1px solid #303249;
  opacity:1;
}
.project-summary-button:disabled{
  cursor:not-allowed;
  opacity:.92;
}
.project-back-button{
  background:#fff;
  color:#303249;
  border:1px solid #303249;
  cursor:pointer;
}
.project-detail-right{
  min-width:0;
  border:1px solid #d5e0e9;
  border-radius:12px;
  padding:18px 20px 16px;
  background:#fbfbfc;
  box-shadow:0 6px 22px rgba(8,37,74,.08);
}
.response-graphic-title{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
  color:#303249;
  text-align:center;
  font-size:14px;
  line-height:1.18;
}
.response-graphic-title span{
  height:1px;
  background:#777a80;
}
.response-dependency-graphic-v2{
  position:relative;
  min-height:560px !important;
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  overflow:hidden;
}
.response-dependency-graphic-v2 .dep-response{
  width:168px;
  height:168px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
.response-dependency-graphic-v2 .dep-response strong{
  font-size:22px;
}
.response-dependency-graphic-v2 .dep-response small{
  font-size:10.5px;
  line-height:1.42;
  margin-top:7px;
}
.response-dependency-graphic-v2 .dep-thermal,
.response-dependency-graphic-v2 .dep-smoke,
.response-dependency-graphic-v2 .dep-blast,
.response-dependency-graphic-v2 .dep-debris{
  width:112px;
  height:112px;
}
.response-dependency-graphic-v2 .dep-node strong{
  font-size:16px;
}
.response-dependency-graphic-v2 .dep-node small{
  font-size:9.5px;
  line-height:1.35;
  margin-top:5px;
}
.response-dependency-graphic-v2 .dep-thermal{
  left:50%;
  top:24px;
  transform:translateX(-50%);
}
.response-dependency-graphic-v2 .dep-smoke{
  left:34px;
  top:50%;
  transform:translateY(-50%);
}
.response-dependency-graphic-v2 .dep-blast{
  right:34px;
  top:50%;
  transform:translateY(-50%);
}
.response-dependency-graphic-v2 .dep-debris{
  left:50%;
  bottom:46px;
  transform:translateX(-50%);
}
.response-dependency-graphic-v2 .dep-arrow{
  color:#303249;
  font-size:30px;
  font-weight:800;
  line-height:1;
}
.response-dependency-graphic-v2 .dep-arrow-up{
  left:50%;
  top:126px;
  transform:translateX(-50%);
}
.response-dependency-graphic-v2 .dep-arrow-down{
  left:50%;
  bottom:148px;
  transform:translateX(-50%);
}
.response-dependency-graphic-v2 .dep-arrow-left{
  left:159px;
  top:50%;
  transform:translateY(-50%);
}
.response-dependency-graphic-v2 .dep-arrow-right{
  right:159px;
  top:50%;
  transform:translateY(-50%);
}
.response-dependency-graphic-v2 .dep-caption{
  left:16px;
  right:16px;
  bottom:5px;
  font-size:11px;
  line-height:1.2;
  padding:8px 10px;
  border:1px solid #777a80;
  border-radius:3px;
  background:#fff;
}
@media(max-width:1100px){
  .project-detail-layout{
    grid-template-columns:1fr;
  }
  .project-detail-right{
    min-height:620px;
  }
}
@media(max-width:700px){
  .project-detail-panel-v2{
    padding:24px 18px;
  }
  .project-detail-actions{
    flex-direction:column;
  }
  .response-dependency-graphic-v2{
    min-height:500px !important;
  }
}


/* v0.3.4 — Center all two-way arrows precisely between RESPONSE and outer nodes */
.response-dependency-graphic-v2{
  display:grid !important;
  grid-template-columns:112px 70px 168px 70px 112px !important;
  grid-template-rows:112px 54px 168px 54px 112px 30px 38px !important;
  justify-content:center !important;
  align-content:start !important;
  column-gap:0 !important;
  row-gap:0 !important;
  min-height:568px !important;
  padding-top:18px !important;
}

/* Remove absolute positioning from all diagram elements */
.response-dependency-graphic-v2 .dep-node,
.response-dependency-graphic-v2 .dep-arrow,
.response-dependency-graphic-v2 .dep-caption{
  position:static !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  margin:0 !important;
}

/* Cardinal nodes */
.response-dependency-graphic-v2 .dep-thermal{
  grid-column:3;
  grid-row:1;
  justify-self:center;
  align-self:center;
}
.response-dependency-graphic-v2 .dep-smoke{
  grid-column:1;
  grid-row:3;
  justify-self:center;
  align-self:center;
}
.response-dependency-graphic-v2 .dep-response{
  grid-column:3;
  grid-row:3;
  justify-self:center;
  align-self:center;
}
.response-dependency-graphic-v2 .dep-blast{
  grid-column:5;
  grid-row:3;
  justify-self:center;
  align-self:center;
}
.response-dependency-graphic-v2 .dep-debris{
  grid-column:3;
  grid-row:5;
  justify-self:center;
  align-self:center;
}

/* Arrows occupy the exact gaps between circles */
.response-dependency-graphic-v2 .dep-arrow-up{
  grid-column:3;
  grid-row:2;
  justify-self:center;
  align-self:center;
}
.response-dependency-graphic-v2 .dep-arrow-left{
  grid-column:2;
  grid-row:3;
  justify-self:center;
  align-self:center;
}
.response-dependency-graphic-v2 .dep-arrow-right{
  grid-column:4;
  grid-row:3;
  justify-self:center;
  align-self:center;
}
.response-dependency-graphic-v2 .dep-arrow-down{
  grid-column:3;
  grid-row:4;
  justify-self:center;
  align-self:center;
}

/* Caption stays centered beneath the full diagram */
.response-dependency-graphic-v2 .dep-caption{
  grid-column:1 / 6;
  grid-row:7;
  align-self:end;
  justify-self:stretch;
  width:auto !important;
  text-align:center;
}

/* Preserve node sizes */
.response-dependency-graphic-v2 .dep-response{
  width:168px !important;
  height:168px !important;
}
.response-dependency-graphic-v2 .dep-thermal,
.response-dependency-graphic-v2 .dep-smoke,
.response-dependency-graphic-v2 .dep-blast,
.response-dependency-graphic-v2 .dep-debris{
  width:112px !important;
  height:112px !important;
}

/* Responsive diagram: keep centered geometry on narrower screens */
@media(max-width:700px){
  .response-dependency-graphic-v2{
    grid-template-columns:92px 46px 140px 46px 92px !important;
    grid-template-rows:92px 44px 140px 44px 92px 24px 42px !important;
    min-height:496px !important;
  }
  .response-dependency-graphic-v2 .dep-response{
    width:140px !important;
    height:140px !important;
  }
  .response-dependency-graphic-v2 .dep-thermal,
  .response-dependency-graphic-v2 .dep-smoke,
  .response-dependency-graphic-v2 .dep-blast,
  .response-dependency-graphic-v2 .dep-debris{
    width:92px !important;
    height:92px !important;
  }
}


/* v0.3.5 — Widen narrative column, shrink diagram, remove forced hyphenation */
.project-detail-layout{
  grid-template-columns:minmax(0,1.18fr) minmax(480px,.82fr) !important;
  gap:28px !important;
}

.project-detail-copy-v2 p{
  text-align:justify !important;
  text-justify:inter-word !important;
  hyphens:none !important;
  -webkit-hyphens:none !important;
  -ms-hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

/* Slightly narrower right-side panel so the narrative gets more width */
.project-detail-right{
  padding:16px 18px 14px !important;
}

/* Compact the diagram while preserving centered arrows */
.response-dependency-graphic-v2{
  grid-template-columns:96px 52px 144px 52px 96px !important;
  grid-template-rows:96px 42px 144px 42px 96px 24px 34px !important;
  min-height:502px !important;
  padding-top:14px !important;
}

.response-dependency-graphic-v2 .dep-response{
  width:144px !important;
  height:144px !important;
}

.response-dependency-graphic-v2 .dep-response strong{
  font-size:19px !important;
}

.response-dependency-graphic-v2 .dep-response small{
  font-size:9px !important;
  line-height:1.35 !important;
  margin-top:5px !important;
}

.response-dependency-graphic-v2 .dep-thermal,
.response-dependency-graphic-v2 .dep-smoke,
.response-dependency-graphic-v2 .dep-blast,
.response-dependency-graphic-v2 .dep-debris{
  width:96px !important;
  height:96px !important;
}

.response-dependency-graphic-v2 .dep-node strong{
  font-size:14px !important;
}

.response-dependency-graphic-v2 .dep-node small{
  font-size:8.5px !important;
  line-height:1.3 !important;
}

.response-dependency-graphic-v2 .dep-arrow{
  font-size:26px !important;
}

/* Back button is now the only project action */
.project-detail-actions{
  justify-content:flex-start !important;
  gap:0 !important;
}
.project-back-button{
  min-width:220px;
}

/* Hide any legacy summary-button styling if encountered in cached markup */
.project-summary-button{
  display:none !important;
}

@media(max-width:1180px){
  .project-detail-layout{
    grid-template-columns:1fr !important;
  }
  .project-detail-right{
    max-width:640px;
    width:100%;
    justify-self:center;
  }
}


/* v0.3.6 — Project 02: New Build Security Roadmap */
.roadmap-card{
  background-image:url("assets/new-build-security-roadmap.png");
  background-size:cover;
  background-position:center;
  cursor:pointer;
}
.roadmap-card .project-card-shade{
  background:linear-gradient(to bottom,rgba(2,18,35,.10) 0%,rgba(2,18,35,.28) 34%,rgba(2,18,35,.96) 80%);
}
.roadmap-card:hover,
.roadmap-card:focus{
  outline:2px solid #a9aaad;
  outline-offset:2px;
  transform:translateY(-2px);
}

/* Same right-hand panel geometry as Project 01 */
.roadmap-detail-right{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.roadmap-detail-image{
  display:block;
  width:100%;
  height:auto;
  max-height:100%;
  object-fit:contain;
  border-radius:8px;
}


/* v0.3.7 — Project 02 refinements */

/* Construction-centric tile backdrop */
.roadmap-card{
  background-image:url("assets/new-build-construction-tile.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
}
.roadmap-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.12) 0%,
    rgba(2,18,35,.34) 42%,
    rgba(2,18,35,.96) 82%
  ) !important;
}

/* Keep Project 02 detail view compact enough to fit without scrolling
   on a typical desktop display */
#roadmapDetail .project-detail-panel-v2{
  width:min(1460px,97vw) !important;
  max-height:92vh !important;
  padding:22px 28px 22px !important;
  overflow:hidden !important;
}

#roadmapDetail .project-detail-layout{
  grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr) !important;
  gap:24px !important;
  height:auto !important;
  align-items:start !important;
}

#roadmapDetail .project-kicker{
  margin-bottom:10px !important;
  font-size:12px !important;
}

#roadmapDetail .project-detail-left h2{
  font-size:clamp(30px,3vw,46px) !important;
  line-height:1.0 !important;
}

#roadmapDetail .project-detail-left h3{
  margin:7px 0 9px !important;
  font-size:clamp(19px,1.7vw,25px) !important;
}

#roadmapDetail .project-title-rule{
  margin-bottom:14px !important;
}

#roadmapDetail .project-detail-copy-v2 p{
  font-size:13.4px !important;
  line-height:1.46 !important;
  margin-bottom:13px !important;
  hyphens:none !important;
  -webkit-hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  text-align:justify !important;
}

#roadmapDetail .project-detail-actions{
  padding-top:0 !important;
  margin-top:4px !important;
}

#roadmapDetail .project-back-button{
  min-height:46px !important;
  min-width:210px !important;
  font-size:12px !important;
}

#roadmapDetail .roadmap-detail-right{
  align-self:start !important;
  min-height:0 !important;
  max-height:78vh !important;
  padding:12px !important;
  overflow:hidden !important;
  background:#fbfbfc !important;
}

#roadmapDetail .roadmap-detail-image{
  width:100% !important;
  height:auto !important;
  max-height:74vh !important;
  object-fit:contain !important;
  border-radius:8px !important;
}

/* Preserve the established Praesidium site header/logo; no alternate branding
   is introduced on the project detail overlay. */

@media(max-width:1180px){
  #roadmapDetail .project-detail-panel-v2{
    max-height:none !important;
    overflow:auto !important;
  }
  #roadmapDetail .project-detail-layout{
    grid-template-columns:1fr !important;
  }
  #roadmapDetail .roadmap-detail-right{
    max-height:none !important;
  }
}


/* v0.3.7 REVISED — Project 02 tile + branding consistency */

/* Use the user-approved roadmap artwork as the Project 02 tile backdrop */
.roadmap-card{
  background-image:url("assets/new-build-roadmap-tile.png") !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.roadmap-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.08) 0%,
    rgba(2,18,35,.24) 40%,
    rgba(2,18,35,.94) 82%
  ) !important;
}

/* Ensure Project 02 detail modal continues to use the same site-wide branding.
   No alternate logo is rendered inside the modal; the normal page header stays in place. */
#roadmapDetail .project-detail-panel-v2{
  font-family:Arial,Helvetica,sans-serif !important;
  color:#303249 !important;
}


/* v0.3.8 — Project 02 approved construction-rendering tile */
.roadmap-card{
  background-image:url("assets/new-build-construction-rendering.jpg") !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
}

/* Preserve legibility while allowing the construction rendering to remain visible */
.roadmap-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.04) 0%,
    rgba(2,18,35,.12) 25%,
    rgba(2,18,35,.52) 48%,
    rgba(2,18,35,.94) 72%,
    rgba(2,18,35,.98) 100%
  ) !important;
}

/* Keep the same card geometry and typography as Project 01 */
.roadmap-card .project-number,
.roadmap-card .project-card-content{
  position:relative;
  z-index:2;
}


/* v0.3.9 — Align Project 02 text vertically with Project 01 */
.roadmap-card .project-card-content{
  top:auto !important;
  bottom:28px !important;
  left:28px !important;
  right:28px !important;
  position:absolute !important;
  display:flex !important;
  flex-direction:column !important;
}

/* Match Project 01 title/subtitle/summary spacing */
.roadmap-card .project-card-content h2{
  margin:0 0 14px !important;
}
.roadmap-card .project-card-content h3{
  margin:0 0 20px !important;
}
.roadmap-card .project-card-content p{
  margin:0 0 24px !important;
}

/* Keep the details link at the same lower-card position */
.roadmap-card .project-card-link{
  margin-top:0 !important;
  align-self:flex-start !important;
}

/* Prevent the Project 02 heading from escaping the card */
.roadmap-card{
  overflow:hidden !important;
}
.roadmap-card .project-card-content h2,
.roadmap-card .project-card-content h3,
.roadmap-card .project-card-content p{
  max-width:100% !important;
  box-sizing:border-box !important;
}


/* v0.3.10 — Recent Projects refinements */

/* Project 01: lighten image treatment */
.aircraft-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.04) 0%,
    rgba(2,18,35,.18) 36%,
    rgba(2,18,35,.78) 72%,
    rgba(2,18,35,.94) 100%
  ) !important;
}

/* Project 02: use user's heavy-construction image */
.roadmap-card{
  background-image:url("assets/new-build-heavy-construction.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
}
.roadmap-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.04) 0%,
    rgba(2,18,35,.18) 34%,
    rgba(2,18,35,.74) 68%,
    rgba(2,18,35,.96) 100%
  ) !important;
}

/* Project 03 active tile */
.unattended-card{
  background-image:url("assets/unattended-opening-tile.jpg");
  background-size:cover;
  background-position:center;
  cursor:pointer;
}
.unattended-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.05) 0%,
    rgba(2,18,35,.20) 36%,
    rgba(2,18,35,.78) 70%,
    rgba(2,18,35,.96) 100%
  );
}
.unattended-card:hover,
.unattended-card:focus{
  outline:2px solid #a9aaad;
  outline-offset:2px;
  transform:translateY(-2px);
}

/* Project 03 detail page — same visual structure as Projects 01 and 02 */
.unattended-detail-right{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:12px !important;
}
.unattended-detail-image{
  display:block;
  width:100%;
  height:auto;
  max-height:74vh;
  object-fit:contain;
  border-radius:8px;
}
#unattendedDetail .project-detail-panel-v2{
  width:min(1460px,97vw);
  max-height:92vh;
  padding:22px 28px;
  overflow:hidden;
}
#unattendedDetail .project-detail-layout{
  grid-template-columns:minmax(0,1.05fr) minmax(500px,.95fr);
  gap:24px;
}
#unattendedDetail .project-detail-left h2{
  font-size:clamp(30px,3vw,46px);
  line-height:1.02;
}
#unattendedDetail .project-detail-left h3{
  font-size:clamp(19px,1.7vw,25px);
  margin:7px 0 9px;
}
#unattendedDetail .project-title-rule{
  margin-bottom:14px;
}
#unattendedDetail .project-detail-copy-v2 p{
  font-size:13.4px;
  line-height:1.46;
  margin-bottom:13px;
  text-align:justify;
  text-justify:inter-word;
  hyphens:none;
  -webkit-hyphens:none;
}
@media(max-width:1180px){
  #unattendedDetail .project-detail-panel-v2{
    max-height:none;
    overflow:auto;
  }
  #unattendedDetail .project-detail-layout{
    grid-template-columns:1fr;
  }
}


/* v0.3.11 — Latest Recent Projects tile corrections */

/* All three project numbers: bold white for consistent hierarchy */
.project-card-grid .project-number{
  color:#ffffff !important;
  font-weight:800 !important;
  border-bottom:2px solid #d1d1d4 !important;
}

/* Project 01: corrected aircraft-impact tile, fills frame edge-to-edge */
.aircraft-card{
  background-image:url("assets/aircraft-impact-tile-clean.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-color:#303249 !important;
  overflow:hidden !important;
}
.aircraft-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.02) 0%,
    rgba(2,18,35,.12) 34%,
    rgba(2,18,35,.68) 67%,
    rgba(2,18,35,.95) 100%
  ) !important;
}

/* Project 03: clean photo-only background; no embedded duplicate text or dimensions */
.unattended-card{
  background-image:url("assets/unattended-opening-photo-clean.jpg") !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  overflow:hidden !important;
}
.unattended-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.04) 0%,
    rgba(2,18,35,.20) 36%,
    rgba(2,18,35,.77) 68%,
    rgba(2,18,35,.97) 100%
  ) !important;
}

/* Keep all three tile text blocks aligned */
.project-card-grid .project-card-content{
  bottom:28px !important;
}


/* v0.3.12 — Latest Recent Projects refinements */

/* All three project numbers remain bold white. */
.project-card-grid .project-number{
  color:#fff !important;
  font-weight:800 !important;
  border-bottom:none !important;
  padding-bottom:13px !important;
}

/* Add a short, bold white underline matched to the approximate number width. */
.project-card-grid .project-number::after{
  content:"";
  display:block;
  width:50px;
  height:4px;
  background:#fff;
  margin-top:9px;
  border-radius:1px;
}

/* Project 03 uses the sewer-line construction image supplied by the user. */
.unattended-card{
  background-image:url("assets/unattended-opening-sewer-lines.jpg") !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  background-color:#303249 !important;
}

/* Keep the pipe image visible while protecting text legibility. */
.unattended-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.03) 0%,
    rgba(2,18,35,.12) 30%,
    rgba(2,18,35,.64) 58%,
    rgba(2,18,35,.95) 82%,
    rgba(2,18,35,.98) 100%
  ) !important;
}

/* Project 03 detail illustration: keep the entire title centered and readable. */
#unattendedDetail .unattended-detail-right{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
#unattendedDetail .unattended-detail-image{
  display:block !important;
  width:94% !important;
  max-width:94% !important;
  height:auto !important;
  max-height:76vh !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
}


/* ============================================================
   v0.3.13 — Recent Projects balance + integrated header/logo
   ============================================================ */

/* Header/logo: remove the "image sitting on top of a blue box" appearance */
.site-header{
  background:#303249 !important;
}
.approved-brand{
  background:#303249 !important;
  box-shadow:none !important;
  border:0 !important;
  padding:0 !important;
}
.site-logo{
  background:#303249 !important;
  box-shadow:none !important;
  border:0 !important;
}

/* Remove the white underscore below 01 / 02 / 03 entirely */
.project-card-grid .project-number{
  border-bottom:none !important;
  padding-bottom:0 !important;
  color:#fff !important;
  font-weight:800 !important;
}
.project-card-grid .project-number::after{
  content:none !important;
  display:none !important;
}

/* Use one common vertical structure for all three cards */
.project-card-grid .project-card-content,
.roadmap-card .project-card-content{
  position:absolute !important;
  left:28px !important;
  right:28px !important;
  top:205px !important;
  bottom:28px !important;
  display:flex !important;
  flex-direction:column !important;
}

/* Equal title footprint across all cards */
.project-card-grid .project-card-content h2{
  font-size:27px !important;
  line-height:1.12 !important;
  letter-spacing:-0.01em !important;
  margin:0 0 14px !important;
  min-height:92px !important;
  display:block !important;
}

/* Equal subtitle footprint */
.project-card-grid .project-card-content h3{
  font-size:20px !important;
  line-height:1.28 !important;
  margin:0 0 18px !important;
  min-height:52px !important;
}

/* Equal summary footprint */
.project-card-grid .project-card-content p{
  font-size:14.5px !important;
  line-height:1.52 !important;
  margin:0 !important;
  min-height:118px !important;
}

/* Keep the call-to-action aligned along the bottom edge */
.project-card-grid .project-card-link{
  margin-top:auto !important;
  align-self:flex-start !important;
}

/* Lighter image treatments — retain enough darkening for white text */
.aircraft-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.00) 0%,
    rgba(2,18,35,.05) 28%,
    rgba(2,18,35,.38) 55%,
    rgba(2,18,35,.78) 76%,
    rgba(2,18,35,.92) 100%
  ) !important;
}

/* Project 02 was the darkest; reduce the blue/navy cast substantially */
.roadmap-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.00) 0%,
    rgba(2,18,35,.03) 25%,
    rgba(2,18,35,.30) 52%,
    rgba(2,18,35,.72) 74%,
    rgba(2,18,35,.91) 100%
  ) !important;
}

/* Project 03 lightened to visually match Projects 01 and 02 */
.unattended-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,.00) 0%,
    rgba(2,18,35,.05) 28%,
    rgba(2,18,35,.36) 55%,
    rgba(2,18,35,.76) 76%,
    rgba(2,18,35,.92) 100%
  ) !important;
}

@media(max-width:1180px){
  .project-card-grid .project-card-content,
  .roadmap-card .project-card-content{
    top:190px !important;
  }
}

@media(max-width:650px){
  .project-card-grid .project-card-content,
  .roadmap-card .project-card-content{
    top:185px !important;
  }
}


/* ============================================================
   v0.3.15 — Flatten header/hero transition + fix nav hover boxes
   ============================================================ */

/* Make logo/header a single flat navy bar with no visible panel edge */
.site-header{
  background:#303249 !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.site-header .approved-brand,
.site-header .text-brand,
.site-header .site-logo{
  background:#303249 !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.site-header .approved-brand{
  display:flex !important;
  align-items:center !important;
  height:100% !important;
  margin:0 !important;
}
.site-header .site-logo{
  display:block !important;
}

/* Remove any pseudo-element/background patch that can create a darker block */
.site-header::before,
.site-header::after,
.approved-brand::before,
.approved-brand::after{
  content:none !important;
  display:none !important;
}

/* Make Recent Projects hero sit directly beneath the header as a flat section */
.projects-main{
  margin-top:0 !important;
  padding-top:54px !important;
}
.projects-intro{
  margin-top:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
  background:#f3f6f8 !important;
}
.projects-title-row{
  margin-top:0 !important;
}

/* Navigation links: center words inside hover/focus rectangle */
.site-header nav{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  height:100% !important;
}
.site-header nav a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:0 13px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  border:1px solid transparent !important;
  border-radius:2px !important;
  text-decoration:none !important;
  vertical-align:middle !important;
}

/* Keep hover/focus outline centered around the word, not sitting above it */
.site-header nav a:hover,
.site-header nav a:focus-visible{
  border-color:#a9aaad !important;
  outline:none !important;
  box-shadow:none !important;
}
.site-header nav a.active{
  border-color:transparent !important;
}

/* Remove legacy positioning that can offset the nav text vertically */
.site-header nav a::before,
.site-header nav a::after{
  top:auto !important;
  bottom:auto !important;
}


/* v0.3.15 rebaseline — restore capability graphics below the service headings */
.home-capability-graphics{
  width:min(100%,1750px);
  margin:0 auto 36px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#f8f8f9;
}
.home-capability-graphic{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:#303249;
  border-right:1px solid #c9d7e4;
  overflow:hidden;
}
.home-capability-graphic:last-child{border-right:0}
.home-capability-graphic h2{
  min-height:58px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:18px;
  line-height:1.15;
  font-weight:800;
}
.home-capability-graphic img{
  display:block;
  width:100%;
  aspect-ratio:1.55/1;
  object-fit:cover;
}
.home-capability-graphic:hover img{filter:brightness(1.05)}
@media(max-width:800px){
  .home-capability-graphics{grid-template-columns:repeat(2,1fr)}
}


/* ============================================================
   v0.3.15 — Restore original capability graphics from approved reference
   ============================================================ */
.restored-capability-band{
  position:relative;
  width:min(100%,1537px);
  margin:0 auto 28px;
  line-height:0;
  background:#f8f8f9;
}
.restored-capability-image{
  display:block;
  width:100%;
  height:auto;
}
.restored-cap-link{
  position:absolute;
  top:0;
  bottom:0;
  display:block;
  background:transparent;
  border:0;
  z-index:3;
}
.restored-cap-link.cap1{left:0;width:25%}
.restored-cap-link.cap2{left:25%;width:25%}
.restored-cap-link.cap3{left:50%;width:25%}
.restored-cap-link.cap4{left:75%;width:25%}
.restored-cap-link:hover,
.restored-cap-link:focus-visible{
  outline:2px solid rgba(42,168,242,.72);
  outline-offset:-2px;
}

/* Hide the prior reconstructed four-card capability block if cached CSS remains. */
.home-capability-graphics{display:none !important;}


/* ============================================================
   v0.3.18 BASELINE
   HOME PAGE NAVIGATION — center baked-in words inside hover boxes
   ============================================================ */

/* home-master.png is 1750 x 899. The visible navigation text is centered
   at approximately y=58 px. These hotspots now straddle that text rather
   than beginning at the very top of the artwork. */
.home-master .home-nav{
  top:3.25% !important;
  height:6.35% !important;
  box-sizing:border-box !important;
  background:transparent !important;
  border:0 !important;
  border-radius:2px !important;
}

/* Tighten each hotspot around its actual visible navigation word. */
.home-master .home-nav.about{
  left:48.35% !important;
  width:5.95% !important;
}
.home-master .home-nav.capabilities{
  left:56.55% !important;
  width:9.10% !important;
}
.home-master .home-nav.approach{
  left:67.60% !important;
  width:7.45% !important;
}
.home-master .home-nav.projects{
  left:77.45% !important;
  width:11.65% !important;
}
.home-master .home-nav.contact{
  left:92.00% !important;
  width:6.05% !important;
}

/* Draw the highlight inside the hotspot so its geometry remains centered
   over the word at every responsive scale. */
.home-master .home-nav:hover,
.home-master .home-nav:focus,
.home-master .home-nav:focus-visible{
  outline:2px solid rgba(0,177,255,.72) !important;
  outline-offset:-2px !important;
  background:rgba(0,177,255,.035) !important;
}

/* Preserve the restored capability graphics beneath the updated collage. */
.restored-capability-band{
  display:block !important;
}


/* ============================================================
   v0.3.19 — RECENT PROJECTS APPROVED TREATMENT
   Based on the user-approved 3.19 reference.
   ============================================================ */

/* Keep the established navy/white page color scheme. */
.projects-main,
.projects-intro{
  background:#f8f8f9 !important;
}

/* Remove 01 / 02 / 03 from the project tiles. */
.project-card-grid .project-number{
  display:none !important;
}

/* Move the title/content upward to use the space formerly occupied by numbers. */
.project-card-grid .project-card-content,
.roadmap-card .project-card-content{
  top:33% !important;
}

/* Lighten ONLY the photographs while retaining enough lower navy
   treatment for the white copy to remain legible. */
.aircraft-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,0.00) 0%,
    rgba(2,18,35,0.03) 30%,
    rgba(2,18,35,0.18) 49%,
    rgba(2,18,35,0.50) 69%,
    rgba(2,18,35,0.76) 100%
  ) !important;
}
.roadmap-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,0.00) 0%,
    rgba(2,18,35,0.02) 31%,
    rgba(2,18,35,0.14) 49%,
    rgba(2,18,35,0.46) 69%,
    rgba(2,18,35,0.73) 100%
  ) !important;
}
.unattended-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,18,35,0.00) 0%,
    rgba(2,18,35,0.03) 30%,
    rgba(2,18,35,0.17) 49%,
    rgba(2,18,35,0.49) 69%,
    rgba(2,18,35,0.75) 100%
  ) !important;
}

/* One continuous, flat navy header plane behind the Praesidium brand. */
.site-header,
.site-header .approved-brand,
.site-header .text-brand{
  background:#303249 !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.site-header .approved-brand{
  overflow:hidden !important;
}

/* ============================================================
   v0.3.20 — HOME HEADER NAVIGATION ALIGNMENT
   Match the hover/focus boxes used on the Recent Projects header.
   The homepage navigation text is baked into home-master.png, so
   the transparent hotspots are positioned tightly around each word.
   ============================================================ */
.home-master .home-nav{
  top:4.34% !important;
  height:4.23% !important;
  box-sizing:border-box !important;
  background:transparent !important;
  border:1px solid transparent !important;
  border-radius:2px !important;
  outline:none !important;
}

/* Center each hotspot on the visible navigation label, with padding
   comparable to the live-text navigation used on Recent Projects. */
.home-master .home-nav.about{
  left:48.86% !important;
  width:5.03% !important;
}
.home-master .home-nav.capabilities{
  left:56.80% !important;
  width:9.09% !important;
}
.home-master .home-nav.approach{
  left:68.23% !important;
  width:7.77% !important;
}
.home-master .home-nav.projects{
  left:78.34% !important;
  width:11.43% !important;
}
.home-master .home-nav.contact{
  left:92.46% !important;
  width:6.40% !important;
}

.home-master .home-nav:hover,
.home-master .home-nav:focus,
.home-master .home-nav:focus-visible{
  border-color:#a9aaad !important;
  outline:none !important;
  background:rgba(42,168,242,.025) !important;
  box-shadow:none !important;
}

/* ============================================================
   v0.3.21 — RECENT PROJECTS IMAGE CLARITY / LIGHTENING
   Use enhanced source photos plus a lighter neutral overlay.
   ============================================================ */
.aircraft-card{
  background-image:url("assets/aircraft-impact-tile-enhanced.jpg") !important;
}
.roadmap-card{
  background-image:url("assets/new-build-construction-rendering-enhanced.jpg") !important;
}
.unattended-card{
  background-image:url("assets/unattended-opening-sewer-lines-enhanced.jpg") !important;
}

/* Reduce the heavy blue cast while retaining a darker lower field for copy. */
.aircraft-card .project-card-shade,
.roadmap-card .project-card-shade,
.unattended-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(3,15,28,0.00) 0%,
    rgba(3,15,28,0.02) 30%,
    rgba(3,15,28,0.10) 48%,
    rgba(3,15,28,0.34) 68%,
    rgba(3,15,28,0.64) 100%
  ) !important;
}

/* ============================================================
   v0.3.22 — RECENT PROJECTS: RESTORE SOURCE CLARITY + TEXT CONTRAST
   Restore the original source photographs (no AI/enhancement pass),
   keep the upper image field bright, and strengthen only the lower
   readability gradient behind the project copy.
   ============================================================ */
.aircraft-card{
  background-image:url("assets/aircraft-impact-tile-clean.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
}
.roadmap-card{
  background-image:url("assets/new-build-heavy-construction.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
}
.unattended-card{
  background-image:url("assets/unattended-opening-sewer-lines.jpg") !important;
  background-size:cover !important;
  background-position:center top !important;
}

/* Keep the photos bright in the upper half; darken only where copy sits. */
.aircraft-card .project-card-shade,
.roadmap-card .project-card-shade,
.unattended-card .project-card-shade{
  background:linear-gradient(
    to bottom,
    rgba(2,15,28,0.00) 0%,
    rgba(2,15,28,0.02) 27%,
    rgba(2,15,28,0.15) 42%,
    rgba(2,15,28,0.52) 58%,
    rgba(2,15,28,0.82) 76%,
    rgba(2,15,28,0.94) 100%
  ) !important;
}

/* Improve readability without putting a visible box behind the copy. */
.project-card-grid .project-card-content h2,
.project-card-grid .project-card-content p,
.project-card-grid .project-card-link{
  text-shadow:0 1px 3px rgba(0,0,0,.88), 0 0 8px rgba(0,0,0,.38) !important;
}
.project-card-grid .project-card-content h3{
  color:#d1d1d4 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.92), 0 0 7px rgba(0,0,0,.45) !important;
}

/* ============================================================
   v0.3.23 — RECENT PROJECTS: USER-SUPPLIED TILE PHOTOS
   01 aircraft, 02 new-build construction, 03 buried openings.
   ============================================================ */
.aircraft-card{
  background-image:url("assets/project-01-aircraft-new.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}
.roadmap-card{
  background-image:url("assets/project-02-new-build-new.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}
.unattended-card{
  background-image:url("assets/project-03-unattended-new.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}

/* ============================================================
   v0.3.27 — ABOUT PAGE BALANCE / MAP HOTSPOTS
   Keep the lower partnership photos subordinate to the main About content,
   add a small lower white breathing margin, and center the country hover
   circles over the visible map pins.
   ============================================================ */
.country-hotspot.czech{left:47.78% !important;top:31.24% !important}
.country-hotspot.slovenia{left:46.93% !important;top:37.00% !important}
.country-hotspot.uae{left:53.96% !important;top:45.01% !important}
.country-hotspot.korea{left:66.01% !important;top:40.52% !important}

/* ============================================================
   v0.3.28 — ABOUT PAGE APPROVED LAYOUT / GEO-ALIGNED HOTSPOTS
   Uses the approved About-page composition with 6 countries served,
   no U.S. city dots, reduced lower image footprint, and a solid navy
   CTA/footer band. Country interaction targets are centered on the
   visible blue country markers in the 1536 × 1024 master artwork.
   ============================================================ */

/* Navigation targets aligned to the approved v0.3.28 About artwork. */
.about-master .about-nav{top:3.55% !important;height:5.35% !important}
.about-master .home-logo{left:1.6% !important;top:1.1% !important;width:22.8% !important;height:10.8% !important}
.about-master .about-active{left:35.9% !important;width:7.8% !important}
.about-master .about-nav.capabilities{left:47.7% !important;width:9.0% !important}
.about-master .about-nav.approach{left:61.7% !important;width:7.3% !important}
.about-master .about-nav.projects{left:74.2% !important;width:12.9% !important}
.about-master .about-nav.contact{left:90.8% !important;width:7.0% !important}

/* Keep the hit area compact and centered on each visible map dot. */
.country-hotspot{
  width:2.4% !important;
  aspect-ratio:1/1;
  transform:none !important;
}
.country-hotspot.us{left:44.19% !important;top:29.55% !important}
.country-hotspot.germany{left:69.05% !important;top:21.59% !important}
.country-hotspot.czech{left:69.12% !important;top:24.86% !important}
.country-hotspot.slovenia{left:66.77% !important;top:28.38% !important}
.country-hotspot.uae{left:76.67% !important;top:34.82% !important}
.country-hotspot.korea{left:85.90% !important;top:29.38% !important}

/* Reposition the approved logo patch for the new master artwork. */
.about-logo-patch{
  left:1.55% !important;
  top:.85% !important;
  width:23.4% !important;
  height:10.6% !important;
  padding:0 !important;
  background:#27293f !important;
}


/* ============================================================
   v0.3.29 — ABOUT PAGE / ATTACHED REFERENCE
   Updates the About page to match the approved attached reference.
   Slovenia is removed from the visible map and from the interactive
   map targets; the approved 6-countries-served metric is retained.
   ============================================================ */
.country-hotspot.slovenia{display:none !important}


/* ============================================================
   v0.3.30 — LINK / HOVER CLEANUP
   Remove obsolete homepage capability overlays, align the Learn More
   hotspot to its visible button, and activate the About-page Contact Us CTA.
   ============================================================ */
.home-master .learn-more{left:2.15% !important;top:54.85% !important;width:11.65% !important;height:6.05% !important}
.about-master .about-contact-cta{position:absolute;display:block;z-index:9;left:64.70%;top:87.70%;width:13.00%;height:5.25%;background:transparent;border:0;cursor:pointer}
.about-master .about-contact-cta:hover,.about-master .about-contact-cta:focus-visible{outline:2px solid rgba(42,168,242,.72);outline-offset:2px;background:rgba(0,177,255,.04)}

/* ============================================================
   v0.3.31 — HOME HOVER / ABOUT METRIC CLEANUP
   Remove the obsolete lower-right homepage hotspot and tightly align
   the Learn More hotspot to the visible button artwork.
   ============================================================ */
.home-master .bottom.recent{display:none !important}
.home-master .learn-more{
  left:2.14% !important;
  top:54.84% !important;
  width:11.58% !important;
  height:6.02% !important;
  outline-offset:-2px !important;
}
.home-master .learn-more:hover,
.home-master .learn-more:focus-visible{
  outline:2px solid rgba(0,177,255,.72) !important;
  outline-offset:-2px !important;
  background:rgba(0,177,255,.025) !important;
}


/* ============================================================
   v0.3.32 — Home page becomes the capabilities gateway
   ============================================================ */
html{scroll-behavior:smooth;}
.core-capabilities-section{
  width:min(100%,1537px);
  margin:0 auto 28px;
  scroll-margin-top:18px;
  background:#f8f8f9;
}
.capability-direction{
  box-sizing:border-box;
  padding:18px 28px 12px;
  text-align:left;
  color:#303249;
  background:#f8f8f9;
  line-height:1.35;
}
.capability-direction h2{
  margin:0 0 7px;
  font-size:clamp(18px,2vw,28px);
  letter-spacing:.035em;
  font-weight:700;
}
.capability-direction p{
  margin:0;
  font-size:clamp(14px,1.35vw,18px);
  color:#4c4f67;
}
.core-capabilities-section .restored-capability-band{
  margin:0 auto !important;
}
@keyframes capabilityAttention{
  0%,100%{box-shadow:inset 0 0 0 0 rgba(0,139,255,0);background:rgba(0,139,255,0);}
  50%{box-shadow:inset 0 0 0 4px rgba(0,139,255,.78);background:rgba(0,139,255,.08);}
}
.restored-cap-link.attention-flash{
  animation:capabilityAttention .72s ease-in-out 4;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .restored-cap-link.attention-flash{animation:none;box-shadow:inset 0 0 0 3px rgba(0,139,255,.65);}
}

/* ============================================================
   v0.3.36 — Strong visual divider for core capabilities
   ============================================================ */
.capability-direction{
  background:#303249;
  color:#ffffff;
  padding-top:20px;
  padding-bottom:16px;
}
.capability-direction h2,
.capability-direction p{
  color:#ffffff;
}

/* ============================================================
   v0.3.37 — HOME NAV EVEN DISTRIBUTION
   Redistribute the four remaining header items after Capabilities removal.
   ============================================================ */
.home-master .home-nav.about{left:48.6% !important;width:6.0% !important;}
.home-master .home-nav.approach{left:62.0% !important;width:7.0% !important;}
.home-master .home-nav.projects{left:75.1% !important;width:11.0% !important;}
.home-master .home-nav.contact{left:92.3% !important;width:5.6% !important;}

/* ============================================================
   v0.3.38 — HOME NAV HOVER BOX SIZING / CENTERING
   Enlarge each transparent navigation target so the full baked-in word
   is enclosed, while preserving the visual center of each menu label.
   ============================================================ */
.home-master .home-nav.about{left:47.1% !important;width:9.0% !important;}
.home-master .home-nav.approach{left:60.5% !important;width:10.0% !important;}
.home-master .home-nav.projects{left:73.1% !important;width:15.0% !important;}
.home-master .home-nav.contact{left:91.1% !important;width:8.0% !important;}

/* ============================================================
   v0.3.39 — HOME NAV HOVER BOX CENTERING
   Center each hover target on the actual baked-in navigation word.
   ============================================================ */
.home-master .home-nav.about{left:46.33% !important;width:9.0% !important;}
.home-master .home-nav.approach{left:59.51% !important;width:10.0% !important;}
.home-master .home-nav.projects{left:71.90% !important;width:15.0% !important;}
.home-master .home-nav.contact{left:89.71% !important;width:8.0% !important;}


/* ============================================================
   v0.3.40 — ABOUT NAV REBUILD + GLOBAL RETURN HOME
   Remove baked Capabilities label from About header, distribute the
   four remaining links consistently, and provide an effortless home return.
   ============================================================ */
.about-master .about-active{left:46.33% !important;width:9.0% !important;}
.about-master .about-nav.approach{left:59.51% !important;width:10.0% !important;}
.about-master .about-nav.projects{left:71.90% !important;width:15.0% !important;}
.about-master .about-nav.contact{left:89.71% !important;width:8.0% !important;}
.return-home-btn{
  position:fixed; left:18px; bottom:18px; z-index:10000;
  display:inline-flex; align-items:center; justify-content:center;
  min-height:40px; padding:0 16px; border:1px solid #a9aaad; border-radius:5px;
  background:rgba(4,27,58,.94); color:#fff !important; text-decoration:none;
  font:700 13px/1 Arial,Helvetica,sans-serif; letter-spacing:.035em;
  box-shadow:0 4px 14px rgba(0,0,0,.18); transition:.18s ease;
}
.return-home-btn:hover,.return-home-btn:focus-visible{
  background:#777a80; border-color:#c2c3c7; transform:translateY(-1px); outline:none;
}
@media(max-width:700px){.return-home-btn{left:10px;bottom:10px;min-height:36px;padding:0 12px;font-size:11px}}


/* ============================================================
   v0.3.41 — RETURN HOME CONTROL REDESIGN
   Move the return control out of the lower-page/footer area and into
   the header zone as a compact secondary navigation control.
   ============================================================ */
.return-home-btn{
  position:fixed !important;
  left:34% !important;
  top:24px !important;
  bottom:auto !important;
  z-index:10000 !important;
  min-height:34px !important;
  padding:0 13px !important;
  border:1px solid rgba(33,180,255,.82) !important;
  border-radius:4px !important;
  background:rgba(4,26,49,.96) !important;
  color:#fff !important;
  font:700 12px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing:.06em !important;
  box-shadow:none !important;
  transform:none !important;
}
.return-home-btn:hover,.return-home-btn:focus-visible{
  background:#777a80 !important;
  border-color:#c2c3c7 !important;
  transform:none !important;
  outline:none !important;
}
@media(max-width:900px){
  .return-home-btn{
    left:auto !important;
    right:12px !important;
    top:10px !important;
    min-height:30px !important;
    padding:0 10px !important;
    font-size:10px !important;
  }
}

/* ============================================================
   v0.3.43 — ANCHOR RETURN-HOME CONTROL TO PAGE HEADER
   The HOME control is now absolute within the top header zone rather
   than fixed to the viewport, so it scrolls away with the header and
   never floats over page content.
   ============================================================ */
.return-home-btn{
  position:absolute !important;
  left:34% !important;
  top:24px !important;
  bottom:auto !important;
}
@media(max-width:900px){
  .return-home-btn{
    position:absolute !important;
    left:auto !important;
    right:12px !important;
    top:10px !important;
  }
}

/* v0.3.44 — Approach: Security by Design split hero + four framework panels */
.approach-sbd-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;align-items:center;max-width:1180px;margin:0 auto 34px;padding:34px 34px 24px;}
.approach-sbd-copy h1{margin:0 0 16px;font-size:clamp(42px,5vw,68px);line-height:1;color:#303249;}
.approach-sbd-copy p{font-size:17px;line-height:1.65;color:#4c4f67;margin:0 0 18px;}
.approach-sbd-copy .sbd-lead{font-weight:700;color:#4c4f67;}
.approach-sbd-graphic img{display:block;width:100%;height:auto;object-fit:contain;}
.approach-framework{max-width:1180px;margin:0 auto 50px;padding:0 34px;display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.approach-framework .content-card{align-items:flex-start;min-height:260px;padding:28px 30px;}
.approach-framework .content-card h2{margin:0 0 14px;}
.approach-framework ul{margin:0;padding-left:20px;color:#4c4f67;line-height:1.48;}
.approach-framework li{margin:0 0 9px;}
.approach-framework strong{color:#303249;}
@media(max-width:850px){.approach-sbd-hero{grid-template-columns:1fr;}.approach-framework{grid-template-columns:1fr;}}

/* ============================================================
   v0.3.45 — HOME CAPABILITY SECTION DE-DUPLICATION
   The four baked-in capability titles were removed from the bottom of
   the hero artwork. The dark Core Capabilities divider now transitions
   directly into the detailed four-tile capability section.
   Re-scale vertical nav hotspot geometry to the cropped hero height.
   ============================================================ */
.home-master .home-nav{top:.69% !important;height:5.94% !important;}
.core-capabilities-section{margin-top:0 !important;}
.capability-direction{padding:22px 28px 18px !important;}

/* ============================================================
   v0.3.46 — HERO / CORE CAPABILITIES SEPARATOR
   Add a white divider matching the visual spacing between hero images.
   ============================================================ */
.capability-direction{
  border-top:6px solid #ffffff;
}

/* ============================================================
   v0.3.48 — HOME NAV VERTICAL HOVER ALIGNMENT
   Re-center the transparent hover/click targets vertically on the
   baked-in ABOUT / APPROACH / RECENT PROJECTS / CONTACT labels.
   ============================================================ */
.home-master .home-nav{
  top:1.35% !important;
  height:4.75% !important;
}

/* ============================================================
   v0.3.49 — HOME NAV HOVER BOX TRUE VERTICAL CENTERING
   The navigation labels are baked into home-master.png around y=60 px
   on the 789 px-tall artwork. Center the transparent hover boxes on
   the visible words instead of the top edge of the header.
   ============================================================ */
.home-master .home-nav{
  top:5.10% !important;
  height:5.20% !important;
}

/* ============================================================
   v0.3.50 — BUSINESS-CARD BRAND SYSTEM
   Palette derived from the supplied Praesidium business card:
   deep blue-violet navy, neutral gray accents, and bright paper-white.
   PC mark replaces the legacy shield/logo across all pages.
   ============================================================ */
:root{
  --pc-navy:#303249;
  --pc-navy-deep:#27293f;
  --pc-ink:#171924;
  --pc-gray:#a9aaad;
  --pc-gray-dark:#777a80;
  --pc-paper:#fbfbfc;
  --pc-paper-soft:#f5f6f8;
  --pc-line:#d7d8dc;
  --pc-white:#ffffff;
}
body{background:var(--pc-paper-soft);color:var(--pc-navy-deep);}
.content-page{background:var(--pc-paper-soft) !important;}

/* Shared header / brand */
.site-header.brand-350-header{
  height:92px !important;
  background:var(--pc-navy) !important;
  border:0 !important;
  padding:0 3.2% !important;
  box-sizing:border-box;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px;
}
.brand-350{display:flex;align-items:center;gap:17px;text-decoration:none;min-width:315px;color:#fff;}
.pc-logo-350{display:block;width:62px;height:54px;object-fit:cover;object-position:center;border:0;}
.brand-350-name{display:flex;flex-direction:column;line-height:1;color:#fff;}
.brand-350-name strong{font-size:28px;letter-spacing:.055em;font-weight:700;}
.brand-350-name small{margin-top:6px;color:#d1d1d4;font-size:13px;letter-spacing:.22em;font-weight:400;}
.brand-350-nav{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex:1;}
.site-header .brand-350-nav a{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:126px;height:42px;padding:0 15px;box-sizing:border-box;
  border:1px solid rgba(255,255,255,.58);border-radius:2px;
  color:#fff !important;text-decoration:none;font:700 13px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.035em;white-space:nowrap;transition:.16s ease;
}
.site-header .brand-350-nav a:nth-child(3){min-width:165px;}
.site-header .brand-350-nav a:hover,.site-header .brand-350-nav a:focus-visible{
  background:rgba(255,255,255,.11);border-color:#fff;outline:none;
}
.site-header .brand-350-nav a.active{
  background:rgba(169,170,173,.28);border-color:#c8c9cc;color:#fff !important;
  padding-bottom:0 !important;
}

/* Visual master pages: real header overlays and replaces baked header interactions. */
.visual-page{position:relative;}
.visual-page > .brand-350-header{position:absolute !important;left:0;right:0;top:0;z-index:100;}
.visual-page .master-page{position:relative;}
.visual-page .home-nav,.visual-page .about-nav{pointer-events:none !important;}

/* New palette across content pages. */
.content-hero .eyebrow,.content-icon,.project-open{color:var(--pc-gray-dark) !important;}
.content-hero h1,.content-card h2,.project-detail-heading h2,.project-detail-copy strong,
.approach-sbd-copy h1,.approach-framework strong,.projects-title-row h1{color:var(--pc-navy-deep) !important;}
.content-hero p,.content-card p,.approach-sbd-copy p,.approach-sbd-copy .sbd-lead,
.approach-framework ul,.projects-intro p,.project-detail-copy p{color:#444958 !important;}
.content-card,.project-detail-panel{background:var(--pc-paper) !important;border-color:var(--pc-line) !important;}
.project-clickable:hover,.project-clickable:focus{border-color:var(--pc-gray-dark) !important;}
.recent-project-card{background-color:var(--pc-navy) !important;border-color:#4c4f67 !important;}
.project-card-content h3,.project-card-link,.project-number{color:#d5d5d8 !important;border-color:#a7a8ad !important;}
.aircraft-card:hover,.aircraft-card:focus{outline-color:var(--pc-gray) !important;}

/* Core capability divider: business-card navy, neutral accent. */
.capability-direction{background:var(--pc-navy) !important;border-top-color:#fff !important;}
.capability-direction h2,.capability-direction p{color:#fff !important;}

/* Return-home control follows the new identity. */
.return-home-btn{
  background:var(--pc-navy) !important;border-color:#b7b8bd !important;color:#fff !important;
}
.return-home-btn:hover,.return-home-btn:focus-visible{background:var(--pc-navy-deep) !important;border-color:#fff !important;}

/* About detail panel */
.experience-panel{color:var(--pc-navy-deep) !important;border-color:var(--pc-line) !important;}
.panel-close{color:var(--pc-navy-deep) !important;}
.panel-rule{background:var(--pc-gray) !important;}
.panel-heading{color:var(--pc-gray-dark) !important;}

@media(max-width:1050px){
  .brand-350{min-width:250px;gap:12px}.brand-350-name strong{font-size:22px}.brand-350-name small{font-size:10px}.pc-logo-350{width:52px;height:44px}
  .site-header .brand-350-nav a{min-width:92px;padding:0 9px;font-size:11px}.site-header .brand-350-nav a:nth-child(3){min-width:130px}
}
@media(max-width:760px){
  .site-header.brand-350-header{height:auto !important;min-height:104px !important;align-items:flex-start !important;flex-direction:column;padding:10px 14px !important;gap:8px}
  .brand-350-nav{width:100%;justify-content:space-between;gap:5px}.site-header .brand-350-nav a,.site-header .brand-350-nav a:nth-child(3){min-width:0;flex:1;font-size:9px;height:32px;padding:0 5px}
  .visual-page > .brand-350-header{position:relative !important;}
}

/* ============================================================
   v0.3.51 — RECENT PROJECTS CRISP / LIGHT CARD REDESIGN
   Approved 3.51 illustration: bright image field + white card body.
   ============================================================ */
.recent-projects-page{background:#f7f8fa !important;}
.recent-projects-page .projects-main{max-width:1480px;padding:36px 50px 58px;}
.recent-projects-page .projects-intro{text-align:left;margin-bottom:28px;}
.recent-projects-page .projects-title-row{display:block;}
.recent-projects-page .projects-title-row span{display:none;}
.recent-projects-page .projects-title-row h1{font-size:48px;letter-spacing:.03em;color:var(--pc-navy-deep) !important;}
.recent-projects-page .projects-title-row h1::after{content:"";display:block;width:82px;height:4px;background:var(--pc-navy-deep);margin-top:12px;}
.recent-projects-page .projects-intro p{max-width:none;margin:14px 0 0;font-size:18px;color:#252a35 !important;}
.recent-projects-page .project-card-grid{gap:28px;align-items:stretch;}
.recent-projects-page .recent-project-card{
  min-height:0 !important;
  display:flex;
  flex-direction:column;
  background:#fff !important;
  border:1px solid #d7d9df !important;
  border-radius:12px;
  box-shadow:0 8px 20px rgba(23,29,48,.10);
  color:var(--pc-navy-deep) !important;
  overflow:hidden;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.recent-projects-page .recent-project-card:hover,
.recent-projects-page .recent-project-card:focus{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(23,29,48,.16);
  border-color:#aeb1bb !important;
  outline:none !important;
}
.recent-projects-page .project-card-image{
  display:block;
  width:100%;
  height:286px;
  object-fit:cover;
  object-position:center;
  background:#eef1f5;
}
.recent-projects-page .project-card-content{
  position:static !important;
  left:auto !important;right:auto !important;bottom:auto !important;
  flex:1;
  display:flex;
  flex-direction:column;
  padding:24px 24px 26px;
  background:#fff;
  color:var(--pc-navy-deep) !important;
}
.recent-projects-page .project-card-content h2{
  margin:0 0 11px;
  color:var(--pc-navy-deep) !important;
  font-size:24px;
  line-height:1.14;
  text-shadow:none !important;
}
.recent-projects-page .project-card-content h3{
  margin:0 0 22px;
  color:#5c606c !important;
  font-size:18px;
  line-height:1.35;
  font-style:italic;
  font-weight:500;
  text-shadow:none !important;
}
.recent-projects-page .project-card-content p{
  margin:0 0 28px;
  color:#202530 !important;
  font-size:16px;
  line-height:1.55;
  text-shadow:none !important;
}
.recent-projects-page .project-card-link{
  margin-top:auto;
  align-self:flex-start;
  color:var(--pc-navy-deep) !important;
  border-bottom:2px solid var(--pc-navy-deep) !important;
  padding-bottom:5px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  text-shadow:none !important;
}
.recent-projects-page .project-card-shade,
.recent-projects-page .project-number{display:none !important;}
.recent-projects-page .aircraft-card,
.recent-projects-page .roadmap-card,
.recent-projects-page .unattended-card{background-image:none !important;}
@media(max-width:900px){
  .recent-projects-page .project-card-image{height:260px;}
}

/* v0.3.52 — About page header cleanup.
   The About master artwork still contains the legacy header beneath the live v3.50 header.
   Mask that legacy strip so only the live header is visible. */
.visual-page .about-master::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:92px;
  height:39px;
  background:var(--pc-paper-soft);
  z-index:50;
  pointer-events:none;
}
@media(max-width:700px){
  .visual-page .about-master::before{display:none;}
}

/* v0.3.53 — Home page header cleanup.
   The Home master artwork also contains the legacy header beneath the live v3.50 header.
   Mask the residual legacy strip so the hero begins cleanly below the live header. */
.visual-page .home-master::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:92px;
  height:39px;
  background:var(--pc-paper-soft);
  z-index:50;
  pointer-events:none;
}
@media(max-width:700px){
  .visual-page .home-master::before{display:none;}
}


/* ============================================================
   v0.3.54 — FULL BUSINESS-CARD COLOR HARMONIZATION
   Removes legacy cyan/bright-blue decorative accents and carries
   the PC business-card navy / neutral-gray palette across pages.
   ============================================================ */
:root{
  --pc-navy:#303249;
  --pc-navy-deep:#27293f;
  --pc-gray:#a9aaad;
  --pc-gray-dark:#777a80;
  --pc-paper:#fbfbfc;
  --pc-paper-soft:#f7f7f8;
}
body,.content-page,.recent-projects-page{background:var(--pc-paper-soft) !important;}
a{accent-color:var(--pc-navy);}
.panel-subtitle{background:radial-gradient(circle at 7% 42%,transparent 0 9px,var(--pc-gray-dark) 10px 12px,transparent 13px) !important;}
.panel-rule,.projects-title-row h1::after{background:var(--pc-gray-dark) !important;}
.panel-heading,.content-hero .eyebrow,.content-icon,.project-open{color:var(--pc-gray-dark) !important;}
.site-header nav a.active,.site-header nav a:hover{color:#fff !important;border-color:var(--pc-gray) !important;}
.project-clickable:hover,.project-clickable:focus,.recent-projects-page .recent-project-card:hover,.recent-projects-page .recent-project-card:focus{border-color:var(--pc-gray) !important;}


/* v0.3.55 — PAT recent project + Pathway Analyses development narrative */
.recent-projects-page .project-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
.recent-projects-page .project-card-image{height:230px;}
.recent-projects-page .project-card-content h2{font-size:21px;}
.recent-projects-page .project-card-content h3{font-size:16px;margin-bottom:18px;}
.recent-projects-page .project-card-content p{font-size:15px;line-height:1.48;}
.recent-projects-page .pat-card .project-card-image{object-fit:cover;object-position:center;}
.pat-development-section{max-width:1200px;margin:48px auto 70px;padding:38px 44px;background:#fff;border:1px solid #d7d9df;box-shadow:0 8px 22px rgba(23,29,48,.08);}
.pat-development-heading{border-bottom:2px solid #303249;padding-bottom:18px;margin-bottom:26px;}
.pat-development-heading h2{margin:6px 0 0;color:#303249;font-size:34px;line-height:1.15;}
.pat-development-copy{columns:2;column-gap:46px;}
.pat-development-copy p{break-inside:avoid;margin:0 0 20px;color:#303249;font-size:17px;line-height:1.65;}
@media(max-width:1100px){.recent-projects-page .project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.pat-development-copy{columns:1;}}
@media(max-width:650px){.recent-projects-page .project-card-grid{grid-template-columns:1fr;}.pat-development-section{margin:28px 18px 50px;padding:28px 24px;}}


/* v0.3.56 — independent Pathway Analysis Tool recent-project page */
.pat-project-main{background:#f8f9fb;min-height:calc(100vh - 92px);padding:54px 7vw 70px;color:#182033}
.pat-project-hero,.pat-project-copy{max-width:1220px;margin:0 auto}
.pat-project-kicker{font-size:13px;font-weight:800;letter-spacing:.14em;color:#6f7480;margin-bottom:20px}
.pat-project-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.pat-project-title-block h1{font-size:clamp(34px,4vw,58px);line-height:1.02;margin:0 0 14px;color:#20273a;letter-spacing:-.025em}
.pat-project-title-block h2{font-size:20px;font-weight:600;color:#737985;margin:0 0 20px}
.pat-project-rule{width:92px;height:4px;background:#7a7d86}
.pat-project-image-wrap{background:#fff;border:1px solid #e2e4e8;padding:12px;box-shadow:0 12px 30px rgba(18,25,43,.10)}
.pat-project-image-wrap img{display:block;width:100%;height:300px;object-fit:cover}
.pat-project-copy{margin-top:42px;background:#fff;border:1px solid #e2e4e8;padding:36px 42px;box-shadow:0 8px 24px rgba(18,25,43,.06)}
.pat-project-copy p{font-size:16px;line-height:1.72;margin:0 0 20px;color:#404654}
.pat-project-back{display:inline-block;margin-top:10px;padding:12px 18px;border:1px solid #30364c;color:#30364c;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.06em}
.pat-project-back:hover{background:#30364c;color:#fff}
@media(max-width:800px){.pat-project-hero-grid{grid-template-columns:1fr;gap:28px}.pat-project-image-wrap img{height:240px}.pat-project-copy{padding:26px 24px}.pat-project-main{padding-left:5vw;padding-right:5vw}}

/* ============================================================
   v0.3.57 — PAT development project-page redesign
   Five-engine architecture presentation based on approved layout.
   ============================================================ */
.pat-357-page{background:#f7f8fa !important;color:var(--pc-navy-deep);}
.pat-357-main{max-width:1450px;margin:0 auto;padding:30px 54px 34px;box-sizing:border-box;}
.pat-357-back{display:inline-block;margin:0 0 24px;color:#596078;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.02em;}
.pat-357-back:hover,.pat-357-back:focus-visible{color:var(--pc-navy-deep);text-decoration:underline;outline:none;}
.pat-357-intro h1{margin:0;color:var(--pc-navy-deep);font-size:clamp(38px,4vw,62px);line-height:1.02;letter-spacing:.015em;font-weight:900;}
.pat-357-intro h2{margin:10px 0 18px;color:#7c8190;font-size:21px;line-height:1.2;letter-spacing:.09em;font-weight:700;}
.pat-357-rule{width:92px;height:4px;background:var(--pc-navy-deep);margin:0 0 24px;}
.pat-357-copy{max-width:1180px;}
.pat-357-copy p{margin:0 0 18px;color:#242936;font-size:16px;line-height:1.58;}
.pat-357-copy strong{color:var(--pc-navy-deep);}
.pat-357-architecture{margin-top:28px;}
.pat-357-architecture>h2{margin:0 0 12px;color:var(--pc-navy-deep);font-size:26px;line-height:1.15;letter-spacing:.02em;}
.pat-357-engine-stack{display:flex;flex-direction:column;gap:10px;}
.pat-357-engine-card{display:grid;grid-template-columns:78px 280px 1fr;align-items:center;min-height:118px;background:#fff;border:1px solid #e0e2e7;border-radius:6px;box-shadow:0 4px 14px rgba(38,41,63,.07);overflow:hidden;}
.engine-number{width:46px;height:46px;margin:auto;display:flex;align-items:center;justify-content:center;background:var(--pc-navy-deep);color:#fff;border-radius:3px;font-size:17px;font-weight:900;box-shadow:0 3px 8px rgba(39,41,63,.18);}
.engine-icon{position:relative;height:86px;border-left:1px solid #d8dae0;border-right:1px solid #d8dae0;margin:0 18px;}
.engine-copy{padding:18px 30px 18px 6px;}
.engine-copy h3{margin:0 0 6px;color:var(--pc-navy-deep);font-size:20px;line-height:1.12;letter-spacing:.01em;}
.engine-copy p{margin:0;color:#252a36;font-size:15px;line-height:1.38;max-width:920px;}

/* Abstract monochrome engine pictograms */
.engine-icon-facility .db-stack{position:absolute;left:30px;top:12px;width:62px;height:58px;border:2px solid #858891;border-radius:50%/18%;background:#ececef;box-shadow:inset 0 -12px 0 #e3e4e7;}
.engine-icon-facility .db-stack:before,.engine-icon-facility .db-stack:after{content:"";position:absolute;left:-2px;width:62px;height:18px;border:2px solid #858891;border-radius:50%;background:#ececef;}
.engine-icon-facility .db-stack:before{top:16px}.engine-icon-facility .db-stack:after{top:34px}
.engine-icon-facility .monitor{position:absolute;right:25px;top:5px;width:92px;height:61px;border:4px solid #5e6471;border-radius:4px;background:#bcc8d9;box-shadow:inset 0 0 0 4px #eef1f5;}
.engine-icon-facility .monitor:before{content:"";position:absolute;left:10px;right:10px;top:10px;bottom:10px;background:linear-gradient(90deg,transparent 31%,#a3a8b2 32% 34%,transparent 35% 64%,#a3a8b2 65% 67%,transparent 68%),linear-gradient(#fff 47%,#a3a8b2 48% 51%,#fff 52%);}
.engine-icon-facility .monitor:after{content:"";position:absolute;width:40px;height:5px;left:26px;bottom:-14px;background:#5e6471;box-shadow:0 8px 0 -1px #5e6471;}
.engine-icon-pathway .floor-grid{position:absolute;left:18px;right:18px;top:13px;bottom:13px;transform:skewY(-12deg);border:1px solid #90949d;background:repeating-linear-gradient(90deg,transparent 0 38px,#c5c7cd 39px 40px),repeating-linear-gradient(0deg,#f1f2f4 0 25px,#c5c7cd 26px 27px);box-shadow:0 6px 0 #c8cad0;}
.engine-icon-pathway .path-line{position:absolute;left:38px;top:47px;width:165px;height:4px;background:#48597e;transform:rotate(-7deg);box-shadow:42px -25px 0 #48597e,88px -6px 0 #48597e;}
.engine-icon-mission .mission-chart{position:absolute;left:19px;top:9px;width:150px;height:68px;border-left:3px solid #767b86;border-bottom:3px solid #767b86;background:repeating-linear-gradient(0deg,transparent 0 16px,#e0e2e6 17px 18px);}
.engine-icon-mission .mission-chart:after{content:"";position:absolute;left:10px;top:43px;width:120px;height:2px;background:#4a597a;transform:rotate(-6deg);box-shadow:30px -27px 0 #4a597a;}
.engine-icon-mission .mission-chart i{position:absolute;width:8px;height:8px;border:2px solid #4a597a;border-radius:50%;background:#fff;}.engine-icon-mission .mission-chart i:nth-child(1){left:12px;top:46px}.engine-icon-mission .mission-chart i:nth-child(2){left:65px;top:33px}.engine-icon-mission .mission-chart i:nth-child(3){left:119px;top:52px}
.engine-icon-mission .mission-clock{position:absolute;right:20px;top:8px;width:52px;height:52px;border:3px solid #7b7f88;border-radius:50%;background:#fafafa;}.engine-icon-mission .mission-clock:before,.engine-icon-mission .mission-clock:after{content:"";position:absolute;left:25px;top:11px;width:2px;height:18px;background:#7b7f88;transform-origin:bottom}.engine-icon-mission .mission-clock:after{transform:rotate(120deg);height:15px;}
.engine-icon-neutralization .shield-mark{position:absolute;left:30px;top:4px;font-size:68px;color:#637086;line-height:1;transform:scaleX(1.35);}
.engine-icon-neutralization:after{content:"";position:absolute;left:108px;right:20px;top:47px;border-top:2px dashed #a2a5ad;transform:rotate(-8deg);}
.target-mark{position:absolute;z-index:2;color:#1c2333;font-size:34px;line-height:1}.target-mark.t1{left:102px;top:42px}.target-mark.t2{left:155px;top:28px}.target-mark.t3{left:205px;top:10px}
.engine-icon-reports .report-sheet{position:absolute;left:24px;top:6px;width:85px;height:70px;border:2px solid #a4a6ad;background:#fff;}.engine-icon-reports .report-sheet:before{content:"";position:absolute;left:12px;bottom:12px;width:12px;height:24px;background:#7b8394;box-shadow:18px -10px 0 #a3a7b0,36px -25px 0 #566889;}.engine-icon-reports .report-sheet i{position:absolute;left:12px;right:12px;height:2px;background:#c5c7cc}.engine-icon-reports .report-sheet i:nth-child(1){top:10px}.engine-icon-reports .report-sheet i:nth-child(2){top:17px}.engine-icon-reports .report-sheet i:nth-child(3){top:24px}
.engine-icon-reports .pdf-sheet{position:absolute;right:28px;top:5px;width:62px;height:72px;border:2px solid #8f9299;background:#f2f2f3;display:flex;align-items:center;justify-content:center;color:#111;font-size:18px;font-weight:900;clip-path:polygon(0 0,78% 0,100% 20%,100% 100%,0 100%);}

.pat-357-values{display:grid;grid-template-columns:repeat(3,1fr);max-width:1060px;margin:22px auto 4px;}
.pat-357-values>div{display:flex;align-items:center;justify-content:center;gap:18px;min-height:72px;padding:0 30px;border-right:1px solid #c8cad0;color:#151a26;font-size:15px;line-height:1.4;}
.pat-357-values>div:last-child{border-right:0;}
.value-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;background:var(--pc-navy-deep);color:#fff;font-size:28px;line-height:1;}
.pat-357-footer{background:var(--pc-navy-deep);color:#fff;text-align:center;padding:18px 20px;font-size:14px;letter-spacing:.015em;}
@media(max-width:950px){
  .pat-357-main{padding:28px 28px 34px;}
  .pat-357-engine-card{grid-template-columns:70px 210px 1fr;}
  .engine-icon{margin:0 10px;transform:scale(.86);transform-origin:center;}
}
@media(max-width:720px){
  .pat-357-main{padding:24px 18px 30px;}
  .pat-357-intro h2{font-size:16px;letter-spacing:.055em;}
  .pat-357-engine-card{grid-template-columns:60px 1fr;grid-template-areas:"number copy" "icon icon";padding:12px 0;}
  .engine-number{grid-area:number;}.engine-copy{grid-area:copy;padding:10px 18px 10px 4px;}.engine-icon{grid-area:icon;width:270px;max-width:calc(100% - 32px);margin:8px auto 2px;border:0;}
  .pat-357-values{grid-template-columns:1fr;}.pat-357-values>div{border-right:0;border-bottom:1px solid #c8cad0;justify-content:flex-start;}.pat-357-values>div:last-child{border-bottom:0;}
}

/* ============================================================
   v0.3.58 — PAT route-comparison illustration + engine icon containment
   ============================================================ */
.pat-357-page{background:#fafafa !important;}
.pat-357-copy{max-width:1220px;}
.pat-358-route-analysis{margin:26px 0 30px;}
.pat-358-route-analysis>h2{margin:0 0 12px;color:var(--pc-navy-deep);font-size:26px;line-height:1.15;letter-spacing:.02em;}
.pat-358-route-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(310px,.9fr);gap:16px;align-items:stretch;}
.pat-358-plan,.pat-358-summary{background:#fff;border:1px solid #d9dce3;border-radius:8px;box-shadow:0 4px 14px rgba(38,41,63,.055);overflow:hidden;}
.pat-358-plan{padding:12px 14px 6px;display:flex;align-items:center;justify-content:center;}
.pat-358-plan svg{display:block;width:100%;height:auto;max-height:440px;}
.pat-358-summary{display:flex;flex-direction:column;}
.pat-358-summary-title{background:var(--pc-navy-deep);color:#fff;text-align:center;padding:10px 12px;font-weight:900;font-size:16px;letter-spacing:.03em;}
.pat-358-summary-title.analytical{margin-top:auto;}
.route-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;border-bottom:1px solid #e2e4e8;color:#666b78;}
.route-row span{display:flex;flex-direction:column;gap:3px;}
.route-row strong{font-size:18px;letter-spacing:.02em;}
.route-row small{font-size:12px;color:#696e7a;}
.route-row b{font-size:29px;line-height:1;color:#666b78;}
.route-row.preferred{color:var(--pc-navy-deep);}.route-row.preferred b{color:var(--pc-navy-deep);}
.route-row.route-c{color:#8b4b4b;}.route-row.route-c b{color:#8b4b4b;}
.analysis-equation{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;align-items:center;padding:17px 14px 18px;gap:4px;text-align:center;}
.analysis-equation span{display:flex;flex-direction:column;gap:2px;color:#1f2431;}
.analysis-equation b{font-size:12px;}.analysis-equation small{font-size:10px;letter-spacing:.04em;}.analysis-equation i{font-style:normal;font-size:22px;color:#737785;}
/* Prevent decorative route lines from bleeding into Engine 02 copy. */
.engine-icon{overflow:hidden;}
.engine-icon-pathway .path-line{width:150px;box-shadow:38px -23px 0 #48597e,78px -5px 0 #48597e;}
@media(max-width:950px){.pat-358-route-grid{grid-template-columns:1fr;}.pat-358-summary-title.analytical{margin-top:0;}}
@media(max-width:620px){.pat-358-route-analysis>h2{font-size:22px}.route-row{padding:14px 16px}.analysis-equation{grid-template-columns:1fr 16px 1fr 16px 1fr 16px 1fr;padding:14px 8px}.analysis-equation b{font-size:10px}.analysis-equation small{font-size:9px}}


/* v0.3.59 — PAT recent-project tile uses the route-comparison illustration. */
.recent-projects-page .pat-card .project-card-image{
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
  padding:10px 12px;
  box-sizing:border-box;
}


/* ============================================================
   v0.3.71 — Project 03 illustration cleanup and page rebalance
   ============================================================ */
#unattendedDetail .project-detail-layout{
  grid-template-columns:minmax(0,1.48fr) minmax(390px,.92fr) !important;
  gap:28px !important;
  align-items:stretch !important;
}
#unattendedDetail .unattended-detail-right{
  padding:22px !important;
  align-items:center !important;
  justify-content:center !important;
}
#unattendedDetail .unattended-detail-image{
  width:100% !important;
  max-width:100% !important;
  max-height:560px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}
@media(max-width:980px){
  #unattendedDetail .project-detail-layout{grid-template-columns:1fr !important;}
  #unattendedDetail .unattended-detail-right{padding:16px !important;}
  #unattendedDetail .unattended-detail-image{max-height:none !important;}
}

/* ============================================================
   v0.3.72 — Project 03 matched to Project 02 detail-page balance
   ============================================================ */
#unattendedDetail .project-detail-panel-v2{
  width:min(1460px,97vw) !important;
  max-height:92vh !important;
  padding:22px 28px 22px !important;
  overflow:hidden !important;
}
#unattendedDetail .project-detail-layout{
  grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr) !important;
  gap:24px !important;
  height:auto !important;
  align-items:start !important;
}
#unattendedDetail .project-kicker{
  margin-bottom:10px !important;
  font-size:12px !important;
}
#unattendedDetail .project-detail-left h2{
  font-size:clamp(30px,3vw,46px) !important;
  line-height:1.0 !important;
}
#unattendedDetail .project-detail-left h3{
  margin:7px 0 9px !important;
  font-size:clamp(19px,1.7vw,25px) !important;
}
#unattendedDetail .project-title-rule{
  margin-bottom:14px !important;
}
#unattendedDetail .project-detail-copy-v2 p{
  font-size:13.4px !important;
  line-height:1.46 !important;
  margin-bottom:13px !important;
  hyphens:none !important;
  -webkit-hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  text-align:justify !important;
}
#unattendedDetail .project-detail-actions{
  padding-top:0 !important;
  margin-top:4px !important;
}
#unattendedDetail .project-back-button{
  min-height:46px !important;
  min-width:210px !important;
  font-size:12px !important;
}
#unattendedDetail .unattended-detail-right{
  align-self:start !important;
  min-height:0 !important;
  max-height:78vh !important;
  padding:12px !important;
  overflow:hidden !important;
  background:#fbfbfc !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#unattendedDetail .unattended-detail-image{
  width:100% !important;
  height:auto !important;
  max-height:74vh !important;
  object-fit:contain !important;
  object-position:center top !important;
  border-radius:8px !important;
}
@media(max-width:1180px){
  #unattendedDetail .project-detail-panel-v2{
    max-height:none !important;
    overflow:auto !important;
  }
  #unattendedDetail .project-detail-layout{
    grid-template-columns:1fr !important;
  }
  #unattendedDetail .unattended-detail-right{
    max-height:none !important;
  }
  #unattendedDetail .unattended-detail-image{
    max-height:none !important;
  }
}

/* ============================================================
   v0.3.73 — RESTORE PROJECT 04 / PAT DETAIL PAGE LAYOUT
   Reinstates the balanced two-column Projects 01–04 detail format.
   ============================================================ */
.pat-362-page{background:#f7f8fa !important;color:#303249;min-height:100vh;}
.pat-362-main{max-width:1600px;margin:0 auto;padding:24px 22px 30px;box-sizing:border-box;}
.pat-362-detail-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.76fr);gap:28px;align-items:stretch;min-height:calc(100vh - 150px);}
.pat-362-left{min-width:0;display:flex;flex-direction:column;padding:0 2px;}
.pat-362-left .project-kicker{margin:0 0 18px;color:#303249;font-size:13px;font-weight:800;letter-spacing:.04em;}
.pat-362-left h1{margin:0;color:#303249;font-size:clamp(38px,4.1vw,61px);line-height:1.02;letter-spacing:-.02em;font-weight:900;}
.pat-362-left h2{margin:11px 0 12px;color:#303249;font-size:clamp(21px,2vw,30px);line-height:1.16;font-style:italic;font-weight:800;}
.pat-362-left .project-title-rule{margin:0 0 22px;height:1px;background:#777a80;width:100%;}
.pat-362-copy{columns:1 !important;padding:0 !important;}
.pat-362-copy p{margin:0 0 21px;color:#444958 !important;font-size:15.5px;line-height:1.67;text-align:justify;text-justify:inter-word;hyphens:auto;}
.pat-362-copy strong{color:#303249;}
.pat-362-actions{margin-top:auto;padding-top:10px;}
.pat-362-back-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 22px;background:#fff;color:#303249 !important;border:1px solid #303249;border-radius:3px;font-size:13px;font-weight:800;letter-spacing:.01em;text-decoration:none !important;box-sizing:border-box;}
.pat-362-back-button:hover,.pat-362-back-button:focus-visible{background:#f2f3f6;outline:2px solid rgba(48,50,73,.14);outline-offset:2px;}
.pat-362-right{min-width:0;border:1px solid #d5e0e9;border-radius:12px;padding:17px 18px 15px;background:#fbfbfc;box-shadow:0 6px 22px rgba(8,37,74,.08);display:flex;flex-direction:column;}
.pat-362-graphic-title{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;text-align:center;color:#303249;margin:0 0 14px;}
.pat-362-graphic-title span{height:1px;background:#878a91;}
.pat-362-graphic-title strong{font-size:14px;line-height:1.15;letter-spacing:.015em;}
.pat-362-engine-stack{display:flex;flex-direction:column;gap:9px;}
.pat-362-engine-card{display:grid;grid-template-columns:48px 96px minmax(0,1fr);align-items:center;min-height:104px;border:1px solid #e0e2e7;border-radius:7px;background:#fff;box-shadow:0 3px 11px rgba(38,41,63,.055);overflow:hidden;}
.pat-362-engine-number{width:38px;height:38px;margin:auto;display:flex;align-items:center;justify-content:center;border-radius:3px;background:#303249;color:#fff;font-weight:900;font-size:15px;}
.pat-362-mini-icon{position:relative;height:76px;border-left:1px solid #d8dae0;border-right:1px solid #d8dae0;overflow:hidden;}
.pat-362-engine-copy{padding:11px 14px 11px 14px;min-width:0;}
.pat-362-engine-copy h3{margin:0 0 5px;color:#303249;font-size:16px;line-height:1.13;letter-spacing:.005em;}
.pat-362-engine-copy p{margin:0;color:#444958;font-size:12.8px;line-height:1.35;}
.pat-362-mini-icon .mini-db{position:absolute;left:10px;top:16px;width:32px;height:40px;border:2px solid #858891;border-radius:50%/18%;background:#ececef;box-shadow:inset 0 -9px 0 #e3e4e7;}
.pat-362-mini-icon .mini-monitor{position:absolute;right:8px;top:12px;width:39px;height:31px;border:3px solid #5e6471;border-radius:2px;background:linear-gradient(90deg,#fff 0 44%,#a3a8b2 45% 48%,#fff 49%);box-shadow:0 11px 0 -8px #5e6471;}
.pat-362-mini-icon .mini-floor{position:absolute;left:10px;right:10px;top:18px;bottom:18px;transform:skewY(-10deg);border:1px solid #90949d;background:repeating-linear-gradient(90deg,transparent 0 17px,#c5c7cd 18px 19px),repeating-linear-gradient(0deg,#f1f2f4 0 15px,#c5c7cd 16px 17px);}
.pat-362-mini-icon .mini-route{position:absolute;left:20px;top:39px;width:52px;height:3px;background:#48597e;transform:rotate(-7deg);box-shadow:18px -15px 0 #48597e,31px 5px 0 #48597e;}
.pat-362-mini-icon .mini-chart{position:absolute;left:10px;top:15px;width:54px;height:40px;border-left:2px solid #767b86;border-bottom:2px solid #767b86;background:linear-gradient(145deg,transparent 47%,#4a597e 48% 51%,transparent 52%);}
.pat-362-mini-icon .mini-clock{position:absolute;right:7px;top:12px;width:32px;height:32px;border:2px solid #7b7f88;border-radius:50%;}
.pat-362-mini-icon .mini-clock:before{content:"";position:absolute;left:15px;top:7px;width:2px;height:11px;background:#7b7f88;transform-origin:bottom;box-shadow:5px 7px 0 -0.5px #7b7f88;}
.pat-362-mini-icon .mini-shield{position:absolute;left:14px;top:5px;font-size:53px;color:#637086;line-height:1;transform:scaleX(1.25);}
.pat-362-mini-icon .mini-target{position:absolute;right:12px;top:22px;font-size:32px;color:#1c2333;line-height:1;}
.pat-362-mini-icon .mini-report{position:absolute;left:11px;top:12px;width:38px;height:48px;border:2px solid #a4a6ad;background:linear-gradient(to top,#7b8394 0 20%,transparent 21%),repeating-linear-gradient(0deg,transparent 0 7px,#c5c7cc 8px 9px);}
.pat-362-mini-icon .mini-pdf{position:absolute;right:8px;top:13px;width:34px;height:47px;border:2px solid #8f9299;background:#f2f2f3;display:flex;align-items:center;justify-content:center;color:#111;font-size:11px;font-weight:900;clip-path:polygon(0 0,78% 0,100% 20%,100% 100%,0 100%);}
.pat-362-value-strip{margin-top:auto;padding-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.pat-362-value-strip>div{min-height:58px;display:flex;align-items:center;justify-content:center;gap:9px;padding:5px 10px;border-right:1px solid #c8cad0;color:#303249;font-size:11px;line-height:1.3;text-align:left;}
.pat-362-value-strip>div:last-child{border-right:0;}
.pat-362-value-strip span{width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;background:#303249;color:#fff;font-size:19px;}
.content-page main.pat-362-main{width:min(1600px,100%);max-width:1600px;margin:0 auto;padding:24px 22px 30px;box-sizing:border-box;}
@media(max-width:1050px){.pat-362-detail-layout{grid-template-columns:1fr}.pat-362-right{min-height:0}.pat-362-actions{margin-top:12px}.pat-362-value-strip{margin-top:14px}}
@media(max-width:650px){.content-page main.pat-362-main{padding:20px 14px 26px}.pat-362-left h1{font-size:36px}.pat-362-engine-card{grid-template-columns:44px 74px minmax(0,1fr)}.pat-362-engine-copy{padding:9px 10px}.pat-362-engine-copy h3{font-size:14px}.pat-362-engine-copy p{font-size:11.6px}.pat-362-value-strip{grid-template-columns:1fr}.pat-362-value-strip>div{border-right:0;border-bottom:1px solid #c8cad0;justify-content:flex-start}.pat-362-value-strip>div:last-child{border-bottom:0}}

/* v0.3.74 — Project 04 CTA: remove native anchor underline while retaining shared CTA rule */
.recent-projects-page a.project-card-link,
.recent-projects-page a.project-card-link:link,
.recent-projects-page a.project-card-link:visited,
.recent-projects-page a.project-card-link:hover,
.recent-projects-page a.project-card-link:focus,
.recent-projects-page a.project-card-link:active {
  text-decoration: none !important;
}


/* ============================================================
   v0.3.78 — HOME HEADER LATIN DEFINITION
   Adds a compact dictionary-style Praesidium definition between
   the brand and navigation, with no vertical separators.
   ============================================================ */
.visual-page .brand-350-header .home-definition{
  flex:0 1 430px;
  min-width:300px;
  margin:0 10px 0 2px;
  color:#f5f5f7;
  text-align:center;
  line-height:1.15;
}
.visual-page .brand-350-header .home-definition-term{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:14px;
  white-space:nowrap;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  color:#f2f2f4;
}
.visual-page .brand-350-header .home-definition-term em{font-weight:400;}
.visual-page .brand-350-header .definition-dash{
  font-style:normal;
  color:#c7c8cc;
  transform:translateY(-1px);
}
.visual-page .brand-350-header .home-definition-text{
  margin-top:5px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  letter-spacing:.01em;
  color:#d9d9dd;
  white-space:nowrap;
}
.visual-page .brand-350-header .brand-350{
  min-width:300px;
}
.visual-page .brand-350-header .brand-350-nav{
  flex:0 1 auto;
  gap:10px;
}
.visual-page .brand-350-header .brand-350-nav a{
  min-width:104px;
  padding:0 10px;
}
.visual-page .brand-350-header .brand-350-nav a:nth-child(3){min-width:145px;}

@media(max-width:1320px){
  .visual-page .brand-350-header .home-definition{flex-basis:360px;min-width:260px;}
  .visual-page .brand-350-header .home-definition-term{font-size:19px;gap:10px;}
  .visual-page .brand-350-header .home-definition-text{font-size:14px;}
  .visual-page .brand-350-header .brand-350-nav a{min-width:92px;font-size:11px;padding:0 8px;}
  .visual-page .brand-350-header .brand-350-nav a:nth-child(3){min-width:128px;}
}
@media(max-width:1050px){
  .visual-page .brand-350-header .home-definition{flex-basis:300px;min-width:230px;margin-left:0;margin-right:0;}
  .visual-page .brand-350-header .home-definition-term{font-size:17px;gap:8px;}
  .visual-page .brand-350-header .home-definition-text{font-size:12.5px;}
}
@media(max-width:900px){
  .visual-page .brand-350-header .home-definition{display:none;}
}


/* v0.3.79 — Project 04 photographic tile and CTA consistency */
.recent-projects-page .pat-card .project-card-image{
  object-fit:cover !important;
  object-position:center center !important;
  background:#eef1f5 !important;
  padding:0 !important;
}
.recent-projects-page .pat-card .project-card-link{
  color:var(--pc-navy-deep) !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  border-bottom:2px solid var(--pc-navy-deep) !important;
  padding-bottom:5px !important;
  text-decoration:none !important;
}


/* ============================================================
   v0.3.80 — PROJECT 04 CLOSE CONTROL
   Adds the same top-right X return affordance used by Projects 01–03.
   ============================================================ */
.pat-362-main{position:relative;}
.pat-362-close{
  position:absolute !important;
  top:8px !important;
  right:20px !important;
  z-index:10;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  padding:0;
  border:0;
  background:transparent;
  color:#303249 !important;
  font-size:34px;
  line-height:1;
  font-weight:400;
  text-decoration:none !important;
  cursor:pointer;
}
.pat-362-close:hover,.pat-362-close:focus-visible{
  color:#1f2133 !important;
  background:rgba(48,50,73,.06);
  border-radius:50%;
  outline:none;
}
@media(max-width:650px){
  .pat-362-close{top:2px !important;right:10px !important;}
}

/* v0.3.83 — pull the home-page definition visibly closer to the brand */
.visual-page .brand-350-header .home-definition{margin-left:-82px !important;margin-right:10px !important;}
@media(max-width:1320px){.visual-page .brand-350-header .home-definition{margin-left:-68px !important;}}
@media(max-width:1050px){.visual-page .brand-350-header .home-definition{margin-left:-52px !important;margin-right:0 !important;}}
@media(max-width:900px){.visual-page .brand-350-header .home-definition{margin-left:0 !important;}}

/* v0.3.84 — align the home definition with the "SECURITY" word in the hero headline */
@media(min-width:1321px){
  .visual-page .brand-350-header .home-definition{
    margin-left:-285px !important;
    margin-right:10px !important;
  }
}
@media(min-width:1051px) and (max-width:1320px){
  .visual-page .brand-350-header .home-definition{
    margin-left:-235px !important;
    margin-right:6px !important;
  }
}
@media(min-width:901px) and (max-width:1050px){
  .visual-page .brand-350-header .home-definition{
    margin-left:-175px !important;
    margin-right:0 !important;
  }
}

/* v0.3.85 — Approach: The Fundamentals */
.fundamentals-page{background:#f7f8fa;color:#303249;}
.fundamentals-main{max-width:1440px;margin:0 auto;background:#fff;}
.fundamentals-hero{display:grid;grid-template-columns:38% 62%;min-height:360px;background:linear-gradient(90deg,#f5f8fb 0%,#eef4f8 38%,#dce8f1 38%);overflow:hidden;}
.fundamentals-hero-copy{padding:54px 28px 42px 72px;display:flex;flex-direction:column;justify-content:center;z-index:2;}
.fundamentals-hero-copy .eyebrow{font-size:12px;letter-spacing:.18em;color:#727788;margin-bottom:14px;}
.fundamentals-hero h1{margin:0;color:#132b52;font-size:clamp(48px,5.2vw,76px);line-height:.88;letter-spacing:-.035em;font-weight:800;}
.fundamentals-rule{display:block;width:88px;height:4px;background:#6ba6d9;margin:28px 0 26px;}
.fundamentals-tagline{margin:0;font-size:17px;line-height:1.55;letter-spacing:.2em;color:#303b59;}
.fundamentals-hero-image{background:url('assets/fundamentals-hero-v385.jpg') center center/cover no-repeat;min-height:360px;}
.fundamentals-intro{max-width:1320px;margin:0 auto;padding:34px 56px 24px;}
.fundamentals-intro p{margin:0 0 17px;font-family:Georgia,'Times New Roman',serif;font-size:16.5px;line-height:1.48;color:#343a4c;}
.fundamentals-intro strong{color:#24334f;}
.fundamentals-grid{max-width:1380px;margin:0 auto;padding:12px 30px 34px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.fundamental-card{position:relative;background:linear-gradient(180deg,#f5f9fc,#edf4f8);border:1px solid #e1e8ee;padding:22px 16px 22px;min-height:650px;box-shadow:0 8px 24px rgba(35,48,72,.04);}
.fundamental-card-head{min-height:78px;display:flex;align-items:center;gap:13px;border-bottom:2px solid #303249;margin-bottom:12px;padding-bottom:10px;}
.fundamental-number{font-size:38px;line-height:1;color:#68a5d8;font-weight:800;letter-spacing:-.04em;}
.fundamental-card h2{margin:0;color:#142c52;font-size:22px;line-height:1.0;font-weight:800;}
.fundamental-card img{display:block;width:100%;height:138px;object-fit:cover;margin:0 0 14px;}
.fundamental-card p{font-size:14.5px;line-height:1.45;color:#3f4658;margin:0 0 18px;}
.fundamental-card p strong{color:#25354f;}
.fundamental-card ul{list-style:none;padding:0;margin:0;}
.fundamental-card li{position:relative;padding-left:18px;margin:0 0 8px;font-size:14px;line-height:1.32;color:#33415b;}
.fundamental-card li::before{content:'■';position:absolute;left:0;top:.08em;font-size:8px;color:#2f78bd;}
.fundamentals-closing{min-height:150px;background:linear-gradient(90deg,rgba(24,48,80,.92),rgba(35,59,90,.68)),url('assets/fundamentals-footer-v385.jpg') center 45%/cover no-repeat;color:white;display:flex;align-items:center;justify-content:space-between;padding:28px 72px;}
.fundamentals-closing>div{border-left:2px solid rgba(255,255,255,.8);padding-left:34px;font-size:17px;line-height:1.55;letter-spacing:.25em;}
.fundamentals-closing p{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.35;font-style:italic;text-align:right;}
@media(max-width:1050px){.fundamentals-grid{grid-template-columns:repeat(2,1fr)}.fundamentals-hero{grid-template-columns:44% 56%}.fundamentals-hero-copy{padding-left:38px}}
@media(max-width:700px){.fundamentals-hero{grid-template-columns:1fr}.fundamentals-hero-copy{padding:38px 28px}.fundamentals-hero-image{min-height:250px}.fundamentals-intro{padding:28px}.fundamentals-grid{grid-template-columns:1fr;padding:10px 20px 28px}.fundamental-card{min-height:0}.fundamentals-closing{padding:28px;gap:24px;flex-direction:column;align-items:flex-start}.fundamentals-closing p{text-align:left}}

/* ============================================================
   v0.3.86 — The Fundamentals card refinement
   - Removes redundant bullet lists
   - Uses site gray accents instead of light blue
   - Moves section numbers to the upper-left above each heading
   - Gives all four cards slightly more horizontal room
   - Keeps heading sizing consistent across the four fundamentals
   ============================================================ */
.fundamentals-rule{
  background:#a9aaad !important;
}
.fundamentals-grid{
  max-width:1420px !important;
  padding:12px 18px 34px !important;
  gap:14px !important;
}
.fundamental-card{
  padding:20px 16px 24px !important;
  min-height:560px !important;
}
.fundamental-card-head{
  min-height:102px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:7px !important;
  border-bottom:0 !important;
  margin-bottom:12px !important;
  padding-bottom:0 !important;
}
.fundamental-card-head::after{
  content:"";
  display:block;
  width:50px;
  height:2px;
  background:#a9aaad;
  order:2;
  margin:1px 0 0;
}
.fundamental-number{
  order:0;
  color:#777a80 !important;
  font-size:38px !important;
  line-height:.95 !important;
  margin:0 !important;
}
.fundamental-card h2{
  order:1;
  font-size:20px !important;
  line-height:1.02 !important;
  min-height:42px;
  display:flex;
  align-items:flex-end;
}
.fundamental-card img{
  height:148px !important;
  margin-bottom:16px !important;
}
.fundamental-card p{
  font-size:14.6px !important;
  line-height:1.5 !important;
  margin:0 !important;
}
.fundamental-card ul{
  display:none !important;
}
@media(max-width:1050px){
  .fundamentals-grid{gap:16px !important;padding-left:24px !important;padding-right:24px !important;}
  .fundamental-card{min-height:0 !important;}
}
@media(max-width:700px){
  .fundamentals-grid{padding-left:20px !important;padding-right:20px !important;}
  .fundamental-card-head{min-height:auto !important;}
  .fundamental-card h2{min-height:0 !important;}
}

/* ============================================================
   v0.3.87 — Approach page mountain masthead
   - Moves the approved mountain image from the footer to the top
   - Keeps the Fundamentals title/tagline readable over the image
   - Removes the closing mountain footer to prevent duplicate overlays
   ============================================================ */
.fundamentals-page .fundamentals-hero-mountain{
  display:flex !important;
  align-items:stretch !important;
  min-height:300px !important;
  background:
    linear-gradient(90deg,rgba(22,42,69,.88) 0%,rgba(30,52,82,.68) 42%,rgba(35,59,90,.28) 72%,rgba(35,59,90,.16) 100%),
    url('assets/fundamentals-footer-v385.jpg') center 48%/cover no-repeat !important;
  overflow:hidden !important;
}
.fundamentals-page .fundamentals-hero-mountain .fundamentals-hero-copy{
  width:min(690px,60%) !important;
  padding:46px 40px 40px 72px !important;
  justify-content:center !important;
}
.fundamentals-page .fundamentals-hero-mountain .eyebrow{
  color:rgba(255,255,255,.72) !important;
}
.fundamentals-page .fundamentals-hero-mountain h1{
  color:#fff !important;
  text-shadow:0 2px 12px rgba(12,26,46,.18);
}
.fundamentals-page .fundamentals-hero-mountain .fundamentals-rule{
  background:#a9aaad !important;
}
.fundamentals-page .fundamentals-hero-mountain .fundamentals-tagline{
  color:rgba(255,255,255,.93) !important;
}
.fundamentals-page .fundamentals-closing{
  display:none !important;
}
@media(max-width:700px){
  .fundamentals-page .fundamentals-hero-mountain{
    min-height:285px !important;
    background-position:58% center !important;
  }
  .fundamentals-page .fundamentals-hero-mountain .fundamentals-hero-copy{
    width:100% !important;
    padding:36px 28px !important;
  }
}

/* ============================================================
   v0.3.88 — Approach hero cleanup
   - Uses one flattened mountain masthead with its typography embedded
   - Suppresses the prior live-text overlay to eliminate ghosting
   ============================================================ */
.fundamentals-page .fundamentals-hero-mountain{
  min-height:0 !important;
  aspect-ratio:2 / 1 !important;
  background:url('assets/fundamentals-hero-v388.png') center center/cover no-repeat !important;
}
.fundamentals-page .fundamentals-hero-mountain .fundamentals-hero-copy{
  display:none !important;
}
@media(max-width:700px){
  .fundamentals-page .fundamentals-hero-mountain{
    min-height:0 !important;
    aspect-ratio:2 / 1 !important;
    background-position:center center !important;
  }
}

/* ============================================================
   v0.3.89 — Approach mountain masthead crop correction
   - Preserves the complete flattened banner image
   - Uses the source image's native aspect ratio so no text is cropped
   - Leaves the remainder of the Approach page unchanged
   ============================================================ */
.fundamentals-page .fundamentals-hero-mountain{
  min-height:0 !important;
  aspect-ratio:2103 / 748 !important;
  background-image:url('assets/fundamentals-hero-v388.png') !important;
  background-position:center center !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-color:#203a5b !important;
}
@media(max-width:700px){
  .fundamentals-page .fundamentals-hero-mountain{
    min-height:0 !important;
    aspect-ratio:2103 / 748 !important;
    background-position:center center !important;
    background-size:contain !important;
  }
}


/* ============================================================
   v0.3.90 — Fundamentals card closing statements
   - Adds a distinct summary takeaway to each fundamental
   - Uses the established gray accent instead of navy/light blue
   - Separates the takeaway with a short gray rule
   ============================================================ */
.fundamentals-page .fundamental-card .fundamental-takeaway{
  position:relative;
  margin-top:22px !important;
  padding-top:17px !important;
  color:#777a80 !important;
  font-weight:700 !important;
  font-size:14.6px !important;
  line-height:1.45 !important;
}
.fundamentals-page .fundamental-card .fundamental-takeaway::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:48px;
  height:3px;
  background:#a9aaad;
}

/* ============================================================
   v0.3.91 — Physical Protection System Design / Security by Design
   Distinct from The Fundamentals: engineering principles and integration
   ============================================================ */
.pps-design-page{background:#f7f8fa;color:#303249;}
.pps-design-main{max-width:1440px;margin:0 auto;background:#fff;}
.pps-design-hero{display:grid;grid-template-columns:42% 58%;min-height:350px;background:linear-gradient(90deg,#f4f6f8,#eef1f4);overflow:hidden;}
.pps-design-hero-copy{padding:50px 32px 42px 68px;display:flex;flex-direction:column;justify-content:center;}
.pps-design-hero-copy .eyebrow{font-size:12px;letter-spacing:.18em;color:#777a80;margin-bottom:14px;}
.pps-design-hero h1{margin:0;color:#132b52;font-size:clamp(48px,5vw,74px);line-height:.88;letter-spacing:-.035em;font-weight:800;}
.pps-design-rule{display:block;width:82px;height:4px;background:#a9aaad;margin:26px 0 24px;}
.pps-design-hero-copy p{margin:0;font-size:16px;line-height:1.55;letter-spacing:.18em;color:#303249;}
.pps-design-hero-image{min-height:350px;background:linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.05)),url('assets/security-by-design-framework.png') center center/cover no-repeat;}
.pps-design-intro{max-width:1320px;margin:0 auto;padding:34px 56px 24px;}
.pps-design-intro p{margin:0 0 17px;font-family:Georgia,'Times New Roman',serif;font-size:16.5px;line-height:1.48;color:#343a4c;}
.pps-design-intro strong{color:#24334f;}
.pps-design-grid{max-width:1380px;margin:0 auto;padding:12px 24px 30px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.pps-design-card{position:relative;background:linear-gradient(180deg,#f5f7f8,#eef1f3);border:1px solid #dde1e5;padding:20px 16px 22px;min-height:650px;box-shadow:0 8px 24px rgba(35,48,72,.035);}
.pps-design-card-head{min-height:100px;border-bottom:2px solid #a9aaad;margin-bottom:14px;padding-bottom:10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;}
.pps-design-number{font-size:38px;line-height:1;color:#777a80;font-weight:800;letter-spacing:-.04em;margin-bottom:9px;}
.pps-design-card h2{margin:0;color:#142c52;font-size:20px;line-height:1.03;font-weight:800;}
.pps-design-card img{display:block;width:100%;height:145px;object-fit:cover;margin:0 0 14px;}
.pps-design-card .pps-facility-image{object-position:84% 48%;}
.pps-design-card p{font-size:14.2px;line-height:1.45;color:#3f4658;margin:0 0 18px;}
.pps-design-card p strong{color:#25354f;}
.pps-design-card .pps-design-takeaway{position:relative;margin-top:22px;padding-top:17px;color:#777a80;font-weight:700;font-size:14.4px;line-height:1.45;}
.pps-design-card .pps-design-takeaway::before{content:"";position:absolute;top:0;left:0;width:48px;height:3px;background:#a9aaad;}
.pps-design-actions{max-width:1380px;margin:0 auto;padding:0 24px 34px;}
@media(max-width:1050px){.pps-design-grid{grid-template-columns:repeat(2,1fr)}.pps-design-hero{grid-template-columns:44% 56%}.pps-design-hero-copy{padding-left:38px}.pps-design-card{min-height:0}}
@media(max-width:700px){.pps-design-hero{grid-template-columns:1fr}.pps-design-hero-copy{padding:38px 28px}.pps-design-hero-image{min-height:250px}.pps-design-intro{padding:28px}.pps-design-grid{grid-template-columns:1fr;padding:10px 20px 28px}.pps-design-card{min-height:0}.pps-design-actions{padding:0 20px 28px}}

/* ============================================================
   v0.3.92 — PPS Design balance + Assessments & Evaluations redesign
   - Rebalances Security by Design hero and aligns typography with Fundamentals
   - Rebuilds Assessments & Evaluations using the same four-card visual language
   - Retains gray accent hierarchy and no-people imagery
   ============================================================ */

/* Physical Protection System Design — balance and typography */
.pps-design-page .pps-design-hero{
  grid-template-columns:46% 54% !important;
  min-height:360px !important;
}
.pps-design-page .pps-design-hero-copy{
  padding:54px 34px 42px 72px !important;
}
.pps-design-page .pps-design-hero-copy .eyebrow{
  font-size:12px !important;
  letter-spacing:.18em !important;
  margin-bottom:14px !important;
}
.pps-design-page .pps-design-hero h1{
  font-size:clamp(46px,4.6vw,68px) !important;
  line-height:.90 !important;
  letter-spacing:-.035em !important;
}
.pps-design-page .pps-design-rule{
  width:88px !important;
  height:4px !important;
  margin:28px 0 26px !important;
}
.pps-design-page .pps-design-hero-copy p{
  font-size:17px !important;
  line-height:1.55 !important;
  letter-spacing:.20em !important;
}
.pps-design-page .pps-design-hero-image{
  min-height:360px !important;
  background-position:center center !important;
  background-size:cover !important;
}
.pps-design-page .pps-design-intro{
  padding:34px 56px 24px !important;
}
.pps-design-page .pps-design-intro p{
  font-size:16.5px !important;
  line-height:1.48 !important;
}
.pps-design-page .pps-design-grid{
  max-width:1420px !important;
  padding:12px 18px 34px !important;
  gap:14px !important;
}
.pps-design-page .pps-design-card{
  padding:20px 16px 24px !important;
  min-height:600px !important;
}
.pps-design-page .pps-design-card-head{
  min-height:112px !important;
  border-bottom:0 !important;
  margin-bottom:12px !important;
  padding-bottom:0 !important;
  gap:7px !important;
}
.pps-design-page .pps-design-card-head::after{
  content:"";
  display:block;
  width:50px;
  height:2px;
  background:#a9aaad;
  margin:1px 0 0;
}
.pps-design-page .pps-design-number{
  font-size:38px !important;
  line-height:.95 !important;
  margin:0 !important;
  color:#777a80 !important;
}
.pps-design-page .pps-design-card h2{
  font-size:20px !important;
  line-height:1.02 !important;
  min-height:42px !important;
}
.pps-design-page .pps-design-card img{
  height:148px !important;
  margin-bottom:16px !important;
}
.pps-design-page .pps-design-card p{
  font-size:14.6px !important;
  line-height:1.5 !important;
}
.pps-design-page .pps-design-card .pps-design-takeaway{
  color:#777a80 !important;
  font-size:14.6px !important;
  line-height:1.45 !important;
}

/* Assessments & Evaluations — Fundamentals/PPS-aligned architecture */
.assessments-design-page{background:#f7f8fa;color:#303249;}
.assessments-design-main{max-width:1440px;margin:0 auto;background:#fff;}
.assessments-design-hero{
  display:grid;
  grid-template-columns:46% 54%;
  min-height:360px;
  background:linear-gradient(90deg,#f4f6f8,#eef1f4);
  overflow:hidden;
}
.assessments-design-hero-copy{
  padding:54px 34px 42px 72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.assessments-design-hero-copy .eyebrow{
  font-size:12px;
  letter-spacing:.18em;
  color:#777a80;
  margin-bottom:14px;
}
.assessments-design-hero h1{
  margin:0;
  color:#132b52;
  font-size:clamp(42px,4.25vw,64px);
  line-height:.92;
  letter-spacing:-.035em;
  font-weight:800;
}
.assessments-design-rule{
  display:block;
  width:88px;
  height:4px;
  background:#a9aaad;
  margin:28px 0 26px;
}
.assessments-design-hero-copy p{
  margin:0;
  font-size:17px;
  line-height:1.55;
  letter-spacing:.20em;
  color:#303249;
}
.assessments-design-hero-image{
  min-height:360px;
  background:linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)),url('assets/assessments-evaluations-home.jpg') center center/cover no-repeat;
}
.assessments-design-intro{
  max-width:1320px;
  margin:0 auto;
  padding:34px 56px 24px;
}
.assessments-design-intro p{
  margin:0 0 17px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16.5px;
  line-height:1.48;
  color:#343a4c;
}
.assessments-design-intro strong{color:#24334f;}
.assessments-design-grid{
  max-width:1420px;
  margin:0 auto;
  padding:12px 18px 34px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.assessments-design-card{
  position:relative;
  background:linear-gradient(180deg,#f5f7f8,#eef1f3);
  border:1px solid #dde1e5;
  padding:20px 16px 24px;
  min-height:610px;
  box-shadow:0 8px 24px rgba(35,48,72,.035);
}
.assessments-design-card-head{
  min-height:112px;
  margin-bottom:12px;
  padding-bottom:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:7px;
}
.assessments-design-card-head::after{
  content:"";
  display:block;
  width:50px;
  height:2px;
  background:#a9aaad;
  margin:1px 0 0;
}
.assessments-design-number{
  color:#777a80;
  font-size:38px;
  line-height:.95;
  font-weight:800;
  letter-spacing:-.04em;
}
.assessments-design-card h2{
  margin:0;
  color:#142c52;
  font-size:20px;
  line-height:1.02;
  font-weight:800;
  min-height:42px;
}
.assessments-design-card img{
  display:block;
  width:100%;
  height:148px;
  object-fit:cover;
  margin:0 0 16px;
}
.assessments-design-card .assessments-trace-image{object-position:84% 48%;}
.assessments-design-card p{
  font-size:14.6px;
  line-height:1.5;
  color:#3f4658;
  margin:0 0 18px;
}
.assessments-design-card p strong{color:#25354f;}
.assessments-design-card .assessments-design-takeaway{
  position:relative;
  margin-top:22px;
  padding-top:17px;
  color:#777a80;
  font-weight:700;
  font-size:14.6px;
  line-height:1.45;
}
.assessments-design-card .assessments-design-takeaway::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:48px;
  height:3px;
  background:#a9aaad;
}
.assessments-design-actions{max-width:1420px;margin:0 auto;padding:0 18px 34px;}

@media(max-width:1050px){
  .pps-design-page .pps-design-hero,
  .assessments-design-hero{grid-template-columns:44% 56%;}
  .pps-design-page .pps-design-hero-copy,
  .assessments-design-hero-copy{padding-left:38px !important;}
  .pps-design-page .pps-design-grid,
  .assessments-design-grid{grid-template-columns:repeat(2,1fr);gap:16px !important;padding-left:24px !important;padding-right:24px !important;}
  .pps-design-page .pps-design-card,
  .assessments-design-card{min-height:0 !important;}
}
@media(max-width:700px){
  .pps-design-page .pps-design-hero,
  .assessments-design-hero{grid-template-columns:1fr;}
  .pps-design-page .pps-design-hero-copy,
  .assessments-design-hero-copy{padding:38px 28px !important;}
  .pps-design-page .pps-design-hero-image,
  .assessments-design-hero-image{min-height:250px !important;}
  .assessments-design-intro{padding:28px;}
  .pps-design-page .pps-design-grid,
  .assessments-design-grid{grid-template-columns:1fr;padding-left:20px !important;padding-right:20px !important;}
  .assessments-design-card-head{min-height:auto;}
  .assessments-design-card h2{min-height:0;}
  .assessments-design-actions{padding:0 20px 28px;}
}


/* ============================================================
   v0.3.93 — Fundamentals nuclear reactor masthead
   - Replaces the mountain masthead with approved reactor-at-dusk image
   - Preserves the full flattened image and embedded typography
   - Leaves Fundamentals body content and cards unchanged
   ============================================================ */
.fundamentals-page .fundamentals-hero-mountain{
  min-height:0 !important;
  aspect-ratio:3 / 1 !important;
  background-image:url('assets/fundamentals-hero-reactor-v393.png') !important;
  background-position:center center !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-color:#173452 !important;
}
.fundamentals-page .fundamentals-hero-mountain .fundamentals-hero-copy{
  display:none !important;
}
@media(max-width:700px){
  .fundamentals-page .fundamentals-hero-mountain{
    min-height:0 !important;
    aspect-ratio:3 / 1 !important;
    background-position:center center !important;
    background-size:contain !important;
  }
}

/* v0.3.94 — Security by Design refinement
   Option 4 facility-detail hero + professional card-heading fit */
.pps-design-page .pps-design-hero-image{
  background-image:url('assets/security-by-design-option4-v394.png') !important;
  background-position:56% 16% !important;
  background-size:cover !important;
}
.pps-design-page .pps-design-card h2{
  font-size:18px !important;
  line-height:1.08 !important;
  letter-spacing:-.012em !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
.pps-design-page .pps-design-card-head{
  min-height:112px !important;
}

/* ============================================================
   v0.3.95 — Security by Design layout correction
   - Restores full-width web composition: hero above four readable cards
   - Removes the long intro block from visual flow on this page
   - Matches the approved reference proportions; no poster-style scaling
   ============================================================ */
.pps-design-page .pps-design-main{
  max-width:1440px !important;
  width:100% !important;
  margin:0 auto !important;
  background:#fff !important;
}
.pps-design-page .pps-design-hero{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:36% 64% !important;
  min-height:350px !important;
  margin:0 !important;
  overflow:hidden !important;
}
.pps-design-page .pps-design-hero-copy{
  padding:42px 38px 38px 54px !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.pps-design-page .pps-design-hero-copy .eyebrow{
  font-size:11px !important;
  line-height:1.2 !important;
  letter-spacing:.18em !important;
  margin-bottom:14px !important;
}
.pps-design-page .pps-design-hero h1{
  font-size:clamp(48px,4.5vw,66px) !important;
  line-height:.91 !important;
  letter-spacing:-.035em !important;
  white-space:normal !important;
}
.pps-design-page .pps-design-rule{
  width:82px !important;
  height:3px !important;
  margin:24px 0 22px !important;
}
.pps-design-page .pps-design-hero-copy p{
  font-size:15px !important;
  line-height:1.5 !important;
  letter-spacing:.18em !important;
}
.pps-design-page .pps-design-hero-image{
  min-height:350px !important;
  background-size:cover !important;
  background-position:center center !important;
}
.pps-design-page .pps-design-intro{
  display:none !important;
}
.pps-design-page .pps-design-grid{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:18px 24px 30px !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}
.pps-design-page .pps-design-card{
  min-width:0 !important;
  min-height:560px !important;
  padding:18px 16px 22px !important;
}
.pps-design-page .pps-design-card-head{
  min-height:88px !important;
  margin-bottom:12px !important;
  gap:5px !important;
}
.pps-design-page .pps-design-number{
  font-size:36px !important;
}
.pps-design-page .pps-design-card h2{
  font-size:17px !important;
  line-height:1.05 !important;
  letter-spacing:-.01em !important;
  min-height:36px !important;
}
.pps-design-page .pps-design-card img{
  width:100% !important;
  height:150px !important;
  object-fit:cover !important;
  margin-bottom:15px !important;
}
.pps-design-page .pps-design-card p{
  font-size:14px !important;
  line-height:1.46 !important;
}
.pps-design-page .pps-design-card .pps-design-takeaway{
  font-size:14px !important;
  line-height:1.42 !important;
  margin-top:18px !important;
  padding-top:14px !important;
}
.pps-design-page .pps-design-actions{
  max-width:none !important;
  width:100% !important;
  padding:0 24px 34px !important;
}
@media(max-width:1050px){
  .pps-design-page .pps-design-hero{grid-template-columns:42% 58% !important;}
  .pps-design-page .pps-design-hero-copy{padding:38px 28px 34px 36px !important;}
  .pps-design-page .pps-design-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .pps-design-page .pps-design-card{min-height:0 !important;}
}
@media(max-width:700px){
  .pps-design-page .pps-design-hero{grid-template-columns:1fr !important;}
  .pps-design-page .pps-design-hero-copy{padding:34px 26px !important;}
  .pps-design-page .pps-design-hero-image{min-height:230px !important;}
  .pps-design-page .pps-design-grid{grid-template-columns:1fr !important;padding:16px 18px 26px !important;}
}

/* ============================================================
   v0.3.96 — Security by Design approved layout correction
   - Uses the approved full-width Option 4 hero as one flattened masthead
   - Prevents duplicate live hero typography / split-panel overlap
   - Aligns four card headers horizontally with the approved reference
   ============================================================ */
.pps-design-page .pps-design-main{
  max-width:1440px !important;
  width:100% !important;
  margin:0 auto !important;
  background:#fff !important;
}
.pps-design-page .pps-design-hero{
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:1920 / 332 !important;
  margin:0 !important;
  background:url('assets/security-by-design-hero-v396.png') center center/contain no-repeat !important;
  background-color:#113556 !important;
  overflow:hidden !important;
}
.pps-design-page .pps-design-hero-copy,
.pps-design-page .pps-design-hero-image{
  display:none !important;
}
.pps-design-page .pps-design-intro{
  display:none !important;
}
.pps-design-page .pps-design-grid{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:8px 24px 28px !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
.pps-design-page .pps-design-card{
  min-height:0 !important;
  padding:16px 16px 20px !important;
}
.pps-design-page .pps-design-card-head{
  display:grid !important;
  grid-template-columns:74px minmax(0,1fr) !important;
  align-items:start !important;
  column-gap:10px !important;
  min-height:72px !important;
  margin-bottom:10px !important;
  padding-bottom:8px !important;
  position:relative !important;
}
.pps-design-page .pps-design-card-head::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  width:52px !important;
  height:2px !important;
  background:#a9aaad !important;
}
.pps-design-page .pps-design-number{
  font-size:40px !important;
  line-height:.95 !important;
  margin:0 !important;
  color:#777a80 !important;
  font-weight:800 !important;
  letter-spacing:-.04em !important;
}
.pps-design-page .pps-design-card h2{
  margin:1px 0 0 !important;
  color:#142c52 !important;
  font-size:17px !important;
  line-height:1.07 !important;
  letter-spacing:-.012em !important;
  min-height:0 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
.pps-design-page .pps-design-card img{
  height:145px !important;
  margin:0 0 14px !important;
}
.pps-design-page .pps-design-card p{
  font-size:14px !important;
  line-height:1.46 !important;
  margin-bottom:16px !important;
}
.pps-design-page .pps-design-card .pps-design-takeaway{
  margin-top:14px !important;
  padding:13px 14px !important;
  background:#e9edf0 !important;
  color:#4d5665 !important;
  font-weight:600 !important;
  font-size:14px !important;
  line-height:1.4 !important;
}
.pps-design-page .pps-design-card .pps-design-takeaway::before{
  display:none !important;
}
@media(max-width:1050px){
  .pps-design-page .pps-design-hero{
    aspect-ratio:1920 / 332 !important;
    background-size:contain !important;
  }
  .pps-design-page .pps-design-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:700px){
  .pps-design-page .pps-design-hero{
    aspect-ratio:1920 / 332 !important;
    background-size:contain !important;
  }
  .pps-design-page .pps-design-grid{
    grid-template-columns:1fr !important;
    padding:10px 18px 24px !important;
  }
}

/* ============================================================
   v0.3.97 — Assessments & Evaluations aligned to Fundamentals
   ============================================================ */
.assessments-design-page .assessments-design-main{
  max-width:1440px !important;
  background:#fff !important;
}
.assessments-design-hero-v397{
  width:100%;
  margin:0;
  overflow:hidden;
  background:#17385d;
}
.assessments-design-hero-v397 img{
  display:block;
  width:100%;
  height:auto;
}
.assessments-design-page .assessments-design-intro{
  max-width:1320px !important;
  padding:34px 56px 24px !important;
}
.assessments-design-page .assessments-design-grid{
  max-width:1420px !important;
  padding:12px 18px 34px !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
.assessments-design-page .assessments-design-card{
  min-height:610px !important;
  padding:20px 16px 24px !important;
}
.assessments-design-page .assessments-design-card-head{
  min-height:112px !important;
  gap:7px !important;
}
.assessments-design-page .assessments-design-number{
  color:#777a80 !important;
  font-size:38px !important;
}
.assessments-design-page .assessments-design-card h2{
  font-size:20px !important;
  line-height:1.02 !important;
  letter-spacing:-.01em !important;
}
.assessments-design-page .assessments-design-card img{
  height:148px !important;
}
.assessments-design-page .assessments-design-card p,
.assessments-design-page .assessments-design-card .assessments-design-takeaway{
  font-size:14.6px !important;
  line-height:1.5 !important;
}
@media(max-width:1050px){
  .assessments-design-page .assessments-design-grid{grid-template-columns:repeat(2,1fr) !important;}
  .assessments-design-page .assessments-design-card{min-height:0 !important;}
}
@media(max-width:700px){
  .assessments-design-page .assessments-design-intro{padding:28px 20px !important;}
  .assessments-design-page .assessments-design-grid{grid-template-columns:1fr !important;padding:12px 20px 28px !important;}
  .assessments-design-page .assessments-design-card-head{min-height:auto !important;}
}

/* =========================================================
   v0.3.98 — Protective Strategy + Pathway Analyses layout refresh
   Matches the current Fundamentals / Security by Design / Assessments visual family.
   ========================================================= */
.capability-modern-page{background:#f7f8fa;color:#303249;}
.capability-modern-main{max-width:1440px;margin:0 auto;background:#fff;}
.capability-modern-hero{display:grid;grid-template-columns:39% 61%;min-height:310px;overflow:hidden;background:#fff;}
.capability-modern-hero-copy{background:linear-gradient(145deg,#173d63 0%,#244d72 100%);color:#fff;padding:36px 34px 30px 46px;display:flex;flex-direction:column;justify-content:center;}
.capability-modern-hero-copy .eyebrow{font-size:12px;letter-spacing:.24em;font-weight:600;color:#d9dde3;margin-bottom:13px;}
.capability-modern-hero h1{margin:0;color:#fff;font-size:clamp(42px,4.8vw,70px);line-height:.91;letter-spacing:-.025em;font-weight:800;}
.capability-modern-rule{width:72px;height:3px;background:#a9aaad;margin:20px 0 18px;}
.capability-modern-hero-copy p{margin:0;color:#f3f4f6;font-size:17px;line-height:1.5;letter-spacing:.15em;font-weight:500;}
.capability-modern-hero-image{min-height:310px;background-position:center;background-size:cover;background-repeat:no-repeat;}
.strategy-modern-hero .capability-modern-hero-image{background-image:linear-gradient(rgba(39,41,63,.12),rgba(39,41,63,.12)),url('assets/protective-strategy-home.jpg');}
.pathway-modern-hero .capability-modern-hero-image{background-image:linear-gradient(rgba(39,41,63,.10),rgba(39,41,63,.10)),url('assets/pathway-analyses-home.jpg');}
.capability-modern-intro{max-width:1320px;margin:0 auto;padding:30px 42px 12px;}
.capability-modern-intro p{margin:0 0 13px;font-size:15.5px;line-height:1.58;color:#303249;}
.capability-modern-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px 22px 30px;align-items:stretch;}
.capability-modern-card{border:1px solid #d9dce2;background:linear-gradient(180deg,#f8fafc 0%,#eef3f6 100%);padding:16px 16px 18px;display:flex;flex-direction:column;min-width:0;}
.capability-modern-card-head{min-height:82px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;border-bottom:2px solid #a9aaad;padding-bottom:11px;margin-bottom:12px;}
.capability-modern-number{font-size:39px;line-height:.95;font-weight:800;color:#858990;letter-spacing:-.03em;}
.capability-modern-card h2{margin:1px 0 0;color:#102d56;font-size:18px;line-height:1.05;letter-spacing:-.01em;font-weight:800;overflow-wrap:normal;word-break:normal;hyphens:none;}
.capability-modern-card img{width:100%;height:148px;object-fit:cover;object-position:center;border:0;margin:0 0 13px;display:block;}
.capability-modern-card p{font-size:14px;line-height:1.48;color:#303249;margin:0 0 13px;}
.capability-modern-card .capability-modern-takeaway{margin-top:auto;padding:14px 12px 12px;background:rgba(169,170,173,.12);font-weight:700;color:#777a80;position:relative;}
.capability-modern-card .capability-modern-takeaway::before{content:"";display:block;width:46px;height:3px;background:#a9aaad;margin:-1px 0 11px;}
.capability-modern-actions{max-width:1396px;margin:0 auto;padding:0 22px 34px;}

@media (max-width:1100px){
  .capability-modern-hero{grid-template-columns:44% 56%;}
  .capability-modern-hero-copy{padding-left:34px;}
  .capability-modern-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-left:24px;padding-right:24px;}
  .capability-modern-card{min-height:0;}
}
@media (max-width:720px){
  .capability-modern-hero{grid-template-columns:1fr;}
  .capability-modern-hero-copy{padding:34px 26px;}
  .capability-modern-hero-image{min-height:230px;}
  .capability-modern-intro{padding:28px 20px 10px;}
  .capability-modern-grid{grid-template-columns:1fr;padding:12px 20px 28px;}
  .capability-modern-card-head{min-height:auto;}
  .capability-modern-actions{padding:0 20px 28px;}
}

/* v0.4.0 — Protective Strategy hero refresh */
.strategy-modern-page .strategy-modern-hero{grid-template-columns:31% 69% !important;background:#0e4777 !important;}
.strategy-modern-page .strategy-modern-hero .capability-modern-hero-copy{background:linear-gradient(90deg,#0e4777 0%,#0e4777 78%,rgba(14,71,119,.92) 100%) !important;z-index:2;}
.strategy-modern-page .strategy-modern-hero .capability-modern-hero-image{background-image:linear-gradient(rgba(20,48,75,.08),rgba(20,48,75,.08)),url('assets/protective-strategy-fighting-position-v400.png') !important;background-position:center center !important;background-size:cover !important;}
.strategy-modern-page .strategy-modern-hero .eyebrow{font-size:15px !important;letter-spacing:.08em !important;}
.strategy-modern-page .strategy-modern-hero h1{font-size:50px !important;line-height:.92 !important;}
@media(max-width:900px){.strategy-modern-page .strategy-modern-hero{grid-template-columns:1fr !important}.strategy-modern-page .strategy-modern-hero .capability-modern-hero-image{min-height:300px !important}}

/* v0.4.01 — Protective Strategy seamless hero banner */
.strategy-modern-page .strategy-modern-hero{
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:1920 / 797 !important;
  margin:0 !important;
  background:url('assets/protective-strategy-hero-v401.png') center center/contain no-repeat !important;
  background-color:#0e4777 !important;
  overflow:hidden !important;
}
.strategy-modern-page .strategy-modern-hero .capability-modern-hero-copy,
.strategy-modern-page .strategy-modern-hero .capability-modern-hero-image{
  display:none !important;
}
@media(max-width:900px){
  .strategy-modern-page .strategy-modern-hero{
    aspect-ratio:1920 / 797 !important;
    background-size:contain !important;
  }
}

/* ============================================================
   v0.4.02 — Capability hero normalization
   Protective Strategy, Security by Design, and Assessments & Evaluations
   share the same masthead height/proportion for balanced page-to-page rhythm.
   ============================================================ */
.pps-design-page .pps-design-hero,
.assessments-design-page .assessments-design-hero-v397,
.strategy-modern-page .strategy-modern-hero{
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:1920 / 332 !important;
  margin:0 !important;
  overflow:hidden !important;
}
.strategy-modern-page .strategy-modern-hero{
  background-image:url('assets/protective-strategy-hero-v402.png') !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.assessments-design-page .assessments-design-hero-v397 img{
  width:100% !important;
  height:100% !important;
  aspect-ratio:1920 / 332 !important;
  object-fit:cover !important;
  object-position:center center !important;
}
@media(max-width:900px){
  .pps-design-page .pps-design-hero,
  .assessments-design-page .assessments-design-hero-v397,
  .strategy-modern-page .strategy-modern-hero{
    aspect-ratio:1920 / 332 !important;
  }
}

/* ============================================================
   v0.4.04 — Assessments hero typography/alignment normalization
   Aligns the Assessments masthead treatment with Protective Strategy
   and Physical Protection System Design without altering page content.
   ============================================================ */
.assessments-design-page .assessments-design-hero-v397{
  position:relative !important;
  isolation:isolate !important;
  background:#0e4777 !important;
}
.assessments-design-page .assessments-design-hero-v397::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(8,69,116,1) 0%,
    rgba(8,69,116,.99) 27%,
    rgba(8,69,116,.94) 35%,
    rgba(8,69,116,.68) 44%,
    rgba(8,69,116,.22) 53%,
    rgba(8,69,116,0) 62%);
}
.assessments-design-page .assessments-design-hero-v397 img{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.assessments-design-page .assessments-hero-copy-v404{
  position:absolute;
  z-index:2;
  left:4.35%;
  top:50%;
  transform:translateY(-50%);
  width:36%;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  text-align:left;
}
.assessments-design-page .assessments-hero-eyebrow-v404{
  margin:0 0 12px;
  color:#c8d3df;
  font-size:13px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:.07em;
}
.assessments-design-page .assessments-hero-copy-v404 h1{
  margin:0;
  color:#fff;
  font-size:36px;
  line-height:.94;
  font-weight:800;
  letter-spacing:-.025em;
}
.assessments-design-page .assessments-hero-rule-v404{
  display:block;
  width:54px;
  height:2px;
  margin:14px 0 13px;
  background:#c2cbd4;
}
.assessments-design-page .assessments-hero-copy-v404 p{
  margin:0;
  color:#c8d3df;
  font-size:14px;
  line-height:1.28;
  font-weight:700;
  letter-spacing:.045em;
}
@media(max-width:900px){
  .assessments-design-page .assessments-hero-copy-v404{left:5%;width:48%;}
  .assessments-design-page .assessments-hero-copy-v404 h1{font-size:clamp(22px,4vw,34px);}
  .assessments-design-page .assessments-hero-eyebrow-v404,
  .assessments-design-page .assessments-hero-copy-v404 p{font-size:clamp(9px,1.6vw,13px);}
}

/* ============================================================
   v0.4.06 — Pathway Analyses hero + Team Movement imagery
   Cooling Tower at Sunrise hero with seamless blue/photo transition;
   Team Movement uses approved rear-view ready-room deployment image.
   ============================================================ */
.pathway-modern-page .pathway-modern-hero{
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:1920 / 332 !important;
  margin:0 !important;
  background:url('assets/pathway-hero-cooling-towers-v406.png') center center/cover no-repeat !important;
  background-color:#0e4777 !important;
  overflow:hidden !important;
}
.pathway-modern-page .pathway-modern-hero .capability-modern-hero-copy,
.pathway-modern-page .pathway-modern-hero .capability-modern-hero-image{
  display:none !important;
}
.pathway-modern-page .capability-modern-card:nth-child(2) img{
  object-position:center center !important;
}

/* v0.4.06 — approved Pathway Analyses fence/road/facility hero */
.pathway-modern-page .pathway-modern-hero{
  background:url('assets/pathway-hero-v406.png') center center/cover no-repeat !important;
}

/* ============================================================
   v0.4.07 — Pathway Analyses hero typography correction
   Preserve approved fence/road/facility photo; render live text at
   standardized capability-page scale with seamless blue fade.
   ============================================================ */
.pathway-modern-page .pathway-modern-hero{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:1920 / 332 !important;
  margin:0 !important;
  background:
    linear-gradient(90deg,#0e4777 0%,#0e4777 23%,rgba(14,71,119,.88) 30%,rgba(14,71,119,.46) 39%,rgba(14,71,119,.10) 49%,rgba(14,71,119,0) 57%),
    url('assets/pathway-hero-photo-v407.png') center center/cover no-repeat !important;
  overflow:hidden !important;
}
.pathway-modern-page .pathway-modern-hero .capability-modern-hero-image{display:none !important;}
.pathway-modern-page .pathway-modern-hero .capability-modern-hero-copy{
  display:block !important;
  position:absolute !important;
  z-index:2 !important;
  left:4.4% !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:31% !important;
  padding:0 !important;
  background:none !important;
}
.pathway-modern-page .pathway-modern-hero .eyebrow{
  margin:0 0 9px !important;
  color:#d6e0ea !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  letter-spacing:.13em !important;
}
.pathway-modern-page .pathway-modern-hero h1{
  margin:0 !important;
  color:#fff !important;
  font-size:36px !important;
  line-height:.94 !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
}
.pathway-modern-page .pathway-modern-hero .capability-modern-rule{
  width:54px !important;
  height:2px !important;
  margin:14px 0 13px !important;
  background:#c2cbd4 !important;
}
.pathway-modern-page .pathway-modern-hero p{
  margin:0 !important;
  color:#e3e9ef !important;
  font-size:14px !important;
  line-height:1.28 !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
}
@media(max-width:900px){
  .pathway-modern-page .pathway-modern-hero .capability-modern-hero-copy{left:5% !important;width:43% !important;}
  .pathway-modern-page .pathway-modern-hero h1{font-size:clamp(22px,4vw,34px) !important;}
  .pathway-modern-page .pathway-modern-hero .eyebrow,
  .pathway-modern-page .pathway-modern-hero p{font-size:clamp(9px,1.6vw,13px) !important;}
}

/* v0.4.08 — Assessments & Evaluations card treatment aligned with capability family */
.assessments-design-page .assessments-design-card{
  padding:16px 16px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
}
.assessments-design-page .assessments-design-card-head{
  min-height:82px !important;
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  gap:14px !important;
  align-items:start !important;
  border-bottom:2px solid #a9aaad !important;
  padding-bottom:11px !important;
  margin-bottom:12px !important;
}
.assessments-design-page .assessments-design-card-head::after{display:none !important;}
.assessments-design-page .assessments-design-number{
  font-size:39px !important;
  line-height:.95 !important;
  font-weight:800 !important;
  color:#858990 !important;
  letter-spacing:-.03em !important;
}
.assessments-design-page .assessments-design-card h2{
  margin:0 !important;
  font-size:18px !important;
  line-height:1.02 !important;
  min-height:0 !important;
}
.assessments-design-page .assessments-design-card img{
  margin:0 0 12px !important;
}
.assessments-design-page .assessments-design-card .assessments-design-takeaway{
  margin-top:auto !important;
  padding:14px 12px 12px !important;
  background:rgba(169,170,173,.12) !important;
  font-weight:700 !important;
  color:#777a80 !important;
  position:relative !important;
}
.assessments-design-page .assessments-design-card .assessments-design-takeaway::before{
  content:"" !important;
  display:block !important;
  position:static !important;
  width:46px !important;
  height:3px !important;
  background:#a9aaad !important;
  margin:-1px 0 11px !important;
}

/* v0.4.11 — keep Facility Characterization heading comfortably inside card */
.pps-design-page .pps-design-card:first-child h2{
  font-size:15px !important;
  line-height:1.06 !important;
  letter-spacing:-.018em !important;
}

/* v1.0 baseline — standardize all PPS Design card headings */
.pps-design-page .pps-design-card h2{
  font-size:15px !important;
  line-height:1.06 !important;
  letter-spacing:-.018em !important;
}

/* ============================================================
   v1.03 — Fundamentals cards aligned with capability-page family
   - Places 01–04 beside card headings
   - Uses the common gray divider treatment
   - Places summary statements in light-gray takeaway boxes
   ============================================================ */
.fundamentals-page .fundamental-card{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
}
.fundamentals-page .fundamental-card-head{
  min-height:82px !important;
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  gap:14px !important;
  align-items:start !important;
  border-bottom:2px solid #a9aaad !important;
  padding-bottom:11px !important;
  margin-bottom:12px !important;
}
.fundamentals-page .fundamental-card-head::after{
  display:none !important;
}
.fundamentals-page .fundamental-number{
  font-size:39px !important;
  line-height:.95 !important;
  font-weight:800 !important;
  color:#858990 !important;
  letter-spacing:-.03em !important;
}
.fundamentals-page .fundamental-card h2{
  margin:0 !important;
  font-size:18px !important;
  line-height:1.02 !important;
  min-height:0 !important;
  display:block !important;
}
.fundamentals-page .fundamental-card img{
  margin:0 0 12px !important;
}
.fundamentals-page .fundamental-card .fundamental-takeaway{
  margin-top:auto !important;
  padding:14px 12px 12px !important;
  background:rgba(169,170,173,.12) !important;
  font-weight:700 !important;
  color:#777a80 !important;
  position:relative !important;
}
.fundamentals-page .fundamental-card .fundamental-takeaway::before{
  content:"" !important;
  display:block !important;
  position:static !important;
  width:46px !important;
  height:3px !important;
  background:#a9aaad !important;
  margin:-1px 0 11px !important;
}
@media(max-width:700px){
  .fundamentals-page .fundamental-card-head{min-height:auto !important;}
}


/* v1.04 — Fundamentals number scale aligned with capability-page visual balance */
.fundamentals-page .fundamental-number{
  font-size:32px !important;
  line-height:1 !important;
}

/* ============================================================
   v1.05 — Number/title vertical alignment consistency
   - Vertically centers numbered capability-card titles with 01–04
   - Applies the same alignment treatment to Fundamentals,
     PPS Design, Protective Strategy, Pathway Analyses, and
     Assessments & Evaluations where applicable
   - No content, imagery, card sizing, or takeaway changes
   ============================================================ */
.fundamentals-page .fundamental-card-head,
.assessments-design-page .assessments-design-card-head,
.capability-modern-page .capability-modern-card-head,
.pps-design-page .pps-design-card-head{
  align-items:center !important;
}

.fundamentals-page .fundamental-card h2,
.assessments-design-page .assessments-design-card h2,
.capability-modern-page .capability-modern-card h2,
.pps-design-page .pps-design-card h2{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* ============================================================
   v1.08 — Capability hero typography normalization
   - Rebuilds PPS Design and Protective Strategy hero text as live HTML
     over the approved imagery so type scale matches Assessments/Pathway.
   - Replaces Protective Strategy sentence-style support copy with
     four concise topic bullets.
   - Preserves approved hero imagery and 1920:332 masthead proportion.
   ============================================================ */

/* Security by Design — live, larger hero typography */
.pps-design-page .pps-design-hero{
  position:relative !important;
  isolation:isolate !important;
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:1920 / 332 !important;
  background:url('assets/security-by-design-hero-v396.png') center center/cover no-repeat !important;
  overflow:hidden !important;
}
.pps-design-page .pps-design-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(8,69,116,1) 0%,
    rgba(8,69,116,1) 31%,
    rgba(8,69,116,.98) 36%,
    rgba(8,69,116,.86) 42%,
    rgba(8,69,116,.42) 49%,
    rgba(8,69,116,0) 58%);
}
.pps-design-page .pps-design-hero-copy{
  display:block !important;
  position:absolute !important;
  z-index:2 !important;
  left:4.35% !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:36% !important;
  padding:0 !important;
  background:none !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
}
.pps-design-page .pps-design-hero-image{display:none !important;}
.pps-design-page .pps-design-hero-copy .eyebrow{
  margin:0 0 12px !important;
  color:#c8d3df !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:.07em !important;
}
.pps-design-page .pps-design-hero h1{
  margin:0 !important;
  color:#fff !important;
  font-size:36px !important;
  line-height:.94 !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
}
.pps-design-page .pps-design-rule{
  display:block !important;
  width:54px !important;
  height:2px !important;
  margin:14px 0 13px !important;
  background:#c2cbd4 !important;
}
.pps-design-page .pps-design-hero-copy p{
  margin:0 !important;
  color:#d8e0e8 !important;
  font-size:14px !important;
  line-height:1.28 !important;
  font-weight:700 !important;
  letter-spacing:.045em !important;
}

/* Protective Strategy — live, larger hero typography + topic bullets */
.strategy-modern-page .strategy-modern-hero{
  position:relative !important;
  isolation:isolate !important;
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:1920 / 332 !important;
  background:url('assets/protective-strategy-hero-v402.png') center center/cover no-repeat !important;
  overflow:hidden !important;
}
.strategy-modern-page .strategy-modern-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(8,69,116,1) 0%,
    rgba(8,69,116,1) 29%,
    rgba(8,69,116,.98) 34%,
    rgba(8,69,116,.84) 40%,
    rgba(8,69,116,.38) 47%,
    rgba(8,69,116,0) 56%);
}
.strategy-modern-page .strategy-modern-hero .capability-modern-hero-copy{
  display:block !important;
  position:absolute !important;
  z-index:2 !important;
  left:4.35% !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:38% !important;
  padding:0 !important;
  background:none !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
}
.strategy-modern-page .strategy-modern-hero .capability-modern-hero-image{display:none !important;}
.strategy-modern-page .strategy-modern-hero .eyebrow{
  margin:0 0 12px !important;
  color:#c8d3df !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:.07em !important;
}
.strategy-modern-page .strategy-modern-hero h1{
  margin:0 !important;
  color:#fff !important;
  font-size:36px !important;
  line-height:.94 !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
}
.strategy-modern-page .strategy-modern-hero .capability-modern-rule{
  display:block !important;
  width:54px !important;
  height:2px !important;
  margin:14px 0 13px !important;
  background:#c2cbd4 !important;
}
.strategy-modern-page .strategy-modern-hero p{
  margin:0 !important;
  color:#d8e0e8 !important;
  font-size:14px !important;
  line-height:1.28 !important;
  font-weight:700 !important;
  letter-spacing:.045em !important;
}

@media(max-width:900px){
  .pps-design-page .pps-design-hero-copy,
  .strategy-modern-page .strategy-modern-hero .capability-modern-hero-copy{
    left:5% !important;
    width:48% !important;
  }
  .pps-design-page .pps-design-hero h1,
  .strategy-modern-page .strategy-modern-hero h1{
    font-size:clamp(22px,4vw,34px) !important;
  }
  .pps-design-page .pps-design-hero-copy .eyebrow,
  .pps-design-page .pps-design-hero-copy p,
  .strategy-modern-page .strategy-modern-hero .eyebrow,
  .strategy-modern-page .strategy-modern-hero p{
    font-size:clamp(9px,1.6vw,13px) !important;
  }
}

/* ============================================================
   v1.09 — HERO ALIGNMENT + ABOUT MAP REGISTRATION
   - Vertically centers the Fundamentals and Protective Strategy hero copy.
   - Converts the Fundamentals masthead to live text over the approved reactor image
     so copy alignment is consistent and editable.
   - Repositions Germany and Czech Republic to their geographic locations and
     centers each interactive hover circle directly on the visible marker.
   - Slovenia remains removed from the About page and interaction data.
   ============================================================ */

/* Fundamentals: live, centered masthead copy over approved reactor artwork. */
.fundamentals-page .fundamentals-hero-mountain{
  position:relative !important;
  isolation:isolate !important;
  display:block !important;
  overflow:hidden !important;
  min-height:0 !important;
  aspect-ratio:2172 / 724 !important;
  background:url('assets/fundamentals-hero-reactor-v393.png') center center/cover no-repeat !important;
}
.fundamentals-page .fundamentals-hero-mountain::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(12,66,108,1) 0%,
    rgba(12,66,108,1) 34%,
    rgba(12,66,108,.98) 40%,
    rgba(12,66,108,.80) 48%,
    rgba(12,66,108,.24) 57%,
    rgba(12,66,108,0) 65%);
}
.fundamentals-page .fundamentals-hero-mountain .fundamentals-hero-copy{
  display:block !important;
  position:absolute !important;
  z-index:2 !important;
  left:4.35% !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:42% !important;
  padding:0 !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
}
.fundamentals-page .fundamentals-hero-mountain .eyebrow{
  margin:0 0 10px !important;
  color:#c8d3df !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:.11em !important;
}
.fundamentals-page .fundamentals-hero-mountain h1{
  margin:0 !important;
  color:#fff !important;
  font-size:36px !important;
  line-height:.94 !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
}
.fundamentals-page .fundamentals-hero-mountain .fundamentals-rule{
  display:block !important;
  width:54px !important;
  height:2px !important;
  margin:13px 0 12px !important;
  background:#c2cbd4 !important;
}
.fundamentals-page .fundamentals-hero-mountain .fundamentals-tagline{
  margin:0 !important;
  color:#eef3f7 !important;
  font-size:14px !important;
  line-height:1.34 !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
}

/* Protective Strategy: center the complete title/rule/bullet group as one unit. */
.strategy-modern-page .strategy-modern-hero .capability-modern-hero-copy{
  top:50% !important;
  transform:translateY(-50%) !important;
  width:40% !important;
}
.strategy-modern-page .strategy-modern-hero .eyebrow{margin-bottom:9px !important;}
.strategy-modern-page .strategy-modern-hero h1{line-height:.90 !important;}
.strategy-modern-page .strategy-modern-hero .capability-modern-rule{margin:11px 0 10px !important;}
.strategy-modern-page .strategy-modern-hero .capability-modern-hero-copy p{
  margin:0 !important;
  line-height:1.28 !important;
}

/* About map — geographic registration and marker-centered hover geometry. */
.about-master .country-hotspot.germany,
.about-master .country-hotspot.czech{
  width:2.4% !important;
  aspect-ratio:1/1 !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  overflow:visible !important;
  background:transparent !important;
}
.about-master .country-hotspot.germany{
  left:66.93% !important;
  top:26.27% !important;
}
.about-master .country-hotspot.czech{
  left:69.08% !important;
  top:27.15% !important;
}
.about-master .country-hotspot.germany::before,
.about-master .country-hotspot.czech::before{
  content:"";
  position:absolute;
  width:12px;
  height:12px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#626b7c;
  box-shadow:0 0 0 1px rgba(28,43,70,.35);
  pointer-events:none;
}
.about-master .country-hotspot.germany::after,
.about-master .country-hotspot.czech::after{
  position:absolute;
  left:calc(50% + 12px);
  top:50%;
  transform:translateY(-50%);
  color:#14264a;
  font:700 12px/1 Arial,Helvetica,sans-serif;
  white-space:nowrap;
  letter-spacing:0;
  pointer-events:none;
}
.about-master .country-hotspot.germany::after{content:"GERMANY";}
.about-master .country-hotspot.czech::after{content:"CZECH REPUBLIC";}

/* At smaller widths keep the visible marker tied to the same interactive circle. */
@media(max-width:700px){
  .fundamentals-page .fundamentals-hero-mountain .fundamentals-hero-copy{
    left:4.5% !important;
    width:47% !important;
  }
  .fundamentals-page .fundamentals-hero-mountain h1{font-size:clamp(24px,6vw,34px) !important;}
  .fundamentals-page .fundamentals-hero-mountain .eyebrow{font-size:10px !important;margin-bottom:6px !important;}
  .fundamentals-page .fundamentals-hero-mountain .fundamentals-rule{margin:8px 0 7px !important;width:42px !important;}
  .fundamentals-page .fundamentals-hero-mountain .fundamentals-tagline{font-size:clamp(9px,2.4vw,12px) !important;line-height:1.25 !important;}
}

/* v1.09 map-art finalization — use the approved five-country map artwork.
   The visible dots are embedded in the map image; the transparent interactive
   circles below are registered to those exact dot centers. */
.about-master .country-hotspot::before,
.about-master .country-hotspot::after{display:none !important;}
.about-master .country-hotspot{
  width:2.4% !important;
  aspect-ratio:1/1 !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  background:transparent !important;
}
.about-master .country-hotspot.us{left:42.2363% !important;top:28.4128% !important;}
.about-master .country-hotspot.germany{left:63.8707% !important;top:24.2109% !important;}
.about-master .country-hotspot.czech{left:65.6779% !important;top:26.5805% !important;}
.about-master .country-hotspot.uae{left:73.2435% !important;top:34.3708% !important;}
.about-master .country-hotspot.korea{left:87.0990% !important;top:30.6529% !important;}

/* Ensure all legacy flattened Fundamentals copy is fully suppressed beneath the live v1.09 overlay. */
.fundamentals-page .fundamentals-hero-mountain::after{
  background:linear-gradient(90deg,
    rgba(12,66,108,1) 0%,
    rgba(12,66,108,1) 50%,
    rgba(12,66,108,.94) 55%,
    rgba(12,66,108,.48) 61%,
    rgba(12,66,108,0) 68%) !important;
}
