/* Public academy information shares the GARPU red / white identity. */
body.garpu-home .academy-section{position:relative;isolation:isolate;background:#fff8f9;min-height:calc(100svh - var(--garpu-header-height,90px));padding-block:clamp(28px,4vh,56px)}
body.garpu-home .academy-section:before{content:"";position:absolute;inset:0;z-index:-1;background:url('/garuda-silhouette.svg') right center/auto 85% no-repeat;opacity:.055;pointer-events:none}
body.garpu-home .academy-section .section-heading{background:linear-gradient(110deg,#c9001a,#ee071e);padding:24px 30px;border-radius:18px;color:white;margin-bottom:24px}
body.garpu-home .academy-section .section-heading h2{font-size:clamp(28px,3.2vw,44px);color:white;line-height:1.12;margin:8px 0}
body.garpu-home .academy-section .section-heading .eyebrow,body.garpu-home .academy-section .section-heading p{color:white}
body.garpu-home .academy-section .section-heading h2:after{display:none}
body.garpu-home .academy-empty{display:flex;align-items:center;gap:32px;padding:clamp(24px,4vw,48px);border:1px solid #f2c8cf;background:#fff;border-radius:18px;min-height:200px}
body.garpu-home .academy-empty h3{color:#bc001b;font-size:clamp(22px,2vw,30px);margin:0 0 12px;line-height:1.25}
body.garpu-home .academy-empty p{max-width:700px;margin:0 0 18px;color:#635a60;line-height:1.7}
body.garpu-home .academy-empty-mark{display:grid;place-items:center;flex:0 0 100px;aspect-ratio:1;background:#fff1f3;color:#d7001d;border-radius:50%;font-weight:900;font-size:22px}
body.garpu-home #program-latihan{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
body.garpu-home #program-latihan>.academy-empty{grid-column:1/-1}
body.garpu-home .academy-group,body.garpu-home .academy-routine,body.garpu-home .academy-match{border:1px solid #f2c8cf;border-top:4px solid #e40020;background:white;border-radius:14px;padding:24px;min-width:0}
body.garpu-home .academy-group-title{display:flex;align-items:center;gap:14px}
body.garpu-home .academy-group-title h3{font-size:26px;margin:3px 0;color:#bc001b}
body.garpu-home .academy-group-title .eyebrow{margin:0;font-size:11px}
body.garpu-home .academy-number{padding:12px;border-radius:9px;background:#e50020;color:white;font-size:22px;font-weight:800}
body.garpu-home .academy-group>p{font-size:15px;line-height:1.7}
body.garpu-home .academy-criteria{color:#bd001d;font-weight:700}
body.garpu-home .academy-coach{display:flex;gap:12px;align-items:center;padding:15px 0;border-block:1px solid #f7dfe4}
body.garpu-home .academy-coach img{width:54px;height:64px;object-fit:cover;border-radius:8px}
body.garpu-home .academy-coach strong,body.garpu-home .academy-coach span,body.garpu-home .academy-coach a{display:block;font-size:14px}
body.garpu-home .academy-coach span{font-size:12px;color:#72636a;margin-bottom:4px}
body.garpu-home .academy-coach a{color:#bc001b;margin-top:6px}
body.garpu-home .academy-players summary,body.garpu-home .academy-agenda summary{padding:16px 0;cursor:pointer;font-weight:700;color:#bc001b}
body.garpu-home .academy-players summary span,body.garpu-home .academy-agenda summary span{font-weight:400;font-size:12px;margin-left:8px;color:#77646b}
body.garpu-home .academy-roster{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
body.garpu-home .academy-player{display:flex;align-items:center;gap:10px;font-size:13px;background:#fff7f8;border-radius:8px;padding:10px}
body.garpu-home .academy-player img,body.garpu-home .academy-player>span{width:40px;height:48px;object-fit:cover;border-radius:5px}
body.garpu-home .academy-player>span{display:grid;place-items:center;color:#d80020;background:#ffe8ed;font-weight:bold}
body.garpu-home .academy-player small{display:block;margin-top:4px}
body.garpu-home .academy-group .section-actions{gap:16px;margin-top:20px;flex-wrap:wrap}
body.garpu-home .academy-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px;font-size:13px;color:#75626a}
body.garpu-home .academy-toolbar label{display:grid;gap:7px;font-weight:bold;color:#a50017}
body.garpu-home .academy-toolbar select{min-width:240px;max-width:100%;border:1px solid #e9aeb8;padding:12px 36px 12px 14px;min-height:46px;background:white;color:#30292c;border-radius:8px;font:inherit}
body.garpu-home .academy-routines{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
body.garpu-home .academy-routine{padding:20px}
body.garpu-home .academy-routine-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
body.garpu-home .academy-routine-top h3{font-size:24px;color:#bd001b;margin:0}
body.garpu-home .academy-routine-top>span{color:#a50017;font-size:11px;background:#fff0f3;padding:6px 8px;border-radius:5px}
body.garpu-home .academy-routine ul{list-style:none;padding:0;margin:18px 0;display:grid;gap:12px;font-size:14px}
body.garpu-home .academy-routine li{display:flex;gap:12px;justify-content:space-between}
body.garpu-home .academy-place,body.garpu-home .academy-schedule-coach{font-size:13px;line-height:1.6;margin:10px 0 0;color:#6a5861}
body.garpu-home .academy-agenda{margin-top:20px}
body.garpu-home .academy-session{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:18px;padding:16px 20px;background:white;border:1px solid #f1d4db;border-radius:10px;margin-bottom:10px}
body.garpu-home .academy-session .eyebrow{font-size:10px;margin:0 0 4px}
body.garpu-home .academy-session h4{margin:0;font-size:15px}
body.garpu-home .academy-session strong,body.garpu-home .academy-session div>span{display:block;font-size:13px;margin:4px 0}
body.garpu-home .academy-state{background:#ffe9ee;color:#bd001d;padding:7px 10px;border-radius:6px;font-size:11px;white-space:nowrap;font-weight:700}
body.garpu-home .is-cancelled .academy-state{background:#eee9eb;color:#57434a}
body.garpu-home .academy-match-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
body.garpu-home .academy-column-title{font-size:18px;color:#b9001c;margin:0 0 16px}
body.garpu-home .academy-match{margin-bottom:14px}
body.garpu-home .academy-match-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#b9001c;font-size:13px;font-weight:bold}
body.garpu-home .academy-match h3{font-size:19px;line-height:1.4;margin:20px 0}
body.garpu-home .academy-match-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:16px 0;border-block:1px solid #f6dce2}
body.garpu-home .academy-match-score strong{font-size:15px;text-align:center;overflow-wrap:anywhere}
body.garpu-home .academy-match-score b{color:#cf001d;font-size:24px}
body.garpu-home .academy-match p{font-size:13px;line-height:1.6}
body.garpu-home .academy-clinics{display:grid;gap:20px}
body.garpu-home .academy-clinic{display:grid;grid-template-columns:minmax(180px,30%) 1fr;gap:28px;border:1px solid #f2c8cf;border-radius:16px;padding:24px;background:white}
body.garpu-home .academy-clinic>img{width:100%;max-height:350px;object-fit:contain;background:#fff4f6;border-radius:8px}
body.garpu-home .academy-clinic h3{color:#bc001b;margin:8px 0 16px;font-size:26px}
body.garpu-home .academy-clinic p{font-size:14px;line-height:1.7}
body.garpu-home .academy-clinic-tags{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;margin:16px 0}
body.garpu-home .academy-clinic-tags span{padding:6px 10px;background:#fff0f3;border-radius:6px}
body.garpu-home .academy-clinic summary{cursor:pointer;color:#bc001b;font-weight:700;padding:10px 0}
body.garpu-home .academy-timeline{list-style:none;padding:0;margin:0;display:grid;gap:20px}
body.garpu-home .academy-timeline li{display:grid;grid-template-columns:110px 1fr;gap:24px;background:white;border:1px solid #f2c8cf;border-radius:14px;padding:24px}
body.garpu-home .academy-timeline li>span{color:#c8001c;font-size:22px;font-weight:800}
body.garpu-home .academy-timeline h3{margin:0;color:#bc001b;font-size:23px}
body.garpu-home .academy-timeline p{line-height:1.7;font-size:15px;white-space:pre-line}
body.garpu-home .academy-jump-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
body.garpu-home .academy-jump-links a{padding:10px 14px;border:1px solid #ebbac5;background:#fff;border-radius:8px;color:#b9001b;font-size:13px;font-weight:700;text-decoration:none;min-height:42px;display:flex;align-items:center}
body.garpu-home .academy-section [hidden]{display:none!important}
@media(min-width:900px){
 body.garpu-home #program-latihan>.academy-empty{min-height:0;padding:16px 22px;gap:18px}
 body.garpu-home #program-latihan .academy-empty-mark{flex-basis:56px;font-size:15px}
 body.garpu-home #program-latihan .academy-empty h3{font-size:20px;margin:0 0 6px}
 body.garpu-home #program-latihan .academy-empty p{font-size:14px;margin:0 0 8px;line-height:1.5}
 body.garpu-home [data-academy-filter="training"]{display:grid;grid-template-columns:1fr 1.12fr;gap:0 24px;align-items:start}
 body.garpu-home [data-academy-filter="training"]>.academy-toolbar,body.garpu-home [data-academy-filter="training"]>.caption,body.garpu-home [data-academy-filter="training"]>.text-link{grid-column:1/-1}
 body.garpu-home [data-academy-filter="training"]>.academy-routines{grid-template-columns:1fr}
 body.garpu-home [data-academy-filter="training"]>.academy-agenda{margin:0}
 body.garpu-home .academy-section .section-heading>div>p:not(.eyebrow){font-size:15px;margin:8px 0 0}
}
@media(max-width:700px){
 body.garpu-home .academy-section .section-heading{padding:20px;border-radius:12px}
 body.garpu-home .academy-empty{display:block;padding:24px}
 body.garpu-home .academy-empty-mark{width:60px;font-size:14px;margin-bottom:18px}
 body.garpu-home .academy-toolbar{align-items:start;flex-direction:column}
 body.garpu-home .academy-toolbar label,body.garpu-home .academy-toolbar select{width:100%;min-width:0}
 body.garpu-home .academy-session{grid-template-columns:1fr auto;gap:12px;padding:16px}
 body.garpu-home .academy-session>div:nth-child(2){grid-column:1;grid-row:2}
 body.garpu-home .academy-session>.academy-state{grid-row:1/3;grid-column:2}
 body.garpu-home .academy-match-columns,body.garpu-home .academy-clinic{grid-template-columns:1fr}
 body.garpu-home .academy-clinic{padding:18px;gap:16px}
 body.garpu-home .academy-clinic>img{max-height:280px}
 body.garpu-home .academy-timeline li{grid-template-columns:1fr;gap:12px;padding:20px}
}

/* Academy team: a featured President and a horizontal row for each team. */
body.garpu-home .team-groups,body.garpu-home .team-group{min-width:0}
body.garpu-home .team-group-heading{gap:12px;flex-wrap:wrap}
body.garpu-home .team-group-heading>.team-count{background:none;color:#8b6670;padding:0;margin-left:2px;font-size:12px;font-weight:500;white-space:nowrap}
body.garpu-home .team-row-controls{display:flex;gap:8px;margin-left:auto}
body.garpu-home .team-row-controls[hidden],body.garpu-home [data-profile-open][hidden]{display:none!important}
body.garpu-home .team-row-controls button{display:grid;place-items:center;width:40px;height:40px;background:#fff;border:1px solid #edb5c0;color:#c80022;border-radius:50%;font-size:20px;cursor:pointer;transition:background .15s,color .15s}
body.garpu-home .team-row-controls button:hover:not(:disabled){background:#dc0623;color:white}
body.garpu-home .team-row-controls button:disabled{opacity:.35;cursor:default}
body.garpu-home .team-profile-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);gap:18px;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#e79daa #fff1f4;padding:0 0 14px;min-width:0}
body.garpu-home .team-profile{display:flex;flex-direction:column;min-width:0;border:1px solid #f0c1cb;border-radius:16px;background:white;overflow:hidden;scroll-snap-align:start}
body.garpu-home .team-profile-photo{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:1.5;background:linear-gradient(135deg,#fff8f9,#ffe6ec);border-bottom:3px solid #e50025;overflow:hidden}
body.garpu-home .team-profile-photo:before{content:"";position:absolute;inset:0;z-index:-1;background:url('/garuda-silhouette.svg') center/100% auto no-repeat;opacity:.08}
body.garpu-home .team-profile-photo img{width:100%;height:100%;max-height:240px;object-fit:contain;object-position:center}
body.garpu-home .team-initials{font-size:clamp(46px,5vw,64px);font-weight:900;color:#c61032;letter-spacing:-3px}
body.garpu-home .team-photo-note{position:absolute;bottom:15px;left:10px;right:10px;text-align:center;font-size:8px;letter-spacing:1.6px;color:#9e3450;font-weight:700}
body.garpu-home .team-profile-copy{display:flex;flex-direction:column;flex:1;padding:22px;min-width:0}
body.garpu-home .team-profile-role{color:#d00023;font-size:10px;line-height:1.5;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 10px;overflow-wrap:anywhere}
body.garpu-home .team-profile h4{font-size:22px;line-height:1.25;color:#a80b26;margin:0 0 12px;overflow-wrap:anywhere}
body.garpu-home .team-biography{font-size:14px;line-height:1.7;color:#74636a;margin:0 0 20px;white-space:pre-line;overflow-wrap:anywhere}
body.garpu-home.team-dialog-ready .team-biography{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
body.garpu-home .team-profile-open{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;width:100%;min-height:42px;padding:10px 0 0;background:none;border:0;border-top:1px solid #f5dce3;color:#bf082b;font-family:inherit;font-size:13px;font-weight:700;line-height:1.4;text-align:left;cursor:pointer}
body.garpu-home .team-profile-open:hover{color:#ef002d}
body.garpu-home .team-profile-open span{font-size:18px}
body.garpu-home .team-president-grid{display:grid;gap:18px}
body.garpu-home .team-profile-featured{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(220px,.65fr) 1.35fr;align-items:center;padding:24px;gap:36px;border-top:4px solid #e50025}
body.garpu-home .team-profile-featured:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/garuda-silhouette.svg') right center/auto 130% no-repeat;opacity:.055}
body.garpu-home .team-profile-featured .team-profile-photo{aspect-ratio:1;max-width:310px;width:100%;justify-self:center;border:1px solid #f2d6df;border-radius:12px}
body.garpu-home .team-profile-featured .team-profile-photo img{max-height:none}
body.garpu-home .team-profile-featured .team-profile-copy{padding:10px 14px 10px 0}
body.garpu-home .team-profile-featured h4{font-size:clamp(27px,3vw,38px);margin-bottom:16px}
body.garpu-home .team-profile-featured .team-profile-role{font-size:12px;margin-bottom:12px}
body.garpu-home .team-profile-featured .team-profile-open{max-width:240px}
body.garpu-home .team-profile-dialog{width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #edbdc9;border-top:5px solid #e00026;border-radius:20px;background:#fff;color:#33282d;box-shadow:0 24px 100px #29071140;overflow:auto}
body.garpu-home .team-profile-dialog::backdrop{background:#23060e99;backdrop-filter:blur(4px)}
body.garpu-home .team-profile-close{position:sticky;top:14px;float:right;z-index:2;margin:14px 14px -58px 0;display:grid;place-items:center;width:44px;height:44px;border:1px solid #f0c5d0;background:#fff6f8;color:#c10025;border-radius:50%;font-size:28px;cursor:pointer}
body.garpu-home .team-dialog-layout{display:grid;grid-template-columns:240px 1fr;gap:28px;padding:38px 32px}
body.garpu-home .team-dialog-layout>.team-profile-photo{align-self:start;border:1px solid #f2d5de;border-radius:10px;aspect-ratio:1;position:sticky;top:38px}
body.garpu-home .team-dialog-copy{min-width:0;padding-top:14px;overflow-wrap:anywhere}
body.garpu-home .team-dialog-copy h2{font-size:30px;line-height:1.2;color:#a90a28;margin:0 32px 20px 0}
body.garpu-home .team-dialog-copy h3{font-size:16px;color:#b0092b;margin:26px 0 10px}
body.garpu-home .team-dialog-copy>p:not(.team-profile-role){font-size:15px;line-height:1.8;white-space:pre-line;color:#6d5862;margin:0}
body.garpu-home .team-dialog-signature{display:block;border-top:1px solid #f1d3dd;margin-top:28px;padding-top:18px;color:#b02546;font-size:9px;letter-spacing:1.2px;font-weight:bold}
body.garpu-home :is(.team-profile-track,.team-profile-open,.team-row-controls button,.team-profile-close):focus-visible{outline:3px solid #d10a2d;outline-offset:3px}
body:has(.team-profile-dialog[open]){overflow:hidden}
@media(min-width:1500px){body.garpu-home .team-profile-track{grid-auto-columns:calc((100% - 54px)/4)}}
@media(max-width:1000px){body.garpu-home .team-profile-track{grid-auto-columns:calc((100% - 18px)/2)}}
@media(max-width:650px){
 body.garpu-home .team-profile-track{grid-auto-columns:86%;gap:14px}
 body.garpu-home .team-profile-photo{aspect-ratio:1.35}
 body.garpu-home .team-profile-copy{padding:20px}
 body.garpu-home .team-profile h4{font-size:21px}
 body.garpu-home .team-profile-featured{grid-template-columns:1fr;padding:20px;gap:20px}
 body.garpu-home .team-profile-featured .team-profile-photo{max-width:280px}
 body.garpu-home .team-profile-featured .team-profile-copy{padding:0}
 body.garpu-home .team-profile-featured h4{font-size:27px}
 body.garpu-home .team-row-controls{gap:6px}
 body.garpu-home .team-row-controls button{width:38px;height:38px}
 body.garpu-home .team-group-heading{gap:8px}
 body.garpu-home .team-group-heading h3{font-size:21px}
 body.garpu-home .team-group-heading>.team-count{font-size:11px}
 body.garpu-home .team-dialog-layout{grid-template-columns:1fr;padding:32px 22px 26px;gap:20px}
 body.garpu-home .team-dialog-layout>.team-profile-photo{position:relative;top:auto;width:180px;justify-self:center}
 body.garpu-home .team-dialog-copy{padding:0}
 body.garpu-home .team-dialog-copy h2{margin-right:0;font-size:27px}
}
