/* Open content sections; the Home hero and navigation retain their existing styles. */
body.magazine-home #portalView #attendanceCard{padding:0!important}
body.magazine-home #portalView .grid-top,body.magazine-home #portalView .grid-bottom{gap:36px!important;margin-top:0!important;padding:30px 0!important}
body.magazine-home #portalView .grid-top{border-bottom:1px solid #dcded5!important}
body.magazine-home #portalView .grid-top>.card,body.magazine-home #portalView .grid-bottom>.card,body.magazine-home #portalView .grid-top #applicationsSection{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;min-width:0}
body.magazine-home #portalView .grid-top .section-head,body.magazine-home #portalView .grid-top .section-title-row,body.magazine-home #portalView .grid-bottom .section-title-row{align-items:center;gap:16px}
body.magazine-home #portalView .grid-top h2,body.magazine-home #portalView .grid-bottom h2{font-family:'DM Sans',system-ui,sans-serif!important;font-size:22px!important;line-height:1.3;font-weight:600;margin:6px 0 0!important;letter-spacing:-.03em}
body.magazine-home #portalView .grid-top .eyebrow,body.magazine-home #portalView .grid-bottom .eyebrow{font-size:10px;letter-spacing:.14em;color:#697565}
body.magazine-home #portalView #attendanceCard .attendance-summary{gap:0!important;margin:18px 0!important}
body.magazine-home #portalView #attendanceCard .attendance-summary>div{background:transparent!important;border:0!important;border-radius:0!important;padding:0 16px!important;min-width:0}
body.magazine-home #portalView #attendanceCard .attendance-summary>div:first-child{padding-left:0!important}
body.magazine-home #portalView #attendanceCard .attendance-summary>div+div{border-left:1px solid #dcded5!important}
body.magazine-home #portalView #attendanceCard .attendance-summary strong{font-size:16px;line-height:1.5}
body.magazine-home #portalView #attendanceCard .attendance-summary span{font-size:11px;color:#707b70}
body.magazine-home #portalView #attendanceCard .attendance-footnote{font-size:11px;line-height:1.5;margin-bottom:0;color:#7a8378}
body.magazine-home #portalView #attendanceCard .gps-status{font-size:11px}
body.magazine-home #portalView #attendanceCard #clockButton{border-radius:8px!important;box-shadow:none!important;min-height:40px;padding:10px 22px!important;font-size:13px}
body.magazine-home #portalView #attendanceCard #attendanceMessage{font-size:12px;line-height:1.5;margin:12px 0}
body.magazine-home #portalView #attendanceCard .pill{font-size:10px;padding:5px 8px;white-space:nowrap}
body.magazine-home #portalView #appGrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:12px!important;margin-top:18px!important}
body.magazine-home #portalView #appGrid .app-tile{min-height:90px!important;height:90px!important;padding:14px!important;border:1px solid transparent!important;border-radius:8px!important;box-shadow:none!important;transform:none!important;background:#20231f!important;min-width:0;transition:background .15s,border-color .15s}
body.magazine-home #portalView #appGrid .app-tile:hover{background:#303a30!important;border-color:#aebfa6!important}
body.magazine-home #portalView #appGrid .app-tile:focus-visible{outline:2px solid #49664d;outline-offset:3px}
body.magazine-home #portalView #appGrid .exact-app-logo{width:100%!important;max-width:200px!important;min-width:0!important}
body.magazine-home #portalView #appGrid .exact-app-logo img{max-width:100%!important;width:100%!important;height:48px!important;object-fit:contain!important}
body.magazine-home #portalView #appGrid .generic-app-logo{flex-direction:row!important;justify-content:center;gap:10px!important}
body.magazine-home #portalView #appGrid .generic-app-logo strong{font-size:13px!important}
body.magazine-home #portalView #appGrid .app-initial{flex-shrink:0;width:30px!important;height:30px!important;font-size:15px!important;border-radius:6px!important}
body.magazine-home #portalView #newsSection .news-controls{gap:0 18px;margin:18px 0 8px;border-bottom:1px solid #dcded5}
body.magazine-home #portalView #newsSection .news-controls button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#707b70;padding:10px 0;font-size:12px;min-height:40px}
body.magazine-home #portalView #newsSection .news-controls button[aria-pressed=true]{color:#254c3a;background:transparent;border-bottom-color:#254c3a}
body.magazine-home #portalView #newsRefresh{border:0;border-radius:6px;padding:8px;background:transparent;color:#51634c;font-weight:500}
body.magazine-home #portalView #newsRefresh:hover{background:#e8ede4}
body.magazine-home #portalView #newsSection .portal-news-item{padding:16px 0}
body.magazine-home #portalView #newsSection .portal-news-item a{font-size:14px;font-weight:500}
body.magazine-home #portalView #newsSection .news-attribution{line-height:1.6;margin-top:18px}
body.magazine-home #portalView #communitySection .spark-text{font:400 17px/1.65 'DM Sans',system-ui,sans-serif;min-height:0!important;margin:20px 0 14px!important;color:#364536}
body.magazine-home #portalView #communitySection .spark-action{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#315a40!important;padding:8px 0!important;min-height:36px;text-align:left;font-size:12px;width:auto!important;justify-self:start;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
body.magazine-home #portalView #communitySection .spark-caption{font-size:11px;line-height:1.6;color:#7a8378}
body.magazine-home #portalView #communitySection .mini-block{border-top:1px solid #dcded5;padding-top:22px;margin-top:22px;gap:10px}
body.magazine-home #portalView #communitySection .mini-block strong{font:500 14px/1.6 'DM Sans',system-ui,sans-serif;color:#364536}
body.magazine-home #portalView #communitySection .mini-block>span{font-size:10px;color:#697565;letter-spacing:.12em}
body.magazine-home #portalView #communitySection #puzzleAnswer{font-size:13px;line-height:1.6;color:#364536}
@media(min-width:901px){
 body.magazine-home #portalView .grid-top #applicationsSection,body.magazine-home #portalView #communitySection{border-left:1px solid #dcded5!important;padding-left:30px!important}
 body.magazine-home #portalView .grid-bottom{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important}
}
@media(max-width:900px){
 body.magazine-home #portalView .grid-top,body.magazine-home #portalView .grid-bottom{grid-template-columns:minmax(0,1fr)!important;gap:28px!important;padding:24px 0!important}
 body.magazine-home #portalView .grid-top #applicationsSection,body.magazine-home #portalView #communitySection{border-top:1px solid #dcded5!important;padding-top:24px!important}
}


