/* A complete explanation before the visitor starts the interactive example. */
.how-section{padding-block:42px 46px;background:var(--coralTint);border-block:1px solid var(--mist);scroll-margin-top:24px}
.how-section h2{font-size:1.875rem;max-width:22ch}
.process-steps{display:grid;gap:28px;list-style:none;padding:0;margin:30px 0 0}
.process-steps>li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:20px;align-items:center;position:relative;min-width:0}
.process-icon{width:76px;height:76px;display:grid;place-items:center;position:relative;border-radius:24px;background:var(--mist);color:var(--green);border:1px solid var(--mist);z-index:1}
.process-icon>svg{width:38px;height:38px;stroke-width:1.6}
.process-icon.mission{background:var(--coralDeep);border-color:var(--coralDeep);color:var(--ice)}
.process-icon.approval{background:var(--green);border-color:var(--green);color:var(--ice)}
.process-icon.achievement{background:var(--coral);border-color:var(--coral);color:var(--coralDeep)}
.process-number{position:absolute;right:-7px;bottom:-7px;display:grid;place-items:center;width:27px;height:27px;border:3px solid var(--coralTint);border-radius:50%;background:var(--ink);color:var(--ice);font-size:var(--font-min);line-height:1;font-weight:700}
.process-copy h3{font-size:1.375rem;line-height:1.2}
.process-copy p{margin-top:6px;font-size:1rem;line-height:1.4;color:var(--muted);max-width:26ch}
.process-steps>li:not(:last-child)::after{content:"";position:absolute;left:37px;top:calc(50% + 38px);height:calc(50% - 10px);border-left:2px dashed var(--line)}
@media(min-width:700px){
 .how-section{padding-block:54px 58px}
 .how-section h2{font-size:2.25rem;text-align:center;max-width:none}
 .process-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:38px}
 .process-steps>li{display:flex;flex-direction:column;gap:22px;text-align:center;align-items:center}
 .process-icon{width:104px;height:104px;border-radius:30px}
 .process-icon>svg{width:52px;height:52px}
 .process-number{width:31px;height:31px;font-size:var(--font-min);right:-6px;bottom:-6px}
 .process-copy h3{font-size:1.75rem}
 .process-copy p{font-size:1.0625rem;margin-top:9px;max-width:25ch;margin-inline:auto}
 .process-steps>li:not(:last-child)::after{left:calc(50% + 70px);top:51px;width:calc(100% - 100px);height:0;border-left:0;border-top:2px dashed var(--line)}
}
@media(max-width:359px){
 .process-steps>li{grid-template-columns:64px minmax(0,1fr);gap:17px}
 .process-icon{width:64px;height:64px;border-radius:20px}
 .process-icon>svg{width:34px;height:34px}
 .process-steps>li:not(:last-child)::after{left:31px;top:calc(50% + 32px);height:calc(50% - 4px)}
}
/* Each visitor can try a familiar situation without leaving the page. */
.experience-section{scroll-margin-top:24px}
.experience-copy>.scenario-instruction{font-size:1rem;margin-top:14px;color:var(--muted)}
.scenario-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.scenario-picker button{display:grid;grid-template-columns:1fr auto;align-content:start;gap:10px 6px;min-width:0;min-height:116px;padding:15px 13px;text-align:left;border:1px solid var(--sage);border-radius:16px;background:var(--ice);color:var(--green);font-size:1rem;line-height:1.35}
.scenario-picker button>svg{width:27px;height:27px}
.scenario-picker button>span:not(.scenario-check){grid-column:1/-1;grid-row:2;font-weight:600}
.scenario-picker .scenario-check{grid-column:2;grid-row:1;opacity:0;font-weight:700;align-self:start}
.scenario-picker button[aria-pressed=true]{border:2px solid var(--green);padding:14px 12px;background:var(--ice);box-shadow:0 3px 0 #125C5618}
.scenario-picker button[aria-pressed=true] .scenario-check{opacity:1}
.scenario-picker button:hover{background:var(--ice)}
.demo-app{min-height:480px}
.demo-app .demo-label{font-size:var(--font-min)}
.demo-progress{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin-top:14px;padding:12px 10px;border-radius:12px;background:var(--coralTint)}
.demo-progress>span{display:grid;place-items:center;min-width:0}
.demo-progress svg{width:100%;max-width:28px;height:auto;aspect-ratio:1;stroke:var(--muted);fill:transparent;stroke-width:1.4}
.demo-progress .earned svg{fill:var(--coral);stroke:var(--coralDeep)}
.demo-caption{font-size:var(--font-min);min-height:3em}
.routine-section{display:grid;gap:26px}
.routine-copy p{margin-top:18px;font-size:1.0625rem;color:var(--muted)}
.routine-board{margin:0;border:1px solid var(--line);border-radius:22px;padding:20px 16px;background:var(--ice);box-shadow:0 10px 30px #203F3908;min-width:0}
.routine-board figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;padding-bottom:16px}
.routine-board figcaption strong{font-family:'DM Sans',sans-serif;font-size:1.25rem}
.routine-board figcaption>span{font-size:var(--font-min);color:var(--muted)}
.routine-board ul{list-style:none;padding:0;margin:0}
.routine-board li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:5px 10px;align-items:center;padding:13px 0;border-top:1px solid var(--mist);font-size:1rem;line-height:1.35}
.routine-status{grid-column:2;justify-self:start;padding:3px 8px;border-radius:6px;font-size:var(--font-min);background:var(--ice);color:var(--ink)}
.routine-status.approved{background:var(--ice);color:var(--green)}
.routine-status.pending{background:var(--coralTint);color:var(--coralDeep)}
.routine-board>p{display:flex;align-items:flex-start;gap:8px;border-top:1px solid var(--mist);padding-top:16px;margin-top:3px;font-size:var(--font-min);line-height:1.5;color:var(--muted)}
.routine-board>p svg{width:19px;height:19px}
.moments-section{border-top:1px solid var(--line)}
@media(min-width:600px){
 .scenario-picker button{min-height:108px;padding:17px}
 .scenario-picker button[aria-pressed=true]{padding:16px}
 .routine-board{padding:24px}
 .routine-board li{grid-template-columns:24px minmax(0,1fr) auto;gap:12px}
 .routine-status{grid-column:3}
}
@media(min-width:900px){
 .experience-layout{max-width:1080px;gap:60px;align-items:center}
 .experience-copy h2{font-size:2.6rem}
 .scenario-picker{margin-top:24px;gap:12px}
 .routine-section{grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}
 .routine-copy h2{font-size:2.6rem}
 .routine-board{padding:28px}
 .routine-board li{padding-block:19px}
 .routine-board figcaption strong{font-size:1.4rem}
 .routine-board>p{font-size:var(--font-min)}
}
@media(max-width:359px){
 .scenario-picker{gap:8px}
 .scenario-picker button{padding:12px 10px;font-size:var(--font-min)}
 .scenario-picker button[aria-pressed=true]{padding:11px 9px}
 .demo-progress{padding-inline:6px;gap:3px}
}
@media(prefers-reduced-motion:reduce){.scenario-picker button{transition:none}}

