/* HeartWise Compass (compass.html). Owner: `compass`. Uses the tokens and shared classes from site.css.
   Motion is gentle and is switched off by the global reduced-motion rule in site.css plus the rules at the end of this file. */

.cp [hidden],.cp-below[hidden],.cp-below2[hidden]{display:none!important}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}
.cp [tabindex="-1"]:focus{outline:none}
.no-js .cp-jsonly{display:none!important}
.cp-print-only{display:none}

.cp{--cp-ac:#C24A2E;--cp-t:#FDE2D9;--cp-d:#B63F25;position:relative}
.cp[data-aud="teachers"]{--cp-ac:#2A5B84;--cp-t:#DCEAF6;--cp-d:#2A5B84}
.cp[data-aud="leaders"]{--cp-ac:#5A3A8C;--cp-t:#E7DEF5;--cp-d:#5A3A8C}
.cp[data-aud="workplace"]{--cp-ac:#245A37;--cp-t:#DDF0DA;--cp-d:#245A37}

.cp-stage{padding:44px 0 80px;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--cream),var(--paper) 70%)}
.cp-sky{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.cp-blob{position:absolute;display:block;border-radius:58% 42% 52% 48%/48% 56% 44% 52%;filter:blur(14px);animation:cpMorph 16s ease-in-out infinite}
.cp-blob.b1{width:520px;height:520px;right:-140px;top:-120px;background:radial-gradient(circle at 30% 30%,#FFE6B8,#FFD0B8 60%,rgba(248,185,168,0));opacity:.8}
.cp-blob.b2{width:420px;height:420px;left:-150px;bottom:-60px;background:radial-gradient(circle at 60% 40%,#DDF0DA,#C4D8EE 70%,rgba(196,216,238,0));opacity:.75;animation-delay:-5s}
.cp-blob.b3{width:360px;height:360px;left:30%;top:-170px;background:radial-gradient(circle at 50% 50%,#E7DEF5,rgba(231,222,245,0) 70%);opacity:.8;animation-delay:-9s}
@keyframes cpMorph{50%{border-radius:44% 56% 42% 58%/58% 42% 56% 44%;transform:rotate(6deg) scale(1.04)}}
.cp .wrap{position:relative}

/* ------------------------------------------------------------ intro hero */
.cp-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;padding:10px 0 8px}
.cp-hero-txt .eyebrow{margin-bottom:14px}
.cp-hero h1{font-size:clamp(2.5rem,6vw,4.6rem);margin-bottom:.12em}
.cp-tag{font-size:clamp(1.7rem,3.6vw,2.7rem);line-height:1.1;color:var(--coral-d);margin:0 0 20px}
.cp-hero .lead{max-width:34em;color:var(--ink);font-weight:600}
.cp-assure{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cp-assure li{display:inline-flex;align-items:center;gap:8px;font:800 .9rem/1 var(--f-body);background:#fff;border:2px solid var(--line);color:var(--ink-2);padding:11px 16px;border-radius:999px;box-shadow:var(--sh-1)}
.cp-assure li::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--leaf)}
.cp-assure li:nth-child(2)::before{background:var(--sun)}.cp-assure li:nth-child(3)::before{background:var(--vio)}

.cp-hero-art{position:relative;max-width:470px;width:100%;margin:0 auto;padding:10px}
.cp-compass{position:relative;z-index:2;aspect-ratio:1;filter:drop-shadow(0 26px 30px rgba(43,33,64,.22))}
.cp-compass-svg{width:100%;height:100%;overflow:visible}
.cp-halo{animation:cpHalo 5s ease-in-out infinite;transform-origin:150px 150px;transform-box:view-box}
@keyframes cpHalo{50%{transform:scale(1.04);opacity:.28}}
.cp-needle{transform-origin:150px 150px;transform-box:view-box;animation:cpSwing 3.6s cubic-bezier(.3,.6,.4,1) .5s both,cpIdle 7s ease-in-out 4.3s infinite}
@keyframes cpSwing{0%{transform:rotate(-250deg)}22%{transform:rotate(95deg)}40%{transform:rotate(-52deg)}56%{transform:rotate(27deg)}70%{transform:rotate(-12deg)}83%{transform:rotate(5deg)}93%{transform:rotate(-2deg)}100%{transform:rotate(0)}}
@keyframes cpIdle{0%,100%{transform:rotate(0)}35%{transform:rotate(2.4deg)}70%{transform:rotate(-2deg)}}
.cp-th{transform-box:view-box;transform-origin:0 -6px;animation:cpBeat 2.4s ease-in-out 4s infinite}
@keyframes cpBeat{0%,60%,100%{transform:scale(1)}15%{transform:scale(1.16)}30%{transform:scale(1)}42%{transform:scale(1.1)}}
.cp-gem{animation:cpGem 3.6s ease-in-out infinite;animation-delay:calc(var(--k)*.4s);transform-box:fill-box;transform-origin:center}
@keyframes cpGem{50%{transform:scale(1.22)}}
.cp-art{position:absolute;z-index:1;border-radius:24px;box-shadow:var(--sh-3);object-fit:cover;animation:cpFloat 7s ease-in-out infinite;border:5px solid #fff}
.cp-art-l{left:-8%;top:-2%;width:27%;height:auto;rotate:-8deg}
.cp-art-r{right:-9%;bottom:3%;width:36%;height:auto;rotate:6deg;animation-delay:-3s}
@keyframes cpFloat{50%{translate:0 -12px}}
.cp-spark{position:absolute;z-index:3;width:12px;height:12px;border-radius:50%;background:var(--sun);animation:twinkle 3s ease-in-out infinite}
.cp-spark.s1{left:6%;bottom:18%}.cp-spark.s2{right:3%;top:20%;background:var(--coral);animation-delay:1s}.cp-spark.s3{left:46%;top:-3%;background:var(--sky);animation-delay:2s}

@media (max-width:900px){
  .cp-hero{display:flex;flex-direction:column;gap:0;align-items:stretch}
  .cp-hero-txt{display:contents}
  .cp-hero-txt .eyebrow{order:1;align-self:flex-start}
  .cp-hero h1{order:2}
  .cp-tag{order:3;margin-bottom:6px}
  .cp-hero-art{order:4;max-width:290px;margin:6px auto 14px}
  .cp-hero .lead{order:5}
  .cp-assure{order:6;margin-top:16px}
  .cp-differ{order:7}
  .cp-hero-go{order:8}
  .cp-art-l{left:-4%;top:-4%;width:25%}.cp-art-r{right:-4%;bottom:2%;width:33%}
}

/* ------------------------------------------------------------ welcome back */
.cp-welcome{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:30px auto 0;max-width:860px;padding:22px 26px;border:2px solid var(--coral-t);background:#fff;animation:cpPop .7s var(--ease) both}
.cp-welcome::before{display:none}
.cp-welcome:hover{transform:none;box-shadow:var(--sh-1)}
.cp-w-ic{flex:none;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--coral-t)}
.cp-w-ic svg{width:34px;height:34px;animation:cpBeat 2.4s ease-in-out infinite}
.cp-w-t{flex:1 1 260px}
.cp-w-t h2{font-size:1.5rem;margin:0 0 4px}
.cp-w-t p{margin:0;color:var(--ink-2);font-size:1rem}
.cp-w-b{display:flex;gap:10px;flex-wrap:wrap}
.cp-w-b .btn{padding:14px 22px;min-height:48px}
@keyframes cpPop{from{opacity:0;transform:translateY(14px) scale(.97)}}

/* ------------------------------------------------------------ choose who */
.cp-choose{margin-top:38px;text-align:center}
.cp-ch{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-bottom:6px}
.cp-ch-sub{color:var(--ink-2);margin-bottom:26px}
.cp-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;text-align:left}
.cp-pick{appearance:none;font:inherit;color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:var(--r-l);padding:12px 12px 20px;box-shadow:var(--sh-2);position:relative;display:flex;flex-direction:column;gap:12px;transition:transform .35s var(--ease),box-shadow .35s;text-align:left;min-height:44px}
.cp-pick::before{content:"";position:absolute;inset:6px;border:2px dashed var(--pk,var(--line));border-radius:calc(var(--r-l) - 6px);pointer-events:none;opacity:.8;transition:border-color .2s}
.cp-pick:hover{transform:translateY(-8px) rotate(-.8deg);box-shadow:var(--sh-3)}
.cp-pick:active{transform:translateY(-2px) scale(.98)}
.cp-pick:nth-child(1){--pk:#E4694A;--pt:var(--coral-t)}
.cp-pick:nth-child(2){--pk:#5B8FC7;--pt:var(--sky-t)}
.cp-pick:nth-child(3){--pk:#7A58A6;--pt:var(--vio-t)}
.cp-pick:nth-child(4){--pk:#5FA06A;--pt:var(--leaf-t)}
.cp-pick-art{display:block;height:156px;border-radius:calc(var(--r-l) - 10px);background:var(--pt);overflow:hidden;position:relative}
.cp-pick-art img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);transition:transform .6s var(--ease)}
.cp-pick[data-aud-pick="families"] .cp-pick-art img{object-fit:contain;padding:10px 8px 6px}
.cp-pick:hover .cp-pick-art img{transform:scale(1.07)}
.cp-pick-t{display:block;padding:0 58px 0 12px}
.cp-pick-t b{display:block;font:600 1.4rem/1.15 var(--f-head)}
.cp-pick-t small{display:block;color:var(--ink-2);font-size:.95rem;margin-top:4px;line-height:1.35}
.cp-pick-go{position:absolute;right:16px;bottom:14px;width:40px;height:40px;border-radius:50%;background:var(--pk);color:#fff;display:grid;place-items:center;font:800 1.2rem/1 var(--f-body);transition:transform .3s var(--ease)}
.cp-pick:nth-child(2) .cp-pick-go{background:#2A5B84}.cp-pick:nth-child(3) .cp-pick-go{background:#5A3A8C}.cp-pick:nth-child(4) .cp-pick-go{background:#245A37}.cp-pick:nth-child(1) .cp-pick-go{background:#C24A2E}
.cp-pick:hover .cp-pick-go{transform:translateX(5px)}
@media (max-width:980px){.cp-picks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){
  .cp-picks{grid-template-columns:1fr;gap:14px}
  .cp-pick{flex-direction:row;align-items:center;gap:14px;padding:12px 64px 12px 12px;min-height:104px}
  .cp-pick-art{flex:none;width:96px;height:84px}
  .cp-pick-t{padding:0}
  .cp-pick-t b{font-size:1.25rem}
  .cp-pick-go{bottom:auto;top:50%;margin-top:-20px;right:14px}
  .cp-pick:hover{transform:none}
}

/* ------------------------------------------------------------ quiz */
.cp-quiz{min-height:70vh}
.cp-qwrap{max-width:820px;margin:0 auto}
.cp-qtop{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.cp-audchip{font:800 .82rem/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;background:var(--cp-ac);color:#fff;padding:9px 14px;border-radius:999px}
.cp-week{color:var(--ink-2);font-weight:700}
.cp-qcard{position:relative;background:#fff;border-radius:var(--r-xl);padding:30px 34px 26px;box-shadow:var(--sh-3)}
.cp-qcard::before{content:"";position:absolute;inset:9px;border:2px dashed var(--cp-t);border-radius:calc(var(--r-xl) - 9px);pointer-events:none}
.cp-qcard>*{position:relative}
.cp-qhead{display:flex;align-items:center;gap:18px;margin-bottom:12px}
.cp-ring{flex:none;width:92px;height:92px;filter:drop-shadow(0 6px 8px rgba(43,33,64,.1))}
.cp-ring svg{width:100%;height:100%;overflow:visible}
.cp-rp{fill:#fff;stroke:rgba(43,33,64,.25);stroke-width:2.4;transition:fill .5s var(--ease),stroke .4s,transform .5s var(--ease)}
.cp-rp.done{fill:var(--pc);stroke:var(--pd)}
.cp-rp.now{stroke:var(--ink);stroke-width:3.2;animation:cpNow 1.6s ease-in-out infinite}
@keyframes cpNow{50%{fill:var(--cream)}}
.cp-rheart{transform-box:view-box;transform-origin:0 0;opacity:.35;transition:opacity .4s}
.cp-rheart.beat{opacity:1;animation:cpBeat 2.4s ease-in-out infinite}
.cp-count{font:800 .85rem/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin:0 0 10px}
.cp-pchip{display:inline-block;margin:0;font:800 .86rem/1 var(--f-body);padding:8px 13px;border-radius:999px;background:#fff;border:2px solid var(--pc,var(--line));color:var(--pd,var(--ink))}
.cp-qbody{min-height:20px}
.cp-qbody.enter-f{animation:cpInF .5s var(--ease) both}
.cp-qbody.enter-b{animation:cpInB .5s var(--ease) both}
@keyframes cpInF{from{opacity:0;transform:translateX(36px)}}
@keyframes cpInB{from{opacity:0;transform:translateX(-36px)}}
.cp-st{font-size:clamp(1.5rem,4.4vw,2.35rem);line-height:1.22;margin:8px 0 8px;min-height:3.6em;display:flex;align-items:center}
.cp-how{font-weight:800;color:var(--ink-2);margin:0 0 12px}
.cp-answers{display:grid;grid-template-columns:1fr;gap:10px}
.cp-ans{appearance:none;font:700 1.12rem/1.2 var(--f-body);color:var(--ink);cursor:pointer;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;min-height:66px;padding:8px 16px 8px 10px;border-radius:22px;border:2.5px solid var(--line);background:#fff;text-align:left;transition:transform .25s var(--ease),border-color .2s,background .25s,color .2s,box-shadow .25s}
.cp-ag{width:46px;height:46px;border-radius:50%;background:var(--cream);display:grid;place-items:center;transition:transform .4s var(--ease)}
.cp-ag svg{width:36px;height:36px}
.cp-ans kbd{font:800 .8rem/1 var(--f-body);width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--cream);color:var(--ink-2);border:1px solid var(--line)}
.cp-ans:hover{border-color:var(--cp-ac);transform:translateY(-2px);box-shadow:var(--sh-1)}
.cp-ans:hover .cp-ag{transform:scale(1.1) rotate(-5deg)}
.cp-ans[aria-pressed="true"]{background:var(--cp-ac);border-color:var(--cp-ac);color:#fff}
.cp-ans[aria-pressed="true"] .cp-ag{background:#fff}
.cp-ans[aria-pressed="true"] kbd{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(255,255,255,.4)}
.cp-ans.pick{animation:cpBounce .5s cubic-bezier(.34,1.56,.64,1)}
.cp-ans.pick .cp-ag{animation:cpGrow .6s cubic-bezier(.34,1.56,.64,1)}
@keyframes cpBounce{0%{transform:scale(1)}40%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes cpGrow{0%{transform:scale(.7)}60%{transform:scale(1.25) rotate(-8deg)}100%{transform:scale(1)}}
.cp-qnav{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}
.cp-qnav .btn{padding:13px 22px;min-height:48px}
.cp-hint{margin:0;color:var(--ink-3);font-size:.9rem}
.cp-note{text-align:center;color:var(--ink-2);margin:20px 0 0;font-weight:700}
@media (min-width:860px){
  .cp-answers{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .cp-ans{display:flex;flex-direction:column;justify-content:center;gap:10px;text-align:center;min-height:132px;padding:14px 10px}
  .cp-ag{width:58px;height:58px}.cp-ag svg{width:46px;height:46px}
  .cp-ans kbd{position:absolute;top:8px;right:8px}
  .cp-ans{position:relative}
  .cp-st{min-height:2.7em}
}
@media (max-width:700px){.cp-qcard{padding:22px 18px 20px;border-radius:30px}.cp-qcard::before{border-radius:22px}.cp-ring{width:76px;height:76px}.cp-ans kbd{display:none}.cp-ans{grid-template-columns:48px 1fr}.cp-hint{display:none}}
@media (hover:none){.cp-ans kbd,.cp-hint{display:none}}

/* decorations: Heart Bear for family and teacher paths only; paintings for school leaders and workplaces */
.cp-deco,.cp-rbear{display:none}
.cp[data-aud="families"] .cp-deco[data-show~="families"],.cp[data-aud="teachers"] .cp-deco[data-show~="teachers"],
.cp[data-aud="leaders"] .cp-deco[data-show~="leaders"],.cp[data-aud="workplace"] .cp-deco[data-show~="workplace"]{display:block}
.cp-peek{position:absolute!important;right:22px;top:-62px;width:116px;height:auto;filter:drop-shadow(0 10px 12px rgba(43,33,64,.22));animation:cpFloat 6s ease-in-out infinite;pointer-events:none}
.cp-peek.cp-paint{top:-70px;right:28px;width:70px;border-radius:16px;border:4px solid #fff;box-shadow:var(--sh-2);object-fit:cover;filter:none;rotate:5deg}
@media (max-width:700px){.cp-qtop{padding-right:104px}.cp-peek{width:92px;top:-50px;right:14px}.cp-peek.cp-paint{width:56px;top:-56px}}

/* ------------------------------------------------------------ result */
.cp-result{padding-top:40px}
.cp-r-head{text-align:center;max-width:780px;margin:0 auto 26px}
.cp-r-head h2{font-size:clamp(2.1rem,5vw,3.5rem);margin-bottom:8px}
.cp-r-line{font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.3;color:var(--coral-d);margin:0}
.cp-r-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}
.cp-garden-fig{margin:0;position:relative}
.cp-garden{max-width:470px;margin:0 auto}
.cp-garden-svg{width:100%;height:auto;overflow:visible}
.cp-cap{text-align:center;color:var(--ink-3);font-size:.9rem;max-width:34ch;margin:6px auto 0}
.cp-rbear{position:absolute;right:-2%;bottom:74px;width:34%;height:auto;filter:drop-shadow(0 12px 14px rgba(43,33,64,.22));z-index:2;pointer-events:none;animation:cpFloat 6s ease-in-out infinite}
.cp-rbear.cp-paint{width:21%;border-radius:18px;border:4px solid #fff;box-shadow:var(--sh-2);bottom:84px;right:0;rotate:4deg}
.cp[data-aud="families"] .cp-rbear[data-show~="families"],.cp[data-aud="teachers"] .cp-rbear[data-show~="teachers"],
.cp[data-aud="leaders"] .cp-rbear[data-show~="leaders"],.cp[data-aud="workplace"] .cp-rbear[data-show~="workplace"]{display:block}
/* petals bloom one by one with a soft bounce */
.cp-petal{transform:scale(var(--h,1))}
.cp-garden.grow .cp-petal{animation:cpBloom 1s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(.4s + var(--i)*.32s)}
@keyframes cpBloom{from{transform:scale(0)}to{transform:scale(var(--h,1))}}
.cp-garden.grow .cp-ghost{animation:cpFade .8s ease both;animation-delay:.2s}
@keyframes cpFade{from{opacity:0}}
.cp-garden.grow .cp-stem{animation:cpRise 1s var(--ease) both}
.cp-stem,.cp-garden.grow .cp-stem{transform-box:view-box;transform-origin:200px 424px}
@keyframes cpRise{from{transform:scaleY(.2);opacity:0}}
.cp-heart{transform-box:view-box;transform-origin:0 -6px;animation:cpBeat 2.4s ease-in-out 2.4s infinite}
.cp-garden.grow .cp-heart{animation:cpHeartIn .8s cubic-bezier(.34,1.56,.64,1) both,cpBeat 2.4s ease-in-out 2.6s infinite}
@keyframes cpHeartIn{from{transform:scale(0)}}
.cp-drift{animation:cpDrift 7s ease-in-out infinite;animation-delay:calc(var(--k)*-1.4s)}
@keyframes cpDrift{50%{translate:0 -14px;opacity:.5}}
.cp-glow{animation:cpHalo 6s ease-in-out infinite;transform-box:view-box;transform-origin:200px 172px}

.cp-h3{font-size:1.25rem;margin:0 0 12px}
.cp-h3-big{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:16px}
.cp-sub{color:var(--ink-2);margin:-8px 0 22px}
.cp-levels{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cp-levels li{display:flex;align-items:center;gap:10px;background:#fff;border-radius:var(--r-m);padding:10px 12px;box-shadow:var(--sh-1);border-left:6px solid var(--pc)}
.cp-num{flex:none;width:30px;height:30px;border-radius:50%;background:var(--pd);color:#fff;display:grid;place-items:center;font:600 .95rem/1 var(--f-head);font-style:normal}
.cp-ln{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.cp-ln b{font:600 .95rem/1.2 var(--f-head)}
.cp-ln span{color:var(--pd);font-weight:800;font-size:.88rem}
.cp-strengths{display:grid;gap:14px}
.cp-str{background:#fff;border-radius:var(--r-l);padding:22px 24px;box-shadow:var(--sh-2);border-left:10px solid var(--pc,var(--leaf));animation:cpPop .8s var(--ease) both;animation-delay:calc(2.6s + var(--d,0s))}
.cp-str h3{font-size:1.3rem;margin:10px 0 6px}
.cp-str p{margin:0 0 8px;color:var(--ink-2)}
.cp-str .cp-lv{font-weight:800;color:var(--pd,var(--leaf-d));font-size:.95rem;margin:0}
.cp-badge{display:inline-flex;align-items:center;gap:8px;font:800 .8rem/1 var(--f-body);letter-spacing:.04em;padding:5px 12px 5px 5px;border-radius:999px;background:#fff;border:2px solid var(--pc);color:var(--pd)}
.cp-badge i{width:24px;height:24px;border-radius:50%;background:var(--pd);color:#fff;display:grid;place-items:center;font:600 .85rem/1 var(--f-head);font-style:normal}
.cp-dots{display:flex;gap:8px;margin-bottom:10px}.cp-dots i{width:22px;height:22px;border-radius:50%;box-shadow:0 0 0 3px #fff,var(--sh-1)}
.cp-str-all{border-left-color:var(--sun)}

.cp-next{margin:44px 0 10px;border-radius:var(--r-xl);position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 30%,color-mix(in srgb,var(--pc) 18%,#fff));border:3px dashed var(--pc);box-shadow:var(--sh-2)}
.cp-next::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--pc) 28%,#fff),rgba(255,255,255,0) 70%);pointer-events:none}
.cp-next-in{position:relative;z-index:1;padding:36px 40px 34px;max-width:900px}
.cp-next-eb{background:var(--pd);color:#fff}
.cp-next h3{font-size:clamp(1.6rem,3.4vw,2.3rem);margin:0 0 10px}
.cp-next-pill{margin-bottom:6px}
.cp-next-q{font-size:1.35rem;color:var(--pd);margin:8px 0 14px}
.cp-next-text{font:600 clamp(1.2rem,2.2vw,1.5rem)/1.5 var(--f-body);margin:0 0 12px;color:var(--ink)}
.cp-next-why{margin:0;color:var(--ink-2);font-size:.95rem}

.cp-books-sec{margin-top:52px}
.cp-books{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:30px 26px;max-width:960px}
.cp-book{display:flex;flex-direction:column;gap:10px}
.cp-bnote{margin:0;font-size:.9rem;color:var(--ink-2);line-height:1.4;padding:0 4px}
.cp-tools-sec{margin-top:48px}
.cp-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cp-tool{position:relative;display:flex;flex-direction:column;gap:6px;text-decoration:none;background:#fff;border-radius:var(--r-m);padding:20px 22px 20px;box-shadow:var(--sh-1);border:2px solid transparent;transition:transform .3s var(--ease),border-color .2s,box-shadow .3s;min-height:44px;padding-right:46px}
.cp-tool:hover{transform:translateY(-5px);border-color:var(--cp-ac);box-shadow:var(--sh-2)}
.cp-tool b{font:600 1.15rem/1.2 var(--f-head)}
.cp-tool span{color:var(--ink-2);font-size:.95rem;line-height:1.45}
.cp-tool i{position:absolute;right:18px;top:20px;font-style:normal;font-weight:800;color:var(--cp-ac);transition:transform .3s}
.cp-tool:hover i{transform:translateX(5px)}

.cp-more{margin-top:52px;display:flex;gap:26px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:linear-gradient(135deg,#fff,var(--vio-t));padding:32px 36px}
.cp-more:hover{transform:none;box-shadow:var(--sh-1)}
.cp-more>div:first-child{flex:1 1 380px;max-width:640px}
.cp-more h3{margin:0 0 10px;font-size:clamp(1.5rem,3vw,2rem)}
.cp-more p{margin:0;color:var(--ink-2)}
.cp-more .eyebrow{margin-bottom:12px}
.cp-more h3{display:block}

.cp-keep{margin-top:52px;padding:32px 36px;overflow:visible}
.cp-keep:hover{transform:none;box-shadow:var(--sh-1)}
.cp-keep h3{margin-bottom:16px;font-size:1.5rem}
.cp-actions{display:flex;flex-wrap:wrap;gap:12px}
.cp-actions .btn{min-height:50px}
.cp-sharemsg{margin:12px 0 0;color:var(--ink-2);font-weight:700}
.cp-mailform{margin-top:18px;padding:22px;background:var(--cream);border-radius:var(--r-m);animation:cpPop .5s var(--ease) both}
.cp-mailwhy{margin:0 0 14px;color:var(--ink-2);font-weight:700}
.cp-check{display:flex;gap:12px;align-items:center;font-weight:800;cursor:pointer;min-height:44px}
.cp-check input{width:24px;height:24px;accent-color:var(--cp-ac);flex:none}
.cp-mailmsg{margin:14px 0 14px;font-weight:800}.cp-mailmsg:empty,.cp-sharemsg:empty{display:none}
.cp-mailmsg.ok{color:var(--leaf-d);background:var(--leaf-t);padding:14px 18px;border-radius:var(--r-m)}
.cp-mailmsg.err{color:#8A2515;background:#FBD9D2;padding:14px 18px;border-radius:var(--r-m)}
.cp-saved{margin:16px 0 0;color:var(--ink-3);font-size:.9rem}
.cp-final{text-align:center;font-size:clamp(1.8rem,4.4vw,3rem);color:var(--coral-d);margin:64px 0 12px;line-height:1.15}
.cp-care{text-align:center;color:var(--ink-3);font-size:.92rem;max-width:62ch;margin:0 auto}

/* confetti hearts */
.cp-confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:90}
.cp-conf{position:absolute;display:block;will-change:transform,opacity}

@media (max-width:900px){
  .cp-r-grid{grid-template-columns:1fr;gap:28px}
  .cp-garden{max-width:380px}
  .cp-tools{grid-template-columns:1fr}
  .cp-next-in{padding:28px 24px}
  .cp-more,.cp-keep{padding:26px 22px}
  .cp-rbear{width:30%;right:0}
}
@media (max-width:520px){
  .cp-levels{grid-template-columns:1fr}
  .cp-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .cp-actions .btn{width:100%;justify-content:center}
  .cp-str{padding:18px 18px}
}

/* ------------------------------------------------------------ below the fold */
.cp-below,.cp-below2{padding:76px 0}
.cp-below .sec-head{margin-bottom:40px}
.cp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cp-stepn{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--cc-d);color:#fff;font:600 1.5rem/1 var(--f-head);margin-bottom:14px}
.cp-split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.cp-pil{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}
.cp-pil li{display:flex;gap:12px;align-items:center;background:#fff;border-radius:var(--r-m);padding:12px 14px;box-shadow:var(--sh-1);border-left:6px solid var(--pc)}
.cp-pil span{display:flex;flex-direction:column;line-height:1.25}
.cp-pil b{font:600 1.05rem/1.2 var(--f-head)}
.cp-pil small{color:var(--ink-2);font-family:var(--f-serif);font-style:italic;font-size:1.05rem}
@media (max-width:860px){.cp-steps{grid-template-columns:1fr}.cp-split{grid-template-columns:1fr;gap:34px}}

/* ------------------------------------------------------------ reduced motion (also covered globally) */
@media (prefers-reduced-motion:reduce){
  .cp *,.cp *::before,.cp *::after{animation:none!important;transition:none!important}
  .cp-petal{transform:scale(var(--h,1))!important}
  .cp-needle{transform:none!important}
}

/* ------------------------------------------------------------ print: the garden and the words on one A4 page */
@media print{
  @page{size:A4;margin:11mm 12mm}
  html,body{background:#fff!important}
  body{font-size:10.5pt;line-height:1.4;overflow:visible!important}
  body::before{display:none!important}
  .cp *,.cp-stage{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cp-stage:not(.cp-result),.cp-below,.cp-below2,.cp-noprint,.cp-sky,.cp-confetti,.cp-rbear,.cp-cap{display:none!important}
  .cp-print-only{display:block!important}
  .cp-stage{padding:0!important;background:#fff!important;overflow:visible!important}
  .cp-result{display:block!important}
  .cp-result .wrap{max-width:none;padding:0}
  .cp-r-head{margin:0 0 3mm;text-align:left}
  .cp-r-head .eyebrow{margin:0 0 2mm;padding:1.6mm 3mm;font-size:7pt}
  .cp-r-head h2{font-size:24pt;margin:0 0 1mm}
  .cp-r-line{font-size:13pt}
  .cp-r-print{font-size:9pt;color:#574E6E;margin:1mm 0 0}
  .cp-r-grid{grid-template-columns:84mm 1fr;gap:7mm;align-items:start}
  .cp-garden{max-width:84mm}
  .cp-petal{animation:none!important;transform:scale(var(--h,1))!important}
  .cp-heart,.cp-drift,.cp-glow,.cp-stem{animation:none!important}
  .cp-h3{font-size:10pt;margin:0 0 2mm}
  .cp-h3-big{font-size:12pt;margin:0 0 2mm}
  .cp-levels{grid-template-columns:1fr 1fr;gap:1.6mm;margin:0 0 4mm}
  .cp-levels li{padding:1.4mm 2mm;box-shadow:none;border:1px solid #EADFCC;border-left:4px solid var(--pc);break-inside:avoid}
  .cp-num{width:5.5mm;height:5.5mm;font-size:7.5pt}
  .cp-ln b{font-size:8.5pt}.cp-ln span{font-size:8pt}
  .cp-strengths{gap:2mm}
  .cp-str{padding:2.4mm 3mm;box-shadow:none;border:1px solid #EADFCC;border-left:5px solid var(--pc,#5FA06A);border-radius:3mm;animation:none!important;break-inside:avoid}
  .cp-str h3{font-size:10.5pt;margin:1mm 0 .5mm}.cp-str p{font-size:9pt;margin:0 0 .6mm}.cp-str .cp-lv{font-size:8.5pt}
  .cp-badge{font-size:7pt;padding:.7mm 2mm .7mm .7mm}.cp-badge i{width:4mm;height:4mm;font-size:6.5pt}
  .cp-next{margin:4mm 0 0;box-shadow:none;border-radius:4mm;border-width:2px;break-inside:avoid;background:#fff!important}
  .cp-next::after{display:none}
  .cp-next-in{padding:5mm 6mm;max-width:none}
  .cp-next-eb{font-size:7pt;padding:1.4mm 3mm;margin-bottom:1.5mm}
  .cp-next h3{font-size:15pt;margin:0 0 1mm}
  .cp-next-q{font-size:10.5pt;margin:1mm 0 1.5mm}
  .cp-next-text{font-size:11.5pt;margin:0}
  .cp-next-why{display:none}
  .cp-print-foot{margin:4mm 0 0;text-align:center;font-size:8pt;color:#574E6E}
  .cp-r-head .serif{font-size:12pt}
  a{text-decoration:none}
}

/* final fix pass */
.cp-differ{margin:16px 0 0;max-width:34em;color:var(--ink-2);font-size:.98rem;line-height:1.5}
.cp-differ a{font-weight:800}
.cp-hero-go{margin-top:20px}
.cp-privacy{margin:12px 0 0;color:var(--ink-2);font-size:.9rem}

/* HW-19: how the suggestion was chosen, and a different place to start */
.cp-why-how{margin:14px 0 0;border:2px solid var(--line);border-radius:var(--r-m);background:#fff;padding:4px 16px}
.cp-why-how summary{cursor:pointer;font:800 .95rem/1.3 var(--f-body);color:var(--ink-2);padding:12px 0;min-height:44px;display:flex;align-items:center}
.cp-why-how p{margin:0 0 12px;color:var(--ink-2);font-size:.95rem}
.cp-pick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.cp-pk{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 8px;border-radius:99px;border:2px solid var(--line);background:#fff;color:var(--ink);font:800 .9rem/1 var(--f-body);cursor:pointer}
.cp-pk i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--pd);color:#fff;font:700 .85rem/1 var(--f-head);font-style:normal}
.cp-pk[aria-pressed="true"]{border-color:var(--pd);box-shadow:0 0 0 2px var(--pd)}
.cp-pk:focus-visible{outline:3px solid var(--sky-d,#1D4568);outline-offset:3px}
@media print{.cp-why-how{display:none}}
