:root{
  --gc-navy:#071426;
  --gc-navy2:#0c203a;
  --gc-panel:#102844;
  --gc-panel2:#0b1f37;
  --gc-gold:#f4a62a;
  --gc-gold2:#ffc157;
  --gc-text:#eef5ff;
  --gc-muted:#afc0d5;
  --gc-line:rgba(255,255,255,.10);
  --gc-good:#70dfb0;
  --gc-bad:#ff9a9a;
  --gc-radius:22px;
  --gc-shadow:0 24px 65px rgba(0,0,0,.28);
}

body[data-gim-comms-page]{
  background:
    radial-gradient(circle at 5% 0%,rgba(244,166,42,.14),transparent 35%),
    radial-gradient(circle at 94% 9%,rgba(53,127,210,.14),transparent 31%),
    var(--gc-navy);
  color:var(--gc-text);
}

.gim-comms-shell{
  width:min(1180px,calc(100% - 32px));
  margin:28px auto 72px;
}

.gim-comms-brandbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:16px 20px;
  border:1px solid var(--gc-line);
  border-radius:20px;
  background:rgba(8,27,49,.90);
  backdrop-filter:blur(14px);
  box-shadow:var(--gc-shadow);
}

.gim-comms-brand{
  display:flex;
  align-items:center;
  gap:13px;
  text-decoration:none;
  color:white;
}

.gim-comms-brand img{
  width:48px;
  height:48px;
  object-fit:contain;
}

.gim-comms-brand strong{
  display:block;
  font-size:18px;
}

.gim-comms-brand small{
  display:block;
  margin-top:3px;
  color:var(--gc-gold2);
  font-size:12px;
}

.gim-comms-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:6px;
}

.gim-comms-nav a,
.gim-comms-nav button{
  border:0;
  background:transparent;
  color:#dce8f8;
  text-decoration:none;
  border-radius:11px;
  padding:9px 10px;
  font:inherit;
  cursor:pointer;
}

.gim-comms-nav a:hover,
.gim-comms-nav button:hover{
  background:rgba(255,255,255,.07);
  color:#fff;
}

.gim-comms-main{
  padding-top:34px;
}

.gim-comms-hero{
  position:relative;
  overflow:hidden;
  padding:42px;
  border:1px solid var(--gc-line);
  border-radius:var(--gc-radius);
  background:
    linear-gradient(135deg,rgba(15,45,76,.98),rgba(7,21,39,.98));
  box-shadow:var(--gc-shadow);
}

.gim-comms-hero:after{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  right:-100px;
  top:-130px;
  border-radius:50%;
  background:rgba(244,166,42,.13);
}

.gim-comms-eyebrow{
  color:var(--gc-gold2);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:900;
}

.gim-comms-hero h1{
  margin:10px 0 13px;
  max-width:850px;
  font-size:clamp(34px,5vw,61px);
  line-height:1.02;
}

.gim-comms-hero p{
  margin:0;
  max-width:780px;
  color:var(--gc-muted);
  line-height:1.7;
  font-size:17px;
}

.gim-comms-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:20px;
}

.gim-comms-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.gim-comms-card{
  min-width:0;
  padding:22px;
  border:1px solid var(--gc-line);
  border-radius:18px;
  background:rgba(12,36,62,.89);
  color:var(--gc-text);
  text-decoration:none;
}

.gim-comms-card h2,
.gim-comms-card h3{
  margin:0 0 9px;
  color:#fff;
}

.gim-comms-card p{
  color:var(--gc-muted);
  line-height:1.65;
}

.gim-comms-card a{
  color:var(--gc-gold2);
}

.gim-comms-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.gim-comms-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 17px;
  border:1px solid transparent;
  border-radius:12px;
  text-decoration:none;
  font-weight:900;
  cursor:pointer;
}

.gim-comms-btn.primary{
  color:#142034;
  background:linear-gradient(135deg,var(--gc-gold),var(--gc-gold2));
}

.gim-comms-btn.secondary{
  color:#fff;
  border-color:var(--gc-line);
  background:rgba(255,255,255,.05);
}

.gim-comms-btn[disabled]{
  opacity:.45;
  cursor:not-allowed;
}

.gim-comms-form{
  display:grid;
  gap:15px;
}

.gim-comms-form-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.gim-comms-field{
  display:grid;
  gap:7px;
}

.gim-comms-field label{
  color:#dbe7f5;
  font-size:13px;
  font-weight:900;
}

.gim-comms-field input,
.gim-comms-field select,
.gim-comms-field textarea{
  width:100%;
  box-sizing:border-box;
  padding:13px 14px;
  border:1px solid var(--gc-line);
  border-radius:12px;
  outline:none;
  background:#081a30;
  color:#fff;
  font:inherit;
}

.gim-comms-field textarea{
  min-height:130px;
  resize:vertical;
}

.gim-comms-field input:focus,
.gim-comms-field select:focus,
.gim-comms-field textarea:focus{
  border-color:rgba(244,166,42,.72);
  box-shadow:0 0 0 3px rgba(244,166,42,.10);
}

.gim-comms-message{
  display:none;
  margin-top:14px;
  padding:13px 15px;
  border-radius:12px;
  line-height:1.55;
}

.gim-comms-message.show{
  display:block;
}

.gim-comms-message.ok{
  color:#c7f6e3;
  border:1px solid rgba(112,223,176,.30);
  background:rgba(112,223,176,.09);
}

.gim-comms-message.bad{
  color:#ffd1d1;
  border:1px solid rgba(255,154,154,.30);
  background:rgba(255,154,154,.09);
}

.gim-comms-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border:1px solid var(--gc-line);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#dce8f8;
  font-size:12px;
  font-weight:900;
}

.gim-comms-status:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gc-gold);
}

.gim-comms-list{
  display:grid;
  gap:12px;
  margin-top:16px;
}

.gim-comms-row{
  display:grid;
  gap:8px;
  padding:17px;
  border:1px solid var(--gc-line);
  border-radius:15px;
  background:rgba(4,19,35,.53);
}

.gim-comms-row-title{
  color:#fff;
  font-size:17px;
  font-weight:900;
  overflow-wrap:anywhere;
}

.gim-comms-row-meta{
  color:var(--gc-muted);
  font-size:13px;
  line-height:1.6;
  overflow-wrap:anywhere;
}

.gim-comms-kpi{
  color:#fff;
  font-size:30px;
  font-weight:900;
  overflow-wrap:anywhere;
}

.gim-comms-kpi-label{
  margin-top:5px;
  color:var(--gc-muted);
  font-size:13px;
}

.gim-comms-lock{
  border-color:rgba(244,166,42,.29);
  background:
    linear-gradient(145deg,rgba(244,166,42,.08),rgba(11,35,59,.87));
}

.gim-comms-lock strong{
  color:var(--gc-gold2);
}

.gim-comms-stage25-entry{
  max-width:1180px;
  margin:34px auto;
  padding:26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(135deg,#0d2948,#07182c);
  box-shadow:0 18px 50px rgba(0,0,0,.20);
  color:#fff;
}

.gim-comms-stage25-entry h2{
  margin:0 0 8px;
}

.gim-comms-stage25-entry p{
  max-width:760px;
  color:#bbcee2;
  line-height:1.65;
}

@media(max-width:880px){
  .gim-comms-brandbar{
    flex-direction:column;
    align-items:flex-start;
  }

  .gim-comms-nav{
    justify-content:flex-start;
  }

  .gim-comms-grid,
  .gim-comms-grid.two,
  .gim-comms-form-row{
    grid-template-columns:1fr;
  }

  .gim-comms-hero{
    padding:28px 22px;
  }
}
