/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

@charset "UTF-8";
/* Prose styling for an editor-driven "content column" — slab-bold
 * headings, semibold body, yellow-crown bulleted lists, decimal
 * ordered lists, yellow-on-hover links. Used by side-by-side layouts
 * (ck-two-columns, ck-container-content) where the left side is
 * arbitrary core blocks dropped in by the editor.
 *
 * Scope is by Gutenberg's own marker classes (`.wp-block-heading`,
 * `.wp-block-list`); custom CK blocks render with `.ck-*` class names
 * and never get these markers, so the cascade can't leak into them.
 */
/**
 * Brand web fonts (self-hosted).
 *
 * Proxima Nova — body / UI typeface ($font-family-base).
 *   Shipped as TTF (12 files: Light/Regular/Medium/Semibold/Bold/Extrabold,
 *   each with an italic variant).
 *
 * Rockwell — display / heading typeface ($font-heading).
 *   Shipped as WOFF2 (9 files: Light/Regular/Bold/Extra-Bold + Condensed
 *   and Bold-Condensed, plus Light/Regular/Bold italics).
 *
 * Paths are relative to the compiled CSS (`assets/dist/index.css`),
 * resolving up to `assets/fonts/`. `font-display: swap` keeps text
 * visible while the font is loading. The Condensed Rockwell variants
 * are exposed as a separate family name (`'Rockwell Condensed'`) so
 * they can be opted into explicitly without colliding with the regular
 * Rockwell weights.
 */
/* ---------- Proxima Nova ---------- */
@font-face {
  font-family: "Proxima Nova";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-Light.ttf") format("truetype");
}
@font-face {
  font-family: "Proxima Nova";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-LightItalic.ttf") format("truetype");
}
@font-face {
  font-family: "Proxima Nova";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Proxima Nova";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-Italic.ttf") format("truetype");
}
@font-face {
  font-family: "Proxima Nova";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Proxima Nova";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-MediumItalic.ttf") format("truetype");
}
@font-face {
  font-family: "Proxima Nova";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-Semibold.ttf") format("truetype");
}
@font-face {
  font-family: "Proxima Nova";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-SemiboldItalic.ttf") format("truetype");
}
@font-face {
  font-family: "Proxima Nova";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Proxima Nova";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-BoldItalic.ttf") format("truetype");
}
@font-face {
  font-family: "Proxima Nova";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-Extrabold.ttf") format("truetype");
}
@font-face {
  font-family: "Proxima Nova";
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/proxima-nova/ProximaNova-ExtraboldItalic.ttf") format("truetype");
}
/* ---------- Rockwell ---------- */
@font-face {
  font-family: "Rockwell";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/rockwell/Rockwell-Light.woff2") format("woff2");
}
@font-face {
  font-family: "Rockwell";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/rockwell/Rockwell-Light-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "Rockwell";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/rockwell/Rockwell-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Rockwell";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/rockwell/Rockwell-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "Rockwell";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/rockwell/Rockwell-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "Rockwell";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/rockwell/Rockwell-Bold-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "Rockwell";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/rockwell/Rockwell-Extra-Bold.woff2") format("woff2");
}
/* Condensed Rockwell — exposed as a distinct family so editors can opt
 * in without affecting regular Rockwell weight resolution. */
@font-face {
  font-family: "Rockwell Condensed";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/rockwell/Rockwell-Condensed.woff2") format("woff2");
}
@font-face {
  font-family: "Rockwell Condensed";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/rockwell/Rockwell-Bold-Condensed.woff2") format("woff2");
}
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.5;
}

img, picture, video, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

ul, ol {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  background: none;
  border: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

input, button, textarea, select {
  font: inherit;
}

body {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  color: #262626;
  font-size: 16px;
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  line-height: 1.25;
  color: #262626;
}

a {
  color: #ffb200;
  transition: color 0.15s ease;
}
a:hover, a:focus-visible {
  color: #e69e00;
}

.skip-link {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
.skip-link:focus {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 100;
  width: auto;
  height: auto;
  clip: auto;
  clip-path: none;
  padding: 12px 16px;
  background: #ffffff;
  color: #ffb200;
  text-decoration: underline;
}

/**
 * Native WP table block — styled to match `.ck-pricing-table`.
 *
 * Black header bar, white body rows with thin grey borders, the same
 * body / heading typography. Editors who drop a Gutenberg Table block
 * anywhere on the site get the same visual treatment as our pricing
 * table block without needing to use the custom one.
 *
 * Mobile: the figure scrolls horizontally so wide tables stay
 * readable. We can't get the labeled-card stacking that
 * ck-pricing-table uses because native <td>s don't carry a
 * `data-label` attribute; if that's wanted, use the custom block.
 */
.wp-block-table {
  margin: 32px 0;
  overflow-x: auto;
}
.wp-block-table table {
  width: 100%;
  background: #ffffff;
  border: 1px solid #e3e3e3;
  border-collapse: collapse;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 26px;
  color: #75787b;
}
.wp-block-table thead {
  background: #000000;
  color: #ffffff;
  border: 1px solid #000;
  font-family: "Rockwell", "Roboto Slab", Georgia, serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  text-transform: capitalize;
}
.wp-block-table thead th {
  padding: 22px 32px;
  text-align: left;
  font-weight: inherit;
  border: 0;
}
.wp-block-table tbody td {
  padding: 18px 32px;
  border-top: 1px solid #e3e3e3;
  text-align: left;
}
.wp-block-table tbody tr:first-child td {
  border-top: 0;
}
.wp-block-table {
  /* Native tables can also be rendered with no <thead> — Gutenberg
   * still wraps everything in tbody. In that case the first row
   * should NOT pretend to be a header; styling stays uniform. */
  /* Striped variant from the block toolbar uses `.is-style-stripes`.
   * Mirror the white-on-grey treatment with a soft tint so it
   * doesn't fight the muted body text. */
}
.wp-block-table.is-style-stripes tbody tr:nth-child(even) td {
  background: rgba(0, 0, 0, 0.02);
}
.wp-block-table {
  /* Caption (when the editor adds one) sits below the table. */
}
.wp-block-table figcaption {
  margin: 12px 0 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.55;
  color: #75787b;
  text-align: center;
}
@media (max-width: 900px) {
  .wp-block-table thead th {
    padding: 18px 20px;
    font-size: 15px;
  }
  .wp-block-table tbody td {
    padding: 16px 20px;
  }
}

.container {
  width: 100%;
  max-width: 1158px;
  margin: 0 auto;
  padding: 0 24px;
}

/**
 * Header layout
 *
 * Structure (see header.php):
 *   .site-header
 *     .site-header__strip               – optional top message strip (Crown Gold)
 *       .site-header__strip-inner
 *         .site-header__top-message
 *     .site-header__main                – main header bar (light gray #d9d9d9)
 *       .site-header__main-inner (.container)
 *         .site-header__logo            – logo image or text fallback
 *           .site-header__logo-text     – fallback when no image is uploaded
 *         .site-header__actions
 *           .site-header__financing     – financing badge (icon + text)
 *           .site-header__phone         – yellow phone CTA button
 *           .site-header__cta           – yellow "Get a Quote" CTA button
 *
 * The primary navigation lives in its own strip below the header — see _nav.scss.
 */
.site {
  overflow-x: clip;
}

.site-header-sticky {
  position: sticky;
  top: 0;
  z-index: 1000;
}
.site-header {
  position: relative;
  background: #d9d9d9;
  z-index: 10;
  /* Optional top message strip — only renders if header_top_message is set */
}
.site-header__strip {
  background: #ffb200;
  color: #000000;
}
.site-header__strip-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.site-header__top-message {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.site-header {
  /* Main header bar */
}
.site-header__main {
  background: #d9d9d9;
}
.site-header__main-inner {
  display: flex;
  align-items: center;
  grid-gap: 67px;
  gap: 67px;
  padding-top: 14px;
  padding-bottom: 14px;
}
.site-header {
  /* Logo (image preferred; text fallback used when no image is uploaded) */
}
.site-header__logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: auto;
  text-decoration: none;
  color: #262626;
}
@media (max-width: 992px) {
  .site-header__logo {
    flex-shrink: 1;
  }
}
.site-header__logo img {
  display: block;
  max-height: 56px;
  width: auto;
}
.site-header__logo-text {
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1;
  text-transform: uppercase;
  max-width: 220px;
}
.site-header {
  /* Right-hand group: financing badge + phone + quote */
}
.site-header__actions {
  display: flex;
  align-items: center;
  grid-gap: 28px;
  gap: 28px;
  flex-shrink: 0;
}
.site-header {
  /* Financing badge */
}
.site-header__financing {
  display: inline-flex;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  color: #262626;
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.1;
  text-transform: uppercase;
}
.site-header__financing-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 22px;
}
.site-header__financing-icon svg,
.site-header__financing-icon img {
  display: block;
  width: 100%;
  height: 100%;
}
.site-header__financing-text {
  display: inline-block;
  max-width: 90px;
}
.site-header {
  /* Yellow phone button */
}
.site-header__phone {
  display: inline-flex;
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
  padding: 12px 22px;
  min-height: 44px;
  background: #ffb200;
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.15s ease;
}
.site-header__phone:hover, .site-header__phone:focus-visible {
  background: #e69e00;
  color: #000000;
}
.site-header__phone-icon {
  display: block;
  flex-shrink: 0;
}
.site-header__phone-number {
  display: inline-block;
}
.site-header {
  /* Yellow "GET A QUOTE" button */
}
.site-header__cta {
  display: inline-flex;
  align-items: center;
  grid-gap: 14px;
  gap: 14px;
  padding: 12px 22px;
  min-height: 44px;
  background: #ffb200;
  color: #000000;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  border: 0;
  transition: background-color 0.15s ease;
}
.site-header__cta:hover, .site-header__cta:focus-visible {
  background: #e69e00;
  color: #000000;
}
.site-header__cta-arrow {
  display: block;
  flex-shrink: 0;
}

@media (max-width: 1280px) {
  .site-header__main-inner, .site-header__actions {
    grid-gap: 40px;
    gap: 40px;
  }
}
@media (max-width: 1100px) {
  .site-header__main-inner {
    grid-gap: 24px;
    gap: 24px;
  }
  .site-header__actions {
    grid-gap: 16px;
    gap: 16px;
  }
  .site-header__logo img {
    max-width: 260px;
    height: auto;
  }
  .site-header__phone, .site-header__cta {
    padding: 10px 16px;
    font-size: 14px;
  }
}
@media (max-width: 900px) {
  .site-header {
    position: relative;
  }
  .site-header__main-inner {
    grid-gap: 16px;
    gap: 16px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .site-header__financing {
    display: flex;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    height: 50px;
    align-items: center;
    justify-content: center;
    grid-gap: 8px;
    gap: 8px;
    margin: 0;
    padding: 0;
    z-index: 40;
  }
  .site-header__financing * {
    color: #ffffff;
    fill: #ffffff;
  }
  .site-header__financing-text {
    font-size: 13px;
    letter-spacing: 0.02em;
  }
  .site-header__actions {
    grid-gap: 10px;
    gap: 10px;
  }
  .site-header__phone, .site-header__cta {
    padding: 9px 14px;
  }
  .site-header__logo img {
    max-width: 220px;
    max-height: 44px;
    height: auto;
  }
  .site-nav {
    position: relative;
  }
}
@media (max-width: 600px) {
  .site-header__main-inner {
    grid-gap: 10px;
    gap: 10px;
    padding: 10px 12px;
  }
  .site-header__actions {
    grid-gap: 8px;
    gap: 8px;
  }
  .site-header__logo img {
    max-height: 36px;
  }
  .site-header__phone-number {
    display: none;
  }
  .site-header__phone {
    padding: 10px;
  }
  .site-header__cta {
    padding: 10px 14px;
    font-size: 13px;
    grid-gap: 8px;
    gap: 8px;
  }
  .site-header__cta-arrow {
    display: none;
  }
}
@media (max-width: 480px) {
  .site-header__actions {
    grid-gap: 5px;
    gap: 5px;
  }
  .site-header__logo img {
    max-width: 150px;
    height: auto;
  }
  .site-header__cta,
  .site-header__phone {
    font-size: 11px;
    padding: 6px 8px;
    min-height: 32px;
    height: 32px;
    letter-spacing: 0;
  }
  .site-header__phone svg,
  .site-header__phone img {
    width: 14px;
    height: 14px;
  }
}
@media (max-width: 389px) {
  .site-header__logo img {
    max-width: 125px;
  }
}
/**
 * Primary navigation strip
 *
 * Rendered as a separate <nav class="site-nav"> directly below <header>.
 * See header.php — the wp_nav_menu output for the primary_navigation menu
 * location lives in here. Items with submenus get a yellow caret; the active
 * (or hovered) item gets gold text and a 4px yellow underline bar.
 */
.site-nav {
  background: #000000;
  color: #ffffff;
  padding-top: 20px;
  padding-bottom: 20px;
}
.site-nav__inner {
  display: flex;
}
.site-nav__menu {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  grid-gap: 24px;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-nav li:not(.menu-item-has-mega-menu) {
  position: relative;
}
.site-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  grid-gap: 9px;
  gap: 9px;
  padding: 8px 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.48px;
  text-transform: uppercase;
  text-decoration: none;
  color: #ffffff;
  transition: color 0.15s ease;
}
.site-nav {
  /* Caret for items with submenus or a mega menu */
}
.site-nav .menu-item-has-children > a::after,
.site-nav .menu-item-has-mega-menu > a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 8px;
  background-color: #ffb200;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.4142 8.12132' fill='none'><path d='M0.707107 0.707107L6.70711 6.70711L12.7071 0.707107' stroke='black' stroke-width='2'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.4142 8.12132' fill='none'><path d='M0.707107 0.707107L6.70711 6.70711L12.7071 0.707107' stroke='black' stroke-width='2'/></svg>") center/contain no-repeat;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.site-nav {
  /* Active / hover state — gold text + yellow underline bar */
}
.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav .current-menu-item > a,
.site-nav .current-menu-ancestor > a {
  color: #ffb200;
}
.site-nav .current-menu-item > a::before,
.site-nav .current-menu-ancestor > a::before,
.site-nav a:hover::before,
.site-nav a:focus-visible::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -16px;
  height: 4px;
  background: #fbbc05;
}
.site-nav {
  /* ---------- Dropdown submenu ---------- */
  /* Hide nested submenus by default */
}
.site-nav .sub-menu {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  z-index: 20;
  min-width: 220px;
  margin: 0;
  padding: 12px 0;
  list-style: none;
  background: #000000;
  border-top: 4px solid #ffb200;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
  /* Hidden state */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}
.site-nav .sub-menu li {
  display: block;
}
.site-nav .sub-menu a {
  display: flex;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  padding: 10px 20px;
  font-size: 17px;
  letter-spacing: 0.4px;
  color: #ffffff;
}
.site-nav .sub-menu a:hover, .site-nav .sub-menu a:focus-visible {
  color: #ffb200;
  background: rgba(255, 255, 255, 0.04);
}
.site-nav .sub-menu a {
  /* Suppress the underline bar inside the dropdown */
}
.site-nav .sub-menu a::before {
  display: none !important;
}
.site-nav .sub-menu a {
  /* Suppress the caret on nested children */
}
.site-nav .sub-menu a::after {
  display: none;
}
.site-nav {
  /* Reveal on parent hover / keyboard focus */
}
.site-nav .menu-item-has-children:hover > .sub-menu,
.site-nav .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.site-nav__menu > li:last-child > .sub-menu {
  left: auto;
  right: 0;
}
.site-nav {
  /* Caret flips when the dropdown / mega menu is open */
}
.site-nav .menu-item-has-children:hover > a::after,
.site-nav .menu-item-has-children:focus-within > a::after,
.site-nav .menu-item-has-mega-menu:hover > a::after,
.site-nav .menu-item-has-mega-menu:focus-within > a::after {
  transform: rotate(180deg);
}
.site-nav {
  /* ---------- Mega menu ----------
   *
   * Compact card panel revealed on hover/focus of a top-level item
   * flagged with `menu-item-has-mega-menu`. Anchored to the <li>'s
   * left edge, 3 cards across, black panel with the same yellow top
   * border + drop shadow as the regular .sub-menu. Card text is
   * left-aligned with no underline bar — the generic `.site-nav a`
   * rules are explicitly overridden so cards don't pick up the
   * uppercase + underline-bar treatment.
   */
}
.site-nav .ck-mega-menu {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  z-index: 20;
  width: 100%;
  padding: 20px;
  background: #000000;
  border-top: 4px solid #ffb200;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}
.site-nav .ck-mega-menu__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 32px;
       grid-column-gap: 32px;
       column-gap: 32px;
  grid-row-gap: 20px;
  row-gap: 20px;
}
.site-nav .menu-item-has-mega-menu:has(> .ck-mega-menu--offices) {
  position: relative;
}
.site-nav .ck-mega-menu--offices {
  left: 0;
  width: 480px;
  max-width: 480px;
}
.site-nav .ck-mega-menu--offices .ck-mega-menu__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.site-nav .ck-mega-menu__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 8px;
  gap: 8px;
  background: transparent;
  text-decoration: none;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.3;
  color: #ffffff;
  transition: background-color 0.15s ease;
  /* Suppress the desktop underline bar + caret from `.site-nav a`. */
}
.site-nav .ck-mega-menu__card::before, .site-nav .ck-mega-menu__card::after {
  display: none !important;
}
.site-nav .ck-mega-menu__card:hover, .site-nav .ck-mega-menu__card:focus-visible {
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
}
.site-nav .ck-mega-menu__card:hover .ck-mega-menu__card-title, .site-nav .ck-mega-menu__card:focus-visible .ck-mega-menu__card-title {
  color: #ffb200;
}
.site-nav .ck-mega-menu__card-image {
  display: block;
  background: #262626;
  overflow: hidden;
  width: 100%;
  max-width: 150px;
  max-height: 90px;
  aspect-ratio: 5/3;
}
.site-nav .ck-mega-menu__card-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.site-nav .ck-mega-menu__card-body {
  display: flex;
  flex-direction: column;
  grid-gap: 4px;
  gap: 4px;
}
.site-nav .ck-mega-menu__card-title {
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 17px;
  line-height: 1.3;
  color: #ffffff;
  transition: color 0.15s ease;
}
.site-nav .ck-mega-menu__card-text {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.65);
}
.site-nav {
  /* Reveal on parent hover / keyboard focus. */
}
.site-nav .menu-item-has-mega-menu:hover > .ck-mega-menu,
.site-nav .menu-item-has-mega-menu:focus-within > .ck-mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.site-nav {
  /* Suppress the link's underline `::before` bar on items that own
   * a dropdown or mega menu — the panel's 4px yellow `border-top`
   * already reads as the active accent and the two stacked
   * together look doubled. */
}
.site-nav .menu-item-has-children > a::before,
.site-nav .menu-item-has-mega-menu > a::before {
  display: none !important;
}
.site-nav {
  /* When an item has BOTH a regular sub-menu and the mega menu flag,
   * favor the mega menu and hide the default sub-menu so they don't
   * stack. Editors typically pick one or the other, but defending. */
}
.site-nav .menu-item-has-mega-menu > .sub-menu {
  display: none;
}
.site-nav {
  /* Mobile toggle hidden by default */
}
.site-nav__toggle {
  display: none;
  background: transparent;
  border: 0;
  padding: 12px 16px;
  cursor: pointer;
}
.site-nav__toggle-bar {
  display: block;
  width: 24px;
  height: 2px;
  background: #ffffff;
  margin: 5px 0;
}
.site-nav {
  /* Per-item submenu toggle — injected by _nav.js for every item
   * with a sub-menu or mega menu. Hidden on desktop (the `::after`
   * caret on the link handles indication there); revealed by the
   * mobile media query below where it becomes the tappable trigger
   * that opens the submenu/mega menu. */
}
.site-nav__submenu-toggle {
  display: none;
}

