/* Redcube Technologies — About, Services and Contact pages */
body.corporate-template {
  background: #f5f6f8;
  color: #444;
  overflow-x: hidden;
}
body.corporate-template #header {
  min-height: 70px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 6px 28px rgba(15,15,15,.08);
}
body.corporate-template .corporate-page { padding-top: 70px; }

.corp-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 82px 0 86px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 24%, rgba(224,58,60,.28), transparent 25%),
    linear-gradient(115deg, #111 0%, #1b1b1b 58%, #292020 100%);
}
.corp-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.12;
  background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 40%,#000 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 40%,#000 100%);
}
.corp-hero::after {
  content:"";
  position:absolute;
  right:-90px;
  bottom:-170px;
  z-index:-1;
  width:360px;
  height:360px;
  border:54px solid rgba(224,58,60,.14);
  border-radius:50%;
}
.corp-breadcrumb { display:flex; align-items:center; gap:9px; margin-bottom:24px; font-size:13px; color:rgba(255,255,255,.64); }
.corp-breadcrumb a { color:#fff; font-weight:700; }
.corp-breadcrumb i { color:#e03a3c; font-size:11px; }
.corp-kicker { display:inline-flex; align-items:center; gap:9px; margin-bottom:17px; color:#f35b5d; font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.corp-kicker::before { content:""; width:28px; height:2px; background:#e03a3c; }
.corp-hero h1 { max-width:890px; margin:0 0 18px; color:#fff; font-size:clamp(38px,4.6vw,60px); font-weight:800; line-height:1.08; letter-spacing:-1.2px; }
.corp-hero p { max-width:830px; margin:0; color:rgba(255,255,255,.76); font-size:17px; line-height:1.75; }

.corp-section { padding:78px 0; }
.corp-section-white { background:#fff; }
.corp-section-dark { background:#161616; color:#fff; }
.corp-section-soft { background:#f5f6f8; }
.corp-eyebrow { margin-bottom:10px; color:#e03a3c; font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.corp-heading { margin:0 0 18px; color:#262626; font-size:clamp(29px,3vw,42px); font-weight:800; line-height:1.18; }
.corp-section-dark .corp-heading { color:#fff; }
.corp-lead { margin:0 0 18px; color:#555; font-size:17px; line-height:1.8; }
.corp-section-dark .corp-lead { color:rgba(255,255,255,.68); }
.corp-copy { color:#666; line-height:1.85; }

.corp-info-card {
  height:100%;
  padding:32px;
  border:1px solid #e4e4e4;
  border-top:4px solid #e03a3c;
  border-radius:12px;
  background:#fff;
  box-shadow:0 13px 38px rgba(20,20,20,.07);
}
.corp-info-card h3 { margin:0 0 18px; color:#222; font-size:23px; font-weight:800; }
.corp-checklist { margin:0; padding:0; list-style:none; }
.corp-checklist li { position:relative; margin:0; padding:13px 0 13px 34px; border-bottom:1px solid #eee; color:#555; line-height:1.6; }
.corp-checklist li:last-child { border-bottom:0; }
.corp-checklist li::before { content:"✓"; position:absolute; left:0; top:13px; width:22px; height:22px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#fff0f0; color:#e03a3c; font-size:12px; font-weight:900; }

.corp-cap-card, .corp-service-card {
  height:100%;
  padding:29px 27px;
  border:1px solid #e5e5e5;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 30px rgba(20,20,20,.055);
  transition:.25s ease;
}
.corp-cap-card:hover, .corp-service-card:hover { transform:translateY(-5px); border-color:#f1b6b7; box-shadow:0 18px 38px rgba(20,20,20,.09); }
.corp-card-icon { width:50px; height:50px; display:flex; align-items:center; justify-content:center; margin-bottom:19px; border-radius:11px; background:#fff0f0; color:#e03a3c; font-size:24px; }
.corp-cap-card h3, .corp-service-card h3 { margin:0 0 10px; color:#222; font-size:20px; font-weight:800; }
.corp-cap-card p, .corp-service-card p { margin:0; color:#686868; font-size:14px; line-height:1.75; }

.brand-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:38px; }
.brand-card { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:142px; padding:27px 28px; border:1px solid #333; border-radius:13px; background:#202020; color:#fff; transition:.25s ease; }
.brand-card:hover { border-color:#e03a3c; background:#252020; transform:translateY(-3px); color:#fff; }
.brand-card h3 { margin:0 0 8px; color:#fff; font-size:21px; font-weight:800; }
.brand-card p { max-width:430px; margin:0; color:rgba(255,255,255,.64); font-size:14px; line-height:1.65; }
.brand-arrow { flex:0 0 42px; width:42px; height:42px; display:flex; align-items:center; justify-content:center; border:1px solid #4a4a4a; border-radius:50%; color:#fff; font-size:17px; transition:.25s ease; }
.brand-card:hover .brand-arrow { border-color:#e03a3c; background:#e03a3c; }
.brand-note { margin-top:22px; padding:18px 21px; border-left:4px solid #e03a3c; border-radius:7px; background:#242424; color:rgba(255,255,255,.68); font-size:13px; line-height:1.7; }

.corp-service-panel { overflow:hidden; border-radius:14px; background:#181818; box-shadow:0 20px 45px rgba(20,20,20,.12); }
.corp-service-panel .panel-main { padding:38px; color:#fff; }
.corp-service-panel .panel-side { height:100%; padding:38px; background:linear-gradient(145deg,#e03a3c,#bd2729); color:#fff; }
.corp-service-panel h2, .corp-service-panel h3 { color:#fff; font-weight:800; }
.corp-service-panel p { color:rgba(255,255,255,.72); line-height:1.75; }
.corp-pills { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.corp-pill { padding:9px 12px; border:1px solid rgba(255,255,255,.15); border-radius:999px; background:rgba(255,255,255,.06); color:#fff; font-size:12px; font-weight:700; }

.process-row { counter-reset:step; }
.process-card { position:relative; height:100%; padding:28px 25px 25px 72px; border:1px solid #e4e4e4; border-radius:11px; background:#fff; }
.process-card::before { counter-increment:step; content:"0" counter(step); position:absolute; left:22px; top:25px; width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:#171717; color:#fff; box-shadow:inset 0 -3px 0 #e03a3c; font-size:11px; font-weight:800; }
.process-card h3 { margin:0 0 8px; color:#222; font-size:18px; font-weight:800; }
.process-card p { margin:0; color:#686868; font-size:13px; line-height:1.7; }

.corp-cta { padding:42px 0; background:#e03a3c; color:#fff; }
.corp-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.corp-cta h2 { margin:0 0 7px; color:#fff; font-size:29px; font-weight:800; }
.corp-cta p { margin:0; color:rgba(255,255,255,.82); }
.corp-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:47px; padding:12px 21px; border:1px solid #e03a3c; border-radius:5px; background:#e03a3c; color:#fff; font-weight:700; transition:.22s ease; }
.corp-btn:hover { background:#fff; color:#171717; border-color:#fff; }
.corp-btn-light { background:#fff; border-color:#fff; color:#1b1b1b; }
.corp-btn-light:hover { background:#171717; border-color:#171717; color:#fff; }

/* Contact */
.contact-page-wrap { padding:72px 0 82px; background:#f5f6f8; }
.contact-summary { margin-bottom:28px; }
.contact-detail-card { height:100%; padding:27px 24px; border:1px solid #e4e4e4; border-radius:11px; background:#fff; box-shadow:0 10px 30px rgba(20,20,20,.055); }
.contact-detail-icon { width:44px; height:44px; display:flex; align-items:center; justify-content:center; margin-bottom:15px; border-radius:10px; background:#fff0f0; color:#e03a3c; font-size:21px; }
.contact-detail-card small { display:block; margin-bottom:5px; color:#888; font-size:10px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.contact-detail-card strong, .contact-detail-card a { color:#282828; font-size:15px; font-weight:750; line-height:1.6; overflow-wrap:anywhere; }
.contact-form-card { height:100%; padding:34px; border:1px solid #e4e4e4; border-top:4px solid #e03a3c; border-radius:12px; background:#fff; box-shadow:0 15px 38px rgba(20,20,20,.08); }
.contact-form-card h2 { margin:0 0 8px; color:#222; font-size:27px; font-weight:800; }
.contact-form-card .form-note { margin:0 0 23px; color:#777; font-size:14px; line-height:1.7; }
.contact-form-card .form-control { min-height:48px; border:1px solid #dedede; border-radius:5px; box-shadow:none; }
.contact-form-card textarea.form-control { min-height:150px; }
.contact-form-card .form-control:focus { border-color:#e03a3c; box-shadow:0 0 0 3px rgba(224,58,60,.08); }
.contact-form-card .submitBtn { border:0; border-radius:5px; background:#e03a3c; color:#fff; padding:12px 23px; transition:.25s; }
.contact-form-card .submitBtn:hover { background:#c92c2e; }

@media (max-width: 991.98px) {
  .corp-hero { padding:64px 0 70px; }
  .brand-grid { grid-template-columns:1fr; }
  .corp-cta-inner { align-items:flex-start; flex-direction:column; }
  .corp-service-panel .panel-side { min-height:100%; }
}
@media (max-width: 767.98px) {
  body.corporate-template #header { min-height:58px; }
  body.corporate-template .corporate-page { padding-top:58px; }
  .corp-hero { padding:48px 0 55px; }
  .corp-hero h1 { font-size:34px; letter-spacing:-.6px; }
  .corp-hero p { font-size:14px; line-height:1.7; }
  .corp-section { padding:55px 0; }
  .corp-heading { font-size:29px; }
  .corp-lead { font-size:15px; }
  .corp-info-card, .corp-cap-card, .corp-service-card { padding:24px 21px; }
  .brand-card { min-height:0; padding:21px 19px; }
  .brand-card h3 { font-size:18px; }
  .brand-card p { font-size:13px; }
  .corp-service-panel .panel-main, .corp-service-panel .panel-side { padding:27px 22px; }
  .corp-cta { padding:34px 0; }
  .corp-cta h2 { font-size:24px; }
  .contact-page-wrap { padding:52px 0 62px; }
  .contact-form-card { padding:25px 19px; }
}

/* ===== Contact + About desktop polish — V9 ===== */
/* Contact page: give every field breathing room and keep the CTA aligned left. */
.contact-form-card {
  height: auto !important;
  align-self: flex-start !important;
}
.contact-form-card .php-email-form .row {
  --bs-gutter-x: 20px;
}
.contact-form-card .php-email-form .form-group {
  margin-bottom: 16px !important;
  padding-bottom: 0 !important;
}
.contact-form-card .php-email-form textarea.form-control {
  min-height: 170px;
}
.contact-form-card .php-email-form .text-center {
  text-align: left !important;
}
.contact-form-card .php-email-form .submitBtn {
  margin-top: 2px;
  min-width: 160px;
}

/* About page: on desktop the red CTA column must stretch to the full panel height. */
@media (min-width: 992px) {
  .corp-service-panel > .row {
    align-items: stretch !important;
  }
  .corp-service-panel .panel-main,
  .corp-service-panel .panel-side {
    height: auto !important;
  }
  .corp-service-panel .panel-side {
    align-self: stretch !important;
  }
}

@media (max-width: 767.98px) {
  .contact-form-card .php-email-form .row {
    --bs-gutter-x: 16px;
  }
  .contact-form-card .php-email-form .form-group {
    margin-bottom: 14px !important;
  }
  .contact-form-card .php-email-form textarea.form-control {
    min-height: 145px;
  }
  .contact-form-card .php-email-form .submitBtn {
    min-width: 150px;
  }
}