/* Clear sequence: attendance strip, app shelf, then news and a sunny social corner. */
body.magazine-home #portalView .grid-top{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:30px!important;padding:28px 0 32px!important;border-bottom:1px solid #dbe3df!important}
body.magazine-home #portalView #attendanceCard{display:grid!important;grid-template-columns:minmax(190px,1fr) minmax(260px,1.4fr) auto;column-gap:28px;row-gap:0;align-items:center;padding:20px 24px 12px!important;background:#e4f4ed!important;border:0!important;border-radius:12px!important}
body.magazine-home #portalView #attendanceCard .section-head{display:block}
body.magazine-home #portalView #attendanceCard .section-head .pill{display:inline-block;margin-top:8px;background:#fff;color:#3d5c4d}
body.magazine-home #portalView #attendanceCard .attendance-summary{margin:0!important}
body.magazine-home #portalView #attendanceCard .attendance-summary strong{font-size:20px;color:#23493b}
body.magazine-home #portalView #attendanceCard .attendance-summary span{font:500 10px/1.4 system-ui;letter-spacing:.08em}
body.magazine-home #portalView #attendanceCard .attendance-summary>div+div{border-color:#bfdacf!important}
body.magazine-home #portalView #attendanceCard #clockButton{margin:0!important;min-width:112px;background:#287956!important;color:#fff!important;font-weight:600;min-height:44px}
body.magazine-home #portalView #attendanceCard #clockButton:hover{background:#1d6042!important}
body.magazine-home #portalView .attendance-action{text-align:center}
body.magazine-home #portalView .attendance-action small{display:block;font-size:10px;margin-top:6px;color:#4e6e5c}
body.magazine-home #portalView .attendance-details{grid-column:1/-1;margin-top:12px;color:#496555;font:11px/1.6 system-ui}
body.magazine-home #portalView .attendance-details>summary{cursor:pointer;width:fit-content;padding:4px 0;min-height:24px}
body.magazine-home #portalView #attendanceError,body.magazine-home #portalView #todaySessions{grid-column:1/-1}
body.magazine-home #portalView #todaySessions:empty{display:none}
body.magazine-home #portalView .grid-top #applicationsSection{border:0!important;padding:0!important}
body.magazine-home #portalView #appGrid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))!important;gap:14px!important}
body.magazine-home #portalView #appGrid .app-tile,body.magazine-home #portalView #appGrid .app-tile:hover,body.magazine-home #portalView #appGrid .app-tile:active{background:#000!important;background-image:none!important;border-radius:10px!important;height:104px!important;min-height:104px!important;border:2px solid #000!important}
body.magazine-home #portalView #appGrid .app-tile::before,body.magazine-home #portalView #appGrid .app-tile::after{display:none!important;background:none!important}
body.magazine-home #portalView #appGrid .app-tile:hover{border-color:#d9b664!important}
body.magazine-home #portalView .happy-dot{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffe28a;color:#5a4912;font:600 18px system-ui;vertical-align:middle;margin-left:5px}
body.magazine-home #portalView .grid-bottom{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;gap:32px!important;padding:30px 0!important}
body.magazine-home #portalView #communitySection{background:#fff1b8!important;padding:24px!important;border:0!important;border-radius:12px!important}
body.magazine-home #portalView #communitySection h2{font-size:21px!important;color:#584722}
body.magazine-home #portalView #communitySection .eyebrow,body.magazine-home #portalView #communitySection .mini-block>span{color:#7a632a}
body.magazine-home #portalView #communitySection .spark-text{font-size:17px;line-height:1.65;margin-top:20px!important;color:#574b31}
body.magazine-home #portalView #communitySection .spark-action{color:#5c4916!important;font-weight:600;text-decoration:none}
body.magazine-home #portalView #communitySection .spark-action:hover{text-decoration:underline}
body.magazine-home #portalView #communitySection .spark-caption{color:#746443;margin-top:4px}
body.magazine-home #portalView #communitySection .mini-block{border-color:#e2ce88;padding-top:18px;margin-top:18px}
body.magazine-home #portalView #newsSection .news-controls{gap:0 16px}
body.magazine-home #portalView #newsSection .news-controls button{color:#5b6b70;font-weight:500}
body.magazine-home #portalView #newsSection .news-controls button[aria-pressed=true]{color:#236692;border-color:#398fc0}
body.magazine-home #portalView #newsSection .portal-news-item a{font-weight:600;line-height:1.6}
body.magazine-home #portalView #newsSection .portal-news-meta{color:#697780}
@media(max-width:1100px){
 body.magazine-home #portalView #attendanceCard{grid-template-columns:minmax(140px,1fr) minmax(190px,1.2fr) auto;column-gap:16px}
}
@media(max-width:900px){
 body.magazine-home #portalView .grid-bottom{grid-template-columns:minmax(0,1fr)!important}
 body.magazine-home #portalView #attendanceCard{grid-template-columns:1fr auto;gap:16px;padding:18px 18px 10px!important}
 body.magazine-home #portalView #attendanceCard .attendance-summary{grid-row:2;grid-column:1/-1;margin:0!important}
 body.magazine-home #portalView .attendance-action{grid-column:2;grid-row:1}
 body.magazine-home #portalView .attendance-details{margin-top:0}
 body.magazine-home #portalView #appGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.magazine-home #portalView #communitySection{padding:22px!important}
}
