/* Home is an action hub: keep the challenge identity compact and tasks close. */
.home-page{max-width:1100px;margin-inline:auto}
.home-welcome{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.home-welcome h1{font-size:32px;line-height:1.15;overflow-wrap:anywhere}
.home-welcome .pill{flex-shrink:0}
.home-banner{display:grid;grid-template-columns:minmax(0,1fr) 220px;background:var(--forest);color:var(--cream);border-radius:16px;overflow:hidden}
.home-banner>div{padding:24px 28px;align-self:center;min-width:0}
.home-banner h2{font-size:36px;line-height:1.02;letter-spacing:-.02em;color:inherit}
.home-banner p{font-size:14px;line-height:1.5;margin:12px 0 0;color:var(--cream)}
.home-banner .home-prize{margin-top:8px}
.home-prize strong{color:var(--lime)}
.home-prize span{font-size:12px;color:#dbe4d2}
.home-banner img{width:100%;height:100%;min-height:0;max-height:240px;object-fit:cover;object-position:center 38%}
.home-actions-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;margin-top:24px;align-items:start}
.home-page .home-quick h2{font-size:25px;line-height:1.15}
.home-quick{padding-block:10px}
.home-log-links{display:grid;margin-top:12px}
.home-log-links a,.home-checkin{display:flex;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid var(--line);font-size:15px;font-weight:600;text-decoration:none}
.home-log-links a>span{flex:1}
.home-log-links a>svg:first-child{color:var(--rust)}
.home-checkin{justify-content:space-between;border-bottom:0;font-size:14px}
.home-essentials{margin-top:24px}
.home-essentials>a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px;border-bottom:1px solid var(--line);min-height:64px;text-decoration:none}
.home-essentials>a>div{display:grid;gap:6px;min-width:0}
.home-essentials strong{font-size:15px}
.home-essentials span{font-size:14px;line-height:1.5;color:#596451;overflow-wrap:anywhere}
.home-page a>svg{flex-shrink:0;width:20px;height:20px}
.home-page a:not(.button):hover{color:var(--rust)}
.home-page a:focus-visible,.home-calendar summary:focus-visible{outline:2px solid var(--rust);outline-offset:4px;border-radius:4px}
.home-calendar{margin-top:12px}
.home-calendar summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;font-size:14px;font-weight:600;cursor:pointer;list-style:none}
.home-calendar summary::-webkit-details-marker{display:none}
.home-calendar-toggle{font-size:24px;font-weight:400;line-height:1}
.home-calendar[open] .home-calendar-toggle{transform:rotate(45deg)}
.home-calendar .timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-block:12px 24px}
.home-calendar .timeline-row{padding:0;grid-template-columns:44px minmax(0,1fr)}
.home-calendar .timeline-row:before{display:none}
.home-calendar .timeline-row strong{font-size:14px}
.home-calendar .timeline-row p{font-size:12px}
.home-preview{margin-top:20px;min-height:44px}
@media(max-width:800px){
 .home-welcome{margin-bottom:16px;gap:10px;flex-wrap:wrap}
 .home-welcome h1{font-size:26px}
 .home-welcome .pill{font-size:11px;padding:5px 9px}
 .home-banner{grid-template-columns:minmax(0,1fr) 108px;border-radius:12px}
 .home-banner>div{padding:18px}
 .home-banner h2{font-size:27px}
 .home-banner p{font-size:13px;margin-top:8px}
 .home-prize span{font-size:12px}
 .home-banner img{max-height:none;object-position:50% 32%}
 .home-actions-layout{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:16px}
 .home-page .home-quick h2{font-size:23px}
 .home-quick{padding:0}
 .home-log-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}
 .home-log-links a{gap:8px;font-size:14px;line-height:1.4}
 .home-log-links a>svg:last-child{display:none}
 .home-essentials{margin-top:12px}
 .home-essentials>a{padding-block:14px}
 .home-calendar .timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
}
@media(max-width:360px){
 .home-banner{grid-template-columns:minmax(0,1fr) 80px}
 .home-banner>div{padding:14px}
 .home-banner h2{font-size:25px}
 .home-calendar .timeline{grid-template-columns:minmax(0,1fr)}
}

