/* Approved illustrated family: six short performances, triggered by native scrolling. */
.problem-grid .illustrated-card,.steps-grid .illustrated-card{padding:0;border:1px solid #e4ddcb;border-radius:26px;background:#fffdf5;overflow:hidden;box-shadow:0 8px 20px #4a342009;min-width:0}
.illustrated-card .doodle-wrap,.illustrated-card .step-visual{height:auto;aspect-ratio:1.12;margin:0;border:0;border-radius:0;background:#fef1df!important;position:relative;isolation:isolate}
.illustrated-card .character-copy{padding:25px 25px 29px}
.illustrated-card .character-copy h3{font-size:23px;line-height:1.35;margin:12px 0 14px;color:#2e5138}
.steps-grid .illustrated-card .character-copy h3{margin-top:0}
.illustrated-card .character-copy p{font-size:17px;line-height:1.75;margin:0}
.illustrated-card .problem-number{font-size:12px;font-weight:800;letter-spacing:.055em;color:#636a4e}
.illustrated-card .step-visual>span{left:18px;top:18px;z-index:5;width:37px;height:37px;font-size:23px;box-shadow:0 2px 0 #90702a13}
.card-character{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;--character-duration:3.2s}
.card-character .character-art{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transform-origin:50% 75%}
.character-food.is-character-visible .character-art{animation:food-pose var(--character-duration) ease-in-out both}
.character-menu.is-character-visible .character-art{animation:menu-tilt var(--character-duration) .12s ease-in-out both}
.character-care.is-character-visible .character-art{animation:laptop-breathe var(--character-duration) .24s ease-in-out both}
.character-preview.is-character-visible .character-art{animation:preview-present var(--character-duration) .12s ease-in-out both}
.character-flash{position:absolute;left:69%;top:20%;width:34px;height:34px;background:#ffcc54;clip-path:polygon(50% 0,60% 36%,100% 50%,62% 61%,50% 100%,39% 62%,0 50%,37% 39%);opacity:0}
.character-food.is-character-visible .character-flash{animation:camera-flash var(--character-duration) ease both}
.character-glint{position:absolute;left:72%;top:46%;width:17px;height:17px;border-radius:50%;background:#fffdf5;opacity:0}
.character-menu.is-character-visible .character-glint{animation:glass-glint var(--character-duration) .12s ease both}
.character-spark{position:absolute;font:normal 25px/1 Georgia,serif;color:#d74430;z-index:4}
.character-spark.spark-one{left:12%;top:32%}.character-spark.spark-two{right:12%;bottom:22%;color:#386b43;font-size:19px}
.character-care .spark-one{left:14%;top:23%;font-size:19px;color:#e4a321}.character-care .spark-two{right:11%;bottom:38%;font-size:14px}
.is-character-visible .character-spark{animation:character-twinkle var(--character-duration) ease both}
.character-reveal-shine{position:absolute;inset:16% 14%;border-radius:30px;background:linear-gradient(110deg,transparent 42%,#fffdf560 49%,transparent 56%);transform:translateX(-130%);opacity:0;pointer-events:none}
.character-preview.is-character-visible .character-reveal-shine{animation:preview-shine var(--character-duration) .12s ease both}
.envelope-assembly{position:absolute;width:88%;aspect-ratio:1;left:6%;top:3%;transform-origin:50% 80%}
.envelope-back{position:absolute;inset:0;background:#9a491e;clip-path:polygon(17.5% 44%,50% 18%,83.1% 44%,83.1% 89.7%,17.5% 89.7%)}
.envelope-back:after{content:'';position:absolute;inset:3px;background:linear-gradient(145deg,#ffc64c,#ffb731 60%,#f3a126);clip-path:polygon(17.5% 44%,50% 18%,83.1% 44%,83.1% 89.7%,17.5% 89.7%)}
.card-character .envelope-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.envelope-letter{clip-path:polygon(39% 8.5%,80% 13.5%,72% 62%,52% 64%,31.8% 61.5%);transform-origin:50% 63%;z-index:2}
.envelope-front{clip-path:polygon(17.3% 43.4%,50.5% 65.8%,83.4% 43.4%,83.4% 91.4%,17.3% 91.4%);z-index:3}
.character-hello.is-character-visible .envelope-letter{animation:envelope-pop var(--character-duration) cubic-bezier(.22,.7,.26,1) both}
.character-hello.is-character-visible .envelope-assembly{animation:envelope-greet var(--character-duration) ease both}
.rocket-sun{position:absolute;width:71%;aspect-ratio:1;left:14.5%;top:18%;border-radius:50%;background:#ffdc89}
.rocket-assembly{position:absolute;width:66%;left:17%;top:11%;transform:rotate(-5deg);transform-origin:50% 75%;z-index:3}
.card-character .rocket-body{position:relative;display:block;width:100%;height:auto;z-index:2;filter:drop-shadow(4px 6px 0 #a8552717)}
.rocket-flame{position:absolute;left:43%;top:92%;width:14%;height:24%;background:#f0642f;clip-path:polygon(0 0,100% 0,88% 60%,70% 47%,50% 100%,24% 58%,10% 69%);transform-origin:50% 0;opacity:0;z-index:1}
.rocket-flame:after{content:'';position:absolute;inset:0 22% 14%;background:#ffd044;border-radius:0 0 60% 60%}
.rocket-shadow{position:absolute;left:33%;bottom:9%;width:34%;height:4%;border-radius:50%;background:#b75c3820}
.rocket-puff{position:absolute;left:42%;bottom:9%;width:17%;height:9%;border-radius:50%;background:#fffdf5;opacity:0;z-index:2}
.rocket-puff:after{content:'';position:absolute;left:25%;top:-35%;width:55%;height:95%;border-radius:50%;background:inherit}
.character-launch.is-character-visible .rocket-assembly{animation:rocket-lift var(--character-duration) .24s cubic-bezier(.22,.7,.26,1) both}
.character-launch.is-character-visible .rocket-flame{animation:rocket-fire var(--character-duration) .24s ease both}
.character-launch.is-character-visible .puff-left{animation:rocket-smoke-left var(--character-duration) .24s ease-out both}
.character-launch.is-character-visible .puff-right{animation:rocket-smoke-right var(--character-duration) .24s ease-out both}
.character-launch.is-character-visible .rocket-shadow{animation:rocket-shadow var(--character-duration) .24s ease both}
@keyframes food-pose{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-3deg) scale(1.025)}43%{transform:rotate(2deg) scale(1.025)}60%{transform:rotate(-1deg)}80%{transform:rotate(1deg)}}
@keyframes menu-tilt{0%,100%{transform:rotate(0)}25%{transform:translateY(-5px) rotate(3deg)}50%{transform:translateY(-5px) rotate(-2deg)}72%{transform:rotate(1deg)}}
@keyframes laptop-breathe{0%,100%{transform:scale(1)}42%{transform:translateY(-5px) scale(1.025)}75%{transform:translateY(-2px) scale(1.01)}}
@keyframes preview-present{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-9px) rotate(-2deg)}55%{transform:translateY(-6px) rotate(1.5deg)}78%{transform:translateY(-2px)}}
@keyframes camera-flash{0%,23%,45%,100%{opacity:0;transform:scale(.3) rotate(-20deg)}30%,36%{opacity:.9;transform:scale(1) rotate(0)}}
@keyframes glass-glint{0%,30%,75%,100%{opacity:0;transform:scale(.3)}47%{opacity:.8;transform:scale(1)}}
@keyframes character-twinkle{0%,20%{opacity:.2;transform:scale(.6) rotate(-20deg)}50%{opacity:1;transform:scale(1.15) rotate(10deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes preview-shine{0%,22%{opacity:0;transform:translateX(-130%)}30%,58%{opacity:.8}80%,100%{opacity:0;transform:translateX(130%)}}
@keyframes envelope-pop{0%,12%{transform:translateY(20%) rotate(-4deg)}48%{transform:translateY(-2.5%) rotate(1deg)}65%{transform:translateY(0) rotate(-1.5deg)}80%{transform:translateY(-1%) rotate(1deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes envelope-greet{0%,12%{transform:rotate(-2deg)}45%{transform:rotate(1deg)}65%,100%{transform:rotate(0)}}
@keyframes rocket-lift{0%{transform:rotate(-5deg)}15%{transform:translateY(4px) rotate(-8deg)}23%{transform:translateY(2px) rotate(-2deg)}31%{transform:rotate(-6deg)}70%,100%{transform:translate(5px,-21px) rotate(6deg)}}
@keyframes rocket-fire{0%,19%{opacity:0;transform:scaleY(.1)}30%{opacity:1;transform:scaleY(.7)}38%{transform:scaleY(1)}46%{transform:scaleY(.75)}54%{transform:scaleY(1.1)}62%{transform:scaleY(.85)}74%{opacity:1;transform:scaleY(.7)}100%{opacity:0;transform:scaleY(.15)}}
@keyframes rocket-smoke-left{0%,25%{opacity:0;transform:translateX(0) scale(.3)}42%{opacity:1}80%{opacity:.5}100%{opacity:0;transform:translate(-75px,-10px) scale(1.5)}}
@keyframes rocket-smoke-right{0%,25%{opacity:0;transform:translateX(0) scale(.3)}42%{opacity:1}80%{opacity:.5}100%{opacity:0;transform:translate(75px,-7px) scale(1.4)}}
@keyframes rocket-shadow{0%,25%{opacity:1;transform:scaleX(1)}100%{opacity:.4;transform:scaleX(.75)}}
@media(min-width:681px) and (max-width:1000px){.illustrated-card .character-copy{padding:20px 18px 24px}.illustrated-card .character-copy h3{font-size:21px}.illustrated-card .character-copy p{font-size:16px}}
@media(max-width:680px){.problem-grid,.steps-grid{gap:28px}.illustrated-card .doodle-wrap,.illustrated-card .step-visual{aspect-ratio:1.15;max-height:330px}.illustrated-card .character-copy{padding:24px}.envelope-assembly{width:300px;max-width:88%;left:50%;margin-left:-150px;top:1%}.rocket-assembly{width:215px;left:calc(50% - 107.5px)}.rocket-sun{width:240px;left:calc(50% - 120px)}}
@media(max-width:370px){.envelope-assembly{width:88%;margin-left:0;left:6%}.illustrated-card .character-copy{padding:21px}.illustrated-card .character-copy h3{font-size:22px}.rocket-assembly{width:66%;left:17%}.rocket-sun{width:71%;left:14.5%}}
@media(prefers-reduced-motion:reduce){.card-character *{animation:none!important}.character-flash,.character-glint,.character-reveal-shine,.rocket-flame,.rocket-puff{display:none}}

/* The reader's scroll controls the three steps. The page never captures scrolling. */
.care-section{padding-block:65px}
.care-layout{align-items:center;gap:65px}
.care-copy h2{font-size:clamp(32px,3vw,43px)}
.care-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;margin-top:18px}
.care-copy .update-turnaround{margin-top:22px!important}
.care-copy .care-scroll-cue{font-weight:800;color:#2d633d;display:none;align-items:center;gap:12px}
.care-scroll-cue>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #9baf72;border-radius:50%;font-size:24px}
.care-step-summary{padding-left:20px;font-size:15px;line-height:1.7;margin-top:20px;color:#46553d}
.care-step-summary li+li{margin-top:9px}.care-step-summary strong{color:#2d633d}
.care-animation{width:100%;padding:12px 0;isolation:isolate}
.message-bubble{margin-left:15px;padding:21px 24px;transition:transform .4s ease,border-color .3s}
.message-bubble p{font-size:17px;line-height:1.65}
.process-path{margin:24px 30px 44px;gap:10px}
.process-dot{border:0;width:38px;height:38px;font:800 15px Manrope,sans-serif;cursor:pointer;background:#e4d5b0;color:#50472d}
.process-dot b{font-size:13px;top:43px}.process-dot[aria-current="step"]{outline:2px solid #2d633d;outline-offset:4px}
.process-dot.active{background:#2d633d}.process-dot:focus-visible{outline:3px solid #d72c27;outline-offset:5px}
.path-line{height:3px;position:relative;overflow:hidden;background:#d6c59e}
.path-line:after{content:"";position:absolute;inset:0;background:#2d633d;transform-origin:left;transform:scaleX(var(--line-progress,0))}
.care-animation .updated-card{transition:border-color .3s,box-shadow .3s;position:relative}
.care-animation .update-photo{height:150px}.care-animation .update-content{padding:21px 25px 24px}
.care-animation .updated-card h3{font-size:28px}.care-animation .updated-card p{font-size:15px;line-height:1.6;min-height:48px}
.care-animation .updated-card strong{display:block;min-height:27px}
.care-animation .update-status{min-height:49px;margin-top:18px;color:#415736;font-size:15px;line-height:1.6}
.care-animation[data-stage="1"] .message-bubble{transform:rotate(0);border-color:#709354}
.care-animation[data-stage="2"] .message-bubble{transform:rotate(-1deg)}
.care-animation[data-stage="2"] .updated-card{box-shadow:0 10px 0 #c6ddac80;border-color:#6a9758}
.care-scroll-enabled .care-step-summary{display:none}
.care-scroll-enabled .care-scroll-cue{display:flex!important}
.care-scroll-enabled .care-section{padding-block:0}
.care-scroll-enabled .care-scroll-scene{position:relative;height:calc(var(--care-layout-height,720px) + 115svh)}
.care-scroll-enabled .care-layout{position:sticky;top:100px;padding-block:28px}
.care-static .process-dot{cursor:default}
@media(max-width:900px){
  .care-layout{display:block}.care-copy{max-width:650px;margin-bottom:32px}.care-animation{max-width:500px;margin-inline:auto}
  .care-scroll-enabled .care-scroll-scene{height:auto}.care-scroll-enabled .care-layout{position:static;padding-block:45px}
  .care-scroll-enabled .care-stage-track{height:calc(var(--care-panel-height,600px) + 100svh);position:relative}
  .care-scroll-enabled .care-animation{position:sticky;top:88px;background:#fff0c7}
  .care-animation .message-bubble{padding:16px 19px}.care-animation .message-bubble p{font-size:16px;line-height:1.6}
  .care-animation .update-photo{height:125px}.care-animation .update-content{padding:18px 21px}
  .care-animation .updated-card h3{font-size:26px}.care-animation .updated-card p{font-size:15px}
}
@media(max-width:680px){.step-visual .character{height:170px}.care-copy h2{font-size:34px}.care-copy>p:not(.eyebrow){font-size:17px}.care-animation .process-path{margin-inline:14px}.care-animation .update-status{font-size:14px}.care-animation .message-bubble{margin-left:0}.care-animation .updated-card h3{font-size:25px}}
@media(min-width:901px) and (max-height:850px){
  .care-layout{display:block}.care-copy{max-width:760px;margin-bottom:28px}
  .care-scroll-enabled .care-scroll-scene{height:auto}.care-scroll-enabled .care-layout{position:static;padding-block:50px}
  .care-scroll-enabled .care-stage-track{height:calc(var(--care-panel-height,490px) + 100svh);position:relative}
  .care-scroll-enabled .care-animation{position:sticky;top:100px;background:#fff0c7}
  .care-animation{display:grid;grid-template-columns:1fr 1.1fr;gap:18px 42px;align-items:center;max-width:1000px;margin-inline:auto}
  .care-animation .process-path{grid-column:1/-1;grid-row:1;margin:10px 60px 36px}
  .care-animation .message-bubble{grid-column:1;grid-row:2;margin:0}
  .care-animation .update-status{grid-column:1;grid-row:3;align-self:start;margin:0}
  .care-animation .updated-card{grid-column:2;grid-row:2/4}
  .care-animation .update-photo{height:105px}.care-animation .update-content{padding:16px 21px}
  .care-animation .updated-card h3{font-size:25px}.care-animation .updated-card p{min-height:48px}
}
@media(max-height:780px) and (max-width:900px){.care-animation .update-photo{height:90px}.care-animation .message-bubble p{font-size:15px;line-height:1.5}.care-animation .update-content{padding:15px 19px}.care-animation .updated-card p{font-size:14px;min-height:44px}.care-animation .process-path{margin-top:18px;margin-bottom:40px}.care-animation .updated-card h3{font-size:24px}.care-animation .update-status{margin-top:12px}}
/* A single mobile stage: request, check, then the finished update in the same space. */
@media(max-width:900px){
 .care-scroll-enabled .care-animation{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;top:var(--care-sticky-top,88px);padding:8px 0}
 .care-scroll-enabled .care-animation .process-path{grid-area:1/1;margin:8px 16px 39px;height:38px}
 .care-scroll-enabled .care-animation .message-bubble,.care-scroll-enabled .care-animation .updated-card{grid-area:2/1}
 .care-scroll-enabled .care-animation .message-bubble{align-self:center;margin:0;padding:24px 22px;visibility:hidden;opacity:0;transform:translateY(-12px) rotate(-1deg);transition:opacity .25s,transform .35s,visibility .25s}
 .care-scroll-enabled .care-animation[data-stage="0"] .message-bubble{visibility:visible;opacity:1;transform:rotate(-1deg)}
 .care-scroll-enabled .care-animation .message-bubble p{font-size:17px;line-height:1.65}
 .care-scroll-enabled .care-animation .updated-card{align-self:stretch;min-height:340px;transition:opacity .25s,transform .35s,border-color .3s,visibility .25s}
 .care-scroll-enabled .care-animation[data-stage="0"] .updated-card{visibility:hidden;opacity:0;transform:translateY(16px)}
 .care-scroll-enabled .care-animation .update-photo{height:95px}
 .care-scroll-enabled .care-animation .update-content{padding:16px 20px;min-height:215px}
 .care-scroll-enabled .care-animation .updated-card h3{font-size:25px;margin-top:8px;min-height:60px}
 .care-scroll-enabled .care-animation .updated-card p{font-size:15px;line-height:1.55;min-height:70px;margin-top:8px}
 .care-scroll-enabled .care-animation .updated-card strong{font-size:17px;margin-top:8px;min-height:32px}
 .care-scroll-enabled .care-animation .update-status{grid-area:3/1;margin-top:14px;min-height:68px;font-size:14px;line-height:1.6}
 .care-scroll-enabled .care-stage-track{height:calc(var(--care-panel-height,540px) + 115svh)}
}
@media(max-width:370px){
 .care-scroll-enabled .care-animation .update-content{padding-inline:16px;min-height:230px}
 .care-scroll-enabled .care-animation .updated-card h3{font-size:23px}
 .care-scroll-enabled .care-animation .updated-card p{font-size:14px}
 .care-scroll-enabled .care-animation .message-bubble{padding:20px}
 .care-scroll-enabled .care-animation .message-bubble p{font-size:16px}
}
@media(max-width:900px) and (max-height:650px){
 .care-scroll-enabled .care-animation .update-photo{display:none}
 .care-scroll-enabled .care-animation .updated-card{min-height:0}
 .care-scroll-enabled .care-animation .update-content{padding-block:12px}
 .care-scroll-enabled .care-animation .process-path{margin-bottom:28px}
 .care-scroll-enabled .care-animation .update-status{margin-top:12px;min-height:48px;font-size:13px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.character *{animation:none!important;transform:none!important}.care-animation *{transition:none!important}}