@media (max-width: 900px) {
  .site-nav {
    padding: 0;
  }
  .site-nav__toggle {
    display: block;
    margin-left: auto;
    margin-right: 16px;
  }
  .site-nav__inner {
    display: none;
    padding: 16px 24px;
    justify-content: flex-start;
  }
  .site-nav__inner.is-open {
    display: block;
  }
  .site-nav__menu {
    flex-direction: column;
    align-items: stretch;
    grid-gap: 4px;
    gap: 4px;
    width: 100%;
  }
  .site-nav {
    /* Top-level items flex so the link grows and the submenu
     * toggle sits right-aligned; sub-menu / mega menu wraps to
     * the next row via flex-basis: 100%. */
  }
  .site-nav__menu > li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
  }
  .site-nav__menu > li > a {
    flex: 1 1 auto;
    padding: 10px 0;
  }
  .site-nav {
    /* Suppress the desktop underline bar */
  }
  .site-nav .current-menu-item > a::before,
  .site-nav .current-menu-ancestor > a::before,
  .site-nav a:hover::before,
  .site-nav a:focus-visible::before {
    display: none;
  }
  .site-nav {
    /* Hide the inline `::after` caret on parents — the injected
     * submenu toggle button replaces it as the tap target. */
  }
  .site-nav .menu-item-has-children > a::after,
  .site-nav .menu-item-has-mega-menu > a::after {
    display: none;
  }
  .site-nav {
    /* Prominent tap target for opening a submenu / mega menu.
     * Injected by _nav.js between the link and its dropdown. */
  }
  .site-nav__submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    margin-left: 4px;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    color: #ffb200;
  }
  .site-nav__submenu-toggle::before {
    content: "";
    display: block;
    width: 16px;
    height: 10px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.4142 8.12132' fill='none'><path d='M0.707107 0.707107L6.70711 6.70711L12.7071 0.707107' stroke='black' stroke-width='2'/></svg>") center/contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.4142 8.12132' fill='none'><path d='M0.707107 0.707107L6.70711 6.70711L12.7071 0.707107' stroke='black' stroke-width='2'/></svg>") center/contain no-repeat;
    transition: transform 0.2s ease;
  }
  .site-nav__submenu-toggle:hover, .site-nav__submenu-toggle:focus-visible {
    color: #e69e00;
  }
  .site-nav {
    /* Flip the toggle caret when its <li> is open. */
  }
  .is-open > .site-nav__submenu-toggle::before {
    transform: rotate(180deg);
  }
  .site-nav {
    /* ---------- Submenu (mobile) ----------
     * Inline under the parent and hidden by default. Tapping the
     * submenu toggle adds `.is-open` to the <li>, which reveals
     * the panel. The full-width flex-basis pushes it to its own
     * row below the link + toggle. */
  }
  .site-nav .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none;
    min-width: 0;
    flex: 1 1 100%;
    display: none;
    padding: 4px 0 8px 16px;
    background: transparent;
    border-top: 0;
    box-shadow: none;
  }
  .site-nav .sub-menu a {
    padding: 6px 0;
  }
  .site-nav {
    /* ---------- Mega menu (mobile) ----------
     * Same hidden-by-default + tap-to-open behavior. Layout
     * compacts to a 2-column grid with horizontal image+text
     * card rows. */
  }
  .site-nav .ck-mega-menu {
    position: static;
    flex: 1 1 100%;
    display: none;
    width: 100%;
    max-width: none;
    padding: 0;
    background: transparent;
    border-top: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none;
  }
  .site-nav .is-open > .sub-menu,
  .site-nav .is-open > .ck-mega-menu {
    display: block;
  }
  .site-nav .ck-mega-menu--offices {
    max-width: none;
    width: auto;
  }
  .site-nav .ck-mega-menu__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-row-gap: 12px;
    row-gap: 12px;
    -moz-column-gap: 24px;
         grid-column-gap: 24px;
         column-gap: 24px;
  }
  .site-nav .ck-mega-menu__card {
    flex-direction: column;
    align-items: flex-start;
    grid-gap: 4px;
    gap: 4px;
    padding: 6px 0;
  }
  .site-nav {
    /* Surface the regular sub-menu again on mobile in case both
     * are set — at this width inline-stacking handles them. */
  }
  .site-nav .menu-item-has-mega-menu > .sub-menu {
    display: none;
  }
  .site-nav .menu-item-has-mega-menu.is-open > .sub-menu {
    display: block;
  }
}
@media (max-width: 500px) {
  .site-nav .ck-mega-menu__grid {
    grid-template-columns: 1fr;
  }
  .site-nav .ck-mega-menu--offices .ck-mega-menu__grid {
    grid-template-columns: 1fr;
  }
}
.site-footer {
  background: #d9d9d9;
  color: #262626;
  padding-top: 80px;
}
.site-footer__inner {
  display: grid;
  /* Column widths from Figma (354 / 306 / 194 / 256 px on a 1110px row) */
  grid-template-columns: minmax(0, 1.83fr) minmax(0, 1.58fr) minmax(0, 1fr) minmax(0, 1.32fr);
  -moz-column-gap: 0;
       grid-column-gap: 0;
       column-gap: 0;
  grid-row-gap: 40px;
  row-gap: 40px;
  padding-bottom: 60px;
  align-items: start;
}
.site-footer {
  /* Brand column */
}
.site-footer__brand {
  display: flex;
  flex-direction: column;
  grid-gap: 24px;
  gap: 24px;
}
.site-footer__logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.site-footer__logo img {
  display: block;
  max-height: 108px;
  width: auto;
}
.site-footer__tagline {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.94;
  color: #262626;
  max-width: 269px;
}
.site-footer__socials {
  display: flex;
  grid-gap: 12px;
  gap: 12px;
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
}
.site-footer__socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
}
.site-footer__socials a svg {
  display: block;
  width: 100%;
  height: 100%;
}
.site-footer__socials a svg path[fill=white] {
  transition: fill 0.15s ease;
}
.site-footer__socials a:hover svg path[fill=white], .site-footer__socials a:focus-visible svg path[fill=white] {
  fill: #ffb200;
}
.site-footer__socials img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.site-footer {
  /* Link columns (Container Solutions, Company) */
}
.site-footer__column {
  display: flex;
  flex-direction: column;
  grid-gap: 24px;
  gap: 24px;
}
.site-footer__heading {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1;
  color: #262626;
  text-transform: capitalize;
}
.site-footer__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  grid-gap: 12px;
  gap: 12px;
}
.site-footer__menu a {
  display: inline-block;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #262626;
  text-decoration: none;
}
.site-footer__menu a:hover, .site-footer__menu a:focus-visible {
  color: #ffb200;
}
.site-footer {
  /* Contact column */
}
.site-footer__contact {
  display: flex;
  flex-direction: column;
  grid-gap: 24px;
  gap: 24px;
}
.site-footer__contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  grid-gap: 22px;
  gap: 22px;
}
.site-footer__contact-row {
  display: flex;
  align-items: flex-start;
  grid-gap: 14px;
  gap: 14px;
}
.site-footer__contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 23px;
  height: 23px;
  color: #262626;
}
.site-footer__contact-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.site-footer__contact-text {
  flex: 1 1 auto;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #262626;
}
.site-footer__contact-text strong {
  display: block;
  font-weight: 500;
  margin-bottom: 2px;
}
.site-footer__contact-text a {
  color: inherit;
  text-decoration: none;
}
.site-footer__contact-text a:hover, .site-footer__contact-text a:focus-visible {
  text-decoration: underline;
}
.site-footer {
  /* Bottom bar — divider + copyright + legal links */
}
.site-footer__bottom {
  padding-bottom: 24px;
}
.site-footer__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  grid-gap: 24px;
  gap: 24px;
  flex-wrap: wrap;
  padding-top: 28px;
  border-top: 1px solid #262626;
}
.site-footer__copyright {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #262626;
}
.site-footer__legal-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  grid-gap: 32px;
  gap: 32px;
}
.site-footer__legal-menu a {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #262626;
  text-decoration: none;
}
.site-footer__legal-menu a:hover, .site-footer__legal-menu a:focus-visible {
  color: #ffb200;
}
@media (max-width: 900px) {
  .site-footer {
    padding-top: 56px;
  }
  .site-footer__inner {
    grid-template-columns: 1fr 1fr;
    grid-gap: 40px;
    gap: 40px;
    padding-bottom: 40px;
  }
  .site-footer__brand {
    grid-column: 1/-1;
  }
}
@media (max-width: 600px) {
  .site-footer {
    padding-top: 40px;
  }
  .site-footer__inner {
    grid-template-columns: 1fr;
    grid-gap: 32px;
    gap: 32px;
    padding-bottom: 32px;
  }
  .site-footer__bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    grid-gap: 12px;
    gap: 12px;
  }
  .site-footer__legal-menu {
    grid-gap: 20px;
    gap: 20px;
  }
}

/**
 * Blog Listing (Figma node 2099:48)
 *
 * Page-template UI (used by index.php) — two-column grid of post cards
 * with image + category pill + title + excerpt, plus Previous/Next
 * pagination. Lives in `layout/` rather than `blocks/` because it's
 * tied to the blog template, not a placeable Gutenberg block.
 *
 * Image hover applies a subtle scale-in zoom. Category pill sits in
 * the top-right corner of the image.
 */
.ck-blog-listing {
  padding: 80px 0;
}
.ck-blog-listing__inner {
  display: flex;
  flex-direction: column;
  grid-gap: 70px;
  gap: 70px;
}
.ck-blog-listing {
  /* ---------- Card grid ---------- */
}
.ck-blog-listing__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 60px 30px;
  gap: 60px 30px;
}
.ck-blog-listing__item {
  display: flex;
}
.ck-blog-listing__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  grid-gap: 20px;
  gap: 20px;
}
.ck-blog-listing {
  /* ---------- Image + category pill ---------- */
}
.ck-blog-listing__image {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 540/269;
  overflow: hidden;
  background: #d9d9d9;
  text-decoration: none;
  outline: 0;
}
.ck-blog-listing__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.ck-blog-listing__image:hover img, .ck-blog-listing__image:focus-visible img {
  transform: scale(1.04);
}
.ck-blog-listing__image:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 2px;
}
.ck-blog-listing__category {
  position: absolute;
  top: 11px;
  right: 11px;
  display: inline-flex;
  align-items: center;
  padding: 12px 20px;
  background: #000000;
  color: #ffffff;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  border-radius: 35.5px;
  white-space: nowrap;
}
.ck-blog-listing {
  /* ---------- Title + excerpt ---------- */
}
.ck-blog-listing__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: -0.01em;
  color: #000000;
}
.ck-blog-listing__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}
.ck-blog-listing__title a:hover, .ck-blog-listing__title a:focus-visible {
  color: #ffb200;
}
.ck-blog-listing__excerpt {
  margin: 0;
  color: #75787b;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
}
.ck-blog-listing__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  margin-top: auto;
  min-width: 150px;
  min-height: 54px;
  padding: 14px 24px;
  background: #000000;
  color: #ffb200;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ck-blog-listing__cta:hover, .ck-blog-listing__cta:focus-visible {
  background: #ffb200;
  color: #000000;
}
.ck-blog-listing__empty {
  margin: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  color: #75787b;
  text-align: center;
}
.ck-blog-listing {
  /* ---------- Pagination ---------- */
}
.ck-blog-listing__pagination {
  display: flex;
  grid-gap: 22px;
  gap: 22px;
  justify-content: center;
  align-items: center;
}
.ck-blog-listing__pager {
  display: inline-flex;
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
  width: 141px;
  height: 49px;
  padding: 0 24px;
  border: 1px solid #000000;
  border-radius: 3px;
  background: #ffffff;
  color: #000000;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ck-blog-listing__pager--prev {
  justify-content: flex-start;
}
.ck-blog-listing__pager--next {
  justify-content: center;
}
.ck-blog-listing__pager:hover:not(.is-disabled), .ck-blog-listing__pager:focus-visible:not(.is-disabled) {
  background: #000000;
  color: #ffffff;
}
.ck-blog-listing__pager.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.ck-blog-listing__pager svg {
  display: block;
  flex-shrink: 0;
}
.ck-blog-listing {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-blog-listing {
    padding: 64px 0;
  }
  .ck-blog-listing__inner {
    grid-gap: 48px;
    gap: 48px;
  }
  .ck-blog-listing__list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 40px;
    gap: 40px;
  }
}
@media (max-width: 600px) {
  .ck-blog-listing {
    padding: 48px 0;
  }
  .ck-blog-listing__inner {
    grid-gap: 36px;
    gap: 36px;
  }
  .ck-blog-listing__list {
    grid-gap: 32px;
    gap: 32px;
  }
  .ck-blog-listing__card {
    grid-gap: 16px;
    gap: 16px;
  }
  .ck-blog-listing__category {
    padding: 10px 16px;
    font-size: 14px;
  }
}

/**
 * Single blog post template (Figma node 662:353)
 *
 * Sections (top → bottom):
 *   1. `__hero`   — full-bleed grey bar with the featured image
 *                   centered and overlapping its bottom edge.
 *   2. `__header` — title + meta row + separator.
 *   3. `__content` — the_content() output with a scoped typography
 *                    cascade. Lists in here use BLACK crown bullets
 *                    (not yellow); scoping prevents that style from
 *                    leaking to any other place on the site.
 */
