/* CPM Mega Header */
.cmh{
	--ink:#0F1719; --deep:#26292E; --mid:#3A3D42; --slate:#63676C; --grey:#A3A8AD; --red-l:#FF5A66; --mist:#E6E8EA; --sand:#F4F5F6; --red:#D71120; --red-d:#B30E1A;
	--bar:84px; --bar-c:66px; --ease:cubic-bezier(.22,.8,.24,1); --spring:cubic-bezier(.34,1.3,.4,1);
	font-family:Poppins,system-ui,sans-serif; -webkit-font-smoothing:antialiased; text-align:left; line-height:1.5; letter-spacing:normal;
	position:fixed; inset:0 0 auto 0; z-index:9990; color:#fff;
}
.cmh *, .cmh *::before, .cmh *::after{box-sizing:border-box}
.cmh a{text-decoration:none;color:inherit}
.cmh :where(button){font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;letter-spacing:inherit;text-transform:none;box-shadow:none;border-radius:0;line-height:inherit}
.cmh :where(button):hover,.cmh :where(button):focus{background:none;color:inherit}
.cmh ul{list-style:none;margin:0;padding:0}
.cmh img{display:block;width:100%;height:100%;object-fit:cover;max-width:none;border-radius:0}
.cmh p{margin:0}
.cmh :focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:6px}
.cmh-ico{width:16px;height:16px;flex:none;transition:transform .35s var(--ease)}
.cmh-spacer{height:84px}
@media (max-width:640px){.cmh-spacer{height:78px}}

/* ---------- Bar ---------- */
.cmh-bar{
	position:relative; height:var(--bar); display:flex; align-items:center; gap:28px; padding-right:24px;
	background:rgba(15,23,25,.97); transition:height .45s var(--ease), background .45s var(--ease), transform .5s var(--ease), box-shadow .45s;
	border-bottom:1px solid rgba(227,233,233,.07);
}
.cmh--overlay .cmh-bar{background:linear-gradient(180deg,rgba(15,23,25,.55),rgba(15,23,25,.25));backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}
.cmh.is-scrolled .cmh-bar, .cmh.is-open .cmh-bar, .cmh.is-drawer .cmh-bar{height:var(--bar-c);background:rgba(15,23,25,.9);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 10px 40px -20px rgba(0,0,0,.6)}
.cmh--autohide.is-hidden:not(.is-open) .cmh-bar{transform:translateY(-100%)}

.cmh-logo{height:100%;aspect-ratio:2/1;min-width:132px;background:var(--red);display:grid;place-items:center;flex:none;position:relative;overflow:hidden;transition:background .3s}
.cmh-logo img{width:62%;height:auto;object-fit:contain;transition:transform .5s var(--spring)}
.cmh-logo:hover img{transform:scale(1.05)}

.cmh-nav{position:relative;height:100%;display:flex;align-items:center;margin-left:8px}
.cmh-list{display:flex;align-items:center;gap:2px;height:100%}
.cmh-list>li{height:100%;display:flex;align-items:center}
.cmh-top{position:relative;z-index:1;display:flex;align-items:center;gap:7px;height:40px;padding:0 14px !important;font-size:13px;font-weight:700;letter-spacing:.01em;color:rgba(255,255,255,.82) !important;white-space:nowrap;transition:color .25s}
.cmh-top:hover,.cmh-top[aria-expanded="true"]{color:#fff !important}
.cmh-chev{width:10px;height:6px;opacity:.6;transition:transform .35s var(--ease),opacity .25s}
.cmh-top[aria-expanded="true"] .cmh-chev{transform:rotate(180deg);opacity:1;color:var(--red-l)}
.cmh-ind{position:absolute;left:0;top:50%;height:40px;width:0;margin-top:-20px;border-radius:999px;background:rgba(227,233,233,.1);box-shadow:inset 0 0 0 1px rgba(227,233,233,.08);opacity:0;pointer-events:none;
	transition:transform .45s var(--ease),width .45s var(--ease),opacity .25s}
.cmh-ind::after{content:"";position:absolute;left:50%;bottom:-11px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--red);transform:scale(0);transition:transform .35s var(--spring)}
.cmh.is-open .cmh-ind::after{transform:scale(1)}

.cmh-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.cmh-search-btn{display:flex;align-items:center;gap:10px;height:42px;padding:0 10px 0 14px !important;border-radius:999px !important;background:rgba(227,233,233,.07) !important;box-shadow:inset 0 0 0 1px rgba(227,233,233,.12) !important;color:rgba(255,255,255,.75) !important;font-size:13px;transition:background .25s,color .25s}
.cmh-search-btn:hover{background:rgba(227,233,233,.13) !important;color:#fff !important}
.cmh-search-btn svg{width:17px;height:17px}
.cmh-kbd,.cmh kbd{font:500 11px/1 Poppins,system-ui,sans-serif;padding:5px 7px;border-radius:6px;background:rgba(227,233,233,.1);color:inherit;box-shadow:none;border:0}
.cmh-cta{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 20px;border-radius:999px;background:var(--red);color:#fff !important;font-size:13px;font-weight:600;letter-spacing:.02em;position:relative;overflow:hidden;white-space:nowrap;isolation:isolate;transition:transform .35s var(--spring),box-shadow .35s}
.cmh-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120px circle at var(--cx,50%) var(--cy,50%),rgba(255,255,255,.28),transparent 60%);opacity:0;transition:opacity .3s}
.cmh-cta:hover{box-shadow:0 10px 30px -10px rgba(215,17,32,.8)}
.cmh-cta:hover::before{opacity:1}
.cmh-cta:hover .cmh-ico{transform:translateX(3px)}
.cmh-burger{display:none;width:44px;height:44px;border-radius:50% !important;background:rgba(227,233,233,.08) !important;position:relative}
.cmh-burger span{position:absolute;left:13px;right:13px;height:1.6px;background:#fff;border-radius:2px;transition:transform .45s var(--ease),top .45s var(--ease)}
.cmh-burger span:first-child{top:18px}
.cmh-burger span:last-child{top:25px;left:19px}
.cmh.is-drawer .cmh-burger span:first-child{top:21.5px;transform:rotate(45deg)}
.cmh.is-drawer .cmh-burger span:last-child{top:21.5px;left:13px;transform:rotate(-45deg)}


/* ---------- Dropdown (morphing) ---------- */
.cmh-dd{position:absolute;left:0;right:0;top:calc(100% - 4px);height:0;pointer-events:none;perspective:1600px}
.cmh-dd-bg,.cmh-dd-clip{position:absolute;top:14px;left:0;width:var(--w,600px);height:var(--h,300px);transform:translateX(var(--x,0)) rotateX(-12deg) scale(.96);transform-origin:50% 0;opacity:0;
	transition:transform .45s var(--ease),width .45s var(--ease),height .45s var(--ease),opacity .25s}
.cmh-dd-bg{background:#fff;border-radius:20px;box-shadow:0 40px 90px -30px rgba(15,23,25,.55),0 0 0 1px rgba(15,23,25,.06);overflow:hidden}
.cmh-glow{position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(15,23,25,.035),transparent 65%);opacity:0;transition:opacity .4s}
.cmh-dd-bg:hover .cmh-glow,.cmh.is-open .cmh-glow{opacity:1}
.cmh-dd-clip{overflow:hidden;border-radius:20px}
.cmh-dd-arrow{position:absolute;top:8px;left:0;width:14px;height:14px;background:#fff;border-radius:3px 0 0 0;transform:translateX(var(--ax,0)) rotate(45deg) scale(0);opacity:0;transition:transform .45s var(--ease),opacity .2s}
.cmh.is-open .cmh-dd{pointer-events:auto}
.cmh.is-open .cmh-dd-bg,.cmh.is-open .cmh-dd-clip{transform:translateX(var(--x,0));opacity:1}
.cmh.is-open .cmh-dd-arrow{transform:translateX(var(--ax,0)) rotate(45deg) scale(1);opacity:1}
.cmh.is-instant .cmh-dd-bg,.cmh.is-instant .cmh-dd-clip,.cmh.is-instant .cmh-dd-arrow{transition:opacity .25s,transform .35s var(--ease)}

.cmh-panel{position:absolute;top:0;left:0;width:var(--pw);color:var(--ink);padding:28px;opacity:0;visibility:hidden;transform:translateX(calc(var(--dir,1) * 60px));
	transition:opacity .3s var(--ease),transform .45s var(--ease),visibility 0s .45s}
.cmh-panel.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--ease) .06s,transform .45s var(--ease),visibility 0s}
.cmh-panel.is-out{transform:translateX(calc(var(--dir,1) * -60px))}
.cmh-panel--feature{--pw:880px}
.cmh-panel--compact{--pw:760px}
.cmh-panel--projects{--pw:1120px}
.cmh-panel--insights{--pw:1000px}
.cmh-panel small{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}

