/* SkyCloud Digital - Card polish (safe, additive)
   Cards: bg #F4F6F9, border #DDE2E8
   Headings: navy #0B2545
*/

:root{
  --sc-card-bg: #F4F6F9;
  --sc-card-border: #DDE2E8;
  --sc-navy: #0B2545;
}

/* Headings: keep readable, professional navy */
h1, h2, h3, h4, h5, h6 {
  color: var(--sc-navy);
}

/* Card system (supports either .cards/.card or common theme variants) */
.cards,
.card-grid,
.grid.cards {
  gap: 1.25rem;
}

.cards-3,
.grid-3,
.cards.three-col {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

@media (max-width: 1000px) {
  .cards-3,
  .grid-3,
  .cards.three-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .cards-3,
  .grid-3,
  .cards.three-col {
    grid-template-columns: 1fr;
  }
}

/* Individual cards */
.card,
.cards .card,
.card-grid > .card,
.cards-3 > .card {
  background: var(--sc-card-bg);
  border: 1px solid var(--sc-card-border);
  border-radius: 16px;
  padding: 1.25rem 1.25rem;
  box-shadow: 0 1px 0 rgba(11, 37, 69, 0.04);
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

.card h3,
.cards .card h3 {
  color: var(--sc-navy);
  font-weight: 700;
  margin-top: 0;
}

.card p,
.cards .card p,
.card li {
  line-height: 1.55;
}

/* Subtle hover (desktop) */
@media (hover: hover) and (pointer: fine) {
  .card:hover,
  .cards .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(11, 37, 69, 0.08);
    border-color: rgba(11, 37, 69, 0.16);
  }
}

/* Hero polish for service pages (only affects pages using these classes) */
.services-single-hero {
  max-width: 980px;
  margin: 0 auto;
}

.services-single-eyebrow {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 0.85rem;
  color: rgba(11, 37, 69, 0.72);
}

.services-single-lede {
  font-size: 1.1rem;
  line-height: 1.65;
  max-width: 70ch;
}

/* CTA button polish (only if your theme uses .button) */
a.button, .button {
  border-radius: 999px;
  font-weight: 700;
}

/* --- Header spacing: make top nav breathe (safe) --- */
.header .menu,
header .menu,
header nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem 1.15rem;
}

header nav a,
.header .menu a,
header .menu a {
  padding: 0.6rem 0.9rem;
  border-radius: 999px;
}

/* --- Header logo: allow taller logo without clipping --- */
.header .logo img,
.logo img,
.logo-mobile img {
  height: auto !important;
  max-height: 150px;
  width: auto;
  display: block;
}

.header .logo,
.header .logo-mobile {
  overflow: visible;
}

/* --- Serif theme nav spacing (robust selectors) --- */
.main-menu ul,
.menu-main ul,
.header-menu ul,
header nav ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
}

.main-menu a,
.menu-main a,
.header-menu a,
header nav a {
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  line-height: 1.1;
  display: inline-block;
}

/* --- Header logo: allow taller logo without clipping --- */
.header .logo img,
.logo img,
.logo-mobile img {
  height: auto !important;
  max-height: 150px;
  width: auto;
  display: block;
}
.header .logo,
.header .logo-mobile {
  overflow: visible;
}

/* --- Header/menu spacing (robust for Serif theme) --- */
.main-menu ul,
.menu-main ul,
.header-menu ul,
header nav ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
}
.main-menu a,
.menu-main a,
.header-menu a,
header nav a {
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  line-height: 1.1;
  display: inline-block;
}

/* --- FIX: keep Services subpages from appearing as top-level items --- */
/* Only the FIRST ul is horizontal */
.main-menu > ul,
.menu-main > ul,
.header-menu > ul,
header nav > ul {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
}

/* Links: keep the nicer spacing */
.main-menu > ul > li > a,
.menu-main > ul > li > a,
.header-menu > ul > li > a,
header nav > ul > li > a {
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  line-height: 1.1;
  display: inline-block;
}

/* Nested UL (dropdown) must NOT be flex, and should be hidden by default */
.main-menu ul ul,
.menu-main ul ul,
.header-menu ul ul,
header nav ul ul {
  display: none;
  position: absolute;
  z-index: 9999;
  margin-top: 0.5rem;
  padding: 0.5rem 0.5rem;
  background: #ffffff;
  border: 1px solid #DDE2E8;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(11, 37, 69, 0.12);
  min-width: 240px;
}

/* Make parent LI positioning context for the dropdown */
.main-menu li,
.menu-main li,
.header-menu li,
header nav li {
  position: relative;
}

/* Show dropdown on hover/focus (desktop) */
@media (hover: hover) and (pointer: fine) {
  .main-menu li:hover > ul,
  .menu-main li:hover > ul,
  .header-menu li:hover > ul,
  header nav li:hover > ul {
    display: block;
  }
}

/* Dropdown links */
.main-menu ul ul a,
.menu-main ul ul a,
.header-menu ul ul a,
header nav ul ul a {
  display: block;
  padding: 0.55rem 0.75rem;
  border-radius: 10px;
}

/* If your header gets too tight on smaller screens, allow wrap there only */
@media (max-width: 980px) {
  .main-menu > ul,
  .menu-main > ul,
  .header-menu > ul,
  header nav > ul {
    flex-wrap: wrap;
  }
}

/* --- Header logo: allow full 3-line mark without clipping --- */
.header {
  padding-top: 10px;
  padding-bottom: 10px;
}

.header .logo img,
.logo img,
.logo-mobile img {
  max-height: 150px;
}

/* --- Dropdown usability fix: stop submenu from disappearing too quickly --- */

/* Ensure submenu is anchored directly under its parent (no gap) */
.main-menu ul ul,
.menu-main ul ul,
.header-menu ul ul,
header nav ul ul {
  top: 100%;
  left: 0;
  margin-top: 0 !important;
}

/* Create an invisible "hover bridge" below top-level items so the cursor can travel into the submenu */
.main-menu > ul > li::after,
.menu-main > ul > li::after,
.header-menu > ul > li::after,
header nav > ul > li::after {
  content: "";
  position: absolute;
  left: -6px;
  right: -6px;
  top: 100%;
  height: 14px; /* bridge */
}

/* Keep open on hover AND keyboard focus */
.main-menu li:hover > ul,
.main-menu li:focus-within > ul,
.menu-main li:hover > ul,
.menu-main li:focus-within > ul,
.header-menu li:hover > ul,
.header-menu li:focus-within > ul,
header nav li:hover > ul,
header nav li:focus-within > ul {
  display: block;
}

/* --- Services list page: widen container + polish 2-column layout --- */
body.page-services-list .container,
body.page-services-list .container-fluid,
body.page-services-list main .container {
  max-width: 1240px;
}

/* Give the 2-col list more breathing room */
body.page-services-list h1 {
  margin-bottom: 0.35rem;
}
body.page-services-list .content,
body.page-services-list .page-content {
  margin-bottom: 2rem;
}

