/*
Theme Name: Joy Movement
Theme URI: https://theup.org.za/
Author: The Joy Movement
Description: A joyful, accessible Full Site Editing theme for The Joy Movement and The UPliftment Programme.
Version: 3.16.0
Requires at least: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: joy-movement
Tags: block-patterns, full-site-editing, accessibility-ready, custom-colors
*/

@font-face { font-family:"Nunito"; src:url("assets/fonts/nunito-latin-800-normal.woff2") format("woff2"); font-style:normal; font-weight:800; font-display:swap; }
@font-face { font-family:"Nunito"; src:url("assets/fonts/nunito-latin-900-normal.woff2") format("woff2"); font-style:normal; font-weight:900; font-display:swap; }
@font-face { font-family:"Rubik"; src:url("assets/fonts/rubik-latin-400-normal.woff2") format("woff2"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"Rubik"; src:url("assets/fonts/rubik-latin-500-normal.woff2") format("woff2"); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:"Rubik"; src:url("assets/fonts/rubik-latin-700-normal.woff2") format("woff2"); font-style:normal; font-weight:700; font-display:swap; }

html { scroll-behavior: smooth; }
body { overflow-x: clip; }
a { text-underline-offset: .18em; }
:where(a,button,input,textarea,select,.wp-element-button):focus-visible { outline: 3px solid #f4c542; outline-offset: 3px; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute!important; width: 1px; word-wrap: normal!important; }
.jm-site-header { position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 18px rgb(45 25 70 / 8%); }
.admin-bar .jm-site-header { top: 32px; }
.jm-logo img { width: min(330px,42vw); height: auto; object-fit: contain; }
.jm-site-header .wp-block-navigation-item__content { padding: .65rem .35rem; font-weight: 700; }
.jm-site-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--purple); }
.jm-external > a::after,.jm-external-link::after { content: " ↗"; font-size: .8em; }
.jm-button .wp-element-button { transition: transform .2s ease, box-shadow .2s ease; box-shadow: 0 8px 22px rgb(82 40 178 / 20%); }
.jm-button .wp-element-button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgb(82 40 178 / 28%); }
.jm-hero { position: relative; isolation: isolate; overflow: hidden; }
.jm-hero::before,.jm-hero::after { content:""; position:absolute; border-radius:50%; z-index:-1; opacity:.22; }
.jm-hero::before { width: 28rem; height: 28rem; background:#f4d51d; right:-12rem; top:-10rem; }
.jm-hero::after { width: 20rem; height: 20rem; background:#1bbfab; left:-10rem; bottom:-10rem; }
.jm-hero-logo img { width: min(720px,100%); height:auto; object-fit:contain; }
.jm-kicker { letter-spacing:.14em; text-transform:uppercase; font-size:.82rem; font-weight:800; }
.jm-display { line-height:.94!important; letter-spacing:-.045em; }
.jm-purple { color:#6b21a8; }.jm-teal { color:#149a8d; }.jm-orange { color:#c94f08; }
.jm-card { height:100%; border:1px solid rgb(70 31 105 / 8%); transition:transform .25s ease, box-shadow .25s ease; }
.jm-card:hover { transform:translateY(-7px); box-shadow:0 24px 50px rgb(54 27 78 / 14%); }
.jm-icon-dot { width:3rem; height:3rem; display:grid; place-items:center; border-radius:999px; font-size:1.35rem; font-weight:900; }
.jm-photo-frame { min-height:22rem; overflow:hidden; position:relative; border-radius:28px; box-shadow:0 25px 60px rgb(58 29 89 / 20%); }
.jm-photo-frame img { width:100%; height:100%; min-height:22rem; object-fit:cover; }
.jm-placeholder { min-height:22rem; display:grid; place-items:center; padding:2rem; text-align:center; background:linear-gradient(135deg,#efe7f8,#fff4d6); color:#4f2369; }
.jm-band { position:relative; isolation:isolate; }
.jm-band::before { content:""; position:absolute; inset:-1.7rem 0 auto; height:3rem; background:inherit; border-radius:50% 50% 0 0 / 100% 100% 0 0; z-index:-1; }
.jm-impact-number { font-variant-numeric:tabular-nums; }
.jm-doodle { display:inline-block; animation:jm-float 5s ease-in-out infinite; }
.jm-reveal { opacity:0; transform:translateY(20px); }
.jm-reveal.is-visible { opacity:1; transform:none; transition:opacity .65s ease,transform .65s ease; }
.jm-footer a { color:#fff; }
.jm-footer { background:radial-gradient(circle at 18% 12%,rgb(27 191 171 / 24%),transparent 30%),radial-gradient(circle at 84% 86%,rgb(249 115 22 / 14%),transparent 30%),linear-gradient(135deg,#4c1d95 0%,#6b21a8 52%,#8b2fc9 100%)!important; }
.jm-footer a:hover { color:#f4d51d; }
.jm-footer-logo img { width:min(390px,100%); height:auto; object-fit:contain; }
.wp-block-post-content > * { scroll-margin-top:8rem; }
@keyframes jm-rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes jm-float { 50% { transform:translateY(-8px) rotate(2deg); } }
.jm-hero > .wp-block-group__inner-container,.jm-hero > .wp-block-columns { animation:jm-rise .7s ease-out both; }
@media (max-width: 900px) {
  .jm-site-header .wp-block-navigation__responsive-container-open { display:flex; }
  .jm-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
  .jm-logo img { width:min(260px,58vw); }
}
@media (max-width: 782px) { .admin-bar .jm-site-header { top:46px; } .jm-display { font-size:clamp(3rem,15vw,5rem)!important; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } .jm-reveal { opacity:1; transform:none; } }

/* Version 2: approved layered Joy Movement direction */
.jm-home-v2 { --jm-cream:#fbf9ff; --jm-lilac:#f4efff; --jm-mint:#e9fbf8; }
.jm-home-v2 h2 { letter-spacing:-.035em; }
.jm2-hero { position:relative; overflow:hidden; padding:clamp(3.5rem,7vw,7rem) clamp(1rem,4vw,3rem) 7rem; background:radial-gradient(circle at 12% 12%,rgb(27 191 171 / 25%),transparent 28%),radial-gradient(circle at 88% 82%,rgb(249 115 22 / 16%),transparent 28%),linear-gradient(135deg,#4c1d95 0%,#6b21a8 50%,#8b2fc9 100%); color:#fff; }
.jm2-hero::after { content:""; position:absolute; left:-5%; right:-5%; bottom:-3.5rem; height:6.5rem; background:#fff; border-radius:50% 50% 0 0/80% 80% 0 0; box-shadow:0 -15px 35px rgb(73 32 94 / 12%); }
.jm2-title { font-size:clamp(3.8rem,6.3vw,7.1rem)!important; line-height:.9!important; letter-spacing:-.06em; margin-bottom:1.8rem; }
.jm2-hero-visual { min-height:650px; position:relative; }
.jm2-hero-brand { position:absolute; z-index:8; width:68%; left:16%; top:0; margin:0; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.jm2-photo-collage { position:absolute; inset:27% 0 2%; display:grid; grid-template-columns:1.08fr .92fr; grid-template-rows:1fr 1fr; gap:1rem; }
.jm2-photo { position:relative; inset:auto; width:100%; height:100%; overflow:hidden; margin:0; border:5px solid #fff; border-radius:28px; box-shadow:0 18px 42px rgb(31 14 50 / 30%); transform:none; }
.jm2-photo img { width:100%; height:100%; object-fit:cover; }
.jm2-photo-a { grid-row:1 / 3; }.jm2-photo-b { grid-column:2; grid-row:1; }.jm2-photo-c { grid-column:2; grid-row:2; }
.jm2-photo-a img { object-position:center 35%; }.jm2-photo-b img { object-position:76% 25%; }.jm2-photo-c img { object-position:30% 20%; }
.jm2-hero .jm-purple { color:#fff; }.jm2-hero .jm-teal { color:#5eead4; }.jm2-hero .jm-orange { color:#fdba74; }
.jm2-hero p { color:rgb(255 255 255 / 92%); }.jm2-hero p.has-purple-color { color:#f4d51d!important; }
.jm2-paths { padding:5rem clamp(1rem,4vw,3rem) 7rem; background:radial-gradient(circle at 10% 10%,rgb(27 191 171 / 10%),transparent 26%),linear-gradient(180deg,#fff 0%,#f7f3ff 100%); position:relative; }
.jm2-paths::before,.jm2-paths::after { content:"♡"; position:absolute; color:#f97316; font-size:2rem; transform:rotate(-14deg); }.jm2-paths::before{left:4%;top:9rem}.jm2-paths::after{right:4%;bottom:3rem;color:#6b21a8}
.jm2-path-grid { gap:2rem; margin-top:3rem!important; }
.jm2-path { display:grid; grid-template-columns:minmax(220px,42%) 1fr; grid-template-rows:auto; gap:0 2rem; min-height:430px; padding:1.2rem 2rem 2rem 1.2rem; border-radius:34px; box-shadow:0 20px 55px rgb(70 31 105 / 10%); }
.jm2-book { background:linear-gradient(135deg,#f0e8ff,#fbf9ff); border-top:5px solid #6b21a8; }.jm2-fund { background:linear-gradient(135deg,#e9fbf8,#fff); border-top:5px solid #1bbfab; }
.jm2-path-photo { grid-row:1/5; height:100%; min-height:390px; margin:0; overflow:hidden; border-radius:26px; border:4px solid #fff; box-shadow:0 12px 28px rgb(76 29 149 / 18%); }
.jm2-path-photo img { width:100%; height:100%; object-fit:cover; object-position:center 28%; }
.jm2-path h3 { font-size:clamp(2rem,3vw,3rem); margin-top:2.4rem; }
.jm2-wins { padding:6rem clamp(1rem,4vw,3rem); background:linear-gradient(180deg,#fff,#fbf9ff); }
.jm2-cycle { display:flex; align-items:center; justify-content:center; gap:1.25rem; }
.jm2-cycle-item { flex:1; text-align:center; }
.jm2-cycle-icon { width:clamp(100px,12vw,150px); aspect-ratio:1; margin:auto; display:grid; place-items:center; border-radius:50%; background:#fff; color:#6b21a8; border:2px solid #e7d7f8; box-shadow:0 15px 35px rgb(55 24 76 / 10%); font-size:clamp(1.4rem,2.5vw,2.2rem); }
.jm2-teal-icon { color:#149a8d;border-color:#bdebe7}.jm2-orange-icon{color:#c94f08;border-color:#ffd2b4}.jm2-arrow{font-size:2.5rem;font-weight:900;color:#333;transform:translateY(-1.8rem)}
.jm2-dual { padding:5.5rem clamp(1rem,4vw,3rem); background:radial-gradient(circle at 8% 18%,rgb(249 115 22 / 10%),transparent 24%),linear-gradient(135deg,#4c1d95 0%,#6b21a8 52%,#8b2fc9 100%); }
.jm2-dual-grid { gap:3rem; }
.jm2-dual-card { min-height:630px; position:relative; overflow:hidden; padding:2.7rem; border-radius:26px; box-shadow:0 18px 45px rgb(31 14 50 / 25%); }
.jm2-dual-book{background:linear-gradient(180deg,#fff,#f4efff)}.jm2-dual-fund{background:linear-gradient(180deg,#fff,#e9fbf8)}.jm2-dual-card h2{font-size:clamp(2.5rem,4vw,4rem)}
.jm2-dual-photo { height:270px; overflow:hidden; border-radius:24px; border:4px solid #fff; box-shadow:0 16px 35px rgb(47 21 74 / 15%); }
.jm2-dual-photo img { width:100%;height:100%;object-fit:cover;object-position:center 30%; }
.jm2-impact { border-radius:0 0 50% 50%/0 0 12% 12%; overflow:hidden; }
.jm2-impact .wp-block-cover__background { background:radial-gradient(circle at 18% 25%,rgb(27 191 171 / 26%),transparent 30%),linear-gradient(110deg,rgb(76 29 149 / 88%),rgb(107 33 168 / 86%) 52%,rgb(139 47 201 / 84%))!important; opacity:1!important; }
.jm2-impact .jm-impact-number { color:#fff; text-shadow:0 8px 0 rgb(76 21 117 / 35%); }
.jm2-final { padding:5rem clamp(1rem,4vw,3rem) 4rem; background:radial-gradient(circle at 90% 10%,rgb(27 191 171 / 10%),transparent 28%),linear-gradient(140deg,#fff,#f4efff); }
.jm2-final .wp-block-columns { gap:4rem; }
.jm-home-v2 h1,.jm-home-v2 h2,.jm-home-v2 h3 { font-family:"Nunito",Arial,sans-serif; font-weight:900; }
.jm-home-v2 p,.jm-home-v2 li { font-family:"Rubik",Arial,sans-serif; }
.jm-home-v2 .wp-element-button { font-family:"Rubik",Arial,sans-serif; font-weight:700; }
.has-teal-background-color.wp-element-button,.has-orange-background-color.wp-element-button { color:#1d191c; }
@media(max-width:1000px){.jm2-hero-grid{flex-wrap:wrap!important}.jm2-hero-grid>.wp-block-column{flex-basis:100%!important}.jm2-hero-visual{min-height:560px}.jm2-path{grid-template-columns:1fr}.jm2-path-photo{grid-row:auto;height:280px;min-height:0}.jm2-path h3{margin-top:1rem}.jm2-dual{background:linear-gradient(135deg,#4c1d95,#6b21a8 52%,#8b2fc9)} }
@media(max-width:782px){.jm2-hero{padding-top:2.5rem}.jm2-title{font-size:clamp(3.3rem,16vw,5.2rem)!important}.jm2-hero-visual{min-height:450px}.jm2-hero-brand{width:88%;left:6%}.jm2-photo-collage{inset:22% -4% 0}.jm2-path-grid,.jm2-dual-grid{gap:1.5rem}.jm2-cycle{flex-direction:column}.jm2-arrow{transform:rotate(90deg);margin:-.7rem 0}.jm2-dual-card{min-height:0;padding:1.8rem}.jm2-site-header{} }

/* Version 2.3: compact purple navigation, white hero and prominent Joy collage */
.jm-site-header {
  min-height:82px;
  padding:.45rem clamp(1rem,3vw,2.5rem)!important;
  background:radial-gradient(circle at 10% 20%,rgb(27 191 171 / 18%),transparent 25%),linear-gradient(135deg,#4c1d95,#6b21a8 58%,#8b2fc9)!important;
  box-shadow:0 8px 28px rgb(44 18 70 / 22%);
}
.jm-site-header .jm-logo { margin:0; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; line-height:0; }
.jm-site-header .jm-logo img { filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px rgb(255 255 255 / 92%)); }
.jm-site-header .jm-logo img { width:230px; max-width:32vw; max-height:62px; object-fit:contain; }
.jm-site-header .wp-block-navigation-item__content { color:#fff!important; padding:.55rem .25rem; position:relative; }
.jm-site-header .wp-block-navigation-item__content::after { content:""; position:absolute; height:2px; left:.3rem; right:100%; bottom:.25rem; background:#f4d51d; transition:right .22s ease; }
.jm-site-header .wp-block-navigation-item__content:hover::after { right:.3rem; }
.jm-site-header .wp-block-button .wp-element-button { background:linear-gradient(135deg,#f97316,#ea580c)!important; color:#fff!important; box-shadow:0 9px 22px rgb(46 17 75 / 28%); }
.jm-site-header .wp-block-navigation__responsive-container-open,.jm-site-header .wp-block-navigation__responsive-container-close { color:#fff; }
.jm-site-header .wp-block-navigation__responsive-container.is-menu-open { background:linear-gradient(135deg,#4c1d95,#6b21a8)!important; color:#fff!important; padding:2rem; }

.jm-home-v2 { display:flex; flex-direction:column; }
.jm2-hero { order:1; padding:clamp(2.8rem,5vw,5rem) clamp(1rem,4vw,3rem) 6rem; background:radial-gradient(circle at 92% 16%,rgb(27 191 171 / 9%),transparent 25%),radial-gradient(circle at 8% 82%,rgb(249 115 22 / 8%),transparent 24%),#fff; color:#333; }
.jm2-hero::after { height:4.5rem; bottom:-2.7rem; background:#4c1d95; box-shadow:none; }
.jm2-hero .jm-purple { color:#6b21a8; }.jm2-hero .jm-teal { color:#159b91; }.jm2-hero .jm-orange { color:#d95c0b; }
.jm2-hero p { color:#333; }.jm2-hero p.has-purple-color { color:#6b21a8!important; }
.jm2-title { font-size:clamp(4.1rem,6.6vw,7.4rem)!important; margin-top:0; }
.jm2-title span { display:inline-block; animation:jm-word-rise .65s cubic-bezier(.22,.8,.28,1) both; }
.jm2-title span:nth-child(3) { animation-delay:.1s; }.jm2-title span:nth-child(5) { animation-delay:.2s; }
.jm2-hero-visual { min-height:660px; }
.jm2-hero-brand { width:76%; left:12%; top:0; padding:0; background:transparent; border-radius:0; box-shadow:none; filter:drop-shadow(0 12px 16px rgb(62 24 91 / 18%)); animation:jm-logo-float 5.5s ease-in-out infinite; }
.jm2-photo-collage { display:block; position:absolute; inset:16% -5% 0; }
.jm2-photo { position:absolute; display:block; border:6px solid #fff; border-radius:50%; box-shadow:0 22px 50px rgb(54 22 79 / 22%); transition:transform .3s ease,box-shadow .3s ease; }
.jm2-photo:hover { z-index:9; transform:translateY(-8px) scale(1.025); box-shadow:0 30px 65px rgb(54 22 79 / 28%); }
.jm2-photo-a { width:62%; height:52%; left:0; top:25%; }
.jm2-photo-b { width:55%; height:50%; right:0; top:10%; }
.jm2-photo-c { width:61%; height:45%; right:5%; bottom:0; }
.jm2-photo-a img { object-position:center 36%; }.jm2-photo-b img { object-position:76% 25%; }.jm2-photo-c img { object-position:30% 18%; }
.jm2-impact { order:2; min-height:250px!important; border-radius:0; }
.jm2-paths { order:3; padding-top:5rem; }.jm2-wins { order:4; }.jm2-dual { order:5; }.jm2-final { order:6; }
.jm2-impact .wp-block-cover__inner-container { animation:jm-impact-rise .7s ease-out both; }

@keyframes jm-word-rise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@keyframes jm-logo-float { 50% { transform:translateY(-7px); } }
@keyframes jm-impact-rise { from { opacity:0; transform:scale(.94); } to { opacity:1; transform:none; } }

@media(max-width:1100px){
  .jm-site-header .jm-logo img{width:190px}.jm-site-header .wp-block-navigation{font-size:.85rem}.jm2-hero-visual{min-height:600px}
}
@media(max-width:900px){
  .jm-site-header{min-height:72px}.jm-site-header .jm-logo img{width:180px;max-width:55vw;max-height:52px}.jm-site-header>.wp-block-buttons{display:none}
  .jm2-hero{padding-top:2.5rem}.jm2-hero-visual{min-height:560px}.jm2-hero-brand{width:82%;left:9%}
}
@media(max-width:600px){
  .jm2-hero-visual{min-height:430px}.jm2-photo-collage{inset:18% -3% 0}.jm2-photo{border-width:4px}.jm2-photo-a{width:65%;height:51%}.jm2-photo-b{width:58%;height:48%}.jm2-photo-c{width:64%;height:43%}
  .jm2-impact{min-height:220px!important}.jm2-impact .jm-impact-number{font-size:clamp(4rem,20vw,6rem)!important}
}

/* Version 2.6: compact story-first hero with one clear photograph */
.jm2-hero { padding-top:clamp(1rem,1.8vw,1.65rem); padding-bottom:clamp(3.25rem,5vw,4.75rem); }
.jm2-hero-grid { align-items:center!important; gap:clamp(2.5rem,5vw,5.5rem); }
.jm2-hero-grid>.wp-block-column:first-child { flex-basis:48%!important; padding-top:0; }
.jm2-hero-grid>.wp-block-column:last-child { flex-basis:52%!important; }
.jm2-title { margin-bottom:1.05rem!important; font-size:clamp(3.65rem,5.35vw,5.85rem)!important; line-height:.92!important; }
.jm2-story { max-width:42rem!important; margin:.75rem 0 .7rem!important; padding-left:1rem; border-left:4px solid #f97316; color:#333!important; font-size:1rem!important; line-height:1.48!important; }
.jm2-story>strong { display:inline-block; margin-bottom:.28rem; color:#4c1d95; font-family:"Nunito",Arial,sans-serif; font-size:1.22rem; }
.jm2-story span { display:block; }
.jm2-profit-line { max-width:42rem!important; margin:.7rem 0!important; color:#4c1d95!important; font-size:.96rem!important; line-height:1.4!important; }
.jm2-proof-line { display:flex; align-items:baseline; gap:.65rem; max-width:42rem!important; margin:.65rem 0 .85rem!important; color:#333!important; line-height:1!important; }
.jm2-proof-line strong { color:#6b21a8; font-family:"Nunito",Arial,sans-serif; font-size:2rem; font-weight:900; }
.jm2-proof-line span { font-size:.95rem; font-weight:700; }
.jm2-actions { margin-top:.9rem; }
.jm2-actions .wp-element-button { padding:.82rem 1rem; font-size:.9rem; }
.jm2-hero-visual { position:relative; min-height:565px; margin-top:0!important; }
.jm2-hero-brand { top:-1.75rem; left:2%; z-index:5; width:96%; height:clamp(175px,17vw,235px); overflow:visible; filter:drop-shadow(0 10px 14px rgb(61 23 90 / 20%)); }
.jm2-hero-brand img { display:block; width:100%; height:auto; }
.jm2-hero-single-photo { position:absolute; inset:auto 4% 0 7%; height:405px; margin:0; overflow:hidden; border:6px solid #fff; border-radius:49% 51% 45% 55% / 35% 34% 66% 65%; box-shadow:0 24px 55px rgb(54 22 79 / 23%); transform:rotate(-1deg); }
.jm2-hero-single-photo img { width:100%; height:100%; object-fit:cover; object-position:center 38%; transition:transform .55s ease; }
.jm2-hero-single-photo:hover img { transform:scale(1.035); }

@media(max-width:1050px){
  .jm2-title{font-size:clamp(3.4rem,5.6vw,4.8rem)!important}.jm2-actions{flex-wrap:wrap!important}.jm2-hero-visual{min-height:520px}.jm2-hero-single-photo{height:365px}
}
@media(max-width:900px){
  .jm2-hero-grid>.wp-block-column:first-child,.jm2-hero-grid>.wp-block-column:last-child{flex-basis:100%!important}.jm2-hero-grid{gap:1.5rem}.jm2-title span{white-space:normal}.jm2-hero-visual{min-height:540px}.jm2-hero-brand{top:-1rem;width:88%;left:6%;height:210px}.jm2-hero-single-photo{inset:auto 7% 0;height:390px}
}
@media(max-width:600px){
  .jm2-hero{padding-top:.75rem;padding-bottom:3.4rem}.jm2-title{font-size:clamp(3rem,14vw,4.15rem)!important}.jm2-story{padding-left:.75rem}.jm2-story>strong{font-size:1.08rem}.jm2-proof-line{align-items:center}.jm2-proof-line strong{font-size:1.7rem}.jm2-actions>.wp-block-button{width:100%}.jm2-actions .wp-element-button{width:100%;text-align:center}.jm2-hero-visual{min-height:430px}.jm2-hero-brand{top:-.5rem;left:1%;width:98%;height:155px}.jm2-hero-single-photo{inset:auto 2% 0;height:315px;border-width:4px}
}

@media(prefers-reduced-motion:reduce){
  .jm2-hero-single-photo img{transition:none}.jm2-hero-single-photo:hover img{transform:none}
}

/* Version 2.5: clean, unboxed combined identity */
.jm2-hero { padding-top:clamp(1rem,2vw,1.75rem); padding-bottom:5rem; }
.jm2-hero-grid { align-items:flex-start!important; gap:clamp(2rem,4vw,4.5rem); }
.jm2-hero-grid>.wp-block-column:first-child { flex-basis:46%!important; padding-top:1rem; }
.jm2-hero-grid>.wp-block-column:last-child { flex-basis:54%!important; align-self:flex-start!important; }
.jm2-title { max-width:none; font-size:clamp(3.9rem,5.8vw,6.25rem)!important; line-height:.94!important; }
.jm2-title span { white-space:nowrap; }
.jm2-hero .jm-orange { color:#f97316; }
.jm2-hero .wp-block-column:first-child>p { max-width:36rem; font-size:1.06rem; line-height:1.72; }
.jm2-actions { display:flex!important; flex-wrap:nowrap!important; gap:.75rem!important; margin-top:1.35rem; }
.jm2-actions>.wp-block-button { flex:0 1 auto; }
.jm2-actions .wp-element-button { white-space:nowrap; padding:.78rem 1.05rem; font-size:.92rem; }
.jm2-hero-visual { min-height:650px; margin-top:0!important; }
.jm2-photo-collage { inset:0 -4% 0; }
.jm2-photo-a { width:62%; height:53%; left:-1%; top:13%; }
.jm2-photo-b { width:57%; height:51%; right:-1%; top:0; }
.jm2-photo-c { width:65%; height:47%; right:4%; bottom:0; }
.jm2-hero-brand { width:92%; left:4%; top:22%; z-index:12; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; filter:drop-shadow(0 12px 18px rgb(61 23 90 / 25%)); }
.jm2-union-line { margin:.9rem 0 1.1rem!important; padding-left:1rem; border-left:4px solid #f97316; color:#4c1d95!important; font-size:1rem!important; line-height:1.45!important; }
.jm2-union-line>strong { font-family:"Nunito",Arial,sans-serif; font-size:1.25rem; }
.jm2-union-line span { color:#333; }

@media(max-width:1050px){
  .jm2-title{font-size:clamp(3.5rem,6vw,5rem)!important}.jm2-actions{flex-wrap:wrap!important}.jm2-hero-visual{min-height:590px}
}
@media(max-width:900px){
  .jm2-hero-grid>.wp-block-column:first-child,.jm2-hero-grid>.wp-block-column:last-child{flex-basis:100%!important}.jm2-title span{white-space:normal}.jm2-actions{flex-wrap:wrap!important}.jm2-hero-visual{min-height:560px}.jm2-hero-brand{width:84%;left:8%}
}
@media(max-width:600px){
  .jm2-hero{padding-top:.8rem}.jm2-title{font-size:clamp(3.1rem,15vw,4.3rem)!important}.jm2-hero-visual{min-height:470px}.jm2-hero-brand{top:20%;width:96%;left:2%;padding:0}.jm2-actions>.wp-block-button{width:100%}.jm2-actions .wp-element-button{width:100%;text-align:center}
}

/* Version 2.7: lifted hero, visible logo and dual header actions */
.jm-site-header .jm-logo { position:relative; flex:0 0 220px; width:220px; height:64px; overflow:visible; }
.jm-site-header .jm-logo a { display:block; position:relative; width:100%; height:100%; }
.jm-site-header .jm-logo img { position:absolute; top:0; left:0; width:220px; max-width:none; max-height:none; height:auto; filter:drop-shadow(0 5px 7px rgb(29 9 45 / 35%)); }
.jm-footer-logo { position:relative; width:min(390px,100%); height:125px; margin:0 0 .75rem; overflow:visible; }
.jm-footer-logo img { position:absolute; top:0; left:0; width:100%; max-width:none; height:auto; filter:drop-shadow(0 8px 10px rgb(29 9 45 / 30%)); }
.jm-site-header>.jm-header-actions { display:flex; flex-wrap:nowrap; gap:.55rem; }
.jm-site-header .jm-header-actions .wp-element-button { padding:.72rem .9rem; white-space:nowrap; font-size:.82rem; }
.jm-site-header .jm-header-book .wp-element-button { background:#fff!important; color:#4c1d95!important; box-shadow:0 8px 20px rgb(38 15 60 / 22%); }
.jm-site-header .jm-header-give .wp-element-button { background:linear-gradient(135deg,#f97316,#ea580c)!important; color:#fff!important; box-shadow:0 8px 20px rgb(38 15 60 / 25%); }
.jm2-hero { padding-top:clamp(.25rem,.8vw,.7rem); padding-bottom:clamp(3.15rem,4.5vw,4.25rem); }
.jm2-hero-grid { align-items:flex-start!important; gap:clamp(2.5rem,5vw,5.5rem); }
.jm2-hero-grid>.wp-block-column:first-child { flex-basis:48%!important; align-self:flex-start!important; padding-top:.2rem; }
.jm2-hero-grid>.wp-block-column:last-child { flex-basis:52%!important; align-self:flex-start!important; }
.jm2-hero .jm-teal { color:#5ce1e6; text-shadow:0 2px 0 rgb(19 123 119 / 38%); }
.jm2-hero-visual { min-height:535px; }
.jm2-hero-brand { top:-5rem; left:1%; z-index:6; width:98%; height:220px; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; filter:drop-shadow(0 14px 14px rgb(61 23 90 / 32%)); }
.jm2-hero-single-photo { inset:auto 4% 0 7%; height:390px; }

@media(max-width:1250px){
  .jm-site-header .jm-logo{flex-basis:190px;width:190px;height:58px}.jm-site-header .jm-logo img{width:190px}.jm-site-header .wp-block-navigation{font-size:.78rem}.jm-site-header .jm-header-actions .wp-element-button{padding:.65rem .72rem;font-size:.74rem}
}
@media(max-width:1050px){
  .jm-site-header>.jm-header-actions{display:none}.jm2-hero-brand{top:-3.75rem}.jm2-hero-visual{min-height:510px}.jm2-hero-single-photo{height:365px}
}
@media(max-width:900px){
  .jm-site-header .jm-logo{flex-basis:175px;width:175px;height:54px}.jm-site-header .jm-logo img{width:175px}.jm2-hero{padding-top:.4rem}.jm2-hero-grid>.wp-block-column:first-child,.jm2-hero-grid>.wp-block-column:last-child{flex-basis:100%!important}.jm2-hero-grid{gap:1rem}.jm2-hero-visual{min-height:505px}.jm2-hero-brand{top:-2.5rem;left:4%;width:92%;height:195px}.jm2-hero-single-photo{inset:auto 7% 0;height:370px}
}
@media(max-width:600px){
  .jm2-hero{padding-top:.2rem}.jm2-hero-visual{min-height:405px}.jm2-hero-brand{top:-1.5rem;left:1%;width:98%;height:145px;filter:drop-shadow(0 9px 10px rgb(61 23 90 / 28%))}.jm2-hero-single-photo{inset:auto 2% 0;height:295px}
}

/* Version 2.8: spacing, colour consistency and sticky-header fit */
.jm-site-header { position:sticky; top:0; z-index:1000; }
.jm-site-header .jm-logo { flex-basis:205px; width:205px; height:60px; overflow:hidden; }
.jm-site-header .jm-logo img { top:4px; width:205px; }
.jm2-hero { padding-top:clamp(.7rem,1.25vw,1.15rem); }
.jm2-title { margin-bottom:1.3rem!important; }
.jm2-story { line-height:1.65!important; }
.jm2-story>strong { margin-bottom:.4rem; }
.jm2-profit-line { margin:.95rem 0!important; line-height:1.5!important; }
.jm2-proof-line { margin:.8rem 0 1rem!important; }
.jm2-hero .jm-teal,.jm2-wins .jm-teal,.jm2-final .jm-teal { color:#1bbfab; text-shadow:none; }
.jm2-final .jm-orange { color:#f97316; }
.jm2-hero-brand { top:.35rem; left:2%; width:96%; height:215px; filter:drop-shadow(0 13px 14px rgb(61 23 90 / 30%)); }
.jm2-hero-visual { min-height:550px; }
.jm2-hero-single-photo { height:390px; }

@media(max-width:1250px){
  .jm-site-header .jm-logo{flex-basis:185px;width:185px;height:56px}.jm-site-header .jm-logo img{top:4px;width:185px}
}
@media(max-width:1050px){
  .jm2-hero-brand{top:.25rem}.jm2-hero-visual{min-height:525px}.jm2-hero-single-photo{height:365px}
}
@media(max-width:900px){
  .jm-site-header .jm-logo{flex-basis:170px;width:170px;height:52px}.jm-site-header .jm-logo img{top:4px;width:170px}.jm2-hero-brand{top:.25rem;left:4%;width:92%;height:190px}.jm2-hero-visual{min-height:515px}.jm2-hero-single-photo{height:370px}
}
@media(max-width:600px){
  .jm2-hero{padding-top:.6rem}.jm2-title{margin-bottom:1.05rem!important}.jm2-story{line-height:1.58!important}.jm2-hero-brand{top:.15rem;left:2%;width:96%;height:145px}.jm2-hero-visual{min-height:420px}.jm2-hero-single-photo{height:295px}
}

/* Version 3.0: clean header identity, dual-logo hero and Why Joy Matters */
.jm-site-header {
  position:sticky;
  top:0;
  z-index:1000;
  min-height:76px;
  max-height:84px;
  padding:.35rem clamp(1rem,3vw,2.5rem)!important;
  background:linear-gradient(135deg,#4c1d95,#6b21a8 58%,#8b2fc9)!important;
  border-bottom:1px solid rgb(255 255 255 / 14%);
  box-shadow:0 3px 16px rgb(44 18 70 / 16%);
  transition:box-shadow .2s ease;
  animation:none!important;
}
.jm-site-header.is-scrolled { box-shadow:0 10px 28px rgb(44 18 70 / 28%); }
.admin-bar .jm-site-header { top:32px; }
.jm-brand-lockup { flex:0 0 auto; gap:.7rem!important; margin:0; }
.jm-site-header .jm-brand-lockup .jm-logo { position:relative; flex:0 0 60px; width:60px; height:60px; margin:0; overflow:visible; line-height:0; }
.jm-site-header .jm-brand-lockup .jm-logo img { position:static; display:block; width:60px; height:60px; max-width:60px; max-height:60px; object-fit:contain; filter:drop-shadow(0 5px 8px rgb(29 9 45 / 32%)); }
.jm-brand-name { margin:0; font-family:"Nunito",Arial,sans-serif; font-size:1.08rem; font-weight:900; line-height:1.05; white-space:nowrap; }
.jm-brand-name a { color:#fff!important; text-decoration:none; }
.jm-site-header .wp-block-navigation { flex:1 1 auto; justify-content:center; }
.jm-site-header .wp-block-navigation-item__content { color:#fff!important; }
.jm-site-header>.jm-header-actions { flex:0 0 auto; }
.jm-mobile-nav-action { display:none!important; }

.jm2-hero { order:1; padding-top:clamp(1rem,1.5vw,1.5rem); }
.jm2-title { font-size:clamp(3.25rem,5.4vw,5.75rem)!important; line-height:.92!important; letter-spacing:-.045em!important; }
.jm2-title span { white-space:nowrap; }
.jm2-hero-grid { align-items:flex-start!important; }
.jm2-hero-visual { position:relative; min-height:520px; }
.jm2-hero-badges { position:absolute; z-index:6; top:.15rem; left:5%; right:5%; gap:clamp(.75rem,1.7vw,1.3rem)!important; }
.jm2-mobile-badges { display:none!important; }
.jm2-identity-badge { flex:0 0 auto; width:118px!important; margin:0; border-radius:50%!important; filter:drop-shadow(0 10px 13px rgb(61 23 90 / 24%)); }
.jm2-identity-badge img { display:block; width:118px!important; height:118px!important; object-fit:contain; border-radius:50%!important; }
.jm2-shared-mission { position:relative; flex:0 1 150px; margin:0!important; color:#4c1d95!important; font-family:"Nunito",Arial,sans-serif!important; font-size:.86rem!important; line-height:1.12!important; }
.jm2-shared-mission::before,.jm2-shared-mission::after { content:""; position:absolute; top:50%; width:22px; height:2px; background:#f97316; opacity:.75; }
.jm2-shared-mission::before { right:calc(100% + .35rem); }.jm2-shared-mission::after { left:calc(100% + .35rem); }
.jm2-shared-mission span { color:#f97316; font-size:1.35rem; }
.jm2-hero-single-photo { inset:auto 4% 0 7%; height:380px; }

.jm-home-v2 { display:flex; flex-direction:column; }
.jm2-why { order:2; position:relative; isolation:isolate; overflow:hidden; padding:clamp(4.5rem,7vw,7rem) clamp(1rem,4vw,3rem); background:radial-gradient(circle at 8% 12%,rgb(107 33 168 / 9%),transparent 25%),radial-gradient(circle at 92% 20%,rgb(27 191 171 / 12%),transparent 24%),radial-gradient(circle at 16% 92%,rgb(249 115 22 / 9%),transparent 25%),#fffaf3; }
.jm2-why::before,.jm2-why::after { content:""; position:absolute; z-index:-1; border-radius:48% 52% 62% 38% / 44% 38% 62% 56%; opacity:.18; }
.jm2-why::before { width:17rem; height:17rem; top:-7rem; right:-5rem; background:#f4d51d; transform:rotate(18deg); }
.jm2-why::after { width:14rem; height:14rem; bottom:-6rem; left:-4rem; background:#1bbfab; transform:rotate(-14deg); }
.jm2-why-intro h2 { margin:.2rem 0 1rem; }
.jm2-why-intro>p { max-width:850px; margin-left:auto; margin-right:auto; }
.jm2-why-lead { margin-bottom:.3rem!important; color:#6b21a8; font-family:"Nunito",Arial,sans-serif!important; font-size:1.35rem!important; }
.jm2-why-support { margin-top:1.4rem!important; padding:1rem 1.25rem; border-left:4px solid #f97316; border-radius:0 16px 16px 0; background:rgb(255 255 255 / 70%); color:#4c1d95; }
.jm-benefit-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem!important; margin-top:3rem!important; }
.jm-benefit-card { position:relative; min-height:315px; margin:0; padding:1.65rem; overflow:hidden; border-top:5px solid var(--jm-card-accent,#6b21a8); border-radius:24px; background:rgb(255 255 255 / 92%); box-shadow:0 16px 42px rgb(69 32 91 / 11%); transition:transform .25s ease,box-shadow .25s ease,opacity .55s ease; }
.jm-benefit-card::after { content:""; position:absolute; width:7rem; height:7rem; right:-3.2rem; top:-3.2rem; border-radius:50%; background:var(--jm-card-accent,#6b21a8); opacity:.07; }
.jm-benefit-card:hover { transform:translateY(-6px); box-shadow:0 24px 50px rgb(69 32 91 / 16%); }
.jm-benefit-purple { --jm-card-accent:#6b21a8; }.jm-benefit-teal { --jm-card-accent:#1bbfab; }.jm-benefit-orange { --jm-card-accent:#f97316; }
.jm-benefit-icon { display:grid; place-items:center; width:3.1rem; height:3.1rem; margin:0 0 1rem!important; border:2px solid var(--jm-card-accent); border-radius:44% 56% 48% 52% / 55% 44% 56% 45%; background:#fff; color:var(--jm-card-accent); font-family:"Nunito",Arial,sans-serif!important; font-size:1.25rem!important; font-weight:900; line-height:1!important; transform:rotate(-3deg); }
.jm-benefit-label { margin:0 0 .35rem!important; color:var(--jm-card-accent); font-size:.78rem!important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.jm-benefit-teal .jm-benefit-label { color:#087f76; }.jm-benefit-orange .jm-benefit-label { color:#b94700; }
.jm-benefit-card h3 { margin:.15rem 0 .7rem; color:#4c1d95; font-size:1.45rem; line-height:1.12; }
.jm-benefit-card p:last-child { margin-bottom:0; font-size:.95rem; line-height:1.55; }
.jm2-why-closing { margin-top:3rem!important; }
.jm2-why-closing h3 { margin:1.25rem 0 .9rem; color:#6b21a8; font-size:clamp(1.8rem,3vw,2.6rem); }
.jm2-why-actions { gap:.8rem!important; }
.jm2-impact { order:2; }.jm2-dual { order:3; }.jm2-why { order:4; }.jm2-wins { order:5; }.jm2-final { order:6; }
.jm2-cycle-photo { width:clamp(112px,12vw,150px); aspect-ratio:1; margin:0 auto!important; overflow:hidden; border:5px solid #fff; border-radius:50%; background:#fff; box-shadow:0 15px 35px rgb(55 24 76 / 16%); }
.jm2-cycle-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.jm2-cycle-people img { object-position:center 42%; }
.jm2-cycle-community img { object-position:78% 40%; }
.jm2-cycle-reach img { object-position:center 18%; }

/* Version 3.2: unified action, impact and sharing sections. */
.jm2-dual-intro { margin-bottom:2.4rem!important; color:#fff; }
.jm2-dual-intro .jm-kicker { margin-bottom:.35rem!important; color:#f4d51d!important; }
.jm2-dual-intro h2 { margin:.15rem 0 .35rem; color:#fff; }
.jm2-dual-intro>p:last-child { margin-top:0; color:rgb(255 255 255 / 90%); font-size:1.08rem; }
.jm2-book-session-photo img { object-position:center 50%; }

.jm2-why { background:radial-gradient(circle at 6% 12%,rgb(107 33 168 / 11%),transparent 23%),radial-gradient(circle at 94% 16%,rgb(27 191 171 / 14%),transparent 22%),radial-gradient(circle at 12% 90%,rgb(249 115 22 / 10%),transparent 24%),linear-gradient(180deg,#fff 0%,#f8f3ff 100%); }
.jm2-why-intro h2 { color:#6b21a8; font-size:clamp(2.65rem,5vw,4.6rem)!important; }
.jm2-why-intro .jm-kicker { color:#d95c0b; }
.jm2-why-lead { max-width:760px!important; margin-top:.7rem!important; color:#149a8d!important; font-size:clamp(1.2rem,2vw,1.5rem)!important; line-height:1.35!important; }
.jm2-why-support { max-width:820px!important; padding:1.1rem 1.35rem!important; border:0!important; border-radius:24px 8px 24px 8px!important; background:linear-gradient(135deg,#4c1d95,#6b21a8)!important; color:#fff!important; box-shadow:0 14px 30px rgb(76 29 149 / 18%); }
.jm-benefit-grid { gap:1.6rem!important; }
.jm-benefit-card { min-height:285px; padding:1.8rem; border:0; border-radius:32px 12px 32px 12px; box-shadow:0 18px 42px rgb(69 32 91 / 13%); }
.jm-benefit-card:nth-child(even) { border-radius:12px 32px 12px 32px; }
.jm-benefit-purple { background:linear-gradient(145deg,#f1e7ff,#fff 82%); }
.jm-benefit-teal { background:linear-gradient(145deg,#dcf8f4,#fff 82%); }
.jm-benefit-orange { background:linear-gradient(145deg,#fff0e3,#fff 82%); }
.jm-benefit-card::before { content:""; position:absolute; width:5.6rem; height:.55rem; left:1.8rem; bottom:0; border-radius:999px 999px 0 0; background:var(--jm-card-accent); opacity:.9; }
.jm-benefit-card::after { right:-2.7rem; top:-2.7rem; width:8rem; height:8rem; opacity:.1; }
.jm-benefit-icon { width:3.6rem; height:3.6rem; border:0; border-radius:50%; background:var(--jm-card-accent); color:#fff; box-shadow:0 9px 20px color-mix(in srgb,var(--jm-card-accent) 28%,transparent); transform:rotate(-4deg); }
.jm-benefit-card h3 { color:#4c1d95; font-size:1.55rem; }
.jm2-why-closing { max-width:900px!important; padding:1.8rem 2rem; border-radius:32px 12px 32px 12px; background:#fff; box-shadow:0 16px 38px rgb(69 32 91 / 10%); }

.jm-social-share { margin-top:3.25rem!important; padding:2rem clamp(1rem,3vw,2rem); border-top:1px solid rgb(107 33 168 / 14%); border-bottom:1px solid rgb(107 33 168 / 14%); text-align:center; }
.jm-social-share h3 { margin:.1rem 0 .4rem; color:#6b21a8; font-size:clamp(1.7rem,3vw,2.35rem); }
.jm-social-share>p { margin:.35rem auto 1.25rem!important; max-width:680px; }
.jm-social-buttons { gap:.65rem!important; }
.jm-social-button .wp-element-button { min-width:118px; padding:.72rem 1rem; border:2px solid #6b21a8; background:#fff!important; color:#6b21a8!important; box-shadow:none; }
.jm-social-button .wp-element-button:hover { background:#6b21a8!important; color:#fff!important; transform:translateY(-2px); }
.jm-native-share { display:flex; flex-direction:column; align-items:center; margin-top:1rem; }
.jm-share-page { min-height:46px; padding:.75rem 1.2rem; border:0; border-radius:999px; background:#f97316; color:#1d191c; font:700 .95rem "Rubik",Arial,sans-serif; box-shadow:0 9px 22px rgb(76 29 149 / 16%); cursor:pointer; }
.jm-share-page:hover { transform:translateY(-2px); box-shadow:0 13px 26px rgb(76 29 149 / 22%); }
.jm-share-page:focus-visible { outline:3px solid #1bbfab; outline-offset:3px; }
.jm-share-status { min-height:1.3em; margin:.55rem 0 0!important; color:#4c1d95; font-size:.85rem!important; }

/* Version 3.3: Why It Matters now uses the same generous, organic card language as the rest of the page. */
.jm2-why { padding-top:clamp(6.5rem,9vw,8.5rem); background:radial-gradient(circle at 94% 20%,rgb(27 191 171 / 12%),transparent 23%),radial-gradient(circle at 8% 86%,rgb(249 115 22 / 9%),transparent 24%),linear-gradient(180deg,#fff 0%,#f7f2ff 100%); }
.jm2-why::before { width:110%; height:58px; left:-5%; right:auto; top:-1px; border-radius:0 0 50% 50% / 0 0 100% 100%; background:linear-gradient(135deg,#4c1d95,#6b21a8 55%,#8b2fc9); opacity:1; transform:none; }
.jm2-why::after { width:16rem; height:16rem; left:auto; right:-7rem; bottom:-7rem; background:#1bbfab; opacity:.14; }
.jm2-why-intro { max-width:980px!important; }
.jm2-why-intro h2 { max-width:800px; margin:.2rem auto 1rem; }
.jm2-why-intro>p:not(.jm-kicker):not(.jm2-why-support) { max-width:900px; font-size:1.02rem; line-height:1.65; }
.jm2-why-support { margin-top:1.6rem!important; padding:1.25rem 1.5rem!important; border-left:5px solid #1bbfab!important; border-radius:10px 28px 28px 10px!important; background:linear-gradient(135deg,#e1faf6,#fff)!important; color:#4c1d95!important; box-shadow:0 14px 32px rgb(76 29 149 / 10%); }
.jm-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; max-width:1180px!important; gap:1.5rem!important; }
.jm-benefit-card { display:grid; grid-template-columns:74px minmax(0,1fr); grid-template-rows:auto auto 1fr; column-gap:1.25rem; align-items:start; min-height:220px; padding:2rem; border-radius:34px 12px 34px 12px; box-shadow:0 18px 42px rgb(62 29 84 / 14%); }
.jm-benefit-card:nth-child(even) { border-radius:12px 34px 12px 34px; }
.jm-benefit-card::before { left:calc(74px + 3.25rem); right:2rem; width:auto; height:.45rem; }
.jm-benefit-icon { grid-column:1; grid-row:1 / 4; width:68px; height:68px; margin:.1rem 0 0!important; font-size:1.55rem!important; box-shadow:0 12px 24px rgb(76 29 149 / 15%); }
.jm-benefit-label { grid-column:2; grid-row:1; margin:.1rem 0 .35rem!important; font-size:.8rem!important; }
.jm-benefit-card h3 { grid-column:2; grid-row:2; margin:.05rem 0 .65rem; font-size:clamp(1.45rem,2vw,1.75rem); }
.jm-benefit-card p:last-child { grid-column:2; grid-row:3; margin:0 0 1.1rem!important; font-size:1rem; line-height:1.58; }
.jm-benefit-purple { background:radial-gradient(circle at 100% 0,rgb(107 33 168 / 11%),transparent 34%),linear-gradient(145deg,#f0e5ff,#fff 78%); }
.jm-benefit-teal { background:radial-gradient(circle at 100% 0,rgb(27 191 171 / 14%),transparent 34%),linear-gradient(145deg,#dcf8f4,#fff 78%); }
.jm-benefit-orange { background:radial-gradient(circle at 100% 0,rgb(249 115 22 / 13%),transparent 34%),linear-gradient(145deg,#fff0e3,#fff 78%); }
.jm2-why-closing { margin-top:3.5rem!important; padding:2.2rem clamp(1.4rem,4vw,3rem); border-radius:38px 14px 38px 14px; background:radial-gradient(circle at 92% 20%,rgb(27 191 171 / 22%),transparent 28%),linear-gradient(135deg,#4c1d95,#6b21a8 60%,#8b2fc9); color:#fff; box-shadow:0 22px 48px rgb(54 22 79 / 22%); }
.jm2-why-closing p,.jm2-why-closing h3 { color:#fff!important; }
.jm2-why-closing .has-purple-background-color { background:#fff!important; color:#4c1d95!important; }

/* Version 3.4: story-led Why section, persistent option numbers and a single social/footer ending. */
.jm2-why { padding-top:clamp(6.5rem,9vw,8.5rem); background:radial-gradient(circle at 94% 16%,rgb(27 191 171 / 10%),transparent 22%),radial-gradient(circle at 7% 88%,rgb(249 115 22 / 8%),transparent 22%),#fff; }
.jm2-why-intro h2 { max-width:920px; color:#6b21a8; }
.jm2-why-lead { max-width:820px!important; color:#333!important; }
.jm-why-storyline { max-width:1180px!important; margin-top:3rem!important; }
.jm-story-stage { position:relative; overflow:hidden; padding:clamp(2rem,4vw,3.5rem); box-shadow:0 20px 48px rgb(61 25 86 / 14%); }
.jm-story-stage::after { content:"♡"; position:absolute; right:clamp(1rem,4vw,3rem); top:clamp(.75rem,2vw,1.5rem); color:var(--jm-stage-accent); font-family:"Nunito",Arial,sans-serif; font-size:clamp(2.4rem,5vw,4.2rem); font-weight:900; opacity:.2; transform:rotate(12deg); }
.jm-story-stage h3 { max-width:780px; margin:.15rem 0 .75rem; color:#4c1d95; font-size:clamp(2rem,4vw,3.35rem); line-height:1.03; }
.jm-story-stage>p:not(.jm-story-label):not(.jm-context-note):not(.jm-story-profit) { max-width:860px; font-size:1.05rem; line-height:1.65; }
.jm-story-label { margin:0 0 .45rem!important; color:var(--jm-stage-accent); font-size:.78rem!important; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.jm-story-reality { --jm-stage-accent:#d95c0b; max-width:1000px!important; margin-right:auto!important; border-radius:54px 16px 54px 16px; background:radial-gradient(circle at 90% 18%,rgb(249 115 22 / 15%),transparent 26%),linear-gradient(145deg,#fff0e3,#fff 75%); }
.jm-story-response { --jm-stage-accent:#f4d51d; width:94%; margin-left:auto!important; border-radius:18px 58px 18px 58px; background:radial-gradient(circle at 92% 20%,rgb(27 191 171 / 24%),transparent 27%),linear-gradient(135deg,#4c1d95,#6b21a8 58%,#8b2fc9); color:#fff; }
.jm-story-response h3,.jm-story-response>p { color:#fff!important; }
.jm-story-outcome { --jm-stage-accent:#149a8d; width:96%; margin-right:auto!important; border-radius:58px 18px 58px 18px; background:radial-gradient(circle at 10% 85%,rgb(27 191 171 / 16%),transparent 30%),linear-gradient(145deg,#dcf8f4,#fff 76%); }
.jm-story-arrow { margin:.35rem 0!important; color:#f97316!important; font-family:"Nunito",Arial,sans-serif!important; font-size:3rem!important; font-weight:900; line-height:1!important; }
.jm-context-note { max-width:900px; margin:1.25rem 0 0!important; padding-top:1rem; border-top:1px solid rgb(76 29 149 / 14%); color:#574c58; font-size:.86rem!important; line-height:1.55!important; }
.jm-context-note a { font-weight:700; }
.jm-story-pathways { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem!important; margin-top:1.7rem!important; }
.jm-story-path { align-items:flex-start!important; gap:1rem!important; margin:0; padding:1.25rem; border:1px solid rgb(255 255 255 / 24%); border-radius:26px 8px 26px 8px; background:rgb(255 255 255 / 12%); }
.jm-story-path-two { border-radius:8px 26px 8px 26px; }
.jm-story-path>p:last-child { margin:0!important; color:#fff; line-height:1.5; }
.jm-option-number { flex:0 0 auto; display:grid!important; place-items:center; width:2.6rem; height:2.6rem; margin:0!important; border-radius:50%; background:#fff; color:#6b21a8!important; font-family:"Nunito",Arial,sans-serif!important; font-size:1.2rem!important; font-weight:900; box-shadow:0 8px 18px rgb(30 12 47 / 20%); }
.jm-story-path-two .jm-option-number { background:#f97316; color:#1d191c!important; }
.jm-story-profit { margin:1.2rem 0 0!important; padding:.9rem 1rem; border-left:4px solid #f4d51d; border-radius:0 15px 15px 0; background:rgb(255 255 255 / 9%); color:#fff!important; }
.jm-outcome-ripples { gap:.65rem!important; margin:1.6rem 0 1.2rem!important; }
.jm-outcome-ripples p { margin:0!important; padding:.65rem 1rem; border:2px solid #1bbfab; border-radius:999px; background:#fff; color:#4c1d95; font-family:"Nunito",Arial,sans-serif!important; font-size:.9rem!important; font-weight:800; box-shadow:0 8px 18px rgb(61 25 86 / 8%); }
.jm2-why-closing { margin-top:2.25rem!important; }

.jm2-final { background:radial-gradient(circle at 88% 10%,rgb(27 191 171 / 13%),transparent 26%),radial-gradient(circle at 8% 88%,rgb(249 115 22 / 10%),transparent 22%),linear-gradient(140deg,#efe4fb,#dfcdf4)!important; border-top:1px solid rgb(107 33 168 / 12%); }
.jm2-final>.jm-social-share { display:none!important; }

.jm-footer-social { margin:2rem auto!important; padding:1.75rem clamp(1rem,3vw,2rem)!important; border-color:rgb(255 255 255 / 18%)!important; }
.jm-footer-social h3,.jm-footer-social>p,.jm-footer-social .jm-share-status { color:#fff!important; }
.jm-footer-social .jm-social-button .wp-element-button { border-color:rgb(255 255 255 / 68%); background:transparent!important; color:#fff!important; }
.jm-footer-social .jm-social-button .wp-element-button:hover { border-color:#fff; background:#fff!important; color:#4c1d95!important; }

.jm2-story>span>strong::before,.jm2-actions .wp-element-button::before,.jm-numbered-actions .wp-element-button::before,.jm2-dual-card::before,.jm2-dual-card .wp-element-button::before,.jm2-final>.wp-block-columns .wp-element-button::before,.jm-header-actions .wp-element-button::before,.jm-mobile-nav-action>.wp-block-navigation-item__content::before { display:inline-grid; place-items:center; border-radius:50%; font-family:"Nunito",Arial,sans-serif; font-weight:900; line-height:1; }
.jm2-story>span>strong::before { width:1.5rem; height:1.5rem; margin-right:.4rem; background:#6b21a8; color:#fff; font-size:.78rem; vertical-align:.1rem; }
.jm2-story>span>strong:first-of-type::before { content:"1"; }
.jm2-story>span>strong:nth-of-type(2)::before { content:"2"; background:#f97316; color:#1d191c; }
.jm2-actions .wp-element-button::before,.jm-numbered-actions .wp-element-button::before,.jm2-dual-card .wp-element-button::before,.jm2-final>.wp-block-columns .wp-element-button::before,.jm-header-actions .wp-element-button::before { width:1.45rem; height:1.45rem; margin-right:.45rem; background:rgb(255 255 255 / 92%); color:#6b21a8; font-size:.76rem; }
.jm2-actions>.wp-block-button:first-child .wp-element-button::before,.jm-numbered-actions>.wp-block-button:first-child .wp-element-button::before,.jm-header-book .wp-element-button::before,.jm2-dual-grid>.wp-block-column:first-child .jm2-dual-card .wp-element-button::before,.jm2-final>.wp-block-columns .wp-block-column:last-child .wp-block-button:first-child .wp-element-button::before { content:"1"; }
.jm2-actions>.wp-block-button:nth-child(2) .wp-element-button::before,.jm-numbered-actions>.wp-block-button:nth-child(2) .wp-element-button::before,.jm-header-give .wp-element-button::before,.jm2-dual-grid>.wp-block-column:nth-child(2) .jm2-dual-card .wp-element-button::before,.jm2-final>.wp-block-columns .wp-block-column:last-child .wp-block-button:nth-child(2) .wp-element-button::before { content:"2"; background:#1d191c; color:#fff; }
.jm2-dual-card::before { content:"1"; position:absolute; z-index:3; top:1.25rem; right:1.25rem; width:3rem; height:3rem; background:#6b21a8; color:#fff; font-size:1.35rem; box-shadow:0 10px 24px rgb(54 22 79 / 20%); }
.jm2-dual-grid>.wp-block-column:nth-child(2) .jm2-dual-card::before { content:"2"; background:#f97316; color:#1d191c; }
.jm-mobile-nav-action>.wp-block-navigation-item__content::before { width:1.35rem; height:1.35rem; margin-right:.4rem; background:#6b21a8; color:#fff; font-size:.72rem; }
.jm-mobile-book>.wp-block-navigation-item__content::before { content:"1"; }
.jm-mobile-give>.wp-block-navigation-item__content::before { content:"2"; background:#1d191c; }

.jm-reveal { opacity:1; transform:none; }
.jm-js .jm-reveal:not(.is-visible) { opacity:0; transform:translateY(20px); }
.jm-js .jm2-why:not(.is-visible) .jm-benefit-card { opacity:0; transform:translateY(18px); }
.jm2-why.is-visible .jm-benefit-card:nth-child(2) { transition-delay:.06s; }.jm2-why.is-visible .jm-benefit-card:nth-child(3) { transition-delay:.12s; }.jm2-why.is-visible .jm-benefit-card:nth-child(4) { transition-delay:.18s; }.jm2-why.is-visible .jm-benefit-card:nth-child(5) { transition-delay:.24s; }.jm2-why.is-visible .jm-benefit-card:nth-child(6) { transition-delay:.3s; }

@media(max-width:1200px){
  .jm-brand-name{font-size:.98rem}.jm-site-header .wp-block-navigation{font-size:.82rem}.jm-site-header .jm-header-actions .wp-element-button{padding:.66rem .72rem;font-size:.74rem}.jm-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jm-benefit-card{min-height:285px}
}
@media(max-width:1050px){
  .jm-site-header>.jm-header-actions{display:none}.jm-mobile-nav-action{display:flex!important}.jm-mobile-nav-action>.wp-block-navigation-item__content{padding:.55rem .75rem!important;border-radius:999px;font-weight:700}.jm-mobile-book>.wp-block-navigation-item__content{background:#fff;color:#4c1d95!important}.jm-mobile-give>.wp-block-navigation-item__content{background:#f97316;color:#fff!important}.jm2-hero-visual{min-height:500px}.jm2-hero-single-photo{height:355px}.jm2-identity-badge{width:104px!important}.jm2-identity-badge img{width:104px!important;height:104px!important}
}
@media(max-width:900px){
  .jm2-title{font-size:clamp(3.625rem,7vw,4.25rem)!important}.jm2-hero-visual{min-height:500px}.jm2-hero-badges{top:.3rem}.jm2-hero-single-photo{height:350px}.jm-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:782px){
  .admin-bar .jm-site-header{top:46px}.jm-site-header{min-height:72px}.jm-brand-lockup{gap:.55rem!important}.jm-site-header .jm-brand-lockup .jm-logo,.jm-site-header .jm-brand-lockup .jm-logo img{flex-basis:56px;width:56px!important;height:56px!important;max-width:56px;max-height:56px}.jm-brand-name{font-size:.92rem}.jm2-hero-grid{gap:1rem}.jm2-hero-visual{min-height:390px}.jm2-desktop-badges{display:none!important}.jm2-mobile-badges{display:flex!important;justify-content:flex-start!important;gap:.65rem!important;margin:.8rem 0 1rem!important}.jm2-mobile-badges .jm2-identity-badge,.jm2-mobile-badges .jm2-identity-badge img{width:82px!important;height:82px!important}.jm2-mobile-connector{display:grid;place-items:center;width:2rem;margin:0!important;color:#f97316!important;font-size:1.6rem!important;font-weight:900}.jm2-hero-single-photo{inset:0 5% auto;height:335px}
}
@media(max-width:600px){
  .jm-brand-name{display:none}.jm-site-header{min-height:68px}.jm-site-header .jm-brand-lockup .jm-logo,.jm-site-header .jm-brand-lockup .jm-logo img{flex-basis:52px;width:52px!important;height:52px!important;max-width:52px;max-height:52px}.jm2-title{font-size:clamp(2.7rem,12vw,3.25rem)!important}.jm2-hero{padding-top:.7rem}.jm2-hero-visual{min-height:330px}.jm2-mobile-badges{margin:.7rem 0 .9rem!important}.jm2-mobile-badges .jm2-identity-badge,.jm2-mobile-badges .jm2-identity-badge img{width:76px!important;height:76px!important}.jm2-hero-single-photo{inset:0 1% auto;height:290px}.jm2-dual-intro{margin-bottom:1.5rem!important}.jm2-why{padding-top:5.5rem;padding-bottom:4rem}.jm-benefit-grid{grid-template-columns:1fr!important}.jm-benefit-card{grid-template-columns:58px minmax(0,1fr);column-gap:1rem;min-height:0;padding:1.5rem}.jm-benefit-icon{width:54px;height:54px;font-size:1.2rem!important}.jm-benefit-card::before{left:calc(58px + 2.5rem);right:1.5rem}.jm2-why-closing{padding:1.5rem}.jm2-why-actions>.wp-block-button{width:100%}.jm2-why-actions .wp-element-button{width:100%;text-align:center}.jm2-cycle-photo{width:150px}.jm-social-buttons>.wp-block-button{width:100%}.jm-social-button .wp-element-button{width:100%}
}
@media(max-width:782px){
  .jm-story-stage,.jm-story-response,.jm-story-outcome{width:100%;padding:1.6rem;border-radius:30px 10px 30px 10px}.jm-story-response{border-radius:10px 30px 10px 30px}.jm-story-pathways{grid-template-columns:1fr}.jm-outcome-ripples{justify-content:flex-start!important}.jm2-dual-card::before{top:1rem;right:1rem;width:2.6rem;height:2.6rem}.jm2-story>span>strong::before{margin-top:.15rem}
}
@media(prefers-reduced-motion:reduce){
  .jm-js .jm-reveal:not(.is-visible),.jm-js .jm2-why:not(.is-visible) .jm-benefit-card{opacity:1;transform:none}.jm2-why.is-visible .jm-benefit-card{transition-delay:0s}
}

/* Version 3.5: quieter actions, clearer pathways and a compact unified footer. */
.jm2-actions .wp-element-button::before,
.jm-numbered-actions .wp-element-button::before,
.jm2-dual-card .wp-element-button::before,
.jm2-final>.wp-block-columns .wp-element-button::before,
.jm-header-actions .wp-element-button::before,
.jm-mobile-nav-action>.wp-block-navigation-item__content::before { content:none!important; display:none!important; }
.jm-story-path-one { border-color:#fff; background:linear-gradient(145deg,#f2e9ff,#fff); }
.jm-story-path-two { border-color:#ffbd89; background:linear-gradient(145deg,#ffe1c8,#fff3e8); }
.jm-story-path-one>p:last-child,.jm-story-path-two>p:last-child { color:#35233e!important; }
.jm-story-path-two .jm-option-number { color:#fff!important; }
.jm-footer-main { align-items:center!important; gap:clamp(2rem,5vw,5rem)!important; }
.jm-footer-brand h3 { max-width:540px; margin:.35rem 0 .4rem; line-height:1.12; }
.jm-footer-brand>p { max-width:540px; margin:.35rem 0; }
.jm-footer-follow .jm-footer-social { margin:0!important; padding:0!important; border:0!important; }
.jm-footer-follow .jm-footer-social h3 { margin:0 0 .35rem; color:#f4d51d!important; }
.jm-footer-follow .jm-footer-social>p { margin:.25rem 0 1rem!important; }
.jm-footer-follow .jm-social-buttons { justify-content:flex-start!important; gap:.55rem!important; }
.jm-footer-follow .jm-native-share { text-align:left; }
.jm-footer-links { margin:1.35rem auto .9rem!important; padding-top:1rem; border-top:1px solid rgb(255 255 255 / 20%); line-height:1.9; }

@media(max-width:782px){
  .jm-footer-main{gap:1.5rem!important}.jm-footer-brand,.jm-footer-follow{text-align:center}.jm-footer-logo{margin-right:auto;margin-left:auto}.jm-footer-follow .jm-social-buttons{justify-content:center!important}.jm-footer-follow .jm-native-share{text-align:center}
}

/* Version 3.8: keep the footer logo in normal document flow. */
.jm-footer-main { align-items:flex-start!important; }
.jm-footer-brand .jm-footer-logo { position:static; width:min(390px,100%); height:auto; margin:0 0 1.15rem; overflow:visible; transform:none; }
.jm-footer-brand .jm-footer-logo img { position:static; display:block; width:100%; max-width:100%; height:auto; object-fit:contain; }
.jm-footer-bottom { justify-content:center!important; }
.jm-footer-bottom p { margin:.2rem 0 0!important; }

@media(max-width:782px){
  .jm-footer-brand .jm-footer-logo{width:min(360px,100%);height:auto;margin:0 auto 1rem;transform:none}
}

/* Version 3.9: UP4JOY Game On campaign page. */
.jm-up4joy-page { margin:0; }
.jm-up4joy { --up-purple:#6b21a8; --up-deep:#4c1d95; --up-teal:#1bbfab; --up-orange:#f97316; --up-yellow:#f4d51d; overflow:hidden; color:#302735; }
.jm-up4joy h1,.jm-up4joy h2,.jm-up4joy h3,.jm-up4joy h4 { font-family:"Nunito",Arial,sans-serif; font-weight:900; }
.jm-up4joy p,.jm-up4joy li,.jm-up4joy .wp-element-button { font-family:"Rubik",Arial,sans-serif; }
.jm-up4joy p,.jm-up4joy li { line-height:1.65; }
.jm-up4joy-section { position:relative; padding:clamp(4.5rem,8vw,7.5rem) clamp(1rem,4vw,3rem); }
.jm-up4joy-kicker { margin:0 0 .65rem!important; color:var(--up-orange); font-size:.82rem!important; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.jm-up4joy-actions { gap:.75rem!important; margin-top:1.5rem!important; }
.jm-up4joy-actions .wp-element-button { min-height:48px; padding:.8rem 1.25rem; }

.jm-up4joy-hero { position:relative; isolation:isolate; padding:clamp(3rem,5.5vw,5.5rem) clamp(1rem,4vw,3rem) clamp(5.5rem,8vw,8rem); background:radial-gradient(circle at 92% 16%,rgb(27 191 171 / 14%),transparent 27%),radial-gradient(circle at 8% 88%,rgb(249 115 22 / 10%),transparent 24%),#fff; }
.jm-up4joy-hero::after { content:""; position:absolute; z-index:-1; left:-5%; bottom:-2.6rem; width:110%; height:5rem; border-radius:50% 50% 0 0 / 100% 100% 0 0; background:linear-gradient(110deg,var(--up-deep),var(--up-purple) 58%,#8b2fc9); }
.jm-up4joy-hero-grid { gap:clamp(2.5rem,6vw,6rem)!important; }
.jm-up4joy-title { max-width:760px; margin:.2rem 0 1.25rem!important; color:var(--up-purple); font-size:clamp(3.3rem,5.8vw,6.25rem)!important; line-height:.91!important; letter-spacing:-.05em!important; }
.jm-up4joy-title span { display:block; color:var(--up-teal); }
.jm-up4joy-lead { max-width:690px; margin:.2rem 0 .75rem!important; padding-left:1rem; border-left:4px solid var(--up-orange); color:var(--up-deep); font-size:clamp(1.12rem,1.8vw,1.35rem)!important; }
.jm-up4joy-hero-media { position:relative; padding:1.5rem 0 2.5rem; }
.jm-up4joy-hero-photo { position:relative; z-index:1; margin:0; overflow:hidden; border:7px solid #fff; border-radius:48% 52% 42% 58% / 55% 42% 58% 45%; box-shadow:0 28px 60px rgb(66 28 91 / 24%); transform:rotate(1.5deg); }
.jm-up4joy-hero-photo img { display:block; width:100%; aspect-ratio:1.08; object-fit:cover; object-position:center 35%; }
.jm-up4joy-photo-note { position:absolute; z-index:2; right:-1rem; bottom:0; max-width:260px; margin:0; padding:.9rem 1.15rem; border-radius:24px 8px 24px 8px; background:var(--up-yellow); box-shadow:0 13px 28px rgb(61 25 86 / 18%); transform:rotate(-2deg); }
.jm-up4joy-photo-note p { margin:0!important; color:var(--up-deep); font-size:.94rem!important; line-height:1.25!important; }
.jm-up4joy-metrics { position:relative; z-index:3; display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem!important; margin-top:3rem!important; }
.jm-up4joy-metric { margin:0; padding:1rem .85rem; border:1px solid rgb(255 255 255 / 22%); border-radius:24px 8px 24px 8px; background:rgb(255 255 255 / 12%); color:#fff; text-align:center; backdrop-filter:blur(4px); }
.jm-up4joy-metric:nth-child(even) { border-radius:8px 24px 8px 24px; }
.jm-up4joy-metric h3 { margin:0; color:var(--up-yellow); font-size:clamp(1.75rem,3vw,2.65rem); line-height:1; }
.jm-up4joy-metric p { margin:.35rem 0 0!important; color:#fff; font-size:.88rem!important; line-height:1.25!important; }

.jm-up4joy-showed { padding:5.5rem clamp(1rem,4vw,3rem) 4rem; background:linear-gradient(110deg,var(--up-deep),var(--up-purple) 58%,#8b2fc9); color:#fff; }
.jm-up4joy-showed-row { gap:.8rem!important; }
.jm-up4joy-showed-row p { margin:0!important; padding:.75rem 1.1rem; border:2px solid rgb(255 255 255 / 36%); border-radius:999px; background:rgb(255 255 255 / 10%); color:#fff; }
.jm-up4joy-showed-row strong { color:var(--up-yellow); }
.jm-up4joy-showed-close { max-width:850px; margin:1.6rem auto 0!important; color:#fff; font-size:1.08rem!important; }

.jm-up4joy-next { background:radial-gradient(circle at 90% 14%,rgb(249 115 22 / 11%),transparent 25%),linear-gradient(180deg,#fffaf3,#fff); }
.jm-up4joy-content-grid { gap:clamp(2.5rem,6vw,6rem)!important; }
.jm-up4joy-section h2 { margin:.15rem 0 1rem; color:var(--up-purple); font-size:clamp(2.6rem,4.8vw,4.7rem)!important; line-height:1!important; letter-spacing:-.035em; }
.jm-up4joy-organic-photo { margin:0; overflow:hidden; border:7px solid #fff; border-radius:58px 16px 58px 16px; box-shadow:0 24px 55px rgb(66 28 91 / 20%); transform:rotate(-1.2deg); }
.jm-up4joy-organic-photo img { display:block; width:100%; min-height:430px; object-fit:cover; }
.jm-up4joy-word-cloud { gap:.5rem!important; margin:1.3rem 0!important; }
.jm-up4joy-word-cloud p { margin:0!important; padding:.45rem .8rem; border-radius:999px; background:#e1faf6; color:#087f76; font-size:.86rem!important; font-weight:800; line-height:1.2!important; }
.jm-up4joy-word-cloud p:nth-child(3n+1) { background:#f1e7ff; color:var(--up-purple); }
.jm-up4joy-word-cloud p:nth-child(3n) { background:#fff0e3; color:#b94700; }
.jm-up4joy-punch { color:var(--up-orange); font-family:"Nunito",Arial,sans-serif!important; font-size:1.25rem!important; font-weight:900; }

.jm-up4joy-ripple { background:radial-gradient(circle at 90% 18%,rgb(27 191 171 / 14%),transparent 25%),radial-gradient(circle at 8% 85%,rgb(244 213 29 / 13%),transparent 25%),#f5effd; }
.jm-up4joy-centred { text-align:center; }
.jm-up4joy-ripple-flow { align-items:center!important; gap:.55rem!important; margin-top:3rem!important; }
.jm-up4joy-ripple-step { display:grid; place-items:center; flex:1 1 150px; min-height:155px; margin:0; padding:1.25rem .9rem; border-radius:50%; background:#fff; box-shadow:0 16px 34px rgb(61 25 86 / 14%); text-align:center; }
.jm-up4joy-ripple-step:nth-of-type(even) { background:#e1faf6; }
.jm-up4joy-ripple-step h3 { margin:0; color:var(--up-purple); font-size:clamp(1.55rem,2.7vw,2.4rem); line-height:1; }
.jm-up4joy-ripple-step p { margin:.35rem 0 0!important; font-size:.82rem!important; line-height:1.25!important; }
.jm-up4joy-arrow { margin:0!important; color:var(--up-orange); font-size:2rem!important; font-weight:900; line-height:1!important; }
.jm-up4joy-scale { margin:3rem 0 0!important; color:var(--up-orange); font-size:clamp(2rem,4vw,3.7rem)!important; text-transform:uppercase; }

.jm-up4joy-pilot { background:radial-gradient(circle at 10% 15%,rgb(27 191 171 / 15%),transparent 25%),#fff; }
.jm-up4joy-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:1rem 0 1.4rem; padding:0; list-style:none; }
.jm-up4joy-checklist li { position:relative; padding:.75rem .8rem .75rem 2.25rem; border-radius:18px 6px 18px 6px; background:#f2e9ff; color:var(--up-deep); font-weight:700; }
.jm-up4joy-checklist li::before { content:"✓"; position:absolute; left:.8rem; color:var(--up-teal); font-weight:900; }
.jm-up4joy-organic-photo-alt { border-radius:16px 58px 16px 58px; transform:rotate(1.2deg); }
.jm-up4joy-travel { position:relative; z-index:2; width:92%; margin:-2.3rem auto 0!important; padding:1.2rem 1.4rem; border-radius:26px 8px 26px 8px; background:linear-gradient(135deg,var(--up-deep),var(--up-purple)); box-shadow:0 18px 38px rgb(61 25 86 / 22%); }
.jm-up4joy-travel p { margin:.2rem 0!important; color:#fff; font-size:.9rem!important; }
.jm-up4joy-travel p:not(:last-child)::after { content:" ↓"; color:var(--up-yellow); font-weight:900; }

.jm-up4joy-partners { background:radial-gradient(circle at 92% 14%,rgb(249 115 22 / 12%),transparent 23%),linear-gradient(180deg,#fffaf3,#fff); }
.jm-up4joy-funding-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.3rem!important; margin-top:2.5rem!important; }
.jm-up4joy-funding-card { position:relative; min-height:260px; margin:0; padding:2rem; overflow:hidden; border-radius:34px 12px 34px 12px; box-shadow:0 18px 42px rgb(61 25 86 / 12%); }
.jm-up4joy-funding-card:nth-child(even) { border-radius:12px 34px 12px 34px; }
.jm-up4joy-funding-card h3 { margin:.1rem 0 .8rem; color:var(--up-purple); font-size:1.55rem; }
.jm-up4joy-funding-card ul { margin:0; padding-left:1.2rem; }
.jm-up4joy-funding-purple { background:linear-gradient(145deg,#efe3ff,#fff); border-top:6px solid var(--up-purple); }
.jm-up4joy-funding-orange { background:linear-gradient(145deg,#ffe8d5,#fff); border-top:6px solid var(--up-orange); }
.jm-up4joy-funding-teal { background:linear-gradient(145deg,#dcf8f4,#fff); border-top:6px solid var(--up-teal); }
.jm-up4joy-funding-yellow { background:linear-gradient(145deg,#fff8c8,#fff); border-top:6px solid var(--up-yellow); }
.jm-up4joy-invitation { margin-top:3rem!important; padding:clamp(2rem,5vw,4rem); border-radius:54px 16px 54px 16px; background:linear-gradient(135deg,var(--up-deep),var(--up-purple) 58%,#8b2fc9); color:#fff; box-shadow:0 24px 52px rgb(61 25 86 / 24%); }
.jm-up4joy-invitation>h3 { max-width:900px; margin:0 auto 2rem; color:#fff; font-size:clamp(1.75rem,3.3vw,3rem); line-height:1.15; }
.jm-up4joy-action-grid { gap:.75rem!important; }
.jm-up4joy-action-grid>.wp-block-column { padding:1rem; border:1px solid rgb(255 255 255 / 24%); border-radius:22px 7px 22px 7px; background:rgb(255 255 255 / 10%); }
.jm-up4joy-action-grid h4 { margin:0 0 .35rem; color:var(--up-yellow); text-transform:uppercase; }
.jm-up4joy-action-grid p { margin:0!important; color:#fff; font-size:.86rem!important; line-height:1.45!important; }

.jm-up4joy-final { position:relative; padding:clamp(4.5rem,8vw,7rem) clamp(1rem,4vw,3rem); background:radial-gradient(circle at 88% 12%,rgb(27 191 171 / 22%),transparent 27%),linear-gradient(125deg,#35116e,var(--up-deep) 45%,var(--up-purple)); color:#fff; }
.jm-up4joy-final .jm-up4joy-kicker { color:var(--up-yellow); }
.jm-up4joy-final-title { margin:.2rem 0 1.3rem; color:#fff; font-size:clamp(2.5rem,4.6vw,4.9rem); line-height:1; letter-spacing:-.035em; }
.jm-up4joy-final-title span { color:var(--up-teal); }
.jm-up4joy-final-line { max-width:690px; color:#fff; font-size:1.05rem!important; }
.jm-up4joy-outline-button .wp-element-button { border:2px solid #fff; background:transparent!important; color:#fff!important; }
.jm-up4joy-final-photo { margin:0; overflow:hidden; border:6px solid #fff; border-radius:50% 50% 44% 56% / 55% 43% 57% 45%; box-shadow:0 25px 52px rgb(24 7 45 / 34%); transform:rotate(1.5deg); }
.jm-up4joy-final-photo img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }

.jm-js .jm-up4joy .jm-reveal:not(.is-visible) { opacity:0; transform:translateY(24px); }
.jm-up4joy .jm-reveal { opacity:1; transform:none; transition:opacity .65s ease,transform .65s ease; }

@media(max-width:1000px){
  .jm-up4joy-hero-grid,.jm-up4joy-content-grid{flex-wrap:wrap!important}.jm-up4joy-hero-grid>.wp-block-column,.jm-up4joy-content-grid>.wp-block-column{flex-basis:100%!important}.jm-up4joy-hero-media{max-width:640px;margin:0 auto}.jm-up4joy-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.jm-up4joy-ripple-step{flex-basis:145px}.jm-up4joy-arrow{font-size:1.6rem!important}.jm-up4joy-pilot-visual{max-width:650px;margin:0 auto}.jm-up4joy-action-grid{flex-wrap:wrap!important}.jm-up4joy-action-grid>.wp-block-column{flex-basis:calc(50% - .75rem)!important}
}
@media(max-width:782px){
  .jm-up4joy-title{font-size:clamp(3rem,12vw,4.5rem)!important}.jm-up4joy-metrics{margin-top:2.2rem!important}.jm-up4joy-organic-photo img{min-height:320px}.jm-up4joy-ripple-flow{display:grid!important;grid-template-columns:1fr}.jm-up4joy-ripple-step{width:min(250px,100%);min-height:145px;margin:0 auto}.jm-up4joy-arrow{transform:rotate(90deg)}.jm-up4joy-funding-grid{grid-template-columns:1fr}.jm-up4joy-funding-card{min-height:0}.jm-up4joy-final .wp-block-columns{flex-wrap:wrap!important;gap:2.5rem}.jm-up4joy-final .wp-block-column{flex-basis:100%!important}.jm-up4joy-final-photo{max-width:520px;margin:0 auto}
}
@media(max-width:600px){
  .jm-up4joy-hero{padding-top:2.25rem}.jm-up4joy-title{font-size:clamp(2.75rem,13vw,3.55rem)!important}.jm-up4joy-actions>.wp-block-button{width:100%}.jm-up4joy-actions .wp-element-button{width:100%;text-align:center}.jm-up4joy-metrics{grid-template-columns:1fr 1fr;gap:.6rem!important}.jm-up4joy-metric{padding:.85rem .55rem}.jm-up4joy-showed{padding-top:4.8rem}.jm-up4joy-showed-row{align-items:stretch!important;flex-direction:column}.jm-up4joy-showed-row p{text-align:center}.jm-up4joy-section{padding-top:4rem;padding-bottom:4rem}.jm-up4joy-checklist{grid-template-columns:1fr}.jm-up4joy-funding-card{padding:1.5rem}.jm-up4joy-invitation{padding:1.6rem;border-radius:32px 10px 32px 10px}.jm-up4joy-action-grid>.wp-block-column{flex-basis:100%!important}.jm-up4joy-photo-note{right:0}.jm-up4joy-organic-photo img{min-height:270px}
}
@media(prefers-reduced-motion:reduce){
  .jm-js .jm-up4joy .jm-reveal:not(.is-visible){opacity:1;transform:none}.jm-up4joy .jm-reveal{transition:none}.jm-up4joy-hero-photo,.jm-up4joy-organic-photo,.jm-up4joy-final-photo,.jm-up4joy-photo-note{transform:none}
}

/* Version 3.9.1: live responsive review refinements. */
.jm-up4joy [id] { scroll-margin-top:100px; }
.jm-up4joy-metric {
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-color:rgb(107 33 168 / 12%);
  background:linear-gradient(145deg,#fff,#f1e7ff);
  color:#302735;
  box-shadow:0 15px 32px rgb(61 25 86 / 13%);
  backdrop-filter:none;
}
.jm-up4joy-metric:nth-child(2) { background:linear-gradient(145deg,#fff,#dcf8f4); }
.jm-up4joy-metric:nth-child(3) { background:linear-gradient(145deg,#fff,#fff0e3); }
.jm-up4joy-metric:nth-child(4) { background:linear-gradient(145deg,#fff,#fff8c8); }
.jm-up4joy-metric h3 { color:var(--up-purple); text-shadow:none; }
.jm-up4joy-metric:nth-child(2) h3 { color:#087f76; }
.jm-up4joy-metric:nth-child(3) h3 { color:#b94700; }
.jm-up4joy-metric:nth-child(4) h3 { color:var(--up-deep); }
.jm-up4joy-metric p { color:#302735; font-weight:700; }

@media(max-width:1000px){
  .jm-up4joy-section{padding-top:clamp(4rem,7vw,5.5rem);padding-bottom:clamp(4rem,7vw,5.5rem)}
  .jm-up4joy-hero{padding-bottom:6.5rem}.jm-up4joy-metrics{margin-top:2.5rem!important}
}
@media(max-width:600px){
  .jm-up4joy-photo-note{position:relative;right:auto;bottom:auto;width:88%;max-width:none;margin:-1.15rem auto 0!important;transform:none;text-align:center}
  .jm-up4joy-hero-media{padding-bottom:.5rem}.jm-up4joy-metric{min-height:104px}.jm-up4joy-metric h3{font-size:1.75rem}.jm-up4joy-metric p{font-size:.78rem!important}
  .jm-up4joy-section{padding-top:3.65rem;padding-bottom:3.65rem}.jm-up4joy-ripple-flow{margin-top:2.2rem!important}.jm-up4joy-scale{margin-top:2.2rem!important}
}

/* Version 3.10: compact campaign hierarchy and clearer business-partnership story. */
.jm-up4joy-hero { padding-top:clamp(1.8rem,3vw,2.8rem); padding-bottom:clamp(4.75rem,6vw,6rem); }
.jm-up4joy-hero-grid { gap:clamp(2rem,4.5vw,4.5rem)!important; }
.jm-up4joy-title { max-width:720px; margin:.15rem 0 .9rem!important; font-size:clamp(3rem,4.6vw,4.75rem)!important; line-height:.93!important; letter-spacing:-.045em!important; }
.jm-up4joy-lead { margin-bottom:.55rem!important; font-size:clamp(1.04rem,1.45vw,1.23rem)!important; line-height:1.5!important; }
.jm-up4joy-hero .jm-up4joy-actions { margin-top:1rem!important; }
.jm-up4joy-hero-media { padding:.5rem 0 1.5rem; }
.jm-up4joy-hero-photo img { aspect-ratio:1.22; }
.jm-up4joy-photo-note { right:0; max-width:235px; padding:.75rem 1rem; }
.jm-up4joy-metrics { margin-top:1.65rem!important; }
.jm-up4joy-metric { min-height:94px; padding:.8rem .7rem; }
.jm-up4joy-metric h3 { font-size:clamp(1.55rem,2.45vw,2.25rem); }
.jm-up4joy-metric p { font-size:.79rem!important; }

.jm-up4joy-section h2 { font-size:clamp(2.25rem,3.8vw,3.75rem)!important; line-height:1.02!important; }
.jm-up4joy-invitation>h3 { font-size:clamp(1.65rem,2.8vw,2.55rem); }
.jm-up4joy-final-title { font-size:clamp(2.35rem,3.9vw,3.8rem); line-height:1.02; }

.jm-up4joy-ripple-flow { display:grid!important; grid-template-columns:minmax(140px,1fr) auto minmax(140px,1fr) auto minmax(140px,1fr) auto minmax(140px,1fr) auto minmax(160px,1.15fr); gap:.6rem!important; align-items:stretch!important; }
.jm-up4joy-ripple-step { width:auto; min-width:0; min-height:152px; padding:1.1rem .8rem; border:1px solid rgb(107 33 168 / 12%); border-top:6px solid var(--up-purple); border-radius:30px 10px 30px 10px; background:linear-gradient(145deg,#fff,#f1e7ff); box-shadow:0 16px 34px rgb(61 25 86 / 12%); }
.jm-up4joy-ripple-step:nth-of-type(even) { border-top-color:var(--up-teal); border-radius:10px 30px 10px 30px; background:linear-gradient(145deg,#fff,#dcf8f4); }
.jm-up4joy-ripple-step:nth-of-type(3) { border-top-color:var(--up-orange); background:linear-gradient(145deg,#fff,#fff0e3); }
.jm-up4joy-ripple-step:nth-of-type(4) { border-top-color:var(--up-teal); background:linear-gradient(145deg,#fff,#dcf8f4); }
.jm-up4joy-ripple-step:nth-of-type(5) { border-top-color:var(--up-yellow); background:linear-gradient(145deg,#fff,#fff8c8); }
.jm-up4joy-ripple-step h3 { font-size:clamp(1.45rem,2.25vw,2.1rem); overflow-wrap:anywhere; }
.jm-up4joy-ripple-step p { max-width:150px; margin:.45rem auto 0!important; font-size:.78rem!important; line-height:1.3!important; }
.jm-up4joy-arrow { display:grid; place-items:center; min-width:1.25rem; }
.jm-up4joy-scale { display:block; width:100%; max-width:none!important; margin:2.5rem auto 0!important; text-align:center!important; font-size:clamp(1.9rem,3.5vw,3.1rem)!important; }
.jm-up4joy-ripple-actions { margin-top:1.3rem!important; }

.jm-up4joy-travel { counter-reset:jm-up4joy-travel; padding:1.2rem 1.3rem 1.2rem 1.1rem; }
.jm-up4joy-travel p { position:relative; counter-increment:jm-up4joy-travel; min-height:2.1rem; padding:.25rem 0 .25rem 2.65rem; }
.jm-up4joy-travel p::before { content:counter(jm-up4joy-travel); position:absolute; left:0; top:.13rem; display:grid; place-items:center; width:1.9rem; height:1.9rem; border-radius:50%; background:var(--up-yellow); color:var(--up-deep); font-family:"Nunito",Arial,sans-serif; font-weight:900; }
.jm-up4joy-travel p:not(:last-child)::after { content:""; position:absolute; left:.91rem; top:2rem; width:2px; height:.75rem; background:rgb(255 255 255 / 45%); }
.jm-up4joy-partner-note { margin:1.2rem auto .3rem!important; color:#fff; }

@media(max-width:1100px){
  .jm-up4joy-ripple-flow{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem!important}.jm-up4joy-ripple-flow>.jm-up4joy-arrow{display:none}.jm-up4joy-ripple-step{min-height:145px}
}
@media(max-width:1000px){
  .jm-up4joy-title{font-size:clamp(3rem,7vw,4.25rem)!important}.jm-up4joy-hero-photo{max-width:610px;margin-left:auto;margin-right:auto}.jm-up4joy-hero-photo img{aspect-ratio:1.35}.jm-up4joy-photo-note{right:4%}
}
@media(max-width:782px){
  .jm-up4joy-ripple-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.jm-up4joy-ripple-step{width:auto;min-height:130px;margin:0}.jm-up4joy-ripple-step:last-of-type{grid-column:1 / -1;width:min(300px,100%);justify-self:center}.jm-up4joy-section h2{font-size:clamp(2.15rem,8vw,3.15rem)!important}.jm-up4joy-final-title{font-size:clamp(2.25rem,8vw,3.2rem)}
}
@media(max-width:600px){
  .jm-up4joy-title{font-size:clamp(2.7rem,11.5vw,3.35rem)!important}.jm-up4joy-kicker{font-size:.72rem!important;line-height:1.35}.jm-up4joy-hero{padding-top:1.4rem;padding-bottom:4.8rem}.jm-up4joy-metrics{margin-top:1.35rem!important}.jm-up4joy-ripple-flow{grid-template-columns:1fr}.jm-up4joy-ripple-step,.jm-up4joy-ripple-step:last-of-type{grid-column:auto;width:100%;min-height:112px}.jm-up4joy-scale{font-size:clamp(1.8rem,9vw,2.4rem)!important}.jm-up4joy-travel{width:96%}
}

/* Version 3.11: time-bound campaign ask and partner-value treatment. */
.jm-up4joy-campaign-ask { gap:.65rem!important; margin-top:.9rem!important; }
.jm-up4joy-ask-item { min-width:190px; margin:0; padding:.7rem .9rem; border-left:4px solid var(--up-orange); border-radius:8px 20px 8px 20px; background:#fff7ef; box-shadow:0 10px 24px rgb(61 25 86 / 8%); }
.jm-up4joy-ask-item:nth-child(2) { border-color:var(--up-teal); background:#e7faf7; }
.jm-up4joy-ask-item p { margin:0!important; color:#5a4c60; font-size:.74rem!important; font-weight:800; letter-spacing:.06em; line-height:1.2!important; text-transform:uppercase; }
.jm-up4joy-ask-item h3 { margin:.2rem 0 0; color:var(--up-purple); font-size:clamp(1.12rem,1.65vw,1.45rem); line-height:1.08; }
.jm-up4joy-ask-item:nth-child(2) h3 { color:#087f76; }
.jm-up4joy-partner-value { margin-top:2.5rem!important; padding:clamp(1.8rem,3.5vw,3rem); border-radius:44px 14px 44px 14px; background:linear-gradient(135deg,#f1e7ff,#fff 44%,#e1faf6); box-shadow:0 18px 42px rgb(61 25 86 / 10%); }
.jm-up4joy-partner-value>h3 { max-width:780px; margin:.2rem auto .7rem; color:var(--up-purple); font-size:clamp(1.65rem,2.8vw,2.6rem); line-height:1.08; }
.jm-up4joy-partner-value>p:not(.jm-up4joy-kicker) { max-width:720px; margin:.2rem auto 1.4rem!important; }
.jm-up4joy-benefit-grid { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.75rem!important; }
.jm-up4joy-benefit-grid>p { margin:0!important; padding:1rem; border-top:5px solid var(--up-purple); border-radius:20px 7px 20px 7px; background:#fff; box-shadow:0 10px 24px rgb(61 25 86 / 9%); font-size:.83rem!important; line-height:1.42!important; }
.jm-up4joy-benefit-grid>p:nth-child(2) { border-color:var(--up-orange); }
.jm-up4joy-benefit-grid>p:nth-child(3) { border-color:var(--up-teal); }
.jm-up4joy-benefit-grid>p:nth-child(4) { border-color:var(--up-yellow); }
.jm-up4joy-benefit-grid>p:nth-child(5) { border-color:#cf3f8f; }
.jm-up4joy-benefit-grid strong { display:block; margin-bottom:.25rem; color:var(--up-deep); font-family:"Nunito",Arial,sans-serif; font-size:1rem; line-height:1.15; }

@media(max-width:1100px){
  .jm-up4joy-benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:782px){
  .jm-up4joy-campaign-ask{display:grid!important;grid-template-columns:1fr 1fr}.jm-up4joy-ask-item{min-width:0}.jm-up4joy-benefit-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .jm-up4joy-campaign-ask,.jm-up4joy-benefit-grid{grid-template-columns:1fr}.jm-up4joy-partner-value{border-radius:30px 10px 30px 10px}
}

/* Version 3.12: unified campaign typography, cards and mobile data presentation. */
.jm-up4joy {
  --up-card-radius:30px 10px 30px 10px;
  --up-card-radius-alt:10px 30px 10px 30px;
  --up-card-shadow:0 16px 34px rgb(61 25 86 / 12%);
}
.jm-up4joy-section { padding-top:clamp(4rem,6.5vw,5.75rem); padding-bottom:clamp(4rem,6.5vw,5.75rem); }
.jm-up4joy-section h2 { max-width:920px; margin-left:auto; margin-right:auto; }
.jm-up4joy-section p,
.jm-up4joy-section li { font-size:clamp(1rem,1.25vw,1.08rem); line-height:1.62; }
.jm-up4joy-kicker { font-size:.78rem!important; line-height:1.35!important; }
.jm-up4joy-actions .wp-element-button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; font-size:.94rem; line-height:1.2; }

.jm-up4joy-metric,
.jm-up4joy-ripple-step,
.jm-up4joy-funding-card,
.jm-up4joy-benefit-grid>p { border-radius:var(--up-card-radius); box-shadow:var(--up-card-shadow); }
.jm-up4joy-metric:nth-child(even),
.jm-up4joy-ripple-step:nth-of-type(even),
.jm-up4joy-funding-card:nth-child(even),
.jm-up4joy-benefit-grid>p:nth-child(even) { border-radius:var(--up-card-radius-alt); }

.jm-up4joy-metric { min-height:106px; }
.jm-up4joy-metric h3 { font-size:clamp(1.8rem,2.65vw,2.4rem); }
.jm-up4joy-metric p { margin-top:.45rem!important; font-size:.9rem!important; line-height:1.35!important; }

.jm-up4joy-ripple-flow { gap:.75rem!important; }
.jm-up4joy-ripple-step { min-height:168px; padding:1.15rem 1rem; }
.jm-up4joy-ripple-step h3 { font-size:clamp(1.8rem,2.55vw,2.35rem); line-height:1.05; }
.jm-up4joy-ripple-step p { max-width:175px; margin:.55rem auto 0!important; font-size:.95rem!important; font-weight:700; line-height:1.4!important; }
.jm-up4joy-arrow { font-size:1.7rem!important; }

.jm-up4joy-funding-card { min-height:0; padding:clamp(1.55rem,2.4vw,2rem); }
.jm-up4joy-funding-card h3 { font-size:clamp(1.4rem,2vw,1.65rem); line-height:1.18; }
.jm-up4joy-funding-card li { margin-bottom:.28rem; }
.jm-up4joy-benefit-grid>p { font-size:.94rem!important; line-height:1.5!important; }
.jm-up4joy-benefit-grid strong { font-size:1.08rem; }
.jm-up4joy-action-grid>.wp-block-column { border-radius:22px 7px 22px 7px; }
.jm-up4joy-action-grid p { font-size:.94rem!important; line-height:1.5!important; }
.jm-up4joy-travel p { font-size:.96rem!important; line-height:1.45!important; }

@media(max-width:1000px){
  .jm-up4joy-section p,.jm-up4joy-section li{font-size:1rem}.jm-up4joy-ripple-step{min-height:155px}.jm-up4joy-ripple-step p{font-size:.9rem!important}
}
@media(max-width:782px){
  .jm-up4joy-section{padding-top:3.8rem;padding-bottom:3.8rem}.jm-up4joy-metrics{gap:.75rem!important}.jm-up4joy-metric{min-height:112px}.jm-up4joy-metric p{font-size:.9rem!important}.jm-up4joy-ripple-flow{grid-template-columns:1fr!important;gap:.75rem!important}.jm-up4joy-ripple-step,.jm-up4joy-ripple-step:last-of-type{display:grid;grid-template-columns:minmax(92px,.72fr) 1.28fr;place-items:center start;width:100%;min-height:0;padding:1rem 1.15rem;text-align:left}.jm-up4joy-ripple-step h3{width:100%;font-size:clamp(1.9rem,8vw,2.35rem);text-align:center}.jm-up4joy-ripple-step p{max-width:none;margin:0!important;font-size:1rem!important;line-height:1.42!important}.jm-up4joy-partner-value{padding:1.7rem}.jm-up4joy-benefit-grid>p{font-size:.96rem!important}.jm-up4joy-action-grid p{font-size:.96rem!important}.jm-up4joy-ask-item p{font-size:.8rem!important}
}
@media(max-width:520px){
  .jm-up4joy-section{padding-top:3.35rem;padding-bottom:3.35rem}.jm-up4joy-section p,.jm-up4joy-section li{font-size:1rem;line-height:1.58}.jm-up4joy-metrics{grid-template-columns:1fr 1fr}.jm-up4joy-metric{min-height:118px;padding:.85rem .65rem}.jm-up4joy-metric h3{font-size:1.9rem}.jm-up4joy-metric p{font-size:.9rem!important;line-height:1.35!important}.jm-up4joy-ripple-step,.jm-up4joy-ripple-step:last-of-type{grid-template-columns:86px 1fr;padding:.95rem 1rem}.jm-up4joy-ripple-step h3{font-size:1.9rem}.jm-up4joy-ripple-step p{font-size:1rem!important}.jm-up4joy-funding-card{padding:1.35rem}.jm-up4joy-travel p{font-size:.94rem!important}.jm-up4joy-actions .wp-element-button{font-size:.92rem}
}

/* Version 3.13: concise mobile hero and prepared partner-information download. */
.jm-up4joy .up4joy-partner-info-disabled { opacity:.62; cursor:not-allowed; pointer-events:none; }
@media(max-width:782px){
  .jm-up4joy-hero-detail{display:none}.jm-up4joy-hero .jm-up4joy-lead{margin-bottom:.9rem!important}.jm-up4joy-hero .jm-up4joy-campaign-ask{margin-top:0!important}.jm-up4joy-hero .jm-up4joy-actions{margin-top:1rem!important}
}
@media(max-width:600px){
  .jm-up4joy-hero .jm-up4joy-actions{display:grid!important;grid-template-columns:1fr;gap:.7rem!important}.jm-up4joy-hero .jm-up4joy-actions>.wp-block-button{margin:0;width:100%}.jm-up4joy-hero .jm-up4joy-actions .wp-element-button{width:100%;min-height:52px}
}

/* Version 3.14: three-button desktop hero row with accessible partner-download contrast. */
.jm-up4joy-hero .jm-up4joy-actions { flex-wrap:nowrap!important; gap:.55rem!important; align-items:stretch; }
.jm-up4joy-hero .jm-up4joy-actions>.wp-block-button { flex:0 1 auto; margin:0; }
.jm-up4joy-hero .jm-up4joy-actions .wp-element-button { padding:.78rem .85rem; font-size:clamp(.76rem,.95vw,.9rem); white-space:nowrap; }
.jm-up4joy .up4joy-partner-info { background:var(--up-teal)!important; color:var(--up-deep)!important; }
.jm-up4joy .up4joy-partner-info-disabled { opacity:.78; }
@media(max-width:600px){
  .jm-up4joy-hero .jm-up4joy-actions{display:grid!important;grid-template-columns:1fr;gap:.7rem!important}.jm-up4joy-hero .jm-up4joy-actions>.wp-block-button{width:100%}.jm-up4joy-hero .jm-up4joy-actions .wp-element-button{width:100%;font-size:.92rem;white-space:normal}
}

/* Version 3.15: cohesive purple ripple panel and clearer info-pack action. */
.jm-up4joy-ripple {
  width:calc(100% - clamp(2rem,4vw,4rem))!important;
  max-width:1500px;
  margin:clamp(1.25rem,2.5vw,2.5rem) auto!important;
  overflow:hidden;
  border-radius:52px 16px 52px 16px;
  background:
    radial-gradient(circle at 92% 12%,rgb(27 191 171 / 24%),transparent 28%),
    radial-gradient(circle at 8% 88%,rgb(249 115 22 / 18%),transparent 25%),
    linear-gradient(125deg,var(--up-deep),var(--up-purple) 58%,#8b2fc9);
  color:#fff;
  box-shadow:0 24px 54px rgb(61 25 86 / 22%);
}
.jm-up4joy-ripple .jm-up4joy-kicker { color:var(--up-yellow); }
.jm-up4joy-ripple .jm-up4joy-centred h2,
.jm-up4joy-ripple .jm-up4joy-centred p { color:#fff; }
.jm-up4joy-ripple-step { border-color:rgb(255 255 255 / 28%); box-shadow:0 16px 34px rgb(24 7 45 / 24%); }
.jm-up4joy-ripple-step h3 { overflow-wrap:normal; word-break:normal; }
.jm-up4joy-ripple-step:last-of-type h3 { font-size:clamp(1.45rem,2vw,1.85rem); }
.jm-up4joy-ripple .jm-up4joy-arrow { color:var(--up-yellow); }
.jm-up4joy-ripple .jm-up4joy-scale { color:var(--up-yellow); }
.jm-up4joy-ripple-actions .wp-block-button:nth-child(2) .wp-element-button { background:#fff!important; color:var(--up-deep)!important; }
.jm-up4joy .up4joy-partner-info {
  border:2px solid var(--up-teal);
  background:#e4faf6!important;
  color:#35116e!important;
  box-shadow:0 10px 24px rgb(61 25 86 / 12%);
}
.jm-up4joy .up4joy-partner-info-disabled { opacity:1; }

@media(max-width:782px){
  .jm-up4joy-ripple{width:calc(100% - 1.25rem)!important;margin:1rem auto!important;border-radius:34px 10px 34px 10px}.jm-up4joy-ripple-step:last-of-type h3{font-size:1.8rem}
}
@media(max-width:520px){
  .jm-up4joy-ripple{width:calc(100% - .75rem)!important;border-radius:28px 8px 28px 8px}.jm-up4joy-ripple-step:last-of-type h3{font-size:1.65rem}
}

/* Version 3.16: simplified hero hierarchy without duplicated statistic cards. */
.jm-up4joy-hero { padding-bottom:clamp(3.8rem,5vw,4.8rem); }
.jm-up4joy-hero-detail { display:none; }
.jm-up4joy-hero .jm-up4joy-campaign-ask {
  display:grid!important;
  grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr);
  gap:0!important;
  width:min(100%,540px);
  margin-top:1rem!important;
  overflow:hidden;
  border:1px solid rgb(107 33 168 / 15%);
  border-left:5px solid var(--up-orange);
  border-radius:20px 7px 20px 7px;
  background:linear-gradient(110deg,#fff8f1,#f4effb 60%,#e6faf7);
  box-shadow:0 12px 28px rgb(61 25 86 / 9%);
}
.jm-up4joy-hero .jm-up4joy-ask-item,
.jm-up4joy-hero .jm-up4joy-ask-item:nth-child(2) {
  min-width:0;
  padding:.72rem 1rem;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.jm-up4joy-hero .jm-up4joy-ask-item:nth-child(2) { border-left:1px solid rgb(107 33 168 / 14%); }
.jm-up4joy-hero .jm-up4joy-ask-item p { color:#5a4c60; font-size:.72rem!important; }
.jm-up4joy-hero .jm-up4joy-ask-item h3 { margin-top:.18rem; font-size:clamp(1.12rem,1.55vw,1.35rem); }
.jm-up4joy-hero .jm-up4joy-actions { margin-top:.85rem!important; }
.jm-up4joy-showed-intro { max-width:880px; margin:0 auto 1.6rem!important; color:#fff; font-size:1.05rem!important; line-height:1.62!important; }

@media(max-width:782px){
  .jm-up4joy-hero{padding-bottom:4.1rem}.jm-up4joy-showed-intro{padding:0 1rem;font-size:1rem!important}
}
@media(max-width:520px){
  .jm-up4joy-hero .jm-up4joy-campaign-ask{grid-template-columns:1fr;width:100%}.jm-up4joy-hero .jm-up4joy-ask-item:nth-child(2){border-left:0;border-top:1px solid rgb(107 33 168 / 14%)}.jm-up4joy-hero .jm-up4joy-ask-item p{font-size:.78rem!important}.jm-up4joy-hero .jm-up4joy-ask-item h3{font-size:1.28rem}
}
