.elementor-4919 .elementor-element.elementor-element-062b60d{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-57fc2b5{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-a276c74{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4919 .elementor-element.elementor-element-e30523c{width:100%;max-width:100%;}.elementor-4919 .elementor-element.elementor-element-d72b0e9{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-e04bb75{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4919 .elementor-element.elementor-element-49e11e3{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4919 .elementor-element.elementor-element-7a77ac0{width:100%;max-width:100%;}.elementor-4919 .elementor-element.elementor-element-3af591d{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-3af591d:not(.elementor-motion-effects-element-type-background), .elementor-4919 .elementor-element.elementor-element-3af591d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EBE5DC;}.elementor-4919 .elementor-element.elementor-element-18e7d77{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-aac19ae{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4919 .elementor-element.elementor-element-a0c5e65{width:100%;max-width:100%;}.elementor-4919 .elementor-element.elementor-element-b600b18{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-b600b18:not(.elementor-motion-effects-element-type-background), .elementor-4919 .elementor-element.elementor-element-b600b18 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EBE5DC;}.elementor-4919 .elementor-element.elementor-element-178d4a2{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-20803bf{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4919 .elementor-element.elementor-element-f1e23af{width:100%;max-width:100%;}.elementor-4919 .elementor-element.elementor-element-71d8997{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-71d8997:not(.elementor-motion-effects-element-type-background), .elementor-4919 .elementor-element.elementor-element-71d8997 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F3ED;}.elementor-4919 .elementor-element.elementor-element-c36e50d{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-1694247{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4919 .elementor-element.elementor-element-448c6fa{width:100%;max-width:100%;}.elementor-4919 .elementor-element.elementor-element-cb3666e{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-cb3666e:not(.elementor-motion-effects-element-type-background), .elementor-4919 .elementor-element.elementor-element-cb3666e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EBE5DC;}.elementor-4919 .elementor-element.elementor-element-f6fffa6{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-9ba7107{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4919 .elementor-element.elementor-element-290ee4d{width:100%;max-width:100%;}.elementor-4919 .elementor-element.elementor-element-f689dc7{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-6ea5a1b{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4919 .elementor-element.elementor-element-33efbc6{width:100%;max-width:100%;}.elementor-4919 .elementor-element.elementor-element-e1ee22e{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4919 .elementor-element.elementor-element-e244ec5{width:100%;max-width:100%;}.elementor-4919 .elementor-element.elementor-element-defa215{width:100%;max-width:100%;}.elementor-4919 .elementor-element.elementor-element-87659b7{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-87659b7:not(.elementor-motion-effects-element-type-background), .elementor-4919 .elementor-element.elementor-element-87659b7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EBE5DC;}.elementor-4919 .elementor-element.elementor-element-ca83121{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-fb9fc43{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4919 .elementor-element.elementor-element-1b6845c{width:100%;max-width:100%;}.elementor-4919 .elementor-element.elementor-element-b809142{padding:0px 20px 0px 20px;}.elementor-4919 .elementor-element.elementor-element-b2a37f7{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-b2a37f7:not(.elementor-motion-effects-element-type-background), .elementor-4919 .elementor-element.elementor-element-b2a37f7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F3ED;}.elementor-4919 .elementor-element.elementor-element-054afd9{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-9aa5e7a{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-4919 .elementor-element.elementor-element-670f2ff{width:100%;max-width:100%;}.elementor-4919 .elementor-element.elementor-element-0d39293{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-0d39293:not(.elementor-motion-effects-element-type-background), .elementor-4919 .elementor-element.elementor-element-0d39293 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F3ED;}@media(min-width:768px){.elementor-4919 .elementor-element.elementor-element-062b60d{--content-width:1440px;}.elementor-4919 .elementor-element.elementor-element-3af591d{--content-width:1440px;}.elementor-4919 .elementor-element.elementor-element-b600b18{--content-width:1440px;}.elementor-4919 .elementor-element.elementor-element-71d8997{--content-width:1440px;}.elementor-4919 .elementor-element.elementor-element-cb3666e{--content-width:1440px;}.elementor-4919 .elementor-element.elementor-element-87659b7{--content-width:1440px;}.elementor-4919 .elementor-element.elementor-element-b2a37f7{--content-width:1440px;}.elementor-4919 .elementor-element.elementor-element-0d39293{--content-width:100%;}}@media(max-width:1024px){.elementor-4919 .elementor-element.elementor-element-062b60d{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-57fc2b5{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-d72b0e9{--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-3af591d{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-18e7d77{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-b600b18{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-178d4a2{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-71d8997{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-c36e50d{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-cb3666e{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-f6fffa6{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-f689dc7{--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-87659b7{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-ca83121{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-b2a37f7{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-054afd9{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-0d39293{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-4919 .elementor-element.elementor-element-062b60d{--padding-top:25px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-57fc2b5{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-d72b0e9{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-3af591d{--padding-top:25px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-18e7d77{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-b600b18{--padding-top:25px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-178d4a2{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-71d8997{--padding-top:25px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-c36e50d{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-cb3666e{--padding-top:25px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-f6fffa6{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-f689dc7{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-87659b7{--padding-top:25px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-ca83121{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-b809142{padding:0px 10px 0px 10px;}.elementor-4919 .elementor-element.elementor-element-b2a37f7{--padding-top:25px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-4919 .elementor-element.elementor-element-054afd9{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4919 .elementor-element.elementor-element-0d39293{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-230ced2 *//* ================================================
   VIDEO HERO MODULE — Module-Specific Styles Only
   ================================================ */
.kb-service-hero .kb-service-hero__title{
  margin: 12px 0 0;
  max-width: 18ch;
  color: var(--kb-ivory, #F2EEE7);

  /* pin to the display (h1) treatment regardless of heading tag */
  font-size:      var(--kb-h1, 4.25rem);
  font-weight:    var(--kb-weight-heading-h1, 300);
  line-height:    var(--kb-line-height-display, 1.15);
  letter-spacing: var(--kb-tracking-display, 0.02em);
}

/* ── SECTION ── */
.kan-builders-global .hm {
    width: 100%;
    min-height: 100vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* ── VIDEO LAYER ── */
.kan-builders-global .hm-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    transform: scale(1.05);
    transition: transform 10s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}
.kan-builders-global .hm.is-loaded .hm-video {
    transform: scale(1);
}

/* ── OVERLAY ── */
.kan-builders-global .hm-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(ellipse 90% 100% at 50% 50%,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.38) 100%),
        linear-gradient(
        to bottom,
        rgba(43, 45, 49, 0.5) 0%,   /* Shifted slightly to match the Charcoal brand tone */
        rgba(43, 45, 49, 0.75) 100%
        );
    pointer-events: none;
}

/* ── INNER CONTENT — 1440px constraint ── */
.kan-builders-global .hm-wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 5%;
    width: 100%;
    position: relative;
    z-index: 2;
}

/* ── CONTENT BODY ── */
.kan-builders-global .hm-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2.5rem;
}

/* ── HEADING ── */
.kan-builders-global .hm-title {
    color: #FFFFFF !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-shadow: 0 2px 36px rgba(0, 0, 0, 0.45);
    max-width: 840px;
    font-weight: 300 !important;
}

/* ── BUTTON ARROW ── */
.kan-builders-global .hm-arrow {
    display: inline-block;
    transition: transform 0.3s ease-in-out;
}
.kan-builders-global .kb-btn:hover .hm-arrow {
    transform: translateX(5px);
}

/* ── SCROLL INDICATOR ── */
.kan-builders-global .hm-scroll {
    position: absolute;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 1.5px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.6);
    transition: border-color 0.3s ease, color 0.3s ease;
    animation: hm-bob 2.2s ease-in-out infinite;
}
.kan-builders-global .hm-scroll:hover {
    border-color: rgba(255, 255, 255, 0.9);
    color: #FFFFFF;
}
.kan-builders-global .hm-scroll::after {
    content: '';
    display: block;
    width: 9px;
    height: 9px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translate(-2px, -2px);
    margin-top: 2px;
}

@keyframes hm-bob {
    0%, 100% { transform: translateX(-50%) translateY(0);  opacity: 0.7; }
    50%      { transform: translateX(-50%) translateY(6px); opacity: 1;   }
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
    .kan-builders-global .hm-scroll { bottom: 24px; width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
    .kan-builders-global .hm-video { transition: none; transform: none !important; }
    .kan-builders-global .hm-scroll { animation: none; }
    .kan-builders-global .hm-arrow { transition: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7f895c9 *//* =========================================
   HEADER TITLE MODULE 
   Scoped to .kan-builders-global
========================================= */

.kan-builders-global .brand-logo {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  /* Inherits your global Montserrat heading font */
  font-family: var(--kb-font-heading, 'Montserrat', sans-serif); 
  font-size: clamp(1.4rem, 2vw, 1.8rem);
}

.kan-builders-global .brand-line-one {
  display: flex;
  gap: 6px;
}

.kan-builders-global .brand-welcome {
  font-weight: 400;
  color: var(--kb-color-dark, #111111);
}

.kan-builders-global .brand-accent,
.kan-builders-global .brand-line-two {
  font-weight: 700;
  color: var(--kb-color-accent, #E07227);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-02c51fa *//* =========================================================================
   sv- Services Grid — module-specific styles only.
   Typography + color tokens come from .kan-builders-global.
   ========================================================================= */
.kan-builders-global .sv-grid {
  display: grid;                   /* layout */
  grid-template-columns: repeat(3, 1fr); /* layout */
  border-top: 1px solid rgba(43, 45, 49, 0.3);  /* non-kit hairline (charcoal @30%) */
  border-left: 1px solid rgba(43, 45, 49, 0.3); /* non-kit hairline (charcoal @30%) */
}

.kan-builders-global .sv-card {
  position: relative;              /* layout */
  display: flex;                   /* layout */
  flex-direction: column;          /* layout */
  gap: 18px;                       /* layout */
  padding: clamp(28px, 3vw, 44px) clamp(24px, 2.6vw, 38px); /* layout */
  border-right: 1px solid rgba(43, 45, 49, 0.3);  /* non-kit hairline (charcoal @30%) */
  border-bottom: 1px solid rgba(43, 45, 49, 0.3); /* non-kit hairline (charcoal @30%) */
  background: transparent;
  color: inherit;
  transition: background 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* accent underline that sweeps in on hover */
.kan-builders-global .sv-card::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 2px;
  background: var(--kb-color-accent); /* kit accent token */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.kan-builders-global .sv-card:hover { background: rgba(255, 255, 255, 0.5); } /* non-kit translucent fill */
.kan-builders-global .sv-card:hover::after { transform: scaleX(1); }

/* --- Line icon ---------------------------------------------------------- */
.kan-builders-global .sv-icon {
  width: 58px;                     /* layout */
  height: 58px;                    /* layout */
  color: #3D4046;                  /* non-kit soft charcoal (resting icon tone) */
  transition: color 0.35s ease, transform 0.35s ease;
}
.kan-builders-global .sv-card:hover .sv-icon {
  color: var(--kb-color-accent);   /* kit accent token */
  transform: translateY(-4px);
}

/* --- Card title: inherits kit <h3> family/color; module sizes it --------- */
.kan-builders-global .sv-card-title {
  font-size: clamp(17px, 1.35vw, 21px); /* module type size (card scale) */
  font-weight: 400;                /* module weight */
  line-height: 1.3;                /* module */
  letter-spacing: 0.12em;          /* module tracking */
}

/* --- Card body: inherits kit body font; module sizes/tones it ----------- */
.kan-builders-global .sv-card-text {
  flex: 1;                         /* layout: push link to card bottom */
  font-size: 14px;                 /* module type size */
  color: rgba(43, 45, 49, 0.66);   /* non-kit muted charcoal (@66%) */
}

/* --- Drafting index (top-right) ----------------------------------------- */
.kan-builders-global .sv-index {
  position: absolute;              /* layout */
  top: 16px;                       /* layout */
  right: 18px;                     /* layout */
  font-size: 10px;                 /* module type size */
  letter-spacing: 0.18em;          /* module tracking */
  color: #AAA095;                  /* non-kit stone label tone */
}

/* --- Explore link ------------------------------------------------------- */
.kan-builders-global .sv-link {
  display: inline-flex;            /* layout */
  align-items: center;             /* layout */
  gap: 12px;                       /* layout */
  font-size: 11px;                 /* module type size */
  letter-spacing: 0.18em;          /* module tracking */
  text-transform: uppercase;       /* module treatment */
}
.kan-builders-global .sv-card:hover .sv-link { color: var(--kb-color-accent); } /* kit accent token */

/* Arrow device — module-owned (kit has no arrow element) */
.kan-builders-global .sv-arrow {
  position: relative;
  width: 30px;                     /* module decoration */
  height: 1px;                     /* module decoration */
  background: currentColor;
  transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.kan-builders-global .sv-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.kan-builders-global .sv-card:hover .sv-arrow { width: 44px; }

/* --- Scroll reveal (module-scoped, self-contained) ---------------------- */
.kan-builders-global .sv-reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.kan-builders-global .sv-reveal.sv-in { opacity: 1; transform: translateY(0); }
.kan-builders-global .sv-stagger-1 { transition-delay: 0.08s; }
.kan-builders-global .sv-stagger-2 { transition-delay: 0.16s; }

@media (prefers-reduced-motion: reduce) {
  .kan-builders-global .sv-reveal { opacity: 1; transform: none; transition: none; }
  .kan-builders-global .sv-card,
  .kan-builders-global .sv-card::after,
  .kan-builders-global .sv-icon,
  .kan-builders-global .sv-arrow { transition: none; }
}

/* --- Responsive --------------------------------------------------------- */
@media (max-width: 1000px) {
  .kan-builders-global .sv-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .kan-builders-global .sv-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3af591d */.elementor-4919 .elementor-element.elementor-element-3af591d {
  --kb-tex-bg: #1b140e;      /* darker base (espresso / near-black) */
  --kb-tex-opacity: 1;     /* less mid-tone texture → the dark base shows through */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d24de06 *//* =========================================================================
   sv- Services Grid — module-specific styles only.
   Typography + color tokens come from .kan-builders-global.
   ========================================================================= */
.kan-builders-global .sv-grid {
  display: grid;                   /* layout */
  grid-template-columns: repeat(3, 1fr); /* layout */
  border-top: 1px solid rgba(43, 45, 49, 0.3);  /* non-kit hairline (charcoal @30%) */
  border-left: 1px solid rgba(43, 45, 49, 0.3); /* non-kit hairline (charcoal @30%) */
}

.kan-builders-global .sv-card {
  position: relative;              /* layout */
  display: flex;                   /* layout */
  flex-direction: column;          /* layout */
  gap: 18px;                       /* layout */
  padding: clamp(28px, 3vw, 44px) clamp(24px, 2.6vw, 38px); /* layout */
  border-right: 1px solid rgba(43, 45, 49, 0.3);  /* non-kit hairline (charcoal @30%) */
  border-bottom: 1px solid rgba(43, 45, 49, 0.3); /* non-kit hairline (charcoal @30%) */
  background: transparent;
  color: inherit;
  transition: background 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* accent underline that sweeps in on hover */
.kan-builders-global .sv-card::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 2px;
  background: var(--kb-color-accent); /* kit accent token */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.kan-builders-global .sv-card:hover { background: rgba(255, 255, 255, 0.5); } /* non-kit translucent fill */
.kan-builders-global .sv-card:hover::after { transform: scaleX(1); }

/* --- Line icon ---------------------------------------------------------- */
.kan-builders-global .sv-icon {
  width: 58px;                     /* layout */
  height: 58px;                    /* layout */
  color: #3D4046;                  /* non-kit soft charcoal (resting icon tone) */
  transition: color 0.35s ease, transform 0.35s ease;
}
.kan-builders-global .sv-card:hover .sv-icon {
  color: var(--kb-color-accent);   /* kit accent token */
  transform: translateY(-4px);
}

/* --- Card title: inherits kit <h3> family/color; module sizes it --------- */
.kan-builders-global .sv-card-title {
  font-size: clamp(17px, 1.35vw, 21px); /* module type size (card scale) */
  font-weight: 400;                /* module weight */
  line-height: 1.3;                /* module */
  letter-spacing: 0.12em;          /* module tracking */
}

/* --- Card body: inherits kit body font; module sizes/tones it ----------- */
.kan-builders-global .sv-card-text {
  flex: 1;                         /* layout: push link to card bottom */
  font-size: 14px;                 /* module type size */
  color: rgba(43, 45, 49, 0.66);   /* non-kit muted charcoal (@66%) */
}

/* --- Drafting index (top-right) ----------------------------------------- */
.kan-builders-global .sv-index {
  position: absolute;              /* layout */
  top: 16px;                       /* layout */
  right: 18px;                     /* layout */
  font-size: 10px;                 /* module type size */
  letter-spacing: 0.18em;          /* module tracking */
  color: #AAA095;                  /* non-kit stone label tone */
}

/* --- Explore link ------------------------------------------------------- */
.kan-builders-global .sv-link {
  display: inline-flex;            /* layout */
  align-items: center;             /* layout */
  gap: 12px;                       /* layout */
  font-size: 11px;                 /* module type size */
  letter-spacing: 0.18em;          /* module tracking */
  text-transform: uppercase;       /* module treatment */
}
.kan-builders-global .sv-card:hover .sv-link { color: var(--kb-color-accent); } /* kit accent token */

/* Arrow device — module-owned (kit has no arrow element) */
.kan-builders-global .sv-arrow {
  position: relative;
  width: 30px;                     /* module decoration */
  height: 1px;                     /* module decoration */
  background: currentColor;
  transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.kan-builders-global .sv-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.kan-builders-global .sv-card:hover .sv-arrow { width: 44px; }

/* --- Scroll reveal (module-scoped, self-contained) ---------------------- */
.kan-builders-global .sv-reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.kan-builders-global .sv-reveal.sv-in { opacity: 1; transform: translateY(0); }
.kan-builders-global .sv-stagger-1 { transition-delay: 0.08s; }
.kan-builders-global .sv-stagger-2 { transition-delay: 0.16s; }

@media (prefers-reduced-motion: reduce) {
  .kan-builders-global .sv-reveal { opacity: 1; transform: none; transition: none; }
  .kan-builders-global .sv-card,
  .kan-builders-global .sv-card::after,
  .kan-builders-global .sv-icon,
  .kan-builders-global .sv-arrow { transition: none; }
}

/* --- Responsive --------------------------------------------------------- */
@media (max-width: 1000px) {
  .kan-builders-global .sv-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .kan-builders-global .sv-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e3e13dc *//* =========================================================================
   sv- Services Grid — module-specific styles only.
   Typography + color tokens come from .kan-builders-global.
   ========================================================================= */
.kan-builders-global .sv-grid {
  display: grid;                   /* layout */
  grid-template-columns: repeat(3, 1fr); /* layout */
  border-top: 1px solid rgba(43, 45, 49, 0.3);  /* non-kit hairline (charcoal @30%) */
  border-left: 1px solid rgba(43, 45, 49, 0.3); /* non-kit hairline (charcoal @30%) */
}

.kan-builders-global .sv-card {
  position: relative;              /* layout */
  display: flex;                   /* layout */
  flex-direction: column;          /* layout */
  gap: 18px;                       /* layout */
  padding: clamp(28px, 3vw, 44px) clamp(24px, 2.6vw, 38px); /* layout */
  border-right: 1px solid rgba(43, 45, 49, 0.3);  /* non-kit hairline (charcoal @30%) */
  border-bottom: 1px solid rgba(43, 45, 49, 0.3); /* non-kit hairline (charcoal @30%) */
  background: transparent;
  color: inherit;
  transition: background 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* accent underline that sweeps in on hover */
.kan-builders-global .sv-card::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 2px;
  background: var(--kb-color-accent); /* kit accent token */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.kan-builders-global .sv-card:hover { background: rgba(255, 255, 255, 0.5); } /* non-kit translucent fill */
.kan-builders-global .sv-card:hover::after { transform: scaleX(1); }

/* --- Line icon ---------------------------------------------------------- */
.kan-builders-global .sv-icon {
  width: 58px;                     /* layout */
  height: 58px;                    /* layout */
  color: #3D4046;                  /* non-kit soft charcoal (resting icon tone) */
  transition: color 0.35s ease, transform 0.35s ease;
}
.kan-builders-global .sv-card:hover .sv-icon {
  color: var(--kb-color-accent);   /* kit accent token */
  transform: translateY(-4px);
}

/* --- Card title: inherits kit <h3> family/color; module sizes it --------- */
.kan-builders-global .sv-card-title {
  font-size: clamp(17px, 1.35vw, 21px); /* module type size (card scale) */
  font-weight: 400;                /* module weight */
  line-height: 1.3;                /* module */
  letter-spacing: 0.12em;          /* module tracking */
}

/* --- Card body: inherits kit body font; module sizes/tones it ----------- */
.kan-builders-global .sv-card-text {
  flex: 1;                         /* layout: push link to card bottom */
  font-size: 14px;                 /* module type size */
  color: rgba(43, 45, 49, 0.66);   /* non-kit muted charcoal (@66%) */
}

/* --- Drafting index (top-right) ----------------------------------------- */
.kan-builders-global .sv-index {
  position: absolute;              /* layout */
  top: 16px;                       /* layout */
  right: 18px;                     /* layout */
  font-size: 10px;                 /* module type size */
  letter-spacing: 0.18em;          /* module tracking */
  color: #AAA095;                  /* non-kit stone label tone */
}

/* --- Explore link ------------------------------------------------------- */
.kan-builders-global .sv-link {
  display: inline-flex;            /* layout */
  align-items: center;             /* layout */
  gap: 12px;                       /* layout */
  font-size: 11px;                 /* module type size */
  letter-spacing: 0.18em;          /* module tracking */
  text-transform: uppercase;       /* module treatment */
}
.kan-builders-global .sv-card:hover .sv-link { color: var(--kb-color-accent); } /* kit accent token */

/* Arrow device — module-owned (kit has no arrow element) */
.kan-builders-global .sv-arrow {
  position: relative;
  width: 30px;                     /* module decoration */
  height: 1px;                     /* module decoration */
  background: currentColor;
  transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.kan-builders-global .sv-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.kan-builders-global .sv-card:hover .sv-arrow { width: 44px; }

/* --- Scroll reveal (module-scoped, self-contained) ---------------------- */
.kan-builders-global .sv-reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.kan-builders-global .sv-reveal.sv-in { opacity: 1; transform: translateY(0); }
.kan-builders-global .sv-stagger-1 { transition-delay: 0.08s; }
.kan-builders-global .sv-stagger-2 { transition-delay: 0.16s; }

@media (prefers-reduced-motion: reduce) {
  .kan-builders-global .sv-reveal { opacity: 1; transform: none; transition: none; }
  .kan-builders-global .sv-card,
  .kan-builders-global .sv-card::after,
  .kan-builders-global .sv-icon,
  .kan-builders-global .sv-arrow { transition: none; }
}

/* --- Responsive --------------------------------------------------------- */
@media (max-width: 1000px) {
  .kan-builders-global .sv-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .kan-builders-global .sv-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-74944c2 *//* =========================================================================
   sv- Services Grid — module-specific styles only.
   Typography + color tokens come from .kan-builders-global.
   ========================================================================= */
.kan-builders-global .sv-grid {
  display: grid;                   /* layout */
  grid-template-columns: repeat(3, 1fr); /* layout */
  border-top: 1px solid rgba(43, 45, 49, 0.3);  /* non-kit hairline (charcoal @30%) */
  border-left: 1px solid rgba(43, 45, 49, 0.3); /* non-kit hairline (charcoal @30%) */
}

.kan-builders-global .sv-card {
  position: relative;              /* layout */
  display: flex;                   /* layout */
  flex-direction: column;          /* layout */
  gap: 18px;                       /* layout */
  padding: clamp(28px, 3vw, 44px) clamp(24px, 2.6vw, 38px); /* layout */
  border-right: 1px solid rgba(43, 45, 49, 0.3);  /* non-kit hairline (charcoal @30%) */
  border-bottom: 1px solid rgba(43, 45, 49, 0.3); /* non-kit hairline (charcoal @30%) */
  background: transparent;
  color: inherit;
  transition: background 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* accent underline that sweeps in on hover */
.kan-builders-global .sv-card::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 2px;
  background: var(--kb-color-accent); /* kit accent token */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.kan-builders-global .sv-card:hover { background: rgba(255, 255, 255, 0.5); } /* non-kit translucent fill */
.kan-builders-global .sv-card:hover::after { transform: scaleX(1); }

/* --- Line icon ---------------------------------------------------------- */
.kan-builders-global .sv-icon {
  width: 58px;                     /* layout */
  height: 58px;                    /* layout */
  color: #3D4046;                  /* non-kit soft charcoal (resting icon tone) */
  transition: color 0.35s ease, transform 0.35s ease;
}
.kan-builders-global .sv-card:hover .sv-icon {
  color: var(--kb-color-accent);   /* kit accent token */
  transform: translateY(-4px);
}

/* --- Card title: inherits kit <h3> family/color; module sizes it --------- */
.kan-builders-global .sv-card-title {
  font-size: clamp(17px, 1.35vw, 21px); /* module type size (card scale) */
  font-weight: 400;                /* module weight */
  line-height: 1.3;                /* module */
  letter-spacing: 0.12em;          /* module tracking */
}

/* --- Card body: inherits kit body font; module sizes/tones it ----------- */
.kan-builders-global .sv-card-text {
  flex: 1;                         /* layout: push link to card bottom */
  font-size: 14px;                 /* module type size */
  color: rgba(43, 45, 49, 0.66);   /* non-kit muted charcoal (@66%) */
}

/* --- Drafting index (top-right) ----------------------------------------- */
.kan-builders-global .sv-index {
  position: absolute;              /* layout */
  top: 16px;                       /* layout */
  right: 18px;                     /* layout */
  font-size: 10px;                 /* module type size */
  letter-spacing: 0.18em;          /* module tracking */
  color: #AAA095;                  /* non-kit stone label tone */
}

/* --- Explore link ------------------------------------------------------- */
.kan-builders-global .sv-link {
  display: inline-flex;            /* layout */
  align-items: center;             /* layout */
  gap: 12px;                       /* layout */
  font-size: 11px;                 /* module type size */
  letter-spacing: 0.18em;          /* module tracking */
  text-transform: uppercase;       /* module treatment */
}
.kan-builders-global .sv-card:hover .sv-link { color: var(--kb-color-accent); } /* kit accent token */

/* Arrow device — module-owned (kit has no arrow element) */
.kan-builders-global .sv-arrow {
  position: relative;
  width: 30px;                     /* module decoration */
  height: 1px;                     /* module decoration */
  background: currentColor;
  transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.kan-builders-global .sv-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.kan-builders-global .sv-card:hover .sv-arrow { width: 44px; }

/* --- Scroll reveal (module-scoped, self-contained) ---------------------- */
.kan-builders-global .sv-reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.kan-builders-global .sv-reveal.sv-in { opacity: 1; transform: translateY(0); }
.kan-builders-global .sv-stagger-1 { transition-delay: 0.08s; }
.kan-builders-global .sv-stagger-2 { transition-delay: 0.16s; }

@media (prefers-reduced-motion: reduce) {
  .kan-builders-global .sv-reveal { opacity: 1; transform: none; transition: none; }
  .kan-builders-global .sv-card,
  .kan-builders-global .sv-card::after,
  .kan-builders-global .sv-icon,
  .kan-builders-global .sv-arrow { transition: none; }
}

/* --- Responsive --------------------------------------------------------- */
@media (max-width: 1000px) {
  .kan-builders-global .sv-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .kan-builders-global .sv-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-71d8997 */.elementor-4919 .elementor-element.elementor-element-71d8997 {
  --kb-tex-bg: #1b140e;      /* darker base (espresso / near-black) */
  --kb-tex-opacity: 1;     /* less mid-tone texture → the dark base shows through */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-33efbc6 *//* =========================================
   HEADER TITLE MODULE 
   Scoped to .kan-builders-global
========================================= */

.kan-builders-global .brand-logo {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  /* Inherits your global Montserrat heading font */
  font-family: var(--kb-font-heading, 'Montserrat', sans-serif); 
  font-size: clamp(1.4rem, 2vw, 1.8rem);
}

.kan-builders-global .brand-line-one {
  display: flex;
  gap: 6px;
}

.kan-builders-global .brand-welcome {
  font-weight: 400;
  color: var(--kb-color-dark, #111111);
}

.kan-builders-global .brand-accent,
.kan-builders-global .brand-line-two {
  font-weight: 700;
  color: var(--kb-color-accent, #E07227);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-87659b7 */.elementor-4919 .elementor-element.elementor-element-87659b7 {
  --kb-tex-bg: #1b140e;      /* darker base (espresso / near-black) */
  --kb-tex-opacity: 1;     /* less mid-tone texture → the dark base shows through */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ef676f5 *//* KB Accordion Module
   - Sharp Edges: border-radius: 0
   - Accent: Copper Orange (#C46A1E)
   - Layout: 100% outer / 1440px inner
*/

.kb-accordion-section {
    width: 100%;
    padding: 3rem 0;
}

.kb-accordion-inner {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 2rem;
}

.kb-accordion-item {
    border-bottom: 1px solid #D2C8BA; /* Subtle separator from your texture palette */
    padding: 1.5rem 0;
    transition: background 0.3s ease;
}

/* Remove default browser arrow */
.kb-accordion-trigger {
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    outline: none;
}

.kb-accordion-trigger::-webkit-details-marker {
    display: none;
}

.kb-accordion-trigger .kb-h4 {
    margin: 0;
    transition: color 0.3s ease;
    color: #2B2D31; /* Charcoal Black */
}

/* Custom Plus/Minus Icon */
.kb-icon {
    position: relative;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-left: 1rem;
}

.kb-icon::before, .kb-icon::after {
    content: '';
    position: absolute;
    background-color: #2B2D31;
    transition: all 0.3s ease;
}

.kb-icon::before { width: 100%; height: 2px; top: 9px; } /* Horizontal */
.kb-icon::after { width: 2px; height: 100%; left: 9px; } /* Vertical */

/* Toggle states */
.kb-accordion-item[open] .kb-icon::after {
    transform: rotate(90deg); /* Animates the plus to a minus */
    opacity: 0;
}

.kb-accordion-item[open] .kb-accordion-trigger .kb-h4 {
    color: #C46A1E; /* Copper Orange on open */
}

.kb-accordion-item[open] .kb-icon::before {
    background-color: #C46A1E;
}

.kb-accordion-content {
    padding-top: 1.5rem;
    padding-right: 2rem;
    color: #5a5a5a;
}

/* Responsive adjustment */
@media (max-width: 768px) {
    .kb-accordion-section { padding: 2rem 0; }
    .kb-accordion-trigger { align-items: flex-start; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-687c3af */.cc-cta{
  position: relative;
  width: 100%;
  max-width: 100%;
  /* SEAM FIX — was: padding-block: clamp(60px, 8vw, 124px); overflow: hidden; */
  padding-top:    clamp(60px, 8vw, 124px);
  padding-bottom: clamp(96px, 14vw, 160px);      /* SEAM FIX — clearance ≥ radius + 40 px */
  overflow: visible;                               /* SEAM FIX — never clip footer medallion */
  text-align: center;
  background: var(--kb-espresso, #1B140E);
}

/* ---- Background image + radial scrim ---- */
.cc-cta .cc-cta__bg{ position: absolute; inset: 0; z-index: 0; overflow: hidden; background: #241a12; }
.cc-cta .cc-cta__img{ position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
.cc-cta .cc-cta__bg::after{ content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 45%, rgba(20,13,7,.72), rgba(20,13,7,.92)); }
.cc-cta .cc-cta__bg--ember { background: linear-gradient(150deg,#864a26 0%,#2a1409 100%); }
.cc-cta .cc-cta__bg--dusk  { background: linear-gradient(155deg,#4a2e17 0%,#2a1a10 55%,#160f09 100%); }
.cc-cta .cc-cta__bg--copper{ background: linear-gradient(155deg,#6a4a33 0%,#33241a 100%); }
.cc-cta .cc-cta__code{
  position: absolute; top: 12px; left: 12px; z-index: 2;
  padding: 5px 9px;
  font-size: 9px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(242,238,231,.72);
  background: rgba(20,13,7,.42);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
}

/* ---- Inner (1440 cap) + centered content (820) ---- */
.cc-cta .cc-inner{ position: relative; z-index: 3; width: 100%; max-width: 1440px; margin-inline: auto; padding-inline: clamp(22px, 6vw, 80px); }
.cc-cta .cc-cta__in{ max-width: 820px; margin-inline: auto; }

.cc-cta .cc-eyebrow{ justify-content: center; }          /* centre the eyebrow (layout tweak only) */
.cc-cta .cc-title{ margin: 16px 0 0; color: var(--kb-ivory, #F2EEE7); text-transform: uppercase; letter-spacing: 0.02em; }
.cc-cta .cc-text{ margin: 22px auto 34px; max-width: 54ch; color: var(--kb-mist, #D8CFC4); }
.cc-cta .cc-row{ display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; }

/* ---- Reveal — no-JS-safe: hidden only once JS adds .cc-anim ---- */
.cc-cta.cc-anim .cc-reveal{ opacity: 0; transform: translateY(22px); transition: opacity var(--kb-dur-slow, 400ms) var(--kb-ease, ease), transform var(--kb-dur-slow, 400ms) var(--kb-ease, ease); }
.cc-cta.cc-anim .cc-reveal.cc-in{ opacity: 1; transform: none; }/* End custom CSS */
/* Start custom CSS *//* Hero spacing normalisation — see claude/kan-builders-service-hero-spacing.md */
.kb-service-hero .kb-service-hero__crumbs{ margin-bottom: clamp(48px, 6vw, 88px); }
.kb-service-hero .kb-service-hero__content{ margin-top: 0; }/* End custom CSS */