/* stagger in */
.cmh-panel [data-stag]{opacity:0;transform:translateY(8px)}
.cmh-panel.is-on [data-stag]{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--s,0) * 35ms + 80ms)}

/* feature layout */
.cmh-feature{display:grid;grid-template-columns:1fr 340px;gap:24px}
.cmh-flist{display:flex;flex-direction:column;gap:2px}
.cmh-fitem{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:14px;position:relative;transition:background .3s}
.cmh-fitem:hover,.cmh-fitem.is-on,.cmh-fitem:focus-visible{background:var(--sand)}
.cmh-fnum{font-size:12px;font-weight:600;color:var(--grey);font-variant-numeric:tabular-nums;width:22px;transition:color .3s}
.cmh-fitem.is-on .cmh-fnum{color:var(--red)}
.cmh-ftext{flex:1;min-width:0}
.cmh-ftext b,.cmh-clist b{display:block;font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.cmh-ftext small,.cmh-clist small{display:block;margin-top:3px;font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--slate);line-height:1.45}
.cmh-fitem .cmh-ico{color:var(--red);opacity:0;transform:translateX(-6px)}
.cmh-fitem:hover .cmh-ico,.cmh-fitem.is-on .cmh-ico{opacity:1;transform:none}
.cmh-preview{position:relative;border-radius:16px;overflow:hidden;background:var(--ink);min-height:320px}
.cmh-pv{position:absolute;inset:0;margin:0;display:block;opacity:0;pointer-events:none;transition:opacity .6s var(--ease)}
.cmh-pv.is-on{opacity:1;z-index:1}
.cmh.is-open .cmh-panel.is-on .cmh-pv.is-on{pointer-events:auto}
.cmh-pv:hover .cmh-pv-cap>span{color:#fff}
.cmh-pv:hover .cmh-pv-cap .cmh-ico{transform:translateX(3px)}
.cmh-pv-img{position:absolute;inset:0;transform:scale(1.12);transition:transform 6s linear}
.cmh-pv.is-on .cmh-pv-img{transform:scale(1.02)}
.cmh-pv::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,25,0) 35%,rgba(15,23,25,.88))}
.cmh-pv .cmh-pv-cap{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;color:#fff;transform:translateY(10px);opacity:0;transition:all .5s var(--ease) .1s}
.cmh-pv.is-on .cmh-pv-cap{transform:none;opacity:1}
.cmh-pv .cmh-pv-cap small{color:var(--red-l)}
.cmh-pv .cmh-pv-cap b{display:block;font-size:22px;font-weight:700;line-height:1.15;margin:6px 0 10px;letter-spacing:-.02em}
.cmh-pv .cmh-pv-cap>span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:rgba(255,255,255,.8)}
.cmh-blueprint{display:grid !important;place-items:center;background-color:var(--deep);background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),radial-gradient(circle at 70% 30%,rgba(215,17,32,.35),transparent 55%);background-size:22px 22px,22px 22px,100% 100%}
.cmh-blueprint b{font-size:56px;font-weight:800;color:rgba(227,233,233,.9);letter-spacing:-.04em}

.cmh-pfoot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px -28px -28px;padding:16px 28px;background:var(--sand);border-top:1px solid rgba(15,23,25,.06);font-size:13px;color:var(--slate)}
.cmh-pfoot a{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--red) !important;white-space:nowrap}
.cmh-pfoot a:hover .cmh-ico{transform:translateX(3px)}

