.elementor-kit-4{--e-global-color-primary:#0A2358;--e-global-color-secondary:#027D83;--e-global-color-text:#243746;--e-global-color-accent:#02666B;--e-global-color-kctmist:#EAF5F4;--e-global-color-kctcream:#FAF6EE;--e-global-color-kctdeep:#071A42;--e-global-color-kctline:#D3E2E1;--e-global-typography-primary-font-family:"Source Sans 3";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Source Sans 3";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Source Sans 3";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Source Sans 3";--e-global-typography-accent-font-weight:600;font-family:"Source Sans 3", sans-serif;font-size:18px;font-weight:400;line-height:1.65em;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 h1{color:#0A2358;font-family:"Source Sans 3", sans-serif;font-weight:800;}.elementor-kit-4 h2{color:#0A2358;font-family:"Source Sans 3", sans-serif;font-weight:800;}.elementor-kit-4 h3{color:#0A2358;font-family:"Source Sans 3", sans-serif;font-weight:800;}.elementor-kit-4 h4{color:#0A2358;font-family:"Source Sans 3", sans-serif;font-weight:800;}.elementor-kit-4 h5{color:#0A2358;font-family:"Source Sans 3", sans-serif;font-weight:800;}.elementor-kit-4 h6{color:#0A2358;font-family:"Source Sans 3", sans-serif;font-weight:800;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   Keighley Community Transport - site-wide design layer (Elementor Kit > Custom CSS)
   Direction: the approved emblem is three people joined in a circle, with white
   gaps between navy and teal forms. The page re-uses that: overlapping circles
   separated by white rings, large circular radii, navy as the strong voice and
   teal as the supporting accent. Layout lives in Elementor; this file holds the
   brand tokens and the few layout helpers Elementor cannot express natively.
   ========================================================================== */
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url(/wp-content/uploads/kct-fonts/SourceSans3-400.woff) format("woff")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;font-display:swap;src:url(/wp-content/uploads/kct-fonts/SourceSans3-600.woff) format("woff")}
@font-face{font-family:"Source Sans 3";font-weight:700;font-style:normal;font-display:swap;src:url(/wp-content/uploads/kct-fonts/SourceSans3-700.woff) format("woff")}
@font-face{font-family:"Source Sans 3";font-weight:800;font-style:normal;font-display:swap;src:url(/wp-content/uploads/kct-fonts/SourceSans3-800.woff) format("woff")}