.ck-blog-single {
  background: #ffffff;
  /* ---------- Hero ---------- */
}
.ck-blog-single__hero {
  background: #d9d9d9;
  height: 359px;
}
.ck-blog-single__featured {
  max-width: 920px;
  margin: -269px auto 0;
  position: relative;
  z-index: 1;
}
.ck-blog-single__featured img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 920/544;
  -o-object-fit: cover;
     object-fit: cover;
  background: #c4c4c4;
}
.ck-blog-single {
  /* ---------- Article container ---------- */
}
.ck-blog-single__article {
  padding: 75px 0 100px;
}
.ck-blog-single__inner {
  max-width: 1158px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
.ck-blog-single {
  /* ---------- Header (title + meta) ---------- */
}
.ck-blog-single__header {
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(12, 30, 34, 0.76);
  margin-bottom: 50px;
}
.ck-blog-single__title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  grid-gap: 32px;
  gap: 32px;
  max-width: 920px;
}
.ck-blog-single__title {
  flex: 0 1 611px;
  min-width: 0;
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: #000000;
}
@media (max-width: 600px) {
  .ck-blog-single__title {
    flex: 0 1 auto;
  }
}
.ck-blog-single__meta {
  flex: 0 0 auto;
  margin: 14px 0 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #000000;
  white-space: nowrap;
}
.ck-blog-single__meta-sep {
  margin: 0 8px;
}
.ck-blog-single {
  /* ---------- Content (the_content cascade) ----------
   *
   * Scoping is by `.ck-blog-single__content` rather than via the
   * `.wp-block-*` marker classes used in ck-two-columns/ck-indented-
   * content — single-post content runs through the_content() and
   * includes legacy classic-editor markup as well as block markup, so
   * we target the plain tags. The black crown bullet style is unique
   * to this scope and won't leak elsewhere.
   */
}
.ck-blog-single__content {
  max-width: 824px;
}
.ck-blog-single__content > :first-child {
  margin-top: 0;
}
.ck-blog-single__content > :last-child {
  margin-bottom: 0;
}
.ck-blog-single__content > h1:first-of-type::before, .ck-blog-single__content h2:first-of-type::before, .ck-blog-single__content h3:first-of-type::before {
  content: "";
  display: table;
  clear: both;
}
.ck-blog-single__content p {
  margin: 0 0 24px;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #75787b;
}
.ck-blog-single__content h1, .ck-blog-single__content h2, .ck-blog-single__content h3, .ck-blog-single__content h4, .ck-blog-single__content h5, .ck-blog-single__content h6,
.ck-blog-single__content .wp-block-heading {
  margin: 50px 0 24px;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: #000000;
}
.ck-blog-single__content h1, .ck-blog-single__content h1.wp-block-heading {
  font-size: 40px;
}
.ck-blog-single__content h2, .ck-blog-single__content h2.wp-block-heading {
  font-size: 32px;
}
.ck-blog-single__content h3, .ck-blog-single__content h3.wp-block-heading {
  font-size: 20px;
}
.ck-blog-single__content h4, .ck-blog-single__content h4.wp-block-heading {
  font-size: 16px;
}
.ck-blog-single__content h5, .ck-blog-single__content h5.wp-block-heading {
  font-size: 18px;
}
.ck-blog-single__content h6, .ck-blog-single__content h6.wp-block-heading {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ck-blog-single__content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote) a {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}
.ck-blog-single__content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote) a:hover, .ck-blog-single__content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote) a:focus-visible {
  color: #ffb200;
}
.ck-blog-single__content ul,
.ck-blog-single__content ul.wp-block-list {
  list-style: none;
  margin: 0 0 15px;
  padding: 0;
  max-width: 525px;
}
.ck-blog-single__content ul li,
.ck-blog-single__content ul.wp-block-list li {
  position: relative;
  padding-left: 42px;
  margin: 0 0 15px;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #75787b;
}
.ck-blog-single__content ul li:last-child,
.ck-blog-single__content ul.wp-block-list li:last-child {
  margin-bottom: 0;
}
.ck-blog-single__content ul li::before,
.ck-blog-single__content ul.wp-block-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 22.5px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.5 16' fill='%23000000'%3E%3Cpath d='M22.5 4L22 11H0V3L3.5 7L5.5 1.5L8.5 6L11 0L14.5 6L17.5 1L19.5 7L22.5 4Z'/%3E%3Cpath d='M0 13H22V16H0V13Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.ck-blog-single__content ul li:has(> strong:only-child),
.ck-blog-single__content ul.wp-block-list li:has(> strong:only-child) {
  max-width: 525px;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  line-height: 1.5;
  color: #000000;
}
.ck-blog-single__content ul li:has(> strong:only-child) > strong,
.ck-blog-single__content ul.wp-block-list li:has(> strong:only-child) > strong {
  font-weight: inherit;
}
.ck-blog-single__content ul li:has(> strong:only-child)::before,
.ck-blog-single__content ul.wp-block-list li:has(> strong:only-child)::before {
  top: 4px;
}
.ck-blog-single__content ul li strong,
.ck-blog-single__content ul.wp-block-list li strong {
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 500;
  color: #000;
}
.ck-blog-single__content ul li a,
.ck-blog-single__content ul.wp-block-list li a {
  color: #000;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}
.ck-blog-single__content ul li a:hover, .ck-blog-single__content ul li a:focus-visible,
.ck-blog-single__content ul.wp-block-list li a:hover,
.ck-blog-single__content ul.wp-block-list li a:focus-visible {
  color: #ffb200;
}
.ck-blog-single__content ol,
.ck-blog-single__content ol.wp-block-list {
  list-style: decimal;
  margin: 0 0 15px;
  padding-left: 22px;
}
.ck-blog-single__content ol li,
.ck-blog-single__content ol.wp-block-list li {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #75787b;
  padding-left: 4px;
}
.ck-blog-single__content figure:not(.wp-block-table),
.ck-blog-single__content .wp-block-image {
  margin: 72px 0 40px;
}
.ck-blog-single__content figure:not(.wp-block-table) img,
.ck-blog-single__content .wp-block-image img {
  display: block;
  max-width: 100%;
  height: auto;
}
.ck-blog-single__content blockquote {
  margin: 40px 0;
  padding: 8px 0 8px 24px;
  border-left: 3px solid #ffb200;
  font-style: italic;
  color: #000000;
}
.ck-blog-single__content blockquote p:last-child {
  margin-bottom: 0;
}
.ck-blog-single {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-blog-single__hero {
    height: 280px;
  }
  .ck-blog-single__featured {
    max-width: calc(100% - 48px);
    margin: -210px 24px 0;
  }
  .ck-blog-single__article {
    padding: 48px 0 64px;
  }
  .ck-blog-single__header {
    margin-bottom: 36px;
  }
  .ck-blog-single__title {
    font-size: 28px;
  }
  .ck-blog-single__meta {
    margin-top: 0;
  }
  .ck-blog-single__content h2, .ck-blog-single__content h2.wp-block-heading {
    font-size: 26px;
  }
}
@media (max-width: 600px) {
  .ck-blog-single__hero {
    height: 200px;
  }
  .ck-blog-single__featured {
    max-width: calc(100% - 32px);
    margin: -150px 16px 0;
  }
  .ck-blog-single__article {
    padding: 36px 0 48px;
  }
  .ck-blog-single__inner {
    padding: 0 16px;
  }
  .ck-blog-single__title {
    font-size: 24px;
  }
  .ck-blog-single__title-row {
    flex-direction: column;
    grid-gap: 12px;
    gap: 12px;
  }
  .ck-blog-single__meta {
    margin-top: 0;
  }
}

/**
 * Auto Table of Contents — prepended to `the_content` on single blog
 * posts by `lib/table-of-contents.php`. Lives inside the article's
 * `.ck-blog-single__content` reading column.
 *
 * Visual: subtle grey card with a yellow left rule, slab-bold title,
 * numbered list of section links. H3 sub-items nest one indent deeper
 * with their own inherited numbering style.
 *
 * Scoped under `.ck-blog-single__content` so it can't leak into other
 * places — and because the content cascade above has aggressive
 * `> ol { list-style: none }` and ::before rules we explicitly need to
 * neutralize inside the TOC.
 */
.ck-blog-single__content .ck-toc {
  margin: 0 30px 30px 0;
  padding: 24px 32px 28px;
  background: #f8f8f8;
  border-left: 4px solid #ffb200;
  border-radius: 2px;
  max-width: 400px;
  float: left;
}
.ck-blog-single__content .ck-toc__title {
  margin: 0 0 12px;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: 0.01em;
  color: #000000;
  text-transform: uppercase;
}
.ck-blog-single__content .ck-toc {
  /* Numbered list — `ol` is intentional here. Override the content
   * cascade's `> ol { list-style: none; padding: 0 }` rule and the
   * yellow-checkmark ::before so the TOC reads as a proper numbered
   * table, not a bulleted body list. */
}
.ck-blog-single__content .ck-toc__list, .ck-blog-single__content .ck-toc__sublist {
  list-style: decimal;
  margin: 0;
  padding-left: 22px;
}
.ck-blog-single__content .ck-toc__sublist {
  list-style: lower-alpha;
  margin: 6px 0 6px;
  padding-left: 24px;
}
.ck-blog-single__content .ck-toc__item {
  padding-left: 0;
  margin: 0 0 6px;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.55;
  color: #75787b;
}
.ck-blog-single__content .ck-toc__item:last-child {
  margin-bottom: 0;
}
.ck-blog-single__content .ck-toc__item {
  /* Defensive: kill the yellow-checkmark ::before that the
   * content cascade applies to `> ol li`. */
}
.ck-blog-single__content .ck-toc__item::before {
  content: none;
}
.ck-blog-single__content .ck-toc__link {
  color: #000000;
  text-decoration: none;
  text-underline-offset: 2px;
  transition: color 0.15s ease, -webkit-text-decoration-color 0.15s ease;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
  transition: color 0.15s ease, text-decoration-color 0.15s ease, -webkit-text-decoration-color 0.15s ease;
}
.ck-blog-single__content .ck-toc__link:hover, .ck-blog-single__content .ck-toc__link:focus-visible {
  color: #ffb200;
  text-decoration: underline;
  -webkit-text-decoration-color: #ffb200;
          text-decoration-color: #ffb200;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
@media (max-width: 600px) {
  .ck-blog-single__content .ck-toc {
    padding: 20px 20px 22px;
  }
  .ck-blog-single__content .ck-toc__title {
    font-size: 16px;
  }
  .ck-blog-single__content .ck-toc__item {
    font-size: 14px;
  }
}

/* Smooth scroll to anchored headings + a little top offset so the
 * anchor doesn't land flush against the viewport edge under sticky
 * site chrome. Applied at the html level so it covers all anchor
 * navigation, not just TOC clicks. */
html {
  scroll-behavior: smooth;
}

.ck-blog-single__content :where(h2, h3)[id] {
  scroll-margin-top: 24px;
}

/**
 * Single Gallery item template (Figma node 720:72)
 *
 * Body typography (paragraphs, headings, lists, links, p+ul tightening,
 * strong-wrapped li upgrades) is shared with the page template — the
 * content wrapper carries BOTH classes (`ck-gallery-single__content
 * ck-page__content`) so `_page.scss` provides the typography cascade
 * once. This file owns only the gallery-specific layout: hero, article
 * spacing, the gallery-slider overlap onto the hero, and the
 * programmatic CTA Buttons wrapper at the bottom of the article.
 */
.ck-gallery-single {
  background: #ffffff;
  /* ---------- Hero ---------- */
}
.ck-gallery-single__hero {
  background: #d9d9d9;
  min-height: 234px;
  display: flex;
  align-items: center;
  padding: 60px 0;
}
.ck-gallery-single__hero-inner {
  text-align: center;
}
.ck-gallery-single__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 54px;
  line-height: 64px;
  letter-spacing: 1.08px;
  text-transform: uppercase;
  color: #000000;
  text-align: center;
}
.ck-gallery-single {
  /* ---------- Article ---------- */
}
.ck-gallery-single__article {
  padding: 80px 0 64px;
}
.ck-gallery-single__inner {
  max-width: 1158px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
.ck-gallery-single__content > .ck-gallery-slider:first-child,
.ck-gallery-single__content > .wp-block-acf-ck-gallery-slider:first-child {
  margin-top: -120px;
  position: relative;
  z-index: 1;
}
.ck-gallery-single__cta {
  max-width: 968px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}
.ck-gallery-single {
  /* ---------- Responsive ---------- */
}
@media (max-width: 1024px) {
  .ck-gallery-single .ck-gallery-single__content > .ck-gallery-slider:first-child, .ck-gallery-single .ck-gallery-single__content > .wp-block-acf-ck-gallery-slider:first-child {
    margin-top: -20px;
  }
}
@media (max-width: 900px) {
  .ck-gallery-single__hero {
    min-height: 180px;
    padding: 36px 0;
  }
  .ck-gallery-single__title {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: 0.04em;
  }
  .ck-gallery-single__article {
    padding: 48px 0 56px;
  }
}
@media (max-width: 600px) {
  .ck-gallery-single__hero {
    min-height: 140px;
    padding: 24px 0;
  }
  .ck-gallery-single__title {
    font-size: 28px;
    letter-spacing: 0.02em;
  }
  .ck-gallery-single__article {
    padding: 32px 0 40px;
  }
  .ck-gallery-single__inner {
    padding: 0 16px;
  }
}

/**
 * Default page template (Figma node 753:2 — Service Areas reference)
 *
 * Width model — inverted from the usual "constrain everything, allowlist
 * full-bleed":
 *
 *   - Native Gutenberg / HTML content (paragraphs, headings, lists,
 *     images, etc.) is constrained to a 920px reading column.
 *   - ACF blocks (anything with a `ck-*` class) flow at full viewport
 *     width by default — each one ships with its own internal
 *     `.container`, so they self-constrain the inner content while
 *     staying edge-to-edge on the outside.
 *
 * This means new ACF blocks "just work" without an allowlist update.
 * Opt-outs for blocks that should stay in the reading column (e.g.
 * `.ck-gallery-slider`) are listed below.
 *
 * Typography mirrors blog-single / gallery-single — muted-grey semibold
 * paragraphs, slab-bold black headings (32 / 20 / 16 for H2 / H3 / H4),
 * yellow-crown bulleted lists.
 */
.ck-page {
  background: #ffffff;
}
.ck-page:has(.ck-page__content > .alignfull:first-child), .ck-page:has(.ck-page__content > .ck-page-hero:first-child), .ck-page:has(.ck-page__content > .ck-hero:first-child) {
  padding-top: 0;
}

.ck-page__content {
  /* ---------- Width constraint pattern ----------
   *
   * Inverted model: constrain native Gutenberg/HTML content to a
   * 920px reading column; let ACF blocks (`ck-*`) flow at full
   * viewport width. Every custom block has its own internal
   * `.container` — once we get out of their way, they self-constrain
   * the inner content while staying edge-to-edge on the outside.
   *
   * Result: new ACF blocks "just work" without an allowlist update.
   * If a future custom block needs to stay in the reading column,
   * opt it out below (see `.ck-gallery-slider`).
   */
}
.ck-page__content > *:not([class^=ck-]):not([class*=" ck-"]):not(.alignfull) {
  max-width: 968px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}
.ck-page__content > .alignwide {
  max-width: 1158px;
  margin-left: auto;
  margin-right: auto;
}
.ck-page__content > .alignfull {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.ck-page__content {
  /* Opt-out (with reading-column padding): blocks that share the
   * 24px side padding of the body text column so their internal
   * content lines up with paragraphs above and below. */
}
.ck-page__content > .ck-inline-review,
.ck-page__content > .ck-cta-buttons,
.ck-page__content > .ck-pricing-table {
  max-width: 968px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}
.ck-page__content {
  /* Opt-out (full 920 — no inner padding): the gallery slider's
   * carousel is designed to span the full reading-column box,
   * extending 24px past the body text on each side. */
}
.ck-page__content > .ck-gallery-slider {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.ck-page__content > :first-child {
  margin-top: 0;
}
.ck-page__content > :last-child {
  margin-bottom: 0;
}
.ck-page__content {
  /* ---------- Typography cascade ----------
   *
   * Mirrors `.ck-blog-single__content` / `.ck-gallery-single__content`
   * after the 32 / 20 / 16 normalization. Paragraphs are muted-grey
   * semibold; headings are slab-bold black.
   */
}
.ck-page__content > p {
  margin: 0 0 24px;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #75787b;
}
.ck-page__content > p strong {
  color: #000;
  font-weight: 500;
}
.ck-page__content > p + ul,
.ck-page__content > p + ul.wp-block-list,
.ck-page__content > p + ol,
.ck-page__content > p + ol.wp-block-list {
  margin-top: -16px;
}
.ck-page__content > h1, .ck-page__content > h2, .ck-page__content > h3, .ck-page__content > h4, .ck-page__content > h5, .ck-page__content > h6,
.ck-page__content > .wp-block-heading {
  margin: 50px 0 24px;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: #000000;
}
.ck-page__content > h1, .ck-page__content > h1.wp-block-heading {
  font-size: 40px;
}
.ck-page__content > h2, .ck-page__content > h2.wp-block-heading {
  font-size: 32px;
}
.ck-page__content > h3, .ck-page__content > h3.wp-block-heading {
  font-size: 20px;
}
.ck-page__content > h4, .ck-page__content > h4.wp-block-heading {
  font-size: 16px;
  margin-top: 25px;
  margin-bottom: 15px;
}
.ck-page__content > h5, .ck-page__content > h5.wp-block-heading {
  font-size: 18px;
}
.ck-page__content > h6, .ck-page__content > h6.wp-block-heading {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ck-page__content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote) a {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}
.ck-page__content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote) a:hover, .ck-page__content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote) a:focus-visible {
  color: #ffb200;
}
.ck-page__content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote) a strong {
  color: #000;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  transition: color 0.15s ease;
}
.ck-page__content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote) a:hover strong,
.ck-page__content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote) a:focus-visible strong {
  color: #ffb200;
}
.ck-page__content {
  /* ---------- Unordered list — yellow crowns ----------
   *
   * Items inherit the muted-grey paragraph type by default. An item
   * whose entire content is wrapped in <strong> upgrades to slab-bold
   * black (same `:has(> strong:only-child)` trick used in blog-single
   * and gallery-single).
   *
   * The ul itself gets the 24px side padding from the `> *` rule
   * above, which puts the bullet at the same x as the surrounding
   * paragraph column edge.
   *
   * The `.wp-block-columns .wp-block-column > ul` branch picks up
   * lists nested inside a native Columns block — those aren't direct
   * children of `.ck-page__content`, so the `> ul` rule alone would
   * miss them and they'd fall back to browser-default bullets.
   */
}
.ck-page__content > ul,
.ck-page__content > ul.wp-block-list,
.ck-page__content > .wp-block-columns .wp-block-column > ul,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list {
  list-style: none;
  margin: 0 auto 24px;
}
.ck-page__content > ul li,
.ck-page__content > ul.wp-block-list li,
.ck-page__content > .wp-block-columns .wp-block-column > ul li,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list li {
  position: relative;
  padding-left: 36px;
  margin: 0 0 5px;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #75787b;
}
.ck-page__content > ul li:last-child,
.ck-page__content > ul.wp-block-list li:last-child,
.ck-page__content > .wp-block-columns .wp-block-column > ul li:last-child,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list li:last-child {
  margin-bottom: 0;
}
.ck-page__content > ul li::before,
.ck-page__content > ul.wp-block-list li::before,
.ck-page__content > .wp-block-columns .wp-block-column > ul li::before,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 22.5px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.5 16' fill='%23ffb200'%3E%3Cpath d='M22.5 4L22 11H0V3L3.5 7L5.5 1.5L8.5 6L11 0L14.5 6L17.5 1L19.5 7L22.5 4Z'/%3E%3Cpath d='M0 13H22V16H0V13Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.ck-page__content > ul li:has(> strong:only-child)::before,
.ck-page__content > ul.wp-block-list li:has(> strong:only-child)::before,
.ck-page__content > .wp-block-columns .wp-block-column > ul li:has(> strong:only-child)::before,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list li:has(> strong:only-child)::before {
  top: 4px;
}
.ck-page__content > ul li,
.ck-page__content > ul.wp-block-list li,
.ck-page__content > .wp-block-columns .wp-block-column > ul li,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list li {
  /* Inline `<strong>` inside a list item: Rockwell + black.
   * Mirrors the `> p strong` treatment but uses heading type
   * since lists already feel like a sub-section. */
}
.ck-page__content > ul li strong,
.ck-page__content > ul.wp-block-list li strong,
.ck-page__content > .wp-block-columns .wp-block-column > ul li strong,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list li strong {
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 500;
  color: #000;
}
.ck-page__content > ul li,
.ck-page__content > ul.wp-block-list li,
.ck-page__content > .wp-block-columns .wp-block-column > ul li,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list li {
  /* Inline links inside list items are always black with an
   * underline; hover/focus shifts to brand yellow. Higher
   * specificity than the generic `> :where(..., ul, ...) a`
   * rule above so this wins. */
}
.ck-page__content > ul li a,
.ck-page__content > ul.wp-block-list li a,
.ck-page__content > .wp-block-columns .wp-block-column > ul li a,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list li a {
  color: #000;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}
.ck-page__content > ul li a:hover, .ck-page__content > ul li a:focus-visible,
.ck-page__content > ul.wp-block-list li a:hover,
.ck-page__content > ul.wp-block-list li a:focus-visible,
.ck-page__content > .wp-block-columns .wp-block-column > ul li a:hover,
.ck-page__content > .wp-block-columns .wp-block-column > ul li a:focus-visible,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list li a:hover,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list li a:focus-visible {
  color: #ffb200;
}
.ck-page__content {
  /* Inside a native columns block: tighten the in-column UL rhythm
   * (narrower measure → tighter leading reads better) and lift the
   * list off the preceding paragraph by 10px so it doesn't butt up
   * against the intro line. */
}
.ck-page__content > .wp-block-columns .wp-block-column > ul,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list {
  margin-top: 10px;
}
.ck-page__content > .wp-block-columns .wp-block-column > ul li,
.ck-page__content > .wp-block-columns .wp-block-column > ul.wp-block-list li {
  line-height: 1.7;
}
.ck-page__content {
  /* Ordered list — yellow checkmark marker instead of a numeric
   * marker. Same body type / spacing as the unordered list above;
   * we suppress the default numeric marker so the ::before is the
   * only thing visible. */
}
.ck-page__content > ol,
.ck-page__content > ol.wp-block-list {
  list-style: none;
  margin: 0 auto 24px;
  padding: 0;
}
.ck-page__content > ol li,
.ck-page__content > ol.wp-block-list li {
  position: relative;
  padding-left: 20px;
  margin: 0 0 5px;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #75787b;
}
.ck-page__content > ol li:last-child,
.ck-page__content > ol.wp-block-list li:last-child {
  margin-bottom: 0;
}
.ck-page__content > ol li::before,
.ck-page__content > ol.wp-block-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1.94;
  color: #75787b;
  font-size: 16px;
}
.ck-page__content > ol li:has(> strong:only-child),
.ck-page__content > ol.wp-block-list li:has(> strong:only-child) {
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  line-height: 1.5;
  color: #000000;
}
.ck-page__content > ol li:has(> strong:only-child) > strong,
.ck-page__content > ol.wp-block-list li:has(> strong:only-child) > strong {
  font-weight: inherit;
}
.ck-page__content {
  /* Images — fill column width with breathing room above and below.
   * `.wp-block-table` is also a <figure> but uses its own treatment
   * (see `base/_wp-block-table.scss`), so it's excluded here. */
}
.ck-page__content > figure:not(.wp-block-table),
.ck-page__content > .wp-block-image {
  margin: 40px auto;
}
.ck-page__content > figure:not(.wp-block-table) img,
.ck-page__content > .wp-block-image img {
  display: block;
  max-width: 100%;
  height: auto;
}
.ck-page__content {
  /* Iframes — Custom HTML / direct <iframe> embeds. The generic
   * `> *:not(...)` rule already gives iframes max-width: 920px, but
   * iframes are replaced elements with their own width attribute,
   * so they won't stretch to fill the column without `width: 100%`.
   * We also zero the inherited 24px side padding (replaced elements
   * handle their own internal layout) and give the same vertical
   * rhythm as figures. */
}
.ck-page__content > iframe {
  display: block;
  width: 100%;
  max-width: 920px;
  margin: 40px auto;
  padding: 0;
  border: 0;
}
.ck-page__content {
  /* Blockquote. */
}
.ck-page__content > blockquote {
  margin: 40px auto;
  padding: 8px 0 8px 24px;
  border-left: 3px solid #ffb200;
  font-style: italic;
  color: #000000;
}
.ck-page__content > blockquote p:last-child {
  margin-bottom: 0;
}
.ck-page__content {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-page__content > h1, .ck-page__content > h2, .ck-page__content > h3, .ck-page__content > h4, .ck-page__content > h5, .ck-page__content > h6,
  .ck-page__content > .wp-block-heading {
    margin-top: 32px;
    margin-bottom: 16px;
  }
  .ck-page__content > h2, .ck-page__content > h2.wp-block-heading {
    font-size: 26px;
  }
  .ck-page__content > h4, .ck-page__content > h4.wp-block-heading {
    margin-top: 20px;
    margin-bottom: 10px;
  }
}
@media (max-width: 600px) {
  .ck-page__content > *:not([class^=ck-]):not([class*=" ck-"]):not(.alignfull),
  .ck-page__content > .ck-gallery-slider {
    padding-left: 16px;
    padding-right: 16px;
  }
  .ck-page__content > h1, .ck-page__content > h2, .ck-page__content > h3, .ck-page__content > h4, .ck-page__content > h5, .ck-page__content > h6,
  .ck-page__content > .wp-block-heading {
    margin-top: 24px;
    margin-bottom: 12px;
  }
  .ck-page__content > h4, .ck-page__content > h4.wp-block-heading {
    margin-top: 16px;
    margin-bottom: 8px;
  }
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-gap: 8px;
  gap: 8px;
  padding: 18px 24px;
  min-height: 60px;
  border: 0;
  border-radius: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.button--primary {
  background: #ffb200;
  color: #000000;
}
.button--primary:hover, .button--primary:focus-visible {
  background: #e69e00;
  color: #000000;
}
.button--primary svg {
  flex-shrink: 0;
}
.button--phone {
  background: #ffffff;
  color: #262626;
  font-weight: 600;
}
.button--phone:hover, .button--phone:focus-visible {
  background: rgba(255, 255, 255, 0.92);
  color: #262626;
}
.button--phone svg {
  flex-shrink: 0;
}

/**
 * Singleton image lightbox — markup is owned by `_lightbox.js` and
 * appended to <body> on first open. Used by `ck-content-slider` and
 * `ck-gallery-slider` (and any future block that wants a full-image
 * modal viewer).
 */
.ck-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px;
}
.ck-lightbox[hidden] {
  display: none;
}
.ck-lightbox__image {
  display: block;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ck-lightbox__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.ck-lightbox__close:hover, .ck-lightbox__close:focus-visible {
  background: rgba(255, 255, 255, 0.24);
}
.ck-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.ck-lightbox__nav:hover, .ck-lightbox__nav:focus-visible {
  background: rgba(255, 255, 255, 0.24);
}
.ck-lightbox__nav--prev {
  left: 24px;
}
.ck-lightbox__nav--next {
  right: 24px;
}
.ck-lightbox__nav svg {
  display: block;
}

/* Lock body scroll while the lightbox is open. Applied to <html> from JS
   so it survives Gutenberg's nested scrollers in the editor preview. */
html.is-ck-lightbox-open {
  overflow: hidden;
}

/**
 * Hero Carousel (S1, Figma node 402:425)
 *
 * Full-bleed fading carousel. Each slide stacks a background image, optional
 * gradient overlay, a left-aligned title (Roboto Slab regular + *bold*
 * spans), a subtitle, and a yellow CTA button. Carousel dots sit near the
 * bottom-center of the active slide.
 */
.ck-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  /* Slick wrapper */
}
.ck-hero__slider {
  position: relative;
}
.ck-hero {
  /* Each slide */
}
.ck-hero__slide {
  position: relative;
  min-height: 700px;
  display: flex;
  align-items: center;
  color: #ffffff;
  isolation: isolate;
}
.ck-hero__background {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.ck-hero__background img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.ck-hero {
  /* Dark gradient overlay — only rendered when show_gradient_overlay is on.
     Approximates Figma's linear-gradient(-82.65deg, transparent → black)
     which fades from a near-black left edge to transparent on the right. */
}
.ck-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(97deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 30%, rgba(0, 0, 0, 0) 70%);
}
.ck-hero {
  /* Container holding the left-aligned content stack */
}
.ck-hero__inner {
  width: 100%;
  position: relative;
  z-index: 1;
  padding-top: 170px;
  padding-bottom: 170px;
}
.ck-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 28px;
  gap: 28px;
  max-width: 700px;
}
.ck-hero__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: 54px;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #ffffff;
}
.ck-hero__title strong {
  font-weight: 600;
}
.ck-hero__subtitle {
  margin: 0;
  max-width: 540px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  color: #ffffff;
}
.ck-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 32px;
  min-width: 168px;
  min-height: 54px;
  background: #ffb200;
  color: #000000;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.15s ease;
}
.ck-hero__cta:hover, .ck-hero__cta:focus-visible {
  background: #e69e00;
  color: #000000;
}
.ck-hero {
  /* Slick stacks slides via an inner div per slide; let them inherit height */
}
.ck-hero .slick-list,
.ck-hero .slick-track {
  height: 100%;
}
.ck-hero .slick-slide > div {
  height: 100%;
}
.ck-hero {
  /* ---------- Carousel dots (custom-coded, no icons) ---------- */
}
.ck-hero .slick-dots {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 40px;
  margin: 0;
  padding: 0 24px;
  display: flex;
  justify-content: center;
  grid-gap: 12px;
  gap: 12px;
  list-style: none;
}
.ck-hero .slick-dots li {
  display: block;
  line-height: 0;
}
.ck-hero .slick-dots button {
  display: block;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  padding: 0;
  border-radius: 50%;
  background: transparent;
  border: 2px solid #ffffff;
  color: transparent;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.ck-hero .slick-dots button:hover {
  background: rgba(255, 255, 255, 0.25);
}
.ck-hero .slick-dots button:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 2px;
}
.ck-hero .slick-dots .slick-active button {
  background: #ffb200;
}
@media (max-width: 900px) {
  .ck-hero__slide {
    min-height: 540px;
  }
  .ck-hero__inner {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .ck-hero__title {
    font-size: 40px;
  }
  .ck-hero__subtitle {
    font-size: 17px;
  }
  .ck-hero .slick-dots {
    bottom: 24px;
  }
}
@media (max-width: 600px) {
  .ck-hero__slide {
    min-height: 460px;
  }
  .ck-hero__inner {
    padding-top: 80px;
    padding-bottom: 100px;
  }
  .ck-hero__content {
    grid-gap: 20px;
    gap: 20px;
  }
  .ck-hero__title {
    font-size: 30px;
  }
  .ck-hero__subtitle {
    font-size: 15px;
    line-height: 1.5;
  }
  .ck-hero__cta {
    min-width: 0;
    min-height: 48px;
    padding: 14px 24px;
  }
  .ck-hero .slick-dots {
    bottom: 18px;
    grid-gap: 10px;
    gap: 10px;
  }
  .ck-hero .slick-dots button {
    width: 16px;
    height: 16px;
  }
}

.ck-services {
  background: #f4f6ff;
  padding: 90px 0;
}
.ck-services__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 45px;
  gap: 45px;
}
.ck-services__title {
  margin: 0;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-transform: capitalize;
  color: #262626;
}
.ck-services__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 1110px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 30px;
  gap: 30px;
}
.ck-services__card {
  background: #ffffff;
  padding: 15px 15px 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 18px;
  gap: 18px;
  text-align: center;
}
.ck-services__media {
  width: 100%;
  aspect-ratio: 320/195;
  overflow: hidden;
}
.ck-services__media img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ck-services__card-title {
  margin: 24px 0 0;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
  color: #262626;
}
.ck-services__card-description {
  margin: 0;
  font-size: 16px;
  line-height: 1.94;
  color: #5f5f5f;
  max-width: 320px;
}
@media (max-width: 900px) {
  .ck-services {
    padding: 60px 0;
  }
  .ck-services__inner {
    grid-gap: 32px;
    gap: 32px;
  }
  .ck-services__title {
    font-size: 26px;
  }
  .ck-services__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 24px;
    gap: 24px;
  }
}
@media (max-width: 600px) {
  .ck-services {
    padding: 40px 0;
  }
  .ck-services__grid {
    grid-template-columns: 1fr;
  }
  .ck-services__card-description {
    max-width: none;
  }
}

.ck-cta-band {
  position: relative;
  padding: 0 24px;
  display: flex;
  justify-content: center;
  isolation: isolate;
}
.ck-cta-band::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: #f4f6ff;
  z-index: -1;
}
.ck-cta-band__card {
  position: relative;
  width: 100%;
  max-width: 1110px;
  min-height: 416px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 56px 24px;
  color: #ffffff;
  overflow: hidden;
  isolation: isolate;
}
.ck-cta-band__background {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.ck-cta-band__background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.ck-cta-band__overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.45);
}
.ck-cta-band__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  grid-gap: 25px;
  gap: 25px;
  max-width: 612px;
  width: 100%;
}
.ck-cta-band__headline {
  margin: 0;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
  text-transform: capitalize;
  color: #ffffff;
}
.ck-cta-band__subheadline {
  margin: 0;
  font-size: 16px;
  line-height: 1.94;
  color: #ffffff;
  max-width: 612px;
}
.ck-cta-band__ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  grid-gap: 16px;
  gap: 16px;
  margin-top: 8px;
}
.ck-cta-band.alignfull {
  padding: 0;
}
.ck-cta-band.alignfull::before {
  display: none;
}
.ck-cta-band.alignfull .ck-cta-band__card {
  max-width: none;
}
@media (max-width: 900px) {
  .ck-cta-band__card {
    min-height: 0;
    padding: 48px 24px;
  }
  .ck-cta-band__headline {
    font-size: 26px;
  }
}
@media (max-width: 600px) {
  .ck-cta-band {
    padding: 0 16px;
  }
  .ck-cta-band__card {
    padding: 36px 20px;
  }
  .ck-cta-band__headline {
    font-size: 22px;
  }
  .ck-cta-band__subheadline {
    font-size: 15px;
    line-height: 1.7;
  }
}

.ck-highlights {
  padding: 75px 0 90px;
  background: #ffffff;
}
.ck-highlights__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 81px;
  gap: 81px;
}
.ck-highlights__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 0;
  gap: 0;
  text-align: center;
}
.ck-highlights__strapline {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.94;
  color: #f71516;
}
.ck-highlights__headline {
  margin: 0;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.47;
  text-transform: capitalize;
  color: #262626;
  max-width: 543px;
}
.ck-highlights__items {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 1110px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 32px;
  gap: 32px;
}
.ck-highlights__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  grid-gap: 27px;
  gap: 27px;
}
.ck-highlights__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 51px;
}
.ck-highlights__icon img {
  display: block;
  max-height: 51px;
  width: auto;
}
.ck-highlights__label {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.75;
  color: #262626;
  max-width: 255px;
}
@media (max-width: 900px) {
  .ck-highlights {
    padding: 60px 0 70px;
  }
  .ck-highlights__inner {
    grid-gap: 56px;
    gap: 56px;
  }
  .ck-highlights__headline {
    font-size: 26px;
  }
  .ck-highlights__items {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px 24px;
    gap: 40px 24px;
  }
}
@media (max-width: 600px) {
  .ck-highlights {
    padding: 48px 0 56px;
  }
  .ck-highlights__inner {
    grid-gap: 40px;
    gap: 40px;
  }
  .ck-highlights__headline {
    font-size: 22px;
  }
  .ck-highlights__items {
    grid-template-columns: 1fr;
    grid-gap: 32px;
    gap: 32px;
  }
}

