/* HeartWise: the Culture Check-up (culture-check.html). Owner: `culture`.
   Uses the site.css tokens. All motion is also switched off by the global reduced-motion rule in site.css. */

.cc{position:relative}
.cc [hidden]{display:none!important}
.cc .sr{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}
.cc button{font-family:inherit}
.cc-center{text-align:center}
.cc-ns{padding:30px 24px;background:#fff;border-radius:var(--r-l);margin:20px auto;box-shadow:var(--sh-1)}

/* ================================================================= HERO */
.cc-hero{position:relative;overflow:hidden;color:#fff;padding:58px 0 0;
  background:radial-gradient(120% 90% at 78% 30%,#26456a 0%,transparent 60%),linear-gradient(180deg,#14172E 0%,#173047 58%,#1B4A52 100%)}
.cc-sky{position:absolute;inset:0;pointer-events:none}
.cc-sky i{position:absolute;width:var(--s);height:var(--s);border-radius:50%;background:#FFE9A8;box-shadow:0 0 12px 4px rgba(255,220,120,.65);opacity:0;animation:ccfloat var(--d) ease-in-out infinite}
@keyframes ccfloat{0%,100%{opacity:0;transform:translate(0,0)}25%{opacity:.95}50%{opacity:.5;transform:translate(14px,-22px)}75%{opacity:.9}}
.cc-hero-in{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;padding-bottom:6px}
.cc-eb{background:rgba(255,255,255,.12);color:#FFE9A8}
.cc-hero h1{color:#fff;font-size:clamp(2.5rem,6vw,4.7rem);line-height:1.04;margin-bottom:.35em;text-wrap:balance}
.cc-hero h1 .serif{color:#FFD76A;display:inline-block}
.cc-hero h1:focus{outline:none}
.cc-hero .lead{color:#E9E1F8;max-width:56ch;font-size:clamp(1.1rem,1.7vw,1.32rem)}
.cc-sub{color:#CBC1E6;max-width:56ch;margin-bottom:20px}
.cc-chips{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cc-chips li{font:800 .86rem/1 var(--f-body);padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.28);color:#fff}
.cc-btn-big{font-size:1.1rem;padding:19px 32px;min-height:56px}
.cc-link-light{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:4px;padding:14px 8px;min-height:44px;display:inline-flex;align-items:center}
.cc-link-light:hover{color:#FFD76A}
.cc-hero-art{position:relative;justify-self:center;width:min(330px,78%)}
.cc-halo{position:absolute;inset:-12% -26%;background:radial-gradient(closest-side,rgba(255,196,102,.5),rgba(255,196,102,.12) 55%,transparent 75%);animation:ccbreath 5s ease-in-out infinite}
@keyframes ccbreath{0%,100%{transform:scale(.94);opacity:.75}50%{transform:scale(1.06);opacity:1}}
.cc-arch{position:relative;border-radius:200px 200px 30px 30px;overflow:hidden;aspect-ratio:513/788;box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 6px rgba(255,255,255,.08)}
.cc-arch img{width:100%;height:100%;object-fit:cover}
.cc-hero-bridge{position:relative;max-width:1000px;margin:0 auto;padding:0 12px}
.cc-hero-wave{position:relative;height:64px;margin-top:-34px}
.cc-hero-wave svg{width:100%;height:100%}
@media (max-width:860px){
  .cc-hero{padding-top:34px}
  .cc-hero-in{grid-template-columns:1fr;gap:18px}
  .cc-hero-art{width:min(230px,62%);order:-1}
  .cc-hero h1{font-size:clamp(2.3rem,10.5vw,3.2rem)}
  .cc-hero-art{display:none}
}

/* collapsed hero while answering or reading the result: one slim title bar (the page's only h1) */
.cc[data-screen="quiz"] .cc-intro-only,.cc[data-screen="result"] .cc-intro-only,.cc[data-screen="quiz"] .cc-sky,.cc[data-screen="result"] .cc-sky{display:none}
.cc[data-screen="quiz"] .cc-hero,.cc[data-screen="result"] .cc-hero{padding:0;background:var(--night)}
.cc[data-screen="quiz"] .cc-hero-in,.cc[data-screen="result"] .cc-hero-in{display:block;padding:11px 24px}
.cc[data-screen="quiz"] .cc-hero h1,.cc[data-screen="result"] .cc-hero h1{font:600 1.05rem/1.2 var(--f-head);margin:0;color:#fff}
.cc[data-screen="quiz"] .cc-hero h1 .serif,.cc[data-screen="result"] .cc-hero h1 .serif{font-size:1.1rem;color:#FFD76A}

/* ================================================================= BRIDGE (progress path) */
.cc-bridge{width:100%;height:auto;display:block;overflow:visible}
.cc-bridge-light{--wat:#8DB8DC;--hill:#BFDCB3;--rail:#A98B62;--off:rgba(43,33,64,.28);--ps:rgba(43,33,64,.5);--hw:#F0DDBE;--hr:#C4573E}
.cc-bridge-dark{--wat:#4E86A8;--hill:#0F2B33;--rail:#D3C4F0;--off:rgba(255,255,255,.4);--ps:rgba(255,255,255,.55);--hw:#E9D5B5;--hr:#C4573E}
.cc-bridge .br-water{fill:none;stroke:var(--wat);stroke-width:3;stroke-linecap:round;animation:ccwave 7s linear infinite}
@keyframes ccwave{to{transform:translateX(100px)}}
.cc-bridge .br-hill{fill:var(--hill)}
.cc-bridge .hw{fill:var(--hw)}.cc-bridge .hr{fill:var(--hr)}.cc-bridge .hl{fill:#FFD76A}
.cc-bridge .br-rail{fill:none;stroke:var(--rail);stroke-width:3;stroke-linecap:round;opacity:.85}
.cc-bridge .br-arch{fill:none;stroke:var(--rail);stroke-width:5;stroke-linecap:round;opacity:.4}
.cc-bridge .bal{stroke:var(--rail);stroke-width:1.5;opacity:.5}
.cc-bridge .pl .pi rect{fill:transparent;stroke:var(--off);stroke-width:2;stroke-dasharray:4 4}
.cc-bridge .pl .hi{stroke:rgba(255,255,255,.6);stroke-width:2;stroke-linecap:round;opacity:0}
.cc-bridge .pl.on .pi rect{fill:var(--pc);stroke:var(--ps);stroke-dasharray:none}
.cc-bridge .pl.on .hi{opacity:1}
.cc-bridge .pl.on .pi{animation:ccdrop .55s var(--ease) backwards}
.cc-bridge .pl.now .pi rect{stroke:var(--pc);stroke-width:3;stroke-dasharray:none;animation:ccpulse 1.6s ease-in-out infinite}
@keyframes ccdrop{from{transform:translateY(-22px);opacity:0}}
@keyframes ccpulse{50%{opacity:.45}}
.cc-bridge .br-post line{stroke:var(--rail);stroke-width:3;stroke-linecap:round}
.cc-bridge .br-post circle{fill:#FFD76A;stroke:var(--rail);stroke-width:2}
.cc-bridge .br-lamp .lp{stroke:var(--rail);stroke-width:3;stroke-linecap:round}
.cc-bridge .br-lamp .lb{fill:#9A90AE}
.cc-bridge .br-lamp .lg{fill:#FFD76A;opacity:0;transition:opacity 1s}
.cc-bridge .br-lamp.on .lg{opacity:.65}.cc-bridge .br-lamp.on .lb{fill:#FFD76A}
.cc-bridge .br-orb{transition:transform .75s var(--ease)}
.cc-bridge .br-orb .oh{fill:rgba(255,214,120,.5);animation:ccglow 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes ccglow{50%{transform:scale(1.35);opacity:.6}}
.cc-bridge .br-orb .oy{fill:#E4694A;stroke:#fff;stroke-width:1.4}

/* ================================================================= START */
.cc-start{position:relative;z-index:2;padding:0 0 78px;margin-top:-18px}
.cc-startcard{background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-3);padding:40px 44px 36px;max-width:900px;margin:0 auto;text-align:center}
.cc-startcard h2{font-size:clamp(1.6rem,3.2vw,2.3rem);margin-bottom:22px}
.cc-resume{display:grid;gap:12px;margin-bottom:26px;text-align:left}
.cc-rcard{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:var(--leaf-t);border-radius:var(--r-m);padding:16px 20px}
.cc-rcard:nth-child(2){background:var(--sun-t)}
.cc-ract{display:flex;flex-wrap:wrap;gap:10px}
.cc-small{padding:12px 18px;font-size:.92rem;min-height:46px}
.cc-startform,#cc-startform{display:grid;gap:18px}
#cc-startform fieldset{border:0;margin:0;padding:0;min-width:0}
.cc-paths{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cc-path{position:relative;display:flex;cursor:pointer}
.cc-path .cc-pcard{flex:1}
.cc-path input,.cc-role input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:2}
.cc-pcard{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:26px 20px 24px;border-radius:var(--r-l);border:3px solid var(--line);background:var(--paper);transition:transform .3s var(--ease),border-color .2s,box-shadow .3s,background .2s;min-height:196px;position:relative}
.cc-pcard img{width:60px;height:60px;transition:transform .4s var(--ease)}
.cc-pcard b{font:600 1.5rem/1.1 var(--f-head)}
.cc-pcard small{font-size:.95rem;color:var(--ink-2);max-width:30ch}
.cc-path:hover .cc-pcard{transform:translateY(-4px);border-color:var(--pc);box-shadow:var(--sh-2)}
.cc-path:hover .cc-pcard img{transform:scale(1.12) rotate(-5deg)}
.cc-path input:checked + .cc-pcard{border-color:var(--pc);background:#fff;box-shadow:0 0 0 5px color-mix(in srgb,var(--pc) 22%,#fff),var(--sh-2)}
.cc-path input:checked + .cc-pcard::after{content:"";position:absolute;right:14px;top:14px;width:30px;height:30px;border-radius:50%;background:var(--pc) url("../icons/check.svg") center/70% no-repeat;animation:ccpop .45s var(--ease)}
.cc-path input:focus-visible + .cc-pcard,.cc-role input:focus-visible + span{outline:3px solid var(--coral);outline-offset:3px}
@keyframes ccpop{from{transform:scale(0)}}
.cc-roles legend{font:600 1.15rem var(--f-head);margin:0 auto 12px;padding:0}
.cc-roles{display:grid;gap:10px}
.cc-role{position:relative;display:block;cursor:pointer;text-align:left}
.cc-role span{display:flex;align-items:center;gap:14px;padding:16px 20px;border:3px solid var(--line);border-radius:var(--r-m);font-weight:800;background:var(--paper);min-height:60px;transition:border-color .2s,background .2s,transform .25s var(--ease)}
.cc-role span::before{content:"";flex:none;width:24px;height:24px;border-radius:50%;border:3px solid var(--ink-3);background:#fff;transition:.2s}
.cc-role:hover span{border-color:var(--ink);transform:translateY(-2px)}
.cc-role input:checked + span{border-color:var(--leaf-d);background:var(--leaf-t)}
.cc-role input:checked + span::before{border-color:var(--leaf-d);background:var(--leaf-d);box-shadow:inset 0 0 0 4px #fff}
.cc-rolenote{max-width:60ch;margin:0 auto}
.cc-beginrow{display:grid;gap:10px;justify-items:center;margin-top:4px}
.cc-beginrow .note{margin:0}
#cc-begin[disabled]{background:#CFC7DD;color:#fff;box-shadow:none;cursor:not-allowed;transform:none}
#cc-begin[disabled]{color:#4A4060}
@media (max-width:640px){
  .cc-startcard{padding:28px 18px 26px;border-radius:var(--r-l)}
  .cc-paths{grid-template-columns:1fr}
  .cc-pcard{min-height:0;flex-direction:row;text-align:left;gap:16px;padding:18px}
  .cc-pcard img{width:52px;height:52px;flex:none}
  .cc-pcard div,.cc-pcard small{max-width:none}
  .cc-pcard b{font-size:1.3rem}
  .cc-pcard small{display:block}
  .cc-pcard{flex-wrap:wrap}
}

/* ================================================================= INTRO EXTRAS */
.cc[data-screen="quiz"] .cc-extra,.cc[data-screen="result"] .cc-extra{display:none}
.cc-sec{padding:84px 0!important}
.cc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative}
.cc-steps li{background:#fff;border-radius:var(--r-l);padding:34px 26px 28px;box-shadow:var(--sh-1);text-align:center;position:relative}
.cc-steps li:not(:last-child)::after{content:"";position:absolute;top:56px;left:calc(100% - 2px);width:28px;border-top:3px dashed rgba(43,33,64,.25)}
.cc-stone{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 14px;border-radius:50%;background:var(--coral-btn);color:#fff;font:600 1.6rem/1 var(--f-head);box-shadow:0 8px 18px rgba(228,105,74,.35)}
.cc-steps li:nth-child(2) .cc-stone{background:#2A5B84}.cc-steps li:nth-child(3) .cc-stone{background:#245A37}
.cc-steps p{color:var(--ink-2);margin:0}
@media (max-width:860px){.cc-steps{grid-template-columns:1fr}.cc-steps li:not(:last-child)::after{display:none}.cc-sec{padding:60px 0!important}}
.cc-chaplist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cc-chap{background:#fff;border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-1);border-bottom:6px solid var(--cc);transition:transform .35s var(--ease),box-shadow .35s}
.cc-chap:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.cc-chapimg{aspect-ratio:400/230;overflow:hidden;background:var(--cream)}
.cc-chapimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.cc-chap:hover .cc-chapimg img{transform:scale(1.06)}
.cc-chaptxt{padding:18px 22px 22px}
.cc-chapn{font:800 .8rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--cd)}
.cc-chap h3{font-size:1.2rem;margin:8px 0 6px}
.cc-chap p{margin:0;color:var(--ink-2);font-size:.97rem}
@media (max-width:900px){.cc-chaplist{grid-template-columns:1fr 1fr}}@media (max-width:560px){.cc-chaplist{grid-template-columns:1fr}}
.cc-modlist{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cc-mod{display:flex;gap:16px;align-items:flex-start;background:#fff;border-radius:var(--r-m);padding:18px 20px;box-shadow:var(--sh-1);border-left:6px solid var(--md)}
.cc-mod h3{font-size:1.1rem;margin:0 0 4px}
.cc-mod p{margin:0 0 6px;color:var(--ink-2);font-size:.95rem}
.cc-mwho2{font:800 .8rem/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--md)}
.cc-mcode{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--md);color:#fff;font:600 1.15rem/1 var(--f-head)}
@media (max-width:760px){.cc-modlist{grid-template-columns:1fr}}
.cc-details,.cc-faq details{background:#fff;border-radius:var(--r-m);box-shadow:var(--sh-1);margin-bottom:12px;overflow:hidden}
.cc-details summary,.cc-faq summary{list-style:none;cursor:pointer;padding:19px 56px 19px 22px;font:600 1.12rem/1.3 var(--f-head);position:relative;min-height:56px;display:flex;align-items:center}
.cc-details summary::-webkit-details-marker,.cc-faq summary::-webkit-details-marker{display:none}
.cc-details summary::after,.cc-faq summary::after{content:"";position:absolute;right:24px;top:50%;width:10px;height:10px;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .3s}
.cc-details[open] summary::after,.cc-faq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.cc-faq details p,.cc-previewbody{padding:0 22px 20px;margin:0;color:var(--ink-2)}
.cc-seg{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.cc-pvh{font-size:1.05rem;margin:18px 0 6px;color:var(--ink)}
.cc-pvl{margin:0 0 6px;padding-left:1.4em}
.cc-pvl li{margin-bottom:6px;color:var(--ink)}
.cc-short .lead{margin-inline:auto}

/* ================================================================= QUIZ */
.cc-quiz{padding:18px 0 72px;background:linear-gradient(180deg,var(--cream),var(--paper) 420px)}
.cc-qtop{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:12px}
.cc-back,.cc-leave{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:6px 16px 6px 8px;border-radius:999px;border:2px solid var(--line);background:#fff;font:800 .95rem/1 var(--f-body);color:var(--ink);cursor:pointer;transition:border-color .2s,transform .2s}
.cc-back img{width:30px;height:30px}
.cc-back:hover,.cc-leave:hover{border-color:var(--ink);transform:translateY(-2px)}
.cc-leave{padding:6px 16px;color:var(--ink-2);border-style:dashed}
.cc-chaplabel{margin:0;text-align:center;font:800 .8rem/1.3 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.cc-bridgebox{position:relative;background:linear-gradient(180deg,#E8F2FA 0%,#FFF3DC 78%,#FFEBC9 100%);border-radius:var(--r-l);padding:26px 18px 0;overflow:hidden;box-shadow:var(--sh-1);border:2px solid var(--line);margin-bottom:22px}
.cc-bridgebox .cc-bridge{max-width:700px;margin:0 auto}
.cc-qcount{position:absolute;left:20px;top:12px;margin:0;font:800 .82rem/1 var(--f-body);color:var(--ink-2);background:rgba(255,255,255,.75);padding:7px 12px;border-radius:999px}
.cc-stage{display:grid;grid-template-columns:minmax(250px,.72fr) 1.4fr;gap:26px;align-items:stretch;--cc:#5B8FC7}
.cc-art{position:relative;border-radius:var(--r-xl);overflow:hidden;min-height:400px;box-shadow:var(--sh-2);background:#1E1634}
.cc-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease,transform 6s ease-out;transform:scale(1.06)}
.cc-layer.on{opacity:1;transform:scale(1)}
.cc-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,14,40,.9));pointer-events:none}
.cc-artcap{position:absolute;left:0;right:0;bottom:0;padding:22px 24px 24px;color:#fff;z-index:2;display:grid;gap:6px;justify-items:start;align-content:end;grid-auto-rows:min-content}
.cc-artno{font:800 .8rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;background:var(--cc);color:#1E1634;padding:7px 11px;border-radius:999px}
.cc-artcap b{font:600 1.45rem/1.15 var(--f-head);text-wrap:balance}
.cc-artcap span:last-child{font-size:.95rem;color:#E9E1F8}
.cc-card{background:#fff;border-radius:var(--r-xl);padding:28px 34px 22px;box-shadow:var(--sh-2);position:relative;border-top:8px solid var(--cc);display:flex;flex-direction:column}
.cc-card.out{opacity:0;transform:translateX(-26px);transition:opacity .22s ease,transform .22s ease}
.cc-card.in{animation:ccin .5s var(--ease)}
@keyframes ccin{from{opacity:0;transform:translateX(30px)}}
.cc-qn{margin:0 0 6px;font:800 .82rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.cc-q{font-size:clamp(1.4rem,2.7vw,2rem);line-height:1.28;margin:0 0 8px;text-wrap:balance}
.cc-q:focus{outline:none}
.cc-qhelp{color:var(--ink-2);margin:0 0 6px;font-size:.98rem}
.cc-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:18px}
.cc-scale.three{grid-template-columns:repeat(3,1fr)}
.cc-opt{width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:14px 6px 10px;min-height:124px;border:3px solid var(--line);border-radius:var(--r-m);background:#fff;cursor:pointer;color:var(--ink);transition:transform .25s var(--ease),border-color .2s,background .2s,box-shadow .25s}
.cc-opt:hover{transform:translateY(-4px);border-color:var(--cd,var(--ink));box-shadow:var(--sh-1)}
.cc-ic{width:68px;height:68px;display:block;transition:transform .35s var(--ease)}
.cc-ic svg{width:100%;height:100%}
.cc-opt:hover .cc-ic{transform:scale(1.12)}
.cc-ol{font:800 .95rem/1.2 var(--f-body);text-align:center}
.cc-opt kbd{position:absolute;left:8px;top:6px;font:800 .8rem/1 var(--f-body);color:var(--ink-3);background:var(--cream);border-radius:6px;padding:3px 6px}
.cc-opt.on{border-color:var(--cd,var(--ink));background:#FFF6E4;box-shadow:0 0 0 4px color-mix(in srgb,var(--cc) 28%,#fff)}
.cc-opt.on .cc-ic{animation:ccgrow .6s var(--ease)}
@keyframes ccgrow{0%{transform:scale(1)}40%{transform:scale(1.32) translateY(-4px)}100%{transform:scale(1.08)}}
.cc-ns{grid-column:1/-1;max-width:440px;justify-self:center;flex-direction:row;justify-content:center;gap:14px;min-height:62px;padding:8px 18px;border-style:dashed;background:var(--paper)}
.cc-ns .cc-ic{width:42px;height:42px}
.cc-scale.three .cc-ns{grid-column:auto;max-width:none;flex-direction:column;min-height:124px;padding:16px 6px 12px}
.cc-scale.three .cc-ns .cc-ic{width:68px;height:68px}
.cc-nav{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:auto;padding-top:24px;flex-wrap:wrap}
.cc-keys{margin:0;color:var(--ink-3);font-size:.84rem;max-width:44ch;flex:1 1 220px}
.cc-next{min-height:54px;min-width:150px;justify-content:center}
.cc-next[disabled]{background:#CFC7DD;color:#4A4060;box-shadow:none;cursor:not-allowed;transform:none}
.cc-hearts{position:absolute;left:50%;top:40%;width:0;height:0;pointer-events:none;z-index:5}
.cc-hearts svg{position:absolute;left:-11px;top:-11px;width:22px;height:22px;opacity:0;animation:ccheart 1.7s ease-out forwards}
@keyframes ccheart{0%{opacity:0;transform:translate(0,0) scale(.4)}15%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r)) scale(1.15)}}
@media (max-width:860px){
  .cc-stage{grid-template-columns:1fr;gap:16px}
  .cc-art{min-height:0;height:124px;border-radius:var(--r-l)}
  .cc-art::after{background:linear-gradient(90deg,rgba(20,14,40,.88),rgba(20,14,40,.2))}
  .cc-artcap{top:0;align-content:center;padding:12px 16px}
  .cc-chaplabel{display:none}
  .cc-qtop{display:flex;justify-content:space-between}
  .cc-artcap span:last-child{display:none}
  .cc-artcap b{font-size:1.1rem}
}
@media (max-width:640px){
  .cc-quiz{padding-top:12px}
  .cc-bridgebox{padding:36px 8px 0;border-radius:var(--r-m)}
  .cc-card{padding:22px 16px 18px;border-radius:var(--r-l)}
  .cc-scale,.cc-scale.three{grid-template-columns:1fr;gap:8px}
  .cc-opt,.cc-scale.three .cc-ns{flex-direction:row;justify-content:flex-start;min-height:64px;padding:8px 16px;gap:14px}
  .cc-ic,.cc-scale.three .cc-ns .cc-ic{width:46px;height:46px;flex:none}
  .cc-ol{text-align:left;font-size:1.02rem}
  .cc-opt kbd{display:none}
  .cc-ns{justify-content:flex-start}
  .cc-nav{flex-direction:column-reverse;align-items:stretch}
  .cc-next{width:100%}
  .cc-keys{display:none}
}
@media (hover:none){.cc-opt kbd{display:none}.cc-keys{display:none}}

/* ================================================================= RESULT */
.cc-res{padding:0 0 70px}
.cc-res-top{position:relative;overflow:hidden;text-align:center;padding:50px 0 34px;background:radial-gradient(90% 120% at 50% 0%,#FFE9B8 0%,#FFF3DC 45%,var(--paper) 100%)}
.cc-restop-in{position:relative}
.cc-res-top h2{font-size:clamp(2.3rem,5.4vw,3.9rem);margin-bottom:.3em}
.cc-res-top h2 .serif,.cc-h2 .serif{color:var(--coral)}
.cc-res-top h2:focus{outline:none}
.cc-res-top .lead{margin:0 auto 14px}
.cc-bright{font:600 clamp(1.2rem,2.4vw,1.55rem)/1.35 var(--f-head);color:var(--ink);margin:14px auto 8px;max-width:30em}
.cc-hearts-host{position:absolute;left:50%;top:42%;width:0;height:0}
.cc-printhead{display:none}
.cc-jump{margin:0}.cc-jump a{font-weight:800;color:var(--coral-d)}
.cc-resbody{padding-top:30px}
.cc-block{margin-top:56px}
.cc-h2{font-size:clamp(1.7rem,3.4vw,2.5rem);text-align:center;margin-bottom:10px}
.cc-sub2{text-align:center;color:var(--ink-2);max-width:62ch;margin:0 auto 28px}
.cc-h3s{font-size:1.25rem;margin-bottom:14px}
.cc-mapgrid{display:grid;grid-template-columns:minmax(300px,560px) 1fr;gap:42px;align-items:center}
.cc-mapcol{min-width:0}
.cc-map{position:relative;aspect-ratio:1;width:100%;max-width:560px;margin:0 auto;border-radius:46px;box-shadow:var(--sh-3)}
.cc-mapsvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cc-road{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.6s ease}
.cc-map.in .cc-road{stroke-dashoffset:0}
.cc-roadline{opacity:.7}
.cc-node{opacity:.4;transition:opacity .9s}
.cc-node.lit{opacity:1}
.cc-halo{opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center;transition:opacity 1.3s ease,transform 1.3s var(--ease)}
.cc-node.lit .cc-halo{opacity:calc(.4 + var(--g)*.6);transform:scale(calc(.62 + var(--g)*.5))}
.cc-gw{transform-box:fill-box;transform-origin:center}
.cc-node[data-lv="blooming"].lit .cc-gw,.cc-center.lit .cc-gw{animation:ccbreath 3.8s ease-in-out infinite}
.cc-center .cc-halo{transition:opacity 1.4s ease,transform 1.4s var(--ease)}
.cc-center.lit .cc-halo{opacity:calc(.35 + var(--g)*.65);transform:scale(calc(.7 + var(--g)*.35))}
.cc-plate{fill:#fff;stroke-width:5;transition:stroke-width .3s}
.cc-node.hot .cc-plate{stroke-width:9}
.cc-node.hot{opacity:1}
.cc-num{font:600 17px var(--f-head);fill:#fff}
.cc-orbit{transform-origin:0 0;animation:ccspin 9s linear infinite}
@keyframes ccspin{to{transform:rotate(360deg)}}
.cc-ff{fill:#FFE48A;stroke:#FFE48A;stroke-opacity:.35;stroke-width:6}
.cc-nl{position:absolute;transform:translateX(-50%);width:28%;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;pointer-events:none}
.cc-nl b{font:600 clamp(.72rem,1.55vw,.95rem)/1.15 var(--f-head);color:var(--pd);background:rgba(255,253,246,.92);padding:2px 7px;border-radius:9px}
.cc-nl .cc-lv{font-size:clamp(.6rem,1.1vw,.72rem);padding:3px 8px}
.cc-lv{display:inline-flex;align-items:center;gap:6px;font:800 .8rem/1 var(--f-body);padding:6px 11px;border-radius:999px;white-space:nowrap}
.cc-lv i{width:9px;height:9px;border-radius:50%;border:2px solid currentColor;flex:none}
.lv-ready{background:var(--sky-t);color:var(--sky-d)}
.lv-growing{background:var(--leaf-t);color:var(--leaf-d)}.lv-growing i{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.lv-blooming{background:var(--sun-t);color:var(--sun-d)}.lv-blooming i{background:currentColor}
.cc-legend{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cc-legend li{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:var(--r-m);padding:14px 16px;box-shadow:var(--sh-1);border-left:6px solid var(--pc);transition:transform .25s var(--ease),box-shadow .25s}
.cc-legend li.hot{transform:translateX(5px);box-shadow:var(--sh-2)}
.cc-lg{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--pc) 14%,#fff)}
.cc-lt{margin:0;line-height:1.25}.cc-lt b{font:600 1.08rem var(--f-head)}
.cc-pn{font:800 .8rem/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--pd);margin-right:4px}
.cc-lq{margin:2px 0 8px;font:italic 600 1.05rem/1.3 var(--f-serif);color:var(--ink-2)}
.cc-ll{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.cc-ld{font-size:.9rem;color:var(--ink-2)}
.cc-lights{display:inline-flex;gap:4px}
.cc-lights i{width:11px;height:11px;border-radius:50%;background:#E4DCC9}
.cc-lights i.on{background:#F2B632;box-shadow:0 0 8px 2px rgba(242,182,50,.6)}
@media (max-width:900px){.cc-mapgrid{grid-template-columns:1fr;gap:26px}}
@media (max-width:520px){.cc-nl .cc-lv{display:none}.cc-nl{width:30%}.cc-map{border-radius:30px}}

.cc-bars{list-style:none;margin:0 auto;padding:0;display:grid;gap:14px;max-width:880px}
.cc-bars li{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(130px,1fr) auto;gap:16px;align-items:center;background:#fff;border-radius:var(--r-m);padding:16px 20px;box-shadow:var(--sh-1)}
.cc-bn{font-weight:800;display:flex;gap:12px;align-items:center;line-height:1.3}
.cc-bno{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--cd);color:#fff;font:600 .9rem var(--f-head)}
.cc-btrack{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;height:18px}
.cc-btrack i{position:relative;background:rgba(43,33,64,.1);border-radius:99px;overflow:hidden}
.cc-btrack i.f::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--cc);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease);transition-delay:calc(var(--s)*.28s + .1s)}
.cc-bars.in .cc-btrack i.f::after{transform:scaleX(1)}
.cc-bl{justify-self:end}
@media (max-width:680px){.cc-bars li{grid-template-columns:1fr auto;gap:10px 12px}.cc-bn{grid-column:1/-1}.cc-btrack{grid-column:1}.cc-bl{grid-column:2}}

.cc-strong{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cc-sc{background:#fff;border-radius:var(--r-l);padding:24px 22px;box-shadow:var(--sh-1);border-top:7px solid var(--cc);display:flex;gap:14px;align-items:flex-start;opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--n)*.14s)}
.cc-sc.in{opacity:1;transform:none}
.cc-star{flex:none;width:46px;height:46px}.cc-star img{width:100%;height:100%}
.cc-sc.in .cc-star{animation:ccpop .7s var(--ease) calc(var(--n)*.14s + .3s) backwards}
.cc-sch{margin:0 0 6px;font:800 .8rem/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--cd)}
.cc-sc h3{font-size:1.15rem;line-height:1.25;margin:0 0 10px}
.cc-scq{margin:0;font:italic 600 1.03rem/1.4 var(--f-serif);color:var(--ink-2)}
.cc-strongnone{display:flex;gap:20px;align-items:center;background:var(--sun-t);border-radius:var(--r-l);padding:28px 30px;max-width:860px;margin:0 auto}
.cc-strongnone h3{margin-bottom:6px}.cc-strongnone p{margin:0;color:var(--ink-2)}
.cc-strongnone img{flex:none;width:56px;height:56px}
@media (max-width:960px){.cc-strong{grid-template-columns:1fr}}

.cc-mcards{display:grid;gap:26px}
.cc-mcard{background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-2);overflow:hidden;border:2px solid color-mix(in srgb,var(--mc) 30%,#fff);opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.cc-mcard.in{opacity:1;transform:none}
.cc-mhead{display:flex;gap:18px;align-items:center;padding:22px 28px;background:color-mix(in srgb,var(--mc) 12%,#fff);border-bottom:2px dashed color-mix(in srgb,var(--mc) 40%,#fff);position:relative;flex-wrap:wrap}
.cc-mhead .cc-mcode{width:64px;height:64px;font-size:1.4rem;background:var(--md);box-shadow:0 8px 18px rgba(43,33,64,.2)}
.cc-mhead h3{font-size:clamp(1.3rem,2.4vw,1.8rem);margin:0 0 2px}
.cc-mwho{margin:0;color:var(--ink-2);font-size:.97rem}
.cc-mstep{position:absolute;right:22px;top:16px;font:800 .8rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;background:var(--md);color:#fff;padding:8px 13px;border-radius:999px}
.cc-mhead > div{flex:1 1 280px;padding-right:0}
.cc-mbody{display:grid;grid-template-columns:1.55fr 1fr;gap:30px;padding:26px 28px 30px}
.cc-mtext h4,.cc-mbooks h4,.cc-mdeliver h4{font:800 .8rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--md);margin:22px 0 10px}
.cc-mtext h4:first-of-type{margin-top:18px}
.cc-why{margin:0;font-size:1.06rem;padding:14px 18px;background:color-mix(in srgb,var(--mc) 9%,#fff);border-radius:var(--r-m);border-left:5px solid var(--mc)}
.cc-why b{display:block;font:800 .8rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--md);margin-bottom:6px}
.cc-covers{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.cc-covers li{position:relative;padding-left:28px}
.cc-covers li::before{content:"";position:absolute;left:0;top:.3em;width:18px;height:18px;border-radius:50%;background:var(--md) url("../icons/check.svg") center/70% no-repeat}
.cc-pps{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cc-pp{font:800 .8rem/1 var(--f-body);padding:7px 12px;border-radius:999px;border:2px solid var(--pc);color:var(--pc)}
.cc-mdeliver{grid-column:1/-1}
.cc-mdeliver h4{margin-top:8px!important}
.cc-deliver{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cc-deliver a{display:block;padding:12px 16px;border:2px solid var(--line);border-radius:14px;text-decoration:none;transition:border-color .2s,transform .2s,background .2s;min-height:44px}
.cc-deliver a:hover{border-color:var(--md);background:color-mix(in srgb,var(--mc) 6%,#fff);transform:translateX(4px)}
.cc-deliver b{display:block;color:var(--md)}
.cc-deliver span{font-size:.9rem;color:var(--ink-2)}
.cc-bookrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:18px 16px}
.cc-bookrow .bk .meta{padding:10px 2px 0}
.cc-bookrow .bk h3{font-size:.9rem;margin:4px 0 2px}
.cc-bookrow .bk .ages,.cc-bookrow .bk .kind{font-size:.8rem;line-height:1.35;display:block}
.cc-mbooks{background:var(--cream);border-radius:var(--r-l);padding:18px 18px 22px;align-self:start}
.cc-mbooks h4{margin-top:0}
.cc-workname{text-align:center;margin-top:22px}
@media (max-width:900px){.cc-block{margin-top:42px}.cc-deliver{grid-template-columns:1fr}.cc-mbody{grid-template-columns:1fr;gap:6px}.cc-mhead{padding:20px 18px}.cc-mstep{position:static;order:-1;width:100%;text-align:center;border-radius:12px}.cc-mbody{padding:20px 18px 24px}}

.cc-month{display:grid;grid-template-columns:200px 1fr;gap:34px;align-items:center;background:linear-gradient(135deg,#FFF0C8,#FFE2C6);border-radius:var(--r-xl);padding:32px 40px;box-shadow:var(--sh-2);opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.cc-month.in{opacity:1;transform:none}
.cc-month-art{width:200px;height:auto;aspect-ratio:300/489;object-fit:cover;border-radius:100px 100px 22px 22px;box-shadow:var(--sh-2)}
.cc-month h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:12px}
.cc-monthtxt{font:italic 600 clamp(1.25rem,2.3vw,1.6rem)/1.45 var(--f-serif);color:var(--ink);margin:0 0 12px}
@media (max-width:720px){.cc-month{grid-template-columns:1fr;padding:26px 20px;text-align:center;gap:18px}.cc-month-art{width:120px;margin:0 auto;border-radius:60px 60px 16px 16px}}

.cc-actrow{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:24px 0 6px}
.cc-email{background:#fff;border-radius:var(--r-l);padding:28px 30px;box-shadow:var(--sh-2);max-width:760px;margin:22px auto 0;position:relative}
.cc-emailwhy{color:var(--ink-2);margin:0 0 18px}
.cc-email form{display:grid;gap:16px}
.cc-email .note,.cc-email .req{font-weight:600}.cc-email .req{color:var(--coral-d);font-size:.85rem}
.cc-err{color:#9C2B14;font-weight:700;margin:6px 0 0;min-height:0}
.cc-check{display:flex;align-items:center;gap:12px;font-weight:800;min-height:44px;cursor:pointer}
.cc-check input{width:24px;height:24px;accent-color:var(--leaf-d);flex:none}
.cc-status{margin:0;font-weight:700;min-height:1.4em}
.cc-status.ok{color:var(--leaf-d);background:var(--leaf-t);padding:14px 16px;border-radius:12px}
.cc-status.warn{color:#7A3A00;background:var(--sun-t);padding:14px 16px;border-radius:12px}
.cc-links{text-align:center;margin:22px 0 0;color:var(--ink-2)}
.cc-care{text-align:center;max-width:70ch;margin:30px auto 0}

/* ================================================================= PRINT: a clean one-to-two page A4 plan */
@page{size:A4;margin:11mm 12mm}

/* final fix pass */
.cc-differ{margin:0 0 20px;max-width:56ch;color:#CBC1E6;font-size:1rem;line-height:1.5}
.cc-differ a{color:#fff;font-weight:800}
.cc-privacy{margin:12px 0 0;color:var(--ink-2);font-size:.9rem}
@media print{
  html,body{background:#fff!important}
  body::before{display:none!important}
  .cc *{-webkit-print-color-adjust:exact;print-color-adjust:exact;animation:none!important;transition:none!important}
  .cc[data-screen="result"] .cc-hero,.cc[data-screen="result"] .cc-start,.cc[data-screen="result"] .cc-quiz,.cc[data-screen="result"] .cc-extra,
  .cc[data-screen="result"] .cc-actions,.cc[data-screen="result"] .cc-jump,.cc[data-screen="result"] .cc-month-art,.cc[data-screen="result"] .cc-hearts-host,
  .cc[data-screen="result"] .cc-hearts,.cc[data-screen="result"] .cc-deliver span,.cc[data-screen="result"] .cc-ld,.cc[data-screen="result"] .cc-lights,.cc[data-screen="result"] .cc-workname{display:none!important}
  .cc[data-screen="result"] .cc-res{display:block!important;padding:0}
  .cc-res-top{background:none!important;padding:0 0 4mm;text-align:left}
  .cc-printhead{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #2B2140;padding-bottom:2mm;margin-bottom:3mm;font-size:9pt;color:#2B2140}
  .cc-printhead b{font:600 11pt var(--f-head)}
  .cc-res-top .eyebrow{display:none}
  .cc-res-top h2{font-size:20pt;margin:0 0 1mm}
  .cc-res-top .lead{font-size:9pt;margin:0 0 1mm;line-height:1.35;max-width:none}
  .cc-bright{font-size:10.5pt;margin:1mm 0 0;max-width:none}
  .cc-resbody{padding-top:3mm}
  .cc-block{margin-top:4mm;padding:0!important;break-inside:avoid}
  .cc-h2{font-size:13pt;text-align:left;margin-bottom:2mm}
  .cc-sub2{text-align:left;font-size:8.5pt;margin:0 0 2mm;max-width:none}
  .cc-mapgrid{grid-template-columns:62mm 1fr;gap:6mm;align-items:start}
  .cc-map{max-width:62mm;box-shadow:none;border-radius:6mm}
  .cc-nl b{font-size:6pt}.cc-nl .cc-lv{display:none}.cc-num{font-size:20px}
  .cc-halo,.cc-node{opacity:1!important}
  .cc-node .cc-halo{opacity:calc(.28 + var(--g)*.72)!important;transform:scale(calc(.62 + var(--g)*.5))!important}
  .cc-center .cc-halo{opacity:.9!important}
  .cc-road{stroke-dashoffset:0!important}
  .cc-h3s{font-size:10pt;margin-bottom:2mm}
  .cc-legend{gap:1.2mm;grid-template-columns:1fr 1fr}
  .cc-legend li{padding:1.2mm 2mm;box-shadow:none;border:1px solid #ddd;border-left:4px solid var(--pc);gap:2mm;align-items:center;transform:none!important;break-inside:avoid}
  .cc-lg{width:7mm;height:7mm}.cc-lg svg{width:5mm;height:5mm}
  .cc-lt b{font-size:8pt}.cc-pn{display:none}.cc-lq{display:none}
  .cc-ll{margin-top:.6mm}
  .cc-lv{font-size:6.5pt;padding:.9mm 2mm}
  .cc-bars{gap:1.2mm;grid-template-columns:1fr 1fr;max-width:none}
  .cc-bars li{padding:1.2mm 2.4mm;box-shadow:none;border:1px solid #ddd;gap:.8mm 2mm;grid-template-columns:1fr auto;break-inside:avoid}
  .cc-bn{font-size:8pt;grid-column:1/-1;gap:2mm}.cc-bno{width:4.4mm;height:4.4mm;font-size:6.5pt}
  .cc-btrack{height:2.4mm;grid-column:1}.cc-bl{grid-column:2}.cc-btrack i.f::after{transform:scaleX(1)!important}
  .cc-strong{grid-template-columns:repeat(3,1fr);gap:2mm}
  .cc-sc{padding:2.5mm;box-shadow:none;border:1px solid #ddd;border-top:4px solid var(--cc);opacity:1!important;transform:none!important;flex-direction:column;gap:1mm}
  .cc-star{width:6mm;height:6mm}
  .cc-sc h3{font-size:8.5pt;margin:0 0 1mm}.cc-sch{font-size:6pt}.cc-scq{display:none}
  .cc-strongnone{padding:3mm}
  .cc-mcards{gap:3mm}
  .cc-mcard{box-shadow:none;border:1px solid #bbb;border-radius:3mm;opacity:1!important;transform:none!important;break-inside:avoid}
  .cc-mhead{padding:2.5mm 4mm;gap:3mm}
  .cc-mhead .cc-mcode{width:9mm;height:9mm;font-size:9pt;box-shadow:none}
  .cc-mhead h3{font-size:10.5pt}.cc-mwho{font-size:7.5pt}
  .cc-mstep{position:absolute!important;top:2.5mm;right:3mm;width:auto!important;order:0!important;border-radius:999px!important;font-size:6.5pt;padding:1.4mm 2.6mm}
  .cc-mbody{grid-template-columns:1fr;gap:0;padding:2mm 4mm 3mm}
  .cc-mtext h4,.cc-mtext h4.cc-keep{display:none}
  .cc-why{font-size:8.5pt;padding:2mm 3mm;margin-top:1mm}
  .cc-covers{gap:.8mm;margin-top:2mm}.cc-covers li{font-size:8pt;padding-left:5mm}.cc-covers li::before{width:3.4mm;height:3.4mm}
  .cc-pps,.cc-mdeliver{display:none}
  .cc-mbooks{background:none;padding:0;margin-top:1.5mm}
  .cc-mbooks h4{display:inline;margin:0 2mm 0 0;font-size:6.5pt}
  .cc-bookrow{display:inline;grid-template-columns:none}
  .cc-bookrow .bk{display:inline;margin-right:3mm}
  .cc-bookrow .bk .cv,.cc-bookrow .bk .kind,.cc-bookrow .bk .ages{display:none}
  .cc-bookrow .bk .meta{display:inline;padding:0}
  .cc-bookrow .bk h3{display:inline;font-size:8pt;margin:0}
  .cc-bookrow .bk:not(:last-child) h3::after{content:" ·"}
  .cc-month{display:block;padding:3mm 4mm;box-shadow:none;border:1px solid #bbb;opacity:1!important;transform:none!important;border-radius:3mm;background:#FFF6DC!important}
  .cc-month .eyebrow{display:none}.cc-month h2{font-size:11pt;margin-bottom:1mm}
  .cc-monthtxt{font-size:10pt;margin:0 0 1mm}.cc-month .note{font-size:7pt;margin:0}
  .cc .cc-care{font-size:7pt;margin-top:3mm;text-align:left;max-width:none}
  .cc-block.cc-monthblock{margin-top:3mm}
}

/* without JavaScript the questionnaire cannot run: show the explanation, hide the controls and the empty lists */
.no-js .cc-start,.no-js #chapters,.no-js #leads-to,.no-js #preview{display:none}
.no-js .cc-hero-bridge{display:none}
.no-js .cc-hero{padding-bottom:84px}
.no-js .cc-hero .btn-row{display:none}