/* compact layout */
.cmh-compact{display:grid;grid-template-columns:1fr 280px;gap:22px}
.cmh-clist a{display:flex;align-items:center;gap:16px;padding:12px;border-radius:14px;transition:background .3s}
.cmh-clist a:hover{background:var(--sand)}
.cmh-clist a>span:not([class]){flex:1}
.cmh-cthumb{width:64px;height:64px;border-radius:12px;overflow:hidden;flex:none}
.cmh-cthumb.cmh-blueprint b{font-size:20px}
.cmh-clist .cmh-ico{color:var(--red);opacity:0;transform:translateX(-6px)}
.cmh-clist a:hover .cmh-ico{opacity:1;transform:none}
.cmh-ccard{border-radius:16px;padding:24px;background:var(--ink);color:#fff;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.cmh-ccard::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(215,17,32,.55),transparent 70%)}
.cmh-ccard small{color:var(--red-l)}
.cmh-ccard b{font-size:20px;line-height:1.25;font-weight:700;letter-spacing:-.02em;position:relative}
.cmh-ccard .cmh-cta{align-self:flex-start;margin-top:6px}
.cmh-ccard p{display:flex;flex-direction:column;gap:2px;font-size:13px;color:rgba(255,255,255,.65);margin-top:auto}
.cmh-ccard p a:hover{color:#fff}

/* projects */
.cmh-ph{display:flex;align-items:center;gap:20px;margin-bottom:18px}
.cmh-ph>div:first-child{flex:1}
.cmh-ph b{display:block;font-size:20px;font-weight:700;letter-spacing:-.02em;margin-top:4px}
.cmh-ph b span{color:var(--red);font-variant-numeric:tabular-nums}
.cmh-filter{display:flex;align-items:center;gap:8px;height:42px;width:260px;padding:0 14px;border-radius:999px;background:var(--sand);color:var(--slate);transition:box-shadow .25s,background .25s}
.cmh-filter:focus-within{background:#fff;box-shadow:0 0 0 2px var(--ink)}
.cmh-filter svg{width:16px;height:16px;flex:none}
.cmh-filter input{all:unset;flex:1;font:400 14px Poppins,sans-serif;color:var(--ink);min-width:0}
.cmh-strip-nav{display:flex;gap:6px}
.cmh-strip-nav button{width:42px;height:42px;border-radius:50% !important;display:grid;place-items:center;background:var(--sand) !important;color:var(--ink) !important;transition:background .25s,color .25s,opacity .25s}
.cmh-strip-nav button:hover{background:var(--ink) !important;color:#fff !important}
.cmh-strip-nav button:disabled{opacity:.35;pointer-events:none}
.cmh-strip-nav svg{width:16px;height:16px}
.cmh-strip{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:calc((100% - 3 * 14px) / 4.3);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -28px;padding:0 28px;scroll-padding:0 28px;
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 60px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 60px),transparent);cursor:grab}
.cmh-strip::-webkit-scrollbar{display:none}
.cmh-strip.is-drag{cursor:grabbing;scroll-snap-type:none}
.cmh-strip.is-drag a{pointer-events:none}
.cmh-proj{scroll-snap-align:start;display:block;position:relative}
.cmh-proj[hidden]{display:none}
.cmh-proj-img{display:block;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:var(--mist);position:relative}
.cmh-proj-img img{transition:transform .8s var(--ease),filter .5s}
.cmh-proj-img::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(15,23,25,.06)}
.cmh-proj:hover .cmh-proj-img img{transform:scale(1.07)}
.cmh-strip:hover .cmh-proj:not(:hover) img{filter:saturate(.4) brightness(.92)}
.cmh-proj b{display:block;font-size:13px;font-weight:600;line-height:1.3;margin-top:8px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .25s}
.cmh-proj:hover b{color:var(--red)}
.cmh-empty{grid-row:1/3;align-self:center;font-size:14px;color:var(--slate);padding:40px 0;white-space:nowrap}

/* insights */
.cmh-ins{display:grid;grid-template-columns:400px 1fr;gap:28px}
.cmh-lead{display:block;position:relative;border-radius:16px;overflow:hidden;background:var(--ink);min-height:340px;color:#fff !important}
.cmh-lead-img{position:absolute;inset:0}
.cmh-lead-img img{transition:transform 1.2s var(--ease)}
.cmh-lead:hover .cmh-lead-img img{transform:scale(1.06)}
.cmh-lead::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,25,.05) 25%,rgba(15,23,25,.92))}
.cmh-lead-txt{position:absolute;left:22px;right:22px;bottom:20px;z-index:1}
.cmh-lead-txt small{color:var(--red-l)}
.cmh-lead-txt b{display:block;font-size:20px;line-height:1.25;font-weight:700;margin:8px 0;letter-spacing:-.015em}
.cmh-lead-txt em{font-style:normal;font-size:12px;color:rgba(255,255,255,.65)}
.cmh-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.cmh-chips button{height:32px;padding:0 13px !important;border-radius:999px !important;font-size:12.5px;font-weight:500;background:var(--sand) !important;color:var(--mid) !important;transition:background .25s,color .25s}
.cmh-chips button:hover{background:var(--mist) !important}
.cmh-chips button.is-on{background:var(--ink) !important;color:#fff !important}
.cmh-plist{display:flex;flex-direction:column;gap:2px;min-height:300px}
.cmh-plist a{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:center;padding:9px;border-radius:12px;transition:background .25s}
.cmh-plist a:hover{background:var(--sand)}
.cmh-plist li{animation:cmh-up .45s var(--ease) both;animation-delay:calc(var(--s,0) * 45ms)}
.cmh-plist .cmh-pthumb{aspect-ratio:16/10;border-radius:9px;overflow:hidden;background:var(--mist)}
.cmh-plist b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;font-weight:600;line-height:1.35;color:var(--ink)}
.cmh-plist a:hover b{color:var(--red)}
.cmh-plist em{display:block;font-style:normal;font-size:12px;color:var(--slate);margin-top:4px}
@keyframes cmh-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Scrim ---------- */
.cmh-scrim{position:fixed;inset:0;z-index:-1;background:rgba(15,23,25,.42);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.cmh.is-open .cmh-scrim,.cmh.is-drawer .cmh-scrim{opacity:1}
.cmh.is-drawer .cmh-scrim{pointer-events:auto}

/* ---------- Command palette ---------- */
.cmh-palette{position:fixed;inset:0;z-index:99999;color:var(--ink);display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:rgba(15,23,25,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
.cmh-palette.is-on{opacity:1;visibility:visible;transition:opacity .25s}
.cmh-pal-box{width:min(680px,100%);background:#fff;color:var(--ink);border-radius:20px;overflow:hidden;box-shadow:0 50px 120px -30px rgba(0,0,0,.6);transform:translateY(-14px) scale(.97);transition:transform .4s var(--spring)}
.cmh-palette.is-on .cmh-pal-box{transform:none}
.cmh-pal-head{display:flex;align-items:center;gap:12px;padding:0 18px;height:64px;border-bottom:1px solid rgba(15,23,25,.08);color:var(--slate)}
.cmh-pal-head svg{width:20px;height:20px;flex:none}
.cmh-pal-head input{all:unset;flex:1;font:400 17px Poppins,sans-serif;color:var(--ink)}
.cmh-pal-head input::-webkit-search-cancel-button{display:none}
.cmh-pal-head kbd{background:var(--sand) !important;color:var(--slate) !important;cursor:pointer}
.cmh-pal-res{max-height:min(56vh,520px);overflow-y:auto;padding:8px;overscroll-behavior:contain}
.cmh-pal-grp{padding:12px 12px 6px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.cmh-pal-item{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:12px;color:var(--ink) !important;scroll-margin:8px}
.cmh-pal-item.is-on{background:var(--sand)}
.cmh-pal-item.is-on .cmh-ico{opacity:1;transform:none}
.cmh-pal-item .cmh-ico{color:var(--red);opacity:0;transform:translateX(-4px);margin-left:auto}
.cmh-pal-th{width:52px;height:36px;border-radius:7px;overflow:hidden;flex:none;background:var(--mist);display:grid;place-items:center;color:var(--slate)}
.cmh-pal-th svg{width:18px;height:18px}
.cmh-pal-tx{min-width:0}
.cmh-pal-tx b{display:block;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmh-pal-tx b mark{background:none;color:var(--red);font-weight:700}
.cmh-pal-tx small{display:block;font-size:12px;color:var(--slate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmh-pal-empty{padding:28px 16px;text-align:center;color:var(--slate);font-size:14px}
.cmh-pal-foot{display:flex;gap:18px;align-items:center;padding:10px 18px;border-top:1px solid rgba(15,23,25,.08);font-size:12px;color:var(--slate)}
.cmh-pal-foot kbd{background:var(--sand) !important;margin-right:3px;padding:3px 6px}
.cmh-pal-status{margin-left:auto;display:flex;align-items:center;gap:8px}
.cmh-pal-status.is-busy::before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid var(--mist);border-top-color:var(--red);animation:cmh-spin .7s linear infinite}
@keyframes cmh-spin{to{transform:rotate(360deg)}}

/* ---------- Mobile drawer ---------- */
.cmh-drawer{display:none}
@media (max-width:1180px){
	.cmh-nav,.cmh-search-lbl,.cmh-kbd,.cmh-dd{display:none}
	.cmh-burger{display:block}
	.cmh-search-btn{width:44px;padding:0 !important;justify-content:center}
	.cmh-bar{gap:12px;padding-right:12px}
}
@media (max-width:640px){
	.cmh{--bar:68px;--bar-c:60px}
	.cmh-logo{min-width:104px}
	.cmh-actions>.cmh-cta{display:none}
}
@media (max-width:1180px){
	/* Light drawer: same surface as the desktop panels. */
	.cmh-drawer{display:block;position:fixed;top:var(--bar-c);right:0;bottom:0;width:min(440px,100%);background:#fff;color:var(--ink);overflow:hidden;
		box-shadow:0 30px 80px -30px rgba(15,23,25,.55);transform:translateX(100%);visibility:hidden;transition:transform .45s var(--ease),visibility 0s .45s}
	.cmh.is-drawer .cmh-drawer{transform:none;visibility:visible;transition:transform .45s var(--ease)}
	.cmh-drawer-track{position:absolute;inset:0}
	.cmh-level{position:absolute;inset:0;display:flex;flex-direction:column;background:#fff;transform:translateX(100%);visibility:hidden;transition:transform .38s var(--ease),visibility 0s .38s}
	.cmh-level.is-on{transform:none;visibility:visible;transition:transform .38s var(--ease)}
	.cmh-level.is-left{transform:translateX(-24%);visibility:visible}
	.cmh-lbody{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px 24px;-webkit-overflow-scrolling:touch}

	.cmh-chevr{width:16px;height:16px;flex:none;color:var(--grey)}

	/* Root */
	.cmh .cmh-msearch{display:flex !important;align-items:center;gap:10px;width:100%;height:48px;padding:0 16px !important;margin:0 0 10px !important;border-radius:14px !important;background:var(--sand) !important;color:var(--slate) !important;font-size:14px;font-weight:400;text-align:left;border:0 !important;box-shadow:none !important}
	.cmh-msearch svg{width:18px;height:18px;flex:none}
	.cmh-mlist>li{border-bottom:1px solid rgba(15,23,25,.07)}
	.cmh-mlist>li:last-child{border-bottom:0}
	.cmh .cmh-mrow{display:flex !important;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:60px;padding:0 4px !important;font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--ink) !important;text-align:left;-webkit-tap-highlight-color:transparent;background:transparent !important;border:0 !important;box-shadow:none !important;border-radius:0 !important}
	.cmh-mrow>span{display:flex;align-items:center;gap:10px}
	.cmh-mrow small{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--sand);color:var(--slate)}
	.cmh .cmh-mrow:active{background:var(--sand) !important}
	.cmh-mfoot{padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid rgba(15,23,25,.07);background:#fff;display:flex;flex-direction:column;gap:10px}
	.cmh-cta--block{justify-content:center;height:52px;font-size:15px}
	.cmh-mcontact{display:grid;grid-template-columns:1fr 1fr;gap:10px}
	.cmh-mcontact a{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;border-radius:999px;background:var(--sand);color:var(--ink) !important;font-size:14px;font-weight:600}
	.cmh-mcontact svg{width:17px;height:17px;color:var(--red)}

	/* Sub levels */
	.cmh-mtop{display:flex;align-items:center;gap:10px;height:60px;padding:0 12px;border-bottom:1px solid rgba(15,23,25,.07);flex:none}
	.cmh-mtop b{font-size:17px;font-weight:700;color:var(--ink)}
	.cmh .cmh-back{display:grid !important;place-items:center;width:40px;height:40px;padding:0 !important;margin:0 !important;border-radius:50% !important;background:var(--sand) !important;color:var(--ink) !important}
	.cmh-back svg{width:16px;height:16px}
	.cmh-msub>li{border-bottom:1px solid rgba(15,23,25,.07)}
	.cmh-msub>li:last-child{border-bottom:0}
	.cmh-msub a{display:flex;align-items:center;gap:14px;padding:14px 4px;-webkit-tap-highlight-color:transparent}
	.cmh-msub a:active{background:var(--sand)}
	.cmh-mthumb{width:56px;height:56px;border-radius:12px;overflow:hidden;flex:none}
	.cmh-mthumb.cmh-blueprint b{font-size:18px}
	.cmh-msub-tx{flex:1;min-width:0}
	.cmh-msub-tx b{display:block;font-size:15px;font-weight:700;color:var(--ink);line-height:1.3}
	.cmh-msub-tx small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;color:var(--slate);line-height:1.4;margin-top:2px}
	.cmh-mgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}
	.cmh-mgrid span{display:block;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--mist)}
	.cmh-mgrid b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:600;margin-top:7px;line-height:1.3;color:var(--ink)}
	.cmh-mposts>li{border-bottom:1px solid rgba(15,23,25,.07)}
	.cmh-mposts a{display:flex;gap:14px;align-items:center;padding:12px 0}
	.cmh-mpimg{width:88px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--mist);flex:none}
	.cmh-mposts b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;font-weight:600;line-height:1.35;color:var(--ink)}
	.cmh-mposts small{display:block;font-size:12px;color:var(--slate);margin-top:3px}
	.cmh-mall{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:0 18px;height:52px;border-radius:14px;background:var(--sand);font-size:15px;font-weight:700;color:var(--ink) !important}
	.cmh-mall .cmh-chevr{color:var(--red)}
	.cmh-palette{padding-top:16px}
}

html.cmh-lock,html.cmh-lock body{overflow:hidden}
body.admin-bar .cmh{top:32px}
@media (max-width:782px){body.admin-bar .cmh{top:46px}}

@media (prefers-reduced-motion:reduce){
	.cmh *,.cmh *::before,.cmh *::after{transition-duration:.01ms !important;animation-duration:.01ms !important;transition-delay:0s !important}
}

/* Theme input styles bleed in; keep the custom fields clean. */
.cmh-filter input,.cmh-filter input:focus,.cmh-pal-head input,.cmh-pal-head input:focus{border:0 !important;outline:0 !important;box-shadow:none !important;background:transparent !important;padding:0 !important;height:auto !important;margin:0 !important}
.cmh-strip.is-few{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:repeat(4,1fr);grid-auto-columns:auto}

/* ---------- Badges, featured card, tool cards ---------- */
.cmh-badge{display:inline-flex;align-items:center;height:19px;padding:0 7px;margin-left:8px;border-radius:999px;background:var(--red);color:#fff;font:700 10px/1 Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;font-style:normal;vertical-align:middle;position:relative;top:-1px}
.cmh-compact.has-feat{grid-template-columns:330px 1fr}
.cmh-panel--compact:has(.has-feat){--pw:820px}
.cmh-ccard--feat{padding:0;min-height:300px;justify-content:flex-end;color:#fff !important}
.cmh-ccard--feat::before{display:none}
.cmh-ccard-img{position:absolute;inset:0;transition:transform 1.2s var(--ease)}
.cmh-ccard--feat:hover .cmh-ccard-img{transform:scale(1.05)}
.cmh-ccard--feat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,25,.1) 20%,rgba(15,23,25,.94))}
.cmh-ccard-body{position:relative;z-index:1;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.cmh-ccard-body .cmh-badge{margin-left:0;top:0}
.cmh-ccard-body b{font-size:24px}
.cmh-ccard-desc{font-size:13px;line-height:1.5;color:rgba(255,255,255,.75)}
.cmh-ccard-go{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:13px;font-weight:600;color:#fff}
.cmh-ccard--feat:hover .cmh-ccard-go .cmh-ico{transform:translateX(3px)}
.cmh-cside{display:flex;flex-direction:column;gap:14px;min-width:0}
.cmh-ccontact{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:16px;border-radius:14px;background:var(--sand)}
.cmh-ccontact p{display:flex;flex-direction:column;font-size:12.5px;color:var(--slate);text-align:right}
.cmh-ccontact p a:hover{color:var(--red) !important}
.cmh-panel--cards{--pw:720px}
.cmh-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cmh-card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--sand);position:relative;transition:transform .45s var(--ease),box-shadow .45s}
a.cmh-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -20px rgba(15,23,25,.45)}
.cmh-card-img{display:block;aspect-ratio:16/9;overflow:hidden}
.cmh-card-img img{transition:transform 1s var(--ease)}
a.cmh-card:hover .cmh-card-img img{transform:scale(1.05)}
.cmh-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:5px}
.cmh-card-body b{font-size:17px;font-weight:700;color:var(--ink)}
.cmh-card-body small{font-size:13px !important;font-weight:400 !important;letter-spacing:0 !important;text-transform:none !important;line-height:1.45}
.cmh-card-go{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:600;color:var(--red)}
a.cmh-card:hover .cmh-card-go .cmh-ico{transform:translateX(3px)}
.cmh-card--soon{background:transparent;border:1.5px dashed rgba(15,23,25,.15);justify-content:center}
.cmh-card--soon small{font-size:11px !important;font-weight:600 !important;letter-spacing:.14em !important;text-transform:uppercase !important}
.cmh-card--soon span span{font-size:13px;color:var(--slate);line-height:1.45}