.ck-testimonials {
  position: relative;
  background: #262626;
  color: #ffffff;
  padding: 75px 0 90px;
  overflow: hidden;
  isolation: isolate;
}
.ck-testimonials__bg {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 267px;
  opacity: 0.15;
  z-index: -1;
  pointer-events: none;
}
.ck-testimonials__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.ck-testimonials__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 47px;
  gap: 47px;
}
.ck-testimonials__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 0;
  gap: 0;
  text-align: center;
}
.ck-testimonials__strapline {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.94;
  color: #f71516;
}
.ck-testimonials__headline {
  margin: 0;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.47;
  text-transform: capitalize;
  color: #ffffff;
  max-width: 720px;
}
.ck-testimonials {
  /* Summary row -------------------------------------------------- */
}
.ck-testimonials__summary {
  position: relative;
  width: 100%;
  max-width: 1110px;
  background: #ffffff;
  box-shadow: 0 -1px 61px rgba(221, 221, 221, 0.16);
  padding: 30px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  grid-gap: 24px;
  gap: 24px;
}
.ck-testimonials__summary-left {
  display: flex;
  align-items: center;
  grid-gap: 30px;
  gap: 30px;
}
.ck-testimonials__summary-logo {
  flex-shrink: 0;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
}
.ck-testimonials__summary-logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.ck-testimonials__summary-info {
  display: flex;
  flex-direction: column;
  grid-gap: 6px;
  gap: 6px;
}
.ck-testimonials__summary-name {
  margin: 0;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  color: #262626;
}
.ck-testimonials__summary-rating {
  display: flex;
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
}
.ck-testimonials__summary-score {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
  color: #262626;
}
.ck-testimonials__summary-total {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #222;
}
.ck-testimonials__summary-google {
  position: absolute;
  top: 13px;
  right: 24px;
  display: block;
  width: 28px;
  height: 28px;
}
.ck-testimonials__summary-google svg {
  display: block;
  width: 100%;
  height: 100%;
}
.ck-testimonials__summary-actions {
  display: flex;
  grid-gap: 12px;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.ck-testimonials__pill {
  display: inline-flex;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 19px;
  background: #ffb200;
  color: #ffffff;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.15s ease;
}
.ck-testimonials__pill:hover, .ck-testimonials__pill:focus-visible {
  background: #e69e00;
  color: #ffffff;
}
.ck-testimonials__pill svg {
  display: block;
}
.ck-testimonials__pill-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.ck-testimonials {
  /* Star rendering ---------------------------------------------- */
}
.ck-testimonials__stars {
  display: inline-flex;
  grid-gap: 2px;
  gap: 2px;
  line-height: 0;
}
.ck-testimonials__star-wrap {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
}
.ck-testimonials__star-wrap .ck-testimonials__star {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.ck-testimonials__star-wrap .ck-testimonials__star:nth-child(1) {
  color: #d9d9d9;
}
.ck-testimonials__star-wrap .ck-testimonials__star:nth-child(2) {
  color: #f5a623;
  display: none;
}
.ck-testimonials__star-wrap.is-filled .ck-testimonials__star:nth-child(2) {
  display: block;
}
.ck-testimonials__star-wrap.is-half .ck-testimonials__star:nth-child(2) {
  display: block;
  clip-path: inset(0 50% 0 0);
}
.ck-testimonials {
  /* Review cards row -------------------------------------------- */
}
.ck-testimonials__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 1110px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 30px;
  gap: 30px;
}
.ck-testimonials__card {
  background: #ffffff;
  color: #262626;
  box-shadow: 0 -1px 61px rgba(221, 221, 221, 0.16);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  grid-gap: 18px;
  gap: 18px;
  min-height: 325px;
}
.ck-testimonials__card-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-areas: "avatar meta google" "avatar meta time";
  -moz-column-gap: 12px;
       grid-column-gap: 12px;
       column-gap: 12px;
  align-items: center;
}
.ck-testimonials__avatar {
  grid-area: avatar;
  width: 59px;
  height: 59px;
  border-radius: 50%;
  overflow: hidden;
}
.ck-testimonials__avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.ck-testimonials__card-meta {
  grid-area: meta;
  display: flex;
  flex-direction: column;
  grid-gap: 4px;
  gap: 4px;
}
.ck-testimonials__card-name {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: #262626;
}
.ck-testimonials__card-time {
  grid-area: time;
  font-size: 13px;
  color: #5f5f5f;
  white-space: nowrap;
  justify-self: end;
}
.ck-testimonials__card-google {
  grid-area: google;
  justify-self: end;
}
.ck-testimonials__card-google svg {
  width: 24px;
  height: 24px;
}
.ck-testimonials__card-quote {
  margin: 0;
  font-size: 16px;
  line-height: 1.94;
  color: #5f5f5f;
}
.ck-testimonials {
  /* Load more --------------------------------------------------- */
}
.ck-testimonials__cta-wrap {
  display: flex;
  justify-content: center;
}
.ck-testimonials__load-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 18px 32px;
  min-height: 60px;
  background: transparent;
  color: #ffffff;
  border: 1px solid #ffffff;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ck-testimonials__load-more:hover, .ck-testimonials__load-more:focus-visible {
  background: #ffffff;
  color: #262626;
}
@media (max-width: 900px) {
  .ck-testimonials {
    padding: 60px 0 70px;
  }
  .ck-testimonials__inner {
    grid-gap: 32px;
    gap: 32px;
  }
  .ck-testimonials__headline {
    font-size: 26px;
  }
  .ck-testimonials__summary {
    flex-direction: column;
    align-items: flex-start;
    grid-gap: 20px;
    gap: 20px;
    padding-top: 60px;
  }
  .ck-testimonials__summary-actions {
    justify-content: flex-start;
  }
  .ck-testimonials__cards {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px;
    gap: 20px;
  }
}
@media (max-width: 600px) {
  .ck-testimonials {
    padding: 48px 0 56px;
  }
  .ck-testimonials__headline {
    font-size: 22px;
  }
  .ck-testimonials__summary {
    padding: 24px 20px;
  }
  .ck-testimonials__summary-left {
    grid-gap: 18px;
    gap: 18px;
  }
  .ck-testimonials__summary-logo {
    width: 72px;
    height: 72px;
  }
  .ck-testimonials__summary-name {
    font-size: 20px;
  }
  .ck-testimonials__cards {
    grid-template-columns: 1fr;
  }
}

/**
 * Get Started block — full-bleed band with a background image and dark overlay.
 *
 * Layout from Figma (402:72):
 *   - h-[368px], full width
 *   - pt-[87px] pb-[67px]
 *   - background image with bg-[rgba(0,0,0,0.58)] overlay
 *   - gap-[32px] between headline and CTA
 *   - centered headline (Rockwell Bold 48px white)
 *   - yellow phone CTA (209x70 #ffb200, black text + icon)
 */
.ck-get-started {
  position: relative;
  min-height: 368px;
  padding: 87px 24px 67px;
  color: #ffffff;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Background image — full bleed */
}
.ck-get-started__background {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.ck-get-started__background img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.ck-get-started {
  /* Dark overlay over the bg image */
}
.ck-get-started__overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.58);
}
.ck-get-started {
  /* Centered content stack */
}
.ck-get-started__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  grid-gap: 32px;
  gap: 32px;
  text-align: center;
}
.ck-get-started__headline {
  margin: 0;
  max-width: 872px;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #ffffff;
}
.ck-get-started__headline br {
  display: block;
}
.ck-get-started__subheadline {
  margin: 0;
  max-width: 635px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  color: #ffffff;
}
.ck-get-started__ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  grid-gap: 16px;
  gap: 16px;
}
.ck-get-started {
  /* Phone CTA — visually identical to the primary CTA next to it.
   * Inherits its base from `.button.button--primary` (see
   * `components/_button.scss`); the only thing left here is the
   * `white-space: nowrap` so the phone number can't wrap mid-string. */
}
.ck-get-started__phone {
  white-space: nowrap;
}
.ck-get-started__phone-number {
  display: inline-block;
}
.ck-get-started {
  /* Optional primary CTA — kept for flexibility, not used in CK homepage layout */
}
.ck-get-started__cta {
  display: inline-flex;
  align-items: center;
  grid-gap: 12px;
  gap: 12px;
}
@media (max-width: 900px) {
  .ck-get-started {
    min-height: 0;
    padding: 64px 24px;
  }
  .ck-get-started__headline {
    font-size: 36px;
  }
}
@media (max-width: 600px) {
  .ck-get-started {
    padding: 48px 16px;
  }
  .ck-get-started__headline {
    font-size: 28px;
  }
}

.ck-locations {
  padding: 80px 24px 30px;
}
.ck-locations__inner {
  max-width: 1111px;
  margin: 0 auto;
  padding: 42px 27px 55px 48px;
  background: #f4f6ff;
}
.ck-locations__strapline {
  margin: 0 0 13px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.94;
  color: #f71516;
  text-transform: capitalize;
}
.ck-locations__grid {
  display: grid;
  grid-template-columns: minmax(0, 460px) minmax(0, 513px);
  grid-gap: 50px;
  gap: 50px;
  align-items: start;
}
.ck-locations__content {
  display: flex;
  flex-direction: column;
  grid-gap: 0;
  gap: 0;
}
.ck-locations__headline {
  margin: 0 0 8px;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.47;
  color: #262626;
  max-width: 412px;
}
.ck-locations__intro {
  margin: 0 0 30px;
  font-size: 16px;
  line-height: 1.94;
  color: #5f5f5f;
  max-width: 460px;
}
.ck-locations__address {
  display: flex;
  align-items: center;
  grid-gap: 12px;
  gap: 12px;
  margin-bottom: 30px;
}
.ck-locations__address-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 29px;
  color: #f71516;
  flex-shrink: 0;
}
.ck-locations__address-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.4;
  color: #262626;
}
.ck-locations__address-text strong {
  font-weight: 500;
}
.ck-locations__ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  grid-gap: 32px;
  gap: 32px;
}
.ck-locations {
  /* Call CTA — circular icon + Call Us Today + number */
}
.ck-locations__call {
  display: inline-grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  -moz-column-gap: 12px;
       grid-column-gap: 12px;
       column-gap: 12px;
  align-items: center;
  text-decoration: none;
  color: #262626;
}
.ck-locations__call:hover .ck-locations__call-number, .ck-locations__call:focus-visible .ck-locations__call-number {
  text-decoration: underline;
}
.ck-locations__call-icon {
  grid-row: 1/span 2;
  grid-column: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 49px;
  height: 49px;
  border-radius: 50%;
  background: #ffb200;
  color: #ffffff;
  flex-shrink: 0;
}
.ck-locations__call-text {
  display: contents;
}
.ck-locations__call-label {
  grid-row: 1;
  grid-column: 2;
  font-size: 14px;
  line-height: 1.2;
  color: #5f5f5f;
}
.ck-locations__call-number {
  grid-row: 2;
  grid-column: 2;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
  color: #262626;
  white-space: nowrap;
}
.ck-locations {
  /* Map embed (Google iframe) */
}
.ck-locations__map {
  position: relative;
  width: 100%;
  aspect-ratio: 513/427;
  overflow: hidden;
  background: #ffffff;
}
.ck-locations__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
@media (max-width: 900px) {
  .ck-locations {
    padding: 48px 24px 56px;
  }
  .ck-locations__inner {
    padding: 32px 24px;
  }
  .ck-locations__grid {
    grid-template-columns: 1fr;
    grid-gap: 32px;
    gap: 32px;
  }
  .ck-locations__headline {
    font-size: 26px;
  }
  .ck-locations__map {
    max-width: 513px;
  }
}
@media (max-width: 600px) {
  .ck-locations {
    padding: 40px 0 48px;
  }
  .ck-locations__headline {
    font-size: 22px;
  }
  .ck-locations__intro {
    font-size: 15px;
    line-height: 1.7;
  }
  .ck-locations__ctas {
    grid-gap: 20px;
    gap: 20px;
  }
  .ck-locations__call-number {
    font-size: 20px;
  }
}

/**
 * FAQ (Figma node 2003:96)
 *
 * Light-gray band with a centered heading, a stack of white accordion
 * items (drop shadow), and a yellow "View All FAQs" CTA at the bottom.
 * Q&A content comes from Global Settings → FAQ tab.
 */
.ck-faq {
  padding: 122px 24px;
  background: #d9d9d9;
}
.ck-faq__inner {
  max-width: 730px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 43px;
  gap: 43px;
}
.ck-faq__headline {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  color: #000000;
  text-align: center;
}
.ck-faq {
  /* ---------- Accordion list ---------- */
}
.ck-faq__list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  grid-gap: 13px;
  gap: 13px;
}
.ck-faq__item {
  background: #ffffff;
  box-shadow: 5px 5px 10px 0 rgba(137, 137, 137, 0.25);
}
.ck-faq__question {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
  margin: 0;
  padding: 19px 22px 19px 34px;
  width: 100%;
  min-height: 67px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  grid-gap: 24px;
  gap: 24px;
  text-align: left;
  cursor: pointer;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  color: #000000;
}
.ck-faq__question:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 2px;
}
.ck-faq__question-text {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
.ck-faq__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
}
.ck-faq__toggle svg {
  display: block;
  width: 100%;
  height: 100%;
}
.ck-faq__toggle-v {
  transform-origin: center;
  transition: transform 0.2s ease;
}
.ck-faq__item.is-open .ck-faq__toggle-v {
  transform: scaleY(0);
}
.ck-faq__answer {
  padding: 0 34px 24px;
}
.ck-faq__answer[hidden] {
  display: none;
}
.ck-faq__answer-inner {
  font-size: 16px;
  line-height: 1.7;
  color: #75787b;
}
.ck-faq__answer-inner p:first-child {
  margin-top: 0;
}
.ck-faq__answer-inner p:last-child {
  margin-bottom: 0;
}
.ck-faq__answer-inner a {
  color: #ffb200;
}
.ck-faq__answer-inner a:hover, .ck-faq__answer-inner a:focus-visible {
  color: #e69e00;
}
.ck-faq {
  /* ---------- View all CTA ---------- */
}
.ck-faq__cta-wrap {
  display: flex;
  justify-content: center;
}
.ck-faq__view-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 245px;
  min-height: 70px;
  padding: 19px 32px;
  background: #ffb200;
  color: #262626;
  border: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.15s ease;
}
.ck-faq__view-all:hover, .ck-faq__view-all:focus-visible {
  background: #e69e00;
  color: #262626;
}
@media (max-width: 900px) {
  .ck-faq {
    padding: 80px 24px;
  }
  .ck-faq__inner {
    grid-gap: 32px;
    gap: 32px;
  }
  .ck-faq__headline {
    font-size: 28px;
  }
}
@media (max-width: 600px) {
  .ck-faq {
    padding: 56px 16px;
  }
  .ck-faq__headline {
    font-size: 24px;
  }
  .ck-faq__question {
    padding: 16px 18px 16px 22px;
    grid-gap: 16px;
    gap: 16px;
  }
  .ck-faq__question-text {
    font-size: 15px;
  }
  .ck-faq__answer {
    padding: 0 22px 20px;
  }
  .ck-faq__view-all {
    width: 100%;
    min-width: 0;
    min-height: 50px;
  }
}

/**
 * Accordion
 *
 * Light-gray band with a centered heading, a stack of white accordion
 * items (drop shadow), and an optional yellow CTA at the bottom. Mirrors
 * the FAQ block, but items are entered manually on the block itself
 * (title + text) rather than pulled from Global Settings.
 */
.ck-accordion {
  padding: 122px 24px;
  background: #d9d9d9;
}
.ck-accordion__inner {
  max-width: 730px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 43px;
  gap: 43px;
}
.ck-accordion__headline {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  color: #000000;
  text-align: center;
}
.ck-accordion {
  /* ---------- Accordion list ---------- */
}
.ck-accordion__list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  grid-gap: 13px;
  gap: 13px;
}
.ck-accordion__item {
  background: #ffffff;
  box-shadow: 5px 5px 10px 0 rgba(137, 137, 137, 0.25);
}
.ck-accordion__question {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
  margin: 0;
  padding: 19px 22px 19px 34px;
  width: 100%;
  min-height: 67px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  grid-gap: 24px;
  gap: 24px;
  text-align: left;
  cursor: pointer;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  color: #000000;
}
.ck-accordion__question:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 2px;
}
.ck-accordion__question-text {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
.ck-accordion__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
}
.ck-accordion__toggle svg {
  display: block;
  width: 100%;
  height: 100%;
}
.ck-accordion__toggle-v {
  transform-origin: center;
  transition: transform 0.2s ease;
}
.ck-accordion__item.is-open .ck-accordion__toggle-v {
  transform: scaleY(0);
}
.ck-accordion__answer {
  padding: 0 34px 24px;
}
.ck-accordion__answer[hidden] {
  display: none;
}
.ck-accordion__answer-inner {
  font-size: 16px;
  line-height: 1.7;
  color: #75787b;
}
.ck-accordion__answer-inner p:first-child {
  margin-top: 0;
}
.ck-accordion__answer-inner p:last-child {
  margin-bottom: 0;
}
.ck-accordion__answer-inner a {
  color: #ffb200;
}
.ck-accordion__answer-inner a:hover, .ck-accordion__answer-inner a:focus-visible {
  color: #e69e00;
}
.ck-accordion {
  /* ---------- View all CTA ---------- */
}
.ck-accordion__cta-wrap {
  display: flex;
  justify-content: center;
}
.ck-accordion__view-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 245px;
  min-height: 70px;
  padding: 19px 32px;
  background: #ffb200;
  color: #262626;
  border: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.15s ease;
}
.ck-accordion__view-all:hover, .ck-accordion__view-all:focus-visible {
  background: #e69e00;
  color: #262626;
}
@media (max-width: 900px) {
  .ck-accordion {
    padding: 80px 24px;
  }
  .ck-accordion__inner {
    grid-gap: 32px;
    gap: 32px;
  }
  .ck-accordion__headline {
    font-size: 28px;
  }
}
@media (max-width: 600px) {
  .ck-accordion {
    padding: 56px 16px;
  }
  .ck-accordion__headline {
    font-size: 24px;
  }
  .ck-accordion__question {
    padding: 16px 18px 16px 22px;
    grid-gap: 16px;
    gap: 16px;
  }
  .ck-accordion__question-text {
    font-size: 15px;
  }
  .ck-accordion__answer {
    padding: 0 22px 20px;
  }
  .ck-accordion__view-all {
    width: 100%;
    min-width: 0;
    min-height: 50px;
  }
}

/**
 * Content / Image (S?, Figma node 402:270)
 *
 * Two-column band, full-bleed: yellow content column on the left, black
 * image column on the right. The right column centers a single image both
 * vertically and horizontally inside the black field.
 */
.ck-content-image {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  /* ---------- Left: yellow content column ---------- */
}
.ck-content-image__content {
  background: #ffb200;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 80px 80px 80px clamp(24px, 6vw, 80px);
}
.ck-content-image__content-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 32px;
  gap: 32px;
  max-width: 460px;
  width: 100%;
}
.ck-content-image__heading {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  color: #000000;
}
.ck-content-image__body {
  margin: 0;
  color: #000000;
  font-size: 16px;
  line-height: 1.94;
}
.ck-content-image__body p {
  margin: 0;
}
.ck-content-image__body p + p {
  margin-top: 1em;
}
.ck-content-image {
  /* ---------- Bulleted feature list ---------- */
}
.ck-content-image__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  grid-gap: 28px;
  gap: 28px;
  width: 100%;
}
.ck-content-image__item {
  display: flex;
  align-items: center;
  grid-gap: 12px;
  gap: 12px;
}
.ck-content-image__item::before {
  content: "";
  flex: 0 0 auto;
  display: block;
  width: 22px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.5 16' fill='%23000'%3E%3Cpath d='M22.5 4L22 11H0V3L3.5 7L5.5 1.5L8.5 6L11 0L14.5 6L17.5 1L19.5 7L22.5 4Z'/%3E%3Cpath d='M0 13H22V16H0V13Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.ck-content-image__item-text {
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  color: #000000;
}
.ck-content-image {
  /* ---------- CTAs ---------- */
}
.ck-content-image__ctas {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 16px;
  gap: 16px;
  margin-top: 8px;
}
.ck-content-image__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-gap: 12px;
  gap: 12px;
  min-width: 209px;
  min-height: 70px;
  padding: 16px 28px;
  background: #000000;
  color: #ffffff;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ck-content-image__cta:hover, .ck-content-image__cta:focus-visible {
  background: #262626;
  color: #ffffff;
}
.ck-content-image__cta-icon {
  flex: 0 0 auto;
  display: block;
  color: #ffffff;
}
.ck-content-image {
  /* ---------- Right: black image column ---------- */
}
.ck-content-image__image {
  background: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  min-height: 100%;
}
.ck-content-image__image-media {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.ck-content-image {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-content-image {
    grid-template-columns: 1fr;
  }
  .ck-content-image__content {
    justify-content: center;
    padding: 64px 32px;
  }
  .ck-content-image__content-inner {
    max-width: 600px;
  }
  .ck-content-image__image {
    padding: 48px 32px;
    min-height: 0;
  }
}
@media (max-width: 600px) {
  .ck-content-image__content {
    padding: 48px 24px;
  }
  .ck-content-image__content-inner {
    grid-gap: 24px;
    gap: 24px;
  }
  .ck-content-image__heading {
    font-size: 26px;
  }
  .ck-content-image__body {
    line-height: 1.7;
  }
  .ck-content-image__items {
    grid-gap: 20px;
    gap: 20px;
  }
  .ck-content-image__ctas {
    width: 100%;
    flex-direction: column;
  }
  .ck-content-image__cta {
    width: 100%;
    min-width: 0;
    min-height: 50px;
  }
  .ck-content-image__image {
    padding: 32px 24px;
  }
}

/**
 * Logo Row (Figma node 402:353)
 *
 * Centered title above a horizontal row of client logos. Logos have a
 * uniform max-height so mismatched aspect ratios still align on a common
 * baseline. The row wraps to multiple lines on narrow viewports.
 */
.ck-logos {
  padding: 80px 0;
}
.ck-logos__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 55px;
  gap: 55px;
}
.ck-logos__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0.01em;
  color: #000000;
  text-align: center;
}
.ck-logos__list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  align-items: center;
  grid-gap: 32px;
  gap: 32px;
}
.ck-logos__item {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ck-logos__image {
  display: block;
  max-width: 100%;
  max-height: 50px;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 900px) {
  .ck-logos {
    padding: 64px 0;
  }
  .ck-logos__inner {
    grid-gap: 40px;
    gap: 40px;
  }
  .ck-logos__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-gap: 32px 40px;
    gap: 32px 40px;
  }
  .ck-logos__image {
    max-height: 44px;
  }
}
@media (max-width: 600px) {
  .ck-logos {
    padding: 48px 0;
  }
  .ck-logos__inner {
    grid-gap: 28px;
    gap: 28px;
  }
  .ck-logos__title {
    font-size: 24px;
  }
  .ck-logos__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 24px 32px;
    gap: 24px 32px;
  }
  .ck-logos__image {
    max-height: 36px;
  }
}

