/* Shared inner-page styles */

.page-hero{
  padding:70px 0 60px;
  background:var(--green-pale);
  border-bottom:1px solid var(--border);
}
.page-hero .eyebrow{ margin-bottom:18px; }
.page-hero h1{ max-width:820px; }
.page-hero .lede{ max-width:640px; color:var(--text-muted); font-size:1.05rem; margin-top:20px; line-height:1.7; }

/* Photo banner beneath page-hero text */
.page-banner{
  position:relative;
  height:320px;
  overflow:hidden;
  border-bottom:1px solid var(--border);
}
.page-banner img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
.page-banner::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(7,26,51,0) 45%, rgba(7,26,51,0.7) 100%);
}
.page-banner .coord{
  position:absolute; left:var(--gutter); bottom:22px;
  color:rgba(255,255,255,0.75);
  z-index:2;
}
@media (max-width: 700px){
  .page-banner{ height:220px; }
}
.breadcrumb{ font-family:var(--font-mono); font-size:0.72rem; color:var(--text-muted); margin-bottom:20px; display:flex; gap:8px; align-items:center; }
.breadcrumb a{ color:var(--text-muted); }
.breadcrumb a:hover{ color:var(--accent-deep); }

/* Value / pillar list */
.value-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--border); border:1px solid var(--border); }
.value-cell{ background:var(--white); padding:36px 30px; }
.value-cell .coord{ display:block; margin-bottom:16px; }
.value-cell p{ color:var(--text-muted); font-size:0.9rem; line-height:1.65; margin-top:10px; }
@media (max-width: 760px){ .value-list{ grid-template-columns:1fr; } }

/* Two column text */
.text-split{ display:grid; grid-template-columns:0.7fr 1.3fr; gap:60px; }
.text-split .col-label{ position:sticky; top:110px; align-self:start; }
.text-split p{ color:var(--charcoal); line-height:1.75; margin-bottom:18px; font-size:1.02rem; }
@media (max-width: 900px){ .text-split{ grid-template-columns:1fr; gap:24px; } .text-split .col-label{ position:static; } }

/* Approach / numbered steps (vertical) */
.step-list{ display:flex; flex-direction:column; }
.step-row{ display:grid; grid-template-columns:80px 1fr; gap:30px; padding:30px 0; border-top:1px solid var(--border); }
.step-row:last-child{ border-bottom:1px solid var(--border); }
.step-row .coord{ padding-top:4px; }
.step-row h4{ margin-bottom:8px; }
.step-row p{ color:var(--text-muted); font-size:0.92rem; line-height:1.65; }

/* Service list (used on capability pages) */
.service-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--border); border-left:1px solid var(--border); }
.service-cell{ border-right:1px solid var(--border); border-bottom:1px solid var(--border); padding:28px 26px; }
.service-cell h4{ font-size:0.98rem; margin-bottom:8px; }
.service-cell p{ font-size:0.86rem; color:var(--text-muted); line-height:1.6; }
@media (max-width: 760px){ .service-grid{ grid-template-columns:1fr; } }

/* Leadership / credibility strip */
.credibility-strip{ display:flex; gap:0; border:1px solid var(--border); }
.credibility-cell{ flex:1; padding:30px 26px; border-right:1px solid var(--border); }
.credibility-cell:last-child{ border-right:none; }
.credibility-cell .coord{ display:block; margin-bottom:14px; }
.credibility-cell p{ font-size:0.88rem; color:var(--text-muted); line-height:1.6; }
@media (max-width: 800px){ .credibility-strip{ flex-direction:column; } .credibility-cell{ border-right:none; border-bottom:1px solid var(--border); } }

/* Capability/sector index cards (used on overview pages) */
.index-card{
  display:grid; grid-template-columns:120px 1fr auto; align-items:center; gap:30px;
  padding:36px 0; border-top:1px solid var(--border);
}
.index-card:last-child{ border-bottom:1px solid var(--border); }
.index-card .coord{ font-size:0.85rem; }
.index-card h3{ font-size:1.3rem; margin-bottom:8px; }
.index-card p{ color:var(--text-muted); font-size:0.92rem; max-width:520px; line-height:1.6; }
.index-card .btn-ghost{ white-space:nowrap; }
@media (max-width: 760px){
  .index-card{ grid-template-columns:1fr; gap:12px; }
}

/* Simple content page (privacy/terms/cookies) */
.prose{ max-width:760px; }
.prose h2{ font-size:1.4rem; margin-top:44px; margin-bottom:14px; }
.prose h2:first-child{ margin-top:0; }
.prose p{ color:var(--charcoal); line-height:1.75; margin-bottom:16px; }
.prose ul{ color:var(--charcoal); line-height:1.75; margin-bottom:16px; padding-left:22px; }

/* Form */
.enquiry-form{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.enquiry-form .full{ grid-column:1 / -1; }
.field label{ display:block; font-size:0.85rem; font-weight:700; color:var(--navy); margin-bottom:8px; }
.field input, .field select, .field textarea{
  width:100%; border:1px solid var(--border); background:var(--white);
  padding:13px 14px; font-family:var(--font-body); font-size:0.95rem; color:var(--text);
  border-radius:var(--radius);
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent); }
.field textarea{ resize:vertical; min-height:120px; }
.consent-row{ display:flex; gap:10px; align-items:flex-start; font-size:0.85rem; color:var(--text-muted); }
.consent-row input{ margin-top:3px; }
.form-status{ background:var(--bg-tint); border:1px solid var(--accent); padding:14px 16px; font-size:0.9rem; color:var(--green-deep); }
@media (max-width: 700px){ .enquiry-form{ grid-template-columns:1fr; } }

/* Contact info card on contact page */
.info-card{ background:var(--navy); color:rgba(255,255,255,0.8); padding:40px 34px; display:flex; flex-direction:column; gap:26px; }
.info-card h3{ color:var(--white); }
.info-row .coord{ color:rgba(255,255,255,0.4); display:block; margin-bottom:6px; }
.info-row strong{ display:block; color:var(--white); font-weight:700; font-size:0.98rem; }

/* 404 */
.error-page{ min-height:60vh; display:flex; align-items:center; }
.error-code{ font-family:var(--font-mono); font-size:5rem; color:var(--accent); font-weight:700; line-height:1; margin-bottom:16px; }