/* Reward examples follow the child's interests and the family's agreement. */
.rewards-section{border-top:1px solid var(--line)}
.rewards-heading{max-width:700px}
.rewards-heading p{font-size:1.0625rem;color:var(--muted);margin-top:16px}
.reward-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));gap:12px;margin-top:26px}
.reward-option{min-width:0;min-height:160px;padding:20px 16px;border:1px solid var(--mist);border-radius:18px;background:var(--coralTint);color:var(--coralDeep)}
.reward-option>svg{width:42px;height:42px;margin-bottom:18px;stroke-width:1.5}
.reward-option h3{font-size:1.25rem;line-height:1.15;text-wrap:initial}
.reward-option.outing{background:var(--ice);color:var(--green)}
.reward-option.gift{background:var(--ice);color:var(--green)}
.reward-option.allowance{background:var(--coralTint);color:var(--coralDeep)}
.reward-option.friends{background:var(--ice);color:var(--green);grid-column:1/-1;display:flex;align-items:center;gap:20px;min-height:100px}
.reward-option.friends>svg{margin:0}
.reward-option.friends h3 br{display:none}
.rewards-note{font-size:var(--font-min);color:var(--muted);margin-top:18px;max-width:600px}
@media(min-width:600px){
 .reward-options{grid-template-columns:repeat(3,minmax(0,1fr))}
 .reward-option.friends{grid-column:2/-1}
}
@media(min-width:1000px){
 .rewards-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;max-width:none}
 .rewards-heading h2{font-size:2.6rem;max-width:560px}
 .rewards-heading p{flex:0 1 360px;margin:0}
 .reward-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:16px;margin-top:32px}
 .reward-option{min-height:205px;padding:24px 20px}
 .reward-option>svg{width:48px;height:48px;margin-bottom:28px}
 .reward-option h3{font-size:1.45rem}
 .reward-option.friends{display:block;grid-column:auto}
 .reward-option.friends>svg{margin-bottom:28px}
 .reward-option.friends h3 br{display:initial}
 .rewards-note{font-size:var(--font-min);max-width:none}
}