:root{
  --kct-navy:#0A2358;      /* sampled from the approved logo */
  --kct-navy-deep:#071a42;
  --kct-teal:#027D83;      /* sampled from the approved logo */
  --kct-teal-ink:#02666B;  /* teal for text on pale surfaces (AA) */
  --kct-mist:#EAF5F4;
  --kct-cream:#FAF6EE;
  --kct-ink:#243746;
  --kct-line:#D3E2E1;
  --kct-white:#fff;
  --kct-focus:#0A2358;
  --kct-gutter:clamp(20px,5vw,56px);
  --kct-max:1200px;
  --kct-r:28px;
  --kct-font:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{font-family:var(--kct-font);font-size:18px;line-height:1.65;color:var(--kct-ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media (max-width:767px){body{font-size:17px}}
a{color:var(--kct-teal-ink)}
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,summary:focus-visible,.elementor-tab-title:focus-visible,.elementor-item:focus-visible{outline:3px solid var(--kct-focus);outline-offset:3px;border-radius:6px}
.kct-dark,.kct-teal-bg{--kct-focus:#fff}
.elementor-widget-text-editor,.elementor-widget-heading .elementor-heading-title{font-family:var(--kct-font)}

/* ---------- type ---------- */
.elementor .kct-h1 .elementor-heading-title,.elementor .kct-h2 .elementor-heading-title,.elementor .kct-h3 .elementor-heading-title{font-family:var(--kct-font);color:var(--kct-navy);font-weight:800;letter-spacing:-.015em;line-height:1.08;margin:0}
.elementor .kct-h1 .elementor-heading-title{font-size:clamp(2.4rem,5vw,4.2rem)}
.elementor .kct-h2 .elementor-heading-title{font-size:clamp(2rem,3.7vw,3.1rem)}
.elementor .kct-h3 .elementor-heading-title{font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.15}
.elementor .kct-on-dark .elementor-heading-title{color:#fff}
.kct-lead,.kct-lead p{font-size:clamp(1.15rem,1.7vw,1.35rem);line-height:1.55;color:var(--kct-ink)}
.kct-on-dark,.kct-on-dark p,.kct-on-dark li{color:#fff}
.kct-prose p{margin:0 0 1em}.kct-prose p:last-child{margin-bottom:0}
.kct-prose{max-width:62ch}
.kct-measure{max-width:34ch}
.kct-eyebrow{font-size:.9rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--kct-teal-ink);display:flex;align-items:flex-start;gap:.7em;margin:0;line-height:1.5}
.kct-eyebrow p{margin:0;font-size:inherit;color:inherit;letter-spacing:inherit;font-weight:inherit}
.kct-eyebrow::before{content:"";flex:none;width:.8em;height:.8em;border-radius:50%;background:var(--kct-teal);margin-top:.35em}
.kct-on-dark.kct-eyebrow,.kct-on-dark .kct-eyebrow{color:#fff}
.kct-on-dark.kct-eyebrow::before{background:#fff}

/* ---------- layout primitives ---------- */
.elementor .e-con.kct-sec{padding:clamp(60px,8vw,116px) var(--kct-gutter);position:relative;overflow:hidden}
.elementor .e-con.kct-inner{width:100%;max-width:var(--kct-max);margin-inline:auto;padding:0;position:relative;z-index:1}
.elementor .e-con.kct-grid{display:grid;align-items:center}
.elementor .e-con.kct-bg-navy{background:var(--kct-navy)}
.elementor .e-con.kct-bg-teal{background:var(--kct-teal)}
.elementor .e-con.kct-bg-mist{background:var(--kct-mist)}
.elementor .e-con.kct-bg-cream{background:var(--kct-cream)}
.elementor .e-con.kct-bg-white{background:#fff}
.elementor .e-con.kct-stack>.elementor-widget{width:100%}

/* ---------- buttons ---------- */
.elementor .kct-btn .elementor-button{font-family:var(--kct-font);font-weight:700;font-size:1.05rem;line-height:1.2;min-height:54px;padding:.85em 1.7em;border-radius:999px;border:2px solid transparent;transition:background-color .18s,color .18s,border-color .18s,transform .18s;text-align:center;display:inline-flex;align-items:center;justify-content:center}
.elementor .kct-btn .elementor-button-text{white-space:normal}
.elementor .kct-btn--primary .elementor-button{background:var(--kct-navy);color:#fff}
.elementor .kct-btn--primary .elementor-button:hover{background:var(--kct-teal-ink);color:#fff}
.elementor .kct-btn--ghost .elementor-button{background:transparent;color:var(--kct-navy);border-color:var(--kct-navy)}
.elementor .kct-btn--ghost .elementor-button:hover{background:var(--kct-navy);color:#fff}
.elementor .kct-btn--teal .elementor-button{background:var(--kct-teal);color:#fff}
.elementor .kct-btn--teal .elementor-button:hover{background:var(--kct-navy);color:#fff}
.elementor .kct-btn--light .elementor-button{background:#fff;color:var(--kct-navy)}
.elementor .kct-btn--light .elementor-button:hover{background:var(--kct-mist);color:var(--kct-navy)}
.elementor .kct-btn--outline-light .elementor-button{background:transparent;color:#fff;border-color:#fff}
.elementor .kct-btn--outline-light .elementor-button:hover{background:#fff;color:var(--kct-navy)}
.elementor .kct-btn .elementor-button:hover{transform:translateY(-1px)}
.elementor .kct-btn--sm .elementor-button{min-height:48px;padding:.65em 1.3em;font-size:1rem}
.e-con.kct-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:14px 14px;align-items:center}
.kct-textlink,.kct-textlink p{margin:0;font-weight:700}
.kct-textlink a{color:var(--kct-navy);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.kct-textlink a::after{content:" \2192";text-decoration:none;display:inline-block}
.kct-textlink a:hover{color:var(--kct-teal-ink)}
.kct-on-dark .kct-textlink a,.kct-textlink.kct-on-dark a{color:#fff}

/* ---------- header: logo + call + enquiry above, navy navigation band below ---------- */
.elementor .e-con.kct-header{background:#fff;padding:18px var(--kct-gutter);position:relative;z-index:51}
.elementor .e-con.kct-header-in{width:100%;max-width:var(--kct-max);margin-inline:auto;padding:0;flex-direction:row;align-items:center;justify-content:space-between;gap:20px}
.kct-logo img{display:block;width:clamp(210px,24vw,300px);height:auto}
.elementor .e-con.kct-header-actions{flex-direction:row;align-items:center;gap:12px 28px;width:auto;padding:0}
.kct-phone,.kct-phone p{margin:0;line-height:1.15;text-align:right}
.kct-phone small{display:block;font-size:.9rem;font-weight:600;color:var(--kct-ink);letter-spacing:.02em}
.kct-phone a{font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:800;color:var(--kct-navy);text-decoration:none;letter-spacing:-.01em}
.kct-phone a:hover{color:var(--kct-teal-ink);text-decoration:underline;text-underline-offset:4px}
@media (max-width:767px){.elementor .e-con.kct-header-actions{display:none}.elementor .e-con.kct-header{padding:12px var(--kct-gutter)}}
.elementor .e-con.kct-navband{background:var(--kct-navy);padding:0 var(--kct-gutter);position:relative;z-index:50;--kct-focus:#fff}
.elementor .e-con.kct-navband-in{width:100%;max-width:var(--kct-max);margin-inline:auto;padding:0;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}
.kct-nav{flex:1 1 auto}
.elementor .elementor-widget-nav-menu.kct-nav .elementor-nav-menu--main .elementor-item,.kct-nav .elementor-nav-menu--main .elementor-item{font-family:var(--kct-font);font-weight:700;font-size:1.05rem;color:#fff;padding:15px 18px;transition:background-color .18s,color .18s;background:transparent}
.elementor .kct-nav .elementor-nav-menu--main a.elementor-item{color:#fff}
.elementor .kct-nav .elementor-nav-menu--main a.elementor-item.elementor-item-active{background:var(--kct-teal)}
.kct-nav .elementor-nav-menu--main .elementor-item:hover,.kct-nav .elementor-nav-menu--main .elementor-item.highlighted{background:rgba(255,255,255,.14);color:#fff}
.kct-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{background:var(--kct-teal);color:#fff}
.kct-nav .elementor-nav-menu--main .sub-arrow{color:#fff;margin-left:6px}
.kct-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown{border-radius:0 0 18px 18px;overflow:hidden;box-shadow:0 18px 34px rgba(7,26,66,.22)}
.kct-nav .elementor-nav-menu--dropdown{background:#fff}
.kct-nav .elementor-nav-menu--dropdown a,.kct-nav .elementor-nav-menu--dropdown .elementor-item{font-family:var(--kct-font);font-weight:700;color:var(--kct-navy);padding:13px 22px;font-size:1.02rem;border-top:1px solid var(--kct-line);background:transparent}
.kct-nav .elementor-nav-menu--dropdown a:hover,.kct-nav .elementor-nav-menu--dropdown a.elementor-item-active{background:var(--kct-mist);color:var(--kct-navy)}
.kct-nav .elementor-nav-menu--dropdown .sub-arrow{color:var(--kct-teal-ink)}
.kct-nav .elementor-menu-toggle{background:rgba(255,255,255,.14);color:#fff;border-radius:999px;min-width:52px;height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;margin:8px 0}
.kct-nav .elementor-menu-toggle::after{content:"Menu";font-weight:700;font-size:1.02rem;color:#fff}
.kct-nav .elementor-menu-toggle svg,.kct-nav .elementor-menu-toggle i{fill:#fff;color:#fff}
.kct-nav .elementor-nav-menu--main .kct-mobile-only{display:none}
.kct-nav .elementor-nav-menu--dropdown .kct-mobile-only a{background:var(--kct-mist)}
.kct-navband-phone{display:none}
.kct-navband-phone,.kct-navband-phone p{margin:0}
.kct-navband-phone a{color:#fff;font-weight:800;font-size:1.1rem;text-decoration:none;padding:12px 4px;display:inline-block}
@media (max-width:1024px){.kct-nav .elementor-menu-toggle{margin-left:0}.kct-nav .elementor-nav-menu--dropdown{position:absolute;left:calc(var(--kct-gutter)*-1)!important;width:100vw!important}}
@media (max-width:767px){.elementor .e-con.kct-navband-in .kct-navband-phone{display:block}}

/* ---------- hero ---------- */
.elementor .e-con.kct-hero{background:#fff;padding:clamp(36px,5vw,76px) var(--kct-gutter) clamp(64px,8vw,112px);position:relative;overflow:hidden}
.kct-hero::before{inset:auto;height:auto;transform:none;content:"";position:absolute;width:min(980px,118vw);aspect-ratio:1;border-radius:50%;background:var(--kct-mist);right:-20%;top:-34%;z-index:0}
.kct-hero::after{inset:auto;height:auto;transform:none;content:"";position:absolute;width:min(300px,52vw);aspect-ratio:1;border-radius:50%;border:2px solid var(--kct-teal);opacity:.5;left:-9%;bottom:-16%;z-index:0}
.elementor .e-con.kct-hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(36px,5vw,76px)}
.kct-hero-copy{gap:0}
.kct-hero-copy>.elementor-widget{margin:0}
.kct-hero-copy .kct-h1{margin:18px 0 22px}
.kct-hero-copy .kct-lead{margin:0 0 30px;max-width:36em}
.kct-hero-copy .kct-actions{margin-bottom:22px}
@media (max-width:1024px){.elementor .e-con.kct-hero-grid{grid-template-columns:minmax(0,1fr)}.kct-hero::before{inset:auto;height:auto;transform:none;right:-40%;top:-12%}}
@media (max-width:767px){.kct-hero-copy .kct-actions .elementor-widget{width:100%}.kct-hero-copy .kct-btn .elementor-button{width:100%}}

/* the circle composition: three linked circles, white rings between them (the emblem) */
.elementor .e-con.kct-orbit{position:relative;width:100%;max-width:540px;aspect-ratio:1/1;margin-inline:auto;display:block;padding:0}
.elementor .e-con.kct-orb{position:absolute;width:57%;aspect-ratio:1/1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:7%;gap:4px;box-shadow:0 0 0 9px #fff;transition:transform .25s ease}
.kct-orb--a{top:1.5%;left:21.5%;background:var(--kct-teal);z-index:1}
.kct-orb--b{bottom:1.5%;left:1.5%;background:var(--kct-navy);z-index:2}
.kct-orb--c{bottom:1.5%;right:1.5%;background:var(--kct-navy-deep);z-index:2}
.kct-orb:hover{transform:scale(1.035)}
.kct-orb .elementor-widget{margin:0;width:auto}
.elementor .kct-orb .elementor-heading-title{color:#fff;font-weight:800;font-size:clamp(1.35rem,2.7vw,1.9rem);line-height:1.1;margin:0}
.kct-orb .elementor-heading-title a{color:#fff;text-decoration:none}
.kct-orb .elementor-heading-title a::after{content:"";position:absolute;inset:0;border-radius:50%}
.kct-orb .elementor-heading-title a:focus-visible{outline:none}
.kct-orb:focus-within{outline:4px solid var(--kct-navy);outline-offset:6px}
.kct-orb p,.kct-orb-cap{margin:0;color:#fff;font-size:1rem;line-height:1.3;font-weight:600}
@media (max-width:767px){.elementor .e-con.kct-orbit{max-width:380px}.elementor .e-con.kct-orb{box-shadow:0 0 0 6px #fff}.kct-orb p,.kct-orb-cap{font-size:.95rem}}

/* ---------- trust strip ---------- */
.elementor .e-con.kct-strip{background:var(--kct-navy);padding:0 var(--kct-gutter);position:relative}
.elementor .e-con.kct-strip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.kct-strip-item{padding:26px 22px 26px 26px;border-left:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;gap:2px}
.kct-strip-item:first-child{border-left:0;padding-left:0}
.kct-strip-item .elementor-widget{margin:0}
.kct-strip-item .kct-num,.kct-strip-item .kct-num p{margin:0;color:#fff;font-weight:800;font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.1}
.kct-strip-item .kct-lab,.kct-strip-item .kct-lab p{margin:0;color:#fff;font-size:1rem;opacity:.92;line-height:1.35}
@media (max-width:1024px){.elementor .e-con.kct-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kct-strip-item:nth-child(3){border-left:0;padding-left:0}.kct-strip-item:nth-child(n+3){border-top:1px solid rgba(255,255,255,.22)}}
@media (max-width:520px){.elementor .e-con.kct-strip-grid{grid-template-columns:1fr}.kct-strip-item{border-left:0;padding:18px 0;border-top:1px solid rgba(255,255,255,.22)}.kct-strip-item:first-child{border-top:0}.kct-strip-item:nth-child(3){padding-left:0}}

/* ---------- about ---------- */
.elementor .e-con.kct-about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,6vw,96px);align-items:start}
.kct-about-grid .kct-h2{margin:16px 0 0}
.kct-about-text .kct-lead{margin:0 0 20px}
.kct-about-text .kct-prose{margin:0 0 22px}
@media (max-width:1024px){.elementor .e-con.kct-about-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- ways (three pathways, deliberately unequal) ---------- */
.elementor .e-con.kct-ways{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto auto;gap:22px;align-items:stretch}
.elementor .e-con.kct-panel{border-radius:var(--kct-r);padding:clamp(28px,3.4vw,48px);display:flex;flex-direction:column;gap:0;justify-content:flex-start}
.kct-panel .elementor-widget{margin:0}
.kct-panel .kct-eyebrow{margin-bottom:14px}
.kct-panel .kct-h3{margin-bottom:12px}
.kct-panel .kct-prose{margin-bottom:22px}
.kct-panel .kct-btn,.kct-panel .kct-textlink{margin-top:auto}
.kct-panel--a{grid-row:1/span 2;background:var(--kct-navy);border-radius:150px var(--kct-r) var(--kct-r) var(--kct-r)!important;padding-top:clamp(56px,7vw,110px)!important}
.kct-panel--a .kct-h3 .elementor-heading-title{color:#fff;font-size:clamp(1.9rem,3.2vw,2.6rem)}
.kct-panel--a p,.kct-panel--a li{color:#fff}
.kct-panel--a .kct-eyebrow{color:#fff}.kct-panel--a .kct-eyebrow::before{background:#7fd0d3}
.kct-panel--a ul{margin:0 0 26px;padding:0;list-style:none}
.kct-panel--a li{padding:9px 0 9px 28px;position:relative;border-top:1px solid rgba(255,255,255,.2)}
.kct-panel--a li::before{content:"";position:absolute;left:0;top:1.05em;width:12px;height:12px;border-radius:50%;background:#7fd0d3}
.kct-panel--b{background:var(--kct-mist);border-radius:var(--kct-r) 110px var(--kct-r) var(--kct-r)!important}
.kct-panel--c{background:#fff;border:2px solid var(--kct-teal);border-radius:var(--kct-r) var(--kct-r) 110px var(--kct-r)!important}
@media (max-width:1024px){.elementor .e-con.kct-ways{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.kct-panel--a{grid-row:auto;border-radius:110px var(--kct-r) var(--kct-r) var(--kct-r)!important;padding-top:64px!important}.kct-panel--b{border-radius:var(--kct-r) 80px var(--kct-r) var(--kct-r)!important}.kct-panel--c{border-radius:var(--kct-r) var(--kct-r) 80px var(--kct-r)!important}}
.kct-sec-head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(30px,4vw,52px);max-width:46rem}
.kct-sec-head .elementor-widget{margin:0}

/* ---------- group feature ---------- */
.elementor .e-con.kct-feature-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(36px,6vw,96px)}
.elementor .e-con.kct-bigring{position:relative;width:100%;max-width:440px;aspect-ratio:1/1;margin-inline:auto;border-radius:50%;background:var(--kct-teal);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12%;box-shadow:0 0 0 12px var(--kct-mist),0 0 0 15px var(--kct-teal)}
.kct-bigring::after{inset:auto;height:auto;transform:none;content:"";position:absolute;width:34%;aspect-ratio:1;border-radius:50%;background:var(--kct-navy);right:-9%;bottom:-11%;box-shadow:0 0 0 9px var(--kct-mist)}
.kct-bigring .elementor-widget{margin:0;width:auto;position:relative;z-index:1}
.kct-bigring .kct-bignum,.kct-bigring .kct-bignum p{font-size:clamp(3.6rem,8vw,6.2rem);font-weight:800;line-height:.95;color:#fff;margin:0;letter-spacing:-.03em}
.kct-bigring .kct-bigcap,.kct-bigring .kct-bigcap p{color:#fff;font-weight:700;font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.2;margin:8px 0 0}
.kct-feature-copy .kct-h2{margin:14px 0 18px}
.kct-feature-copy .kct-prose{margin-bottom:8px}
.kct-linklist ul{list-style:none;margin:22px 0 0;padding:0}
.kct-linklist li{margin:0;border-top:1px solid var(--kct-line)}
.kct-linklist li:last-child{border-bottom:1px solid var(--kct-line)}
.kct-linklist a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 4px;text-decoration:none;color:var(--kct-navy);font-weight:800;font-size:1.12rem;line-height:1.25;transition:padding .18s,background-color .18s}
.kct-linklist a::after{content:"\2192";flex:none;color:var(--kct-teal-ink);font-size:1.3rem;transition:transform .18s}
.kct-linklist a:hover{background:rgba(255,255,255,.7);padding-left:14px}
.kct-linklist a:hover::after{transform:translateX(4px)}
.kct-linklist small{display:block;font-weight:400;font-size:1rem;color:var(--kct-ink);margin-top:2px}
@media (max-width:1024px){.elementor .e-con.kct-feature-grid{grid-template-columns:minmax(0,1fr)}.elementor .e-con.kct-bigring{max-width:340px}}

/* ---------- accessible section ---------- */
.elementor .e-con.kct-access-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.kct-access-grid .kct-h2{margin:14px 0 18px}
.kct-access-grid .kct-prose{margin-bottom:24px}
ol.kct-steps{list-style:none;counter-reset:s;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
ol.kct-steps>li{counter-increment:s;position:relative;padding:0 0 0 70px;min-height:52px}
ol.kct-steps>li::before{content:counter(s);position:absolute;left:0;top:0;width:52px;height:52px;border-radius:50%;background:var(--kct-navy);color:#fff;font-weight:800;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 5px #fff,0 0 0 7px var(--kct-teal)}
ol.kct-steps>li:nth-child(2)::before{background:var(--kct-teal)}
ol.kct-steps strong{display:block;color:var(--kct-navy);font-size:1.2rem;font-weight:800;line-height:1.25;margin-bottom:3px}
ol.kct-steps span{display:block}
@media (max-width:1024px){.elementor .e-con.kct-access-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- pricing (navy) ---------- */
.elementor .e-con.kct-pricing-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,6vw,96px);align-items:start}
.kct-pricing-grid .kct-h2{margin:14px 0 18px}
.kct-pricing-grid .kct-prose{margin-bottom:26px}
.kct-illus{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);border-radius:22px;padding:22px 24px;margin-bottom:28px}
.kct-illus p{margin:0;color:#fff;font-size:1.02rem}
.kct-illus strong{color:#fff}
.kct-prices{display:flex;flex-direction:column}
.kct-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;padding:18px 0;border-top:1px solid rgba(255,255,255,.25);flex-wrap:wrap}
.kct-price-row:first-child{border-top:0;padding-top:0}
.kct-price-fig{font-size:clamp(2.6rem,5vw,3.9rem);font-weight:800;color:#fff;line-height:1;letter-spacing:-.02em}
.kct-price-lab{color:#fff;font-weight:600;font-size:1.1rem;text-align:right;max-width:17em}
.kct-sessions{margin-top:14px;background:#fff;border-radius:22px;padding:8px 24px}
.kct-sessions h3{color:var(--kct-navy);font-size:1.15rem;font-weight:800;margin:14px 0 4px}
.kct-sessions dl{margin:0}
.kct-sessions .r{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--kct-line);color:var(--kct-ink)}
.kct-sessions .r:first-of-type{border-top:0}
.kct-sessions dt{font-weight:800;color:var(--kct-navy)}
.kct-sessions dd{margin:0;font-weight:600}
@media (max-width:1024px){.elementor .e-con.kct-pricing-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.kct-price-lab{text-align:left;max-width:none}}

/* ---------- booking process ---------- */
.elementor .e-con.kct-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;align-items:start;position:relative}
.kct-step{position:relative;display:flex;flex-direction:column;gap:0}
.kct-step .elementor-widget{margin:0}
.kct-step .kct-stepno{width:64px;height:64px;border-radius:50%;background:var(--kct-navy);color:#fff;font-weight:800;font-size:1.6rem;display:flex;align-items:center;justify-content:center;margin-bottom:18px;box-shadow:0 0 0 6px var(--kct-cream),0 0 0 8px var(--kct-teal);position:relative;z-index:1}
.kct-step:nth-child(even) .kct-stepno{background:var(--kct-teal)}
.kct-step .kct-stepno p{margin:0;color:#fff}
.kct-step .kct-h3 .elementor-heading-title{font-size:1.3rem;margin-bottom:8px}
.kct-step p{margin:0}
.kct-step:not(:last-child)::after{content:"";position:absolute;top:31px;left:78px;right:-14px;height:2px;background:repeating-linear-gradient(90deg,var(--kct-teal) 0 8px,transparent 8px 16px);opacity:.55}
@media (max-width:1024px){.elementor .e-con.kct-process{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:38px}.kct-step:not(:last-child)::after{display:none}}
@media (max-width:600px){.elementor .e-con.kct-process{grid-template-columns:minmax(0,1fr)}}
.kct-note{margin-top:30px;padding:20px 24px;border-radius:20px;background:#fff;border:1px solid var(--kct-line);max-width:52rem}
.kct-note p{margin:0}

/* ---------- coverage ---------- */
.elementor .e-con.kct-cover-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,6vw,92px)}
.kct-cover-grid .kct-h2{margin:14px 0 18px}
.kct-pills ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.kct-pills a{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;border:2px solid var(--kct-navy);color:var(--kct-navy);font-weight:800;text-decoration:none;font-size:1.08rem;line-height:1.1;transition:background-color .18s,color .18s}
.kct-pills a::after{content:"\2192";color:var(--kct-teal-ink);transition:color .18s}
.kct-pills a:hover{background:var(--kct-navy);color:#fff}.kct-pills a:hover::after{color:#fff}
.kct-pills li:first-child a{background:var(--kct-navy);color:#fff}.kct-pills li:first-child a::after{color:#fff}
.kct-pills li:first-child a:hover{background:var(--kct-teal-ink);border-color:var(--kct-teal-ink)}
.kct-cover-visual{position:relative;padding:clamp(26px,4vw,48px);border-radius:var(--kct-r);background:var(--kct-mist)}
.kct-cover-visual::before{inset:auto;height:auto;transform:none;content:"";position:absolute;width:24%;aspect-ratio:1;border-radius:50%;border:2px solid var(--kct-teal);opacity:.45;right:-4%;bottom:-12%;pointer-events:none;z-index:0}
.kct-cover-visual .elementor-widget{position:relative}
.kct-cover-visual .kct-prose{margin:20px 0 0;font-size:1.02rem}
@media (max-width:1024px){.elementor .e-con.kct-cover-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- volunteer (teal) ---------- */
.elementor .e-con.kct-vol-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,92px)}
.kct-vol-grid .kct-h2 .elementor-heading-title{color:#fff}
.kct-vol-grid .kct-h2{margin:14px 0 18px}
.kct-vol-grid .kct-prose{margin-bottom:26px;color:#fff}
.kct-vol-grid .kct-prose p{color:#fff}
.elementor .e-con.kct-ring{position:relative;width:100%;max-width:400px;aspect-ratio:1/1;margin-inline:auto;border-radius:50%;border:14px solid rgba(255,255,255,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12%}
.kct-ring::before{inset:auto;height:auto;transform:none;content:"";position:absolute;width:38%;aspect-ratio:1;border-radius:50%;background:var(--kct-navy);left:-11%;top:8%;box-shadow:0 0 0 8px var(--kct-teal)}
.kct-ring .elementor-widget{margin:0;width:auto}
.kct-ring .kct-bignum,.kct-ring .kct-bignum p{font-size:clamp(3.6rem,8vw,5.6rem);line-height:.95;font-weight:800;color:#fff;margin:0}
.kct-ring .kct-bigcap,.kct-ring .kct-bigcap p{color:#fff;font-weight:700;font-size:1.2rem;line-height:1.25;margin:8px 0 0}
@media (max-width:1024px){.elementor .e-con.kct-vol-grid{grid-template-columns:minmax(0,1fr)}.elementor .e-con.kct-ring{max-width:300px}}

/* ---------- FAQ ---------- */
.elementor .e-con.kct-faq-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(30px,6vw,88px);align-items:start}
.kct-faq-grid .kct-h2{margin:14px 0 18px}
.elementor-widget-accordion .elementor-accordion-item{border:0!important;border-top:1px solid var(--kct-line)!important}
.elementor-widget-accordion .elementor-accordion-item:last-child{border-bottom:1px solid var(--kct-line)!important}
.elementor-widget-accordion .elementor-tab-title{padding:20px 4px!important;font-family:var(--kct-font);font-weight:800;font-size:1.15rem;line-height:1.3;color:var(--kct-navy)!important;display:flex;align-items:center;gap:16px}
.elementor-widget-accordion .elementor-tab-title a{color:var(--kct-navy)!important;text-decoration:none;font-weight:800}
.elementor-widget-accordion .elementor-accordion-icon{flex:none;color:var(--kct-teal-ink)!important;order:2;margin-left:auto}
.elementor-widget-accordion .elementor-tab-title.elementor-active{color:var(--kct-navy)!important}
.elementor-widget-accordion .elementor-tab-content{padding:0 4px 24px!important;border:0!important;font-size:1.05rem;color:var(--kct-ink)}
.elementor-widget-accordion .elementor-tab-content p{margin:0 0 .8em}
@media (max-width:1024px){.elementor .e-con.kct-faq-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- closing CTA ---------- */
.elementor .e-con.kct-cta{background:var(--kct-navy);padding:clamp(64px,8vw,112px) var(--kct-gutter);position:relative;overflow:hidden}
.kct-cta::before{inset:auto;height:auto;transform:none;content:"";position:absolute;width:min(620px,90vw);aspect-ratio:1;border-radius:50%;background:var(--kct-teal);right:-16%;top:-52%;opacity:.9}
.kct-cta::after{inset:auto;height:auto;transform:none;content:"";position:absolute;width:min(300px,60vw);aspect-ratio:1;border-radius:50%;border:2px solid rgba(255,255,255,.4);left:-6%;bottom:-48%}
.kct-cta-grid{display:flex;flex-direction:column;gap:0;max-width:46rem}
.kct-cta-grid .elementor-widget{margin:0}
.kct-cta .kct-h2{margin:14px 0 14px}
.kct-cta .kct-lead,.kct-cta .kct-lead p{color:#fff;margin:0 0 24px}
.kct-bigphone,.kct-bigphone p{margin:0 0 26px;font-size:clamp(2rem,5vw,3.4rem);font-weight:800;line-height:1.05;letter-spacing:-.02em}
.kct-bigphone a{color:#fff;text-decoration:none;border-bottom:4px solid #7fd0d3}
.kct-bigphone a:hover{border-bottom-color:#fff}

/* ---------- footer ---------- */
.elementor .e-con.kct-footer{background:var(--kct-navy-deep);padding:clamp(52px,6vw,84px) var(--kct-gutter) 28px;color:#fff;--kct-focus:#fff}
.elementor .e-con.kct-foot-grid{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px);align-items:start}
.kct-logo-card{display:inline-block;background:#fff;border-radius:20px;padding:16px 20px;margin-bottom:18px}
.kct-logo-card img{display:block;width:min(260px,100%);height:auto}
.kct-footer p,.kct-footer li,.kct-footer address{color:#fff;font-size:1rem;margin:0 0 .5em;font-style:normal;line-height:1.55}
.kct-footer h2,.kct-footer .elementor-heading-title{color:#fff;font-size:1.05rem;font-weight:800;letter-spacing:.04em;margin:0 0 14px}
.kct-footer ul{list-style:none;margin:0;padding:0}
.kct-footer li{margin:0 0 .35em}
.kct-footer a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
.kct-footer a:hover{text-decoration-color:#7fd0d3}
.kct-footer .elementor-widget{margin:0}
.kct-foot-base{border-top:1px solid rgba(255,255,255,.2);margin-top:clamp(30px,4vw,52px);padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between}
.kct-foot-base p{font-size:.95rem;margin:0}
.kct-foot-base ul{display:flex;gap:6px 22px;flex-wrap:wrap}
.kct-foot-base li{margin:0}
@media (max-width:1024px){.elementor .e-con.kct-foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.elementor .e-con.kct-foot-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- guard: no horizontal scroll from decorative circles ---------- */
.elementor-location-header,.elementor-location-footer,.elementor-location-single{overflow-x:clip}

/* ---------- rhythm fixes from first render review ---------- */
.elementor .elementor-widget.kct-h2{margin-block:14px 24px}
.elementor .kct-sec-head .elementor-widget.kct-h2{margin-block:0}
.kct-step .elementor-widget.kct-h3{margin-bottom:8px}
.elementor .kct-footer .elementor-heading-title,.elementor .kct-footer h2{color:#fff;font-size:1.05rem;font-weight:800;letter-spacing:.04em;margin:0 0 14px}
.kct-textlink a::after{margin-left:.3em}
.kct-bigring .kct-bignum small,.kct-ring .kct-bignum small{display:block;font-size:.34em;font-weight:700;letter-spacing:0;line-height:1.1;margin-bottom:.15em}
.elementor .e-con.kct-orb--b{padding-right:21%}
.elementor .e-con.kct-orb--c{padding-left:21%}
.kct-orb--a{padding-bottom:12%!important}

.elementor .kct-hero-copy .elementor-widget.kct-eyebrow{margin-bottom:0}
.elementor .kct-hero-copy .elementor-widget.kct-h1{margin:18px 0 22px}
.elementor .kct-hero-copy .elementor-widget.kct-lead{margin:0 0 30px}
.elementor .kct-hero-copy .e-con.kct-actions{margin-bottom:22px}
.elementor .kct-cta .elementor-widget.kct-lead{margin:0 0 24px}
.elementor .kct-step .elementor-widget.kct-stepno{margin-bottom:18px}
@media (max-width:600px){.kct-price-row{flex-direction:column;align-items:flex-start;gap:4px}.kct-price-lab{text-align:left;max-width:none}}/* End custom CSS */