/* Coach Courtney — the playful, illustrated Truman experience. */
:root{--blue:#2158c6;--yellow:#ffda48;--cream:#fffaf0;--muted:#586b80;--line:#d5dfe9}
body{background-image:radial-gradient(#e8d9ba40 .7px,transparent .7px);background-size:10px 10px}
h1 em,h2 em{font-family:Manrope,Arial,sans-serif;font-style:normal;font-weight:800;color:var(--blue);letter-spacing:-.055em}
.button{border-radius:16px;border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);transition:transform .16s,box-shadow .16s}
.button.blue{background:var(--blue)}
.button.outline{border:2px solid var(--ink);background:white}
.button:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--ink)}
.button:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
.app-header{background:#fffaf0f5;border-bottom:2px solid #d9e3ef}
.desktop-nav a[aria-current=page]:after{height:5px;background:var(--yellow);bottom:3px}
.hero{padding-top:38px;grid-template-columns:.98fr 1.02fr;gap:46px}
.hero-copy .eyebrow{color:var(--blue);font-size:9px}
.hero h1{font-size:clamp(46px,5vw,69px);line-height:1.08}
.hero h1 em{position:relative;display:inline-block;isolation:isolate}
.hero h1 em:after{content:'';position:absolute;left:0;right:-4px;bottom:1px;height:13px;border-radius:50%;background:var(--yellow);z-index:-1;transform:rotate(-2deg)}
.hero-description{max-width:380px}
.coach-world{position:relative;isolation:isolate;overflow:hidden;height:553px;border:2px solid var(--ink);border-radius:40px;background:radial-gradient(#fff7 1.5px,transparent 1.5px),linear-gradient(150deg,#def4ff,#bcdeff 70%);background-size:20px 20px,auto;box-shadow:8px 9px 0 #d2e1f2}
.coach-sun{position:absolute;width:365px;height:365px;border-radius:50%;background:#ffdf5f;top:120px;left:calc(50% - 182px);box-shadow:0 0 0 18px #ffe89366}
.hero-coach{position:absolute;width:92%;height:84%;object-fit:contain;object-position:bottom;bottom:20px;left:4%;z-index:2;filter:drop-shadow(0 12px 10px #2b5b8f25);animation:coach-hello 1.1s cubic-bezier(.16,1,.3,1) both}
.welcome-bubble{position:absolute;left:24px;top:22px;z-index:3;border:2px solid var(--ink);background:#fffef8;padding:14px 18px;border-radius:22px 22px 22px 4px;transform:rotate(-3deg);box-shadow:3px 4px 0 #112b5012}
.welcome-bubble span{display:block;font-size:9px;letter-spacing:.13em;font-weight:800;color:var(--blue);margin-bottom:5px}
.welcome-bubble strong{font-size:17px;font-family:Manrope,sans-serif;line-height:1.25;display:block;letter-spacing:-.03em}
.coach-sticker{position:absolute;right:18px;top:142px;background:#fbd7e9;border:2px solid var(--ink);border-radius:50%;padding:20px 10px;width:104px;height:94px;text-align:center;font-size:10px;font-weight:800;line-height:1.5;transform:rotate(12deg);z-index:3}
.doodle{position:absolute;font-size:48px;color:var(--blue);z-index:3;line-height:1;animation:twinkle 4s ease-in-out infinite}
.doodle-one{right:31px;top:34px}.doodle-two{left:27px;top:245px;font-size:48px;animation-delay:-2s}.doodle-three{right:25px;bottom:150px;font-size:27px;color:#213b68;animation-delay:-1s}
.cartoon-floor{position:absolute;bottom:-60px;left:-25%;width:150%;height:190px;background:repeating-linear-gradient(88deg,#eac28b 0 62px,#b2824e 63px 65px);border-top:3px solid #b2824e;transform:rotate(-5deg);border-radius:50% 50% 0 0}
.coach-nameplate{position:absolute;z-index:5;left:22px;right:22px;bottom:21px;display:flex;align-items:center;gap:13px;padding:14px 18px;border:2px solid var(--ink);border-radius:20px;background:#fffdf2;box-shadow:0 4px 0 #112b50;text-align:left;transition:transform .2s}
.coach-nameplate:hover{transform:translateY(-3px)}
.coach-nameplate small{display:block;font-size:8px;letter-spacing:.12em;font-weight:800;margin-bottom:2px}
.coach-nameplate strong{font-size:20px;font-family:Manrope,sans-serif;letter-spacing:-.03em}
.coach-nameplate>span:last-child{margin-left:auto;font-size:24px}
.coach-nameplate .play-disc{background:var(--blue);color:var(--yellow)}
.coach-nameplate .play-disc svg{fill:none;stroke-width:1.7;width:23px}
.coach-tip-wrap{margin-top:31px}
.coach-tip{display:flex;align-items:center;gap:18px;border:2px solid #c9dccc;background:#eff8e9;border-radius:22px;padding:18px 24px}
.tip-spark{width:43px;height:43px;border-radius:15px;background:#d5ebbd;display:grid;place-items:center;flex-shrink:0;color:#386442}
.coach-tip .mini-tag{color:#386442;font-size:9px;margin-bottom:3px}
.coach-tip p{font-size:12px;color:#39543f;line-height:1.55;max-width:700px}
.tip-button{margin-left:auto;flex-shrink:0;font-size:11px;font-weight:800;background:white;border:1.5px solid #426647;border-radius:12px;padding:10px 13px;display:flex;align-items:center;gap:12px;min-height:42px}
.tip-button span{font-size:20px;line-height:1}
.quick-strip{gap:18px;margin-top:24px}
.quick-strip>a{border:2px solid #d7e1ee;padding:17px 18px;border-radius:20px;background:#fff;box-shadow:0 3px 0 #d7e1ee}
.quick-strip>a:nth-child(2){background:#fff1f5;border-color:#eddae3;box-shadow:0 3px 0 #eddae3}
.quick-strip>a:nth-child(3){background:#f0efff;border-color:#dddaf3;box-shadow:0 3px 0 #dddaf3}
.quick-number{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:var(--yellow);font-weight:800;color:var(--ink);flex-shrink:0;margin-top:0}
.quick-strip strong{font-size:12px}
.quick-strip small{font-size:10px}
.quick-strip svg{width:16px}
.lab-teaser{background:#244fa4;border:2px solid var(--ink);box-shadow:7px 7px 0 #c7d6eb;border-radius:32px}
.lab-teaser p:not(.eyebrow){color:#e1ebff}
.comparison,.gallery-image,.video-thumb{border:2px solid var(--ink);box-shadow:4px 4px 0 #dce4ea}
.chip{border-width:2px}.chip.selected{background:var(--blue);border-color:var(--ink);box-shadow:0 3px 0 var(--ink)}
.meet-courtney{grid-template-columns:240px 1fr;gap:38px;max-width:1050px;padding-top:40px;align-items:center}
.courtney-portrait{height:260px;position:relative;border-radius:50% 50% 26px 26px;background:#ffe99b;overflow:hidden;border:2px solid var(--ink)}
.courtney-portrait img{width:100%;height:100%;object-fit:contain;object-position:bottom;transform:translateY(17px)}
.courtney-portrait span{position:absolute;left:15px;right:15px;bottom:14px;text-align:center;font-weight:800;font-size:9px;letter-spacing:.12em;background:white;padding:9px 3px;border:1.5px solid var(--ink);border-radius:10px}
.lab-intro{margin-top:-20px;min-height:260px}
.lab-intro h1{font-size:clamp(38px,4.5vw,60px)}
.lab-coach{position:relative;width:250px;height:270px;flex-shrink:0;background:#ffdc57;border-radius:46% 54% 34% 50%;margin-right:10px;align-self:flex-end}
.lab-coach img{width:100%;height:105%;object-fit:contain;object-position:bottom;position:absolute;bottom:0;left:0;animation:coach-hello .8s ease both}
.lab-speech{position:absolute;top:12px;left:-82px;z-index:2;background:#fff;border:2px solid var(--ink);padding:13px 18px;border-radius:18px 18px 3px 18px;transform:rotate(-5deg);font-size:12px;line-height:1.4;box-shadow:3px 3px 0 #112b5015}
.lab-speech strong{font-size:18px;color:var(--blue)}
.lesson{border:2px solid var(--ink);box-shadow:6px 7px 0 #d6dfeb;border-radius:30px}
.floor-scene{background-color:#e6efff}
.lesson-step.selected{background:#fff4c9;border:2px solid #ebcf60}
.lesson-step.selected b{background:var(--blue)}
.scene-caption{position:relative;padding:20px 18px 16px;border:1.5px solid #9eb1cd;margin-top:10px;min-height:185px}
.scene-coach{width:77px;height:82px;object-fit:contain;object-position:top;position:absolute;right:8px;top:-62px;filter:drop-shadow(0 2px 0 #fff)}
.scene-coach-label{display:block;font-size:8px;letter-spacing:.13em;font-weight:800;color:var(--blue);margin-bottom:8px}
.scene-caption strong{display:block}
.info-panel{border:2px solid #cbd8e8;border-radius:28px;background:#fff}
.blue-panel{background:#153b7b;border-color:var(--ink)}
.knowledge-card{position:relative;border:2px solid var(--ink);border-radius:30px;box-shadow:6px 6px 0 #d8d9f0;background:#eeeaff;padding:33px 32px 33px 169px;overflow:hidden;min-height:215px}
.challenge-coach{position:absolute;left:-12px;bottom:-48px;width:185px;height:242px;object-fit:contain}
.knowledge-card .eyebrow{color:var(--blue)}
.knowledge-card h2{max-width:470px}
.badge-status{color:var(--ink)}
.traffic-card{background:#fff2db;border:2px solid #e8d3ad;border-radius:26px}
.estimate-card{border:2px solid var(--ink);border-radius:32px;box-shadow:7px 7px 0 #dce6f4;background:#eaf3ff}
.estimate-coach{height:170px;width:100%;position:relative;margin:0 0 19px;display:flex;justify-content:center;overflow:hidden}
.estimate-coach img{height:205px;width:200px;object-fit:contain;align-self:flex-end;transform:translate(-35px,35px)}
.estimate-coach span{position:absolute;top:12px;right:0;background:#fff4ba;border:2px solid var(--ink);border-radius:18px 18px 18px 3px;padding:12px 14px;transform:rotate(4deg);font-size:13px;font-weight:700}
.bottom-nav a[aria-current=page]:before{background:var(--yellow);border:1px solid var(--ink);border-radius:11px}
dialog{border:2px solid var(--ink);border-radius:28px;background:#fffdf5;box-shadow:9px 10px 0 #112b5030}
.quiz-coach{display:flex;gap:12px;align-items:center;margin:0 0 18px;background:#eaf3ff;border:1px solid #b9cdea;border-radius:16px;padding:9px 13px 9px 6px;min-height:75px;text-align:left}
.quiz-coach img{width:67px;height:63px;object-fit:cover;object-position:top;flex-shrink:0}
.quiz-coach p{font-size:12px;line-height:1.55;color:#254c7b;font-weight:600}
.quiz-option{border-width:2px;border-radius:16px;background:#fff;box-shadow:0 3px 0 #dce3eb;transition:transform .16s}
.quiz-option:hover:not(:disabled){transform:translateY(-2px);background:#fff3c2;border-color:#d3b549}
.quiz-progress .done{background:var(--blue)}
.earned-badge{animation:badge-pop .5s ease both;box-shadow:0 0 0 8px #ffe5955e,0 0 0 17px #ffe59528}
.coach-welcome-dialog{text-align:center}
.welcome-portrait{width:165px;height:145px;margin:0 auto 18px;background:#ffe084;border-radius:90px 90px 35px 35px;overflow:hidden}
.welcome-portrait img{width:100%;height:175px;object-fit:cover;object-position:top;transform:translateY(3px)}
.coach-welcome-dialog>.mini-tag{font-size:8px;color:var(--blue);margin-bottom:12px}
.coach-menu{display:grid;gap:12px;text-align:left;margin-top:22px}
.coach-menu>a,.coach-menu>button{display:flex;align-items:center;gap:13px;border:2px solid #cedaeb;border-radius:16px;background:#fff;padding:14px;text-align:left;font-size:18px}
.coach-menu>a:hover,.coach-menu>button:hover{background:#eaf3ff;border-color:var(--blue)}
.coach-menu>a>span,.coach-menu>button>span{font-size:11px;font-weight:800;background:var(--yellow);padding:8px;border-radius:9px}
.coach-menu div{flex:1}.coach-menu strong{display:block;font-size:13px}.coach-menu small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
@keyframes coach-hello{from{opacity:0;transform:translateY(25px) rotate(-4deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(.8) rotate(14deg)}}
@keyframes badge-pop{from{opacity:0;transform:scale(.7) rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:1050px){.hero{gap:30px}.coach-world{height:515px}.hero h1{font-size:54px}.welcome-bubble{left:17px;top:20px;padding:12px 14px}.welcome-bubble strong{font-size:15px}.coach-sticker{right:12px;top:132px;width:86px;height:82px;padding-top:17px;font-size:8px}.quick-strip>a{gap:9px;padding:14px 12px}.quick-number{width:23px;height:26px}.quick-strip small{font-size:9px}.quick-strip strong{font-size:11px}.lab-coach{width:190px;height:235px}.lab-speech{left:-45px;top:-5px;padding:10px 12px}.lab-intro h1{font-size:47px}.knowledge-card{padding-left:135px}.challenge-coach{width:154px}.estimate-coach span{font-size:11px}}
@media(max-width:760px){
  .hero{display:flex;flex-direction:column;gap:27px;padding-top:25px;align-items:stretch}
  .hero h1{font-size:clamp(39px,11.8vw,54px);line-height:1.08;letter-spacing:-.05em}
  .hero h1 br:nth-child(2){display:block}.hero h1 em{margin-left:0}.hero h1 em:after{height:10px;bottom:-1px}
  .hero-copy .eyebrow{font-size:7px;margin-bottom:13px}.hero-description{font-size:13px;max-width:100%;margin-top:19px}
  .hero-actions{gap:6px;margin-top:20px}.hero-proof{font-size:8px;margin-top:16px}.hero-actions>.text-link{font-size:11px}
  .coach-world{order:-1;height:335px;border-radius:28px;box-shadow:5px 6px 0 #d2e1f2}
  .hero-coach{height:84%;bottom:16px;width:96%;left:2%}
  .coach-sun{width:270px;height:270px;top:88px;left:calc(50% - 135px);box-shadow:0 0 0 12px #ffe89366}
  .welcome-bubble{left:14px;top:14px;padding:10px 12px;border-radius:15px 15px 15px 3px}.welcome-bubble span{font-size:7px;margin-bottom:3px}.welcome-bubble strong{font-size:12px}
  .doodle-one{right:23px;top:21px;font-size:30px}.doodle-two{left:15px;top:178px;font-size:30px}.doodle-three{right:16px;bottom:110px;font-size:21px}
  .coach-sticker{width:73px;height:69px;right:9px;top:94px;font-size:7px;padding:15px 5px}
  .coach-nameplate{left:14px;right:14px;bottom:15px;padding:10px 13px;border-radius:16px;gap:10px}.coach-nameplate .play-disc{height:35px;width:35px}.coach-nameplate strong{font-size:17px}.coach-nameplate small{font-size:6px;letter-spacing:.09em}
  .coach-tip-wrap{margin-top:24px}.coach-tip{padding:15px;gap:10px;flex-wrap:wrap;border-radius:18px}.tip-spark{width:32px;height:32px;border-radius:11px}.tip-spark svg{width:20px}.coach-tip>div{flex:1;min-width:190px}.coach-tip .mini-tag{font-size:8px}.coach-tip p{font-size:11px}.tip-button{min-height:35px;font-size:10px;padding:6px 10px;margin-top:0;margin-left:42px}.tip-button span{font-size:17px}
  .quick-strip{gap:12px;margin-top:22px}.quick-strip>a{padding:15px;gap:13px;border-radius:17px}.quick-number{width:29px;height:30px}.quick-strip strong{font-size:12px}.quick-strip small{font-size:10px}.quick-strip svg{width:19px}
  .lab-teaser{border-radius:26px;padding:27px 23px 15px;box-shadow:4px 5px 0 #c7d6eb}
  .meet-courtney{grid-template-columns:1fr;gap:23px;align-items:center;padding-top:32px;margin-top:38px}.courtney-portrait{width:170px;height:185px;justify-self:center}.courtney-portrait span{font-size:7px;left:10px;right:10px;bottom:10px;padding:7px}.meet-courtney h2{font-size:30px}.meet-courtney .eyebrow{font-size:8px}.meet-courtney p:not(.eyebrow){font-size:13px}
  .lab-intro{display:block;margin-top:0;min-height:0;margin-bottom:25px}.lab-intro h1{font-size:clamp(34px,10.2vw,47px)}.lab-intro p:last-child{font-size:12px;max-width:310px}.lab-coach{height:155px;width:155px;margin:23px 15px 0 auto}.lab-speech{left:-140px;top:23px;padding:12px 14px;font-size:11px}.lab-speech strong{font-size:17px}
  .lesson{border-radius:23px;box-shadow:4px 5px 0 #d6dfeb}.lesson-copy{padding:23px}.scene-caption{padding:17px 16px;min-height:190px}.scene-coach{width:65px;height:72px;top:-54px;right:3px}.scene-coach-label{font-size:7px}.scene-caption strong{font-size:14px}.scene-caption p{font-size:11px}
  .knowledge-card{padding:25px 23px 25px 116px;min-height:255px;border-radius:23px;gap:20px;box-shadow:4px 5px 0 #d8d9f0}.challenge-coach{width:143px;height:202px;left:-21px;bottom:-12px}.knowledge-card h2{font-size:24px}.knowledge-card .eyebrow{font-size:7px;letter-spacing:.08em}.knowledge-card p:not(.eyebrow){font-size:11px}.knowledge-card>.button{font-size:10px;gap:9px;padding:12px;min-height:44px}.knowledge-card .badge-status{font-size:8px}
  .estimate-card{box-shadow:4px 5px 0 #dce6f4;border-radius:25px}.estimate-coach{height:150px}.estimate-coach img{height:180px;width:180px}.estimate-coach span{font-size:11px;padding:10px 12px}
  dialog{border-radius:23px}.quiz-coach{padding:8px;gap:9px;margin-bottom:15px}.quiz-coach img{width:55px;height:55px}.quiz-coach p{font-size:11px}.coach-menu>a,.coach-menu>button{padding:12px;gap:10px}.coach-menu strong{font-size:12px}.coach-menu small{font-size:10px}.welcome-portrait{width:135px;height:117px}.welcome-portrait img{height:145px}.coach-welcome-dialog>.mini-tag{font-size:7px}.header-cta{border-radius:12px;box-shadow:0 3px 0 var(--ink)}
}
@media(prefers-reduced-motion:reduce){.hero-coach,.lab-coach img,.doodle,.earned-badge{animation:none!important}.button,.coach-nameplate,.quiz-option{transition:none!important}}