/* Try to "card-ify" common service summary blocks (Serif variants) */
body.page-services-list .service-summary,
body.page-services-list .service,
body.page-services-list .summary,
body.page-services-list .services .service,
body.page-services-list .services .service-summary {
  background: var(--sc-card-bg, #F4F6F9);
  border: 1px solid var(--sc-card-border, #DDE2E8);
  border-radius: 16px;
  padding: 1.1rem 1.15rem;
  box-shadow: 0 1px 0 rgba(11, 37, 69, 0.04);
}

/* Improve spacing between items */
body.page-services-list .service-summary + .service-summary,
body.page-services-list .service + .service,
body.page-services-list .summary + .summary {
  margin-top: 1rem;
}

/* Headings inside each item */
body.page-services-list .service-summary h2,
body.page-services-list .service h2,
body.page-services-list .summary h2,
body.page-services-list .service-summary h3,
body.page-services-list .service h3,
body.page-services-list .summary h3 {
  color: var(--sc-navy, #0B2545);
  margin-top: 0;
  margin-bottom: 0.35rem;
}

/* Text readability */
body.page-services-list .service-summary p,
body.page-services-list .service p,
body.page-services-list .summary p {
  line-height: 1.6;
}

/* If theme uses a grid wrapper, increase gap */
body.page-services-list .services,
body.page-services-list .service-list,
body.page-services-list .service-grid,
body.page-services-list .grid {
  gap: 1.25rem;
}

/* --- Site-wide width: widen content on large screens (safe) --- */
@media (min-width: 1200px) {
  main .container,
  .content .container,
  .page .container,
  .container {
    max-width: 1240px;
  }
}

/* Keep text blocks readable (don’t stretch paragraphs edge-to-edge) */
@media (min-width: 1200px) {
  main p,
  main li {
    max-width: 78ch;
  }
}

/* =========================================================
   GLOBAL: Full-bleed hero (under header), keep content widths as-is
   Applies to Serif "intro" hero blocks without changing main containers
   ========================================================= */

/* Make the hero break out of the centered container */
.intro {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  /* Start flush under the header/menu line */
  margin-top: 0 !important;

  /* Give the hero some vertical presence */
  padding-top: 42px;
  padding-bottom: 42px;

  position: relative;
}

/* Ensure hero media fills full width cleanly */
.intro .intro-image,
.intro-image {
  width: 100%;
  max-width: 100%;
}

/* If the theme uses an <img> for the hero, make it behave like a banner */
.intro .intro-image img,
.intro-image img {
  width: 100%;
  height: clamp(320px, 46vh, 520px);
  object-fit: cover;
  display: block;
}

/* Keep hero text readable (content width stays controlled) */
.intro .intro-content,
.intro-content {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  position: relative;
  z-index: 2;
}

/* Optional: if your theme injects a dark overlay, keep it stable */
.intro::before {
  pointer-events: none;
}

/* Prevent any accidental horizontal scroll from full-bleed technique */
html, body {
  overflow-x: hidden;
}

/* =========================================================
   GLOBAL HERO FULL-BLEED (stronger)
   Make the HERO MEDIA span 100vw even if intro content stays centered
   ========================================================= */

/* If intro is inside a centered container, break intro itself out */
main .intro,
.page .intro,
.content .intro {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Force the image wrapper to be full-bleed */
main .intro .intro-image,
.page .intro .intro-image,
.content .intro .intro-image,
main .intro-image,
.page .intro-image,
.content .intro-image {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Make the actual image fill the viewport width */
main .intro .intro-image img,
.page .intro .intro-image img,
.content .intro .intro-image img,
main .intro-image img,
.page .intro-image img,
.content .intro-image img {
  width: 100vw !important;
  max-width: 100vw !important;
  height: clamp(320px, 46vh, 520px) !important;
  object-fit: cover !important;
  display: block !important;
}

/* Keep text area constrained (content widths unchanged) */
main .intro .intro-content,
.page .intro .intro-content,
.content .intro .intro-content,
main .intro-content,
.page .intro-content,
.content .intro-content {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* =========================================================
   GLOBAL FULL-BLEED HERO (div.hero inside .intro)
   - Targets the actual hero used on Home (div.hero w/ background-image)
   - Leaves all normal content containers unchanged
   ========================================================= */

/* Let the intro container stop constraining the hero */
.page .intro > .container,
.page-home .intro > .container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Full-bleed the hero banner itself */
.page .intro .hero,
.page-home .intro .hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  /* Full-bleed look: no rounded corners on the hero banner */
  border-radius: 0 !important;

  /* Keep the background behaving like a banner */
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Keep hero text readable without widening the site content */
.page .intro .hero > * ,
.page-home .intro .hero > * {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* Prevent horizontal scroll from full-bleed technique */
html, body { overflow-x: hidden; }

/* ================================
   Private Server Solutions (scoped)
   ================================ */

body.page-private-server-solutions .cards {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

body.page-private-server-solutions .cards.cards-3 {
  row-gap: 1.25rem;
}

body.page-private-server-solutions .cards.cards-3 .card {
  height: 100%;
}

/* CTA block */
body.page-private-server-solutions .sc-cta {
  margin-top: 2.25rem;
  padding: 1.5rem;
  border: 1px solid #DDE2E8;
  background: #F4F6F9;
  border-radius: 12px;
}

body.page-private-server-solutions .sc-cta h3 {
  margin: 0 0 .5rem;
  color: #0B2545;
}

body.page-private-server-solutions .sc-cta p {
  margin: 0 0 1rem;
}

body.page-private-server-solutions .sc-cta p:last-child {
  margin-bottom: 0;
}

/* ================================
   Private Server Solutions (safe scope)
   Scope: pages that use .services-single-hero + cards system + sc-cta
   ================================ */

/* Cards spacing + consistent row feel */
.services-single-hero ~ .cards {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.cards.cards-3 {
  row-gap: 1.25rem;
}

/* Make cards behave like equal-height blocks in the same row */
.cards.cards-3 .card {
  height: 100%;
}

/* CTA block (only used on Private Server Solutions right now) */
.sc-cta {
  margin-top: 2.25rem;
  padding: 1.5rem;
  border: 1px solid #DDE2E8;
  background: #F4F6F9;
  border-radius: 12px;
}

.sc-cta h3 {
  margin: 0 0 .5rem;
  color: #0B2545;
}

.sc-cta p {
  margin: 0 0 1rem;
}

.sc-cta p:last-child {
  margin-bottom: 0;
}

/* SKYCLOUD-CTA-BOX v1 */
.sc-cta{
  margin-top: 2rem;
  padding: 1.5rem 1.75rem;
  background: #F4F6F9;
  border: 1px solid #DDE2E8;
  border-radius: 12px;
}
.sc-cta h3{
  margin-top: 0;
  color: #0B2545;
  font-weight: 700;
}
.sc-cta p:last-child{
  margin-bottom: 0;
}

/* CARDS-2 v1 */
.cards.cards-2{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
@media (max-width: 992px){
  .cards.cards-2{ grid-template-columns: 1fr; }
}

/* CARDS-3 v1 (make cards-3 actually be a grid) */
.cards.cards-3{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
@media (max-width: 992px){
  .cards.cards-3{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 576px){
  .cards.cards-3{ grid-template-columns: 1fr; }
}


/* CARDS-3-GRID v1 */
/* CARDS-3-GRID v1 (global; used by services pages like Voice & Vision Pricing) */
.cards{
  display: grid;
  gap: 1.25rem;
  align-items: stretch;
}

/* 3-col cards */
.cards.cards-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 992px){
  .cards.cards-3{ grid-template-columns: 1fr; }
}

/* 2-col cards */
.cards.cards-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 992px){
  .cards.cards-2{ grid-template-columns: 1fr; }
}

/* Card look */
.cards .card{
  border: 1px solid #DDE2E8;
  background: #FFFFFF;
  border-radius: 12px;
  padding: 1.25rem;
  height: 100%;
}
.cards .card h3{ margin-top: 0; }

/* ================================
   CARDS-SYSTEM-FINAL v1 (authoritative)
   Purpose: override earlier duplicate/conflicting cards rules
   ================================ */

/* Base cards grid */
.cards{
  display: grid;
  gap: 1.25rem;
  align-items: stretch;
}

/* 3-column cards */
.cards.cards-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 992px){
  .cards.cards-3{ grid-template-columns: 1fr; }
}

/* 2-column cards */
.cards.cards-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 992px){
  .cards.cards-2{ grid-template-columns: 1fr; }
}

/* Card box */
.cards > .card{
  height: 100%;
}

/* SKYCLOUD-CARD-BG-FIX v1 (global) */
.card,
.cards .card,
.cards > .card{
  background-color: #F4F6F9 !important;
}



/* SKYCLOUD-CARDS-BG-AND-VV-FULLBLEED v1 */

/* 1) GLOBAL: restore card box look everywhere */
.cards > .card,
.cards .card,
.card {
  background: #ffffff;
  border: 1px solid #DDE2E8;
  border-radius: 12px;
  padding: 1.25rem;
}

/* keep headings/tight spacing readable inside cards */
.cards .card h3 { margin-top: 0; }
.cards .card p:last-child { margin-bottom: 0; }

/* 2) Voice & Vision PRICING: full-bleed section (wider than theme container) */
.vv-pricing-fullbleed {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

/* keep inner content from going too wide on big monitors */
/* Full-bleed section for Voice & Vision pricing page */
.vv-pricing-fullbleed{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-left: 2rem;
  padding-right: 2rem;
}

/* Let the content actually breathe full-width (not constrained) */
.vv-pricing-fullbleed .cards,
.vv-pricing-fullbleed .sc-cta{
  max-width: none;
}

/* Optional: keep an upper bound so it doesn’t look stretched on ultrawide */
@media (min-width: 1400px){
  .vv-pricing-fullbleed .cards,
  .vv-pricing-fullbleed .sc-cta{
    width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Clean up the top gap so hero-to-content looks like other pages */
.vv-pricing-fullbleed .skycloud-hero{
  margin-bottom: 1.25rem;
}

/* SKYCLOUD-CARD-BG-GLOBAL v1
   Restore card fill globally (background color was lost). */
.card,
.cards .card,
.card-grid > .card{
  background: #F4F6F9;
  border: 1px solid #DDE2E8;
  border-radius: 12px;
  padding: 1.25rem;
}


/* normal spacing */
.vv-pricing-fullbleed .cards{
  gap: 1.25rem;
}

.vv-pricing-fullbleed hr{
  margin: 2rem 0;
}

/* Hero stays full-bleed (only the hero) */
.vv-pricing-fullbleed .skycloud-hero{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* spacing polish */
.vv-pricing-fullbleed hr{ margin: 2rem 0; }
.vv-pricing-fullbleed .cards{ gap: 1.25rem; }

/* keep inner blocks from stretching too wide */
/* breathe between sections */
.vv-pricing-fullbleed hr{
  margin: 2rem 0;
}

/* cards spacing */
.vv-pricing-fullbleed .cards{
  gap: 1.25rem;
}

/* cleanup: hide the empty theme title strip on this page only
   (targets the wrapper being present in the page DOM) */
body:has(.vv-pricing-fullbleed) h1.title{
  display: none !important;
}
body:has(.vv-pricing-fullbleed) .container.pb-6.pt-6{
  padding-top: 1rem !important;
}


/* Consistent spacing + breathing room */
.vv-pricing-fullbleed .cards{ gap: 1.25rem; }
.vv-pricing-fullbleed hr{ margin: 2rem 0; }

/* Ensure the hero aligns with the centered page (no odd offsets) */
.vv-pricing-fullbleed .skycloud-hero{
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 1.25rem;
}

/* VV-PRICING-CENTERING v1
   The theme wraps content in .col-md-8 which makes the page feel shoved/skinny.
   This widens + centers the pricing page content without touching other pages. */
body.page-default-single .vv-pricing-fullbleed{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

/* Override the theme’s narrow column ONLY when it contains our VV wrapper */
body.page-default-single .col-md-8:has(.vv-pricing-fullbleed){
  flex: 0 0 100%;
  max-width: 100%;
}

body.page-default-single .row.justify-content-start:has(.vv-pricing-fullbleed){
  justify-content: center;
}


/* spacing / breathing room */
.vv-pricing-fullbleed .cards{
  gap: 1.25rem;
}
.vv-pricing-fullbleed hr{
  margin: 2rem 0;
}

/* Make sure nothing inside causes a sideways push */
.vv-pricing-fullbleed *{
  max-width: 100%;
}

/* VV-PRICING-CARDS-RESPONSIVE v1
   Prevent the 3rd card from being cut off by making the grid responsive. */
.vv-pricing-fullbleed .cards.cards-3{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

@media (max-width: 1100px){
  .vv-pricing-fullbleed .cards.cards-3{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px){
  .vv-pricing-fullbleed .cards.cards-3{
    grid-template-columns: 1fr;
  }
}

/* VV-PRICING-VIEWPORT-CENTER v1
   Center the VV pricing content on the viewport (not the theme’s left column)
   and prevent the 3rd card from being clipped. */
.vv-pricing-fullbleed{
  box-sizing: border-box !important;
  width: min(1200px, calc(100vw - 3rem)) !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Make the 3-card layout responsive + unbreakable */
.vv-pricing-fullbleed .cards.cards-3{
  width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
}

/* Make sure cards are allowed to shrink instead of overflowing */
.vv-pricing-fullbleed .card{
  min-width: 0 !important;
}

@media (max-width: 1100px){
  .vv-pricing-fullbleed .cards.cards-3{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 720px){
  .vv-pricing-fullbleed .cards.cards-3{
    grid-template-columns: 1fr !important;
  }
}

/* VV-PRICING-FULLWIDTH v1
   Full-width wrapper (matches other pages), but keep content centered. */
.vv-pricing-fullbleed{
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Center the content rail */
.vv-pricing-fullbleed > *{
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
}

/* Cards: responsive grid that never clips */
.vv-pricing-fullbleed .cards.cards-3{
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  box-sizing: border-box !important;
}
.vv-pricing-fullbleed .card{ min-width: 0 !important; }

@media (max-width: 1100px){
  .vv-pricing-fullbleed .cards.cards-3{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 720px){
  .vv-pricing-fullbleed .cards.cards-3{ grid-template-columns: 1fr !important; }
}


/* Hero should be full-bleed */
.vv-pricing-fullbleed .skycloud-hero{
  width: 100%;
  margin: 0 0 1.25rem 0;
}

/* Everything under the hero is centered and padded */
.vv-pricing-fullbleed > :not(.skycloud-hero){
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  box-sizing: border-box;
}

/* Cards grid: true 3-up on desktop, collapses on smaller screens */
.vv-pricing-fullbleed .cards.cards-3{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

@media (max-width: 992px){
  .vv-pricing-fullbleed .cards.cards-3{
    grid-template-columns: 1fr;
  }
}

/* VV-PRICING-LAYOUT v6
   Hard override: hero must be full-bleed; content under hero centered; no clipping. */
.vv-pricing-fullbleed{
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* HERO: force full-bleed even if theme applies max-width/margins */
.vv-pricing-fullbleed .skycloud-hero{
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  border-radius: 0 !important;
}

/* Keep hero text/buttons readable and aligned */
.vv-pricing-fullbleed .skycloud-hero-inner{
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 1.25rem !important;
  box-sizing: border-box !important;
}

/* EVERYTHING BELOW HERO: centered page width */
.vv-pricing-fullbleed > :not(.skycloud-hero){
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
  box-sizing: border-box !important;
}

/* Cards grid: true 3-up on desktop, stack on smaller */
.vv-pricing-fullbleed .cards.cards-3{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  overflow: visible !important;
}

@media (max-width: 992px){
  .vv-pricing-fullbleed .cards.cards-3{
    grid-template-columns: 1fr !important;
  }
}

/* SKYCLOUD-CONTACT-FORM v1
   Contact page form layout polish (scoped, minimal). */

.skycloud-section{ padding: 3rem 0; }
.skycloud-container{ max-width: 1100px; margin: 0 auto; padding: 0 1.25rem; }

.skycloud-lead{ margin-top: .5rem; margin-bottom: 1.5rem; }

.skycloud-form-wrap{ margin-top: 1.5rem; }
.skycloud-form-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 900px){
  .skycloud-form-grid{ grid-template-columns: 1fr; }
}

.skycloud-form-card,
.skycloud-side-card{
  background: #F4F6F9;
  border: 1px solid #DDE2E8;
  border-radius: 12px;
  padding: 1.25rem;
}

.skycloud-form-actions{
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.skycloud-form-note{ margin-top: 1rem; }

.skycloud-steps{ padding-left: 1.25rem; }

/* SKYCLOUD-CONTACT-FORM v2
   Contact page: make fields align, and make textareas expandable/usable */
.skycloud-form-grid{
  align-items: start;
}

.skycloud-form-grid label{
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.skycloud-form-grid input[type="text"],
.skycloud-form-grid input[type="email"],
.skycloud-form-grid input[type="tel"],
.skycloud-form-grid select,
.skycloud-form-grid textarea{
  width: 100%;
  box-sizing: border-box;
}

.skycloud-form-grid textarea{
  min-height: 120px;
  resize: vertical;
}

/* checkbox rows: keep words from visually running together */
.skycloud-form-grid input[type="checkbox"]{
  margin-right: .35rem;
}

/* SKYCLOUD-CONTACT-FORM v3
   Contact form: fix textarea usability + spacing */
.skycloud-form-grid textarea{
  min-height: 160px;
  resize: vertical;
  width: 100%;
  box-sizing: border-box;
}

/* If any checkbox row text runs together, give breathing room */
.skycloud-form-grid{
  column-gap: 1.25rem;
  row-gap: .9rem;
}

/* SKYCLOUD-CONTACT-FIXES v4
   Tight, safe fixes:
   1) Prevent "OtherWhat" run-together in checkbox rows
   2) Make textareas feel normal + expandable (not giant slabs)
*/
.skyloud-form-grid label { display: block; }

/* Checkbox rows: force spacing + wrapping */
.skyloud-checks,
.skycloud-checks { display: block; }

.skyloud-checks label,
.skycloud-checks label{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-right: 1rem;
  margin-bottom: .5rem;
  white-space: normal;
}

/* Ensure the label text never glues to the next label */
.skyloud-checks label::after,
.skycloud-checks label::after{
  content: " ";
}

/* Textareas: normal size + user-resizable */
.skyloud-form textarea,
.skycloud-form textarea{
  width: 100%;
  min-height: 110px;
  height: auto;
  resize: vertical;
  line-height: 1.35;
}

/* Keep the 2nd textarea from looking huge if empty */
.skyloud-form textarea[name="Special Requirements"],
.skycloud-form textarea[name="Special Requirements"]{
  min-height: 90px;
}


/* HERO: add subtle overlay so text reads on the image */
.skycloud-client-portal .skycloud-hero{
  position: relative;
}
.skycloud-client-portal .skycloud-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,.15));
  pointer-events: none;
}
.skycloud-client-portal .skycloud-hero-inner{
  position: relative;
  z-index: 1;
}
.skycloud-client-portal .skycloud-hero h1,
.skycloud-client-portal .skycloud-hero p{
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,.45);
}

/* HERO buttons: spread out, wrap nicely, no crowding */
.skycloud-client-portal .skycloud-hero-buttons{
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  align-items: center;
  margin-top: .75rem;
}
.skycloud-client-portal .skycloud-hero-buttons .button{
  margin: 0;
}

/* SKYCLOUD-CLIENT-PORTAL-CARDS v1
   Clean card backgrounds for Client Portal content blocks (hero untouched). */
.skycloud-client-portal .skycloud-cp-cards{
  display: grid;
  gap: 1.25rem;
}

.skycloud-client-portal .skycloud-cp-card{
  background: #F4F6F9;
  border: 1px solid #DDE2E8;
  border-radius: 12px;
  padding: 1.25rem;
}

.skycloud-client-portal .skycloud-cp-card h2,
.skycloud-client-portal .skycloud-cp-card h3{
  margin-top: 0;
}

.skycloud-client-portal .skycloud-hero{
  margin-bottom: 1.25rem;
}


/* HERO: force readable white text + add a subtle overlay */
.scycloud-client-portal .skycloud-hero{
  position: relative;
  overflow: hidden;
}
.scycloud-client-portal .skycloud-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}
.scycloud-client-portal .skycloud-hero-inner{
  position: relative;
}
.scycloud-client-portal .skycloud-hero-inner h1,
.scycloud-client-portal .skycloud-hero-inner p,
.scycloud-client-portal .skycloud-brand{
  color: #fff !important;
}

/* HERO BUTTONS: space them out neatly */
.scycloud-client-portal .skycloud-hero-buttons{
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1rem;
}
.scycloud-client-portal .skycloud-hero-buttons .button{
  margin: 0 !important;
}

/* Card look (match the Contact page feel) */
.scycloud-cp-card{
  background: #F4F6F9;
  border: 1px solid #DDE2E8;
  border-radius: 12px;
  padding: 1.25rem;
  margin: 0 0 1.25rem 0;
}

/* Keep lists inside cards tidy */
.scycloud-cp-card ul{
  margin-top: .75rem;
  margin-bottom: 0;
  padding-left: 1.1rem;
}

/* Hero readability: add overlay + brighter text */
.scycloud-client-portal .skycloud-hero{
  position: relative;
  overflow: hidden;
}
.scycloud-client-portal .skycloud-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}
.scycloud-client-portal .skycloud-hero-inner{
  position: relative;
  color: #fff;
}
.scycloud-client-portal .skycloud-hero-inner h1,
.scycloud-client-portal .skycloud-hero-inner p,
.scycloud-client-portal .skycloud-brand{
  color: #fff;
}

/* Buttons: spacing + wrap so they don’t bunch up */
.scycloud-client-portal .skycloud-hero-buttons{
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.scycloud-client-portal .skycloud-hero-buttons .button{
  margin: 0;
}

/* Remove empty placeholder blocks on Client Portal only */
.scycloud-client-portal .vv-card:empty{
  display: none;
}


/* Force readable hero: darker overlay + white text */
.scycloud-client-portal section.scycloud-hero{
  position: relative !important;
  overflow: hidden !important;
}
.scycloud-client-portal section.scycloud-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55) !important;
  z-index: 1;
}
.scycloud-client-portal section.scycloud-hero .skycloud-hero-inner{
  position: relative !important;
  z-index: 2;
}
.scycloud-client-portal section.scycloud-hero .skycloud-brand,
.scycloud-client-portal section.scycloud-hero h1,
.scycloud-client-portal section.scycloud-hero p{
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.55) !important;
}

/* Buttons: spread out with gap, no bunching */
.scycloud-client-portal section.scycloud-hero .skycloud-hero-buttons{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .75rem !important;
  margin-top: 1rem !important;
  align-items: center !important;
}
.scycloud-client-portal section.scycloud-hero .skycloud-hero-buttons p{
  margin: 0 !important;
}
.scycloud-client-portal section.scycloud-hero .skycloud-hero-buttons .button{
  margin: 0 !important;
}

/* SKYCLOUD-CLIENT-PORTAL v5
   Force hero readability + clean button spacing (client portal only). */
.skycloud-client-portal .skycloud-hero{
  position: relative !important;
  overflow: hidden !important;
  background-position: center !important;
  background-size: cover !important;
}

/* Dark overlay for readability */
.skycloud-client-portal .skycloud-hero::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,.60) !important;
  z-index: 0 !important;
}

/* Put hero content above overlay */
.skycloud-client-portal .skycloud-hero-inner{
  position: relative !important;
  z-index: 1 !important;
}

/* FORCE white text in hero */
.skycloud-client-portal .skycloud-hero h1,
.skycloud-client-portal .skycloud-hero p,
.skycloud-client-portal .skycloud-hero a{
  color: #fff !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.55) !important;
}

/* Un-jumble buttons */
.skycloud-client-portal .skycloud-hero-buttons{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
}

/* Kill theme margins that bunch buttons */
.skycloud-client-portal .skycloud-hero-buttons p{
  margin: 0 !important;
}

/* Consistent button sizing */
.skycloud-client-portal .skycloud-hero-buttons .button{
  margin: 0 !important;
  padding: 0.85rem 1.15rem !important;
}

/* SKYCLOUD-CLIENT-PORTAL-HERO v5
   Proper vertical centering for hero button labels */
#client-portal-hero .skycloud-hero-buttons .button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 42px !important;
  padding: 0 18px !important;

  line-height: 1 !important;
}

/* HOME-HERO-DEHAZE v1 */
.page-home .intro::before,
.page-home .hero::before,
.page-home .hero-image::before,
.page-home .hero .overlay,
.page-home .intro .overlay {
  opacity: 0.06 !important;
  background: rgba(255,255,255,0.06) !important;
}

.page-home .intro,
.page-home .hero,
.page-home .hero-image,
.page-home .intro-image {
  filter: none !important;
}

.page-home .hero-image img,
.page-home .intro img,
.page-home img.hero-image {
  opacity: 1 !important;
  filter: none !important;
}

.page-home .intro h1,
.page-home .intro p {
  text-shadow: 0 2px 10px rgba(0,0,0,0.28) !important;
}
/* END HOME-HERO-DEHAZE v1 */

/* SERVICES-CARDS-ALIGN v1
   Make /services/ tiles equal height & aligned without changing layout */
.page-services .container .row > [class*="col-"]{
  display: flex;
}
.page-services .service.service-summary{
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.page-services .service.service-summary .service-content{
  flex: 1 1 auto;
}
/* END SERVICES-CARDS-ALIGN v1 */

/* SERVICES-CARDS-CLAMP v1
   Keep /services/ tiles visually even by clamping long excerpts */
.page-services .service.service-summary .service-content p{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;   /* adjust to 5–8 if you want */
  overflow: hidden;
}
/* END SERVICES-CARDS-CLAMP v1 */

/* SERVICES-TILES-EQUALIZE v1 */
/* Make /services tiles same height and aligned, without affecting other pages */
body.page-services-list .container.pt-6.pb-6 .row > [class*="col-"]{
  display: flex;
}
body.page-services-list .service.service-summary{
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
body.page-services-list .service.service-summary .service-content{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
body.page-services-list .service.service-summary .service-content p{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
}
/* END SERVICES-TILES-EQUALIZE v1 */


/* --- GLOBAL SITE HERO v1 --- */
.site-hero {
  width: 100%;
  min-height: 420px;
  background-image: url('/img/hero/skycloud-hero-private-digital-workspace.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 900px) {
  .site-hero {
    min-height: 320px;
  }
}

@media (max-width: 640px) {
  .site-hero {
    min-height: 240px;
  }
}

/* --- GLOBAL SITE HERO v2 --- */
.site-hero {
  width: 100%;
  min-height: 300px;
  background-image: url("/img/hero/skycloud-hero-private-digital-workspace.png");
  background-size: cover;
  background-position: center 35%;
  background-repeat: no-repeat;
}

@media (max-width: 900px) {
  .site-hero {
    min-height: 240px;
    background-position: center 32%;
  }
}

@media (max-width: 640px) {
  .site-hero {
    min-height: 180px;
    background-position: center 30%;
  }
}

/* --- SHARED TOP BANNER STANDARD v1 --- */
.sc-top-banner-wrap {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: 2.25rem;
}

.sc-top-banner {
  width: 100%;
  height: 560px;
  background-image: url("/img/hero/skycloud-hero-private-digital-workspace.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 20%;
}

.sc-top-banner-content {
  max-width: 1100px;
  margin: 0 auto 2.5rem auto;
  padding: 0 1.25rem;
}

.sc-top-banner-content h1 {
  margin: 0 0 .75rem 0;
}

.sc-top-banner-content p.sc-top-banner-lead {
  font-size: 1.15rem;
  line-height: 1.7;
  max-width: 860px;
  margin: 0 0 1.25rem 0;
}

.sc-top-banner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}

.sc-top-banner-actions .button,
.sc-top-banner-actions a {
  display: inline-block;
  padding: .9rem 1.8rem;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
}

.sc-top-banner-actions .button-primary,
.sc-top-banner-actions .sc-btn-primary {
  background: #0050c8;
  color: #fff;
}

.sc-top-banner-actions .button-secondary,
.sc-top-banner-actions .sc-btn-secondary {
  background: #e8eef8;
  color: #1c2d48;
}

@media (max-width: 900px) {
  .sc-top-banner {
    height: 400px;
    background-position: center 18%;
  }
}

@media (max-width: 640px) {
  .sc-top-banner {
    height: 300px;
    background-position: center 16%;
  }
}

/* --- FULL IMAGE HEADER STANDARD v2 --- */
.sc-top-banner-wrap {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: 1.5rem;
  line-height: 0;
}

.sc-top-banner-image {
  display: block;
  width: 100%;
  height: auto;
}

.sc-top-banner-content {
  max-width: 1100px;
  margin: 0 auto 2.25rem auto;
  padding: 0 1.25rem;
}

/* CLIENT PORTAL LAYOUT */
.portal-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.portal-lead {
  max-width: 700px;
  margin: 0 auto;
  font-size: 1.1rem;
}

.portal-actions {
  text-align: center;
  margin: 2rem 0 3rem;
}

.portal-btn {
  display: inline-block;
  padding: 12px 22px;
  border-radius: 8px;
  text-decoration: none;
  margin: 8px;
  font-weight: 600;
}

.portal-primary {
  background: #0050c8;
  color: #ffffff;
}

.portal-secondary {
  background: #eef3fb;
  color: #1c2d48;
}

.portal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
}

.portal-card {
  background: #f7f9fc;
  padding: 24px;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

.portal-card h3 {
  margin-top: 0;
}

/* --- CLIENT PORTAL CONTENT REDESIGN v1 --- */
.client-portal-shell {
  padding-bottom: 3rem;
}

.portal-content-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.25rem 0 1.25rem;
}

.portal-welcome-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  background: #f7f9fc;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px 28px;
  margin-bottom: 28px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

.portal-welcome-card h2 {
  margin: 0 0 .5rem 0;
}

.portal-welcome-card p {
  margin: 0;
  color: #4b5b71;
}

.portal-action-row,
.portal-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.portal-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.portal-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

.portal-card h3 {
  margin-top: 0;
  margin-bottom: 1rem;
}

.portal-card ul {
  margin: 0;
  padding-left: 1.25rem;
}

.portal-card p {
  color: #4b5b71;
}

.portal-btn {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.2;
}

.portal-btn-primary {
  background: #0050c8;
  color: #ffffff;
}

.portal-btn-secondary {
  background: #eef3fb;
  color: #1c2d48;
}

@media (max-width: 900px) {
  .portal-welcome-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .portal-card-grid {
    grid-template-columns: 1fr;
  }
}

/* --- CLIENT PORTAL FINAL OVERRIDE v1 --- */

/* kill any old list/intro leftovers on this page only */
.page-client-portal .intro,
.page-client-portal .intro-image,
.page-client-portal .intro-image-absolute,
.page-client-portal .intro-image-hide-mobile,
.page-client-portal .skycloud-cp-cards {
  display: none !important;
}

/* keep hero as-is, but clean transition underneath */
.page-client-portal #client-portal-hero {
  margin-bottom: 0 !important;
}

.page-client-portal .portal-content-wrap {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 1.25rem 3rem 1.25rem !important;
  background: #163a63 !important;
}

/* solid blue welcome band */
.page-client-portal .portal-welcome-card {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
  background: #163a63 !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 28px 0 32px 0 !important;
  margin: 0 !important;
}

.page-client-portal .portal-welcome-card h2,
.page-client-portal .portal-welcome-card p {
  color: #ffffff !important;
  margin-top: 0 !important;
}

.page-client-portal .portal-action-row,
.page-client-portal .portal-card-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

/* card area */
.page-client-portal .portal-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-top: 24px !important;
}

.page-client-portal .portal-card {
  display: block !important;
  background: #ffffff !important;
  border: 1px solid #e5ebf3 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.08) !important;
}

.page-client-portal .portal-card h3 {
  display: block !important;
  margin: 0 0 1rem 0 !important;
}

.page-client-portal .portal-card p,
.page-client-portal .portal-card li,
.page-client-portal .portal-card ul {
  color: #203246 !important;
}

.page-client-portal .portal-card ul {
  margin: 0 !important;
  padding-left: 1.25rem !important;
}

/* real button styling */
.page-client-portal .portal-btn,
.page-client-portal .portal-btn:link,
.page-client-portal .portal-btn:visited {
  display: inline-block !important;
  padding: 12px 18px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.page-client-portal .portal-btn-primary,
.page-client-portal .portal-btn-primary:link,
.page-client-portal .portal-btn-primary:visited {
  background: #0050c8 !important;
  color: #ffffff !important;
}

.page-client-portal .portal-btn-secondary,
.page-client-portal .portal-btn-secondary:link,
.page-client-portal .portal-btn-secondary:visited {
  background: #eef3fb !important;
  color: #1c2d48 !important;
}

/* mobile */
@media (max-width: 900px) {
  .page-client-portal .portal-welcome-card {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .page-client-portal .portal-card-grid {
    grid-template-columns: 1fr !important;
  }
}

/* --- CLIENT PORTAL TEMPLATE CLEANUP v1 --- */
.page-client-portal .client-portal-shell {
  padding-bottom: 3rem;
}

.page-client-portal .portal-content-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.25rem 3rem 1.25rem;
  background: #163a63;
}

.page-client-portal .portal-welcome-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  background: #163a63;
  color: #ffffff;
  padding: 28px 0 32px 0;
  margin: 0;
}

.page-client-portal .portal-welcome-card h1 {
  margin: 0 0 .5rem 0;
  color: #ffffff;
}

.page-client-portal .portal-welcome-card p {
  margin: 0;
  color: #dbe7f8;
}

.page-client-portal .portal-action-row,
.page-client-portal .portal-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.page-client-portal .portal-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 24px;
}

.page-client-portal .portal-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}

.page-client-portal .portal-card h3 {
  margin: 0 0 1rem 0;
}

.page-client-portal .portal-card ul {
  margin: 0;
  padding-left: 1.25rem;
}

.page-client-portal .portal-card p,
.page-client-portal .portal-card li {
  color: #203246;
}

.page-client-portal .portal-btn,
.page-client-portal .portal-btn:link,
.page-client-portal .portal-btn:visited {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.2;
}

.page-client-portal .portal-btn-primary,
.page-client-portal .portal-btn-primary:link,
.page-client-portal .portal-btn-primary:visited {
  background: #0050c8;
  color: #ffffff;
}

.page-client-portal .portal-btn-secondary,
.page-client-portal .portal-btn-secondary:link,
.page-client-portal .portal-btn-secondary:visited {
  background: #eef3fb;
  color: #1c2d48;
}

@media (max-width: 900px) {
  .page-client-portal .portal-welcome-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .page-client-portal .portal-card-grid {
    grid-template-columns: 1fr;
  }
}

/* --- ABOUT PAGE REUSABLE WORKFLOW v1 --- */
.sycloud-about-page .about-shell,
.skycloud-about-page .about-shell {
  padding-bottom: 3rem;
}

.skycloud-about-page .about-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.25rem 3rem 1.25rem;
}

.skycloud-about-page .about-section {
  margin-top: 2rem;
}

.skycloud-about-page .about-section-header {
  max-width: 900px;
  margin: 0 0 1.25rem 0;
}

.skycloud-about-page .about-section-header h2 {
  margin-bottom: .5rem;
}

.skycloud-about-page .about-eyebrow {
  margin: 0 0 .5rem 0;
  font-size: .92rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #48627e;
  font-weight: 700;
}

.skycloud-about-page .about-intro h1 {
  margin: 0 0 1rem 0;
}

.skycloud-about-page .about-lead {
  font-size: 1.12rem;
  line-height: 1.7;
}

.skycloud-about-page .about-section-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  margin-bottom: 1.25rem;
}

.skycloud-about-page .about-section-card-accent {
  background: linear-gradient(180deg, #f4f8fd 0%, #edf4fb 100%);
  border-color: #d7e4f3;
}

.skycloud-about-page .about-final-card {
  background: #163a63;
  border-color: #163a63;
}

.skycloud-about-page .about-final-card p {
  color: #ffffff;
}

.skycloud-about-page .about-principles-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 1.25rem;
}

.skycloud-about-page .about-two-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 1.25rem;
}

.skycloud-about-page .about-principle-card {
  background: #f7f9fc;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 4px 14px rgba(0,0,0,.05);
}

.skycloud-about-page .about-principle-card h3 {
  margin: 0 0 .45rem 0;
  color: #163a63;
}

.skycloud-about-page .about-principle-card p {
  margin: 0;
}

@media (max-width: 900px) {
  .skycloud-about-page .about-principles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .skycloud-about-page .about-two-card-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .skycloud-about-page .about-principles-grid {
    grid-template-columns: 1fr;
  }

  .skycloud-about-page .about-wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* --- MISSION VALUES REUSABLE WORKFLOW v1 --- */
.skycloud-mission-values-page .mv-shell {
  padding-bottom: 3rem;
}

.skycloud-mission-values-page .mv-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.25rem 3rem 1.25rem;
}

.skycloud-mission-values-page .mv-section {
  margin-top: 2rem;
}

.skycloud-mission-values-page .mv-section-header {
  max-width: 900px;
  margin: 0 0 1.25rem 0;
}

.skycloud-mission-values-page .mv-section-header h2 {
  margin-bottom: .5rem;
}

.skycloud-mission-values-page .mv-eyebrow {
  margin: 0 0 .5rem 0;
  font-size: .92rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #48627e;
  font-weight: 700;
}

.skycloud-mission-values-page .mv-intro h1 {
  margin: 0 0 1rem 0;
}

.skycloud-mission-values-page .mv-lead {
  font-size: 1.12rem;
  line-height: 1.7;
}

.skycloud-mission-values-page .mv-section-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  margin-bottom: 1.25rem;
}

.skycloud-mission-values-page .mv-section-card-accent {
  background: linear-gradient(180deg, #f4f8fd 0%, #edf4fb 100%);
  border-color: #d7e4f3;
}

.skycloud-mission-values-page .mv-values-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.skycloud-mission-values-page .mv-value-card {
  background: #f7f9fc;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 4px 14px rgba(0,0,0,.05);
}

.skycloud-mission-values-page .mv-value-card h3 {
  margin: 0 0 .55rem 0;
  color: #163a63;
}

.skycloud-mission-values-page .mv-value-card p {
  margin: 0;
}

@media (max-width: 900px) {
  .skycloud-mission-values-page .mv-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .skycloud-mission-values-page .mv-values-grid {
    grid-template-columns: 1fr;
  }

  .skycloud-mission-values-page .mv-wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* --- SERVICES CHILD PAGE WORKFLOW v1 --- */
.skycloud-service-child-page .service-child-shell {
  padding-bottom: 3rem;
}

.skycloud-service-child-page .service-child-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 2rem 1.25rem 3rem 1.25rem;
}

.skycloud-service-child-page .service-child-header-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  margin-bottom: 1.25rem;
}

.skycloud-service-child-page .service-child-eyebrow {
  margin: 0 0 .5rem 0;
  font-size: .92rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #48627e;
  font-weight: 700;
}

.skycloud-service-child-page .service-child-header-card h1 {
  margin: 0 0 .75rem 0;
}

.skycloud-service-child-page .service-child-lead {
  font-size: 1.12rem;
  line-height: 1.7;
  margin: 0;
}

.skycloud-service-child-page .service-child-content-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
}

.skycloud-service-child-page .service-child-content-card h2,
.skycloud-service-child-page .service-child-content-card h3 {
  color: #163a63;
  margin-top: 2rem;
}

.skycloud-service-child-page .service-child-content-card h2:first-child,
.skycloud-service-child-page .service-child-content-card h3:first-child {
  margin-top: 0;
}

.skycloud-service-child-page .service-child-content-card hr {
  border: 0;
  border-top: 1px solid #dbe5f0;
  margin: 2rem 0;
}

.skycloud-service-child-page .service-child-content-card ul {
  margin-bottom: 1.25rem;
}

.skycloud-service-child-page .service-child-content-card p,
.skycloud-service-child-page .service-child-content-card li {
  line-height: 1.75;
}

.skycloud-service-child-page .service-child-content-card strong {
  color: #163a63;
}

@media (max-width: 640px) {
  .skycloud-service-child-page .service-child-wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .skycloud-service-child-page .service-child-content-card {
    padding: 22px;
  }
}

/* --- SELF HOSTED SOLUTIONS PAGE v1 --- */
.page-services-single .service-child-content-card .shs-intro-card,
.page-services-single .service-child-content-card .shs-bottom-card {
  background: #f8fbff;
  border: 1px solid #dbe7f3;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

.page-services-single .service-child-content-card .shs-intro-card {
  margin-bottom: 28px;
}

.page-services-single .service-child-content-card .shs-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 32px;
}

.page-services-single .service-child-content-card .shs-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.page-services-single .service-child-content-card .shs-card h3,
.page-services-single .service-child-content-card .shs-intro-card h2,
.page-services-single .service-child-content-card .shs-bottom-card h2 {
  margin-top: 0;
  color: #163a63;
}

.page-services-single .service-child-content-card .shs-replaces {
  color: #4b5b71;
  margin-bottom: .9rem;
}

.page-services-single .service-child-content-card .shs-card ul,
.page-services-single .service-child-content-card .shs-bottom-card ul {
  margin-bottom: 1rem;
}

.page-services-single .service-child-content-card .shs-bottom-card {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

.page-services-single .service-child-content-card .shs-bottom-card ul {
  display: inline-block;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 900px) {
  .page-services-single .service-child-content-card .shs-grid {
    grid-template-columns: 1fr;
  }
}

/* --- PRICING CLOSING CARD RESTORE v1 --- */
.page-default-list .intro .col-12.col-lg-10 > div[style*="max-width:860px"] {
  max-width: 860px !important;
  margin: 72px auto 0 auto !important;
  background: #ffffff !important;
  border: 1px solid #e5ebf3 !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.06) !important;
  padding: 34px 38px !important;
  text-align: center !important;
}

.page-default-list .intro .col-12.col-lg-10 > div[style*="max-width:860px"] h3 {
  margin-top: 0 !important;
  margin-bottom: .85rem !important;
}

.page-default-list .intro .col-12.col-lg-10 > div[style*="max-width:860px"] p {
  margin-bottom: 1rem !important;
}

.page-default-list .intro .col-12.col-lg-10 > div[style*="max-width:860px"] > div {
  text-align: left !important;
  max-width: 540px !important;
  margin: 0 auto !important;
  line-height: 1.85 !important;
}

@media (max-width: 640px) {
  .page-default-list .intro .col-12.col-lg-10 > div[style*="max-width:860px"] {
    padding: 24px 22px !important;
    margin-top: 48px !important;
  }
}

/* --- PRIVATE CLOUD PLATFORM PAGE v1 --- */
.page-services-single .service-child-content-card .pcp-intro-card,
.page-services-single .service-child-content-card .pcp-steps-card,
.page-services-single .service-child-content-card .pcp-cta-card {
  background: #f8fbff;
  border: 1px solid #dbe7f3;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

.page-services-single .service-child-content-card .pcp-intro-card {
  margin-bottom: 28px;
}

.page-services-single .service-child-content-card .pcp-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 28px;
}

.page-services-single .service-child-content-card .pcp-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.page-services-single .service-child-content-card .pcp-card h3,
.page-services-single .service-child-content-card .pcp-intro-card h2,
.page-services-single .service-child-content-card .pcp-steps-card h3,
.page-services-single .service-child-content-card .pcp-cta-card h3 {
  margin-top: 0;
  color: #163a63;
}

.page-services-single .service-child-content-card .pcp-steps-card {
  margin-bottom: 28px;
}

.page-services-single .service-child-content-card .pcp-cta-card {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.page-services-single .service-child-content-card .pcp-button,
.page-services-single .service-child-content-card .pcp-button:link,
.page-services-single .service-child-content-card .pcp-button:visited {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.2;
  background: #0050c8;
  color: #ffffff;
}

@media (max-width: 900px) {
  .page-services-single .service-child-content-card .pcp-grid {
    grid-template-columns: 1fr;
  }
}

/* --- PRIVATE CLOUD PLATFORM PAGE v2 --- */
.page-services-single .service-child-content-card .pcp-intro-card,
.page-services-single .service-child-content-card .pcp-steps-card,
.page-services-single .service-child-content-card .pcp-cta-card {
  background: #f8fbff;
  border: 1px solid #dbe7f3;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

.page-services-single .service-child-content-card .pcp-intro-card {
  margin-bottom: 28px;
}

.page-services-single .service-child-content-card .pcp-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 28px;
}

.page-services-single .service-child-content-card .pcp-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.page-services-single .service-child-content-card .pcp-card h3,
.page-services-single .service-child-content-card .pcp-intro-card h2,
.page-services-single .service-child-content-card .pcp-steps-card h3,
.page-services-single .service-child-content-card .pcp-cta-card h3 {
  margin-top: 0;
  color: #163a63;
}

.page-services-single .service-child-content-card .pcp-steps-card {
  margin-bottom: 28px;
}

.page-services-single .service-child-content-card .pcp-cta-card {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.page-services-single .service-child-content-card .pcp-button,
.page-services-single .service-child-content-card .pcp-button:link,
.page-services-single .service-child-content-card .pcp-button:visited {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.2;
  background: #0050c8;
  color: #ffffff;
}

@media (max-width: 900px) {
  .page-services-single .service-child-content-card .pcp-grid {
    grid-template-columns: 1fr;
  }
}

/* --- HOMEPAGE AUDIENCE + COMPARISON v1 --- */
.page-home .homepage-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 1.5rem 0 2rem 0;
}

.page-home .homepage-card {
  background: #f8fbff;
  border: 1px solid #dbe7f3;
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.page-home .homepage-card h3 {
  margin: 0 0 .5rem 0;
  color: #163a63;
}

.page-home .homepage-card p {
  margin: 0;
  line-height: 1.7;
}

.page-home .homepage-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 1.5rem 0 2rem 0;
}

.page-home .compare-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.page-home .compare-card.highlight {
  background: linear-gradient(180deg, #f4f8fd 0%, #edf4fb 100%);
  border-color: #d7e4f3;
}

.page-home .compare-card h3 {
  margin-top: 0;
  color: #163a63;
}

.page-home .homepage-cta {
  max-width: 860px;
  margin: 0 auto 2rem auto;
  background: #163a63;
  border: 1px solid #163a63;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  padding: 28px 32px;
  text-align: center;
  color: #ffffff;
  font-weight: 600;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .page-home .homepage-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-home .homepage-compare {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .page-home .homepage-card-grid {
    grid-template-columns: 1fr;
  }
}

/* --- SERVICES OVERVIEW PAGE v1 --- */
.page-services-single .service-child-content-card .services-overview-intro,
.page-services-single .service-child-content-card .services-overview-cta {
  background: #f8fbff;
  border: 1px solid #dbe7f3;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

.page-services-single .service-child-content-card .services-overview-intro {
  margin-bottom: 28px;
}

.page-services-single .service-child-content-card .services-overview-intro h2,
.page-services-single .service-child-content-card .services-overview-group h3,
.page-services-single .service-child-content-card .services-overview-link-card h3,
.page-services-single .service-child-content-card .services-overview-cta h3 {
  margin-top: 0;
  color: #163a63;
}

.page-services-single .service-child-content-card .services-overview-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 28px;
}

.page-services-single .service-child-content-card .services-overview-group {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.page-services-single .service-child-content-card .services-overview-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 28px;
}

.page-services-single .service-child-content-card .services-overview-link-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.page-services-single .service-child-content-card .services-overview-cta {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

.page-services-single .service-child-content-card .services-overview-button,
.page-services-single .service-child-content-card .services-overview-button:link,
.page-services-single .service-child-content-card .services-overview-button:visited {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.2;
  background: #0050c8;
  color: #ffffff;
}

@media (max-width: 900px) {
  .page-services-single .service-child-content-card .services-overview-groups,
  .page-services-single .service-child-content-card .services-overview-links {
    grid-template-columns: 1fr;
  }
}

/* --- MINISTRY SOLUTIONS PAGE v1 --- */
.skycloud-ministry-page .ministry-shell {
  padding-bottom: 3rem;
}

.skycloud-ministry-page .ministry-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.25rem 3rem 1.25rem;
}

.skycloud-ministry-page .ministry-section {
  margin-top: 2rem;
}

.skycloud-ministry-page .ministry-eyebrow {
  margin: 0 0 .5rem 0;
  font-size: .92rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #48627e;
  font-weight: 700;
}

.skycloud-ministry-page .ministry-intro-card,
.skycloud-ministry-page .ministry-cta-card {
  background: #f8fbff;
  border: 1px solid #dbe7f3;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

.skycloud-ministry-page .ministry-intro-card h1,
.skycloud-ministry-page .ministry-section-header h2,
.skycloud-ministry-page .ministry-card h3,
.skycloud-ministry-page .ministry-cta-card h2 {
  margin-top: 0;
  color: #163a63;
}

.skycloud-ministry-page .ministry-lead {
  font-size: 1.12rem;
  line-height: 1.7;
}

.skycloud-ministry-page .ministry-section-header {
  max-width: 900px;
  margin: 0 0 1.25rem 0;
}

.skycloud-ministry-page .ministry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.skycloud-ministry-page .ministry-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.skycloud-ministry-page .ministry-cta-card {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.skycloud-ministry-page .ministry-button,
.skycloud-ministry-page .ministry-button:link,
.skycloud-ministry-page .ministry-button:visited {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.2;
  background: #0050c8;
  color: #ffffff;
}

@media (max-width: 900px) {
  .skycloud-ministry-page .ministry-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .skycloud-ministry-page .ministry-wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* --- BUSINESS SOLUTIONS PAGE v1 --- */
.skycloud-business-page .business-shell {
  padding-bottom: 3rem;
}

.skycloud-business-page .business-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.25rem 3rem 1.25rem;
}

.skycloud-business-page .business-section {
  margin-top: 2rem;
}

.skycloud-business-page .business-eyebrow {
  margin: 0 0 .5rem 0;
  font-size: .92rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #48627e;
  font-weight: 700;
}

.skycloud-business-page .business-intro-card,
.skycloud-business-page .business-cta-card {
  background: #f8fbff;
  border: 1px solid #dbe7f3;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

.skycloud-business-page .business-intro-card h1,
.skycloud-business-page .business-section-header h2,
.skycloud-business-page .business-card h3,
.skycloud-business-page .business-cta-card h2 {
  margin-top: 0;
  color: #163a63;
}

.skycloud-business-page .business-lead {
  font-size: 1.12rem;
  line-height: 1.7;
}

.skycloud-business-page .business-section-header {
  max-width: 900px;
  margin: 0 0 1.25rem 0;
}

.skycloud-business-page .business-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.skycloud-business-page .business-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.skycloud-business-page .business-cta-card {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.skycloud-business-page .business-button,
.skycloud-business-page .business-button:link,
.skycloud-business-page .business-button:visited {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.2;
  background: #0050c8;
  color: #ffffff;
}

@media (max-width: 900px) {
  .skycloud-business-page .business-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .skycloud-business-page .business-wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* --- CASE STUDIES PAGES v1 --- */
.page-default-list .intro .case-studies-intro,
.page-default-single .content h2:first-of-type {
  margin-top: 0;
}

.page-default-list .intro .case-studies-intro {
  background: #f8fbff;
  border: 1px solid #dbe7f3;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
  margin-bottom: 28px;
}

.page-default-list .intro .case-studies-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 24px;
}

.page-default-list .intro .case-study-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.page-default-list .intro .case-study-card h3,
.page-default-list .intro .case-studies-intro h2 {
  margin-top: 0;
  color: #163a63;
}

.page-default-single .content p a[href="/contact/"] {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.2;
  background: #0050c8;
  color: #ffffff;
}

@media (max-width: 900px) {
  .page-default-list .intro .case-studies-grid {
    grid-template-columns: 1fr;
  }
}

/* --- VOICE AND VISION PRICING ALIGNMENT v1 --- */
.vv-pricing-fullbleed .vv-pricing-content-shell {
  max-width: 1100px;
  margin: 28px 6vw 0 auto;
  padding: 0 0 2rem 0;
}

.vv-pricing-fullbleed .vv-pricing-content-shell > p:first-of-type {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px 26px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
  margin-bottom: 1.5rem;
}

.vv-pricing-fullbleed .vv-pricing-content-shell > hr {
  margin: 2rem 0;
}

.vv-pricing-fullbleed .vv-pricing-content-shell > h2,
.vv-pricing-fullbleed .vv-pricing-content-shell > h3 {
  margin-top: 0;
}

.vv-pricing-fullbleed .vv-pricing-content-shell .sc-cta {
  max-width: 860px;
  margin: 2.5rem auto 0 auto;
}

@media (max-width: 1200px) {
  .vv-pricing-fullbleed .vv-pricing-content-shell {
    margin-right: 3vw;
    margin-left: 3vw;
    max-width: none;
  }
}

/* --- VOICE AND VISION PRICING REBUILD v2 --- */
.vv-pricing-fullbleed .vv-pricing-stage {
  width: 100%;
  padding: 28px 0 36px 0;
}

.vv-pricing-fullbleed .vv-pricing-panel {
  width: min(1120px, 78vw);
  margin-left: auto;
  margin-right: 2vw;
}

.vv-pricing-fullbleed .vv-pricing-intro-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px 26px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
  margin-bottom: 1.5rem;
}

.vv-pricing-fullbleed .vv-pricing-panel > h2 {
  margin-top: 0;
}

.vv-pricing-fullbleed .vv-pricing-panel > hr {
  margin: 2rem 0;
}

.vv-pricing-fullbleed .vv-pricing-panel .sc-cta {
  max-width: 860px;
  margin: 2.25rem auto 0 auto;
}

@media (max-width: 1200px) {
  .vv-pricing-fullbleed .vv-pricing-panel {
    margin-right: 3vw;
    margin-left: 3vw;
    max-width: none;
  }
}

/* --- VOICE AND VISION PRICING DEDICATED TEMPLATE v3 --- */
.skycloud-vv-pricing-page .vv-pricing-page-shell {
  padding-bottom: 2.5rem;
}

.skycloud-vv-pricing-page .vv-pricing-stage {
  width: 100%;
  padding: 28px 0 36px 0;
}

.skycloud-vv-pricing-page .vv-pricing-panel {
  width: min(1120px, 84vw);
  margin-left: auto;
  margin-right: 14vw;
}

.skycloud-vv-pricing-page .vv-pricing-intro-card {
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px 26px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
  margin-bottom: 1.5rem;
}

.skycloud-vv-pricing-page .vv-pricing-panel > hr {
  margin: 2rem 0;
}

.skycloud-vv-pricing-page .vv-pricing-panel .sc-cta {
  max-width: 860px;
  margin: 2.25rem auto 0 auto;
}

@media (max-width: 1200px) {
  .skycloud-vv-pricing-page .vv-pricing-panel {
    width: auto;
    margin-left: 3vw;
    margin-right: 3vw;
  }
}

/* --- SOLUTIONS LANDING PAGE v2 --- */
.page-services-list .solutions-page-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.25rem 3rem 1.25rem;
}

.page-services-list .solutions-header-card,
.page-services-list .solutions-cta-card {
  background: #f8fbff;
  border: 1px solid #dbe7f3;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

.page-services-list .solutions-header-card {
  margin-bottom: 28px;
}

.page-services-list .solutions-eyebrow {
  margin: 0 0 .5rem 0;
  font-size: .92rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #48627e;
  font-weight: 700;
}

.page-services-list .solutions-header-card h1,
.page-services-list .solutions-card h3,
.page-services-list .solutions-cta-card h2 {
  margin-top: 0;
  color: #163a63;
}

.page-services-list .solutions-lead {
  font-size: 1.08rem;
  line-height: 1.7;
}

.page-services-list .solutions-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.page-services-list .solutions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 28px;
}

.page-services-list .solutions-card {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #e5ebf3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
  color: inherit;
}

.page-services-list .solutions-card-static {
  cursor: default;
}

.page-services-list .solutions-icon {
  font-size: 1.5rem;
  line-height: 1;
  margin-top: 2px;
}

.page-services-list .solutions-body p {
  margin-bottom: 0;
}

.page-services-list .solutions-cta-card {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

@media (max-width: 900px) {
  .page-services-list .solutions-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .page-services-list .solutions-page-shell {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}\n\n/* LOGO ONLY START */
.header .logo{
  width: 360px;
  height: 86px;
  overflow: visible;
  display: flex;
  align-items: center;
}
.header .logo img{
  height: 110px !important;
  max-height: none !important;
  width: auto !important;
  display: block !important;
  transform: scale(1.95);
  transform-origin: left center;
}
.header .logo-mobile{
  display: none !important;
}
@media (max-width: 767px){
  .header .logo{
    display: none !important;
  }
  .header .logo-mobile{
    width: 220px;
    height: 58px;
    overflow: visible;
    display: flex !important;
    align-items: center;
  }
  .header .logo-mobile img{
    height: 72px !important;
    max-height: none !important;
    width: auto !important;
    display: block !important;
    transform: scale(1.45);
    transform-origin: left center;
  }
}
/* LOGO ONLY END */
\n

/* HERO BOTTOM SPACE START */
.global-hero{
  margin-bottom: 0 !important;
}
.global-hero + .container,
.global-hero + .strip,
.global-hero + section,
.global-hero + div,
.global-hero + main{
  padding-top: 56px !important;
}
@media (max-width: 767px){
  .global-hero + .container,
  .global-hero + .strip,
  .global-hero + section,
  .global-hero + div,
  .global-hero + main{
    padding-top: 32px !important;
  }
}
/* HERO BOTTOM SPACE END */

/* HOMEPAGE CTA BUTTONS START */
.skycloud-home-cta-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:20px;
}
@media (max-width: 767px){
  .skycloud-home-cta-buttons{
    gap:10px;
  }
}
/* HOMEPAGE CTA BUTTONS END */

/* MOBILE HERO DUPLICATE FIX START */
@media (max-width: 767px){
  .global-hero .hero-title-top:nth-of-type(n+2),
  .global-hero h1:nth-of-type(n+2){
    display:none !important;
  }
}
/* MOBILE HERO DUPLICATE FIX END */

/* MOBILE POST HERO TITLE FIX START */
@media (max-width: 767px){
  .global-hero + .container .title:first-of-type,
  .global-hero + .strip .title:first-of-type,
  .global-hero + section .title:first-of-type,
  .global-hero + div .title:first-of-type,
  .global-hero + main .title:first-of-type,
  .global-hero + .container h1:first-of-type,
  .global-hero + .strip h1:first-of-type,
  .global-hero + section h1:first-of-type,
  .global-hero + div h1:first-of-type,
  .global-hero + main h1:first-of-type{
    display:none !important;
  }
}
/* MOBILE POST HERO TITLE FIX END */



/* HERO DUPLICATE TITLE FIX */
@media (max-width: 1024px){

  /* hide theme-generated page title under hero */
  body.page-home h1:not(.hero-title-top){
    display:none !important;
  }

}
/* END HERO DUPLICATE TITLE FIX */

/* MOBILE HERO TITLE RENDER FIX START */
@media (max-width: 1024px){
  .hero-title-top{
    font-size: clamp(1.55rem, 5.8vw, 2.35rem) !important;
    line-height: 1.16 !important;
    text-shadow: 0 1px 4px rgba(0,0,0,.28) !important;
    max-width: 92% !important;
  }
}
@media (max-width: 767px){
  .hero-title-top{
    font-size: clamp(1.35rem, 6vw, 2rem) !important;
    line-height: 1.18 !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.22) !important;
    max-width: 94% !important;
  }
}
/* MOBILE HERO TITLE RENDER FIX END */

/* MOBILE HERO TITLE CLEAN RENDER START */
@media (max-width: 1024px){
  .hero-title-top{
    text-shadow: none !important;
    -webkit-text-stroke: 0 transparent !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: optimizeLegibility !important;
    backface-visibility: hidden !important;
    transform: translateZ(0);
  }
}
@media (max-width: 767px){
  .hero-title-top{
    text-shadow: none !important;
    -webkit-text-stroke: 0 transparent !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: optimizeLegibility !important;
    backface-visibility: hidden !important;
    transform: translateZ(0);
  }
}
/* MOBILE HERO TITLE CLEAN RENDER END */

/* IOS HERO FONT FIX START */
@media (max-width: 1024px){
  .hero-title-top{
    font-family: "Source Sans Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    -webkit-text-stroke: 0 !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: geometricPrecision !important;
    line-height: 1.12 !important;
  }
}
@media (max-width: 767px){
  .hero-title-top{
    font-family: "Source Sans Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    -webkit-text-stroke: 0 !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: geometricPrecision !important;
    line-height: 1.14 !important;
  }
}
/* IOS HERO FONT FIX END */

/* TEMP MOBILE HERO TITLE HIDE START */
@media (max-width: 1024px){
  .hero-title-top{
    display: none !important;
  }
}
/* TEMP MOBILE HERO TITLE HIDE END */

/* TEMP MOBILE HERO INNER HIDE START */
@media (max-width: 1024px){
  .global-hero__inner{
    display: none !important;
  }
}
/* TEMP MOBILE HERO INNER HIDE END */


/* MOBILE HERO SHADOW FIX */
@media (max-width: 1024px){
  .hero-title-top{
    text-shadow: none !important;
  }
}


/* MOBILE ONLY HIDE HERO OVERLAY START */
@media (max-width: 1024px){
  .global-hero__inner{
    display: none !important;
  }
}
/* MOBILE ONLY HIDE HERO OVERLAY END */

