/* ============================================================
   ClinicBlocks — "Coastal Care" default skin.
   Teal #007898 · Orange #F0731F · Flame #FDB913 · Paper #FDFDFB
   Every value below is overridable per-widget from Elementor.
============================================================ */
.cbk{
	--cbk-primary:#007898;
	--cbk-primary-deep:#045e78;
	--cbk-mist:#e6f3f7;
	--cbk-accent:#f0731f;
	--cbk-accent-soft:#feeede;
	--cbk-grad-a:#ff9447;
	--cbk-grad-b:#f0731f;
	--cbk-success:#1fae54;
	--cbk-ink:#0d2b33;
	--cbk-ink-soft:#3d5a63;
	--cbk-line:#e3ebe9;
	--cbk-dark-a:#053c50;
	--cbk-dark-b:#086e8c;
	--cbk-show-a:#0d2b33;
	--cbk-show-b:#075b75;
	--cbk-ovl-a:rgba(3,40,54,.94);
	--cbk-ovl-b:rgba(4,58,76,.78);
	--cbk-ovl-c:rgba(4,58,76,.28);
	--cbk-band-a:#053c50;
	--cbk-band-b:#086e8c;
	--cbk-radius:20px;
	--cbk-shadow-sm:0 2px 10px rgba(13,43,51,.06);
	--cbk-shadow-md:0 12px 32px rgba(13,43,51,.10);
	--cbk-shadow-lg:0 24px 60px rgba(13,43,51,.14);

	font-family:"Manrope",sans-serif;
	color:var(--cbk-ink);
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
	padding:84px 0;
	position:relative;
}
.cbk *,.cbk *::before,.cbk *::after{box-sizing:border-box}
.cbk a{text-decoration:none;color:inherit}
.cbk ul{list-style:none;margin:0;padding:0}
.cbk p{margin:0}
.cbk-container{width:100%;max-width:1180px;margin:0 auto;padding-left:22px;padding-right:22px}

/* ---------- shared section header ---------- */
.cbk-head{margin-bottom:46px}
.cbk-head.cbk-center{text-align:center}
.cbk-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--cbk-primary);margin-bottom:14px}
.cbk-kicker::before{content:"";width:26px;height:2px;background:var(--cbk-accent);border-radius:2px}
.cbk-center .cbk-kicker::after{content:"";width:26px;height:2px;background:var(--cbk-accent);border-radius:2px}
.cbk-title{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.18;letter-spacing:-.01em;margin:0}
.cbk-lead{color:var(--cbk-ink-soft);font-size:1.05rem;max-width:640px;margin-top:14px}
.cbk-center .cbk-lead{margin-left:auto;margin-right:auto}