/**
 * Content / Map (Figma node 2002:78)
 *
 * Two-column band: left column holds the title, a wysiwyg-driven text
 * block (with crown-bulleted <ul> support), and yellow CTAs. Right column
 * holds an embedded Google Map iframe.
 */
.ck-content-map {
  padding: 80px 0;
}
.ck-content-map__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-gap: 80px;
  gap: 80px;
  align-items: start;
}
.ck-content-map__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 32px;
  gap: 32px;
  max-width: 460px;
}
.ck-content-map__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.45;
  color: #000000;
}
.ck-content-map {
  /* ---------- WYSIWYG text body ---------- */
}
.ck-content-map__text {
  color: #75787b;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.94;
}
.ck-content-map__text p {
  margin: 0 0 24px;
}
.ck-content-map__text p:last-child {
  margin-bottom: 0;
}
.ck-content-map__text ul {
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  grid-gap: 24px;
  gap: 24px;
}
.ck-content-map__text ul li {
  display: flex;
  align-items: center;
  grid-gap: 13px;
  gap: 13px;
  margin: 0;
  padding: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  color: #000000;
}
.ck-content-map__text ul li::before {
  content: "";
  flex: 0 0 auto;
  display: block;
  width: 22px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.5 16' fill='%23ffb200'%3E%3Cpath d='M22.5 4L22 11H0V3L3.5 7L5.5 1.5L8.5 6L11 0L14.5 6L17.5 1L19.5 7L22.5 4Z'/%3E%3Cpath d='M0 13H22V16H0V13Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.ck-content-map {
  /* ---------- CTAs (yellow) ---------- */
}
.ck-content-map__ctas {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 13px;
  gap: 13px;
  margin-top: 8px;
}
.ck-content-map__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-gap: 12px;
  gap: 12px;
  min-width: 209px;
  min-height: 70px;
  padding: 16px 28px;
  background: #ffb200;
  color: #000000;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.15s ease;
}
.ck-content-map__cta:hover, .ck-content-map__cta:focus-visible {
  background: #e69e00;
  color: #000000;
}
.ck-content-map__cta-icon {
  flex: 0 0 auto;
  display: block;
  color: #000000;
}
.ck-content-map {
  /* ---------- Map column ---------- */
}
.ck-content-map__map {
  width: 100%;
}
.ck-content-map__map iframe,
.ck-content-map__map img {
  display: block;
  width: 100%;
  height: 426px;
  border: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.ck-content-map {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-content-map {
    padding: 64px 0;
  }
  .ck-content-map__inner {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 48px;
    gap: 48px;
  }
  .ck-content-map__content {
    max-width: none;
  }
  .ck-content-map__map iframe, .ck-content-map__map img {
    height: 360px;
  }
}
@media (max-width: 600px) {
  .ck-content-map {
    padding: 48px 0;
  }
  .ck-content-map__content {
    grid-gap: 24px;
    gap: 24px;
  }
  .ck-content-map__title {
    font-size: 26px;
    line-height: 1.25;
  }
  .ck-content-map__text {
    line-height: 1.7;
  }
  .ck-content-map__text ul {
    margin-top: 24px;
    grid-gap: 20px;
    gap: 20px;
  }
  .ck-content-map__ctas {
    width: 100%;
    flex-direction: column;
  }
  .ck-content-map__cta {
    width: 100%;
    min-width: 0;
    min-height: 50px;
  }
  .ck-content-map__map iframe, .ck-content-map__map img {
    height: 280px;
  }
}

/**
 * Categories Grid (Figma node 2001:22)
 *
 * Centered title over a 3-column grid of white cards. Each card stretches
 * to match the tallest in its row; the description grows and the CTA stays
 * pinned to the bottom of the card.
 */
.ck-categories-grid {
  padding: 80px 0;
}
.ck-categories-grid__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 50px;
  gap: 50px;
}
.ck-categories-grid__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0.01em;
  color: #000000;
  text-align: center;
}
.ck-categories-grid__list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 30px;
  gap: 30px;
}
.ck-categories-grid__item {
  display: flex;
}
.ck-categories-grid {
  /* ---------- Card ---------- */
}
.ck-categories-grid__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #ffffff;
  box-shadow: 5px 5px 10px 0 rgba(137, 137, 137, 0.25);
  color: inherit;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ck-categories-grid__card:hover, .ck-categories-grid__card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 5px 8px 16px 0 rgba(137, 137, 137, 0.35);
}
.ck-categories-grid__card:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 2px;
}
.ck-categories-grid__image {
  position: relative;
  width: 100%;
  aspect-ratio: 350/237;
  overflow: hidden;
  background: #efefef;
}
.ck-categories-grid__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ck-categories-grid__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 21px 25px 30px;
  grid-gap: 12px;
  gap: 12px;
}
.ck-categories-grid__name {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: -0.01em;
  color: #000000;
}
.ck-categories-grid__description {
  margin: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.43;
  color: #75787b;
  flex: 1 1 auto;
}
.ck-categories-grid__description p {
  margin: 0;
}
.ck-categories-grid__description p + p {
  margin-top: 0.5em;
}
.ck-categories-grid__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  min-width: 150px;
  min-height: 54px;
  padding: 14px 24px;
  background: #000000;
  color: #ffb200;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ck-categories-grid__card:hover .ck-categories-grid__cta, .ck-categories-grid__card:focus-visible .ck-categories-grid__cta {
  background: #ffb200;
  color: #000000;
}
.ck-categories-grid {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-categories-grid {
    padding: 64px 0;
  }
  .ck-categories-grid__inner {
    grid-gap: 40px;
    gap: 40px;
  }
  .ck-categories-grid__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 24px;
    gap: 24px;
  }
}
@media (max-width: 600px) {
  .ck-categories-grid {
    padding: 48px 0;
  }
  .ck-categories-grid__inner {
    grid-gap: 28px;
    gap: 28px;
  }
  .ck-categories-grid__title {
    font-size: 24px;
  }
  .ck-categories-grid__list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 20px;
    gap: 20px;
  }
  .ck-categories-grid__body {
    padding: 18px 22px 24px;
  }
  .ck-categories-grid__name {
    font-size: 20px;
  }
  .ck-categories-grid__cta {
    width: 100%;
    min-width: 0;
    min-height: 40px;
  }
}

/**
 * Cards Grid (Figma node 2001:38)
 *
 * Centered heading + supporting paragraph above a 4-column grid of white
 * image cards. Cards are hand-curated (ACF repeater); each can be a static
 * div or, if a URL is provided, a clickable link.
 */
.ck-cards-grid {
  padding: 80px 0;
}
.ck-cards-grid__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 53px;
  gap: 53px;
}
.ck-cards-grid__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 20px;
  gap: 20px;
  text-align: center;
  max-width: 720px;
}
.ck-cards-grid__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  color: #000000;
}
.ck-cards-grid__text {
  margin: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #75787b;
}
.ck-cards-grid__list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-columns: repeat(var(--ck-cards-grid-cols, 4), minmax(0, 1fr));
  grid-gap: 30px;
  gap: 30px;
}
.ck-cards-grid__item {
  display: flex;
}
.ck-cards-grid {
  /* ---------- Card ---------- */
}
.ck-cards-grid__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #ffffff;
  box-shadow: 5px 5px 10px 0 rgba(137, 137, 137, 0.25);
  color: inherit;
  text-decoration: none;
}
.ck-cards-grid__card--link {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ck-cards-grid__card--link:hover, .ck-cards-grid__card--link:focus-visible {
  transform: translateY(-3px);
  box-shadow: 5px 8px 16px 0 rgba(137, 137, 137, 0.35);
}
.ck-cards-grid__card--link:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 2px;
}
.ck-cards-grid__image {
  position: relative;
  width: 100%;
  aspect-ratio: 255/178;
  overflow: hidden;
  background: #efefef;
}
.ck-cards-grid__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ck-cards-grid {
  /* Card body wraps the title and optional text. Flex-grows to fill
   * the card height; content sits at the TOP of the body (no
   * vertical centering) so the title-to-text rhythm reads as a
   * stacked headline + supporting line. */
}
.ck-cards-grid__card-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 6px;
  gap: 6px;
  padding: 16px 18px;
  min-height: 57px;
  text-align: center;
}
.ck-cards-grid__card-title {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
  color: #000000;
}
.ck-cards-grid {
  /* Rich-text container — the field is a WYSIWYG so wpautop wraps
   * content in <p> tags. Mirrors the body cascade in `_page.scss`
   * at a smaller size: muted-grey paragraphs with a 10px gap, yellow-
   * crown unordered lists, black underlined links that shift to
   * brand yellow on hover. */
}
.ck-cards-grid__card-text {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.55;
  color: #75787b;
  text-align: left;
  align-self: stretch;
}
.ck-cards-grid__card-text p {
  margin: 0;
}
.ck-cards-grid__card-text p + p {
  margin-top: 10px;
}
.ck-cards-grid__card-text ul {
  list-style: none;
  margin: 10px 0;
  padding: 0;
}
.ck-cards-grid__card-text ul:first-child {
  margin-top: 0;
}
.ck-cards-grid__card-text ul:last-child {
  margin-bottom: 0;
}
.ck-cards-grid__card-text ul li {
  position: relative;
  padding-left: 28px;
  margin: 0 0 10px;
  color: #75787b;
}
.ck-cards-grid__card-text ul li:last-child {
  margin-bottom: 0;
}
.ck-cards-grid__card-text ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 18px;
  height: 13px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.5 16' fill='%23ffb200'%3E%3Cpath d='M22.5 4L22 11H0V3L3.5 7L5.5 1.5L8.5 6L11 0L14.5 6L17.5 1L19.5 7L22.5 4Z'/%3E%3Cpath d='M0 13H22V16H0V13Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.ck-cards-grid__card-text a {
  color: #000;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}
.ck-cards-grid__card-text a:hover, .ck-cards-grid__card-text a:focus-visible {
  color: #ffb200;
}
.ck-cards-grid__card-text strong {
  font-weight: 600;
  color: #000000;
}
.ck-cards-grid__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  min-width: 150px;
  min-height: 54px;
  padding: 14px 24px;
  background: #000000;
  color: #ffb200;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ck-cards-grid__card:hover .ck-cards-grid__cta,
.ck-cards-grid__card:focus-visible .ck-cards-grid__cta {
  background: #ffb200;
  color: #000000;
}
.ck-cards-grid {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-cards-grid {
    padding: 64px 0;
  }
  .ck-cards-grid__inner {
    grid-gap: 40px;
    gap: 40px;
  }
  .ck-cards-grid__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 24px;
    gap: 24px;
  }
}
@media (max-width: 600px) {
  .ck-cards-grid {
    padding: 48px 0;
  }
  .ck-cards-grid__inner {
    grid-gap: 28px;
    gap: 28px;
  }
  .ck-cards-grid__title {
    font-size: 24px;
  }
  .ck-cards-grid__list {
    grid-gap: 16px;
    gap: 16px;
  }
  .ck-cards-grid__card-body {
    min-height: 50px;
    padding: 12px 14px;
  }
  .ck-cards-grid__card-title {
    font-size: 15px;
  }
  .ck-cards-grid__card-text {
    font-size: 13px;
  }
}

/**
 * Reviews (Figma node 2002:67)
 *
 * Light-gray band with a centered heading, a third-party embed widget
 * (Google reviews / Elfsight / etc.) in the middle, and an optional black
 * CTA at the bottom.
 */
.ck-reviews {
  position: relative;
  overflow: hidden;
  padding: 69px 0;
  background: #d9d9d9;
  /* Optional decorative background image — pinned full-width to the
   * bottom of the section at 33% opacity, sitting behind the cards
   * per figma 2002:67. Rendered only when an image field is set. */
}
.ck-reviews__background {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 265px;
  opacity: 0.33;
  pointer-events: none;
  z-index: 0;
}
.ck-reviews__background img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ck-reviews__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ck-reviews {
  /* Embed wrapper — width-full so any iframe / widget inside can fill
     the container. The widget controls its own internal layout. */
}
.ck-reviews__embed {
  width: 100%;
}
.ck-reviews__embed iframe {
  display: block;
  max-width: 100%;
}
.ck-reviews__embed {
  /* ---------- Elfsight "All-in-One Reviews" overrides ----------
     Attribute selectors instead of literal class names because the
     widget mounts under classes that include a per-instance UUID
     (e.g. eapps-all-in-one-reviews-1fe29ac1-…). These rules also
     assume the widget renders into the page DOM. If Elfsight has
     moved this widget into shadow DOM, none of the inner rules
     below will take effect — in that case paste the same selectors
     into Elfsight Dashboard → Widget → Settings → Custom CSS. */
}
.ck-reviews__embed [class*=eapps-all-in-one-reviews] {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif !important;
  color: #262626 !important;
}
.ck-reviews__embed {
  /* Summary / header card and each review card share the same
     white-bg + drop-shadow treatment from the design. */
}
.ck-reviews__embed [class*=eapps-all-in-one-reviews-summary],
.ck-reviews__embed [class*=eapps-all-in-one-reviews-card]:not([class*=card-text]):not([class*=card-author]):not([class*=card-rating]):not([class*=card-date]):not([class*=card-photo]):not([class*=card-header]):not([class*=card-footer]) {
  background: #ffffff !important;
  box-shadow: 5px 5px 10px 0 rgba(137, 137, 137, 0.25) !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.ck-reviews__embed {
  /* Summary "Container King" + "4.4" + rating value use Roboto Slab. */
}
.ck-reviews__embed [class*=eapps-all-in-one-reviews-summary] [class*=title],
.ck-reviews__embed [class*=eapps-all-in-one-reviews-summary] [class*=name],
.ck-reviews__embed [class*=eapps-all-in-one-reviews-summary] [class*=rating-value],
.ck-reviews__embed [class*=eapps-all-in-one-reviews-summary] [class*=rating-text] ~ [class*=value] {
  font-family: "Rockwell", Georgia, "Times New Roman", serif !important;
  font-weight: 600 !important;
  color: #262626 !important;
}
.ck-reviews__embed {
  /* Card author name. */
}
.ck-reviews__embed [class*=eapps-all-in-one-reviews-card] [class*=author],
.ck-reviews__embed [class*=eapps-all-in-one-reviews-card] [class*=name] {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif !important;
  font-weight: 500 !important;
  color: #000000 !important;
}
.ck-reviews__embed {
  /* Card review text. */
}
.ck-reviews__embed [class*=eapps-all-in-one-reviews-card] [class*=text],
.ck-reviews__embed [class*=eapps-all-in-one-reviews-card] [class*=content] {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.94 !important;
  color: #000000 !important;
}
.ck-reviews__embed {
  /* Date / "X months ago" label. */
}
.ck-reviews__embed [class*=eapps-all-in-one-reviews-card] [class*=date] {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif !important;
  font-size: 14px !important;
  color: #75787b !important;
}
.ck-reviews__embed {
  /* Stars: brand yellow for both summary and per-card ratings. */
}
.ck-reviews__embed [class*=eapps-all-in-one-reviews] [class*=rating] svg,
.ck-reviews__embed [class*=eapps-all-in-one-reviews] [class*=star] svg,
.ck-reviews__embed [class*=eapps-all-in-one-reviews] [class*=star]:not(:empty) {
  color: #ffb200 !important;
  fill: #ffb200 !important;
}
.ck-reviews__embed {
  /* Action buttons ("See all reviews", "Write a review"): yellow pill. */
}
.ck-reviews__embed [class*=eapps-all-in-one-reviews] button,
.ck-reviews__embed [class*=eapps-all-in-one-reviews] a[class*=button],
.ck-reviews__embed [class*=eapps-all-in-one-reviews] [class*=action] {
  background: #ffb200 !important;
  color: #000000 !important;
  border: 0 !important;
  border-radius: 22px !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
}
.ck-reviews__embed [class*=eapps-all-in-one-reviews] button:hover, .ck-reviews__embed [class*=eapps-all-in-one-reviews] button:focus-visible,
.ck-reviews__embed [class*=eapps-all-in-one-reviews] a[class*=button]:hover,
.ck-reviews__embed [class*=eapps-all-in-one-reviews] a[class*=button]:focus-visible,
.ck-reviews__embed [class*=eapps-all-in-one-reviews] [class*=action]:hover,
.ck-reviews__embed [class*=eapps-all-in-one-reviews] [class*=action]:focus-visible {
  background: #e69e00 !important;
  color: #000000 !important;
}
@media (max-width: 900px) {
  .ck-reviews {
    padding: 56px 0;
  }
}
@media (max-width: 600px) {
  .ck-reviews {
    padding: 48px 0;
  }
}

/**
 * Page Hero (Figma node 2059:2)
 *
 * Compact full-bleed page header. Stacks: background image, 35% black
 * overlay, centered uppercase title. Words wrapped in *asterisks* in the
 * source become yellow highlight spans.
 *
 * Not to be confused with `ck-hero` — that's the homepage carousel.
 */
.ck-page-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #000000;
}
.ck-page-hero__background {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.ck-page-hero__background img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.ck-page-hero {
  /* Left-to-right gradient overlay per Figma (linear-gradient(90deg,
     rgba(0,0,0,0.76) 29%, rgba(0,0,0,0) 123%)). The dark side anchors
     the title against the left of the hero; the right side fades out
     to let the background image read through. */
}
.ck-page-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.76) 20%, rgba(0, 0, 0, 0) 80%);
  background-color: rgba(0, 0, 0, 0.2862745098);
  pointer-events: none;
}
.ck-page-hero__inner {
  position: relative;
  padding-top: 91px;
  padding-bottom: 90px;
  text-align: center;
}
.ck-page-hero__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: 54px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #ffffff;
}
.ck-page-hero {
  /* Asterisk-wrapped words become yellow highlights. */
}
.ck-page-hero__highlight {
  color: #ffb200;
  font-weight: 600;
}
@media (max-width: 900px) {
  .ck-page-hero__inner {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .ck-page-hero__title {
    font-size: 40px;
  }
}
@media (max-width: 600px) {
  .ck-page-hero__inner {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .ck-page-hero__title {
    font-size: 28px;
    letter-spacing: 0.01em;
  }
}

/**
 * Container Listing
 *
 * Card grid of Container CPT posts. Visually identical to ck-categories-grid
 * — same shadow, same hover, same responsive breakpoints — but data-wise
 * sources from the `container` post type instead of taxonomy terms.
 */
.ck-container-listing {
  padding: 80px 0;
}
.ck-container-listing__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 50px;
  gap: 50px;
}
.ck-container-listing__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0.01em;
  color: #000000;
  text-align: center;
}
.ck-container-listing__list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 30px;
  gap: 30px;
}
.ck-container-listing__item {
  display: flex;
}
.ck-container-listing__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #ffffff;
  box-shadow: 5px 5px 10px 0 rgba(137, 137, 137, 0.25);
  color: inherit;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ck-container-listing__card:hover, .ck-container-listing__card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 5px 8px 16px 0 rgba(137, 137, 137, 0.35);
}
.ck-container-listing__card:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 2px;
}
.ck-container-listing__image {
  position: relative;
  width: 100%;
  aspect-ratio: 350/237;
  overflow: hidden;
  background: #efefef;
}
.ck-container-listing__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ck-container-listing__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 21px 25px 30px;
  grid-gap: 12px;
  gap: 12px;
}
.ck-container-listing__name {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: -0.01em;
  color: #000000;
}
.ck-container-listing__description {
  margin: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.43;
  color: #75787b;
  flex: 1 1 auto;
}
.ck-container-listing__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  min-width: 150px;
  min-height: 54px;
  padding: 14px 24px;
  background: #000000;
  color: #ffb200;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ck-container-listing__card:hover .ck-container-listing__cta, .ck-container-listing__card:focus-visible .ck-container-listing__cta {
  background: #ffb200;
  color: #000000;
}
@media (max-width: 900px) {
  .ck-container-listing {
    padding: 64px 0;
  }
  .ck-container-listing__inner {
    grid-gap: 40px;
    gap: 40px;
  }
  .ck-container-listing__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 24px;
    gap: 24px;
  }
}
@media (max-width: 600px) {
  .ck-container-listing {
    padding: 48px 0;
  }
  .ck-container-listing__inner {
    grid-gap: 28px;
    gap: 28px;
  }
  .ck-container-listing__title {
    font-size: 24px;
  }
  .ck-container-listing__list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 20px;
    gap: 20px;
  }
  .ck-container-listing__body {
    padding: 18px 22px 24px;
  }
  .ck-container-listing__name {
    font-size: 20px;
  }
  .ck-container-listing__cta {
    width: 100%;
    min-width: 0;
  }
}

/**
 * Content with Slider (Figma node 2067:25)
 *
 * Two-column layout: slick-driven image slider on the left (active slide +
 * thumbnails strip), wysiwyg content on the right (title, intro, H4 list
 * titles, crown-bulleted lists). The slider column collapses entirely when
 * the slides repeater is empty (block gets the --no-slider modifier).
 *
 * Clicking the active main slide opens the singleton lightbox
 * (`.ck-lightbox`, see `components/_lightbox.scss`).
 */
