.clsft{--clsft-accent:#ad804a;--clsft-dark:#242b2b;--clsft-pct:0%;box-sizing:border-box;position:relative;isolation:isolate;overflow:hidden;border-radius:22px;padding:clamp(26px,5vw,62px);font-family:Inter,'Segoe UI',system-ui,-apple-system,sans-serif;line-height:1.45;background:#f8f5ee;color:#242b2b;box-shadow:0 18px 50px rgba(17,30,29,.1);max-width:1100px;margin:20px auto}
.clsft *{box-sizing:border-box}.clsft h2,.clsft p{margin:0}.clsft .clsft-eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:var(--clsft-accent);margin-bottom:16px}.clsft .clsft-title{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(29px,4.4vw,54px);letter-spacing:-.035em;line-height:1.12;max-width:630px;margin-bottom:17px}.clsft .clsft-description{max-width:540px;font-size:15px;line-height:1.7;color:#66706b;margin-bottom:32px}.clsft .clsft-primary{font-size:clamp(40px,6vw,76px);font-weight:780;letter-spacing:-.065em;line-height:1.1;overflow-wrap:anywhere}.clsft .clsft-subtitle{color:#62716c;font-size:15px;margin:8px 0 24px}.clsft .clsft-stat-row{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;font-size:13px;font-weight:750;margin:16px 0 25px}.clsft .clsft-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-radius:8px;padding:13px 18px;background:var(--clsft-accent);color:#fff;text-decoration:none;font-size:13px;font-weight:750;transition:transform .2s,filter .2s}.clsft .clsft-button:hover{color:#fff;transform:translateY(-2px);filter:brightness(1.1)}.clsft .clsft-button:focus-visible{outline:3px solid #3a9ad9;outline-offset:3px}
.clsft--thermometer{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:35px;align-items:center;background:radial-gradient(ellipse at 90% 15%,#e8decf,transparent 50%),#f9f6f0;min-height:490px}.clsft--thermometer .clsft-copy{min-width:0}.clsft--thermometer .clsft-stat-row{max-width:430px;border-top:1px solid #d9d9cf;padding-top:16px}.clsft-thermo-wrap{display:flex;justify-content:center;align-items:center;height:340px;gap:14px}.clsft-thermo-scale{height:290px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;color:#7b8078;font-size:11px;font-weight:700}.clsft-thermo{position:relative;overflow:hidden;border:9px solid #fff;background:linear-gradient(90deg,#e7e7e1,#fff 50%,#e8e8e1);width:68px;height:310px;border-radius:60px;box-shadow:0 10px 32px #31382822,inset 0 0 0 1px #d9d9d2}.clsft-thermo-liquid{position:absolute;bottom:0;left:0;right:0;height:var(--clsft-pct);background:linear-gradient(90deg,color-mix(in srgb,var(--clsft-accent) 76%,#171c18),var(--clsft-accent) 45%,color-mix(in srgb,var(--clsft-accent) 68%,white));border-radius:22px;animation:clsft-grow 1.4s cubic-bezier(.2,.7,.2,1) both}.clsft-thermo-liquid:before{content:'';position:absolute;left:0;right:0;top:0;border-radius:50%;height:14px;transform:translateY(-50%);background:color-mix(in srgb,var(--clsft-accent) 75%,white)}.clsft-thermo-shine{pointer-events:none;position:absolute;left:10px;top:10px;bottom:10px;width:8px;border-radius:12px;background:#fff8}
.clsft--dashboard{background:radial-gradient(ellipse at 90% 0%,color-mix(in srgb,var(--clsft-accent) 18%,var(--clsft-dark)),transparent 65%),var(--clsft-dark);color:#fff}.clsft--dashboard .clsft-eyebrow{color:#e5c69c}.clsft--dashboard .clsft-dashboard-top{display:flex;justify-content:space-between;gap:25px;align-items:flex-start}.clsft--dashboard .clsft-title{max-width:650px}.clsft--dashboard .clsft-description,.clsft--dashboard .clsft-subtitle{color:#bac5c0}.clsft--dashboard .clsft-ring{width:150px;height:150px;flex:0 0 150px;border-radius:50%;background:conic-gradient(var(--clsft-accent) var(--clsft-angle),#ffffff1c 0);display:grid;place-items:center;position:relative}.clsft-ring:before{content:'';position:absolute;inset:12px;border-radius:50%;background:var(--clsft-dark)}.clsft-ring span{position:relative;font-size:29px;font-weight:800;letter-spacing:-.05em;text-align:center}.clsft-ring small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#ccd3d0}.clsft--dashboard .clsft-primary{margin-top:7px}.clsft .clsft-track{height:16px;background:#e8e4dd;border-radius:30px;overflow:hidden;position:relative}.clsft .clsft-fill{display:block;width:var(--clsft-pct);height:100%;border-radius:30px;background:linear-gradient(90deg,var(--clsft-accent),color-mix(in srgb,var(--clsft-accent) 65%,white));animation:clsft-grow-width 1.4s ease both}.clsft--dashboard .clsft-track{background:#ffffff26}.clsft--dashboard .clsft-stat-row{color:#d5dcd8}.clsft--dashboard .clsft-button{background:#f5e9d7;color:#242b2b}.clsft--dashboard .clsft-button:hover{color:#242b2b}
.clsft--milestones{background:#fff;border:1px solid #eae6df}.clsft--milestones .clsft-title{max-width:780px}.clsft--milestones .clsft-description{max-width:680px}.clsft-milestone-numbers{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:27px}.clsft-milestone-numbers>div{display:flex;flex-direction:column;gap:5px}.clsft-milestone-numbers>div span{color:#718079;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.1em}.clsft-milestone-numbers>div strong{font-size:clamp(25px,4vw,47px);letter-spacing:-.055em;line-height:1.2}.clsft--milestones .clsft-track{height:24px;background:repeating-linear-gradient(90deg,#eee9e0 0%,#eee9e0 calc(25% - 2px),#fff calc(25% - 2px),#fff 25%)}.clsft-ticks{display:flex;justify-content:space-between;margin-top:12px;color:#77847b;font-size:11px;font-weight:750}.clsft-milestone-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;border-top:1px solid #e5e7e2;padding-top:22px;margin:29px 0 22px;color:#707b72;font-size:15px}.clsft-milestone-footer strong{color:#283831}
@keyframes clsft-grow{from{height:0}to{height:var(--clsft-pct)}}@keyframes clsft-grow-width{from{width:0}to{width:var(--clsft-pct)}}@media(max-width:680px){.clsft{padding:28px 24px;border-radius:17px}.clsft--thermometer{grid-template-columns:minmax(0,1fr) 86px;gap:12px;min-height:0}.clsft-thermo-wrap{gap:7px;height:250px}.clsft-thermo{width:44px;height:236px;border-width:6px}.clsft-thermo-scale{height:215px;font-size:9px}.clsft--dashboard .clsft-ring{width:96px;height:96px;flex-basis:96px}.clsft--dashboard .clsft-ring:before{inset:9px}.clsft-ring span{font-size:20px}.clsft .clsft-description{font-size:13px}.clsft--thermometer .clsft-title{font-size:clamp(25px,6vw,35px)}.clsft .clsft-primary{font-size:clamp(33px,7vw,47px)}.clsft-milestone-numbers>div strong{font-size:28px}}@media(max-width:420px){.clsft--thermometer{grid-template-columns:1fr}.clsft-thermo-wrap{display:none}.clsft--dashboard .clsft-ring{display:none}}@media(prefers-reduced-motion:reduce){.clsft .clsft-fill,.clsft .clsft-thermo-liquid{animation:none}.clsft .clsft-button{transition:none}}

/* Prominent, high-contrast warning on demonstration campaigns. */
.clsft .clsft-demo-notice { position:relative; z-index:2; grid-column:1/-1; width:100%; margin:0 0 18px; padding:10px 14px; border:2px solid #b45309; border-radius:8px; background:#fffbeb; color:#78350f; font:700 13px/1.45 system-ui,sans-serif; letter-spacing:.01em; }


/* v1.2: theme-font inheritance and hardening against opinionated WordPress theme styles. */
.clsft, .clsft :where(*) { font-family: inherit !important; }
.clsft { font-size: 16px; font-weight: 400; line-height: 1.5; }
.clsft .clsft-title { font-family: inherit !important; font-weight: 650; font-style: normal; text-transform: none; }
.clsft .clsft-primary, .clsft .clsft-milestone-numbers strong, .clsft .clsft-ring span {
  font-family: inherit !important; font-variant-numeric: tabular-nums; font-feature-settings: 'tnum';
}
.clsft .clsft-eyebrow, .clsft .clsft-title, .clsft .clsft-description,
.clsft .clsft-primary, .clsft .clsft-subtitle, .clsft .clsft-track,
.clsft .clsft-milestone-numbers, .clsft .clsft-ticks,
.clsft .clsft-milestone-footer, .clsft .clsft-stat-row { margin-left:0; margin-right:0; }
.clsft .clsft-eyebrow { display:block; margin-top:0; margin-bottom:16px; }
.clsft .clsft-title { display:block; margin-top:0; margin-bottom:17px; padding:0; }
.clsft .clsft-description { display:block; margin-top:0; margin-bottom:32px; }
.clsft .clsft-primary { display:block; max-width:100%; margin-bottom:0; }
.clsft .clsft-subtitle { display:block; margin-top:8px; margin-bottom:24px; }
.clsft .clsft-stat-row { display:flex; gap:12px 28px; align-items:baseline; justify-content:space-between; flex-wrap:wrap; width:100%; margin-top:16px; margin-bottom:25px; }
.clsft .clsft-stat-row > span { display:block; flex:0 1 auto; line-height:1.5; white-space:normal; }
.clsft .clsft-button { display:inline-flex; width:auto; min-width:0; margin:0; line-height:1.4; }
.clsft .clsft-button > span { display:inline-block; }
.clsft .clsft-track { display:block; width:100%; max-width:100%; margin:0; }
.clsft .clsft-fill { display:block; }
.clsft--dashboard .clsft-dashboard-top { display:flex; flex-wrap:nowrap; align-items:flex-start; justify-content:space-between; gap:28px; margin-bottom:26px; }
.clsft--dashboard .clsft-dashboard-heading { flex:1 1 auto; min-width:0; }
.clsft--dashboard .clsft-dashboard-heading .clsft-description { margin-bottom:0; }
.clsft--dashboard .clsft-ring { flex-shrink:0; }
.clsft--dashboard .clsft-ring span { display:block; line-height:1.3; }
.clsft--dashboard .clsft-ring small { display:block; line-height:1.4; }
.clsft--milestones .clsft-milestone-numbers { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:end; margin-top:14px; margin-bottom:30px; }
.clsft--milestones .clsft-milestone-numbers > div { display:flex; flex-direction:column; gap:6px; min-width:0; }
.clsft--milestones .clsft-milestone-numbers > div:last-child { text-align:right; align-items:flex-end; }
.clsft--milestones .clsft-milestone-numbers span { display:block; }
.clsft--milestones .clsft-milestone-numbers strong { display:block; max-width:100%; overflow-wrap:break-word; line-height:1.2; }
.clsft--milestones .clsft-ticks { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:start; width:100%; gap:0; margin-top:12px; margin-bottom:0; }
.clsft--milestones .clsft-ticks > span { display:block; min-width:0; text-align:center; line-height:1.4; }
.clsft--milestones .clsft-ticks > span:first-child { text-align:left; }
.clsft--milestones .clsft-ticks > span:last-child { text-align:right; }
.clsft--milestones .clsft-milestone-footer { display:flex; gap:10px 26px; align-items:baseline; justify-content:space-between; flex-wrap:wrap; width:100%; margin-top:29px; margin-bottom:22px; }
.clsft--milestones .clsft-milestone-footer > strong, .clsft--milestones .clsft-milestone-footer > span { display:block; line-height:1.5; }
.clsft-thermo-wrap .clsft-thermo-scale { display:flex; flex-direction:column; justify-content:space-between; gap:0; white-space:nowrap; }
.clsft-thermo-wrap .clsft-thermo-scale span { display:block; line-height:1; }
.clsft .clsft-demo-notice { font-family:inherit !important; }
@media (max-width:760px) {
 .clsft--dashboard .clsft-dashboard-top { gap:16px; }
 .clsft--dashboard .clsft-ring { width:110px; height:110px; flex-basis:110px; }
 .clsft--dashboard .clsft-ring span { font-size:22px; }
 .clsft--milestones .clsft-milestone-numbers strong { font-size:clamp(22px,5vw,35px); }
}
@media (max-width:520px) {
 .clsft--dashboard .clsft-dashboard-top { flex-direction:column; }
 .clsft--dashboard .clsft-ring { align-self:flex-start; }
 .clsft--milestones .clsft-milestone-numbers { grid-template-columns:1fr; gap:18px; }
 .clsft--milestones .clsft-milestone-numbers > div:last-child { text-align:left; align-items:flex-start; }
 .clsft--milestones .clsft-ticks { font-size:10px; }
 .clsft--thermometer { grid-template-columns: minmax(0,1fr) 85px; }
 .clsft--thermometer .clsft-thermo-wrap { display:flex; }
}
@media (max-width:390px) {
 .clsft--thermometer { grid-template-columns:1fr; }
 .clsft--thermometer .clsft-thermo-wrap { display:none; }
}

/* v1.3: layout isolation for themes that change span/flex/grid typography. */
.clsft .clsft-stat-row {
 display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
 align-items:start !important; column-gap:32px !important; row-gap:10px !important;
 width:100% !important;
}
.clsft .clsft-stat-row > .clsft-stat-item { display:block !important; position:static !important;
 margin:0 !important; padding:0 !important; min-width:0 !important;
 line-height:1.5 !important; white-space:normal !important; }
.clsft .clsft-stat-row > .clsft-stat-item:last-child { text-align:right !important; }
.clsft--thermometer .clsft-stat-row {max-width:540px;}
.clsft .clsft-thermo-wrap { align-items:center !important; }
.clsft .clsft-thermo-scale { position:relative !important; display:block !important;
 width:45px !important; flex:0 0 45px !important; height:290px !important;
 margin:0 !important; padding:0 !important; }
.clsft .clsft-thermo-scale > div { position:absolute !important; display:block !important; right:0 !important;
 margin:0 !important; padding:0 !important; line-height:1 !important; text-align:right !important;
 transform:translateY(-50%); white-space:nowrap !important; }
.clsft .clsft-thermo-scale > div:nth-child(1) {top:0;}
.clsft .clsft-thermo-scale > div:nth-child(2) {top:25%;}
.clsft .clsft-thermo-scale > div:nth-child(3) {top:50%;}
.clsft .clsft-thermo-scale > div:nth-child(4) {top:75%;}
.clsft .clsft-thermo-scale > div:nth-child(5) {top:100%;}
.clsft .clsft-ticks {position:relative !important; display:block !important;
 height:29px !important; width:100% !important; margin:12px 0 0 !important; padding:0 !important;}
.clsft .clsft-ticks > div {position:absolute !important; display:block !important; top:0 !important;
 margin:0 !important; padding:0 !important; line-height:1.5 !important; white-space:nowrap !important;}
.clsft .clsft-ticks > div:nth-child(1) {left:0 !important;}
.clsft .clsft-ticks > div:nth-child(2) {left:25% !important; transform:translateX(-50%) !important;}
.clsft .clsft-ticks > div:nth-child(3) {left:50% !important; transform:translateX(-50%) !important;}
.clsft .clsft-ticks > div:nth-child(4) {left:75% !important; transform:translateX(-50%) !important;}
.clsft .clsft-ticks > div:nth-child(5) {right:0 !important;}
.clsft .clsft-milestone-footer { display:grid !important;
 grid-template-columns:repeat(2,minmax(0,1fr)) !important; column-gap:30px !important;
 row-gap:10px !important; align-items:start !important; }
.clsft .clsft-milestone-footer > div {display:block !important; min-width:0 !important;
 line-height:1.5 !important; margin:0 !important; padding:0 !important;}
.clsft .clsft-milestone-footer > .clsft-footer-primary {font-weight:750 !important; color:#283831;}
.clsft .clsft-milestone-footer > .clsft-footer-secondary {text-align:right !important;}
@media(max-width:680px) {
 .clsft .clsft-thermo-scale {height:215px !important; width:36px !important; flex-basis:36px !important;}
 .clsft .clsft-stat-row {column-gap:16px !important;}
}
@media(max-width:480px) {
 .clsft .clsft-stat-row, .clsft .clsft-milestone-footer {grid-template-columns:1fr !important;}
 .clsft .clsft-stat-row > .clsft-stat-item:last-child,
 .clsft .clsft-milestone-footer > .clsft-footer-secondary {text-align:left !important;}
}

/* v1.4.1: a level, clean liquid surface; remove the oval meniscus cap. */
.clsft .clsft-thermo-liquid { border-radius:0 0 22px 22px; }
.clsft .clsft-thermo-liquid::before,
.clsft .clsft-thermo-liquid::after { content:none !important; display:none !important; }
