/* One additive homepage feature; all styles stay within its own namespace. */
.cm-showcase{background:#E6F2E7;color:#005768;padding:4.5rem 0;font-family:var(--sans)}
.cm-showcase *{box-sizing:border-box}.cm-showcase a:focus-visible,.cm-showcase button:focus-visible,.cm-showcase summary:focus-visible,.cm-scroll:focus-visible{outline:3px solid #005768;outline-offset:5px}
.cm-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:3rem}.cm-wordmark{width:380px;max-width:100%;padding:0;background:transparent;margin-bottom:1.2rem}.cm-wordmark img{display:block;width:100%;height:auto;aspect-ratio:2160/708;object-fit:contain}
.cm-showcase .cm-title{font:900 clamp(2rem,3.7vw,2.9rem)/1.08 var(--sans);letter-spacing:-.04em;color:#005768;margin:0 0 1rem;max-width:18ch;text-wrap:balance}.cm-heading>p{color:#365E62;line-height:1.6;max-width:37ch;margin:0 0 1.2rem}.cm-choices{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.5rem 0}
.cm-choice{font:800 .92rem/1.2 var(--sans);color:#005768;background:transparent;border:1px solid #8BAEAA;border-radius:999px;padding:.8rem .95rem;cursor:pointer;min-height:44px;transition:background .18s}.cm-choice:hover{background:#D4E7D7}.cm-choice[aria-pressed="true"]{background:#005768;color:#FEFCF9;border-color:#005768}
.cm-showcase .cm-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.9rem 1.2rem;background:#005768;color:#FEFCF9;border-radius:999px;font-weight:900;text-decoration:none;line-height:1.25;transition:background .18s}.cm-showcase .cm-cta:hover{background:#074554}.cm-controls .cm-note{font-size:.86rem;margin-top:.8rem;margin-bottom:0;color:#416267;max-width:39ch}
.cm-story{background:#FEFCF9;border-radius:1.8rem;padding:1.5rem 1.7rem;min-width:0}.cm-story-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.cm-story-heading p{margin:0}.cm-moment-title{font-size:1rem;font-weight:850}.cm-pair-names{font-size:.85rem;text-align:right;color:#526F71;line-height:1.5}
.cm-pair-stage{position:relative;aspect-ratio:1.7;width:100%;margin:1.4rem 0 1rem}.cm-pair-stage img{position:absolute;height:auto;max-width:none;object-fit:contain}.cm-story-wobble{width:37%;left:0;top:7%;z-index:2}.cm-story-card{width:28%;left:34%;top:0;transform:rotate(-5deg);z-index:1}.cm-story-helper{width:66%;right:0;top:25%;z-index:3}
.cm-move{padding-top:1.1rem;border-top:1px solid #D5E4DB}.cm-move>p:first-child{font-size:.8rem;font-weight:850;color:#526F71;margin:0 0 .55rem}.cm-showcase .cm-move h3{font:900 clamp(1.55rem,2.4vw,2.05rem)/1.12 var(--sans);letter-spacing:-.025em;color:#005768;margin:0 0 .7rem}.cm-move>p:last-child{font-size:1.03rem;line-height:1.55;margin:0;color:#365E62;max-width:40ch}
.cm-story-link{display:inline-block;font-weight:850;font-size:.92rem;text-decoration:underline;text-underline-offset:.23em;line-height:1.5;margin-top:1.1rem;color:#005768}
.cm-team{margin-top:2rem;border-top:1px solid #9CBAB0}.cm-team summary{cursor:pointer;padding:1rem 0;font-size:1.02rem;font-weight:900;line-height:1.5;min-height:48px;list-style-position:inside}.cm-team summary::marker{color:#005768}.cm-team-heading{font:850 1.1rem/1.4 var(--sans);margin:1rem 0 .4rem;color:#005768}.cm-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#72A49E transparent;padding:.4rem 0 1rem}.cm-gallery{list-style:none;display:flex;width:max-content;gap:1rem;margin:0;padding:0}.cm-gallery li{width:150px;flex-shrink:0}.cm-gallery figure{margin:0;text-align:center}.cm-gallery img{display:block;width:150px;height:110px;object-fit:contain}.cm-gallery figcaption{font-size:.92rem;font-weight:850;line-height:1.4}.cm-gallery small{display:block;font-size:.8rem;font-weight:650;color:#526F71;margin-top:.1rem}.cm-wobbles img{height:128px}.cm-wobbles li{width:128px}.cm-wobbles img{width:128px}.cm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.cm-layout{gap:2rem}.cm-story{padding:1.3rem}.cm-story-heading{display:block}.cm-pair-names{text-align:left;margin-top:.3rem!important}}
@media(max-width:700px){.cm-showcase{padding:3rem 0}.cm-layout{grid-template-columns:1fr;gap:1.8rem}.cm-heading>p{max-width:45ch}.cm-showcase .cm-title{max-width:21ch}.cm-story{max-width:600px;width:100%;margin:0 auto}.cm-choices{margin:1.2rem 0}.cm-team{margin-top:1.5rem}.cm-pair-stage{aspect-ratio:1.6}.cm-choice{font-size:.88rem;padding:.78rem .85rem}}
@media(prefers-reduced-motion:reduce){.cm-showcase *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Selected characters precede controls on phones; desktop keeps both columns. */
.cm-layout{grid-template-areas:"heading story" "controls story";row-gap:0}
.cm-heading{grid-area:heading;align-self:end}.cm-story{grid-area:story}.cm-controls{grid-area:controls;align-self:start}
@media(max-width:700px){.cm-layout{grid-template-areas:"heading" "story" "controls";row-gap:1.3rem}.cm-heading{align-self:start}.cm-heading>p{margin-bottom:0}.cm-controls .cm-choices{margin-top:0}}

/* Native horizontal moment row stays next to its visible result on phones. */
@media(max-width:700px){
 .cm-layout{grid-template-areas:"heading" "choices" "story" "cta" "note";row-gap:.8rem}
 .cm-controls{display:contents}
 .cm-controls .cm-choices{grid-area:choices;display:flex;flex-wrap:nowrap;width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#72A49E transparent;margin:0;padding:.2rem .1rem .65rem}
 .cm-choices .cm-choice{flex:0 0 auto}
 .cm-controls .cm-cta{grid-area:cta;justify-self:start;margin-top:.4rem}
 .cm-controls .cm-note{grid-area:note;margin:0}
 .cm-choices:focus-visible{outline:3px solid #005768;outline-offset:5px}
}

/* The user-supplied full logo retains its own transparent canvas and proportions. */
@media(max-width:700px){.cm-wordmark{width:290px;margin-bottom:1rem}}

/* All nine Calmlings are visible before the moment chooser. */
.cm-showcase>.wrap>.cm-heading{max-width:57rem}.cm-showcase>.wrap>.cm-heading .cm-title{max-width:26ch}.cm-showcase>.wrap>.cm-heading>p{max-width:60ch}
.cm-helpers{margin-top:2rem}.cm-helpers>h3{font:900 clamp(1.5rem,2.5vw,2rem)/1.15 var(--sans);letter-spacing:-.025em;color:#005768;margin:0}
.cm-helper-grid{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.8rem 1.3rem;margin:1.4rem 0 0;padding:0}.cm-helper-grid>li{min-width:0}.cm-helper-grid figure{margin:0;text-align:center}.cm-helper-portrait{position:relative;width:100%;aspect-ratio:1.2;overflow:visible}.cm-helper-portrait img{position:absolute;display:block;max-width:none;height:auto;object-fit:contain}.cm-helper-grid figcaption{color:#005768;line-height:1.3;margin-top:.6rem}.cm-helper-grid strong{display:block;font-size:1.15rem;font-weight:900}.cm-helper-grid small{display:block;font-size:.9rem;font-weight:650;color:#365E62;margin-top:.3rem;text-wrap:balance}
.cm-layout{grid-template-areas:"controls story";margin-top:3rem;align-items:start}.cm-controls{align-self:start}.cm-controls .cm-choices{margin-top:0}
@media(max-width:1000px){.cm-helper-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem 1.4rem}}
@media(max-width:700px){.cm-showcase{padding:2.5rem 0}.cm-helpers{margin-top:1.6rem}.cm-helper-grid{gap:1.4rem .8rem;margin-top:1rem}.cm-helper-grid strong{font-size:1rem}.cm-helper-grid small{font-size:.8rem}.cm-layout{grid-template-areas:"choices" "story" "cta" "note";margin-top:2rem;row-gap:.8rem}.cm-showcase>.wrap>.cm-heading .cm-title{max-width:21ch}}
@media(max-width:359px){.cm-helper-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cm-helper-c01 .cm-helper-portrait img{width:121.350365%;left:-17.782847%;top:3.921533%}
.cm-helper-c02 .cm-helper-portrait img{width:158.132530%;left:-28.953313%;top:-9.909639%}
.cm-helper-c07 .cm-helper-portrait img{width:128.048780%;left:-1.676829%;top:2.365854%}
.cm-helper-c08 .cm-helper-portrait img{width:101.837672%;left:-4.337672%;top:9.148545%}
.cm-helper-c10 .cm-helper-portrait img{width:125.598086%;left:-4.007177%;top:-5.550239%}
.cm-helper-c11 .cm-helper-portrait img{width:98.664688%;left:0.808605%;top:7.715134%}
.cm-helper-c15 .cm-helper-portrait img{width:135.658915%;left:-3.875969%;top:-5.465116%}
.cm-helper-c22 .cm-helper-portrait img{width:112.331081%;left:-6.326014%;top:4.265203%}
.cm-helper-c28 .cm-helper-portrait img{width:117.283951%;left:-11.071429%;top:-0.566138%}