.ck-content-slider {
  padding: 80px 0;
}
.ck-content-slider__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-gap: 54px;
  gap: 54px;
  align-items: start;
}
.ck-content-slider--no-slider .ck-content-slider__inner {
  grid-template-columns: minmax(0, 1fr);
}
.ck-content-slider {
  /* ---------- Slider column ---------- */
}
.ck-content-slider__slider {
  display: flex;
  flex-direction: column;
  grid-gap: 16px;
  gap: 16px;
}
.ck-content-slider__main {
  position: relative;
}
.ck-content-slider__main .slick-list,
.ck-content-slider__main .slick-track {
  line-height: 0;
}
.ck-content-slider__slide {
  position: relative;
}
.ck-content-slider__slide img {
  display: block;
  width: 100%;
  aspect-ratio: 516/346;
  -o-object-fit: cover;
     object-fit: cover;
  cursor: zoom-in;
}
.ck-content-slider__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  width: 37px;
  height: 37px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: rgba(0, 0, 0, 0.75);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.ck-content-slider__arrow:hover, .ck-content-slider__arrow:focus-visible {
  background: #000000;
}
.ck-content-slider__arrow--prev {
  left: 21px;
}
.ck-content-slider__arrow--next {
  right: 21px;
}
.ck-content-slider__arrow svg {
  display: block;
}
.ck-content-slider__thumbs {
  /* Slick injects .slick-list .slick-track .slick-slide; the .slick-slide
     gets a small inline margin we counteract via the slick stylesheet.
     Each thumb image fills its slide cell. */
}
.ck-content-slider__thumbs .slick-slide {
  padding: 0 4.5px;
  box-sizing: border-box;
}
.ck-content-slider__thumbs .slick-list {
  margin: 0 -4.5px;
}
.ck-content-slider__thumb {
  cursor: pointer;
  outline: 0;
}
.ck-content-slider__thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 96/97;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.55;
  transition: opacity 0.15s ease;
}
.slick-current .ck-content-slider__thumb img, .ck-content-slider__thumb:hover img {
  opacity: 1;
}
.ck-content-slider {
  /* ---------- Content column ---------- */
}
.ck-content-slider__content {
  display: flex;
  flex-direction: column;
  grid-gap: 24px;
  gap: 24px;
}
.ck-content-slider__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0.01em;
  color: #000000;
}
.ck-content-slider {
  /* WYSIWYG body — paragraphs, H4 list titles, crown-bulleted lists. */
}
.ck-content-slider__body {
  color: #75787b;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
}
.ck-content-slider__body p {
  margin: 0 0 1em;
}
.ck-content-slider__body p:last-child {
  margin-bottom: 0;
}
.ck-content-slider__body h4 {
  margin: 32px 0 16px;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.15;
  color: #000000;
}
.ck-content-slider__body ul {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}
.ck-content-slider__body ul li {
  position: relative;
  padding-left: 27px;
  margin: 0;
  font-size: 16px;
  line-height: 33px;
  color: #75787b;
}
.ck-content-slider__body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 17px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.5 16' fill='%23ffb200'%3E%3Cpath d='M22.5 4L22 11H0V3L3.5 7L5.5 1.5L8.5 6L11 0L14.5 6L17.5 1L19.5 7L22.5 4Z'/%3E%3Cpath d='M0 13H22V16H0V13Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.ck-content-slider__body ul:last-child {
  margin-bottom: 0;
}
.ck-content-slider {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-content-slider {
    padding: 64px 0;
  }
  .ck-content-slider__inner {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 40px;
    gap: 40px;
  }
}
@media (max-width: 600px) {
  .ck-content-slider {
    padding: 48px 0;
  }
  .ck-content-slider__inner {
    grid-gap: 32px;
    gap: 32px;
  }
  .ck-content-slider__title {
    font-size: 26px;
  }
  .ck-content-slider__body h4 {
    font-size: 18px;
    margin-top: 24px;
  }
  .ck-content-slider__arrow {
    width: 32px;
    height: 32px;
  }
  .ck-content-slider__arrow--prev {
    left: 12px;
  }
  .ck-content-slider__arrow--next {
    right: 12px;
  }
}

/**
 * ---------- Editor fallback ----------
 *
 * In the Gutenberg editor the JS bundle isn't loaded, so slick never
 * initialises. Without these rules every slide and every thumb stacks
 * vertically. We treat the first slide as the main hero image and lay
 * the thumbnails out as a smaller horizontal strip below — a static
 * approximation of how the block looks on the frontend.
 */
.ck-content-slider--editor .ck-content-slider__main .ck-content-slider__slide {
  display: none;
}
.ck-content-slider--editor .ck-content-slider__main .ck-content-slider__slide:first-child {
  display: block;
}
.ck-content-slider--editor .ck-content-slider__main .ck-content-slider__slide img {
  cursor: default;
}
.ck-content-slider--editor .ck-content-slider__thumbs {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 9px;
  gap: 9px;
  margin: 0;
}
.ck-content-slider--editor .ck-content-slider__thumbs .ck-content-slider__thumb {
  flex: 0 0 auto;
  width: 88px;
}
.ck-content-slider--editor .ck-content-slider__thumbs .ck-content-slider__thumb img {
  width: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 1;
  cursor: default;
}

/* Lightbox styling lives in `components/_lightbox.scss` (class
 * `.ck-lightbox`). The singleton is opened from this block's JS via
 * `window.ckLightbox.open(urls, index)`. */
/**
 * Two Columns (Figma node 2067:39, content+form layout)
 *
 * A wrapper block: two CSS-grid columns whose children are arbitrary
 * inner blocks (pricing table, quote form, lists, etc.). The column
 * ratio is controlled by the ACF `layout` field which maps to a
 * --50-50 / --60-40 / --40-60 modifier class.
 *
 * On <= tablet the columns stack to a single column.
 */
.ck-two-columns {
  padding: 80px 0;
  background: #d9d9d9;
}
.ck-two-columns__inner {
  display: grid;
  grid-gap: 32px;
  gap: 32px;
  align-items: start;
}
.ck-two-columns__inner > .acf-innerblocks-container {
  display: contents;
}
.ck-two-columns--50-50 .ck-two-columns__inner {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.ck-two-columns--60-40 .ck-two-columns__inner {
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
}
.ck-two-columns--40-60 .ck-two-columns__inner {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
}
.ck-two-columns__column {
  min-width: 0;
}
.ck-two-columns {
  /* Prose styling for core blocks dropped into a column — slab-bold
   * headings, semibold body, crown-bulleted lists, etc. Shared with
   * `ck-container-content`; the actual rules live in the
   * `ck-prose-column` mixin (see `abstracts/_mixins.scss`). */
}
.ck-two-columns__column .wp-block-heading {
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: #000000;
  margin: 30px 0 16px;
}
.ck-two-columns__column h1.wp-block-heading {
  font-size: 40px;
}
.ck-two-columns__column h2.wp-block-heading {
  font-size: 32px;
}
.ck-two-columns__column h3.wp-block-heading {
  font-size: 24px;
}
.ck-two-columns__column h4.wp-block-heading {
  font-size: 20px;
}
.ck-two-columns__column h5.wp-block-heading {
  font-size: 18px;
}
.ck-two-columns__column h6.wp-block-heading {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ck-two-columns__column > .wp-block-heading:first-child,
.ck-two-columns__column > .wp-block-group__inner-container > .wp-block-heading:first-child,
.ck-two-columns__column > *:first-child .wp-block-heading:first-child {
  margin-top: 0;
}
.ck-two-columns__column p {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #000000;
  margin: 0 0 16px;
}
.ck-two-columns__column a {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}
.ck-two-columns__column a:hover, .ck-two-columns__column a:focus-visible {
  color: #ffb200;
}
.ck-two-columns__column {
  /* Unordered list — crown-bulleted. */
}
.ck-two-columns__column ul.wp-block-list {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}
.ck-two-columns__column ul.wp-block-list li {
  position: relative;
  padding-left: 27px;
  margin: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 33px;
  color: #000000;
}
.ck-two-columns__column ul.wp-block-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 17px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.5 16' fill='%23ffb200'%3E%3Cpath d='M22.5 4L22 11H0V3L3.5 7L5.5 1.5L8.5 6L11 0L14.5 6L17.5 1L19.5 7L22.5 4Z'/%3E%3Cpath d='M0 13H22V16H0V13Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.ck-two-columns__column {
  /* Ordered list — keep numbered markers, just inherit type styles. */
}
.ck-two-columns__column ol.wp-block-list {
  list-style: decimal;
  margin: 0 0 24px;
  padding-left: 22px;
}
.ck-two-columns__column ol.wp-block-list li {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 33px;
  color: #000000;
  padding-left: 4px;
}
@media (max-width: 900px) {
  .ck-two-columns {
    padding: 64px 0;
  }
  .ck-two-columns__inner, .ck-two-columns--50-50 .ck-two-columns__inner, .ck-two-columns--60-40 .ck-two-columns__inner, .ck-two-columns--40-60 .ck-two-columns__inner {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 40px;
    gap: 40px;
  }
}
@media (max-width: 600px) {
  .ck-two-columns {
    padding: 48px 0;
  }
  .ck-two-columns__inner {
    grid-gap: 32px;
    gap: 32px;
  }
}

/**
 * Container Content
 *
 * Used on Container CPT pages: editor's prose on the left, auto-rendered
 * Quote Form panel on the right (sourced from Global Settings → Quote
 * Form). Visually identical to the legacy "Two Columns 60/40 with prose
 * + form" combo it replaces — same #d9d9d9 section background, same
 * 60/40 ratio, same prose cascade.
 *
 * Stacks to a single column on tablet/mobile.
 */
.ck-container-content {
  padding: 80px 0;
  background: #d9d9d9;
}
.ck-container-content__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  grid-gap: 32px;
  gap: 32px;
  align-items: start;
}
.ck-container-content__inner > .acf-innerblocks-container {
  display: contents;
}
.ck-container-content {
  /* Left column — same prose cascade shared with `ck-two-columns`.
   * Mixin lives in `abstracts/_mixins.scss`. */
}
.ck-container-content__main {
  min-width: 0;
}
.ck-container-content__main .wp-block-heading {
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: #000000;
  margin: 30px 0 16px;
}
.ck-container-content__main h1.wp-block-heading {
  font-size: 40px;
}
.ck-container-content__main h2.wp-block-heading {
  font-size: 32px;
}
.ck-container-content__main h3.wp-block-heading {
  font-size: 24px;
}
.ck-container-content__main h4.wp-block-heading {
  font-size: 20px;
}
.ck-container-content__main h5.wp-block-heading {
  font-size: 18px;
}
.ck-container-content__main h6.wp-block-heading {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ck-container-content__main > .wp-block-heading:first-child,
.ck-container-content__main > .wp-block-group__inner-container > .wp-block-heading:first-child,
.ck-container-content__main > *:first-child .wp-block-heading:first-child {
  margin-top: 0;
}
.ck-container-content__main p {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #000000;
  margin: 0 0 16px;
}
.ck-container-content__main a {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}
.ck-container-content__main a:hover, .ck-container-content__main a:focus-visible {
  color: #ffb200;
}
.ck-container-content__main {
  /* Unordered list — crown-bulleted. */
}
.ck-container-content__main ul.wp-block-list {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}
.ck-container-content__main ul.wp-block-list li {
  position: relative;
  padding-left: 27px;
  margin: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 33px;
  color: #000000;
}
.ck-container-content__main ul.wp-block-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 17px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.5 16' fill='%23ffb200'%3E%3Cpath d='M22.5 4L22 11H0V3L3.5 7L5.5 1.5L8.5 6L11 0L14.5 6L17.5 1L19.5 7L22.5 4Z'/%3E%3Cpath d='M0 13H22V16H0V13Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.ck-container-content__main {
  /* Ordered list — keep numbered markers, just inherit type styles. */
}
.ck-container-content__main ol.wp-block-list {
  list-style: decimal;
  margin: 0 0 24px;
  padding-left: 22px;
}
.ck-container-content__main ol.wp-block-list li {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 33px;
  color: #000000;
  padding-left: 4px;
}
.ck-container-content {
  /* Right column — slot for the auto-rendered Quote Form panel.
   *
   * On the two-column desktop layout the form is sticky: once the user
   * scrolls it to the top of the viewport it travels with the screen,
   * releasing only when the bottom of the block scrolls past. Works
   * because the grid uses `align-items: start`, so the column isn't
   * stretched and has room to move. Reset to static when the layout
   * stacks at the tablet breakpoint (below). */
}
.ck-container-content__form {
  min-width: 0;
  position: sticky;
  top: 32px;
  align-self: start;
}
.ck-container-content {
  /* Editor-only placeholder card on the right (visible inside
   * Gutenberg, never on the frontend). Same minimal card chrome as
   * other CK block previews. */
}
.ck-container-content__form-preview {
  background: #f4f6f8;
  border: 1px dashed #8b8b8b;
  padding: 16px 20px;
  color: #000000;
}
.ck-container-content__form-preview p {
  margin: 0 0 8px;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-size: 14px;
  line-height: 1.4;
}
.ck-container-content__form-preview p:last-child {
  margin-bottom: 0;
}
@media (max-width: 900px) {
  .ck-container-content {
    padding: 64px 0;
  }
  .ck-container-content__inner {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 40px;
    gap: 40px;
  }
  .ck-container-content {
    /* Single column below this width — no sticky travel. */
  }
  .ck-container-content__form {
    position: static;
    top: auto;
  }
}
@media (max-width: 600px) {
  .ck-container-content {
    padding: 48px 0;
  }
  .ck-container-content__inner {
    grid-gap: 32px;
    gap: 32px;
  }
}

/**
 * Pricing Table (Figma node 2067:37)
 *
 * General-purpose data table: up to 10 dynamic columns, any number of
 * rows, optional plain-text note below the table. Black title row above
 * white body rows separated by thin grey borders.
 *
 * The column count is supplied per-instance via the `--ck-table-cols`
 * custom property (set inline on the head + each row by the PHP
 * template) so the grid stays dynamic without needing one CSS rule per
 * column count.
 *
 * Mobile: stacks each row as a labeled card using `data-label` on cells.
 */
.ck-pricing-table {
  margin-top: 48px;
}
.ck-pricing-table__table {
  background: #ffffff;
  border: 1px solid #e3e3e3;
  border-top: 0;
}
.ck-pricing-table__head {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-columns: repeat(var(--ck-table-cols, 3), minmax(0, 1fr));
  background: #000000;
  color: #ffffff;
  font-family: "Rockwell", "Roboto Slab", Georgia, serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  text-transform: capitalize;
  padding: 22px 32px;
  grid-gap: 16px;
  gap: 16px;
}
.ck-pricing-table__body {
  display: flex;
  flex-direction: column;
}
.ck-pricing-table__row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-columns: repeat(var(--ck-table-cols, 3), minmax(0, 1fr));
  grid-gap: 16px;
  gap: 16px;
  padding: 18px 32px;
  border-bottom: 1px solid #e3e3e3;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 26px;
  color: #75787b;
}
.ck-pricing-table__row:last-child {
  border-bottom: 0;
}
.ck-pricing-table__cell {
  min-width: 0;
}
.ck-pricing-table {
  /* Optional note rendered under the table. Plain editorial sentence
   * — keep it lower-contrast than the body rows so it reads as
   * footer copy, not another column. */
}
.ck-pricing-table__note {
  margin: 16px 0 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #75787b;
}
@media (max-width: 900px) {
  .ck-pricing-table__head {
    padding: 18px 20px;
    font-size: 15px;
  }
  .ck-pricing-table__row {
    padding: 16px 20px;
  }
}
@media (max-width: 600px) {
  .ck-pricing-table__head {
    display: none;
  }
  .ck-pricing-table__row {
    display: block;
    padding: 16px 20px;
  }
  .ck-pricing-table__cell {
    display: block;
    padding: 4px 0;
  }
  .ck-pricing-table__cell::before {
    content: attr(data-label) ": ";
    display: inline;
    font-weight: 600;
    color: #000000;
  }
}

/**
 * Quote Form (Figma node 504:758 — "Request Your Free Quote" panel)
 *
 * Dark CK panel wrapping a Contact Form 7 form. The form HTML is styled
 * defensively from the outside so we don't fight whatever shortcode-time
 * HTML CF7 emits.
 *
 * Layout target: ~445px wide panel, dark #262626 background, yellow
 * heading. Inside, each labeled input is light grey #f4f6f8 with a
 * thin border and a leading icon pulled from the Figma source. The
 * radio buttons are fully custom-styled (white circle / yellow inner
 * dot) — native `accent-color` doesn't match the design closely enough.
 */
.ck-quote-form {
  background: #262626;
  color: #ffffff;
  padding: 23px 26px 42px;
  display: flex;
  flex-direction: column;
  grid-gap: 13px;
  gap: 13px;
  width: 100%;
  max-width: 445px;
  margin: 0 auto;
  box-sizing: border-box;
}
.ck-quote-form__title {
  margin: 0;
  text-align: center;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  color: #ffb200;
}
.ck-quote-form {
  /**
   * Inline label that precedes the "I want to" radio group. The
   * scoping (`.ck-quote-form .ck-quote-form__radio-*`) bumps the
   * specificity above the ck-two-columns prose cascade, otherwise a
   * stray `p { color: black }` rule from the column wrapper could
   * win on inherited color.
   */
}
.ck-quote-form__radio-row {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 14px;
  gap: 14px;
  align-items: center;
  color: #ffffff;
}
.ck-quote-form__radio-row p {
  flex-direction: row !important;
}
.ck-quote-form__radio-label {
  color: #ffffff;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
}
.ck-quote-form__body {
  /* Reset CF7's own structural wrappers. */
}
.ck-quote-form__body .wpcf7 {
  margin: 0;
}
.ck-quote-form__body .wpcf7-form {
  display: flex;
  flex-direction: column;
  grid-gap: 10px;
  gap: 10px;
}
.ck-quote-form__body {
  /* Every CF7 field is wrapped in a <p> by wpautop. Reset its
     margins and make it the positioning context for the spinner
     that CF7 injects after the submit button. */
}
.ck-quote-form__body .wpcf7-form p {
  margin: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  grid-gap: 10px;
  gap: 10px;
}
.ck-quote-form__body {
  /* ---------- Radio group ---------- */
}
.ck-quote-form__body .wpcf7-radio {
  display: inline-flex;
  flex-wrap: wrap;
  grid-gap: 14px;
  gap: 14px;
  align-items: center;
}
.ck-quote-form__body .wpcf7-list-item {
  display: inline-flex;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  margin: 0;
}
.ck-quote-form__body .wpcf7-list-item-label {
  color: #ffffff;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
}
.ck-quote-form__body input[type=radio] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  margin: 0;
  border: 1px solid #ffffff;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  outline: 0;
}
.ck-quote-form__body input[type=radio]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  background: #ffb200;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.ck-quote-form__body input[type=radio]:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 2px;
}
.ck-quote-form__body {
  /* ---------- Text-like inputs ---------- */
}
.ck-quote-form__body input[type=text],
.ck-quote-form__body input[type=email],
.ck-quote-form__body input[type=tel],
.ck-quote-form__body input[type=number],
.ck-quote-form__body input[type=url],
.ck-quote-form__body select,
.ck-quote-form__body textarea {
  display: block;
  width: 100%;
  height: 53px;
  background-color: #f4f6f8;
  border: 1px solid #8b8b8b;
  color: #4d4d4d;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  padding: 16px 21px;
  border-radius: 0;
  outline: 0;
  box-sizing: border-box;
}
.ck-quote-form__body input[type=text]::-moz-placeholder, .ck-quote-form__body input[type=email]::-moz-placeholder, .ck-quote-form__body input[type=tel]::-moz-placeholder, .ck-quote-form__body input[type=number]::-moz-placeholder, .ck-quote-form__body input[type=url]::-moz-placeholder, .ck-quote-form__body select::-moz-placeholder, .ck-quote-form__body textarea::-moz-placeholder {
  color: #4d4d4d;
  opacity: 1;
}
.ck-quote-form__body input[type=text]::placeholder,
.ck-quote-form__body input[type=email]::placeholder,
.ck-quote-form__body input[type=tel]::placeholder,
.ck-quote-form__body input[type=number]::placeholder,
.ck-quote-form__body input[type=url]::placeholder,
.ck-quote-form__body select::placeholder,
.ck-quote-form__body textarea::placeholder {
  color: #4d4d4d;
  opacity: 1;
}
.ck-quote-form__body input[type=text]:focus,
.ck-quote-form__body input[type=email]:focus,
.ck-quote-form__body input[type=tel]:focus,
.ck-quote-form__body input[type=number]:focus,
.ck-quote-form__body input[type=url]:focus,
.ck-quote-form__body select:focus,
.ck-quote-form__body textarea:focus {
  border: 2px solid #262626;
}
.ck-quote-form__body input[type=text],
.ck-quote-form__body input[type=email],
.ck-quote-form__body input[type=tel],
.ck-quote-form__body input[type=number],
.ck-quote-form__body input[type=url],
.ck-quote-form__body select,
.ck-quote-form__body textarea {
  /* Keep the field's grey fill and dark text when the browser
     autofills. Without this the UA paints an opaque yellow/blue
     background. The huge inset shadow masks that fill, and
     text-fill-color restores the typed colour. */
}
.ck-quote-form__body input[type=text]:-webkit-autofill, .ck-quote-form__body input[type=text]:-webkit-autofill:hover, .ck-quote-form__body input[type=text]:-webkit-autofill:focus,
.ck-quote-form__body input[type=email]:-webkit-autofill,
.ck-quote-form__body input[type=email]:-webkit-autofill:hover,
.ck-quote-form__body input[type=email]:-webkit-autofill:focus,
.ck-quote-form__body input[type=tel]:-webkit-autofill,
.ck-quote-form__body input[type=tel]:-webkit-autofill:hover,
.ck-quote-form__body input[type=tel]:-webkit-autofill:focus,
.ck-quote-form__body input[type=number]:-webkit-autofill,
.ck-quote-form__body input[type=number]:-webkit-autofill:hover,
.ck-quote-form__body input[type=number]:-webkit-autofill:focus,
.ck-quote-form__body input[type=url]:-webkit-autofill,
.ck-quote-form__body input[type=url]:-webkit-autofill:hover,
.ck-quote-form__body input[type=url]:-webkit-autofill:focus,
.ck-quote-form__body select:-webkit-autofill,
.ck-quote-form__body select:-webkit-autofill:hover,
.ck-quote-form__body select:-webkit-autofill:focus,
.ck-quote-form__body textarea:-webkit-autofill,
.ck-quote-form__body textarea:-webkit-autofill:hover,
.ck-quote-form__body textarea:-webkit-autofill:focus {
  -webkit-text-fill-color: #4d4d4d;
  box-shadow: inset 0 0 0 1000px #f4f6f8;
}
.ck-quote-form__body textarea {
  height: 106px;
  min-height: 106px;
  padding: 16px 21px;
  line-height: 1.14;
  resize: vertical;
}
.ck-quote-form__body textarea:focus {
  padding: 15px 20px;
}
.ck-quote-form__body select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  padding-right: 50px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 7' fill='%23FFB200'%3E%3Cpath d='M0 0 L14 0 L7 7 Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 14px 7px;
}
.ck-quote-form__body select::-ms-expand {
  display: none;
}
.ck-quote-form__body {
  /* ---------- Leading field icons ----------
   *
   * SVG paths pulled directly from the figma source (504:758).
   *
   * The icons render as a `::before` on each field's
   * `.wpcf7-form-control-wrap` span, NOT as the input's own
   * `background-image`. Browser autofill applies a UA
   * `background-image: none !important` to the filled input, which
   * would wipe an input-background icon the instant Chrome/Safari
   * autofilled the field; a pseudo-element on the wrapper span is
   * outside the input, so autofill never touches it.
   *
   * The wrapper is matched by its CF7 `data-name` attribute (which
   * mirrors the field name: `your-name`, `your-email`, `your-phone`,
   * `delivery-zip`, …). We deliberately avoid `:has()` — CF7 packs
   * several fields into a single wpautop `<p>`, so the `<p>` is not a
   * per-field box, and a plain attribute match on the wrap span is
   * both simpler and free of `:has()` support concerns.
   */
}
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=name] input,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=email] input,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=phone] input,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=tel] input,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=zip] input,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=postcode] input {
  padding-left: 48px;
}
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=name],
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=email],
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=phone],
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=tel],
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=zip],
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=postcode] {
  position: relative;
  display: block;
}
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=name] input,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=email] input,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=phone] input,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=tel] input,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=zip] input,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=postcode] input {
  position: relative;
  z-index: 0;
}
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=name]::before,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=email]::before,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=phone]::before,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=tel]::before,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=zip]::before,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=postcode]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-repeat: no-repeat;
  pointer-events: none;
}
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=name]::before {
  left: 21px;
  top: 17px;
  width: 14px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 20' fill='none' stroke='%234D4D4D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 19C1 16.79 4.13 15 8 15s7 1.79 7 4M13 6c0 2.76-2.24 5-5 5s-5-2.24-5-5 2.24-5 5-5 5 2.24 5 5z'/%3E%3C/svg%3E");
  background-size: 14px 18px;
}
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=email]::before {
  left: 18px;
  top: 19px;
  width: 20px;
  height: 15px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 17' fill='none' stroke='%234D4D4D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='0.75' y='0.75' width='20.5' height='15.5' rx='1.7'/%3E%3Cpath d='M2 2L11 9L20 2'/%3E%3C/svg%3E");
  background-size: 20px 15px;
}
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=phone]::before,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=tel]::before {
  left: 19px;
  top: 17px;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 19' fill='none' stroke='%234D4D4D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.59 4.27c.43 0 .85.08 1.25.25.4.16.76.41 1.07.71.3.31.55.67.71 1.07.17.4.25.83.25 1.26M12.39.95c.76 0 1.51.15 2.21.44.7.29 1.34.72 1.88 1.26.54.54.97 1.18 1.26 1.88.29.7.44 1.45.44 2.21M14.42 18.31c-6.75-1.52-12.07-6.84-13.59-13.59-.49-2.16 1.35-3.97 3.56-3.97h1.75c.55 0 .99.45 1.04 1 .1 1.09.35 2.13.73 3.11l-1.71 1.71c1.33 2.78 3.58 5.03 6.36 6.36L14.28 11.22c.98.38 2.02.64 3.11.73.55.05 1 .49 1 1.04v1.75c0 2.21-1.81 4.05-3.97 3.56z'/%3E%3C/svg%3E");
  background-size: 18px 18px;
}
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=zip]::before,
.ck-quote-form__body .wpcf7-form-control-wrap[data-name*=postcode]::before {
  left: 22px;
  top: 16px;
  width: 17px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 22' fill='none' stroke='%234D4D4D' stroke-width='2'%3E%3Cpath d='M9.5 12.5c1.65 0 2.98-1.43 2.98-3.2s-1.33-3.19-2.98-3.19c-1.65 0-2.98 1.43-2.98 3.19 0 1.77 1.33 3.2 2.98 3.2z'/%3E%3Cpath d='M1.24 7.49c1.95-8.66 14.61-8.65 16.54 0 1.14 5.08-1.98 9.39-4.71 12.05-1.99 1.94-5.12 1.94-7.12 0-2.72-2.66-5.84-6.97-4.7-12.05z'/%3E%3C/svg%3E");
  background-size: 17px 20px;
}
.ck-quote-form__body select[name*=container],
.ck-quote-form__body select[name*=size],
.ck-quote-form__body select[name*=type],
.ck-quote-form__body select.ck-icon-size {
  padding-left: 48px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 16' fill='%234D4D4D'%3E%3Cpath d='M23 1.6V0H0V1.6H1.53V14.4H0V16H23V14.4H21.47V1.6H23zM19.93 14.4H3.07V1.6h16.86V14.4zM7.67 12.8H6.13V3.2h1.54v9.6zM12.27 12.8h-1.54V3.2h1.54v9.6zM16.87 12.8h-1.54V3.2h1.54v9.6z'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 7' fill='%23FFB200'%3E%3Cpath d='M0 0 L14 0 L7 7 Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 18px center, right 18px center;
  background-size: 23px 16px, 14px 7px;
}
.ck-quote-form__body {
  /* ---------- Submit button ---------- */
}
.ck-quote-form__body input[type=submit],
.ck-quote-form__body button[type=submit] {
  display: block;
  width: 100%;
  height: 59px;
  background: #ffb200;
  color: #262626;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 31px;
  padding: 14px 24px;
  margin-top: 10px;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.ck-quote-form__body input[type=submit]:hover, .ck-quote-form__body input[type=submit]:focus-visible,
.ck-quote-form__body button[type=submit]:hover,
.ck-quote-form__body button[type=submit]:focus-visible {
  background: #e69e00;
}
.ck-quote-form__body {
  /* ---------- CF7 spinner / messages ----------
   *
   * The spinner sits absolute-positioned inside the submit button's
   * paragraph (which is `position: relative` per the rule above), so
   * it floats at the bottom-right of the button without shifting
   * layout when ajax fires.
   */
}
.ck-quote-form__body .wpcf7-spinner {
  margin: 0;
  position: absolute;
  bottom: 17px;
  right: 17px;
}
.ck-quote-form__body .wpcf7 form .wpcf7-response-output {
  margin: 12px 0 0;
  padding: 12px 16px;
  border-width: 0;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
.ck-quote-form__body .wpcf7-not-valid-tip {
  color: #ffb200;
  font-size: 14px;
  margin-top: 4px;
}
@media (max-width: 900px) {
  .ck-quote-form input[type=submit],
  .ck-quote-form button[type=submit] {
    height: 52px;
    font-size: 20px;
    line-height: 1.4;
    padding: 10px 22px;
  }
}
@media (max-width: 600px) {
  .ck-quote-form {
    padding: 20px 18px 32px;
  }
  .ck-quote-form__title {
    font-size: 26px;
  }
  .ck-quote-form input[type=submit],
  .ck-quote-form button[type=submit] {
    height: 46px;
    font-size: 18px;
    line-height: 1.4;
    padding: 8px 18px;
    margin-top: 6px;
  }
}

form.submitting .wpcf7-submit {
  pointer-events: none;
}

/**
 * Related Containers (Figma node 2067:66)
 *
 * Slick slider of container CPT cards sharing at least one taxonomy term
 * with the current container post. Visually identical card style to
 * ck-container-listing (white bg, drop shadow, image + title + excerpt
 * + black "LEARN MORE" CTA) but laid out in a horizontal carousel rather
 * than a grid.
 *
 * Arrows are positioned outside the cards on either side, level with
 * the card image.
 */
.ck-related-containers {
  padding: 80px 0;
}
.ck-related-containers__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 41px;
  gap: 41px;
}
.ck-related-containers__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: #000000;
  text-align: center;
}
.ck-related-containers {
  /* ---------- Slider ---------- */
}
.ck-related-containers__slider {
  width: 100%;
  position: relative;
  padding: 0 44px;
}
.ck-related-containers__slider .slick-list {
  margin: 0 -15px;
  overflow: hidden;
}
.ck-related-containers__slider .slick-track {
  display: flex;
}
.ck-related-containers__slider .slick-slide {
  padding: 5px 15px;
  box-sizing: border-box;
  height: auto;
  display: flex;
}
.ck-related-containers__slider .slick-slide > div {
  display: flex;
  width: 100%;
  height: 100%;
}
.ck-related-containers__slide {
  display: flex;
  width: 100%;
}
.ck-related-containers {
  /* ---------- Card ---------- */
}
.ck-related-containers__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: #ffffff;
  box-shadow: 5px 5px 10px 0 rgba(137, 137, 137, 0.25);
  color: inherit;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ck-related-containers__card:hover, .ck-related-containers__card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 5px 8px 16px 0 rgba(137, 137, 137, 0.35);
}
.ck-related-containers__card:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 2px;
}
.ck-related-containers__image {
  position: relative;
  width: 100%;
  aspect-ratio: 350/248;
  overflow: hidden;
  background: #efefef;
}
.ck-related-containers__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ck-related-containers__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 21px 21px 30px;
  grid-gap: 14px;
  gap: 14px;
}
.ck-related-containers__name {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #000000;
}
.ck-related-containers__description {
  margin: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.44;
  color: #75787b;
  flex: 1 1 auto;
}
.ck-related-containers__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  min-width: 150px;
  min-height: 54px;
  padding: 11px 32px 12px;
  background: #000000;
  color: #ffb200;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 31px;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ck-related-containers__card:hover .ck-related-containers__cta, .ck-related-containers__card:focus-visible .ck-related-containers__cta {
  background: #ffb200;
  color: #000000;
}
.ck-related-containers {
  /* ---------- Slider arrows ---------- */
}
.ck-related-containers .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 24px;
  height: 49px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: #000000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s ease;
}
.ck-related-containers .slick-arrow svg {
  display: block;
  width: 100%;
  height: 100%;
}
.ck-related-containers .slick-arrow:hover, .ck-related-containers .slick-arrow:focus-visible {
  opacity: 0.65;
}
.ck-related-containers .slick-prev {
  left: 0;
}
.ck-related-containers .slick-next {
  right: 0;
}
.ck-related-containers {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-related-containers {
    padding: 64px 0;
  }
  .ck-related-containers__inner {
    grid-gap: 32px;
    gap: 32px;
  }
  .ck-related-containers__slider {
    padding: 0 36px;
  }
  .ck-related-containers__name {
    font-size: 22px;
  }
}
@media (max-width: 600px) {
  .ck-related-containers {
    padding: 48px 0;
  }
  .ck-related-containers__title {
    font-size: 26px;
  }
  .ck-related-containers__slider {
    padding: 0 28px;
  }
  .ck-related-containers__body {
    padding: 18px 22px 24px;
  }
  .ck-related-containers__name {
    font-size: 20px;
  }
  .ck-related-containers__cta {
    width: 100%;
    min-width: 0;
  }
}

