/* ==========================================================================
   Graaho — Home page polish layer
   Spacing, alignment and home-page sections. Theme colours only.
   Loaded last on index.html; every rule is scoped to body.home.
   Section hooks .gh-s0 … .gh-s31 = top-level rows in document order.
   ========================================================================== */

/* ---------- Global hygiene ---------- */
body.home {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
/* rotated side words + carousel track were creating a horizontal scrollbar */
html:has(> body.home), body.home #page { overflow-x: clip; }

/* Headings: theme sets line-height ≈ 1.0 → multi-line titles collide */
body.home .entry-content .norebro-heading-sc h3.title { line-height: 1.2 !important; }
body.home .entry-content .norebro-heading-sc p.subtitle { text-wrap: pretty; }

/* ---------- Hero (s0) ---------- */
body.home .gh-s0 .norebro-heading-sc p.subtitle {
  line-height: 1.55 !important;
  max-width: 900px;
}
body.home .gh-s0 .norebro-dynamic-text-sc { word-break: normal; overflow-wrap: normal; }
body.home .gh-s0 .norebro-button-sc { margin-top: 8px; }

/* ---------- Services cards (s4) ---------- */
body.home .gh-s4 .norebro-heading-sc p.subtitle { line-height: 1.7 !important; }

/* ---------- Consulting row (s6): image flush with cards above & beside ---------- */
@media (min-width: 768px) {
  body.home .gh-s6 > .wpb_column:first-of-type > .vc_column-inner {
    padding: 0 !important;
    height: 100%;
  }
  body.home .gh-s6 > .wpb_column:first-of-type .wpb_wrapper,
  body.home .gh-s6 > .wpb_column:first-of-type .video-module { height: 100%; }
  body.home .gh-s6 .video-module img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}

/* ---------- Vertical rhythm (desktop / tablet) ---------- */
@media (min-width: 768px) {
  /* Flexibility: 01-03 */
  body.home .gh-s11 .vc_empty_space.vc_hidden-xs { height: 56px !important; }
  body.home .gh-s12 .vc_empty_space { height: 20px !important; }      /* was 270px dead space */

  /* Testimonials → Tech stack */
  body.home .gh-s19 .vc_empty_space { height: 56px !important; }

  /* "Why Graaho?" title sat ~330px away from its own cards */
  body.home .gh-s23 .vc_empty_space:last-child { height: 40px !important; }
  body.home .gh-s25 .vc_empty_space { height: 0 !important; }
  body.home .gh-s27 .vc_empty_space { height: 72px !important; }

  /* CEO message */
  body.home .gh-s29 .vc_empty_space:first-child { height: 64px !important; }
  body.home .gh-s29 .vc_empty_space:last-child  { height: 40px !important; }
  body.home .gh-s31 .vc_empty_space.norebro-phone-space:first-child { height: 64px !important; }
}

/* ---------- Testimonials (s17) ---------- */
body.home .gh-s17 .testimonials blockquote { line-height: 1.6 !important; margin-bottom: 20px; }
body.home .gh-s17 .owl-stage-outer { overflow: hidden; }

/* ---------- Pick the right partner CTA ---------- */
body.home .gh-s31 .norebro-call-to-action-sc .subtitle,
body.home .gh-s31 .cta .subtitle { line-height: 1.5; }

/* ---------- Footer ---------- */
body.home #colophon .widget ul li { margin-bottom: 4px; }

/* ==========================================================================
   Mobile ≤ 767px
   ========================================================================== */
@media (max-width: 767px) {
  /* justified copy created big word gaps on narrow screens */
  body.home .entry-content p.subtitle,
  body.home .entry-content .testimonials blockquote { text-align: left !important; }

  /* hero: never split a word mid-way ("Technol-ogy") */
  body.home .gh-s0 .norebro-dynamic-text-sc,
  body.home .gh-s0 .norebro-dynamic-text-sc .dynamic { word-break: normal !important; overflow-wrap: normal !important; hyphens: none; }

  /* AI/ML card: desktop height-matching spacers are dead space on phones */
  body.home .gh-s4 .vc_col-sm-4 .vc_empty_space { display: none; }

  /* Flexibility block: trim stacked phone spacers */
  body.home .gh-s11 .vc_empty_space.norebro-phone-space { height: 40px !important; }
  body.home .gh-s12 .vc_empty_space { height: 0 !important; }

  /* Client logos: 3-up grid instead of one per screen row */
  body.home .gh-s15 .vc_inner { display: flex; flex-wrap: wrap; align-items: center; }
  body.home .gh-s15 .vc_inner > .wpb_column { width: 33.333% !important; float: none; }
  body.home .gh-s15 .vc_inner > .wpb_column > .vc_column-inner { padding: 14px 8px !important; }

  /* Tech stack: one continuous 4-up grid (5 rows of 4) */
  body.home .gh-s21 .vc_col-sm-12 > .vc_column-inner > .wpb_wrapper { display: flex; flex-wrap: wrap; align-items: center; }
  body.home .gh-s21 .vc_col-sm-12 > .vc_column-inner > .wpb_wrapper > * { flex: 0 0 100%; }
  body.home .gh-s21 .vc_col-sm-12 > .vc_column-inner > .wpb_wrapper > .vc_inner { display: contents; }
  body.home .gh-s21 .vc_inner > .wpb_column { flex: 0 0 25% !important; width: 25% !important; float: none; }
  body.home .gh-s21 .vc_inner > .wpb_column > .vc_column-inner { padding: 12px 6px !important; }

  body.home .gh-s15 .clients-logo img,
  body.home .gh-s21 .clients-logo img { max-width: 100%; height: auto; width: auto; max-height: 52px; }

  /* centred headings keep their centred subtitle */
  body.home .entry-content .norebro-heading-sc.text-center p.subtitle { text-align: center !important; }

  /* section gaps */
  body.home .gh-s19 .vc_empty_space { height: 40px !important; }
  body.home .gh-s23 .vc_empty_space:last-child { height: 24px !important; }
  body.home .gh-s25 .vc_empty_space { height: 0 !important; }

  /* CEO pill was wider than the screen */
  body.home .gh-s29 .video-module.boxed { max-width: 100%; }
  body.home .gh-s29 .video-module .content-center { max-width: calc(100% - 30px); }
  body.home .gh-s29 .video-module h4.title { font-size: 18px !important; line-height: 1.3 !important; }
  body.home .gh-s29 .vc_empty_space { height: 32px !important; }
  body.home .gh-s31 .vc_empty_space.norebro-phone-space:first-child { height: 32px !important; }
}

/* ---------- Equal-height service cards (s4) — replaces spacer-based matching ---------- */
@media (min-width: 768px) {
  body.home .gh-s4 { display: flex; flex-wrap: wrap; }
  body.home .gh-s4 > .wpb_column { float: none; }
  body.home .gh-s4 > .wpb_column > .vc_column-inner { height: 100%; }
  body.home .gh-s4 .vc_col-sm-4 .vc_empty_space { display: none; }
}

/* testimonial text aligned with its heading (owl gutter was offset 7.5px) */
body.home .gh-s17 .norebro-slider { margin-left: -15px !important; margin-right: -15px !important; }

/* ---------- Never break words mid-way (theme uses break-word on narrow columns) ---------- */
body.home .entry-content h1, body.home .entry-content h2, body.home .entry-content h3,
body.home .entry-content h4, body.home .entry-content p, body.home .entry-content blockquote,
body.home .entry-content .btn {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: manual;
}

/* ==========================================================================
   Tablet 768–991px: two/three-column splits were too narrow to read
   ========================================================================== */
@media (min-width: 768px) and (max-width: 991px) {
  body.home .gh-s4 > .wpb_column,
  body.home .gh-s6 > .wpb_column,
  body.home .gh-s15 > .wpb_column { width: 100% !important; float: none; }
  body.home .gh-s4 > .wpb_column > .vc_column-inner,
  body.home .gh-s6 > .wpb_column > .vc_column-inner.vc_custom_1504249899566 { padding: 56px 56px !important; }
  body.home .gh-s6 { display: block; }
  body.home .gh-s6 > .wpb_column:first-of-type .video-module img { height: auto; aspect-ratio: 16 / 9; }
  body.home .gh-s15 > .wpb_column:first-of-type > .vc_column-inner { max-width: 560px; }

  body.home .gh-s17 .split-box { display: block !important; }
  body.home .gh-s17 .split-box-wrap { display: block !important; width: 100% !important; float: none !important; padding: 48px 56px !important; }
  body.home .gh-s17 .split-box-wrap:first-child { padding-bottom: 0 !important; }

  body.home .gh-s9 > .wpb_column.vc_col-sm-8 { display: none; }
}

/* ==========================================================================
   AWS credentials (Expertise section, s21) — theme colours only
   ========================================================================== */
body.home .gh-aws { --navy: #11256c; --ink: #353d57; --text: #5d6275; --line: #e6e8ef; --tint: #f6f7fa;
  max-width: 1080px; margin: 8px auto 0; font-family: Rubik, sans-serif; color: var(--text); text-align: left; }
body.home .gh-aws h4 { font-family: Poppins, sans-serif; letter-spacing: 0; text-transform: none; }

/* partner badges */
body.home .gh-aws-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
body.home .gh-aws-badge { display: flex; align-items: center; gap: 24px; padding: 24px 28px; border: 1px solid var(--line); background: #fff; }
body.home .gh-aws-badge img { height: 94px; width: auto; flex: none; }
body.home .gh-aws-badge strong { display: block; font: 500 20px/1.3 Poppins, sans-serif; color: var(--navy); margin-bottom: 6px; }
body.home .gh-aws-badge span { display: block; font-size: 15px; line-height: 1.5; color: var(--text); }

/* four credentials — same faint-numeral motif as "01. FIXED COST" */
body.home .gh-aws-creds { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 24px; background: var(--tint); }
body.home .gh-aws-cred { position: relative; padding: 36px 28px 32px; overflow: hidden; }
body.home .gh-aws-cred + .gh-aws-cred { border-left: 1px solid var(--line); }
body.home .gh-aws-cred .gh-num { position: absolute; top: 6px; left: 20px; font: 700 72px/1 Poppins, sans-serif; color: #ebebeb; z-index: 0; pointer-events: none; }
body.home .gh-aws-cred h4 { position: relative; margin: 26px 0 10px; font-size: 18px; font-weight: 500; line-height: 1.3; color: var(--navy); text-transform: uppercase; }
body.home .gh-aws-cred p { position: relative; margin: 0; font-size: 15px; line-height: 1.6; color: var(--text); }

/* stats */
body.home .gh-aws-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 24px; background: var(--navy); color: #fff; }
body.home .gh-aws-stats > div { padding: 28px 24px; text-align: center; }
body.home .gh-aws-stats > div + div { border-left: 1px solid rgba(255,255,255,.15); }
body.home .gh-aws-stats strong { display: block; font: 500 40px/1.1 Poppins, sans-serif; color: #fff; }
body.home .gh-aws-stats span { display: block; margin-top: 6px; font-size: 14px; color: rgba(255,255,255,.75); }

/* certifications */
body.home .gh-aws-label { margin: 48px 0 18px; font-size: 13px !important; font-weight: 500; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--text); text-align: center; }
body.home .gh-aws-certs ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
body.home .gh-aws-certs li { display: grid; grid-template-columns: 110px 1fr auto; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); margin: 0; }
body.home .gh-aws-certs li::before { display: none; }
body.home .gh-lvl { font: 500 11px/1 Poppins, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--navy); background: #eef1f9; padding: 7px 8px; text-align: center; }
body.home .gh-name { font-size: 15px; line-height: 1.4; color: var(--ink); }
body.home .gh-count { min-width: 36px; height: 36px; padding: 0 8px; border-radius: 18px; background: var(--navy); color: #fff; font: 500 14px/36px Poppins, sans-serif; text-align: center; }

/* services */
body.home .gh-aws-services ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
body.home .gh-aws-services li { margin: 0; padding: 9px 16px; border: 1px solid var(--line); background: #fff; font: 400 14px/1 Poppins, sans-serif; color: var(--ink); }
body.home .gh-aws-services li::before { display: none; }

@media (max-width: 991px) {
  body.home .gh-aws-creds { grid-template-columns: 1fr 1fr; }
  body.home .gh-aws-cred:nth-child(3) { border-left: 0; }
  body.home .gh-aws-cred:nth-child(n+3) { border-top: 1px solid var(--line); }
  body.home .gh-aws-stats { grid-template-columns: 1fr 1fr; }
  body.home .gh-aws-stats > div:nth-child(3) { border-left: 0; }
  body.home .gh-aws-stats > div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.15); }
  body.home .gh-aws-certs ul { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  body.home .gh-aws-badges { grid-template-columns: 1fr; gap: 12px; }
  body.home .gh-aws-badge { padding: 18px; gap: 16px; }
  body.home .gh-aws-badge img { height: 72px; }
  body.home .gh-aws-badge strong { font-size: 17px; }
  body.home .gh-aws-creds { grid-template-columns: 1fr; }
  body.home .gh-aws-cred + .gh-aws-cred { border-left: 0; border-top: 1px solid var(--line); }
  body.home .gh-aws-cred { padding: 28px 22px 24px; }
  body.home .gh-aws-stats strong { font-size: 30px; }
  body.home .gh-aws-stats > div { padding: 22px 12px; }
  body.home .gh-aws-certs li { grid-template-columns: 1fr auto; gap: 6px 12px; }
  body.home .gh-lvl { grid-column: 1 / -1; justify-self: start; }
  body.home .gh-aws-label { margin-top: 36px; }
}
body.home .gh-aws { margin-bottom: 56px; }


/* ==========================================================================
   Round 7 — trimmed AWS block, Vision + CEO message
   ========================================================================== */
body.home .gh-aws { margin-bottom: 96px; }
body.home .gh-s23 .vc_empty_space { height: 0 !important; }
body.home .gh-s29 { display: none !important; }

/* Vision: no dependency on the remote background photo */
body.home .gh-s31.vc_row-has-fill,
body.home .gh-s31 .vc_custom_1669699269376 { background-image: none !important; }
body.home .gh-s31 .vc_empty_space.norebro-phone-space:first-child { height: 96px !important; }
body.home .gh-s31 .norebro-heading-sc h3.title {
  margin: 0 0 22px !important; font: 500 13px/1 Poppins, sans-serif !important; letter-spacing: .18em !important;
  text-transform: uppercase; color: #11256c !important;
}
body.home .gh-s31 .norebro-heading-sc h3.title::after {
  content: ''; display: block; width: 40px; height: 2px; margin: 18px auto 0; background: #11256c;
}
body.home .gh-s31 .norebro-heading-sc p.subtitle {
  max-width: 980px; margin: 0 auto !important; font-family: Poppins, sans-serif !important; font-weight: 300 !important;
  font-size: 32px !important; line-height: 1.5 !important; color: #353d57 !important; letter-spacing: -.005em;
}

/* CEO message pill — sits under the vision, before the CTA */
body.home .gh-ceo { margin: 44px 0 0; }
body.home .gh-ceo .video-module.boxed { padding: 0 !important; display: inline-flex; align-items: center; }
body.home .gh-ceo .btn-play { margin: 0 !important; position: relative; z-index: 2; flex: none; }
body.home .gh-ceo .content-center { margin: 0 0 0 -30px !important; }
body.home .gh-ceo .content {
  display: flex; align-items: center; height: 60px; box-sizing: border-box;
  padding: 0 30px 0 46px !important; background: #fff;
  border: 1px solid rgba(17, 37, 108, .3) !important; border-radius: 0 30px 30px 0 !important;
  transition: background .2s, border-color .2s;
}
body.home .gh-ceo h4.title { margin: 0 !important; font: 500 17px/1 Poppins, sans-serif !important; color: #11256c !important; letter-spacing: .01em; white-space: nowrap; }
body.home .gh-ceo .video-module:hover .content { background: #11256c; border-color: #11256c !important; }
body.home .gh-ceo .video-module:hover h4.title { color: #fff !important; }

/* gap above the "Pick the right Partner" CTA */
body.home .gh-s31 .norebro-cta-sc { margin-top: 24px; }

@media (max-width: 767px) {
  body.home .gh-aws { margin-bottom: 56px; }
  body.home .gh-s31 .vc_empty_space.norebro-phone-space:first-child { height: 56px !important; }
  body.home .gh-s31 .norebro-heading-sc p.subtitle { font-size: 22px !important; text-align: center !important; }
  body.home .gh-ceo { margin-top: 32px; }
  body.home .gh-ceo h4.title { font-size: 15px !important; }
  body.home .gh-ceo .content { padding: 0 20px 0 42px !important; }
}

/* ==========================================================================
   Innovation partner (s15) — same structure, tidier logo wall
   ========================================================================== */
body.home .gh-s15 > .vc_col-sm-4 > .vc_column-inner { display: flex; flex-direction: column; justify-content: center; }
body.home .gh-s15 > .vc_col-sm-4 .vc_empty_space { height: 0 !important; }
body.home .gh-s15 .norebro-heading-sc h3.title { margin-bottom: 20px !important; }
body.home .gh-s15 .norebro-heading-sc p.subtitle { margin: 0 0 32px !important; max-width: 360px; }
body.home .gh-s15 .norebro-button-sc .btn.full-width { width: auto !important; display: inline-block; padding-left: 40px !important; padding-right: 40px !important; }

body.home .gh-s15 .vc_col-sm-8 > .vc_column-inner > .wpb_wrapper {
  border: 1px solid #e6e8ef; background: #fff;
}
body.home .gh-s15 .vc_inner { margin: 0 !important; display: flex; flex-wrap: wrap; }
body.home .gh-s15 .vc_inner + .vc_inner { border-top: 1px solid #e6e8ef; }
body.home .gh-s15 .vc_inner > .wpb_column { float: none; }
body.home .gh-s15 .vc_inner > .wpb_column + .wpb_column { border-left: 1px solid #e6e8ef; }
body.home .gh-s15 .vc_inner > .wpb_column > .vc_column-inner {
  height: 132px; padding: 0 24px !important; display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
body.home .gh-s15 .vc_inner > .wpb_column > .vc_column-inner:hover { background: #f6f7fa; }
body.home .gh-s15 .vc_inner .wpb_wrapper { width: 100%; }
body.home .gh-s15 .clients-logo img { max-height: 60px; width: auto !important; max-width: 100%; height: auto !important; margin: 0 auto; opacity: .9; transition: opacity .2s; }
body.home .gh-s15 .vc_inner > .wpb_column > .vc_column-inner:hover img { opacity: 1; }
body.home .gh-s15 .clients-logo .second-image { display: none !important; }
body.home .gh-s15 .clients-logo .first-image { position: static !important; opacity: 1 !important; transform: none !important; }

@media (max-width: 767px) {
  body.home .gh-s15 .vc_col-sm-8 > .vc_column-inner > .wpb_wrapper { margin-top: 8px; }
  body.home .gh-s15 .vc_inner > .wpb_column > .vc_column-inner { height: 92px; padding: 0 10px !important; }
  body.home .gh-s15 .clients-logo img { max-height: 44px; }
  body.home .gh-s15 .norebro-heading-sc p.subtitle { margin-bottom: 24px !important; }
  body.home .gh-s15 > .vc_col-sm-4 .vc_empty_space.norebro-phone-space { height: 32px !important; }
}
body.home .gh-s31 .norebro-heading-sc p.subtitle { text-wrap: balance; }
body.home .gh-s15 .vc_col-sm-8 .vc_empty_space { display: none !important; }
body.home .gh-s15 .vc_col-sm-8 > .vc_column-inner { padding-bottom: 88px; }
@media (max-width: 767px) { body.home .gh-s15 .vc_col-sm-8 > .vc_column-inner { padding-bottom: 48px; } }
body.home .gh-ceo { display: flex; justify-content: center; }

/* ==========================================================================
   Typography system (home page) — one family (Poppins), one consistent scale.
   Colours unchanged. Overrides the per-block sizes the page builder left behind
   (42/36/32/24/20/18/15px mixed with heavy weights and loose line-heights).
   Scale: Display 54 · H2 40 · H3 26 · Lead 21 · Body 17 · Small 15 · Label 13
   ========================================================================== */
body.home .entry-content { font-family: Poppins, sans-serif; }

/* Hero */
body.home .gh-s0 .norebro-dynamic-text-sc,
body.home .gh-s0 .norebro-dynamic-text-sc .dynamic,
body.home .gh-s0 .norebro-dynamic-text-sc .typed-cursor {
  font-family: Poppins, sans-serif !important; font-size: 54px !important; line-height: 1.18 !important; letter-spacing: -.015em;
}
body.home .gh-s0 .norebro-dynamic-text-sc { font-weight: 300 !important; min-height: 2.36em; margin-bottom: 28px; }
body.home .gh-s0 .norebro-dynamic-text-sc .dynamic { font-weight: 600 !important; }
body.home .gh-s0 .norebro-heading-sc p.subtitle {
  font-size: 21px !important; font-weight: 400 !important; line-height: 1.7 !important; max-width: 760px; margin-top: 0 !important;
}
body.home .gh-s0 .norebro-heading-sc h3.title { font-size: 14px !important; font-weight: 500 !important; letter-spacing: .02em !important; }

/* Section titles (H2 role) */
body.home .gh-s4 h3.title, body.home .gh-s6 h3.title, body.home .gh-s13 h3.title,
body.home .gh-s15 h3.title, body.home .gh-s17 h3.title, body.home .gh-s21 h3.title,
body.home .gh-s23 h3.title {
  font-size: 40px !important; font-weight: 500 !important; line-height: 1.2 !important; letter-spacing: -.015em !important;
}
/* inside the coloured service cards a slightly smaller title fits better */
body.home .gh-s4 h3.title, body.home .gh-s6 h3.title { font-size: 32px !important; margin-bottom: 14px !important; }

/* Eyebrow / kicker lines above titles */
body.home .gh-s17 .norebro-heading-sc p.subtitle:not(.small),
body.home .gh-s23 .norebro-heading-sc p.subtitle {
  font-size: 13px !important; font-weight: 500 !important; line-height: 1.4 !important;
  letter-spacing: .14em !important; text-transform: uppercase; margin-bottom: 12px !important;
}

/* Body copy — one size everywhere */
body.home .gh-s4 p.subtitle, body.home .gh-s6 p.subtitle,
body.home .gh-s11 p.description, body.home .gh-s27 p.description,
body.home .gh-s15 p.subtitle, body.home .gh-s21 .norebro-text-sc p {
  font-size: 17px !important; font-weight: 400 !important; line-height: 1.75 !important;
}
body.home .gh-s21 .norebro-text-sc p { margin-bottom: 8px; }
body.home .gh-s15 p.subtitle { font-size: 18px !important; }

/* Numbered cards (Flexibility, Why Graaho) */
body.home .gh-s11 h3, body.home .gh-s27 h3 {
  font-size: 26px !important; font-weight: 500 !important; line-height: 1.25 !important; letter-spacing: 0 !important;
}
body.home .gh-s11 .number, body.home .gh-s27 .number { font-size: 88px !important; line-height: 1 !important; }
body.home .gh-s11 p.description, body.home .gh-s27 p.description { margin-top: 14px !important; }

/* Public Sector & Enterprise (navy block) — was 32px body text */
body.home .gh-s13 p.subtitle { font-size: 20px !important; font-weight: 300 !important; line-height: 1.7 !important; }
body.home .gh-s13 .video-module h4.title { font-size: 14px !important; font-weight: 500 !important; letter-spacing: .04em; }

/* Testimonials */
body.home .gh-s17 .testimonials blockquote {
  font-family: Poppins, sans-serif !important; font-size: 21px !important; font-weight: 300 !important;
  line-height: 1.65 !important; color: #353d57 !important;
}
body.home .gh-s17 .testimonials h4.title { font-size: 16px !important; font-weight: 600 !important; margin-bottom: 2px !important; }
body.home .gh-s17 .testimonials p.subtitle.small { font-size: 14px !important; font-weight: 400 !important; line-height: 1.5 !important; color: #5d6275 !important; }

/* AWS block small text */
body.home .gh-aws-badge span, body.home .gh-aws-cred p { font-size: 15px; line-height: 1.65; }
body.home .gh-aws-cred h4 { font-size: 16px !important; letter-spacing: .02em !important; }
body.home .gh-aws-stats span { font-size: 14px; }

/* Vision */
body.home .gh-s31 .norebro-heading-sc p.subtitle { font-size: 30px !important; line-height: 1.55 !important; }

/* CTA band */
body.home .gh-s31 .norebro-cta-sc h3.title { font-size: 30px !important; font-weight: 500 !important; line-height: 1.25 !important; }
body.home .gh-s31 .norebro-cta-sc p.subtitle { font-size: 18px !important; font-weight: 400 !important; line-height: 1.6 !important; }

/* Buttons — consistent label size and weight (shape/colour unchanged) */
body.home .entry-content .btn .text,
body.home .entry-content .btn { font-family: Poppins, sans-serif !important; }
body.home .entry-content .btn.btn-large .text,
body.home .entry-content .btn.btn-outline .text { font-size: 17px !important; font-weight: 500 !important; line-height: 1.2 !important; letter-spacing: .01em; }
body.home .entry-content .btn.btn-squared .text { font-size: 16px !important; font-weight: 600 !important; letter-spacing: .06em; line-height: 1.2 !important; }
body.home .entry-content .btn.btn-white .text { font-size: 15px !important; font-weight: 600 !important; }
body.home .gh-s0 .btn.btn-large { padding: 15px 34px !important; }
body.home .gh-s0 .norebro-heading-sc + .vc_empty_space { height: 12px !important; }

/* Tablet */
@media (max-width: 991px) {
  body.home .gh-s0 .norebro-dynamic-text-sc,
  body.home .gh-s0 .norebro-dynamic-text-sc .dynamic,
  body.home .gh-s0 .norebro-dynamic-text-sc .typed-cursor { font-size: 44px !important; }
  body.home .gh-s4 h3.title, body.home .gh-s6 h3.title, body.home .gh-s13 h3.title,
  body.home .gh-s15 h3.title, body.home .gh-s17 h3.title, body.home .gh-s21 h3.title,
  body.home .gh-s23 h3.title { font-size: 34px !important; }
}
/* Phone */
@media (max-width: 767px) {
  body.home .gh-s0 .norebro-dynamic-text-sc,
  body.home .gh-s0 .norebro-dynamic-text-sc .dynamic,
  body.home .gh-s0 .norebro-dynamic-text-sc .typed-cursor { font-size: 34px !important; line-height: 1.22 !important; }
  body.home .gh-s0 .norebro-heading-sc p.subtitle { font-size: 18px !important; line-height: 1.65 !important; }
  body.home .gh-s4 h3.title, body.home .gh-s6 h3.title, body.home .gh-s13 h3.title,
  body.home .gh-s15 h3.title, body.home .gh-s17 h3.title, body.home .gh-s21 h3.title,
  body.home .gh-s23 h3.title { font-size: 28px !important; }
  body.home .gh-s4 h3.title, body.home .gh-s6 h3.title { font-size: 26px !important; }
  body.home .gh-s11 h3, body.home .gh-s27 h3 { font-size: 22px !important; }
  body.home .gh-s11 .number, body.home .gh-s27 .number { font-size: 72px !important; }
  body.home .gh-s4 p.subtitle, body.home .gh-s6 p.subtitle, body.home .gh-s11 p.description,
  body.home .gh-s27 p.description, body.home .gh-s15 p.subtitle, body.home .gh-s21 .norebro-text-sc p { font-size: 16px !important; }
  body.home .gh-s13 p.subtitle { font-size: 18px !important; }
  body.home .gh-s17 .testimonials blockquote { font-size: 18px !important; }
  body.home .gh-s31 .norebro-heading-sc p.subtitle { font-size: 21px !important; }
  body.home .gh-s31 .norebro-cta-sc h3.title { font-size: 24px !important; }
  body.home .gh-s31 .norebro-cta-sc p.subtitle { font-size: 16px !important; }
}
body.home .gh-ceo .btn-play { top: auto !important; transform: none !important; }
@media (max-width: 767px) {
  body.home .gh-s0 .norebro-dynamic-text-sc { min-height: 3.7em; margin-bottom: 16px; }
  body.home .gh-s4 .vc_column-inner.vc_col-has-fill, body.home .gh-s4 > .wpb_column > .vc_column-inner { padding: 44px 28px !important; }
}