/* The checklist leads; the compact campaign image follows the useful actions. */
.home-page .home-actions-layout{margin-top:0;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.home-preparation{min-width:0;background:white;border:1px solid var(--line);border-radius:16px;padding:24px}
.prep-header h2,.home-preparation>h2{font-size:27px;line-height:1.15}
.prep-header>p{margin-top:8px;font-size:14px;line-height:1.5;color:#596451}
.prep-header>p strong{color:var(--forest)}
.prep-list{list-style:none;padding:0;margin:18px 0 0}
.prep-item{display:flex;gap:12px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line)}
.prep-check{display:grid;place-items:center;width:23px;height:23px;border:1px solid #7a866e;border-radius:50%;flex-shrink:0;margin-top:1px;color:var(--cream)}
.prep-check svg{width:17px;height:17px}
.is-done .prep-check{background:var(--forest);border-color:var(--forest)}
.prep-copy{flex:1;min-width:0}
.prep-copy>strong{font-size:15px;line-height:1.4}
.prep-copy>p{font-size:13px;line-height:1.5;color:#596451;margin-top:4px}
.prep-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;margin-top:4px}
.prep-actions a,.prep-actions button{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px;background:none;border:0;color:var(--forest)}
.prep-actions button:disabled{opacity:.6;cursor:wait}
.prep-actions button:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.prep-next{font-size:12px;font-weight:600;color:var(--rust);padding-top:3px}
.prep-note{font-size:12px;line-height:1.6;color:#596451;margin-top:12px}
.prep-error{font-size:14px;line-height:1.5;color:var(--rust);margin-top:12px}
.home-extras{margin-block:16px}
.home-extras>summary{cursor:pointer;font-size:14px;font-weight:600;min-height:48px;padding-block:14px}
.home-extras .home-essentials{margin-top:0}
.home-essentials>button{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border:0;border-bottom:1px solid var(--line);min-height:64px;background:none;width:100%;text-align:left;color:var(--forest)}
.home-essentials>button>div{display:grid;gap:6px}
.home-essentials>button>svg{width:20px;height:20px;flex-shrink:0}
.home-extras summary:focus-visible,.home-essentials>button:focus-visible{outline:2px solid var(--rust);outline-offset:4px}
@media(max-width:800px){
 .home-page .home-actions-layout{grid-template-columns:minmax(0,1fr)}
 .home-preparation{padding:18px}
 .prep-header h2,.home-preparation>h2{font-size:25px}
 .prep-list{margin-top:14px}
 .prep-item{padding:12px 0;gap:10px}
 .prep-next{font-size:11px}
}

/* Keep completed account steps compact without hiding their edit links. */
.prep-item.is-done .prep-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px}
.prep-item.is-done .prep-copy>strong,.prep-item.is-done .prep-copy>p{grid-column:1}
.prep-item.is-done .prep-actions{grid-column:2;grid-row:1 / span 2;margin:0;align-self:start;flex-direction:column;gap:0}

/* Compact campaign moment, then the member's next actionable preparation step. */
.home-banner{grid-template-columns:minmax(0,.9fr) minmax(0,1fr) 170px;margin-bottom:24px}
.home-banner>div{padding:22px 26px}
.home-banner h2{display:grid;gap:3px;text-transform:none}
.home-banner h2 strong{color:var(--lime);font:600 68px/1 Barlow,Arial,sans-serif;letter-spacing:-.025em;white-space:nowrap}
.home-banner h2 span{font:600 21px/1.2 Archivo,Arial,sans-serif;letter-spacing:-.025em}
.home-banner .home-prize-story{padding-left:0}
.home-banner .home-prize-story p{font:600 29px/1.1 Barlow,Arial,sans-serif;margin:0 0 12px;letter-spacing:-.02em}
.home-prize-story>span{font-size:12px;line-height:1.6;color:#e1e8da;display:block}
.home-banner img{max-height:190px;object-position:center 35%}
.prep-header>p{font-size:13px;line-height:1.7}
.prep-focus{padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:22px}
.prep-direction{font-size:13px;font-weight:600;color:var(--rust);margin-bottom:8px}
.prep-focus h3{font-family:Archivo,Arial,sans-serif;text-transform:none;font-size:23px;line-height:1.25;letter-spacing:-.025em}
.prep-focus>p:not(.prep-direction){font-size:14px;line-height:1.6;color:#596451;margin-top:9px}
.prep-primary-action{margin-top:17px;gap:12px 20px}
.prep-actions.prep-primary-action>a.button{padding:12px 20px;min-height:48px;background:var(--forest);border:1px solid var(--forest);color:var(--cream);text-decoration:none;border-radius:10px;font-size:14px}
.prep-actions.prep-primary-action>a.button:hover{background:#40543a}
.prep-primary-action>button{font-size:13px}
.prep-remaining>h3{font:600 15px/1.4 Archivo,Arial,sans-serif;text-transform:none;letter-spacing:0;margin:0 0 6px}
.prep-remaining .prep-list{margin:0}.prep-remaining .prep-item:first-child{border-top:0;padding-top:10px}
.prep-waiting-label{display:inline-block;font-size:12px;font-weight:600;color:#596451;margin-top:8px}
.prep-completed{border-top:1px solid var(--line);margin-top:12px}
.prep-completed>summary{cursor:pointer;font-size:14px;font-weight:600;min-height:48px;padding:15px 0;line-height:1.5}
.prep-completed>summary span{font-weight:400;margin-left:6px}.prep-completed .prep-list{margin:0}
.prep-completed>summary:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.prep-ready{font-size:15px;line-height:1.6;margin:20px 0;color:var(--forest)}
.home-page .home-actions-layout{margin-bottom:20px}
.home-page ::selection{background:var(--lime);color:var(--forest)}
@media(max-width:1100px) and (min-width:801px){.home-banner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-banner img{display:none}.home-banner h2 strong{font-size:60px}}
@media(max-width:800px){
 .home-banner{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);margin-bottom:18px;border-radius:14px}
 .home-banner>div{padding:20px}.home-banner h2 strong{font-size:54px}.home-banner h2 span{font-size:18px}
 .home-banner .home-prize-story p{font-size:23px}.home-banner img{display:none}
 .prep-focus{padding:17px 0;margin-bottom:18px}.prep-focus h3{font-size:21px}
 .prep-actions.prep-primary-action>a.button{width:100%;justify-content:space-between}
}
@media(max-width:500px){
 .home-banner{grid-template-columns:1fr}.home-banner>div{padding:18px 20px 0}
 .home-banner h2{display:flex;align-items:center;gap:13px}.home-banner h2 strong{font-size:58px}.home-banner h2 span{max-width:75px;font-size:18px}
 .home-banner .home-prize-story{padding:12px 20px 18px}.home-banner .home-prize-story p{font-size:20px;margin:0 0 5px}
 .home-prize-story p br{display:none}.home-prize-story p br:after{content:' '}
 .home-prize-story>span{font-size:11px}.home-prize-story>span br{display:none}
}
@media(max-width:360px){.home-banner h2 strong{font-size:48px}.home-banner h2 span{font-size:16px}.home-banner>div{padding-inline:16px}.home-banner .home-prize-story{padding-inline:16px}}

/* Live time information stays within the existing compact home sections. */
.home-countdown{display:grid;gap:3px;margin-bottom:9px;font-variant-numeric:tabular-nums}
.home-countdown>span:first-child{font-size:12px;color:#e1e8da}
.home-countdown>strong{font:600 32px/1.15 Barlow,Arial,sans-serif;letter-spacing:-.015em;color:var(--cream)}
.home-countdown>span:last-child{font-size:11px;color:#e1e8da}
.prep-deadlines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.prep-deadlines>a{display:grid;gap:1px;text-decoration:none;min-height:44px;align-content:start;font-variant-numeric:tabular-nums}
.prep-deadlines>a>span:first-child{font-size:12px;font-weight:600}.prep-deadlines strong{font-size:16px;line-height:1.4;color:var(--forest)}
.prep-deadlines>a>span:last-child{font-size:11px;color:#596451}
.prep-deadlines>a[data-deadline-state=today] strong,.prep-deadlines>a[data-deadline-state=passed] strong{color:var(--rust)}
@media(max-width:800px){.home-countdown>strong{font-size:28px}.prep-deadlines{margin-top:8px;padding-top:8px;gap:12px}.prep-focus{padding-top:13px}.prep-header>p{margin-top:5px}}
@media(max-width:500px){.home-banner .home-prize-story{padding-top:8px;padding-bottom:14px}.home-countdown{grid-template-columns:1fr auto;column-gap:8px;row-gap:0;margin-bottom:6px}.home-countdown>strong{grid-column:1;grid-row:2;font-size:27px}.home-countdown>span:last-child{grid-column:2;grid-row:2;align-self:center;font-size:10px}.prep-header h2{font-size:23px}.prep-deadlines strong{font-size:15px}}
@media(max-width:360px){.home-countdown>strong{font-size:24px}.home-countdown>span:last-child{font-size:9px}.prep-deadlines{gap:8px}.prep-deadlines>a>span:first-child{font-size:11px}}