/**
 * Content / Image — Plain (Figma node 2093:5)
 *
 * Two-column layout: heading + body + two yellow CTA buttons on the
 * left, a single full-bleed image on the right. Sister block to the
 * yellow-background `.ck-content-image` (Figma 504:758) but flat
 * white. Used for About / overview sections.
 */
.ck-content-image-plain {
  padding: 80px 0;
}
.ck-content-image-plain__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-gap: 80px;
  gap: 80px;
  align-items: center;
}
.ck-content-image-plain {
  /* ---------- Content column ---------- */
}
.ck-content-image-plain__content {
  display: flex;
  flex-direction: column;
  grid-gap: 24px;
  gap: 24px;
  min-width: 0;
}
.ck-content-image-plain__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: #000000;
}
.ck-content-image-plain__body {
  color: #75787b;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
}
.ck-content-image-plain__body p {
  margin: 0 0 1em;
}
.ck-content-image-plain__body p:last-child {
  margin-bottom: 0;
}
.ck-content-image-plain__body a {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}
.ck-content-image-plain__body a:hover, .ck-content-image-plain__body a:focus-visible {
  color: #ffb200;
}
.ck-content-image-plain {
  /* ---------- CTAs ---------- */
}
.ck-content-image-plain__ctas {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 12px;
  gap: 12px;
  margin-top: 8px;
}
.ck-content-image-plain__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-gap: 12px;
  gap: 12px;
  height: 70px;
  min-width: 209px;
  padding: 19px 33px 20px;
  background: #ffb200;
  color: #000000;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 31px;
  text-decoration: none;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ck-content-image-plain__cta:hover, .ck-content-image-plain__cta:focus-visible {
  background: #e69e00;
  color: #000000;
}
.ck-content-image-plain__cta--phone {
  text-transform: none;
  letter-spacing: 0;
  grid-gap: 12px;
  gap: 12px;
  padding-left: 33px;
  padding-right: 25px;
}
.ck-content-image-plain__cta svg {
  display: block;
  flex-shrink: 0;
}
.ck-content-image-plain__phone-icon {
  width: 23px;
  height: 23px;
}
.ck-content-image-plain__phone-number {
  line-height: 31px;
}
.ck-content-image-plain {
  /* ---------- Image column ---------- */
}
.ck-content-image-plain__image {
  width: 100%;
}
.ck-content-image-plain__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 506/422;
  -o-object-fit: cover;
     object-fit: cover;
}
.ck-content-image-plain {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-content-image-plain {
    padding: 64px 0;
  }
  .ck-content-image-plain__inner {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 40px;
    gap: 40px;
  }
  .ck-content-image-plain__image img {
    aspect-ratio: 16/10;
  }
}
@media (max-width: 600px) {
  .ck-content-image-plain {
    padding: 48px 0;
  }
  .ck-content-image-plain__title {
    font-size: 26px;
  }
  .ck-content-image-plain__ctas {
    flex-direction: column;
    align-items: stretch;
  }
  .ck-content-image-plain__cta {
    width: 100%;
    min-width: 0;
    height: 50px;
    padding: 16px 24px;
  }
}

/**
 * Indented Content (Figma node 2099:20)
 *
 * Narrow content wrapper for editorial copy. The content column is
 * capped at 920px with 20px L/R paddings (960px outer) so long-form
 * reading lines stay comfortable inside the wider design canvas.
 *
 * Hosts core/heading, core/paragraph, core/list, core/image. The
 * typography cascade matches the figma's editorial treatment — bold
 * slab headings, muted-grey body copy, slab-bold list items with
 * larger crown bullets. Scoped by Gutenberg's `.wp-block-*` marker
 * classes so it can't leak into custom CK blocks placed inside.
 */
.ck-indented-content {
  padding: 80px 0;
}
.ck-indented-content__inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.ck-indented-content__inner > .acf-innerblocks-container {
  display: contents;
}
.ck-indented-content {
  /* ---------- Typography cascade ---------- */
}
.ck-indented-content__inner .wp-block-heading {
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: #000000;
  margin: 30px 0 16px;
}
.ck-indented-content__inner h1.wp-block-heading {
  font-size: 40px;
}
.ck-indented-content__inner h2.wp-block-heading {
  font-size: 32px;
}
.ck-indented-content__inner h3.wp-block-heading {
  font-size: 24px;
}
.ck-indented-content__inner h4.wp-block-heading {
  font-size: 20px;
}
.ck-indented-content__inner h5.wp-block-heading {
  font-size: 18px;
}
.ck-indented-content__inner h6.wp-block-heading {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ck-indented-content__inner > .wp-block-heading:first-child,
.ck-indented-content__inner > .acf-innerblocks-container > .wp-block-heading:first-child {
  margin-top: 0;
}
.ck-indented-content__inner p {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #75787b;
  margin: 0 0 16px;
}
.ck-indented-content__inner a {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}
.ck-indented-content__inner a:hover, .ck-indented-content__inner a:focus-visible {
  color: #ffb200;
}
.ck-indented-content__inner ul.wp-block-list {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}
.ck-indented-content__inner ul.wp-block-list li {
  position: relative;
  padding-left: 36px;
  margin: 0 0 24px;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  color: #000000;
}
.ck-indented-content__inner ul.wp-block-list li:last-child {
  margin-bottom: 0;
}
.ck-indented-content__inner ul.wp-block-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 22.5px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.5 16' fill='%23ffb200'%3E%3Cpath d='M22.5 4L22 11H0V3L3.5 7L5.5 1.5L8.5 6L11 0L14.5 6L17.5 1L19.5 7L22.5 4Z'/%3E%3Cpath d='M0 13H22V16H0V13Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.ck-indented-content__inner ol.wp-block-list {
  list-style: decimal;
  margin: 0 0 24px;
  padding-left: 22px;
  color: #000000;
}
.ck-indented-content__inner ol.wp-block-list li {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  padding-left: 4px;
}
.ck-indented-content__inner .wp-block-image {
  margin: 32px 0;
}
.ck-indented-content__inner .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
}
.ck-indented-content__inner .wp-block-image:first-child {
  margin-top: 0;
}
.ck-indented-content__inner .wp-block-image:last-child {
  margin-bottom: 0;
}
@media (max-width: 900px) {
  .ck-indented-content {
    padding: 64px 0;
  }
}
@media (max-width: 600px) {
  .ck-indented-content {
    padding: 48px 0;
  }
  .ck-indented-content__inner {
    padding: 0 16px;
  }
  .ck-indented-content h2.wp-block-heading {
    font-size: 26px;
  }
}

/**
 * Related Posts (Figma node 2103:54 — "Explore More News & Case Studies")
 *
 * Slick slider of post cards on the single-post template. Same overall
 * shape as ck-related-containers but with a grey section background and
 * no "Learn More" CTA on each card (cards are: image + title + excerpt).
 *
 * Arrows are positioned outside the cards on either side, level with the
 * card image, same as ck-related-containers.
 */
.ck-related-posts {
  padding: 80px 0;
  background: #d9d9d9;
}
.ck-related-posts__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 41px;
  gap: 41px;
}
.ck-related-posts__title {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: #000000;
  text-align: center;
}
.ck-related-posts {
  /* ---------- Slider ---------- */
}
.ck-related-posts__slider {
  width: 100%;
  position: relative;
  padding: 0 44px;
}
.ck-related-posts__slider .slick-list {
  margin: 0 -15px;
  overflow: hidden;
}
.ck-related-posts__slider .slick-track {
  display: flex;
}
.ck-related-posts__slider .slick-slide {
  padding: 5px 15px;
  box-sizing: border-box;
  height: auto;
  display: flex;
}
.ck-related-posts__slider .slick-slide > div {
  display: flex;
  width: 100%;
  height: 100%;
}
.ck-related-posts__slide {
  display: flex;
  width: 100%;
}
.ck-related-posts {
  /* ---------- Card ---------- */
}
.ck-related-posts__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  grid-gap: 16px;
  gap: 16px;
  color: inherit;
  text-decoration: none;
  transition: transform 0.2s ease;
}
.ck-related-posts__card:hover, .ck-related-posts__card:focus-visible {
  transform: translateY(-3px);
}
.ck-related-posts__card:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 2px;
}
.ck-related-posts__image {
  position: relative;
  width: 100%;
  aspect-ratio: 350/248;
  overflow: hidden;
  background: #c4c4c4;
}
.ck-related-posts__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.ck-related-posts__card:hover .ck-related-posts__image img, .ck-related-posts__card:focus-visible .ck-related-posts__image img {
  transform: scale(1.04);
}
.ck-related-posts__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  grid-gap: 14px;
  gap: 14px;
  padding: 4px 0 0;
}
.ck-related-posts__name {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.625;
  letter-spacing: -0.01em;
  color: #000000;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.ck-related-posts__excerpt {
  margin: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #75787b;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.ck-related-posts {
  /* ---------- Slider arrows ---------- */
}
.ck-related-posts .slick-arrow {
  position: absolute;
  top: 170px;
  transform: translateY(-50%);
  z-index: 2;
  width: 24px;
  height: 49px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: #000000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s ease;
}
.ck-related-posts .slick-arrow svg {
  display: block;
  width: 100%;
  height: 100%;
}
.ck-related-posts .slick-arrow:hover, .ck-related-posts .slick-arrow:focus-visible {
  opacity: 0.65;
}
.ck-related-posts .slick-prev {
  left: 0;
}
.ck-related-posts .slick-next {
  right: 0;
}
.ck-related-posts {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-related-posts {
    padding: 64px 0;
  }
  .ck-related-posts__inner {
    grid-gap: 32px;
    gap: 32px;
  }
  .ck-related-posts__slider {
    padding: 0 36px;
  }
  .ck-related-posts__name {
    font-size: 22px;
  }
}
@media (max-width: 600px) {
  .ck-related-posts {
    padding: 48px 0;
  }
  .ck-related-posts__title {
    font-size: 26px;
  }
  .ck-related-posts__slider {
    padding: 0 28px;
  }
  .ck-related-posts__name {
    font-size: 20px;
  }
}

/**
 * CTA Buttons (Figma node 662:539 / 662:532)
 *
 * Standalone pair of yellow buttons: a configurable primary link with
 * trailing arrow, plus the company phone number with a phone icon.
 * Visually identical to the CTA pair embedded inside `ck-content-image`
 * and `ck-content-image-plain`, but as its own placeable block so
 * editors can drop it anywhere — typically inside a post body or a
 * narrow content wrapper.
 */
.ck-cta-buttons {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 12px;
  gap: 12px;
  margin: 32px 0;
  margin-bottom: 32px !important;
}
.ck-cta-buttons .ck-cta-buttons__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-gap: 12px;
  gap: 12px;
  height: 70px;
  min-width: 209px;
  padding: 19px 33px 20px;
  background: #ffb200;
  color: #000000;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 31px;
  text-decoration: none;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ck-cta-buttons .ck-cta-buttons__cta:hover, .ck-cta-buttons .ck-cta-buttons__cta:focus-visible {
  background: #e69e00;
  color: #000000;
  text-decoration: none;
}
.ck-cta-buttons .ck-cta-buttons__cta--phone {
  text-transform: none;
  letter-spacing: 0;
  padding-left: 33px;
  padding-right: 25px;
}
.ck-cta-buttons .ck-cta-buttons__cta svg {
  display: block;
  flex-shrink: 0;
}
.ck-cta-buttons__phone-icon {
  width: 23px;
  height: 23px;
}
.ck-cta-buttons__phone-number {
  line-height: 31px;
}
@media (max-width: 600px) {
  .ck-cta-buttons {
    flex-direction: column;
    align-items: stretch;
  }
  .ck-cta-buttons__cta {
    width: 100%;
    min-width: 0 !important;
    height: 50px !important;
    padding: 16px 24px !important;
  }
}

/**
 * Quote Page (Figma node 713:2 — "Request Your Free Quote" landing)
 *
 * Single full-bleed block with two columns:
 *
 *   LEFT  — white. Title + intro + Contact Form 7 form. The form
 *           column hugs the container's left edge (165px in figma /
 *           calc((100vw - 1158px) / 2 + 24px) responsively).
 *
 *   RIGHT — dark photo with 59% black overlay. Star rating, the review
 *           text, the author, and the Google Rating image pill (links
 *           to the Maps profile if configured in Global Settings).
 *
 * The block is intended to be inserted as `alignfull` so the right-side
 * background photo full-bleeds to the viewport's right edge.
 */