/* ---------- shared buttons ---------- */
.cbk-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:.95rem;border:none;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}
.cbk-btn:hover{transform:translateY(-2px)}
.cbk-btn-primary{background:linear-gradient(135deg,var(--cbk-grad-a),var(--cbk-grad-b));color:#fff;box-shadow:0 10px 24px rgba(240,115,31,.32)}
.cbk-btn-success{background:var(--cbk-success);color:#fff;box-shadow:0 10px 24px rgba(31,174,84,.30)}
.cbk-btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.cbk-btn-ghost:hover{background:rgba(255,255,255,.24)}
.cbk-btn-solid{background:var(--cbk-primary);color:#fff;box-shadow:0 10px 24px rgba(0,120,152,.32)}
.cbk-btn-solid:hover{background:var(--cbk-primary-deep)}
.cbk-ctas{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}
.cbk-ctas-center{justify-content:center}

/* ---------- shared placeholder/note box ---------- */
.cbk-note{margin:34px auto 0;max-width:680px;border:2px dashed #b5d8e2;border-radius:18px;background:var(--cbk-mist);padding:18px 24px;color:var(--cbk-ink-soft);font-size:.88rem}
.cbk-note strong{color:var(--cbk-ink);display:block;margin-bottom:3px}
.cbk-note-block{margin:18px 0 0;max-width:none}

/* ============================================================
   1) HERO SLIDER
============================================================ */
.cbk-hero{padding:0;background:#032836;color:#fff;overflow:hidden}
.cbk-slides{position:relative;min-height:640px;overflow:hidden}
.cbk-slide{position:absolute;inset:0;display:flex;align-items:center;background-size:cover;background-position:center;transform:translateX(100%);transition:transform .85s cubic-bezier(.77,0,.18,1);will-change:transform}
.cbk-slide.is-active{transform:translateX(0);z-index:2}
.cbk-slide.leaving-left{transform:translateX(-100%)}
.cbk-slide.leaving-right{transform:translateX(100%)}
.cbk-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--cbk-ovl-a) 0%,var(--cbk-ovl-b) 45%,var(--cbk-ovl-c) 100%)}
.cbk-slide-inner{position:relative;z-index:1;max-width:680px}
.cbk-eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:8px 16px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 22px;color:#ffd9b3}
.cbk-slide-title{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.18;letter-spacing:-.01em;margin:0 0 20px;color:#fff}
.cbk-slide-title em{font-style:italic;color:#ffbe6e}
.cbk-slide-desc{color:#d8eaf0;max-width:560px;font-size:1.02rem}
.cbk-hero-bottom{position:relative;z-index:5;padding:0 0 34px;margin-top:-110px}
.cbk-nav{display:flex;align-items:center;gap:18px}
.cbk-arrow{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;transition:background .3s,transform .3s,border-color .3s}
.cbk-arrow svg{width:44%;height:44%}
.cbk-arrow:hover{background:var(--cbk-accent);border-color:var(--cbk-accent);transform:scale(1.08)}
.cbk-dots{display:flex;gap:9px}
.cbk-dot{width:30px;height:4px;border-radius:4px;background:rgba(255,255,255,.28);border:none;cursor:pointer;padding:0;transition:.3s}
.cbk-dot.is-active{background:var(--cbk-accent);width:46px}

/* ============================================================
   2) ABOUT
============================================================ */
.cbk-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.cbk-about-grid.cbk-img-right .cbk-about-visual{order:2}
.cbk-about-visual{position:relative}
.cbk-about-img{width:100%;display:block;border-radius:28px;box-shadow:var(--cbk-shadow-md)}
.cbk-float{position:absolute;background:#fff;border-radius:18px;box-shadow:var(--cbk-shadow-md);padding:15px 19px;display:flex;align-items:center;gap:12px;border:1px solid var(--cbk-line)}
.cbk-float-top-left{top:24px;left:-26px}
.cbk-float-bottom-right{bottom:30px;right:-22px}
.cbk-float-dot{width:12px;height:12px;border-radius:50%;background:var(--cbk-accent);flex:none}
.cbk-float strong{display:block;font-size:.92rem;line-height:1.25;color:var(--cbk-ink)}
.cbk-float span{font-size:.74rem;color:var(--cbk-ink-soft)}
.cbk-about-copy .cbk-head{margin-bottom:16px}
.cbk-about-copy p{color:var(--cbk-ink-soft);margin:16px 0}
.cbk-pills{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 28px}
.cbk-pill{font-size:.8rem;font-weight:700;padding:8px 15px;border-radius:999px;background:var(--cbk-mist);color:var(--cbk-primary-deep);border:1px solid #cfe6ee}

/* ============================================================
   3) FEATURE GRID
============================================================ */
.cbk-feat-layout{display:grid;gap:48px;align-items:start}
.cbk-feat-layout.cbk-has-show{grid-template-columns:340px 1fr}
.cbk-show{background:linear-gradient(165deg,var(--cbk-show-a),var(--cbk-show-b));color:#fff;border-radius:26px;padding:36px 32px;box-shadow:var(--cbk-shadow-lg)}
.cbk-show h3{font-family:"Fraunces",Georgia,serif;font-size:1.55rem;font-weight:600;margin:0 0 10px}
.cbk-show>p{color:#cfe6ec;font-size:.92rem}
.cbk-show-list{margin-top:26px}
.cbk-show-item{display:flex;gap:14px;padding:15px 0;border-top:1px solid rgba(255,255,255,.14)}
.cbk-show-star{color:#ffbe6e;flex:none}
.cbk-show-item strong{display:block;font-size:.95rem}
.cbk-show-item span{font-size:.8rem;color:#bdd6de}
.cbk-feat-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}
.cbk-feat-card{background:#fff;border:1px solid var(--cbk-line);border-radius:var(--cbk-radius);padding:23px 22px;display:flex;gap:15px;align-items:flex-start;box-shadow:var(--cbk-shadow-sm);transition:transform .3s,box-shadow .3s}
.cbk-feat-card:hover{transform:translateY(-4px);box-shadow:var(--cbk-shadow-md)}
.cbk-feat-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:none;background:var(--cbk-mist);color:var(--cbk-primary);font-size:20px}
.cbk-feat-ic svg{width:21px;height:21px;fill:currentColor}
.cbk-feat-card strong{font-size:.97rem;display:block;margin-bottom:3px}
.cbk-feat-card span{font-size:.82rem;color:var(--cbk-ink-soft)}

/* ============================================================
   4) SERVICE CARDS
============================================================ */
.cbk-serv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.cbk-serv-card{background:#fff;border:1px solid var(--cbk-line);border-radius:22px;overflow:hidden;box-shadow:var(--cbk-shadow-sm);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.cbk-serv-card:hover{transform:translateY(-5px);box-shadow:var(--cbk-shadow-md)}
.cbk-serv-top{padding:24px 24px 0;display:flex;align-items:center;gap:14px}
.cbk-serv-ic{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;flex:none;background:linear-gradient(140deg,var(--cbk-mist),#eaf2f9);color:var(--cbk-primary);font-size:22px}
.cbk-serv-ic svg{width:24px;height:24px;fill:currentColor}
.cbk-serv-card h3{font-family:"Fraunces",Georgia,serif;font-size:1.1rem;font-weight:600;line-height:1.3;margin:0}
.cbk-serv-body{padding:15px 24px 22px;flex:1;display:flex;flex-direction:column}
.cbk-serv-sum{font-size:.88rem;color:var(--cbk-ink-soft)}
.cbk-serv-detail{max-height:0;overflow:hidden;transition:max-height .45s ease}
.cbk-serv-card.is-open .cbk-serv-detail{max-height:520px}
.cbk-serv-detail h4{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cbk-accent);margin:14px 0 7px;font-weight:800}
.cbk-serv-detail li{font-size:.86rem;color:var(--cbk-ink-soft);display:flex;gap:8px;align-items:flex-start;margin-bottom:5px}
.cbk-serv-detail li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cbk-primary);flex:none;margin-top:8px}
.cbk-serv-toggle{margin-top:auto;padding:15px 0 0;background:none;border:none;cursor:pointer;font-weight:800;font-size:.82rem;color:var(--cbk-primary);display:inline-flex;align-items:center;gap:6px;letter-spacing:.04em;text-transform:uppercase;font-family:inherit}
.cbk-serv-toggle svg{width:15px;height:15px;transition:transform .3s}
.cbk-serv-card.is-open .cbk-serv-toggle svg{transform:rotate(180deg)}

/* ============================================================
   5) ICON PANELS (dark)
============================================================ */
.cbk-dark-panels{background:linear-gradient(180deg,var(--cbk-dark-a),var(--cbk-dark-b));color:#fff}
.cbk-dark-panels .cbk-kicker{color:#ffbe6e}
.cbk-dark-panels .cbk-title{color:#fff}
.cbk-dark-panels .cbk-lead{color:#cfe6ec}
.cbk-panels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.cbk-panel{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:27px 24px;transition:background .3s,transform .3s}
.cbk-panel:hover{background:rgba(255,255,255,.13);transform:translateY(-4px)}
.cbk-panel-ic{width:46px;height:46px;border-radius:14px;background:rgba(255,190,110,.16);color:#ffbe6e;display:grid;place-items:center;margin-bottom:15px;font-size:20px}
.cbk-panel-ic svg{width:22px;height:22px;fill:currentColor}
.cbk-panel strong{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1rem;display:block;margin-bottom:5px}
.cbk-panel span{font-size:.84rem;color:#c2dde6}

/* ============================================================
   6) TEAM CAROUSEL  — see the consolidated block near the end
      of this file (all team rules live in one place now).
============================================================ */

/* ============================================================
   7) FAQ
============================================================ */
.cbk-faq-wrap{max-width:780px;margin:0 auto;display:grid;gap:13px}
.cbk-faq{background:#fff;border:1px solid var(--cbk-line);border-radius:18px;overflow:hidden;box-shadow:var(--cbk-shadow-sm)}
.cbk-faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:21px 24px;background:none;border:none;cursor:pointer;text-align:left;font-family:"Fraunces",Georgia,serif;font-size:1.05rem;font-weight:600;color:var(--cbk-ink)}
.cbk-faq-chev{width:30px;height:30px;border-radius:50%;background:var(--cbk-mist);color:var(--cbk-primary);display:grid;place-items:center;flex:none;transition:transform .3s,background .3s}
.cbk-faq-chev svg{width:15px;height:15px}
.cbk-faq.is-open .cbk-faq-chev{transform:rotate(180deg);background:var(--cbk-accent-soft);color:var(--cbk-accent)}
.cbk-faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.cbk-faq.is-open .cbk-faq-a{max-height:240px}
.cbk-faq-a p{padding:0 24px 22px;color:var(--cbk-ink-soft);font-size:.94rem}

/* ============================================================
   8) TESTIMONIALS
============================================================ */
.cbk-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.cbk-t-card{background:#fff;border-radius:22px;padding:30px 27px;border:1px solid var(--cbk-line);box-shadow:var(--cbk-shadow-sm);transition:transform .3s,box-shadow .3s}
.cbk-t-card:hover{transform:translateY(-4px);box-shadow:var(--cbk-shadow-md)}
.cbk-stars{color:#fdb913;letter-spacing:3px;font-size:1rem}
.cbk-t-quote{font-size:.97rem;color:var(--cbk-ink-soft);margin-top:10px;font-style:italic}
.cbk-t-author{margin-top:18px;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cbk-primary)}

/* ============================================================
   9) LOCATION CHIPS
============================================================ */
.cbk-chips{display:flex;flex-wrap:wrap;gap:11px}
.cbk-chip{display:inline-flex;align-items:center;gap:8px;padding:11px 19px;border-radius:999px;background:#fff;border:1.5px solid var(--cbk-line);font-weight:700;font-size:.88rem;box-shadow:var(--cbk-shadow-sm);transition:.25s;color:var(--cbk-ink)}
.cbk-chip svg{width:15px;height:15px;color:var(--cbk-primary)}
.cbk-chip:hover{border-color:var(--cbk-primary);background:var(--cbk-mist);transform:translateY(-2px)}

/* ============================================================
   10) CTA BANNER
============================================================ */
.cbk-cta{padding-top:0}
.cbk-band{padding:64px 8%;text-align:center;border-radius:34px;position:relative;overflow:hidden}
.cbk-band .cbk-head{margin-bottom:8px}
.cbk-band-dark{background:linear-gradient(140deg,var(--cbk-band-a),var(--cbk-band-b));color:#fff}
.cbk-band-dark .cbk-title{color:#fff}
.cbk-band-dark .cbk-lead{color:#d6e8ee}
.cbk-band-dark .cbk-kicker{color:#ffbe6e}
.cbk-band-light{background:linear-gradient(135deg,var(--cbk-mist),#eaf2f9)}
.cbk-band-light .cbk-btn-ghost{color:var(--cbk-primary);border-color:var(--cbk-primary);background:#fff}
.cbk-closing{font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:1.12rem;margin:14px auto 0;max-width:640px}
.cbk-band-dark .cbk-closing{color:#ffbe6e}

/* ============================================================
   11) CONTACT CARD
============================================================ */
.cbk-c-card{background:#fff;border-radius:24px;border:1px solid var(--cbk-line);box-shadow:var(--cbk-shadow-sm);padding:32px 30px;max-width:640px;margin:0 auto}
.cbk-c-row{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid var(--cbk-line);align-items:flex-start}
.cbk-c-row:last-of-type{border-bottom:none}
.cbk-c-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:none;background:var(--cbk-mist);color:var(--cbk-primary);font-size:18px}
.cbk-c-ic svg{width:20px;height:20px;fill:currentColor}
.cbk-c-row strong{display:block;font-size:.95rem}
.cbk-c-val{font-size:.86rem;color:var(--cbk-ink-soft)}
a.cbk-c-val:hover{color:var(--cbk-primary)}

/* ============================================================
   12) STICKY MOBILE CTA
============================================================ */
.cbk-sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:90;background:#fff;border-top:1px solid var(--cbk-line);box-shadow:0 -8px 24px rgba(13,43,51,.12);padding:10px 12px;display:flex;gap:10px}
.cbk-sticky-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 8px;border-radius:13px;font-weight:800;font-size:.88rem}
.cbk-sticky a svg,.cbk-sticky a i{font-size:16px}
.cbk-sticky a svg{width:17px;height:17px;fill:currentColor}
@media (min-width:768px){
	.cbk-sticky-mobile{display:none}
}

/* ============================================================
   RESPONSIVE
   Breakpoints match Elementor's defaults (1024 / 767) so the
   plugin CSS and the Elementor responsive controls never fight.
   NOTE: no !important on layout props here — Elementor controls
   must always be able to win.
============================================================ */

/* ------------------------------------------------------------
   LAYOUT HARDENING
   Elementor containers whose alignment is anything other than
   "stretch" make their children shrink-to-fit, which squeezes a
   whole section into a narrow column with big empty gutters.
   Force every ClinicBlocks widget to occupy the full width of
   its container, whatever the container settings are.
------------------------------------------------------------ */
.elementor-widget[class*="elementor-widget-cbk_"]{
	width:100%;
	max-width:100%;
	align-self:stretch;
	flex-basis:auto;
}
.elementor-widget[class*="elementor-widget-cbk_"]>.elementor-widget-container{width:100%;max-width:100%}
.cbk{width:100%;max-width:100%}
.cbk img,.cbk svg{max-width:100%}

/* ---- tablet ---- */
@media (max-width:1024px){
	.cbk{padding:66px 0}
	.cbk-container{padding-left:20px;padding-right:20px}
	.cbk-feat-layout.cbk-has-show{grid-template-columns:1fr}
	.cbk-serv-grid{grid-template-columns:repeat(2,1fr)}
	.cbk-panels-grid{grid-template-columns:repeat(2,1fr)}
	.cbk-testi-grid{grid-template-columns:repeat(2,1fr)}
	.cbk-about-grid{gap:40px}
	.cbk-float-top-left{left:0}
	.cbk-float-bottom-right{right:0}
}

/* ---- narrow tablet: side-by-side About gets too cramped ---- */
@media (max-width:900px){
	.cbk-about-grid{grid-template-columns:1fr;gap:34px}
	.cbk-about-grid.cbk-img-right .cbk-about-visual{order:0}
	.cbk-about-img{max-height:420px;object-fit:cover}
	.cbk-about-copy .cbk-lead{max-width:none}
}

/* ---- mobile ---- */
@media (max-width:767px){
	.cbk{padding:44px 0}
	.cbk-container{padding-left:16px;padding-right:16px}

	.cbk-head{margin-bottom:26px}
	.cbk-lead{font-size:.98rem}
	.cbk-kicker{font-size:.7rem;letter-spacing:.12em;margin-bottom:10px}
	.cbk-title{font-size:clamp(1.55rem,6.4vw,2rem);line-height:1.22}

	/* ---------- HERO ----------
	   the nav row used to be pulled up over the slide with a
	   negative margin, so long headlines collided with it.
	   On phones it now sits in its own strip underneath. */
	.cbk-slides{min-height:420px;height:auto;display:grid;align-items:stretch}
	.cbk-slide{position:relative;inset:auto;grid-area:1/1;padding:56px 0;min-height:100%}
	.cbk-slide::before{background:linear-gradient(180deg,var(--cbk-ovl-a) 0%,var(--cbk-ovl-b) 55%,var(--cbk-ovl-b) 100%)}
	.cbk-slide-inner{max-width:100%}
	.cbk-slide-title{font-size:clamp(1.7rem,7vw,2.2rem)}
	.cbk-slide-desc{font-size:.94rem}
	.cbk-eyebrow{margin-bottom:14px;font-size:.68rem;padding:6px 12px}
	.cbk-hero-bottom{margin-top:0;padding:16px 0 20px;background:#032836}
	.cbk-nav{justify-content:center}
	.cbk-ctas{margin-top:20px;gap:10px}
	.cbk-ctas .cbk-btn{flex:1 1 100%}

	/* ---------- ABOUT ----------
	   keep the desktop look: stat cards still float over the
	   image, just pulled inside its edges instead of stacking. */
	.cbk-about-grid{grid-template-columns:1fr;gap:28px}
	.cbk-about-grid.cbk-img-right .cbk-about-visual{order:0}
	.cbk-about-img{border-radius:18px;max-height:340px;object-fit:cover}
	.cbk-float{position:absolute;width:auto;max-width:76%;padding:11px 14px;gap:9px;border-radius:14px;margin-top:0}
	.cbk-float strong{font-size:.84rem}
	.cbk-float span{font-size:.68rem}
	.cbk-float-top-left{top:12px;left:12px}
	.cbk-float-bottom-right{bottom:14px;right:12px}
	.cbk-pills{margin:18px 0 22px;gap:7px}
	.cbk-pill{font-size:.75rem;padding:7px 13px}
	.cbk-about-copy p{margin:12px 0}

	/* ---------- grids collapse ---------- */
	.cbk-feat-cards{grid-template-columns:1fr;gap:12px}
	.cbk-serv-grid{grid-template-columns:1fr;gap:14px}
	.cbk-panels-grid{grid-template-columns:1fr;gap:12px}
	.cbk-testi-grid{grid-template-columns:1fr;gap:14px}
	.cbk-feat-layout{gap:26px}

	/* ---------- card padding: less air, more content ---------- */
	.cbk-show{padding:24px 20px;border-radius:20px}
	.cbk-show h3{font-size:1.3rem}
	.cbk-show>p{font-size:.88rem}
	.cbk-show-list{margin-top:18px}
	.cbk-show-item{padding:12px 0;gap:11px}
	.cbk-feat-card{padding:16px 15px;gap:12px;border-radius:16px}
	.cbk-feat-ic{width:38px;height:38px;border-radius:11px}
	.cbk-feat-ic svg{width:18px;height:18px}
	.cbk-serv-card{border-radius:18px}
	.cbk-serv-top{padding:18px 17px 0;gap:11px}
	.cbk-serv-ic{width:42px;height:42px;border-radius:13px}
	.cbk-serv-ic svg{width:20px;height:20px}
	.cbk-serv-card h3{font-size:1.02rem}
	.cbk-serv-body{padding:11px 17px 17px}
	.cbk-panel{padding:19px 17px;border-radius:16px}
	.cbk-panel-ic{width:40px;height:40px;margin-bottom:12px}
	.cbk-panel-img img{height:140px}
	.cbk-t-card{padding:21px 18px;border-radius:18px}
	.cbk-t-quote{font-size:.92rem}
	.cbk-c-card{padding:21px 17px;border-radius:18px}
	.cbk-c-row{padding:12px 0;gap:12px}
	.cbk-c-ic{width:38px;height:38px}

	/* ---------- CTA band ---------- */
	.cbk-band{padding:32px 18px;border-radius:20px}
	.cbk-band .cbk-head{margin-bottom:6px}
	.cbk-closing{font-size:.98rem;margin-top:10px}
	.cbk-ctas-center{margin-top:18px}

	/* ---------- FAQ ---------- */
	.cbk-faq{border-radius:14px}
	.cbk .cbk-faq-q,
	.cbk .cbk-faq-q:hover,
	.cbk .cbk-faq-q:focus{padding:15px 16px !important;font-size:.95rem;gap:10px}
	.cbk-faq-a p{padding:0 16px 16px;font-size:.88rem}
	.cbk-faq.is-open .cbk-faq-a{max-height:640px}
	.cbk-faq-wrap{gap:10px}

	/* ---------- misc ---------- */
	.cbk-chip{padding:9px 15px;font-size:.82rem}
	.cbk-sticky-bar a{min-height:46px}
	.cbk-btn{padding:13px 20px;font-size:.9rem}
}

/* very small phones */
@media (max-width:400px){
	.cbk-container{padding-left:14px;padding-right:14px}
	.cbk-slides{min-height:400px}
	.cbk-btn{padding:12px 16px;font-size:.87rem}
	.cbk-hd-inner{gap:10px}
	.cbk-float{max-width:84%}
}

/* ============================================================
   13) SITE HEADER
============================================================ */
.cbk-header{padding:0;background:rgba(253,253,251,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--cbk-line);position:relative;z-index:95;width:100%}
.cbk-header.cbk-hd-sticky{position:sticky;top:0}
.cbk-hd-inner{min-height:74px;display:flex;align-items:center;gap:26px;flex-wrap:nowrap}
.cbk-hd-logo{display:flex;align-items:center;gap:12px;flex:0 1 auto;min-width:0;overflow:hidden}
.cbk-hd-logo img{height:46px;width:auto;display:block}
.cbk-hd-brand{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.cbk-hd-name{font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:1.12rem;color:var(--cbk-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cbk-hd-tag{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cbk-ink-soft);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cbk-hd-nav{display:flex;gap:26px;margin-left:auto}
.cbk-hd-nav a{font-weight:700;font-size:.9rem;color:var(--cbk-ink);position:relative;padding:6px 0;transition:color .25s}
.cbk-hd-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;border-radius:2px;background:var(--cbk-accent);transition:width .25s}
.cbk-hd-nav a:hover{color:var(--cbk-primary)}
.cbk-hd-nav a:hover::after{width:100%}
.cbk-hd-ctas{display:flex;gap:10px;flex:none}
.cbk-btn-sm{padding:10px 19px;font-size:.85rem}
.cbk-btn-outline{background:#fff;color:var(--cbk-primary);border:1.5px solid var(--cbk-primary)}
.cbk-btn-outline:hover{background:var(--cbk-mist)}
.cbk-hd-burger{display:none;width:42px;height:42px;border-radius:12px;border:1.5px solid var(--cbk-line);background:#fff;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto;flex:0 0 42px}
.cbk-hd-burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--cbk-ink);transition:transform .3s,opacity .3s}
.cbk-header.is-open .cbk-hd-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.cbk-header.is-open .cbk-hd-burger span:nth-child(2){opacity:0}
.cbk-header.is-open .cbk-hd-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.cbk-hd-mobile{display:none;flex-direction:column;gap:4px;padding:10px 4% 20px;border-top:1px solid var(--cbk-line);background:inherit}
.cbk-hd-mobile a{font-weight:700;font-size:.95rem;color:var(--cbk-ink);padding:11px 10px;border-radius:10px}
.cbk-hd-mobile a:hover{background:var(--cbk-mist);color:var(--cbk-primary)}
.cbk-hd-mobile-ctas{display:flex;gap:10px;padding:12px 10px 0;flex-wrap:wrap}
@media (max-width:1024px){
	.cbk-hd-nav,.cbk-hd-ctas{display:none}
	.cbk-hd-burger{display:flex}
	.cbk-header.is-open .cbk-hd-mobile{display:flex}
	.cbk-hd-mobile{max-height:calc(100vh - 74px);overflow-y:auto;-webkit-overflow-scrolling:touch}
	.cbk-hd-mobile-ctas .cbk-btn{flex:1 1 100%}
}

/* ============================================================
   14) SITE FOOTER
============================================================ */
.cbk-footer{background:linear-gradient(180deg,var(--cbk-ft-a,#0d2b33),var(--cbk-ft-b,#053c50));color:#cfe0e6;padding:74px 0 0}
.cbk-ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:50px}
.cbk-ft-logocard{display:inline-block;background:#fff;border-radius:16px;padding:12px 18px;box-shadow:var(--cbk-shadow-md)}
.cbk-ft-logocard img{height:44px;width:auto;display:block}
.cbk-ft-name{font-family:"Fraunces",Georgia,serif;font-size:1.3rem;color:#fff}
.cbk-ft-about{font-size:.9rem;margin-top:16px;max-width:300px;color:#b8d2da}
.cbk-ft-social{display:flex;gap:10px;margin-top:20px}
.cbk-ft-social a{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;color:#fff;transition:background .25s,border-color .25s,transform .25s;font-size:16px}
.cbk-ft-social a svg{width:17px;height:17px;fill:currentColor}
.cbk-ft-social a:hover{background:var(--cbk-accent);border-color:var(--cbk-accent);transform:translateY(-2px)}
.cbk-ft-col h4{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.02rem;color:#fff;margin:0 0 18px}
.cbk-ft-col ul{display:grid;gap:10px}
.cbk-ft-col li{font-size:.88rem;color:#b8d2da}
.cbk-ft-col a{color:#b8d2da;transition:color .2s}
.cbk-ft-col a:hover{color:#ffbe6e}
.cbk-ft-contact li{display:flex;gap:11px;align-items:flex-start}
.cbk-ft-ic{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.1);display:grid;place-items:center;flex:none;color:#ffbe6e;font-size:13px}
.cbk-ft-ic svg{width:14px;height:14px;fill:currentColor}
.cbk-ft-bottom{border-top:1px solid rgba(255,255,255,.14);padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:.8rem;color:#9dbcc6}
.cbk-ft-bottom ul{display:flex;gap:20px}
.cbk-ft-bottom a{color:#9dbcc6}
.cbk-ft-bottom a:hover{color:#ffbe6e}
@media (max-width:1024px){
	.cbk-ft-grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:767px){
	.cbk-footer{padding-top:54px}
	.cbk-ft-grid{grid-template-columns:1fr;gap:30px;padding-bottom:34px}
	.cbk-ft-about{max-width:none}
	.cbk-ft-bottom{flex-direction:column;text-align:center}
	.cbk-ft-bottom ul{flex-wrap:wrap;justify-content:center;gap:14px !important}
}

/* ============================================================
   THEME-CONFLICT HARDENING (v1.1.1)
   WordPress themes commonly style raw button/ul/h2 elements with
   high-specificity rules (.entry-content button, etc.). The rules
   below use doubled-class specificity + !important on exactly the
   properties themes override, so ClinicBlocks renders identically
   on any theme. Elementor controls still win where they apply
   (they target the same or deeper selectors).
============================================================ */

/* generic element neutralization inside any ClinicBlocks widget */
.cbk button,
.cbk [type="button"],
.cbk [type="submit"]{
	-webkit-appearance:none !important;
	appearance:none !important;
	box-shadow:none !important;
	text-shadow:none !important;
	text-transform:none;
	font-family:inherit;
	line-height:inherit;
	outline:none;
}
.cbk ul,.cbk ol{
	list-style:none !important;
	margin:0 !important;
	padding:0 !important;
}
.cbk li{margin:0}
.cbk li::marker{content:""}
.cbk h1,.cbk h2,.cbk h3,.cbk h4,.cbk h5{
	margin-top:0;
	padding:0;
	border:none;
}
.cbk img{max-width:100%;border:none;box-shadow:none}
.cbk a{box-shadow:none;text-decoration:none !important}

/* FAQ question row — full width, transparent, no theme border */
.cbk .cbk-faq-q,
.cbk .cbk-faq-q:hover,
.cbk .cbk-faq-q:focus,
.cbk .cbk-faq-q:active{
	width:100% !important;
	display:flex !important;
	justify-content:space-between !important;
	align-items:center !important;
	background:transparent !important;
	border:0 !important;
	border-radius:0 !important;
	margin:0 !important;
	padding:21px 24px !important;
	color:var(--cbk-ink) !important;
	font-family:"Fraunces",Georgia,serif !important;
	font-size:1.05rem;
	font-weight:600;
	text-align:left !important;
	min-height:0 !important;
	letter-spacing:0 !important;
}
.cbk .cbk-faq-chev{
	background:var(--cbk-mist) !important;
	border:0 !important;
	width:30px !important;
	height:30px !important;
}
.cbk .cbk-faq.is-open .cbk-faq-chev{
	background:var(--cbk-accent-soft) !important;
	color:var(--cbk-accent) !important;
}

/* Service "View Details" toggle — plain text link look, no theme box */
.cbk .cbk-serv-toggle,
.cbk .cbk-serv-toggle:hover,
.cbk .cbk-serv-toggle:focus,
.cbk .cbk-serv-toggle:active{
	background:transparent !important;
	border:0 !important;
	border-radius:0 !important;
	box-shadow:none !important;
	margin:auto 0 0 !important;
	padding:15px 0 0 !important;
	width:auto !important;
	min-height:0 !important;
	color:var(--cbk-primary) !important;
	font-weight:800;
	font-size:.82rem;
	letter-spacing:.04em;
	text-transform:uppercase;
}
.cbk .cbk-serv-toggle:hover{color:var(--cbk-accent) !important}

/* Hero carousel dots & arrows — defeat theme button borders */
.cbk .cbk-dot,
.cbk .cbk-dot:hover,
.cbk .cbk-dot:focus{
	width:30px !important;
	height:4px !important;
	min-height:0 !important;
	padding:0 !important;
	margin:0 !important;
	border:0 !important;
	border-radius:4px !important;
	background:rgba(255,255,255,.28) !important;
}
.cbk .cbk-dot.is-active{
	background:var(--cbk-accent) !important;
	width:46px !important;
}
.cbk .cbk-arrow,
.cbk .cbk-arrow:focus{
	width:42px;
	height:42px;
	min-height:0 !important;
	padding:0 !important;
	margin:0 !important;
	border:1.5px solid rgba(255,255,255,.45) !important;
	border-radius:50% !important;
	background:rgba(255,255,255,.12) !important;
	color:#fff !important;
}
.cbk .cbk-arrow:hover{
	background:var(--cbk-accent) !important;
	border-color:var(--cbk-accent) !important;
	color:#fff !important;
}

/* Header burger — keep it a clean icon button on any theme */
.cbk .cbk-hd-burger,
.cbk .cbk-hd-burger:hover,
.cbk .cbk-hd-burger:focus{
	background:#fff !important;
	border:1.5px solid var(--cbk-line) !important;
	border-radius:12px !important;
	padding:0 !important;
	min-height:0 !important;
	box-shadow:none !important;
}

/* Plugin buttons (a.cbk-btn) — protect from theme link/button skins */
.cbk a.cbk-btn{border-style:solid}
.cbk a.cbk-btn-primary{
	background:linear-gradient(135deg,var(--cbk-grad-a),var(--cbk-grad-b)) !important;
	color:#fff !important;
	border:0 !important;
}
.cbk a.cbk-btn-success{background:var(--cbk-success) !important;color:#fff !important;border:0 !important}
.cbk a.cbk-btn-solid{background:var(--cbk-primary) !important;color:#fff !important;border:0 !important}
.cbk a.cbk-btn-ghost{color:#fff !important;border:1.5px solid rgba(255,255,255,.55) !important}
.cbk a.cbk-btn-outline{background:#fff !important;color:var(--cbk-primary) !important;border:1.5px solid var(--cbk-primary) !important}

/* service detail bullets — restore after the ul reset */
.cbk .cbk-serv-detail ul{display:block !important;margin:0 0 4px !important}
.cbk .cbk-serv-detail li{display:flex}

/* footer & contact lists keep their layout after reset */
.cbk .cbk-ft-col ul{display:grid !important;gap:10px !important}
.cbk .cbk-ft-bottom ul{display:flex !important;gap:20px !important}

/* ============================================================
   15) FLOATING SIDE ICONS (sticky right/left stack)
============================================================ */
.cbk-fab{
	--cbk-fab-size:48px;
	--cbk-fab-icon:19px;
	--cbk-fab-radius:50px;
	--cbk-fab-gap:10px;
	--cbk-fab-edge:14px;
	position:fixed;
	z-index:96;
	display:flex;
	flex-direction:column;
	gap:var(--cbk-fab-gap);
	padding:0 !important;
	background:none !important;
}
.cbk-fab-right{right:var(--cbk-fab-edge);align-items:flex-end}
.cbk-fab-left{left:var(--cbk-fab-edge);align-items:flex-start}
.cbk-fab-center{top:50%;transform:translateY(-50%)}
.cbk-fab-bottom{bottom:90px}

.cbk-fab-item{
	display:flex;
	align-items:center;
	gap:0;
	text-decoration:none !important;
}
.cbk-fab-left .cbk-fab-item{flex-direction:row-reverse}

.cbk-fab-btn{
	width:var(--cbk-fab-size);
	height:var(--cbk-fab-size);
	border-radius:var(--cbk-fab-radius);
	background:#007898;
	color:#fff;
	display:grid;
	place-items:center;
	flex:none;
	font-size:var(--cbk-fab-icon);
	box-shadow:0 8px 22px rgba(13,43,51,.26);
	transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
.cbk-fab-btn svg{width:var(--cbk-fab-icon);height:var(--cbk-fab-icon);fill:currentColor}
.cbk-fab-item:hover .cbk-fab-btn{
	transform:scale(1.1);
	box-shadow:0 12px 28px rgba(13,43,51,.34);
	filter:brightness(1.06);
}

/* slide-out label */
.cbk-fab-label{
	max-width:0;
	overflow:hidden;
	white-space:nowrap;
	opacity:0;
	background:#007898;
	color:#fff;
	font-size:.8rem;
	font-weight:800;
	letter-spacing:.02em;
	padding:0;
	border-radius:10px;
	margin-right:0;
	transition:max-width .35s ease,opacity .25s ease,padding .35s ease,margin .35s ease;
	box-shadow:0 8px 22px rgba(13,43,51,.22);
}
.cbk-fab-left .cbk-fab-label{margin-right:0;margin-left:0}
.cbk-fab-haslabels .cbk-fab-item:hover .cbk-fab-label,
.cbk-fab-haslabels .cbk-fab-item:focus .cbk-fab-label{
	max-width:220px;
	opacity:1;
	padding:9px 14px;
	margin-right:10px;
}
.cbk-fab-left.cbk-fab-haslabels .cbk-fab-item:hover .cbk-fab-label,
.cbk-fab-left.cbk-fab-haslabels .cbk-fab-item:focus .cbk-fab-label{
	margin-right:0;
	margin-left:10px;
}

/* mobile */
@media (max-width:767px){
	.cbk-fab{--cbk-fab-size:44px;--cbk-fab-icon:17px}
	.cbk-fab-nomobile{display:none !important}
	/* keep clear of the Sticky Mobile CTA bar when both are used */
	.cbk-fab-bottom{bottom:84px}
	.cbk-fab-label{display:none}
}

/* ============================================================
   v1.2.0 ADDITIONS
============================================================ */

/* ---- Sticky CTA: right-side floating icons layout ---- */
.cbk-sticky-side{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:11px;background:none;border:none;box-shadow:none;padding:0}
.cbk-sticky-side a{position:relative;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 24px rgba(13,43,51,.22);font-size:20px;transition:transform .25s}
.cbk-sticky-side a:hover{transform:scale(1.1)}
.cbk-sticky-side a svg{width:21px;height:21px;fill:currentColor}
.cbk-ss-label{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(6px);background:var(--cbk-ink);color:#fff;font-size:.74rem;font-weight:700;padding:6px 12px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.cbk-sticky-side a:hover .cbk-ss-label{opacity:1;transform:translateY(-50%) translateX(0)}
@media (max-width:767px){
	.cbk-sticky-side{right:10px}
	.cbk-sticky-side a{width:44px;height:44px}
	.cbk-ss-label{display:none}
}

/* ============================================================
   TEAM CAROUSEL — consolidated, alignment-safe.
   Every card is the same height, and every row inside the card
   (photo, designation, name, description, experience badge)
   lines up across cards regardless of text length.
   All spacing/size values are CSS variables so the Elementor
   controls can drive them per-device.
============================================================ */
.cbk-team{
	--cbk-tpv:4;                 /* cards per view          */
	--cbk-tgap:18px;             /* gap between cards       */
	--cbk-tphoto-h:230px;        /* photo height            */
	--cbk-tfit:cover;            /* photo object-fit        */
	--cbk-tpos:center center;    /* photo focal point       */
	--cbk-tradius:22px;          /* card radius             */
	--cbk-tbw:1px;               /* card border width       */
	--cbk-tbc:var(--cbk-line);   /* card border colour      */
	--cbk-tpad-y:18px;           /* card padding (vertical) */
	--cbk-tpad-x:18px;           /* card padding (horiz.)   */
	--cbk-talign:left;           /* text alignment          */
	--cbk-tself:flex-start;      /* badge alignment         */
	--cbk-tgap-spec:5px;         /* designation -> name     */
	--cbk-tgap-name:7px;         /* name -> description     */
	--cbk-tgap-desc:12px;        /* description -> badge    */
	--cbk-tclamp:3;              /* description line clamp  */
	--cbk-tpeek:0px;             /* sliver of the next card */
	--cbk-tratio:3/4;            /* photo aspect ratio      */
	--cbk-tname-lines:2;         /* name line clamp         */
	--cbk-tlift:-6px;            /* hover lift distance     */
}

.cbk-team-carousel{position:relative}
.cbk-team-vp{overflow:hidden;padding:4px}
.cbk-team-track{
	display:flex;
	flex-wrap:nowrap;
	align-items:stretch;          /* <- equal card heights */
	gap:var(--cbk-tgap);
	transition:transform .6s cubic-bezier(.77,0,.18,1);
	will-change:transform;
}
.cbk-team-track .cbk-doc-card{
	flex:0 0 calc((100% - var(--cbk-tpeek) - (var(--cbk-tpv) - 1) * var(--cbk-tgap)) / var(--cbk-tpv));
	max-width:calc((100% - var(--cbk-tpeek) - (var(--cbk-tpv) - 1) * var(--cbk-tgap)) / var(--cbk-tpv));
	align-self:stretch;   /* every card as tall as the tallest one */
	height:auto;
}

/* cap how wide a card may get, then centre the whole rail — stops
   2-3 cards stretching across a 1200px row with letterboxed photos */
.cbk-team-vp{max-width:var(--cbk-tvpmax,none);margin-left:auto;margin-right:auto}
/* when the cards already fit, centre them instead of left-aligning */
.cbk-team-fits .cbk-team-track{justify-content:center}

/* ---- the card ---- */
.cbk-doc-card{
	display:flex;
	flex-direction:column;
	background:#fff;
	border:var(--cbk-tbw) solid var(--cbk-tbc);
	border-radius:var(--cbk-tradius);
	overflow:hidden;
	box-shadow:var(--cbk-shadow-sm);
	text-align:var(--cbk-talign);
	transition:transform .3s ease,box-shadow .3s ease;
}
.cbk-team-hover .cbk-doc-card:hover{
	transform:translateY(var(--cbk-tlift));
	box-shadow:var(--cbk-shadow-md);
}

/* photo can be a fixed height, or an aspect ratio that scales with
   the card width (better when card widths vary between devices) */
.cbk-team-ratio .cbk-doc-photo{height:auto;flex:0 0 auto;aspect-ratio:var(--cbk-tratio)}

/* ---- photo: identical height in every card ---- */
.cbk-doc-photo{
	height:var(--cbk-tphoto-h);
	flex:0 0 var(--cbk-tphoto-h);
	background:linear-gradient(160deg,var(--cbk-mist),#eaf2f9);
	display:grid;
	place-items:center;
	color:var(--cbk-primary);
	overflow:hidden;
}
.cbk-doc-photo img{
	width:100%;
	height:100%;
	object-fit:var(--cbk-tfit);
	object-position:var(--cbk-tpos);
	display:block;
}
.cbk-doc-photo svg{width:60px;height:60px;opacity:.7}

/* ---- text block: rows align across cards ---- */
.cbk-doc-info{
	flex:1 1 auto;
	min-height:0;
	display:flex;
	flex-direction:column;
	align-items:var(--cbk-tself);
	padding:var(--cbk-tpad-y) var(--cbk-tpad-x);
}
.cbk-doc-spec{
	display:block;
	font-size:.72rem;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--cbk-accent);
	font-weight:800;
	margin:0 0 var(--cbk-tgap-spec);
}
.cbk-doc-name{
	display:block;
	font-family:"Fraunces",Georgia,serif;
	font-weight:600;
	font-size:1.04rem;
	line-height:1.3;
	margin:0 0 var(--cbk-tgap-name);
}
/* description takes the slack so the badge always sits on the
   same baseline in every card; optional line clamp makes the
   text blocks literally identical in height. */
.cbk-doc-desc{
	flex:1 1 auto;
	font-size:.84rem;
	line-height:1.6;
	color:var(--cbk-ink-soft);
	margin:0 0 var(--cbk-tgap-desc);
}
.cbk-team-clamp .cbk-doc-desc{
	flex:0 0 auto;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:var(--cbk-tclamp);
	line-clamp:var(--cbk-tclamp);
	overflow:hidden;
	min-height:calc(1.6em * var(--cbk-tclamp));
}
/* designation always one line, name always the same number of lines,
   so the photo / designation / name / description / badge rows sit on
   identical baselines in every card. */
.cbk-team-clamp .cbk-doc-spec{
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:1;
	line-clamp:1;
	overflow:hidden;
	min-height:1.65em;
}
.cbk-team-clamp .cbk-doc-name{
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:var(--cbk-tname-lines);
	line-clamp:var(--cbk-tname-lines);
	overflow:hidden;
	min-height:calc(1.3em * var(--cbk-tname-lines));
}
.cbk-team-clamp .cbk-doc-info::after{content:"";flex:1 1 auto}
.cbk-doc-meta{
	margin-top:auto;               /* <- pins badge to the bottom */
	display:inline-block;
	font-size:.76rem;
	font-weight:800;
	color:var(--cbk-primary);
	background:var(--cbk-mist);
	padding:5px 11px;
	border-radius:999px;
}
/* keep the badge on the bottom line even when there is no
   description at all */
.cbk-doc-info>.cbk-doc-meta:first-of-type{margin-top:auto}

/* ---- nav ---- */
.cbk-team-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:30px}
.cbk-team .cbk-arrow,
.cbk-team .cbk-arrow:focus{background:#fff !important;border:1.5px solid var(--cbk-line) !important;color:var(--cbk-primary) !important}
.cbk-team .cbk-arrow:hover{background:var(--cbk-accent) !important;border-color:var(--cbk-accent) !important;color:#fff !important}
.cbk-team .cbk-arrow[disabled]{opacity:.35;pointer-events:none}
.cbk-tdots{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}
.cbk .cbk-tdot,
.cbk .cbk-tdot:hover,
.cbk .cbk-tdot:focus{width:9px !important;height:9px !important;min-height:0 !important;padding:0 !important;margin:0 !important;border:0 !important;border-radius:50% !important;background:#cdd9dd !important;cursor:pointer;transition:.25s}
.cbk .cbk-tdot.is-active{background:var(--cbk-accent) !important;transform:scale(1.25)}

.cbk-team-note{font-size:.84rem;color:var(--cbk-ink-soft);background:var(--cbk-accent-soft);border:1px dashed var(--cbk-accent);border-radius:14px;padding:13px 17px;display:inline-block;margin-top:22px}

/* ---- team: responsive ---- */
@media (max-width:1024px){
	.cbk-team{--cbk-tgap:16px}
}
@media (max-width:767px){
	.cbk-team{--cbk-tgap:14px;--cbk-tpad-y:16px;--cbk-tpad-x:16px}
	.cbk-team-vp{max-width:none}
	.cbk-team-nav{gap:14px;margin-top:22px}
	.cbk-team .cbk-arrow{width:40px;height:40px}
	.cbk-team-note{display:block;margin-top:18px}
}

/* ---- Technology panels: feature image on top ---- */
.cbk-panel-img{display:block;margin:0 0 16px}
.cbk-panel-img img{width:100%;height:160px;object-fit:cover;display:block;border-radius:14px}

/* ---- Service cards: PNG/SVG image icons ---- */
.cbk-serv-ic img{width:28px;height:28px;object-fit:contain;display:block}
