/* CybroHost global body content width
   Matches the main hero .container max-width (1320px).
   Header and footer are intentionally excluded. */
:root{--cyb-body-content-max:1320px;--cyb-body-gutter:24px}

/* Bootstrap-style containers inside the page body */
.cyb-page-main .container{
  max-width:var(--cyb-body-content-max)!important;
}

/* Custom body-section containers used across product/company/domain/legal/home pages */
.cyb-page-main .cybx-container,
.cyb-page-main .cyp-container,
.cyb-page-main .cyd-container,
.cyb-page-main .cyh-container,
.cyb-page-main .cy-legal-shell,
.cyb-page-main .cyb-plans-container{
  width:min(var(--cyb-body-content-max),calc(100% - 48px))!important;
  max-width:var(--cyb-body-content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Other full-width body rows that align to the hero */
.cyb-page-main .cyb-highlight-strip__inner,
.cyb-page-main .cyd-hero-benefits{
  width:min(var(--cyb-body-content-max),calc(100% - 48px))!important;
  max-width:var(--cyb-body-content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Domain hero had a wider local override; keep it on the same hero grid now. */
.cyb-page-main .cyb-domain-hero .container{max-width:var(--cyb-body-content-max)!important}

@media(max-width:767.98px){
  :root{--cyb-body-gutter:14px}
  .cyb-page-main .cybx-container,
  .cyb-page-main .cyp-container,
  .cyb-page-main .cyd-container,
  .cyb-page-main .cyh-container,
  .cyb-page-main .cy-legal-shell,
  .cyb-page-main .cyb-plans-container,
  .cyb-page-main .cyb-highlight-strip__inner,
  .cyb-page-main .cyd-hero-benefits{
    width:min(var(--cyb-body-content-max),calc(100% - 28px))!important;
  }
}


/* CYBROHOST FINAL CONSISTENCY PASS 2026-09-23 */
/* Use one decorative-line size and gap for all customer-facing eyebrow labels. */
.cyb-page-main .cy-hero__eyebrow,
.cyb-page-main .cybx-eyebrow,
.cyb-page-main .cyp-eyebrow,
.cyb-page-main .cyd-eyebrow,
.cyb-page-main .cy-legal-hero__eyebrow,
.cyb-page-main .dcp-map-shell__eyebrow,
.cyb-page-main .cyp-showcase__eyebrow,
.cyb-page-main .cyb-dc-map-band__eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
}
.cyb-page-main .cy-hero__eyebrow::before,
.cyb-page-main .cybx-eyebrow::before,
.cyb-page-main .cyp-eyebrow::before,
.cyb-page-main .cyd-eyebrow::before,
.cyb-page-main .cy-legal-hero__eyebrow::before,
.cyb-page-main .dcp-map-shell__eyebrow::before,
.cyb-page-main .cyp-showcase__eyebrow::before,
.cyb-page-main .cyb-dc-map-band__eyebrow::before{
  content:""!important;
  width:22px!important;
  min-width:22px!important;
  flex:0 0 22px!important;
  height:2px!important;
  border:0!important;
  border-radius:999px!important;
  background:currentColor!important;
}

/* Wider heading fields + balanced wrapping prevent one-word orphan lines. */
.cyb-page-main .cybx-head,
.cyb-page-main .cyp-head,
.cyb-page-main .cyd-head{max-width:900px!important}
.cyb-page-main .cy-hero__title,
.cyb-page-main .cybx-head h2,
.cyb-page-main .cybx-faq__intro h2,
.cyb-page-main .cybx-seo-copy h2,
.cyb-page-main .cyp-head h2,
.cyb-page-main .cyp-split__copy h2,
.cyb-page-main .cyd-head h2,
.cyb-page-main .cyd-copy h2,
.cyb-page-main .cyd-faq-intro h2,
.cyb-page-main .cyb-plans-heading h2{ text-wrap:balance; }

/* Equal-height plan/comparison cards with buttons aligned to the same baseline. */
.cyb-page-main .cyb-plans-grid{align-items:stretch!important}
.cyb-page-main .cyb-plan-card{height:auto!important;align-self:stretch!important}
.cyb-page-main .cyb-plan-card .cyb-plan-btn{margin-top:auto!important}

/* Complete 3 x 2 Windows workload grid on desktop. */
@media(min-width:992px){
  .cyb-page-main .cybx-win-workload-layout{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* ======================================================================
   CYBROHOST TYPOGRAPHY + ICON CONSISTENCY PASS — 2026-09-23
   One visual type system across hero, sections, cards, plans and legal copy.
   ====================================================================== */
:root{
  --cyb-type-hero-title:48px;
  --cyb-type-hero-copy:16px;
  --cyb-type-eyebrow:12.5px;
  --cyb-type-section-title:38px;
  --cyb-type-section-copy:15.5px;
  --cyb-type-card-title:16px;
  --cyb-type-card-copy:14px;
  --cyb-type-table:13.5px;
}

/* One text family everywhere. Icon fonts remain icon fonts by design. */
.cyb-page-main,
.cyb-page-main h1,.cyb-page-main h2,.cyb-page-main h3,.cyb-page-main h4,.cyb-page-main h5,.cyb-page-main h6,
.cyb-page-main p,.cyb-page-main li,.cyb-page-main strong,.cyb-page-main small,.cyb-page-main span,
.cyb-page-main button,.cyb-page-main input,.cyb-page-main select,.cyb-page-main textarea,
.cyb-page-main table,.cyb-page-main th,.cyb-page-main td{
  font-family:var(--cyb-font-primary,"Poppins",Arial,sans-serif);
}

/* Hero typography: same scale on product, company, domain and legal pages. */
.cyb-page-main .cy-hero__title,
.cyb-page-main .cy-legal-hero__title,
.cyb-page-main .cyb-domain-hero__copy h1{
  font-size:var(--cyb-type-hero-title)!important;
  font-weight:600!important;
  line-height:1.08!important;
  letter-spacing:-.032em!important;
}
.cyb-page-main .cy-hero__text,
.cyb-page-main .cy-legal-hero__text,
.cyb-page-main .cyb-domain-hero__copy>p{
  font-size:var(--cyb-type-hero-copy)!important;
  font-weight:400!important;
  line-height:1.66!important;
}

/* Every customer-facing eyebrow/kicker uses the same type treatment. */
.cyb-page-main .cy-hero__eyebrow,
.cyb-page-main .cy-legal-hero__eyebrow,
.cyb-page-main .cybx-eyebrow,
.cyb-page-main .cyp-eyebrow,
.cyb-page-main .cyd-eyebrow,
.cyb-page-main .cyh-kicker,
.cyb-page-main .cyb-plans-kicker,
.cyb-page-main .dcp-map-shell__eyebrow,
.cyb-page-main .cyp-showcase__eyebrow,
.cyb-page-main .cyb-dc-map-band__eyebrow{
  font-size:var(--cyb-type-eyebrow)!important;
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

/* Main section headings: one consistent scale after the larger hero H1. */
.cyb-page-main .cyb-plans-heading h2,
.cyb-page-main .cybx-body-sections .cybx-head h2,
.cyb-page-main .cybx-body-sections .cybx-seo-copy h2,
.cyb-page-main .cybx-body-sections .cybx-faq__intro h2,
.cyb-page-main .cyp-head h2,
.cyb-page-main .cyp-split__copy h2,
.cyb-page-main .cyp-faq__intro h2,
.cyb-page-main .cyd-head h2,
.cyb-page-main .cyd-copy h2,
.cyb-page-main .cyd-faq-intro h2,
.cyb-page-main .cyd-legal-box h2,
.cyb-page-main .cyh-head h2,
.cyb-page-main .cyh-copy h2,
.cyb-page-main .cyh-service-feature h3,
.cyb-page-main .cyh-domain-search-panel h2,
.cyb-page-main .cyh-faq__intro h2,
.cyb-page-main .dcp-section-head h2,
.cyb-page-main .dcp-foundation-copy h2{
  font-size:clamp(30px,2.45vw,var(--cyb-type-section-title))!important;
  font-weight:600!important;
  line-height:1.18!important;
  letter-spacing:-.028em!important;
  text-wrap:balance;
}

/* Section descriptions use one reading size and rhythm. */
.cyb-page-main .cyb-plans-heading p,
.cyb-page-main .cybx-body-sections .cybx-head p,
.cyb-page-main .cybx-body-sections .cybx-seo-copy p,
.cyb-page-main .cybx-body-sections .cybx-faq__intro p,
.cyb-page-main .cyp-head p,
.cyb-page-main .cyp-split__copy>p,
.cyb-page-main .cyp-faq__intro>p,
.cyb-page-main .cyd-head p,
.cyb-page-main .cyd-copy>p,
.cyb-page-main .cyd-faq-intro>p,
.cyb-page-main .cyd-legal-box p,
.cyb-page-main .cyh-head p,
.cyb-page-main .cyh-copy>p,
.cyb-page-main .dcp-section-head p,
.cyb-page-main .dcp-foundation-copy>p{
  font-size:var(--cyb-type-section-copy)!important;
  font-weight:400!important;
  line-height:1.68!important;
}

/* Standard customer-facing card headings. */
.cyb-page-main .cyp-card h3,
.cyb-page-main .cyp-value-card h3,
.cyb-page-main .cyp-journey h3,
.cyb-page-main .cyd-feature-grid h3,
.cyb-page-main .cyd-tld-grid h3,
.cyb-page-main .cyd-choice-grid h3,
.cyb-page-main .cyd-hosting-grid h3,
.cyb-page-main .cyh-mini-card h3,
.cyb-page-main .cyh-benefit h3,
.cyb-page-main .dcp-location-card h3{
  font-size:var(--cyb-type-card-title)!important;
  font-weight:600!important;
  line-height:1.4!important;
  letter-spacing:-.012em!important;
}

/* Standard card copy. Small diagram labels are intentionally excluded. */
.cyb-page-main .cyp-card p,
.cyb-page-main .cyp-value-card p,
.cyb-page-main .cyp-journey p,
.cyb-page-main .cyd-feature-grid p,
.cyb-page-main .cyd-tld-grid p,
.cyb-page-main .cyd-choice-grid p,
.cyb-page-main .cyd-hosting-grid p,
.cyb-page-main .cyh-mini-card p,
.cyb-page-main .cyh-benefit p,
.cyb-page-main .dcp-location-card p{
  font-size:var(--cyb-type-card-copy)!important;
  font-weight:400!important;
  line-height:1.65!important;
}

/* Plan typography remains a distinct purchase hierarchy, but is identical on every product page. */
.cyb-page-main .cyb-plan-name,
.cyb-page-main .cyb-plan-name-main{font-size:18px!important;font-weight:600!important;line-height:1.3!important}
.cyb-page-main .cyb-plan-description{font-size:13.5px!important;font-weight:400!important;line-height:1.62!important}
.cyb-page-main .cyb-plan-features li{font-size:13.25px!important;font-weight:500!important;line-height:1.45!important}
.cyb-page-main .cyb-plan-btn{font-size:13.5px!important;font-weight:600!important;line-height:1!important}

/* Legal tables use one readable table scale. */
.cyb-page-main .cy-legal-table th,
.cyb-page-main .cy-legal-table td{
  font-size:var(--cyb-type-table)!important;
  line-height:1.55!important;
}

/* Icon consistency: preserve semantic icon sizes, normalize alignment/baseline. */
.cyb-page-main i.bi{
  line-height:1!important;
  vertical-align:middle;
}
.cyb-page-main .cybx-icon,
.cyb-page-main .cyp-icon,
.cyb-page-main .cyd-icon,
.cyb-page-main .cyx-card__icon{
  flex-shrink:0;
  align-items:center!important;
  justify-content:center!important;
}
.cyb-page-main .cybx-icon>i,
.cyb-page-main .cyp-icon>i,
.cyb-page-main .cyd-icon>i,
.cyb-page-main .cyx-card__icon>i{
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  text-align:center!important;
}

/* Trustpilot logo asset: assets/images/trustpilot.png */
.cyb-page-main .cy-trustpilot-logo{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
}
.cyb-page-main .cyh-trust-platforms .cy-trustpilot-logo{width:118px;max-height:34px}
.cyb-page-main .cyp-brand-logo .cy-trustpilot-logo{width:auto;max-width:138px;max-height:34px}
.cyb-page-main .cyp-brand-logo--compact .cy-trustpilot-logo{max-width:112px;max-height:28px}

@media(max-width:1199.98px) and (min-width:992px){
  .cyb-page-main .cy-hero__title,
  .cyb-page-main .cy-legal-hero__title,
  .cyb-page-main .cyb-domain-hero__copy h1{font-size:43px!important}
}
@media(max-width:991.98px){
  .cyb-page-main .cy-hero__title,
  .cyb-page-main .cy-legal-hero__title,
  .cyb-page-main .cyb-domain-hero__copy h1{font-size:clamp(36px,7vw,44px)!important}
}
@media(max-width:767.98px){
  .cyb-page-main .cyb-plans-heading h2,
  .cyb-page-main .cybx-body-sections .cybx-head h2,
  .cyb-page-main .cybx-body-sections .cybx-seo-copy h2,
  .cyb-page-main .cybx-body-sections .cybx-faq__intro h2,
  .cyb-page-main .cyp-head h2,
  .cyb-page-main .cyp-split__copy h2,
  .cyb-page-main .cyp-faq__intro h2,
  .cyb-page-main .cyd-head h2,
  .cyb-page-main .cyd-copy h2,
  .cyb-page-main .cyd-faq-intro h2,
  .cyb-page-main .cyd-legal-box h2,
  .cyb-page-main .cyh-head h2,
  .cyb-page-main .cyh-copy h2,
  .cyb-page-main .cyh-service-feature h3,
  .cyb-page-main .cyh-domain-search-panel h2,
  .cyb-page-main .cyh-faq__intro h2,
  .cyb-page-main .dcp-section-head h2,
  .cyb-page-main .dcp-foundation-copy h2{font-size:27px!important;line-height:1.2!important}

  .cyb-page-main .cyb-plans-heading p,
  .cyb-page-main .cybx-body-sections .cybx-head p,
  .cyb-page-main .cybx-body-sections .cybx-seo-copy p,
  .cyb-page-main .cybx-body-sections .cybx-faq__intro p,
  .cyb-page-main .cyp-head p,
  .cyb-page-main .cyp-split__copy>p,
  .cyb-page-main .cyp-faq__intro>p,
  .cyb-page-main .cyd-head p,
  .cyb-page-main .cyd-copy>p,
  .cyb-page-main .cyd-faq-intro>p,
  .cyb-page-main .cyd-legal-box p,
  .cyb-page-main .cyh-head p,
  .cyb-page-main .cyh-copy>p,
  .cyb-page-main .dcp-section-head p,
  .cyb-page-main .dcp-foundation-copy>p{font-size:14.5px!important;line-height:1.68!important}
}
@media(max-width:575.98px){
  .cyb-page-main .cy-hero__title,
  .cyb-page-main .cy-legal-hero__title,
  .cyb-page-main .cyb-domain-hero__copy h1{font-size:35px!important}
  .cyb-page-main .cy-hero__text,
  .cyb-page-main .cy-legal-hero__text,
  .cyb-page-main .cyb-domain-hero__copy>p{font-size:15px!important}
}

/* ======================================================================
   CYBROHOST DESKTOP SECTION-HEADING LINE CONSISTENCY — 2026-09-23
   Keep primary centered section headings on one clean desktop line.
   Tablet/mobile remain naturally responsive and may wrap when required.
   ====================================================================== */
@media (min-width:1200px){
  .cyb-page-main .cybx-head:not(.cybx-head--left),
  .cyb-page-main .cyp-head:not(.cyp-head--left),
  .cyb-page-main .cyd-head,
  .cyb-page-main .cyh-head,
  .cyb-page-main .dcp-section-head--center,
  .cyb-page-main .cyb-plans-heading{
    max-width:1180px!important;
  }

  .cyb-page-main .cybx-head:not(.cybx-head--left) h2,
  .cyb-page-main .cyp-head:not(.cyp-head--left) h2,
  .cyb-page-main .cyd-head h2,
  .cyb-page-main .cyh-head h2,
  .cyb-page-main .dcp-section-head--center h2,
  .cyb-page-main .cyb-plans-heading h2{
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  /* Keep long centered headings comfortable rather than forcing a second line. */
  .cyb-page-main .cybx-head:not(.cybx-head--left) h2,
  .cyb-page-main .cyp-head:not(.cyp-head--left) h2,
  .cyb-page-main .cyd-head h2,
  .cyb-page-main .dcp-section-head--center h2{
    font-size:clamp(30px,2.25vw,36px)!important;
  }
  .cyb-page-main .cyh-head h2{
    font-size:clamp(31px,2.35vw,38px)!important;
  }
}
