/* Homepage wheel: compact touch drum, with a native reduced-motion alternative. */
.cmf-mobile-copy{display:none}
body.cmf-home .editorial-nav:not(.is-enhanced) .nav-inner{flex-wrap:wrap}
body.cmf-home .editorial-nav:not(.is-enhanced) ul{flex-wrap:wrap}
body.cmf-home .cmf-portal:is(.is-native,.is-compact){height:calc(100svh - 84px);height:calc(100dvh - 84px);min-height:360px;display:flex;flex-direction:column}
body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-portal__intro{order:0;flex:none;max-width:620px;padding:16px var(--gutter) 8px}
body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-wheel-caption{order:1;position:static;transform:none;width:auto;flex:none;display:flex;align-items:center;gap:16px;min-height:60px;margin:0;padding:8px var(--gutter);pointer-events:auto}
body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-wheel-caption a{order:0;flex:1;font-size:clamp(1.05rem,3.8vw,1.5rem);line-height:1.25;min-height:44px;display:flex;align-items:center}
body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-wheel-caption span{order:1;flex:none;margin:0;font-size:.72rem;white-space:nowrap}
body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-wheel-stage{order:2;flex:1;min-height:180px;height:auto;max-height:none;overflow-y:auto;container-type:size;scroll-padding-block:12px;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom}
body.cmf-home .cmf-portal.is-native .cmf-wheel-track{display:grid;gap:18px;padding:12px var(--gutter);max-width:640px;margin:0 auto}
body.cmf-home .cmf-portal.is-native .cmf-wheel-card{margin:0;scroll-snap-align:start;scroll-snap-stop:always}
body.cmf-home .cmf-portal.is-native .cmf-wheel-card:last-child{margin-bottom:0;scroll-snap-align:end}
body.cmf-home .cmf-portal.is-native .cmf-wheel-card img{height:clamp(220px,50vh,480px);height:max(150px,calc(78cqh - 16px));aspect-ratio:auto;object-fit:cover;border-radius:6px}
body.cmf-home .cmf-portal.is-native .cmf-wheel-card h2{display:none}
body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-wheel-hint{order:3;position:static;display:block;flex:none;margin:0;padding:10px var(--gutter) max(12px,env(safe-area-inset-bottom));font-size:.72rem;line-height:1.5;z-index:auto;text-align:center}
@media(max-width:900px),(max-height:540px){
  body.cmf-home .nav-inner{min-height:64px;padding-block:8px;gap:12px}
  body.cmf-home .brand{max-width:none;font-size:.9rem;white-space:nowrap;flex-wrap:nowrap}
  body.cmf-home .brand span{margin-left:0}
  body.cmf-home .editorial-nav .nav-toggle{border:0;padding:0 8px}
  body.cmf-home .editorial-nav.is-enhanced.is-open ul{position:absolute;top:100%;left:0;right:0;width:auto;padding:8px var(--gutter) 16px;background:var(--ink);box-shadow:0 12px 18px -18px #0005;gap:4px}
  body.cmf-home .editorial-nav.is-open ul a{min-height:44px;font-size:.95rem}
  body.cmf-home .cmf-portal:is(.is-native,.is-compact){height:calc(100svh - 64px);height:calc(100dvh - 64px);min-height:360px}
  body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-portal__intro{padding:10px var(--gutter) 4px;max-width:none}
  body.cmf-home .cmf-portal h1{font-size:.9rem;line-height:1.4;margin-bottom:6px}
  body.cmf-home .cmf-portal__intro p{font-size:1rem;line-height:1.4;max-width:34ch}
  body.cmf-home .cmf-desktop-copy,body.cmf-home .cmf-portal__credentials{display:none}
  body.cmf-home .cmf-mobile-copy{display:inline}
}
@media(max-height:540px) and (min-width:601px){
  body.cmf-home .cmf-portal:is(.is-native,.is-compact){min-height:0;display:grid;grid-template-columns:minmax(210px,32%) minmax(0,1fr);grid-template-rows:1fr auto;overflow:hidden}
  body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-portal__intro{grid-column:1;grid-row:1;align-self:start;padding-top:12px}
  body.cmf-home .cmf-portal.is-native .cmf-portal__credentials{display:none}
  body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-wheel-caption{grid-column:1;grid-row:2;flex-wrap:wrap;gap:4px;padding-bottom:16px}
  body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-wheel-caption a{font-size:1rem}
  body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-wheel-stage{grid-column:2;grid-row:1;min-height:0;height:100%;width:100%}
  body.cmf-home .cmf-portal.is-native .cmf-wheel-track{max-width:none;padding-inline:12px}
  body.cmf-home .cmf-portal.is-native .cmf-wheel-card img{height:max(100px,calc(78cqh - 16px))}
  body.cmf-home .cmf-portal:is(.is-native,.is-compact) .cmf-wheel-hint{grid-column:2;grid-row:2;padding:8px 12px;font-size:.65rem}
}

body.cmf-home .cmf-portal.is-compact .cmf-portal__intro{position:static;pointer-events:auto}

/* Use the same bowed perspective wheel on phones, driven directly by a swipe. */
body.cmf-home .cmf-portal.is-compact.is-drum .cmf-wheel-stage{order:1;overflow:hidden;scroll-snap-type:none;touch-action:pan-x pinch-zoom;cursor:grab}
body.cmf-home .cmf-portal.is-compact.is-drum .cmf-wheel-stage:active{cursor:grabbing}
body.cmf-home .cmf-portal.is-compact.is-drum .cmf-wheel-track{top:50%;left:50%;margin:0;padding:0;max-width:none}
body.cmf-home .cmf-portal.is-compact.is-drum .cmf-wheel-card img{height:100%;aspect-ratio:auto;box-shadow:0 18px 32px -20px #0005}
body.cmf-home .cmf-portal.is-compact.is-drum .cmf-wheel-caption{order:2;min-height:68px;padding-block:6px}
body.cmf-home .cmf-portal.is-compact.is-drum .cmf-wheel-caption a{font-size:clamp(1.2rem,5vw,1.55rem);letter-spacing:-.04em}
@media(max-height:540px) and (min-width:601px){body.cmf-home .cmf-portal.is-compact.is-drum .cmf-wheel-caption a{font-size:1rem}}

/* The wheel stays the subject; the scarlet curve gives it a distinctive stage. */
body.cmf-home .cmf-portal{background:var(--ink)}
body.cmf-home .cmf-portal::before{content:"";position:absolute;z-index:-1;pointer-events:none;width:72vw;height:92%;right:-31vw;top:8%;border-radius:50% 0 0 50%;background:var(--accent);transform:rotate(-12deg)}
body.cmf-home .cmf-portal__intro h1{color:var(--accent);font-size:1rem;letter-spacing:-.025em}
body.cmf-home .cmf-wheel-caption a{font-weight:700;letter-spacing:-.055em}
body.cmf-home .cmf-wheel-caption>span{color:var(--accent);font-weight:600}
body.cmf-home .cmf-wheel-card img{border-radius:2px;box-shadow:0 24px 48px -34px #25101280}
body.cmf-home .cmf-wheel-hint{color:var(--text);right:auto;left:var(--gutter)}
body.cmf-home .cmf-portal.is-compact::before{width:95vw;height:62%;right:-62vw;top:24%;transform:rotate(-10deg)}
body.cmf-home .cmf-portal.is-native::before{display:none}
@media(max-width:900px),(max-height:540px){
  body.cmf-home .cmf-portal__intro h1{font-size:.9rem}
  body.cmf-home .cmf-portal.is-compact.is-drum .cmf-wheel-caption{gap:1rem}
  body.cmf-home .cmf-portal.is-compact.is-drum .cmf-wheel-caption a{font-size:clamp(1.3rem,5.4vw,1.75rem)}
}
@media(max-height:540px) and (min-width:601px){
  body.cmf-home .cmf-portal.is-compact::before{top:-8%;height:110%;width:60vw;right:-35vw}
  body.cmf-home .cmf-portal.is-compact.is-drum .cmf-wheel-caption a{font-size:1rem}
}

/* A true circle: no rotated oval, diagonal cut, or collision with the caption. */
body.cmf-home .cmf-portal::before{width:min(74vw,86svh,950px);height:auto;aspect-ratio:1;top:50%;right:-10vw;border-radius:50%;transform:translateY(-50%)}
body.cmf-home .cmf-portal.is-compact::before{width:95vw;height:auto;aspect-ratio:1;right:-61vw;top:49%;transform:translateY(-50%)}
@media(max-height:540px) and (min-width:601px){body.cmf-home .cmf-portal.is-compact::before{width:min(60vw,78svh);height:auto;right:-12vw;top:50%;transform:translateY(-50%)}}

/* 2026-10-14: the proposition leads immediately below the masthead. */
body.cmf-home .cmf-portal__intro{top:12px;max-width:min(360px,29vw)}
body.cmf-home .cmf-portal__intro .cmf-portal__name{font:600 .82rem/1.4 var(--sans);color:var(--accent);margin:0 0 10px}
body.cmf-home .cmf-portal__intro h1{font:700 clamp(1.45rem,2.25vw,2.45rem)/1.17 var(--display);letter-spacing:-.045em;color:var(--text);margin:0;text-wrap:balance}
body.cmf-home .cmf-portal__intro .cmf-portal__credentials{font:.76rem/1.5 var(--sans);margin:14px 0 0;color:var(--muted)}
body.cmf-home .cmf-portal.is-compact .cmf-portal__intro{padding-top:8px;max-width:none}
body.cmf-home .cmf-portal.is-compact .cmf-portal__intro h1{font-size:clamp(1.25rem,4.7vw,2rem);max-width:28ch;text-wrap:balance}
body.cmf-home .cmf-portal.is-compact .cmf-portal__name{font-size:.75rem;margin-bottom:5px}
@media(max-width:900px),(max-height:540px){body.cmf-home .cmf-portal__credentials{display:none}}
@media(max-height:540px) and (min-width:601px){body.cmf-home .cmf-portal.is-compact .cmf-portal__intro h1{font-size:clamp(1.05rem,2.4vw,1.45rem)}}

/* Text and the moving drum occupy separate desktop lanes. */
body.cmf-home .cmf-portal:not(.is-compact):not(.is-native){--intro-lane:33%}
body.cmf-home .cmf-portal.is-drum:not(.is-compact) .cmf-wheel-stage{width:calc(100% - var(--intro-lane));margin-left:var(--intro-lane)}
body.cmf-home .cmf-portal.is-drum:not(.is-compact) .cmf-wheel-track{left:50%}
body.cmf-home .cmf-portal.is-drum:not(.is-compact) .cmf-portal__intro,
body.cmf-home .cmf-portal.is-drum:not(.is-compact) .cmf-wheel-caption{width:calc(var(--intro-lane) - var(--gutter) - 1.5rem);max-width:360px}
body.cmf-home .cmf-portal:not(.is-drum):not(.is-native) .cmf-portal__intro{position:static;max-width:640px;padding:20px var(--gutter)}
body.cmf-home .cmf-portal:not(.is-drum):not(.is-native) .cmf-wheel-track{padding-top:1rem}
