/* CareMedox.org platform homepage. Native CareMedox typography + burgundy identity. */
.hub-page { --hub-navy:#183044; --hub-wine:#a02149; --hub-light:#fff8fb; }
.hub-page .cm-hub-brand { gap:10px; flex-shrink:0; }
.cm-hub-mark { width:45px; height:45px; flex-shrink:0; display:grid; place-items:center; border-radius:14px;
 background:linear-gradient(135deg,#a02149,#d64d71); color:#fff; font-weight:850; font-size:1.12rem;
 box-shadow:0 9px 22px rgba(160,33,73,.18); letter-spacing:-.07em; }
.cm-hub-mark span { color:#ffd6df; }
.cm-hub-wordmark { display:flex; flex-direction:column; gap:1px; white-space:nowrap; }
.cm-hub-wordmark strong { font-size:1.28rem; line-height:1.1; color:var(--cm-red-dark); letter-spacing:-.04em; font-weight:820; }
.cm-hub-wordmark strong span { color:var(--cm-red); }
.cm-hub-wordmark small { font-size:.63rem; color:var(--cm-muted); font-weight:650; letter-spacing:.06em; }
.cm-hub-hero { position:relative; overflow:hidden; padding:clamp(65px,9vw,123px) 0 clamp(75px,10vw,135px);
 background:radial-gradient(ellipse at 95% 16%,rgba(160,33,73,.08),transparent 42%),
 radial-gradient(ellipse at 0 90%,rgba(42,111,122,.065),transparent 45%),
 linear-gradient(145deg,#fff,#fff8fb 70%,#fff1f6); }
.cm-hub-hero-grid { display:grid; grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr); align-items:center; gap:clamp(25px,5vw,75px); }
.cm-hub-eyebrow { display:inline-flex; align-items:center; gap:9px; text-transform:uppercase; letter-spacing:.12em; color:var(--cm-red); font-size:.75rem; font-weight:800; }
.cm-hub-eyebrow span { width:9px; height:9px; border-radius:50%; background:#d64d71; box-shadow:0 0 0 5px #f8e4ed; }
.cm-hub-hero-text h1 { max-width:760px; font-size:clamp(2.55rem,4.5vw,4.65rem); line-height:1.09; margin:17px 0 24px; font-weight:800; letter-spacing:-.058em; color:#331526; }
.cm-hub-hero-text h1 em { color:var(--cm-red); font-style:normal; }
.cm-hub-hero-text>p { color:#665964; font-size:clamp(1rem,1.35vw,1.13rem); line-height:1.8; max-width:580px; margin:0 0 27px; }
.cm-hub-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.cm-hub-actions .cm-btn { display:inline-flex; align-items:center; gap:9px; min-height:48px; padding:12px 20px; border-radius:12px; font-weight:750; }
.cm-hub-trust { margin-top:30px; display:flex; gap:8px 19px; flex-wrap:wrap; }
.cm-hub-trust span { font-size:.76rem; font-weight:670; color:#60545c; }
.cm-hub-trust span::before { content:'✓'; display:inline-grid; place-items:center; color:#17766a; font-weight:900; margin-right:7px; }
.cm-hub-feature-art { min-height:430px; position:relative; display:grid; place-items:center; isolation:isolate; }
.cm-hub-visual-bg { position:absolute; inset:4% 4%; z-index:-1; border-radius:42% 58% 44% 56%; background:linear-gradient(145deg,#ffe9f0,#f4dce7 48%,#f0f6f5); filter:blur(1px); transform:rotate(-7deg); }
.cm-hub-art-main { width:min(86%,370px); aspect-ratio:1/1; border:1px solid rgba(255,255,255,.75); border-radius:33px; padding:32px;
 background:linear-gradient(143deg,#5d1431,#9e224a 55%,#c94267); box-shadow:0 36px 75px rgba(83,18,43,.22); color:white; transform:rotate(-5deg); display:flex; flex-direction:column; justify-content:center; }
.cm-hub-art-label { font-size:.69rem; letter-spacing:.14em; font-weight:760; color:#ffe0e9; }
.cm-hub-art-icon { font-size:clamp(3rem,7vw,5.5rem); font-weight:900; line-height:1.45; letter-spacing:-.09em; }
.cm-hub-art-icon span { color:#ffd4df; }
.cm-hub-art-main h2 { color:white; font-size:1.65rem; line-height:1.21; font-weight:800; letter-spacing:-.03em; margin:0 0 10px; }
.cm-hub-art-main p { color:rgba(255,244,248,.85); font-size:.9rem; margin:0; }
.cm-hub-art-float { position:absolute; z-index:2; display:grid; grid-template-columns:36px 1fr; column-gap:10px; align-items:center; border-radius:16px; padding:13px 17px; min-width:185px;
 background:rgba(255,255,255,.97); border:1px solid rgba(160,33,73,.09); box-shadow:0 18px 36px rgba(62,16,37,.13); }
.cm-hub-art-float.top { top:13%; left:0%; transform:rotate(-3deg); }
.cm-hub-art-float.bottom { bottom:11%; right:0%; transform:rotate(4deg); }
.cm-hub-float-icon { grid-row:span 2; display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:#fbedf2; color:#a02149; font-size:1.3rem; }
.cm-hub-art-float strong { color:#3d0d22; line-height:1.15; font-size:.85rem; }
.cm-hub-art-float small { color:#786a72; font-weight:600; font-size:.72rem; }
.cm-hub-section { padding:clamp(55px,7vw,96px) 0; }
.cm-hub-section-header { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); align-items:end; gap:35px; margin-bottom:33px; }
.cm-hub-section-header h2,.cm-hub-spotlight h2,.cm-hub-last h2 { font-size:clamp(1.8rem,3vw,2.75rem); line-height:1.15; letter-spacing:-.043em; color:#43162a; margin:9px 0 0; font-weight:800; }
.cm-hub-section-header p { max-width:500px; margin:0; line-height:1.7; }
.cm-hub-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.cm-hub-tile { padding:24px 21px 21px; min-width:0; min-height:310px; display:flex; flex-direction:column; justify-content:space-between; gap:12px;
 border-radius:23px; background:#fff; box-shadow:0 16px 35px rgba(65,20,41,.065); border:1px solid rgba(160,33,73,.13); transition:transform .2s ease,box-shadow .2s ease; }
.cm-hub-tile:hover { transform:translateY(-4px); box-shadow:0 23px 45px rgba(65,20,41,.11); }
.cm-hub-tile-main { background:linear-gradient(155deg,#5c1935,#a02149); border-color:transparent; }
.cm-hub-tile-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:#a02149; background:#fbedf2; font-size:.89rem; font-weight:830; }
.cm-hub-tile-main .cm-hub-tile-icon { background:rgba(255,255,255,.18); color:#fff; }
.cm-hub-chip { display:inline-block; padding:4px 8px; border-radius:6px; font-size:.66rem; font-weight:840; letter-spacing:.08em; color:#16705f; background:#e9f7f3; }
.cm-hub-chip-muted { color:#665461; background:#eeeaf0; }
.cm-hub-tile-main .cm-hub-chip { color:#fff; background:rgba(255,255,255,.2); }
.cm-hub-tile h3 { color:#3d0d22; font-size:1.28rem; letter-spacing:-.028em; line-height:1.2; margin:10px 0 9px; font-weight:770; }
.cm-hub-tile p { color:#72656d; line-height:1.6; font-size:.87rem; margin:0; }
.cm-hub-tile-main h3,.cm-hub-tile-main p { color:#fff; }
.cm-hub-tile-main p { color:#f3dce5; }
.cm-hub-tile-link { border-top:1px solid rgba(160,33,73,.12); padding-top:15px; font-size:.83rem; font-weight:800; display:flex; justify-content:space-between; align-items:center; color:#9e224a; }
.cm-hub-tile-main .cm-hub-tile-link { color:#fff; border-top-color:rgba(255,255,255,.25); }
.cm-hub-tile-link span { font-size:1.05rem; }
.cm-hub-spotlight { background:linear-gradient(120deg,#fff8fa,#fff 50%,#f9f1f6); border-block:1px solid rgba(160,33,73,.07); }
.cm-hub-spotlight-grid { display:grid; grid-template-columns:1fr .85fr; gap:clamp(30px,7vw,100px); align-items:center; }
.cm-hub-spotlight-panel p { max-width:600px; line-height:1.8; margin:22px 0 25px; }
.cm-hub-steps { background:#fff; padding:clamp(16px,3vw,33px); border:1px solid rgba(160,33,73,.13); border-radius:26px; box-shadow:0 18px 50px rgba(65,20,41,.07); }
.cm-hub-steps>div { display:grid; grid-template-columns:45px 1fr; gap:14px; padding:20px 8px; }
.cm-hub-steps>div+div { border-top:1px solid #f5e3eb; }
.cm-hub-steps>div>span { width:38px; height:38px; display:grid; place-items:center; border-radius:13px; background:#fbedf2; color:#a02149; font-weight:820; }
.cm-hub-steps strong { color:#43162a; font-weight:800; }
.cm-hub-steps p { margin:4px 0 0; font-size:.87rem; line-height:1.6; }
.cm-hub-future-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.cm-hub-future-grid>div { min-width:0; padding:25px; border-radius:20px; border:1px solid rgba(160,33,73,.11); background:#fff; }
.cm-hub-future-grid span { display:grid; place-items:center; width:47px; height:47px; border-radius:13px; background:#fbedf2; color:#a02149; font-size:1.9rem; font-weight:800; }
.cm-hub-future-grid h3 { margin:18px 0 7px; color:#40182b; font-size:1.08rem; }
.cm-hub-future-grid p { margin:0; line-height:1.7; font-size:.88rem; }
.cm-hub-last { background:linear-gradient(135deg,#3e0b22,#9d2349); padding:50px 0; }
.cm-hub-last-inner { display:flex; align-items:center; justify-content:space-between; gap:26px; }
.cm-hub-last .cm-kicker { color:#ffc7d7; }
.cm-hub-last h2 { color:#fff; max-width:650px; font-size:clamp(1.55rem,2.65vw,2.35rem); }
.cm-hub-last p { color:#f8dce6; margin:13px 0 0; }
.cm-hub-last .cm-btn { flex-shrink:0; background:#fff; color:#9b1e46; }
.cm-notice { padding:12px 15px; background:#fff4ee; border:1px solid #f7c8b4; border-radius:12px; margin-bottom:20px; color:#79401d; }
.cm-notice a { text-decoration:underline; }
html[data-cm-theme='dark'] .hub-page .cm-hub-hero,
html[data-cm-theme='dark'] .cm-hub-hero { background:linear-gradient(145deg,#25121d,#3b152b 70%,#2a1828); }
html[data-cm-theme='dark'] .cm-hub-hero-text h1,html[data-cm-theme='dark'] .cm-hub-section-header h2,
html[data-cm-theme='dark'] .cm-hub-spotlight h2 { color:#fff1f6; }
html[data-cm-theme='dark'] .cm-hub-hero-text>p,html[data-cm-theme='dark'] .cm-hub-trust span { color:#e7cfda; }
html[data-cm-theme='dark'] .cm-hub-tile:not(.cm-hub-tile-main),html[data-cm-theme='dark'] .cm-hub-steps,
html[data-cm-theme='dark'] .cm-hub-future-grid>div { background:#341929; border-color:#63324c; }
html[data-cm-theme='dark'] .cm-hub-tile:not(.cm-hub-tile-main) h3,
html[data-cm-theme='dark'] .cm-hub-steps strong,html[data-cm-theme='dark'] .cm-hub-future-grid h3 { color:#fff4f8; }
html[data-cm-theme='dark'] .cm-hub-tile:not(.cm-hub-tile-main) p,
html[data-cm-theme='dark'] .cm-hub-steps p { color:#e0cbd5; }
html[data-cm-theme='dark'] .cm-hub-spotlight { background:#281622; }
html[data-cm-theme='dark'] .cm-hub-future-grid p { color:#d7c4cf; }
html[data-cm-theme='dark'] .cm-hub-wordmark strong { color:#ffe5ee; }
@media (max-width:1160px) { .cm-hub-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } .cm-hub-tile { min-height:265px; } }
@media (max-width:900px) { .cm-hub-hero-grid { grid-template-columns:1fr; } .cm-hub-feature-art { min-height:350px; max-width:560px; width:100%; margin-inline:auto; } .cm-hub-hero { padding-top:70px; } .cm-hub-spotlight-grid { grid-template-columns:1fr; } }
@media (max-width:670px) { .cm-hub-section-header { grid-template-columns:1fr; gap:12px; } .cm-hub-tiles,.cm-hub-future-grid { grid-template-columns:1fr; } .cm-hub-tile { min-height:245px; } .cm-hub-last-inner { flex-direction:column; align-items:flex-start; } .cm-hub-feature-art { min-height:310px; } .cm-hub-art-main { width:78%; padding:24px; } .cm-hub-art-float { min-width:145px; padding:10px; } .cm-hub-hero-text h1 { font-size:clamp(2.32rem,9vw,3.2rem); } .cm-hub-hero-text>p { font-size:.99rem; } }
@media (max-width:450px) { .cm-hub-feature-art { min-height:280px; } .cm-hub-art-main { width:74%; padding:18px; } .cm-hub-art-icon { font-size:2.6rem; line-height:1.2; } .cm-hub-art-main h2 { font-size:1.15rem; } .cm-hub-art-main p { font-size:.7rem; } .cm-hub-art-float { min-width:130px; padding:8px; grid-template-columns:28px 1fr; } .cm-hub-float-icon { width:28px; height:28px; } .cm-hub-art-float.top { left:-2%; } .cm-hub-art-float.bottom { right:-2%; } .cm-hub-art-float strong { font-size:.72rem; } .cm-hub-art-float small { font-size:.6rem; } .cm-hub-hero { padding:60px 0 75px; } }

/* V2 business-division cards and tools entry */
.cm-hub-business{background:linear-gradient(170deg,#fff8fb,#fff)}
.cm-hub-division-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cm-hub-division{border:1px solid rgba(160,33,73,.14);border-radius:22px;padding:26px;background:#fff;min-width:0;box-shadow:0 12px 36px rgba(65,20,41,.05)}
.cm-hub-division h3{color:#41172a;font-size:1.3rem;margin:19px 0 12px}
.cm-hub-division p{font-size:.93rem;line-height:1.7;margin:0 0 14px}
.cm-hub-division-link{color:#9e224a;font-weight:800;display:inline-block;margin-top:8px}
.cm-hub-division-muted{display:inline-block;font-size:.84rem;color:#71616b;margin-top:8px;font-weight:650}
.cm-hub-tool-promo h2{font-size:clamp(1.85rem,3vw,2.8rem);color:#43162a;line-height:1.2;margin:14px 0}
.cm-hub-tool-promo p{line-height:1.8;margin:0 0 23px}
html[data-cm-theme='dark'] .cm-hub-business{background:#281622}
html[data-cm-theme='dark'] .cm-hub-division{background:#341929;border-color:#63324c}
html[data-cm-theme='dark'] .cm-hub-division h3,html[data-cm-theme='dark'] .cm-hub-tool-promo h2{color:#fff}
@media(max-width:820px){.cm-hub-division-grid{grid-template-columns:1fr 1fr}}
@media(max-width:610px){.cm-hub-division-grid{grid-template-columns:1fr}}