.ck-quote-page {
  display: flex;
  background: #ffffff;
  width: 100%;
  /* ---------- Columns ---------- */
}
.ck-quote-page__form-col {
  flex: 1 1 50%;
  background: #ffffff;
  padding: 72px 48px 80px max(24px, (100vw - 1158px) / 2 + 24px);
  box-sizing: border-box;
}
.ck-quote-page__form-inner {
  max-width: 445px;
  margin: 0;
}
.ck-quote-page__review-col {
  flex: 1 1 50%;
  position: relative;
  background-color: #262626;
  background-size: cover;
  background-position: center;
  color: #ffffff;
  padding: 90px 48px;
  box-sizing: border-box;
  min-height: 720px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ck-quote-page__review-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.59);
  pointer-events: none;
}
.ck-quote-page__review-inner {
  position: relative;
  z-index: 1;
  max-width: 575px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 24px;
  gap: 24px;
}
.ck-quote-page {
  /* ---------- Left column content ---------- */
}
.ck-quote-page__title {
  margin: 0 0 16px;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.2;
  color: #000000;
}
.ck-quote-page__intro {
  margin: 0 0 32px;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.94;
  color: #75787b;
}
.ck-quote-page__intro p {
  margin: 0;
}
.ck-quote-page__intro strong {
  font-weight: 500;
  color: #000000;
}
.ck-quote-page__intro a {
  color: inherit;
  text-decoration: none;
}
.ck-quote-page__intro a:hover, .ck-quote-page__intro a:focus-visible {
  color: #ffb200;
}
.ck-quote-page {
  /* ---------- CF7 form ---------- */
}
.ck-quote-page__form .ck-quote-form__radio-label {
  color: #000;
}
.ck-quote-page__form .wpcf7 {
  margin: 0;
}
.ck-quote-page__form .wpcf7-form {
  display: flex;
  flex-direction: column;
  grid-gap: 10px;
  gap: 10px;
}
.ck-quote-page__form .wpcf7-form p {
  margin: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  grid-gap: 10px;
  gap: 10px;
}
.ck-quote-page__form {
  /* ---------- Radio group ("I want to: Buy | Rent | Not Sure") ---------- */
}
.ck-quote-page__form .wpcf7-radio {
  display: inline-flex;
  flex-wrap: wrap;
  grid-gap: 14px;
  gap: 14px;
  align-items: center;
}
.ck-quote-page__form .wpcf7-list-item {
  display: inline-flex;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  margin: 0;
}
.ck-quote-page__form .wpcf7-list-item-label {
  color: #000000;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
}
.ck-quote-page__form input[type=radio] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  margin: 0;
  border: 1px solid #000000;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  outline: 0;
}
.ck-quote-page__form input[type=radio]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  background: #ffb200;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.ck-quote-page__form input[type=radio]:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 2px;
}
.ck-quote-page__form {
  /* ---------- Text-like inputs (shared field skin) ---------- */
}
.ck-quote-page__form input[type=text],
.ck-quote-page__form input[type=email],
.ck-quote-page__form input[type=tel],
.ck-quote-page__form input[type=number],
.ck-quote-page__form input[type=url],
.ck-quote-page__form select,
.ck-quote-page__form textarea {
  display: block;
  width: 100%;
  height: 53px;
  background-color: #f4f6f8;
  border: 1px solid #8b8b8b;
  color: #4d4d4d;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  padding: 16px 21px;
  border-radius: 0;
  outline: 0;
  box-sizing: border-box;
}
.ck-quote-page__form input[type=text]::-moz-placeholder, .ck-quote-page__form input[type=email]::-moz-placeholder, .ck-quote-page__form input[type=tel]::-moz-placeholder, .ck-quote-page__form input[type=number]::-moz-placeholder, .ck-quote-page__form input[type=url]::-moz-placeholder, .ck-quote-page__form select::-moz-placeholder, .ck-quote-page__form textarea::-moz-placeholder {
  color: #4d4d4d;
  opacity: 1;
}
.ck-quote-page__form input[type=text]::placeholder,
.ck-quote-page__form input[type=email]::placeholder,
.ck-quote-page__form input[type=tel]::placeholder,
.ck-quote-page__form input[type=number]::placeholder,
.ck-quote-page__form input[type=url]::placeholder,
.ck-quote-page__form select::placeholder,
.ck-quote-page__form textarea::placeholder {
  color: #4d4d4d;
  opacity: 1;
}
.ck-quote-page__form input[type=text]:focus,
.ck-quote-page__form input[type=email]:focus,
.ck-quote-page__form input[type=tel]:focus,
.ck-quote-page__form input[type=number]:focus,
.ck-quote-page__form input[type=url]:focus,
.ck-quote-page__form select:focus,
.ck-quote-page__form textarea:focus {
  border: 2px solid #262626;
}
.ck-quote-page__form input[type=text],
.ck-quote-page__form input[type=email],
.ck-quote-page__form input[type=tel],
.ck-quote-page__form input[type=number],
.ck-quote-page__form input[type=url],
.ck-quote-page__form select,
.ck-quote-page__form textarea {
  /* Keep the field's grey fill and dark text when the browser
     autofills. Without this the UA paints an opaque yellow/blue
     background. The huge inset shadow masks that fill, and
     text-fill-color restores the typed colour. */
}
.ck-quote-page__form input[type=text]:-webkit-autofill, .ck-quote-page__form input[type=text]:-webkit-autofill:hover, .ck-quote-page__form input[type=text]:-webkit-autofill:focus,
.ck-quote-page__form input[type=email]:-webkit-autofill,
.ck-quote-page__form input[type=email]:-webkit-autofill:hover,
.ck-quote-page__form input[type=email]:-webkit-autofill:focus,
.ck-quote-page__form input[type=tel]:-webkit-autofill,
.ck-quote-page__form input[type=tel]:-webkit-autofill:hover,
.ck-quote-page__form input[type=tel]:-webkit-autofill:focus,
.ck-quote-page__form input[type=number]:-webkit-autofill,
.ck-quote-page__form input[type=number]:-webkit-autofill:hover,
.ck-quote-page__form input[type=number]:-webkit-autofill:focus,
.ck-quote-page__form input[type=url]:-webkit-autofill,
.ck-quote-page__form input[type=url]:-webkit-autofill:hover,
.ck-quote-page__form input[type=url]:-webkit-autofill:focus,
.ck-quote-page__form select:-webkit-autofill,
.ck-quote-page__form select:-webkit-autofill:hover,
.ck-quote-page__form select:-webkit-autofill:focus,
.ck-quote-page__form textarea:-webkit-autofill,
.ck-quote-page__form textarea:-webkit-autofill:hover,
.ck-quote-page__form textarea:-webkit-autofill:focus {
  -webkit-text-fill-color: #4d4d4d;
  box-shadow: inset 0 0 0 1000px #f4f6f8;
}
.ck-quote-page__form textarea {
  height: 106px;
  min-height: 106px;
  line-height: 1.14;
  resize: vertical;
}
.ck-quote-page__form select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  padding-right: 50px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 7' fill='%23FFB200'%3E%3Cpath d='M0 0 L14 0 L7 7 Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 14px 7px;
}
.ck-quote-page__form select::-ms-expand {
  display: none;
}
.ck-quote-page__form {
  /* ---------- Leading field icons ----------
   *
   * Same SVG library as ck-quote-form.
   *
   * The icons render as a `::before` on each field's
   * `.wpcf7-form-control-wrap` span, NOT as the input's own
   * `background-image`. Browser autofill applies a UA
   * `background-image: none !important` to the filled input, which
   * would wipe an input-background icon the instant Chrome/Safari
   * autofilled the field; a pseudo-element on the wrapper span is
   * outside the input, so autofill never touches it.
   *
   * The wrapper is matched by its CF7 `data-name` attribute (which
   * mirrors the field name: `your-name`, `your-email`, `your-phone`,
   * `delivery-zip`, …). We deliberately avoid `:has()` — CF7 packs
   * several fields into a single wpautop `<p>`, so the `<p>` is not a
   * per-field box, and a plain attribute match on the wrap span is
   * both simpler and free of `:has()` support concerns.
   */
}
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=name] input,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=email] input,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=phone] input,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=tel] input,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=zip] input,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=postcode] input {
  padding-left: 48px;
}
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=name],
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=email],
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=phone],
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=tel],
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=zip],
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=postcode] {
  position: relative;
  display: block;
}
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=name] input,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=email] input,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=phone] input,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=tel] input,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=zip] input,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=postcode] input {
  position: relative;
  z-index: 0;
}
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=name]::before,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=email]::before,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=phone]::before,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=tel]::before,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=zip]::before,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=postcode]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-repeat: no-repeat;
  pointer-events: none;
}
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=name]::before {
  left: 21px;
  top: 17px;
  width: 14px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 20' fill='none' stroke='%234D4D4D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 19C1 16.79 4.13 15 8 15s7 1.79 7 4M13 6c0 2.76-2.24 5-5 5s-5-2.24-5-5 2.24-5 5-5 5 2.24 5 5z'/%3E%3C/svg%3E");
  background-size: 14px 18px;
}
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=email]::before {
  left: 18px;
  top: 19px;
  width: 20px;
  height: 15px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 17' fill='none' stroke='%234D4D4D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='0.75' y='0.75' width='20.5' height='15.5' rx='1.7'/%3E%3Cpath d='M2 2L11 9L20 2'/%3E%3C/svg%3E");
  background-size: 20px 15px;
}
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=phone]::before,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=tel]::before {
  left: 19px;
  top: 17px;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 19' fill='none' stroke='%234D4D4D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.59 4.27c.43 0 .85.08 1.25.25.4.16.76.41 1.07.71.3.31.55.67.71 1.07.17.4.25.83.25 1.26M12.39.95c.76 0 1.51.15 2.21.44.7.29 1.34.72 1.88 1.26.54.54.97 1.18 1.26 1.88.29.7.44 1.45.44 2.21M14.42 18.31c-6.75-1.52-12.07-6.84-13.59-13.59-.49-2.16 1.35-3.97 3.56-3.97h1.75c.55 0 .99.45 1.04 1 .1 1.09.35 2.13.73 3.11l-1.71 1.71c1.33 2.78 3.58 5.03 6.36 6.36L14.28 11.22c.98.38 2.02.64 3.11.73.55.05 1 .49 1 1.04v1.75c0 2.21-1.81 4.05-3.97 3.56z'/%3E%3C/svg%3E");
  background-size: 18px 18px;
}
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=zip]::before,
.ck-quote-page__form .wpcf7-form-control-wrap[data-name*=postcode]::before {
  left: 22px;
  top: 16px;
  width: 17px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 22' fill='none' stroke='%234D4D4D' stroke-width='2'%3E%3Cpath d='M9.5 12.5c1.65 0 2.98-1.43 2.98-3.2s-1.33-3.19-2.98-3.19c-1.65 0-2.98 1.43-2.98 3.19 0 1.77 1.33 3.2 2.98 3.2z'/%3E%3Cpath d='M1.24 7.49c1.95-8.66 14.61-8.65 16.54 0 1.14 5.08-1.98 9.39-4.71 12.05-1.99 1.94-5.12 1.94-7.12 0-2.72-2.66-5.84-6.97-4.7-12.05z'/%3E%3C/svg%3E");
  background-size: 17px 20px;
}
.ck-quote-page__form select[name*=container],
.ck-quote-page__form select[name*=size],
.ck-quote-page__form select[name*=type],
.ck-quote-page__form select.ck-icon-size {
  padding-left: 48px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 16' fill='%234D4D4D'%3E%3Cpath d='M23 1.6V0H0V1.6H1.53V14.4H0V16H23V14.4H21.47V1.6H23zM19.93 14.4H3.07V1.6h16.86V14.4zM7.67 12.8H6.13V3.2h1.54v9.6zM12.27 12.8h-1.54V3.2h1.54v9.6zM16.87 12.8h-1.54V3.2h1.54v9.6z'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 7' fill='%23FFB200'%3E%3Cpath d='M0 0 L14 0 L7 7 Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 18px center, right 18px center;
  background-size: 23px 16px, 14px 7px;
}
.ck-quote-page__form {
  /* ---------- Submit button ---------- */
}
.ck-quote-page__form input[type=submit],
.ck-quote-page__form button[type=submit] {
  display: block;
  width: 100%;
  height: 59px;
  background: #ffb200;
  color: #262626;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 31px;
  padding: 14px 24px;
  margin-top: 10px;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.ck-quote-page__form input[type=submit]:hover, .ck-quote-page__form input[type=submit]:focus-visible,
.ck-quote-page__form button[type=submit]:hover,
.ck-quote-page__form button[type=submit]:focus-visible {
  background: #e69e00;
}
.ck-quote-page__form .wpcf7-spinner {
  margin: 0;
  position: absolute;
  bottom: 17px;
  right: 17px;
}
.ck-quote-page__form .wpcf7 form .wpcf7-response-output {
  margin: 12px 0 0;
  padding: 12px 16px;
  border-width: 0;
  background: rgba(0, 0, 0, 0.06);
  color: #262626;
}
.ck-quote-page__form .wpcf7-not-valid-tip {
  color: #b00020;
  font-size: 14px;
  margin-top: 4px;
}
.ck-quote-page {
  /* ---------- Right column content ---------- */
}
.ck-quote-page__stars {
  display: block;
  width: 140px;
  height: 24px;
}
.ck-quote-page__review-text {
  margin: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.625;
  color: #ffffff;
  quotes: "“" "”";
  max-width: 468px;
}
.ck-quote-page__review-text br {
  line-height: 1;
}
.ck-quote-page__review-author {
  margin: 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1;
  color: #ffffff;
}
.ck-quote-page__google {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-decoration: none;
  transition: transform 0.15s ease;
  margin-top: 15px;
}
.ck-quote-page__google img {
  display: block;
  max-width: 100%;
  height: auto;
}
.ck-quote-page__google:hover, .ck-quote-page__google:focus-visible {
  transform: translateY(-2px);
}
.ck-quote-page {
  /* ---------- Responsive ---------- */
}
@media (max-width: 1200px) {
  .ck-quote-page__form-col {
    padding: 56px 32px 64px;
  }
  .ck-quote-page__form-inner {
    margin: 0 auto;
  }
}
@media (max-width: 900px) {
  .ck-quote-page {
    flex-direction: column;
  }
  .ck-quote-page__form-col {
    flex: 1 1 100%;
    padding: 56px 24px;
  }
  .ck-quote-page__form-inner {
    margin: 0 auto;
    max-width: 540px;
  }
  .ck-quote-page__review-col {
    flex: 1 1 100%;
    min-height: 520px;
    padding: 64px 32px;
  }
  .ck-quote-page__review-text {
    font-size: 20px;
    line-height: 1.55;
  }
  .ck-quote-page__form input[type=submit],
  .ck-quote-page__form button[type=submit] {
    height: 52px;
    font-size: 20px;
    line-height: 1.4;
    padding: 10px 22px;
  }
}
@media (max-width: 600px) {
  .ck-quote-page__form-col {
    padding: 40px 16px;
  }
  .ck-quote-page__title {
    font-size: 26px;
  }
  .ck-quote-page__review-col {
    padding: 48px 20px;
    min-height: 440px;
  }
  .ck-quote-page__review-text {
    font-size: 18px;
  }
  .ck-quote-page__review-author {
    font-size: 20px;
  }
  .ck-quote-page__form input[type=submit],
  .ck-quote-page__form button[type=submit] {
    height: 46px;
    font-size: 18px;
    line-height: 1.4;
    padding: 8px 18px;
    margin-top: 6px;
  }
}

/**
 * Gallery Listing (Figma node 706:7 — "Our Gallery")
 *
 * Three-column grid of gallery cards. Each card is the image with a
 * yellow frame and a centered title beneath. Hovering the card slides
 * a black "Learn More →" bar up over the bottom of the image, and the
 * entire card is the link to the gallery single page.
 *
 *   Desktop  3 columns, 30px column gap
 *   Tablet   2 columns
 *   Mobile   1 column
 */
.ck-gallery-listing {
  padding: 72px 0 90px;
}
.ck-gallery-listing__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 30px;
       grid-column-gap: 30px;
       column-gap: 30px;
  grid-row-gap: 51px;
  row-gap: 51px;
}
.ck-gallery-listing {
  /* ---------- Card ---------- */
}
.ck-gallery-listing__card {
  display: block;
  text-decoration: none;
  color: #000000;
  outline: 0;
}
.ck-gallery-listing__card:hover .ck-gallery-listing__card__image::after, .ck-gallery-listing__card:focus-visible .ck-gallery-listing__card__image::after, .ck-gallery-listing__card:hover .ck-gallery-listing__cta, .ck-gallery-listing__card:focus-visible .ck-gallery-listing__cta {
  transform: translateY(0);
}
.ck-gallery-listing__card:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 4px;
}
.ck-gallery-listing__image {
  position: relative;
  border: 5px solid #ffb200;
  aspect-ratio: 350/248;
  overflow: hidden;
  background: #d9d9d9;
}
.ck-gallery-listing__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}
.ck-gallery-listing__card:hover .ck-gallery-listing__image img, .ck-gallery-listing__card:focus-visible .ck-gallery-listing__image img {
  transform: scale(1.04);
}
.ck-gallery-listing__cta {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 9px;
  gap: 9px;
  height: 54px;
  padding: 11px 24px 12px;
  background: #000000;
  color: #ffb200;
  box-sizing: border-box;
  transform: translateY(100%);
  transition: transform 0.25s ease;
  pointer-events: none;
}
.ck-gallery-listing__cta-label {
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 31px;
  letter-spacing: -0.14px;
  text-transform: uppercase;
  text-align: center;
}
.ck-gallery-listing__cta-arrow {
  display: block;
  flex-shrink: 0;
  color: #ffb200;
}
.ck-gallery-listing {
  /* ---------- Title ---------- */
}
.ck-gallery-listing__title {
  margin: 23px 0 0;
  font-family: "Rockwell", Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 31px;
  letter-spacing: -0.24px;
  color: #000000;
  text-align: center;
}
.ck-gallery-listing {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-gallery-listing {
    padding: 48px 0 64px;
  }
  .ck-gallery-listing__grid {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 24px;
         grid-column-gap: 24px;
         column-gap: 24px;
    grid-row-gap: 40px;
    row-gap: 40px;
  }
  .ck-gallery-listing__title {
    font-size: 20px;
    line-height: 1.3;
  }
}
@media (max-width: 600px) {
  .ck-gallery-listing {
    padding: 36px 0 48px;
  }
  .ck-gallery-listing__grid {
    grid-template-columns: 1fr;
    grid-row-gap: 32px;
    row-gap: 32px;
  }
  .ck-gallery-listing__cta {
    transform: translateY(0);
  }
}

/**
 * Gallery Slider (Figma node 720:218 — Single Gallery slider)
 *
 * Slick carousel of full-bleed-ish images (designed at 922×551, sitting
 * within the standard single-content column). Below the viewport sits
 * a black "Slide N of X — [alt]" counter bar 54px tall.
 *
 * Layout target: the slider lives inside `the_content()` of a single
 * gallery item, so it inherits the standard reading column width — no
 * full-bleed handling here; the slide image just fills 100% of its
 * container.
 */
.ck-gallery-slider {
  margin: 0 0 48px;
  /* ---------- Viewport / slides ---------- */
}
.ck-gallery-slider__viewport {
  position: relative;
  line-height: 0;
  font-size: 0;
}
.ck-gallery-slider .slick-slider {
  margin: 0;
}
.ck-gallery-slider .slick-list {
  margin: 0;
}
.ck-gallery-slider .slick-track {
  margin: 0;
}
.ck-gallery-slider__slides:not(.slick-initialized) .ck-gallery-slider__slide:not(:first-child) {
  display: none;
}
.ck-gallery-slider__slide {
  outline: 0;
}
.ck-gallery-slider__slide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 922/551;
  -o-object-fit: cover;
     object-fit: cover;
  background: #d9d9d9;
}
.ck-gallery-slider__slide.slick-current img {
  cursor: zoom-in;
}
.ck-gallery-slider {
  /* ---------- Slick navigation arrows ----------
   *
   * Per design (figma node 2108:144): round 46px buttons with a dark
   * translucent background and a white chevron stroke. Translucency
   * means they read cleanly on both light and dark photos without
   * needing an extra shadow.
   */
}
.ck-gallery-slider .slick-prev,
.ck-gallery-slider .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 46px;
  height: 46px;
  padding: 0;
  background: rgba(0, 0, 0, 0.45);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
  font-size: 0;
}
.ck-gallery-slider .slick-prev:hover, .ck-gallery-slider .slick-prev:focus-visible,
.ck-gallery-slider .slick-next:hover,
.ck-gallery-slider .slick-next:focus-visible {
  background: rgba(0, 0, 0, 0.7);
  transform: translateY(-50%) scale(1.05);
}
.ck-gallery-slider .slick-prev:focus-visible,
.ck-gallery-slider .slick-next:focus-visible {
  outline: 2px solid #ffb200;
  outline-offset: 4px;
}
.ck-gallery-slider .slick-prev svg,
.ck-gallery-slider .slick-next svg {
  display: block;
  width: 12px;
  height: 24px;
}
.ck-gallery-slider .slick-prev {
  left: 32px;
}
.ck-gallery-slider .slick-next {
  right: 32px;
}
.ck-gallery-slider {
  /* ---------- Counter bar ---------- */
}
.ck-gallery-slider__counter {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  grid-gap: 0;
  gap: 0;
  height: 54px;
  padding: 11px 32px 12px;
  background: #000000;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 31px;
  letter-spacing: -0.01em;
  text-align: left;
  box-sizing: border-box;
}
.ck-gallery-slider__counter-num {
  color: #ffb200;
}
.ck-gallery-slider__counter-sep, .ck-gallery-slider__counter-alt {
  color: #ffffff;
}
.ck-gallery-slider {
  /* ---------- Responsive ---------- */
}
@media (max-width: 900px) {
  .ck-gallery-slider .slick-prev {
    left: 8px;
  }
  .ck-gallery-slider .slick-next {
    right: 8px;
  }
  .ck-gallery-slider .slick-prev,
  .ck-gallery-slider .slick-next {
    width: 40px;
    height: 40px;
  }
  .ck-gallery-slider__counter {
    font-size: 14px;
    line-height: 1.4;
    padding: 10px 16px;
    height: auto;
    min-height: 48px;
  }
}
@media (max-width: 600px) {
  .ck-gallery-slider {
    margin-bottom: 32px;
  }
  .ck-gallery-slider .slick-prev {
    left: 4px;
  }
  .ck-gallery-slider .slick-next {
    right: 4px;
  }
  .ck-gallery-slider .slick-prev,
  .ck-gallery-slider .slick-next {
    width: 36px;
    height: 36px;
  }
}

/**
 * Inline Review block (Figma node 753:305)
 *
 * Compact 5-star + quote + author unit. Designed to live inline within
 * page body copy, so width is handled by the page template's opt-out
 * (see `.ck-inline-review` in `_page.scss`) and this file only owns
 * the internal layout and typography.
 *
 * The blockquote here overrides the generic body-blockquote style from
 * `_page.scss` (left border, italic) — the inline review is plain
 * styled text, not a pull-quote.
 */
.ck-inline-review {
  margin: 0 0 24px;
}
.ck-inline-review__stars {
  display: block;
  width: 140px;
  height: 24px;
  margin: 0 0 8px;
}
.ck-inline-review__text {
  margin: 0;
  padding: 0;
  border: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 31px;
  color: #75787b;
  font-style: normal;
}
.ck-inline-review__author {
  margin: 0;
  font-family: "Proxima Nova", system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 31px;
  color: #000000;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/*# sourceMappingURL=index.css.map*/