/* ---------- Utility strip (two-tier only) ---------- */
.cmh-util{display:none}
.cmh--bar-tier .cmh-util{display:flex;align-items:center;justify-content:space-between;gap:20px;height:36px;padding:0 24px;background:var(--red);color:#fff;font-size:12.5px;font-weight:500;overflow:hidden;transition:height .45s var(--ease),opacity .3s}
.cmh--bar-tier .cmh-util .cmh-badge{background:#fff;color:var(--red);margin:0 10px 0 0;height:18px}
.cmh-util-lead{display:inline-flex;align-items:center;gap:6px}
.cmh-util-lead:hover .cmh-ico{transform:translateX(3px)}
.cmh-util-contact{display:flex;gap:22px;opacity:.9}
.cmh-util-contact a:hover{text-decoration:underline}
.cmh--bar-tier.is-scrolled .cmh-util{height:0;opacity:0}
.cmh--bar-tier .cmh-bar{background:rgba(15,23,25,.97)}

/* ---------- B · Floating capsule ---------- */
.cmh--bar-capsule .cmh-bar{margin:24px 40px 0;height:68px;border-radius:999px;padding-right:10px;background:rgba(15,23,25,.72);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px -24px rgba(0,0,0,.7)}
.cmh--bar-capsule .cmh-logo{height:52px;margin-left:9px;border-radius:999px;min-width:118px;aspect-ratio:auto;padding:0 22px}
.cmh--bar-capsule .cmh-logo img{width:76px}
.cmh--bar-capsule.is-scrolled .cmh-bar,.cmh--bar-capsule.is-open .cmh-bar{height:60px;margin-top:14px}
.cmh--bar-capsule.is-scrolled .cmh-logo,.cmh--bar-capsule.is-open .cmh-logo{height:46px}
.cmh--bar-capsule.cmh--autohide.is-hidden:not(.is-open) .cmh-bar{transform:translateY(calc(-100% - 24px))}
.cmh--bar-capsule .cmh--bar-capsule .cmh-cta{height:48px}

/* ---------- C · Light ---------- */
.cmh--bar-light .cmh-bar,.cmh--bar-light.is-scrolled .cmh-bar,.cmh--bar-light.is-open .cmh-bar{background:rgba(255,255,255,.97);border-bottom-color:rgba(15,23,25,.08);backdrop-filter:none}
.cmh--bar-light .cmh-top{color:var(--mid) !important}
.cmh--bar-light .cmh-top:hover,.cmh--bar-light .cmh-top[aria-expanded="true"]{color:var(--ink) !important}
.cmh--bar-light .cmh-ind{background:var(--sand);box-shadow:inset 0 0 0 1px rgba(15,23,25,.06)}
.cmh--bar-light .cmh-search-btn{background:var(--sand) !important;box-shadow:none !important;color:var(--slate) !important}
.cmh--bar-light .cmh-search-btn:hover{color:var(--ink) !important;background:var(--mist) !important}
.cmh--bar-light .cmh-kbd{background:#fff;box-shadow:inset 0 0 0 1px rgba(15,23,25,.1)}
.cmh--bar-light .cmh-burger{background:var(--sand) !important}
.cmh--bar-light .cmh-burger span{background:var(--ink)}
.cmh--bar-light .cmh-dd-bg{box-shadow:0 40px 90px -30px rgba(15,23,25,.35),0 0 0 1px rgba(15,23,25,.08)}

/* ---------- D · Editorial (centred, underline) ---------- */
.cmh--bar-editorial .cmh-nav{position:absolute;left:50%;transform:translateX(-50%);margin:0}
.cmh--bar-editorial .cmh-top{font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:0 16px !important;height:100%}
.cmh--bar-editorial .cmh-chev{display:none}
.cmh--bar-editorial .cmh-ind{top:auto;bottom:0;margin:0;height:3px;border-radius:0;background:var(--red);box-shadow:none}
.cmh--bar-editorial .cmh-ind::after{display:none}
.cmh--bar-editorial .cmh-bar{background:linear-gradient(180deg,rgba(15,23,25,.7),rgba(15,23,25,0));backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}
.cmh--bar-editorial.is-scrolled .cmh-bar,.cmh--bar-editorial.is-open .cmh-bar{background:rgba(15,23,25,.96);border-bottom-color:rgba(255,255,255,.06)}
.cmh--bar-editorial .cmh-search-lbl,.cmh--bar-editorial .cmh-search-btn .cmh-kbd{display:none}
.cmh--bar-editorial .cmh-search-btn{width:44px;padding:0 !important;justify-content:center}
.cmh--bar-editorial .cmh-dd-arrow{display:none}
@media (max-width:1180px){.cmh--bar-editorial .cmh-nav{display:none}}
@media (max-width:640px){.cmh--bar-tier .cmh-util-contact{display:none}.cmh--bar-capsule .cmh-bar{margin:14px 14px 0}}
.cmh--bar-tier.is-drawer .cmh-util{height:0;opacity:0}

/* Theme button styles (bg/border/hover) must not reach the menu buttons. */
.cmh .cmh-top,.cmh .cmh-top:hover,.cmh .cmh-top:focus,.cmh .cmh-top:active{background:transparent !important;border:0 !important;box-shadow:none !important;min-height:0;width:auto}
.cmh .cmh-top{border-radius:999px !important}
.cmh .cmh-mlist .cmh-mrow,.cmh .cmh-mlist .cmh-mrow:hover,.cmh .cmh-mlist .cmh-mrow:focus{min-height:60px !important;font-size:18px !important;font-weight:700 !important;line-height:1.2 !important;color:var(--ink) !important;background:transparent !important;border:0 !important;box-shadow:none !important}
.cmh .cmh-back:hover,.cmh .cmh-back:focus,.cmh .cmh-msearch:hover,.cmh .cmh-msearch:focus{background:var(--sand) !important;border:0 !important;box-shadow:none !important}

/* Capsule: the mobile drawer floats as a card under the capsule. */
@media (max-width:1180px){
	.cmh--bar-capsule .cmh-bar{margin-left:24px;margin-right:24px}
	.cmh--bar-capsule .cmh-drawer{top:calc(var(--bar-c) + 20px);right:10px;bottom:10px;width:min(440px,calc(100% - 20px));border-radius:24px;transform:translateY(-10px);opacity:0;transition:transform .4s var(--ease),opacity .25s,visibility 0s .4s}
	.cmh--bar-capsule.is-drawer .cmh-drawer{transform:none;opacity:1;transition:transform .4s var(--ease),opacity .25s}
	.cmh--bar-capsule.is-drawer .cmh-bar{height:var(--bar-c);margin-top:10px}
	.cmh--bar-capsule.is-drawer .cmh-logo{height:46px}
}
@media (max-width:640px){.cmh--bar-capsule .cmh-bar{margin-left:14px;margin-right:14px}.cmh--bar-capsule .cmh-logo{min-width:0;padding:0 18px}.cmh--bar-capsule .cmh-logo img{width:64px}}
.cmh .cmh-mlist .cmh-mrow>span{font-size:18px !important;font-weight:700 !important;color:var(--ink) !important;font-family:Poppins,system-ui,sans-serif !important;letter-spacing:-.01em}
.cmh .cmh-mlist .cmh-mrow>span small{font-size:11px !important;font-weight:600 !important}

/* Site header: heroes run under the floating capsule. The old theme header needed a
   100px top margin on the first hero; drop it wherever this header is loaded. */
@media (max-width:1024px){
	/* Stacked hero: image sits first, so it can start at the very top under the capsule. */
	.elementor-widget-cpm-hero-header > .elementor-widget-container{margin-top:0 !important}
}
@media (min-width:1025px){
	/* Side-by-side hero: keep the content card where it was, stretch only the image layers up under the capsule. */
	.elementor-widget-cpm-hero-header .cpm-hero-v2{overflow:visible}
	.elementor-widget-cpm-hero-header .cpm-hero-v2__media,
	.elementor-widget-cpm-hero-header .cpm-hero-v2__overlay,
	.elementor-widget-cpm-hero-header .cpm-hero-v2__gradient{top:-100px !important;height:calc(100% + 100px) !important;bottom:auto !important}
}
.cmh--bar-capsule .cmh-bar{background:rgba(15,23,25,.8)}

/* Capsule · mini state: shrinks (not hides) on scroll down, mega menu stays live. */
.cmh--bar-capsule{--resize:.9s cubic-bezier(.45,0,.2,1)}
.cmh--bar-capsule .cmh-bar{transition:height var(--resize),margin var(--resize),gap var(--resize),padding var(--resize),background .6s ease,transform .5s var(--ease),box-shadow .6s ease}
.cmh--bar-capsule .cmh-logo,.cmh--bar-capsule .cmh-top,.cmh--bar-capsule .cmh-cta,.cmh--bar-capsule .cmh-search-btn,.cmh--bar-capsule .cmh-burger{transition:height var(--resize),min-width var(--resize),width var(--resize),padding var(--resize),margin var(--resize),font-size var(--resize),background .3s,color .25s}
.cmh--bar-capsule .cmh-logo img{transition:width var(--resize),transform .5s var(--spring)}
.cmh--bar-capsule .cmh-nav,.cmh--bar-capsule .cmh-actions{transition:margin var(--resize),gap var(--resize)}
.cmh--bar-capsule .cmh-ind{transition:transform .45s var(--ease),width .45s var(--ease),height var(--resize),margin var(--resize),opacity .25s}
.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-bar{height:54px;margin-top:10px;gap:14px;padding-right:7px;background:rgba(15,23,25,.9)}
.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-logo{height:42px;min-width:84px;padding:0 14px;margin-left:6px}
.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-logo img{width:54px}
.cmh--bar-capsule.is-mini .cmh-nav{margin-left:0}
.cmh--bar-capsule.is-mini .cmh-top{height:36px;padding:0 11px !important;font-size:12.5px}
.cmh--bar-capsule.is-mini .cmh-ind{height:36px;margin-top:-18px}
.cmh--bar-capsule.is-mini .cmh-actions{gap:8px}
.cmh--bar-capsule.is-mini .cmh-search-btn{height:40px;padding:0 11px !important;gap:0}
.cmh--bar-capsule.is-mini .cmh-cta{height:40px;padding:0 16px;font-size:12px}
.cmh--bar-capsule.is-mini.cmh--autohide.is-hidden .cmh-bar{transform:none}
@media (min-width:1181px){
	.cmh--bar-capsule.is-mini .cmh-bar{margin-left:max(40px,calc((100% - 1040px) / 2));margin-right:max(40px,calc((100% - 1040px) / 2))}
}
@media (max-width:1180px){
	.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-bar{height:56px}
	.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-burger{width:40px;height:40px}
	.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-burger span:first-child{top:16px}
	.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-burger span:last-child{top:23px}
}


/* Closed drawer must not catch taps/swipes: its active level is visibility:visible, which
   overrides the hidden drawer, and the capsule drawer only fades rather than sliding away. */
.cmh:not(.is-drawer) .cmh-drawer,.cmh:not(.is-drawer) .cmh-drawer *{pointer-events:none !important}
.cmh:not(.is-drawer) .cmh-drawer .cmh-level.is-on{visibility:inherit;transition:visibility 0s .4s}

/* Value ticker beside search: links to the Portfolio Value page. */
.cmh-ticker{display:flex;align-items:center;gap:10px;height:42px;padding:0 16px 0 14px;border-radius:999px;background:rgba(227,233,233,.07);box-shadow:inset 0 0 0 1px rgba(227,233,233,.12);color:#fff !important;white-space:nowrap;flex:none;transition:background .25s,height var(--resize,.45s)}
.cmh-ticker:hover{background:rgba(227,233,233,.13)}
.cmh-ticker-dot{width:7px;height:7px;border-radius:50%;background:var(--red-l);flex:none;animation:cmhPulse 2.6s ease-out infinite}
@keyframes cmhPulse{0%{box-shadow:0 0 0 0 rgba(255,90,102,.55)}70%,100%{box-shadow:0 0 0 7px rgba(255,90,102,0)}}
.cmh-ticker-txt{display:grid;gap:2px;text-align:left}
.cmh-ticker-txt b{font:700 14px/1 Poppins,system-ui,sans-serif;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:#fff}
.cmh-ticker-txt small{font:500 10px/1.1 Poppins,system-ui,sans-serif;letter-spacing:.02em;color:rgba(255,255,255,.62)}
.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-ticker{height:36px;padding:0 12px 0 11px;gap:7px}
.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-ticker-txt b{font-size:13px}
@media (prefers-reduced-motion:reduce){.cmh-ticker-dot{animation:none}}

/* Full-width capsule on laptops: use the compact menu sizing so nav, ticker, search and CTA all fit. */
@media (min-width:1181px) and (max-width:1500px){
	.cmh--bar-capsule .cmh-bar{gap:16px}
	.cmh--bar-capsule .cmh-top{padding:0 10px !important;font-size:12.5px}
	.cmh--bar-capsule .cmh-actions{gap:8px}
	.cmh--bar-capsule .cmh-search-btn{width:42px;padding:0 !important;justify-content:center;gap:0}
	.cmh--bar-capsule .cmh-search-lbl,.cmh--bar-capsule .cmh-search-btn .cmh-kbd{display:none}
	.cmh--bar-capsule .cmh-cta{padding:0 16px;font-size:12px}
}
@media (min-width:1181px) and (max-width:1300px){
	.cmh--bar-capsule .cmh-ticker-txt small{display:none}
	.cmh--bar-capsule .cmh-ticker{padding:0 13px 0 12px;gap:8px}
}
/* Phones and tablets: compact ticker between the logo and the icons. */
@media (max-width:1180px){
	.cmh-ticker{height:40px;padding:0 12px 0 11px;gap:8px}
	.cmh-ticker-txt b{font-size:13px}
	.cmh-ticker-txt small{font-size:9px}
}
@media (max-width:359px){.cmh-ticker{display:none}}
.cmh-ticker-txt b *{font:inherit !important;color:inherit !important;letter-spacing:inherit}
@media (max-width:560px){.cmh-ticker-txt small{display:none}.cmh-ticker{padding:0 12px 0 11px}}

/* Big ↔ small bar: collapse the search label, shortcut hint and ticker label instead of switching them off, so they animate. */
@media (min-width:1501px){
	.cmh--bar-capsule .cmh-search-lbl,.cmh--bar-capsule .cmh-search-btn .cmh-kbd{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:middle;transition:max-width var(--resize),opacity .4s ease,padding var(--resize),margin var(--resize)}
	.cmh--bar-capsule .cmh-search-lbl{max-width:90px}
	.cmh--bar-capsule .cmh-search-btn .cmh-kbd{max-width:60px}
	.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-search-lbl,.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-search-btn .cmh-kbd{max-width:0;opacity:0;padding-left:0;padding-right:0;margin:0}
}
.cmh--bar-capsule .cmh-search-btn{transition:height var(--resize),padding var(--resize),gap var(--resize),background .3s,color .25s}
.cmh--bar-capsule .cmh-ticker{transition:height var(--resize),padding var(--resize),gap var(--resize),background .25s}
.cmh--bar-capsule .cmh-ticker-txt{transition:gap var(--resize)}
.cmh--bar-capsule .cmh-ticker-txt b{transition:font-size var(--resize)}
.cmh--bar-capsule .cmh-ticker-txt small{display:block;max-height:14px;max-width:140px;overflow:hidden;white-space:nowrap;transition:max-height var(--resize),max-width var(--resize),opacity .4s ease}
.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-ticker-txt{gap:0}
.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-ticker-txt small{max-height:0;max-width:0;opacity:0}
@media (prefers-reduced-motion:reduce){.cmh--bar-capsule .cmh-bar,.cmh--bar-capsule .cmh-bar *{transition-duration:.01s !important}}
@media (max-width:560px),(min-width:1181px) and (max-width:1300px){.cmh--bar-capsule .cmh-ticker-txt small{display:none}}

/* ---------- Dock (capsule): slides up and away, then rises from the bottom of the screen ---------- */
/* Dot transition. The clip shape is always an inset() so it can animate: wide open (room for the shadow) ↔ a 44px circle at the bar's centre.
   Note: --resize already includes its easing, so it is never followed by a second timing function. */
.cmh--dock .cmh-bar{clip-path:inset(-40px -40px -70px -40px round 999px);
	transition:height var(--resize),margin var(--resize),background-color .35s ease,box-shadow .35s ease,
		clip-path .5s cubic-bezier(.65,0,.35,1),transform .55s cubic-bezier(.2,1.15,.35,1)}
.cmh--dock .cmh-bar>*{transition:opacity .3s ease .2s}
/* 1. shrink into the dot */
.cmh--dock.is-dotting .cmh-bar{clip-path:inset(calc(50% - 22px) calc(50% - 22px) calc(50% - 22px) calc(50% - 22px) round 999px);background-color:var(--red)!important;box-shadow:none!important;
	transition:height var(--resize),margin var(--resize),background-color .3s ease,box-shadow .2s ease,
		clip-path .45s cubic-bezier(.65,0,.35,1),transform .55s cubic-bezier(.2,1.15,.35,1)}
.cmh--dock.is-dotting .cmh-bar>*{opacity:0;transition:opacity .15s ease}
/* 2. the dot glides out (accelerating) */
.cmh--dock.is-dot-out-top .cmh-bar,.cmh--dock.is-dot-out-bottom .cmh-bar{transition:height var(--resize),margin var(--resize),background-color .3s ease,box-shadow .2s ease,clip-path .45s cubic-bezier(.65,0,.35,1),transform .45s cubic-bezier(.55,0,.8,.3)}
.cmh--dock.is-dot-out-top .cmh-bar,.cmh--dock.is-dot-in-top .cmh-bar{transform:translateY(calc(-100% - 160px))}
.cmh--dock.is-dot-out-bottom .cmh-bar,.cmh--dock.is-dot-in-bottom .cmh-bar{transform:translateY(calc(100% + 160px))}
/* 3. arriving from the other edge starts off-screen with no transition (is-snap), then glides in with a little overshoot */
.cmh--dock.is-snap .cmh-bar{transition:none!important}
/* Docked: pinned to the bottom edge as the compact pill. */
.cmh--dock.is-docked,body.admin-bar .cmh--dock.is-docked{top:auto;bottom:0} /* the admin bar rule pins .cmh to the top for logged-in users */
.cmh--dock.is-docked:not(.is-drawer) .cmh-bar{margin-top:0!important;margin-bottom:18px;box-shadow:0 24px 60px -18px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.06)}
/* Mega menu opens upwards from the dock. */
.cmh--dock.is-docked .cmh-dd{top:auto;bottom:calc(100% - 4px)}
.cmh--dock.is-docked .cmh-dd-bg,.cmh--dock.is-docked .cmh-dd-clip{top:auto;bottom:14px;transform-origin:50% 100%;transform:translateX(var(--x,0)) rotateX(12deg) scale(.96)}
.cmh--dock.is-docked.is-open .cmh-dd-bg,.cmh--dock.is-docked.is-open .cmh-dd-clip{transform:translateX(var(--x,0))}
.cmh--dock.is-docked .cmh-dd-arrow{top:auto;bottom:8px;transform:translateX(var(--ax,0)) rotate(225deg) scale(0)}
.cmh--dock.is-docked.is-open .cmh-dd-arrow{transform:translateX(var(--ax,0)) rotate(225deg) scale(1)}
.cmh--dock.is-docked .cmh-dd-clip,.cmh--dock.is-docked .cmh-dd-bg{max-height:calc(100vh - 120px)}
/* Phones/tablets: the drawer opens as a card above the dock. */
@media (max-width:1180px){
	.cmh--dock.is-docked .cmh-drawer{top:10px;bottom:calc(var(--bar-c) + 34px);transform:translateY(10px)}
	.cmh--dock.is-docked.is-drawer .cmh-drawer{transform:none}
	.cmh--dock.is-docked.is-drawer .cmh-bar{margin-top:0!important;margin-bottom:18px}
}
@media (max-width:640px){.cmh--dock.is-docked:not(.is-drawer) .cmh-bar{margin-bottom:max(14px,env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){.cmh--dock .cmh-bar{transition:none!important}}

/* ---------- Icon dock: what the capsule becomes when docked at the bottom ---------- */
.cmh-idock{display:none}
.cmh--dock.is-docked .cmh-bar>:not(.cmh-idock){display:none!important}
.cmh--dock.is-docked:not(.is-drawer) .cmh-bar,.cmh--dock.is-docked.is-drawer .cmh-bar{width:max-content;max-width:calc(100% - 24px);height:66px;margin-left:auto!important;margin-right:auto!important;padding:0 10px;gap:0;background:rgba(15,23,25,.82)}
.cmh--dock.is-docked .cmh-idock{display:flex;align-items:center;gap:8px;height:100%}
.cmh .cmh-idock .cmh-di{all:unset;box-sizing:border-box;position:relative;display:grid!important;place-items:center;width:46px!important;height:46px!important;padding:0!important;border-radius:14px!important;cursor:pointer;color:#fff!important;
	background:rgba(255,255,255,.08)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
	transform:translateY(calc((var(--mag,1) - 1) * -26px)) scale(var(--mag,1));transform-origin:50% 100%;transition:transform .18s cubic-bezier(.2,.8,.3,1),background .2s ease}
.cmh .cmh-idock .cmh-di:hover,.cmh .cmh-idock .cmh-di:focus-visible,.cmh .cmh-idock .cmh-di[aria-expanded="true"]{background:rgba(255,255,255,.17)!important}
.cmh .cmh-idock .cmh-di-ic{display:grid;place-items:center;width:24px;height:24px}
.cmh .cmh-idock .cmh-di-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cmh .cmh-idock .cmh-di--home{background:var(--red)!important;box-shadow:none}
.cmh .cmh-idock .cmh-di--home .cmh-di-ic{width:34px;height:auto}
.cmh .cmh-idock .cmh-di--home img{width:34px;height:auto;object-fit:contain}
.cmh .cmh-idock .cmh-di--cta{background:var(--red)!important;box-shadow:0 8px 20px -8px rgba(215,17,32,.8)}
.cmh .cmh-idock .cmh-di--cta:hover{background:#e8202f!important}
/* "Running" dot under the section whose menu is open. */
.cmh .cmh-idock .cmh-di[data-panel]::after{content:"";position:absolute;left:50%;bottom:-7px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--red);opacity:0;transform:scale(.4);transition:opacity .2s,transform .2s}
.cmh .cmh-idock .cmh-di[aria-expanded="true"]::after{opacity:1;transform:none}
.cmh-di-sep{width:1px;height:30px;margin:0 4px;background:rgba(255,255,255,.16);flex:none}
/* Label above the icon. */
.cmh .cmh-idock .cmh-di-tip{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translate(-50%,4px);padding:6px 10px;border-radius:8px;background:rgba(15,23,25,.94);color:#fff;font:600 12px/1 Poppins,system-ui,sans-serif;letter-spacing:0;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;box-shadow:0 8px 24px -10px rgba(0,0,0,.6)}
.cmh .cmh-idock .cmh-di:hover .cmh-di-tip,.cmh .cmh-idock .cmh-di:focus-visible .cmh-di-tip{opacity:1;transform:translate(-50%,0)}
.cmh.is-open .cmh-idock .cmh-di-tip{opacity:0!important}
@media (max-width:1180px){
	.cmh--dock.is-docked .cmh-drawer{bottom:calc(66px + 34px)}
}
@media (max-width:640px){
	.cmh--dock.is-docked:not(.is-drawer) .cmh-bar,.cmh--dock.is-docked.is-drawer .cmh-bar{height:60px;padding:0 8px}
	.cmh--dock.is-docked .cmh-idock{gap:5px}
	.cmh .cmh-idock .cmh-di{width:40px!important;height:40px!important;border-radius:12px!important}
	.cmh .cmh-idock .cmh-di-ic,.cmh .cmh-idock .cmh-di-ic svg{width:21px;height:21px}
	.cmh .cmh-idock .cmh-di--home,.cmh .cmh-idock .cmh-di--home+.cmh-di-sep{display:none!important}
	.cmh .cmh-idock .cmh-di-tip{display:none}
	.cmh-di-sep{margin:0 2px;height:26px}
}
@media (max-width:360px){.cmh .cmh-idock .cmh-di{width:36px!important;height:36px!important}.cmh--dock.is-docked .cmh-idock{gap:3px}}
@media (max-width:640px){
	.cmh--dock.is-docked .cmh-idock{gap:4px}
	.cmh .cmh-idock .cmh-di{width:37px!important;height:37px!important;border-radius:11px!important}
	.cmh .cmh-idock .cmh-di-ic,.cmh .cmh-idock .cmh-di-ic svg{width:20px;height:20px}
	.cmh-di-sep{margin:0 1px}
	.cmh--dock.is-docked:not(.is-drawer) .cmh-bar,.cmh--dock.is-docked.is-drawer .cmh-bar{height:56px;padding:0 9px}
}
@media (max-width:360px){.cmh .cmh-idock .cmh-di{width:33px!important;height:33px!important}.cmh--dock.is-docked .cmh-idock{gap:3px}}
/* Docked and settled: a much larger clip so magnified icons and their labels are never cut off
   (still an inset() so the dot transition animates from/to it). */
.cmh--dock.is-docked:not(.is-dotting) .cmh-bar{clip-path:inset(-160px -160px -120px -160px round 999px)}

/* ---------- Menu position switch (Auto / Top / Dock) ---------- */
.cmh-pos{position:relative;flex:none}
.cmh .cmh-pos--bar .cmh-pos-btn{display:grid!important;place-items:center;width:40px;height:40px;border-radius:50%!important;background:rgba(255,255,255,.08)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:background .2s}
.cmh .cmh-pos--bar .cmh-pos-btn:hover,.cmh .cmh-pos.is-open .cmh-pos-btn{background:rgba(255,255,255,.18)!important}
.cmh .cmh-pos-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cmh--bar-capsule.is-mini:not(.is-drawer) .cmh-pos--bar .cmh-pos-btn{width:36px;height:36px}
.cmh-pos-menu{position:absolute;right:-8px;top:calc(100% + 14px);width:250px;padding:8px;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 30px 70px -24px rgba(15,23,25,.6),0 0 0 1px rgba(15,23,25,.06);
	opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:90% 0;transition:opacity .18s,transform .22s var(--ease),visibility 0s .22s;z-index:5}
.cmh-pos--dock .cmh-pos-menu{top:auto;bottom:calc(100% + 18px);right:50%;margin-right:-125px;transform:translateY(6px) scale(.98);transform-origin:50% 100%}
.cmh-pos.is-open .cmh-pos-menu{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .22s var(--ease)}
.cmh-pos-head{padding:8px 10px 6px;font:700 10px/1 Poppins,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}
.cmh .cmh-pos-menu [data-pos]{display:flex!important;align-items:center;gap:12px;width:100%;padding:9px 10px!important;border-radius:10px!important;text-align:left;color:var(--ink)!important;background:transparent!important;font:inherit;transition:background .15s}
.cmh .cmh-pos-menu [data-pos]:hover{background:var(--sand)!important}
.cmh .cmh-pos-menu [data-pos] svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--slate)}
.cmh .cmh-pos-menu [data-pos] span{display:flex;flex-direction:column;gap:3px;flex:1}
.cmh .cmh-pos-menu [data-pos] b{font:600 13.5px/1.2 Poppins,sans-serif;color:var(--ink)}
.cmh .cmh-pos-menu [data-pos] small{font:400 11.5px/1.3 Poppins,sans-serif;color:var(--slate)}
.cmh .cmh-pos-menu [data-pos]::after{content:"";width:16px;height:16px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--mist);transition:box-shadow .2s}
.cmh .cmh-pos-menu [data-pos][aria-checked="true"]::after{box-shadow:inset 0 0 0 5px var(--red)}
.cmh .cmh-pos-menu [data-pos][aria-checked="true"] svg{color:var(--red)}
.cmh .cmh-pos.is-open .cmh-di-tip{opacity:0!important}
/* The dock tile itself. */
.cmh--dock.is-docked .cmh-idock .cmh-pos{display:flex}
@media (max-width:1180px){.cmh-pos--bar{display:none}}
@media (max-width:640px){.cmh-pos--dock .cmh-pos-menu{right:0;margin-right:-60px;width:230px}}
/* Phone drawer: the switch shows as an inline three-way row (no popover). */
.cmh-pos--drawer{margin-top:14px}
.cmh-pos--drawer .cmh-pos-btn{display:none!important}
.cmh-pos--drawer .cmh-pos-menu{position:static;opacity:1;visibility:visible;transform:none;width:auto;padding:4px;border-radius:14px;background:var(--sand);box-shadow:none;display:grid;grid-template-columns:auto 1fr 1fr 1fr;align-items:center;gap:4px}
.cmh-pos--drawer .cmh-pos-head{padding:0 8px;font-size:9px;letter-spacing:.12em}
.cmh .cmh-pos--drawer .cmh-pos-menu [data-pos]{justify-content:center;gap:6px;padding:9px 6px!important}
.cmh .cmh-pos--drawer .cmh-pos-menu [data-pos] small,.cmh .cmh-pos--drawer .cmh-pos-menu [data-pos]::after{display:none}
.cmh .cmh-pos--drawer .cmh-pos-menu [data-pos] svg{width:18px;height:18px}
.cmh .cmh-pos--drawer .cmh-pos-menu [data-pos] span{flex:none}
.cmh .cmh-pos--drawer .cmh-pos-menu [data-pos] b{font-size:12.5px}
.cmh .cmh-pos--drawer .cmh-pos-menu [data-pos][aria-checked="true"]{background:#fff!important;box-shadow:0 2px 8px -3px rgba(15,23,25,.25)}
@media (max-width:640px){.cmh--dock.is-docked .cmh-idock .cmh-pos--dock{display:none!important}}
/* The bar clip (needed for the dot animation) would cut the position menu off. */
.cmh--dock.is-pos-open:not(.is-dotting) .cmh-bar{clip-path:none!important}
/* End tiles follow the dock's pill ends: outer side fully round (concentric with the dock edge), inner side soft. */
.cmh .cmh-idock .cmh-di--home{border-radius:23px 12px 12px 23px!important}
.cmh .cmh-idock .cmh-di--cta{border-radius:12px 23px 23px 12px!important}
@media (max-width:640px){
	.cmh .cmh-idock .cmh-di--cta{border-radius:10px 19px 19px 10px!important}
	/* Logo tile is hidden on phones, so the first section icon takes the rounded left end. */
	.cmh .cmh-idock .cmh-di--home+.cmh-di-sep+.cmh-di{border-radius:19px 10px 10px 19px!important}
}
/* Section title at the top of a panel opened from the dock (the icon alone doesn't say what it is). */
.cmh-ptitle{display:none}
.cmh--dock.is-docked .cmh-ptitle{display:flex;align-items:center;gap:10px;margin:-6px 0 20px;padding-bottom:14px;border-bottom:1px solid var(--mist);font:700 12px/1 Poppins,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.cmh--dock.is-docked .cmh-ptitle span{width:8px;height:8px;border-radius:50%;background:var(--red);flex:none}

