.first-week{margin:26px 0;background:#fffefa;border:1px solid #dce2d5;border-radius:22px;padding:30px}
.first-week .starting-point{border:1px solid #dce3d4;border-radius:14px;background:#f5f6ed;padding:0 16px;margin:20px 0}
.first-week .starting-point summary{min-height:64px;padding:12px 0;font-size:15px;font-weight:600}
.first-week .starting-point summary span{font-size:12px;font-weight:400}
.first-week .starting-point[open]{padding-bottom:16px}
.first-week .starting-point summary:focus-visible{outline:3px solid #725b91;outline-offset:3px;border-radius:6px}
.first-week-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}.first-week-heading h2{font-size:clamp(24px,2vw,31px);line-height:1.25;letter-spacing:-.7px;margin:12px 0}.first-week-intro{font-size:15px;line-height:1.8;color:#536653;max-width:58ch}.passport-count{font-size:44px;line-height:1;white-space:nowrap;color:#315b43}.passport-count small{font-size:12px;font-weight:400;color:#596b59}.passport-evidence{display:flex;gap:8px 20px;flex-wrap:wrap;margin:21px 0;padding:13px 0;border-block:1px solid #e0e5d8;font-size:12px;color:#4b634d}.passport-days{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;padding:0;margin:0}.passport-days li{min-width:0}.passport-days a{display:flex;align-items:center;gap:13px;padding:17px 15px;border:1px solid #e0e4d9;border-radius:12px;text-decoration:none;color:#294f41;height:100%;min-height:112px;background:#fffefa;transition:background .15s}.passport-days a:hover{background:#f0f4e8}.passport-days a:focus-visible,.companion-options button:focus-visible,.starting-point button:focus-visible{outline:3px solid #725b91;outline-offset:3px}.passport-days .is-next a{border-color:#789466;background:#f1f5e9}.passport-days .is-complete a{background:#f7f7f0}.passport-days li:last-child{grid-column:1/-1}.passport-number{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;border:1px solid #b8c8a8;font-size:13px}.is-complete .passport-number{background:#365b43;color:white;border-color:#365b43}.passport-days a>span:nth-child(2){flex:1;min-width:0}.passport-status{display:block;font-size:9px;font-weight:600;letter-spacing:.08em;color:#5b6a54;line-height:1.6}.passport-days strong{display:block;font-size:16px;line-height:1.4;font-weight:600;margin:5px 0}.passport-days small{display:block;font-size:12px;line-height:1.65;color:#596956}.passport-arrow{font-size:18px}.passport-note{font-size:12px;line-height:1.75;color:#596956;margin:20px 0 0}.starting-point{margin-top:22px;border-top:1px solid #dce3d4;padding-top:8px}.starting-point summary{cursor:pointer;min-height:48px;align-content:center;font-size:14px;line-height:1.6;color:#34573e}.starting-point summary span{display:block;color:#66715e;font-size:11px;margin-left:16px}.starting-point p{font-size:13px;line-height:1.8;color:#596956;margin:12px 0}.starting-point [role=group]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.starting-point [data-start-point]{border:1px solid #bdcbb3;background:#fffdf7;border-radius:10px;color:#35553d;font-size:13px;line-height:1.5;padding:13px;min-height:54px;cursor:pointer}.starting-point [aria-pressed=true]{background:#e7e0ee;border-color:#88719e;color:#4d3c5e}.starting-point #skip-start-point{margin-top:10px;min-height:44px}
.companion-card{padding:22px 24px;background:#eee9f3;border:1px solid #d9d0e1;border-radius:22px;text-align:left;margin-bottom:22px;overflow:hidden}.companion-art{width:136px;margin:-4px auto 10px}.companion-art svg{width:100%;height:auto;display:block}.companion-card h2{font-size:23px;letter-spacing:-.5px;line-height:1.3;margin:13px 0}.companion-card p{font-size:13px;line-height:1.8;color:#5f5669}.companion-card .text-link{font-size:13px;min-height:44px;display:inline-flex;align-items:center;padding:0}.companion-picker{margin-top:14px;border-top:1px solid #d4c9df;padding-top:4px}.companion-picker summary{font-size:12px;min-height:44px;align-content:center;cursor:pointer;color:#59446a}.companion-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.companion-options button{border:1px solid #c9bcd3;border-radius:10px;background:#f9f6fc;color:#554365;padding:8px;cursor:pointer;min-height:100px;font-size:11px;line-height:1.6}.companion-options svg{display:block;width:65px;margin:0 auto}.companion-options [aria-pressed=true]{border:2px solid #745a8a;background:#e3d9ec}.companion-picker p{font-size:11px;margin-top:12px}
.sidebar .brandmark,.sidebar nav a>span,.top-actions .avatar{flex-shrink:0}.sidebar nav a>span{white-space:nowrap}.companion-card .eyebrow{font-size:9px;letter-spacing:.12em}.first-week :where(a,button){-webkit-tap-highlight-color:transparent}
@media(max-width:1150px){.first-week{padding:25px}.passport-days{grid-template-columns:1fr}.passport-days li:last-child{grid-column:auto}.passport-days a{min-height:100px}.starting-point [role=group]{grid-template-columns:1fr}.companion-art{width:112px}}
@media(max-width:900px){.right-rail .companion-card{grid-column:1/-1;display:grid;grid-template-columns:120px 1fr;column-gap:24px}.companion-art{grid-row:1/6;align-self:center;width:120px;margin:0}.companion-picker{grid-column:1/-1}.companion-options{max-width:340px}.companion-card .text-link{justify-self:start}}
@media(max-width:650px){.first-week{padding:22px 18px;border-radius:18px}.first-week-heading{align-items:start}.first-week-heading h2{font-size:25px}.passport-count{font-size:32px}.passport-count small{display:block;font-size:10px;margin-top:7px}.passport-days a{padding:15px 12px;gap:11px;min-height:100px}.passport-days strong{font-size:16px}.passport-number{width:29px;height:29px;flex-basis:29px}.passport-evidence{font-size:11px}.companion-card{padding:20px}.right-rail .companion-card{grid-template-columns:85px minmax(0,1fr);gap:0 15px}.companion-art{width:90px}.companion-card h2{font-size:21px}.companion-picker{margin-top:14px}.companion-card .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){.passport-days a{transition:none}}
.no-motion .passport-days a{transition:none}
@media(max-width:650px){.right-rail{grid-template-columns:minmax(0,1fr)}.right-rail>*{min-width:0;max-width:100%}.right-rail .companion-card{min-width:0}.companion-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
