:root{
  --navy:#061c56;--navy2:#0a2f84;--blue:#0d56e6;--royal:#133fae;--gold:#ffbf00;--gold2:#ffd84d;
  --ink:#06163f;--muted:#52617f;--line:#dfe6f2;--soft:#f4f7fc;--white:#fff;--green:#1e9e50;--purple:#6841d8;--orange:#ff9200;--red:#ef334f;--teal:#0d9aaa;
  --shadow:0 6px 22px rgba(9,30,79,.10);--shadow-sm:0 3px 12px rgba(9,30,79,.08);--radius:14px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.page-shell{min-height:100vh;overflow:hidden}.container{width:min(94vw,1460px);margin:0 auto}.icon{width:1.25em;height:1.25em;display:inline-block;vertical-align:-.18em;fill:none}.muted{color:var(--muted)}.nowrap{white-space:nowrap}

/* Header */
.site-header{height:80px;background:#fff;border-bottom:1px solid #eef1f7;position:relative;z-index:50}.header-inner{height:100%;display:grid;grid-template-columns:340px 1fr auto;align-items:center;gap:18px}.brand{display:flex;align-items:center;min-width:0}.brand img{width:318px;max-height:58px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;justify-content:center;gap:36px;height:100%;font-weight:700;color:#0b1637}.nav>a,.nav-dropdown>a{height:100%;display:flex;align-items:center;position:relative;white-space:nowrap}.nav>a.active,.nav-dropdown>a.active{color:#064fe1}.nav>a.active:after,.nav-dropdown>a.active:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:#0657eb;border-radius:2px}.nav-dropdown{height:100%;position:relative}.nav-dropdown>a:after{content:"⌄";font-size:13px;margin-left:6px;transform:translateY(-1px)}.dropdown-menu{position:absolute;top:68px;right:-40px;width:232px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.nav-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:none}.dropdown-menu a{display:block;padding:10px 12px;border-radius:8px;font-weight:650;color:#263451}.dropdown-menu a:hover{background:#eef4ff;color:#064fe1}.header-actions{display:flex;align-items:center;gap:12px}.icon-btn,.login-btn{height:42px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8e0ee;background:#fff;color:var(--navy);position:relative}.icon-btn{width:42px}.icon-btn .dot{position:absolute;right:3px;top:3px;width:17px;height:17px;border-radius:50%;background:var(--gold);font-size:10px;font-weight:800;display:grid;place-items:center}.icon-btn .dot:after{content:"3"}.login-btn{padding:0 22px;gap:10px;background:linear-gradient(135deg,#082461,#031647);border:0;color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(8,32,91,.18)}.mobile-toggle{display:none}.mobile-panel{display:none}

/* Hero */
.hero{position:relative;min-height:342px;background:radial-gradient(circle at 40% 45%,#0c3c9c 0,#082a76 38%,#04194f 100%);color:#fff;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:13px 13px;opacity:.22;mask-image:linear-gradient(90deg,transparent,black 30%,black 80%,transparent)}.hero:after{content:"";position:absolute;left:30%;right:0;bottom:-120px;height:260px;border:1px solid rgba(32,105,255,.35);border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 0 22px rgba(32,105,255,.07),0 0 0 44px rgba(32,105,255,.05)}.hero-art{position:absolute;right:0;top:0;width:64%;height:100%;background:url('../images/hero-original-large.webp') right center/cover no-repeat;z-index:1;pointer-events:none}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061c56 0%,rgba(6,28,86,.75) 10%,transparent 38%)}.hero-inner{position:relative;z-index:3;height:100%;min-height:342px;display:flex;align-items:center}.hero-content{width:50%;padding:28px 0}.kicker{font-size:17px;letter-spacing:.03em;font-weight:800;text-transform:uppercase;margin-bottom:8px}.hero .kicker{color:#fff}.hero .kicker.gold{color:var(--gold)}.hero .title{font-size:53px;line-height:1.06;margin:0 0 10px;font-weight:850;letter-spacing:-.035em}.hero .title strong{color:var(--gold);font-weight:900}.subtitle{font-size:21px;line-height:1.45;margin:0;color:#fff;max-width:620px}.hero-date{margin-top:14px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.28);padding:8px 18px;border-radius:24px;font-size:16px}.hero-actions{display:flex;gap:14px;margin-top:18px}.btn{height:44px;padding:0 22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.14)}.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#07163c}.btn-blue{background:linear-gradient(135deg,#1466f1,#0647cf);color:#fff}.btn-outline-light{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.03)}.hero-stats{display:flex;margin-top:18px;border:1px solid rgba(255,255,255,.28);border-radius:9px;width:max-content;max-width:100%;overflow:hidden}.hero-stat{display:flex;align-items:center;gap:10px;padding:12px 18px;min-width:160px}.hero-stat+.hero-stat{border-left:1px solid rgba(255,255,255,.18)}.hero-stat .icon{font-size:27px}.hero-stat strong{display:block;font-size:16px}.hero-stat small{display:block;color:rgba(255,255,255,.78);font-size:12px}.hero-compact{min-height:280px}.hero-compact .hero-inner{min-height:280px}.hero-compact .hero-content{padding:24px 0}.hero-compact .title{font-size:45px}.hero-compact .subtitle{font-size:18px}.hero-compact .hero-art{width:60%}.hero-about{min-height:210px}.hero-about .hero-inner{min-height:210px}.hero-about .hero-content{width:45%;padding:18px 0}.hero-about .title{font-size:41px}.hero-about .subtitle{font-size:18px}.hero-about .hero-art{width:59%;background-image:url('../images/hero-original-large.webp');background-position:right center}.hero-about .quote{position:absolute;left:46%;top:72px;color:#fff;font-weight:800;font-style:italic;font-size:25px;line-height:1.25;z-index:4}.hero-about .quote:after{content:"";display:block;width:150px;height:3px;background:var(--gold);margin-top:10px}.hero-other{min-height:202px}.hero-other .hero-inner{min-height:202px}.hero-other .hero-content{width:58%;padding:15px 0}.hero-other .title{font-size:38px}.hero-other .subtitle{font-size:18px}.hero-other .hero-art{width:57%;background-image:url('../images/hero-art-other.webp')}.hero-other .hero-art:before{background:linear-gradient(90deg,#061c56 0%,rgba(6,28,86,.78) 20%,transparent 48%)}

/* Shared layout */
.section{padding:20px 0}.card,.panel,.soft-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad,.soft-card{padding:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title{display:flex;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:850;color:#092160;text-transform:uppercase}.card-title .icon{font-size:22px}.text-link{color:#064fe1;font-weight:800;display:inline-flex;align-items:center;gap:5px}.text-link:hover{text-decoration:underline}.panel-heading{padding:15px 18px;border-bottom:1px solid var(--line)}.panel-heading h3{margin:0;font-size:17px;display:flex;align-items:center;gap:9px}.panel-body{padding:18px}.section-title{font-size:24px;margin:0 0 14px}.small-label{font-size:12px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#243662}.info-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:8px;background:#eef4ff;color:#0b52d8;font-size:12px;font-weight:750}.status{display:inline-flex;padding:5px 11px;border-radius:7px;font-size:12px;font-weight:800}.status.blue{background:#e8f0ff;color:#0d50d8}.status.green{background:#e5f6e9;color:#16803a}.status.gold{background:#fff2d1;color:#b96c00}.status.gray{background:#edf0f5;color:#4f6078}.status.red{background:#ffe4e7;color:#d92740}.status.purple{background:#eee8ff;color:#5b39c4}.icon-circle{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.icon-circle .icon{font-size:23px}.bg-blue{background:#e8f0ff;color:#1056db}.bg-green{background:#e5f7eb;color:#159046}.bg-purple{background:#efe9ff;color:#613dca}.bg-orange{background:#fff0df;color:#f08300}.bg-red{background:#ffe8ea;color:#e9374d}.bg-teal{background:#e2f6f8;color:#118f9d}.bg-gold{background:#fff4c8;color:#d78c00}.content-grid{display:grid;gap:14px}.reveal{opacity:0;transform:translateY(12px);transition:.6s ease}.reveal.visible{opacity:1;transform:none}

/* Home */
.home-section{padding:20px 0 15px;background:linear-gradient(#fff,#fafcff)}.home-top{display:grid;grid-template-columns:390px 252px 1fr;gap:14px}.announcement-list{display:grid;gap:12px}.announcement{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.announcement .a-icon{width:28px;height:28px;border-radius:50%;background:#eaf0ff;color:#174ed5;display:grid;place-items:center}.announcement:nth-child(2) .a-icon{background:#e9f7eb;color:#2d9a4d}.announcement:nth-child(3) .a-icon{background:#fff0df;color:#ff7a00}.announcement h4{font-size:13px;margin:0 0 1px}.announcement p{font-size:12px;color:var(--muted);margin:0}.deadline-card{background:linear-gradient(145deg,#071f61,#102a86);color:#fff;border-color:transparent;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:20px}.deadline-title{font-size:14px;font-weight:850;text-transform:uppercase;display:flex;gap:8px;align-items:center}.deadline-main{display:flex;align-items:center;gap:12px;margin:12px 0 4px}.deadline-main strong{font-size:66px;line-height:.9;color:var(--gold)}.deadline-main span{font-size:25px;font-weight:850;line-height:1.05}.deadline-card p{margin:2px 0;font-size:13px}.deadline-card .btn{width:100%;height:39px;margin-top:12px}.quick-card{padding:17px 16px}.quick-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:18px}.quick-link{height:108px;border-radius:12px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:850;font-size:13px;line-height:1.15;box-shadow:0 6px 13px rgba(15,38,91,.13);transition:.22s}.quick-link .icon{font-size:38px;margin-bottom:8px}.quick-link:hover{transform:translateY(-5px) scale(1.02)}.q1{background:linear-gradient(145deg,#0e2c7e,#0b1f5b)}.q2{background:linear-gradient(145deg,#44ab55,#1e7e2d)}.q3{background:linear-gradient(145deg,#ffbf08,#eaa200)}.q4{background:linear-gradient(145deg,#ff4052,#d9233b)}.q5{background:linear-gradient(145deg,#6c4fc4,#403094)}.q6{background:linear-gradient(145deg,#ff8e20,#e36800)}.q7{background:linear-gradient(145deg,#169aac,#087c8e)}.q8{background:linear-gradient(145deg,#1766eb,#0b42b9)}.home-bottom{display:grid;grid-template-columns:1.05fr 1.08fr 1.05fr 1.08fr;gap:14px;margin-top:14px}.agenda-list{display:grid;gap:13px}.agenda-item{display:grid;grid-template-columns:96px 9px 1fr;gap:8px;align-items:center;font-size:13px}.agenda-dot{width:6px;height:6px;border-radius:50%;background:#1b60e4}.agenda-item:nth-child(2) .agenda-dot{background:#2ca54c}.agenda-item:nth-child(3) .agenda-dot{background:#99a1ae}.agenda-item:nth-child(4) .agenda-dot{background:#ff7e18}.project-box{display:grid;grid-template-columns:1fr 130px;gap:8px;align-items:end}.project-box h3{font-size:19px;margin:7px 0 5px;line-height:1.1}.project-box p{font-size:12px;color:var(--muted);margin:0}.project-visual{height:120px;background:url('../images/project-illustration.webp') center bottom/contain no-repeat}.progress-number{font-size:48px;font-weight:900;color:#092667;line-height:1}.progress-track{height:13px;border-radius:10px;background:#dbe1eb;overflow:hidden;margin:16px 0 7px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#0c5be9,#0d3cab);border-radius:inherit}.progress-labels{display:flex;justify-content:space-between;color:#61708d;font-size:12px}.resource-list{display:grid}.resource-link{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e5e9f1;font-size:13px}.resource-link:last-child{border-bottom:0}.resource-link span{display:flex;align-items:center;gap:8px}.site-footer{padding:10px 0 15px}.footer-inner{height:50px;border-radius:28px;background:linear-gradient(90deg,#071c55,#0a368c,#071c55);color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 38px;font-size:12px}.footer-social{display:flex;align-items:center;gap:24px}.footer-social a{width:20px;height:20px;display:grid;place-items:center;font-weight:850}.footer-domain{display:flex;align-items:center;gap:9px;margin-left:12px}.footer-right{text-align:right;font-size:13px}.footer-right span{margin-left:13px}

/* About */
.about-main{padding:20px 0 10px}.about-top{display:grid;grid-template-columns:300px 1fr 340px;gap:20px}.profile-card .person{display:flex;align-items:center;gap:14px;margin:20px 0}.person img{width:84px;height:84px;border-radius:50%;object-fit:cover;background:#f2e4b6}.person h4{margin:0;font-size:15px}.person p{margin:3px 0 0;color:#425073;line-height:1.25}.quote-copy{font-style:italic;color:#334263;line-height:1.55}.goal-card{padding:14px}.goal-card>p{margin:0 0 14px;font-size:15px}.goal-list{display:grid;gap:8px;background:linear-gradient(145deg,#f0f5ff,#f8fbff);border-radius:11px;padding:12px}.goal-item{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:4px}.goal-item p{margin:0;font-size:15px}.program-info{background:linear-gradient(150deg,#fff9dc,#fff4ca);border-color:#f5cf5e;padding:14px}.program-info .card-title{font-size:17px}.info-list{display:grid;gap:1px;margin:10px 0}.info-row{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;padding:9px;background:rgba(255,255,255,.75);border-radius:10px}.info-row strong{display:block;font-size:13px}.info-row span{font-size:13px;color:#334263}.about-bottom{display:grid;grid-template-columns:1fr 1.12fr .68fr;gap:20px;margin-top:14px}.org-chart{padding:18px 20px;display:grid;justify-items:center;gap:8px;position:relative}.org-node{min-width:178px;padding:10px 18px;border-radius:7px;background:linear-gradient(135deg,#0d2d7d,#06205e);color:#fff;font-weight:800;text-align:center;font-size:12px;position:relative}.org-node.blue{background:linear-gradient(135deg,#1870f2,#0951cf)}.org-split{display:flex;gap:36px;margin-top:10px}.org-node.green{background:#eaf8ef;color:#147b3d;border:1px solid #55bb7b}.org-node.purple{background:#f2edff;color:#5939bf;border:1px solid #8d70e4}.org-node.gold{background:#fff4dc;color:#bd7400;border:1px solid #f0bd50;min-width:220px}.scope-list{background:linear-gradient(145deg,#f2f6ff,#f9fbff);border-radius:10px;padding:10px 14px;display:grid;gap:9px}.scope-item{display:flex;align-items:center;gap:10px;font-size:14px}.scope-item .tick{width:20px;height:20px;border-radius:50%;background:#27a34e;color:#fff;display:grid;place-items:center;font-size:12px}.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.value-box{border-radius:11px;min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:12px;padding:8px}.value-box .icon{font-size:27px;margin-bottom:7px}.value-box:nth-child(1){background:#eee8ff;color:#5c3abb}.value-box:nth-child(2){background:#fff0df;color:#e37b00}.value-box:nth-child(3){background:#e3f6f1;color:#129061}.value-box:nth-child(4){background:#e4f6e9;color:#138842}.about-cta{margin-top:13px;background:linear-gradient(90deg,#0e3aa7,#0a2c82);color:#fff;border-radius:18px;min-height:72px;display:grid;grid-template-columns:100px 1fr auto;align-items:center;padding:8px 38px;gap:18px}.about-cta .rocket{font-size:46px}.about-cta h3{margin:0;font-size:21px}.about-cta p{margin:2px 0 0;font-size:15px;letter-spacing:.04em}.about-cta .btn{min-width:215px}

/* Timeline */
.timeline-main{padding:20px 0 10px}.timeline-layout{display:grid;grid-template-columns:285px 1fr;gap:38px}.sidebar-card{padding:17px}.sidebar-card h3{display:flex;gap:10px;align-items:center;margin:0 0 15px;font-size:17px}.sidebar-card>p{color:#263754;line-height:1.55;margin:0 0 18px}.feature-list{display:grid;gap:16px}.feature{display:grid;grid-template-columns:42px 1fr;gap:10px}.feature strong{display:block;color:#0e48c4;font-size:13px}.feature p{font-size:12px;margin:3px 0;color:#334263}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.tab-group{display:flex;gap:14px}.tab{height:38px;padding:0 18px;border-radius:7px;border:1px solid transparent;background:#fff;font-weight:800;color:#071b4b}.tab.active{background:#0d56e5;color:#fff}.filter-btn{height:38px;padding:0 18px;border:1px solid #cfd8e8;border-radius:7px;background:#fff;display:flex;gap:8px;align-items:center}.timeline-list{position:relative}.timeline-list:before{content:"";position:absolute;left:17px;top:12px;bottom:16px;width:2px;background:linear-gradient(#245af0,#a8b4c8,#e64a57)}.timeline-row{display:grid;grid-template-columns:50px 95px 1.45fr .85fr 200px 130px;align-items:stretch;gap:0;min-height:98px;margin-bottom:0}.timeline-num{width:38px;height:38px;border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:900;z-index:2;margin-top:14px;background:#1252df}.timeline-row:nth-child(2) .timeline-num{background:#1593a0}.timeline-row:nth-child(3) .timeline-num{background:#ff9b00}.timeline-row:nth-child(4) .timeline-num{background:#5d3bc4}.timeline-row:nth-child(5) .timeline-num{background:#ec3048}.month-card{margin:5px 7px 5px 0;border-radius:8px;background:#eaf0ff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:850;color:#1544ab}.timeline-row:nth-child(2) .month-card{background:#e7f7f8;color:#0a7d8a}.timeline-row:nth-child(3) .month-card{background:#fff1db;color:#ca7500}.timeline-row:nth-child(4) .month-card{background:#f0ebff;color:#5c3abe}.timeline-row:nth-child(5) .month-card{background:#ffe8eb;color:#c8253d}.month-card small{font-size:11px}.month-card strong{font-size:16px}.timeline-cell{background:#fff;border-top:1px solid #e3e8f1;border-bottom:1px solid #e3e8f1;padding:14px 12px;display:flex;flex-direction:column;justify-content:center}.timeline-cell.first{border-left:1px solid #e3e8f1;border-radius:8px 0 0 8px}.timeline-cell.last{border-right:1px solid #e3e8f1;border-radius:0 8px 8px 0;align-items:center}.timeline-cell h3{font-size:15px;margin:0 0 6px}.timeline-cell p,.timeline-cell li{font-size:11px;margin:0;color:#253451}.timeline-cell ul{margin:0;padding-left:16px;display:grid;gap:4px}.output-box{background:#eef3ff;border-left:3px solid #0d5ae7;border-radius:5px;padding:9px;font-size:11px}.timeline-row:nth-child(2) .output-box{background:#e8f7f8;border-color:#0c92a0}.timeline-row:nth-child(3) .output-box{background:#fff2df;border-color:#ff9700}.timeline-row:nth-child(4) .output-box{background:#f1ecff;border-color:#6842d0}.timeline-row:nth-child(5) .output-box{background:#ffe9ed;border-color:#ef334f}.output-box strong{display:block;margin-bottom:4px}.timeline-download{margin-top:18px;width:100%}

/* Brief */
.brief-main{padding:20px 0 10px}.brief-layout{display:grid;grid-template-columns:270px 1fr;gap:30px}.filter-sidebar{padding:18px}.filter-section+.filter-section{border-top:1px solid #e2e6ee;margin-top:18px;padding-top:18px}.filter-title{font-size:13px;font-weight:900;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin-bottom:11px}.filter-item{height:38px;border-radius:7px;display:flex;align-items:center;gap:10px;padding:0 10px;margin-bottom:4px;font-size:13px}.filter-item.active{background:#eaf1ff;color:#0b4fd7;font-weight:800}.filter-item .count{margin-left:auto;min-width:24px;height:22px;border-radius:8px;background:#fff;border:1px solid #cbd6ec;display:grid;place-items:center;font-size:11px}.brief-controls{display:grid;grid-template-columns:1fr 150px 150px 170px;gap:12px;margin-bottom:14px}.control{height:40px;border:1px solid #d8dfec;border-radius:7px;background:#fff;padding:0 14px;color:#31415f}.search-control{position:relative}.search-control input{width:100%;height:100%;border:0;outline:0;background:transparent;padding-right:30px}.search-control .icon{position:absolute;right:13px;top:50%;transform:translateY(-50%)}.brief-table{border:1px solid #dfe5ef;border-radius:9px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}.brief-head,.brief-row{display:grid;grid-template-columns:70px minmax(300px,1.7fr) 150px 145px 190px 130px 155px;align-items:center}.brief-head{height:38px;background:linear-gradient(90deg,#061d58,#0b347e);color:#fff;font-size:11px;font-weight:850;text-transform:uppercase;padding:0 12px}.brief-row{min-height:95px;padding:8px 12px;border-bottom:1px solid #e3e8f0}.brief-row:last-child{border-bottom:0}.brief-index{width:44px;height:44px;border-radius:8px;background:#e9f0ff;color:#114fd1;display:grid;place-items:center;font-size:19px;font-weight:900}.brief-row:nth-child(3) .brief-index{background:#fff1d7;color:#d88000}.brief-row:nth-child(4) .brief-index{background:#e8f7ed;color:#168640}.brief-row:nth-child(5) .brief-index{background:#efeaff;color:#5d3ac3}.brief-row:nth-child(6) .brief-index{background:#fff1d7;color:#d88000}.brief-name{padding-right:15px}.brief-name .category{font-size:9px;color:#168341;font-weight:850;text-transform:uppercase}.brief-name h4{margin:2px 0 3px;font-size:13px}.brief-name p{margin:0;color:#3c4b67;font-size:10px;line-height:1.35}.division-pill{display:inline-flex;align-items:center;gap:7px;background:#e9f7ed;color:#157f3c;border-radius:7px;padding:8px;font-size:11px}.division-pill.purple{background:#f0ebff;color:#5d3cc0}.person-mini{display:flex;align-items:center;gap:8px}.person-mini img{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#eee}.person-mini strong{display:block;font-size:11px}.person-mini span{font-size:10px}.deadline{font-size:11px}.deadline strong{display:block;margin-bottom:3px}.deadline em{display:block;color:#ef334f;font-style:normal;font-weight:800}.row-actions{display:flex}.action-btn{height:34px;padding:0 12px;border:1px solid #b8c8e8;color:#0750d9;background:#fff;font-weight:800;display:flex;align-items:center;gap:6px}.action-btn:first-child{border-radius:7px 0 0 7px}.action-btn:last-child{width:35px;padding:0;justify-content:center;border-left:0;border-radius:0 7px 7px 0}.brief-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;color:#45536c;font-size:11px}.pagination{display:flex;gap:7px}.page-btn{width:30px;height:30px;border:1px solid #d2daea;border-radius:6px;display:grid;place-items:center;background:#fff}.page-btn.active{background:#092568;color:#fff}.tip-box{margin-top:22px;border:1px solid #d2dcf0;background:#f6f9ff;padding:14px;border-radius:9px;color:#334263}.tip-box strong{display:flex;gap:8px;align-items:center;color:#0a3da9}.tip-box p{font-size:12px;margin:7px 0 0}

/* Divisions */
.division-main{padding:12px 0 10px}.section-center-title{text-align:center;font-size:20px;margin:0 0 14px}.section-center-title:after{content:"";display:block;width:45px;height:3px;background:var(--gold);margin:6px auto 0}.division-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.division-card{padding:18px;border:1px solid #d9e2ef;border-radius:13px;box-shadow:var(--shadow-sm);background:#fff}.division-head{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:12px}.division-symbol{width:82px;height:82px;border-radius:50%;border:2px solid #159348;color:#159348;display:grid;place-items:center}.division-symbol .icon{font-size:42px}.division-card.purple .division-symbol{border-color:#6941d3;color:#6941d3}.division-head .eyebrow{font-weight:850;color:#14904a;font-size:15px}.division-card.purple .eyebrow{color:#6240c7}.division-head h2{margin:0;font-size:24px;color:#15904a}.division-card.purple h2{color:#5c3bbd}.division-card>p{margin:10px 0 14px;line-height:1.55}.work-title{display:flex;align-items:center;gap:10px;font-weight:850;font-size:13px;margin:6px 0 10px}.work-title:after{content:"";height:1px;background:#dce3ef;flex:1}.work-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.work-box{background:#f7f8fb;border:1px solid #ecedf2;border-radius:8px;min-height:95px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:750;padding:8px}.work-box .icon{font-size:31px;color:#15904a;margin-bottom:7px}.division-card.purple .work-box .icon{color:#6540cb}.division-actions{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}.division-actions .btn{height:40px}.btn-outline-green{border-color:#18934b;color:#138640;background:#fff}.btn-green{background:linear-gradient(135deg,#16a350,#087b35);color:#fff}.btn-outline-purple{border-color:#6941d3;color:#5e3bc3;background:#fff}.btn-purple{background:linear-gradient(135deg,#6f49dc,#4d29ad);color:#fff}.benefit-strip{margin-top:18px;background:linear-gradient(90deg,#f2f6ff,#fff);border-radius:12px;padding:14px 18px;display:grid;grid-template-columns:repeat(4,1fr) 255px;align-items:center;box-shadow:var(--shadow-sm)}.benefit{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:0 14px;border-right:1px solid #d7deea}.benefit:nth-child(4){border-right:0}.benefit .icon{font-size:32px;color:#0d51d8}.benefit strong{display:block;font-size:14px}.benefit p{margin:3px 0 0;font-size:11px}.student-total{background:linear-gradient(145deg,#0a2d80,#061d58);color:#fff;border-radius:10px;padding:13px 18px;display:grid;grid-template-columns:50px 1fr;align-items:center}.student-total .icon{font-size:40px;color:var(--gold)}.student-total strong{font-size:23px;color:var(--gold);display:block}

/* Calendar */
.calendar-main{padding:18px 0 10px}.calendar-layout{display:grid;grid-template-columns:260px 1fr 235px;gap:18px}.category-list{display:grid;gap:7px}.category-item{display:grid;grid-template-columns:30px 1fr 18px;align-items:center;gap:7px;font-size:11px}.category-icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center}.check-box{width:16px;height:16px;border-radius:3px;background:#0d56e5;color:#fff;display:grid;place-items:center;font-size:10px}.quick-actions{border-top:1px solid #e0e5ee;margin-top:15px;padding-top:14px;display:grid;gap:8px}.quick-actions .action-line{height:34px;border:1px solid #cfd9ec;border-radius:5px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:#074ecf;font-size:11px;font-weight:750}.calendar-card{padding:14px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-left,.cal-right{display:flex;align-items:center;gap:9px}.cal-btn{height:34px;border:1px solid #d4dce9;background:#fff;border-radius:6px;padding:0 13px}.cal-month{font-size:18px;font-weight:900;margin-left:20px}.view-switch{display:flex}.view-switch .cal-btn{border-radius:0}.view-switch .cal-btn:first-child{border-radius:6px 0 0 6px}.view-switch .cal-btn:last-child{border-radius:0 6px 6px 0}.view-switch .active{background:#0b57e6;color:#fff;border-color:#0b57e6}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #dfe5ef;border-top:1px solid #dfe5ef}.cal-head,.cal-day{border-right:1px solid #dfe5ef;border-bottom:1px solid #dfe5ef}.cal-head{height:34px;display:grid;place-items:center;font-size:11px;font-weight:850}.cal-day{height:78px;padding:8px;font-size:11px;position:relative}.cal-day.muted{color:#aab2c1}.day-num{font-weight:800}.today .day-num{width:24px;height:24px;border-radius:50%;background:#0e58e3;color:#fff;display:grid;place-items:center;margin:-2px}.cal-event{margin-top:5px;border-radius:5px;padding:4px 5px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-blue{background:#e8f0ff;color:#0d4fd4}.event-green{background:#e7f6e9;color:#168242}.event-orange{background:#fff0df;color:#e67200}.event-purple{background:#efeaff;color:#5b3bb8}.event-red{background:#ffe7ea;color:#dd2742}.event-teal{background:#e2f5f7;color:#0e8591}.calendar-legend{display:flex;flex-wrap:wrap;gap:13px;margin-top:14px;font-size:9px}.calendar-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:8px;height:8px;border-radius:50%}.agenda-near{display:grid;gap:0}.agenda-near-item{padding:14px 0;border-bottom:1px solid #e0e5ee;display:grid;grid-template-columns:38px 1fr;gap:9px}.agenda-near-item:last-child{border-bottom:0}.agenda-near-item small{font-size:9px;text-transform:uppercase;color:#4a5870}.agenda-near-item strong{display:block;font-size:11px;margin:2px 0 4px}.agenda-near-item p{margin:1px 0;font-size:9px;color:#345075}.agenda-near .btn{height:34px;margin-top:10px;width:100%;font-size:11px}

/* Lainnya and generic pages */
.other-main{padding:18px 0 10px}.other-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.other-card{padding:15px;min-height:315px}.document-list,.faq-list{display:grid}.document-row{display:grid;grid-template-columns:36px 1fr 18px 18px;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #e0e5ed}.document-row:last-child{border-bottom:0}.doc-icon{width:32px;height:32px;border-radius:6px;display:grid;place-items:center}.document-row strong{display:block;font-size:11px}.document-row span{font-size:10px;color:#4b5a75}.faq-item{min-height:37px;background:#f6f8fc;border:1px solid #e8ebf3;border-radius:6px;padding:0 10px;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700}.contact-person{display:grid;grid-template-columns:68px 1fr;gap:12px;padding:8px 0 15px;border-bottom:1px solid #e2e6ee}.contact-person+.contact-person{padding-top:15px}.contact-person img{width:64px;height:64px;border-radius:50%;object-fit:cover}.contact-person h4{margin:0;font-size:12px}.contact-person p{margin:2px 0;font-size:10px}.contact-tag{display:inline-block;padding:3px 7px;border-radius:5px;background:#fff0cf;color:#c27600;font-size:8px;font-weight:800}.contact-lines{margin-top:7px;display:grid;gap:3px}.contact-lines span{font-size:9px;color:#294271}.external-grid,.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.external-box,.social-box{height:95px;border:1px solid #e0e5ee;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:9px;font-weight:800}.external-box .logo-text{font-size:17px;color:#0a2d75;margin-bottom:6px}.social-box .social-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:18px;margin-bottom:6px}.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.gallery-strip img{width:100%;height:72px;object-fit:cover;border-radius:6px}.gallery-copy{font-size:10px;margin-top:10px;color:#33415b}.other-card .bottom-btn{height:34px;width:100%;margin-top:12px;border:1px solid #9db5eb;color:#0a52d8;background:#fff;border-radius:5px;font-weight:800}.notify-strip{margin-top:14px;min-height:78px;border-radius:11px;background:linear-gradient(90deg,#eff4ff,#dfeaff);display:grid;grid-template-columns:135px 1fr 250px;align-items:center;padding:10px 28px}.notify-art{font-size:45px;text-align:center}.notify-strip h3{margin:0;font-size:14px}.notify-strip p{margin:3px 0 0;font-size:11px}.generic-main{padding:22px 0 10px}.generic-grid{display:grid;grid-template-columns:280px 1fr;gap:20px}.generic-sidebar{padding:18px}.generic-content{padding:18px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.metric{border:1px solid #e0e6ef;border-radius:10px;padding:14px;display:flex;gap:12px;align-items:center;background:#fff}.metric strong{display:block;font-size:22px}.metric span{font-size:11px;color:#52617e}.data-list{display:grid;gap:10px}.data-item{border:1px solid #e1e6ef;border-radius:9px;padding:14px;display:grid;grid-template-columns:45px 1fr auto;gap:12px;align-items:center}.data-item h4{margin:0 0 3px;font-size:14px}.data-item p{margin:0;color:#52617e;font-size:11px}.upload-zone{border:2px dashed #b7c6e1;border-radius:12px;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f7faff}.upload-zone .icon{font-size:55px;color:#0c56e2}.upload-zone h3{margin:10px 0 3px}.upload-zone p{margin:0;color:#52617e}.board{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.board-col{background:#f6f8fc;border:1px solid #e2e6ef;border-radius:10px;padding:10px;min-height:300px}.board-head{display:flex;justify-content:space-between;font-weight:850;margin-bottom:10px}.task-card{background:#fff;border:1px solid #dfe5ef;border-radius:8px;padding:10px;margin-bottom:9px;box-shadow:0 2px 7px rgba(14,38,86,.06)}.task-card h4{font-size:12px;margin:0 0 5px}.task-card p{font-size:10px;margin:0;color:#53617b}.accordion{display:grid;gap:9px}.accordion-item{border:1px solid #dfe5ee;border-radius:8px;overflow:hidden}.accordion-head{padding:13px 14px;background:#f8faff;font-weight:800;display:flex;justify-content:space-between;cursor:pointer}.accordion-body{padding:0 14px;max-height:0;overflow:hidden;transition:.25s;color:#465673;font-size:12px}.accordion-item.open .accordion-body{max-height:180px;padding:12px 14px;border-top:1px solid #e5e9f1}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-card{border:1px solid #dfe5ee;border-radius:10px;padding:18px;display:flex;gap:14px;align-items:center}.contact-card img{width:78px;height:78px;border-radius:50%;object-fit:cover}.contact-card h3{margin:0}.contact-card p{margin:4px 0;color:#52617e}

/* Responsive */
@media (max-width:1250px){.header-inner{grid-template-columns:280px 1fr auto}.brand img{width:265px}.nav{gap:20px;font-size:13px}.home-top{grid-template-columns:1fr 235px}.quick-card{grid-column:1/-1}.quick-grid{gap:12px}.home-bottom{grid-template-columns:1fr 1fr}.about-top{grid-template-columns:280px 1fr}.program-info{grid-column:1/-1}.about-bottom{grid-template-columns:1fr 1fr}.value-card{grid-column:1/-1}.timeline-row{grid-template-columns:50px 90px 1.2fr .75fr 180px 110px}.brief-head,.brief-row{grid-template-columns:60px minmax(250px,1.6fr) 130px 120px 170px 115px 140px}.work-grid{grid-template-columns:repeat(3,1fr)}.benefit-strip{grid-template-columns:repeat(2,1fr) 255px;gap:14px}.benefit{border-right:0}.student-total{grid-column:3;grid-row:1/3}.calendar-layout{grid-template-columns:235px 1fr}.agenda-side{grid-column:1/-1}.agenda-near{grid-template-columns:repeat(4,1fr);gap:12px}.agenda-near-item{border:1px solid #e0e5ee;border-radius:8px;padding:12px}.other-grid{grid-template-columns:1fr 1fr}.other-card:last-child{grid-column:1/-1}}
@media (max-width:980px){.site-header{height:70px}.header-inner{grid-template-columns:1fr auto}.brand img{width:255px}.nav{display:none}.mobile-toggle{display:inline-flex}.icon-btn.notify{display:none}.mobile-panel{position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid #e0e5ef;box-shadow:var(--shadow);z-index:45;padding:10px 4vw;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.2s}.mobile-panel.open{display:block;opacity:1;visibility:visible;transform:none}.mobile-nav{display:grid;grid-template-columns:1fr 1fr;gap:5px}.mobile-nav a{padding:10px;border-radius:7px;font-weight:750}.mobile-nav a.active{background:#eaf1ff;color:#0c51da}.hero,.hero-inner{min-height:390px}.hero-art{width:100%;opacity:.75;background-position:center bottom}.hero-art:before{background:linear-gradient(90deg,rgba(6,28,86,.95),rgba(6,28,86,.82) 45%,rgba(6,28,86,.15))}.hero-content{width:70%}.hero .title{font-size:44px}.hero-about,.hero-about .hero-inner,.hero-other,.hero-other .hero-inner{min-height:300px}.hero-about .hero-content,.hero-other .hero-content{width:70%}.hero-about .quote{display:none}.home-top,.home-bottom,.about-top,.about-bottom,.timeline-layout,.brief-layout,.division-grid,.calendar-layout,.generic-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(4,1fr)}.timeline-row{grid-template-columns:45px 80px 1fr}.timeline-cell:nth-child(n+4){display:none}.timeline-cell.first{border-radius:8px}.brief-controls{grid-template-columns:1fr 1fr}.brief-table{overflow-x:auto}.brief-head,.brief-row{min-width:1050px}.benefit-strip{grid-template-columns:1fr 1fr}.student-total{grid-column:1/-1;grid-row:auto}.calendar-layout{gap:14px}.agenda-near{grid-template-columns:1fr 1fr}.other-grid{grid-template-columns:1fr}.other-card:last-child{grid-column:auto}.footer-inner{grid-template-columns:1fr auto;padding:0 24px}.footer-right{display:none}.metric-grid{grid-template-columns:1fr 1fr}.board{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}}
@media (max-width:640px){body{font-size:13px}.container{width:min(92vw,600px)}.site-header{height:64px}.header-inner{gap:8px}.brand img{width:210px}.login-btn{height:38px;padding:0 13px}.login-btn span{display:none}.icon-btn{height:38px;width:38px}.mobile-panel{top:64px}.mobile-nav{grid-template-columns:1fr}.hero,.hero-inner{min-height:480px}.hero-art{height:54%;top:auto;bottom:0;background-position:center bottom}.hero-art:before{background:linear-gradient(180deg,#061c56 0%,rgba(6,28,86,.05) 45%)}.hero-content{width:100%;align-self:flex-start;padding-top:35px}.hero .kicker{font-size:13px}.hero .title{font-size:36px}.subtitle{font-size:16px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .btn:last-child{grid-column:1/-1}.hero-date{font-size:13px}.hero-stats{width:100%;display:grid;grid-template-columns:1fr 1fr}.hero-stat{min-width:0;padding:10px}.hero-stat:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,255,255,.18)}.hero-about,.hero-about .hero-inner,.hero-other,.hero-other .hero-inner{min-height:405px}.hero-about .hero-art,.hero-other .hero-art{height:55%;width:100%;opacity:.8}.hero-about .hero-content,.hero-other .hero-content{width:100%;align-self:flex-start}.hero-about .title,.hero-other .title{font-size:31px}.home-section,.about-main,.timeline-main,.brief-main,.division-main,.calendar-main,.other-main,.generic-main{padding-top:12px}.home-top,.home-bottom{gap:10px}.card-pad{padding:14px}.quick-grid{grid-template-columns:repeat(2,1fr);gap:10px}.quick-link{height:95px}.project-box{grid-template-columns:1fr 95px}.about-cta{grid-template-columns:1fr;text-align:center;padding:18px}.about-cta .rocket{display:none}.about-cta .btn{min-width:0;width:100%}.org-split{gap:8px;flex-direction:column}.org-node{min-width:220px}.timeline-layout{gap:12px}.timeline-toolbar{align-items:flex-start;gap:10px}.tab-group{flex-wrap:wrap}.timeline-row{grid-template-columns:38px 68px 1fr;min-height:112px}.timeline-num{width:32px;height:32px;font-size:11px}.month-card{margin-right:4px}.month-card strong{font-size:13px}.timeline-cell{padding:10px}.brief-controls{grid-template-columns:1fr}.filter-sidebar{order:2}.division-head{grid-template-columns:70px 1fr}.division-symbol{width:64px;height:64px}.division-head .status{grid-column:1/-1;width:max-content}.division-head h2{font-size:19px}.work-grid{grid-template-columns:1fr 1fr}.division-actions{grid-template-columns:1fr}.benefit-strip{grid-template-columns:1fr;padding:12px}.benefit{border-bottom:1px solid #dfe5ee;padding:10px 0}.student-total{grid-column:auto}.calendar-toolbar{flex-direction:column;align-items:flex-start}.cal-right{width:100%;justify-content:space-between}.cal-day{height:62px;padding:5px}.cal-event{font-size:0;height:7px;padding:0}.calendar-legend{display:grid;grid-template-columns:1fr 1fr}.agenda-near{grid-template-columns:1fr}.external-grid,.social-grid{grid-template-columns:1fr 1fr}.notify-strip{grid-template-columns:1fr;text-align:center;padding:18px}.notify-art{display:none}.metric-grid,.board{grid-template-columns:1fr}.footer-inner{height:auto;min-height:54px;grid-template-columns:1fr;padding:13px 18px;text-align:center}.footer-social{display:none}.footer-domain{justify-content:center;margin:4px 0 0}.footer-copy{display:block}.card-title{font-size:14px}.other-card{min-height:0}}


/* ========================================================================== 
   PUISBM INTERNSHIP HUB — PREMIUM WORKSPACE V3
   Audit fixes: generous spacing, stronger hierarchy, local inline icons,
   less crowded dashboards, cleaner mobile layout, consistent card system.
   ========================================================================== */
:root{
  --navy:#071b4f;
  --navy-2:#0b2b78;
  --blue:#175fe7;
  --blue-2:#0b49cc;
  --gold:#ffc329;
  --gold-2:#ffe27a;
  --ink:#0d1d42;
  --muted:#61708f;
  --line:#dce5f1;
  --soft:#f2f6fb;
  --soft-blue:#eaf1ff;
  --white:#fff;
  --green:#22975a;
  --purple:#7151c8;
  --orange:#ff8b2b;
  --red:#ec4661;
  --teal:#1696a7;
  --radius:22px;
  --shadow:0 18px 52px rgba(13,37,83,.09);
  --shadow-sm:0 9px 28px rgba(13,37,83,.075);
}
html{background:#f4f7fb}
body{background:#f4f7fb;color:var(--ink);font-size:15px;line-height:1.6;letter-spacing:-.005em}
body.menu-open{overflow:hidden}
.page-shell{overflow:clip}
.container{width:min(calc(100% - 80px),1420px)}
.icon{width:1.35em;height:1.35em;display:inline-block;vertical-align:-.24em;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}

/* Header */
.site-header{height:94px;position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(215,224,238,.75);backdrop-filter:blur(18px);box-shadow:0 6px 24px rgba(14,38,83,.04)}
.header-inner{grid-template-columns:310px 1fr auto;gap:32px}
.brand img{width:292px;max-height:60px}
.nav{gap:30px;font-size:14px;font-weight:750;color:#172546}
.nav>a,.nav-dropdown>a{padding:0 2px}
.nav>a.active:after,.nav-dropdown>a.active:after{bottom:23px;height:3px;border-radius:10px;background:linear-gradient(90deg,var(--blue),#4a82ee)}
.nav-dropdown>a:after{font-size:12px}
.dropdown-menu{top:78px;right:-28px;width:250px;border-radius:18px;padding:10px;box-shadow:0 24px 55px rgba(8,28,70,.16)}
.dropdown-menu a{padding:12px 14px;border-radius:12px}
.header-actions{gap:12px}
.icon-btn,.login-btn{height:46px;border-radius:14px}
.icon-btn{width:46px;background:#f8faff}
.icon-btn:hover{background:#edf3ff;border-color:#cbd9ef}
.icon-btn .dot{right:-3px;top:-4px;width:20px;height:20px;border:3px solid #fff;font-size:9px}
.login-btn{padding:0 24px;background:linear-gradient(135deg,#102e78,#061844);box-shadow:0 12px 25px rgba(5,26,73,.18)}
.mobile-toggle.is-open svg{transform:rotate(90deg)}

/* Hero: card-like instead of edge-to-edge */
.hero{width:min(calc(100% - 64px),1520px);margin:28px auto 0;min-height:430px;border-radius:32px;background:radial-gradient(circle at 26% 36%,#17479f 0,#0b2d78 35%,#061947 100%);box-shadow:0 28px 75px rgba(7,31,82,.20)}
.hero:before{background-size:18px 18px;opacity:.18}
.hero:after{left:20%;bottom:-170px;height:320px;opacity:.8}
.hero-art{width:62%;background-position:right center}
.hero-art:before{background:linear-gradient(90deg,#071b4f 0%,rgba(7,27,79,.90) 13%,rgba(7,27,79,.35) 42%,transparent 69%)}
.hero-inner{min-height:430px}
.hero-content{width:54%;padding:66px 0 64px}
.hero .kicker{font-size:15px;letter-spacing:.1em;margin-bottom:14px}
.hero .title{font-size:58px;line-height:1.02;letter-spacing:-.045em;margin-bottom:18px;max-width:760px}
.subtitle{font-size:21px;line-height:1.48;max-width:630px;color:rgba(255,255,255,.92)}
.hero-date{margin-top:22px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.07);font-size:15px}
.hero-actions{gap:13px;margin-top:24px;flex-wrap:wrap}
.btn{height:48px;padding:0 22px;border-radius:13px;font-size:14px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn-gold{box-shadow:0 10px 24px rgba(255,195,41,.18)}
.btn-blue{box-shadow:0 10px 24px rgba(17,82,219,.20)}
.btn-outline-light{background:rgba(255,255,255,.07)}
.hero-compact{min-height:330px}
.hero-compact .hero-inner{min-height:330px}
.hero-compact .hero-content{padding:50px 0}
.hero-compact .title{font-size:48px}
.hero-compact .subtitle{font-size:19px}
.hero-about,.hero-other{min-height:320px}
.hero-about .hero-inner,.hero-other .hero-inner{min-height:320px}
.hero-about .hero-content,.hero-other .hero-content{padding:44px 0;width:54%}
.hero-about .title,.hero-other .title{font-size:47px}
.hero-about .subtitle,.hero-other .subtitle{font-size:18px}
.hero-about .quote{left:auto;right:31%;top:96px;font-size:22px}

/* Shared cards */
.home-section,.about-main,.timeline-main,.brief-main,.division-main,.calendar-main,.other-main,.generic-main{background:transparent}
.home-section{padding:34px 0 76px}
.about-main,.timeline-main,.brief-main,.division-main,.calendar-main,.other-main,.generic-main{padding:38px 0 76px}
.section{padding:34px 0 72px}
.card,.panel,.soft-card{border:1px solid rgba(213,224,239,.92);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:rgba(255,255,255,.98)}
.card-pad,.soft-card{padding:27px}
.card-head{margin-bottom:21px;gap:16px}
.card-title{gap:11px;font-size:16px;letter-spacing:.025em}
.card-title .icon{font-size:23px;color:#18346f}
.text-link{font-size:13px;gap:6px;color:#1357dc}
.panel-heading{padding:21px 25px}
.panel-heading h3{font-size:18px}
.panel-body{padding:25px}
.info-chip{padding:8px 12px;border-radius:10px;font-size:12px}
.status{padding:6px 12px;border-radius:999px}
.icon-circle{width:50px;height:50px;border-radius:15px}
.icon-circle .icon{font-size:25px}

/* Home dashboard: no more squeezed 8-column layout */
.home-top{grid-template-columns:1.06fr .70fr 1.64fr;gap:24px;align-items:stretch}
.home-top>.card{min-height:390px}
.announcement-list{gap:11px}
.announcement{grid-template-columns:44px 1fr;gap:13px;align-items:center;padding:12px;border-radius:14px;background:#f7f9fd;border:1px solid #e7edf6}
.announcement .a-icon{width:44px;height:44px;border-radius:14px}
.announcement .a-icon .icon{font-size:20px}
.announcement h4{font-size:14px;line-height:1.35;margin-bottom:3px}
.announcement p{font-size:12px}
.deadline-card{padding:28px;background:linear-gradient(145deg,#102d7a,#071947);border-radius:22px;position:relative;overflow:hidden;justify-content:flex-start}
.deadline-card:before{content:"";position:absolute;width:180px;height:180px;right:-80px;top:-75px;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 22px rgba(255,255,255,.035)}
.deadline-title{font-size:14px;letter-spacing:.04em}
.deadline-main{margin:26px 0 12px;gap:15px}
.deadline-main strong{font-size:82px}
.deadline-main span{font-size:28px;line-height:1.05}
.deadline-card p{font-size:14px}
.deadline-card .btn{margin-top:auto;width:100%}
.quick-card{padding:27px}
.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.quick-link{--accent:#1c5fe6;min-height:125px;height:auto;border-radius:17px;background:#fff!important;color:var(--ink)!important;border:1px solid #e0e8f3;box-shadow:0 8px 20px rgba(14,42,88,.07);padding:16px 10px;font-size:13px;line-height:1.2;gap:11px;text-align:center}
.quick-link:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 45%,#dce5f1);box-shadow:0 16px 28px rgba(13,40,86,.12)}
.quick-link .icon{width:48px;height:48px;padding:11px;border-radius:15px;background:#edf3ff;color:var(--accent);filter:none}
.quick-link.q1{--accent:#15499f}.quick-link.q1 .icon{background:#e9efff}
.quick-link.q2{--accent:#26944d}.quick-link.q2 .icon{background:#e9f7ed}
.quick-link.q3{--accent:#d99800}.quick-link.q3 .icon{background:#fff4d8}
.quick-link.q4{--accent:#e13d55}.quick-link.q4 .icon{background:#ffecef}
.quick-link.q5{--accent:#6849bb}.quick-link.q5 .icon{background:#f0ebff}
.quick-link.q6{--accent:#e87517}.quick-link.q6 .icon{background:#fff0e5}
.quick-link.q7{--accent:#118a9b}.quick-link.q7 .icon{background:#e7f7f8}
.quick-link.q8{--accent:#155bd1}.quick-link.q8 .icon{background:#eaf1ff}
.home-bottom{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}
.home-bottom>.card{min-height:318px}
.agenda-list{gap:8px}
.agenda-item{min-height:48px;padding:10px 12px;border-radius:12px;background:#f7f9fd;grid-template-columns:120px 10px 1fr;font-size:13px}
.project-box{grid-template-columns:1fr 190px;gap:22px;align-items:center}
.project-box h3{font-size:23px;line-height:1.22}
.project-visual{height:190px;background-size:contain;background-position:center}
.progress-number{font-size:68px;line-height:1;margin-top:4px}
.progress-track{height:13px;border-radius:20px;margin-top:18px}
.progress-track span{border-radius:20px;background:linear-gradient(90deg,var(--blue),#4081ee)}
.resource-link{min-height:48px;padding:11px 5px;font-size:13px}
.resource-link span{gap:10px}

/* Information and subpages */
.about-top,.about-bottom,.content-grid,.section-grid-2,.section-grid-3,.section-grid-4,.division-grid,.calendar-layout,.generic-grid,.metric-grid,.resource-grid,.contact-grid{gap:24px}
.about-top{grid-template-columns:350px 1fr 1fr}
.about-bottom{grid-template-columns:1.2fr 1fr 1fr}
.person{gap:15px}.person img{width:76px;height:76px}
.quote-copy{font-size:14px;line-height:1.75}
.info-strip{gap:18px;margin-top:24px}
.info-box{padding:20px;border-radius:17px}
.info-box strong{font-size:21px}
.org-node{padding:12px 18px;border-radius:12px}
.value{padding:22px;border-radius:18px}
.content-grid{grid-template-columns:minmax(0,1fr) 330px}
.side-panel,.generic-sidebar{padding:24px}
.generic-grid{grid-template-columns:320px minmax(0,1fr)}
.generic-content{padding:26px}
.metric-grid{gap:18px;margin-bottom:24px}
.metric{padding:19px;border-radius:17px;gap:15px;box-shadow:0 8px 18px rgba(11,34,75,.05)}
.metric strong{font-size:27px}
.data-list{gap:13px}
.data-item{padding:18px;border-radius:16px;grid-template-columns:54px 1fr auto;gap:15px}
.data-item h4{font-size:15px}.data-item p{font-size:12px}
.timeline-layout,.brief-layout{gap:24px}
.timeline-row{min-height:120px}
.timeline-cell{padding:18px}
.brief-controls{gap:14px;margin-bottom:18px}
.brief-head,.brief-row{min-height:74px}
.brief-row{padding-top:12px;padding-bottom:12px}
.division-card{border-radius:22px}
.division-head{padding:26px}
.division-body{padding:26px}
.work-grid,.role-grid,.values{gap:16px}
.work-item,.role,.value{border-radius:16px;padding:18px}
.calendar-layout{grid-template-columns:260px minmax(0,1fr)}
.calendar-sidebar,.calendar-card,.agenda-side{border-radius:22px}
.calendar-toolbar{padding:20px 24px}
.calendar-grid{padding:0 18px 20px}
.cal-day{min-height:105px;padding:10px}
.other-grid{gap:24px}
.other-card{padding:24px;min-height:330px;border-radius:22px}
.external-grid,.social-grid{gap:12px}
.external-box,.social-box{height:110px;border-radius:14px}
.notify-strip{margin-top:24px;min-height:108px;border-radius:22px;padding:20px 34px}
.board{gap:20px}.board-col{border-radius:17px;padding:15px;min-height:380px}.task-card{border-radius:13px;padding:14px;margin-bottom:12px}
.upload-zone{min-height:340px;border-radius:20px}
.accordion{gap:13px}.accordion-item{border-radius:14px}.accordion-head{padding:17px 18px}.accordion-item.open .accordion-body{padding:16px 18px}
.contact-card{padding:24px;border-radius:19px}.contact-card img{width:90px;height:90px}

/* Footer */
.site-footer{width:min(calc(100% - 64px),1520px);margin:0 auto 28px;border-radius:24px;background:linear-gradient(115deg,#0a2b75,#061844);box-shadow:0 18px 42px rgba(7,29,74,.15)}
.footer-inner{min-height:82px;padding:0 26px;font-size:12px}
.footer-social a{width:34px;height:34px}
.footer-domain{gap:8px}

/* Toast + animation */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,.61,.36,1)}
.reveal.visible{opacity:1;transform:none}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,18px);z-index:1000;background:#071b4f;color:#fff;padding:13px 20px;border-radius:14px;box-shadow:0 18px 42px rgba(7,27,79,.27);font-weight:700;font-size:13px;opacity:0;transition:.25s}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1280px){
  .container{width:min(calc(100% - 48px),1180px)}
  .header-inner{grid-template-columns:275px 1fr auto;gap:18px}.brand img{width:260px}.nav{gap:19px;font-size:13px}
  .hero{width:calc(100% - 40px)}.hero .title{font-size:50px}.hero-content{width:55%}
  .home-top{grid-template-columns:1fr .68fr}.quick-card{grid-column:1/-1}.home-top>.card{min-height:0}.quick-grid{grid-template-columns:repeat(4,1fr)}
  .about-top{grid-template-columns:320px 1fr}.program-info{grid-column:1/-1}.about-bottom{grid-template-columns:1fr 1fr}.value-card{grid-column:1/-1}
  .calendar-layout{grid-template-columns:230px 1fr}.agenda-side{grid-column:1/-1}.other-grid{grid-template-columns:1fr 1fr}.other-card:last-child{grid-column:1/-1}
}
@media(max-width:1000px){
  .site-header{height:78px}.header-inner{grid-template-columns:1fr auto}.brand img{width:255px}.nav{display:none}.mobile-toggle{display:inline-flex}.icon-btn.notify{display:none}
  .mobile-panel{position:fixed;top:78px;left:0;right:0;bottom:0;background:rgba(255,255,255,.98);z-index:70;padding:22px 28px;opacity:0;visibility:hidden;transform:translateY(-16px);transition:.22s;overflow:auto;display:block}.mobile-panel.open{opacity:1;visibility:visible;transform:none}.mobile-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mobile-nav a{padding:13px 14px;border-radius:13px;background:#f6f8fc}.mobile-nav a.active{background:#e8f0ff;color:#0c51da}
  .hero{margin-top:20px;min-height:450px}.hero-inner{min-height:450px}.hero-art{width:100%;opacity:.72}.hero-art:before{background:linear-gradient(90deg,rgba(7,27,79,.98),rgba(7,27,79,.82) 48%,rgba(7,27,79,.14))}.hero-content{width:70%}.hero .title{font-size:47px}
  .hero-about,.hero-other,.hero-compact{min-height:360px}.hero-about .hero-inner,.hero-other .hero-inner,.hero-compact .hero-inner{min-height:360px}.hero-about .hero-content,.hero-other .hero-content,.hero-compact .hero-content{width:70%}.hero-about .quote{display:none}
  .home-top,.home-bottom,.about-top,.about-bottom,.timeline-layout,.brief-layout,.division-grid,.calendar-layout,.generic-grid,.content-grid{grid-template-columns:1fr}
  .quick-grid{grid-template-columns:repeat(4,1fr)}
  .metric-grid{grid-template-columns:repeat(2,1fr)}
  .board{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
  .site-footer{width:calc(100% - 40px)}
}
@media(max-width:680px){
  body{font-size:14px}.container{width:calc(100% - 28px)}
  .site-header{height:70px}.brand img{width:218px}.login-btn{height:42px;padding:0 14px}.login-btn span{display:none}.icon-btn{width:42px;height:42px}.mobile-panel{top:70px;padding:16px 14px}.mobile-nav{grid-template-columns:1fr}
  .hero{width:calc(100% - 20px);margin-top:10px;border-radius:24px;min-height:610px}.hero-inner{min-height:610px}.hero-content{width:100%;align-self:flex-start;padding:38px 0 0}.hero .kicker{font-size:12px}.hero .title{font-size:38px;max-width:95%}.subtitle{font-size:16px;max-width:94%}.hero-art{height:50%;top:auto;bottom:0;opacity:.78;background-position:center bottom}.hero-art:before{background:linear-gradient(180deg,#071b4f 0%,rgba(7,27,79,.5) 22%,rgba(7,27,79,.02) 55%)}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.hero-actions .btn:last-child{grid-column:1/-1}.btn{height:46px;padding:0 15px;font-size:12px}
  .hero-about,.hero-other,.hero-compact{min-height:510px}.hero-about .hero-inner,.hero-other .hero-inner,.hero-compact .hero-inner{min-height:510px}.hero-about .hero-content,.hero-other .hero-content,.hero-compact .hero-content{width:100%;padding-top:36px}.hero-about .title,.hero-other .title,.hero-compact .title{font-size:35px}.hero-about .hero-art,.hero-other .hero-art,.hero-compact .hero-art{height:53%;width:100%}
  .home-section,.about-main,.timeline-main,.brief-main,.division-main,.calendar-main,.other-main,.generic-main{padding:20px 0 48px}
  .home-top,.home-bottom{gap:16px;margin-top:16px}.card-pad,.quick-card,.generic-content,.generic-sidebar,.side-panel{padding:20px}.card-head{margin-bottom:17px}.card-title{font-size:14px}
  .home-top>.card,.home-bottom>.card{min-height:0}.quick-grid{grid-template-columns:repeat(2,1fr);gap:11px}.quick-link{min-height:112px;font-size:12px}.quick-link .icon{width:44px;height:44px}
  .agenda-item{grid-template-columns:100px 9px 1fr;padding:9px;font-size:12px}.project-box{grid-template-columns:1fr 115px}.project-visual{height:130px}.progress-number{font-size:58px}
  .metric-grid,.board,.section-grid-2,.section-grid-3,.section-grid-4,.resource-grid,.form-grid,.contact-grid{grid-template-columns:1fr}
  .info-strip{grid-template-columns:1fr 1fr}.about-top,.about-bottom{gap:16px}.org-split{flex-direction:column}.org-node{min-width:210px}
  .brief-table{overflow-x:auto}.brief-head,.brief-row{min-width:1050px}.work-grid,.role-grid,.values{grid-template-columns:1fr 1fr}
  .calendar-card{overflow-x:auto}.calendar-grid{min-width:760px}.agenda-near{grid-template-columns:1fr}.other-grid{grid-template-columns:1fr}.other-card:last-child{grid-column:auto}.external-grid,.social-grid{grid-template-columns:1fr 1fr}
  .data-item{grid-template-columns:48px 1fr}.data-item>*:last-child{grid-column:2}.notify-strip{grid-template-columns:1fr;text-align:center;padding:22px}.notify-art{display:none}
  .site-footer{width:calc(100% - 20px);margin-bottom:10px;border-radius:20px}.footer-inner{min-height:96px;flex-direction:column;justify-content:center;gap:8px;text-align:center}.footer-right{display:none}.footer-social{flex-wrap:wrap;justify-content:center}
}
@media(max-width:430px){
  .brand img{width:190px}.header-actions{gap:7px}.hero .title{font-size:33px}.hero-actions{grid-template-columns:1fr}.hero-actions .btn:last-child{grid-column:auto}.info-strip{grid-template-columns:1fr}.work-grid,.role-grid,.values{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}
}

/* ========================================================================== 
   RESPONSIVE PATCH V4 — Brief actions + mobile page audit
   Scope: button alignment, mobile brief cards, complete timeline cards,
   responsive calendar, and small-screen layout safeguards.
   ========================================================================== */

/* Brief desktop/tablet alignment */
.brief-head,
.brief-row{
  grid-template-columns:58px minmax(250px,1.55fr) 138px 132px 170px 112px 176px;
  column-gap:10px;
}
.brief-head{padding-inline:14px}
.brief-row{padding-inline:14px}
.row-actions{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  align-items:stretch;
}
.action-btn{
  min-width:0;
  height:38px;
  padding:0 10px;
  justify-content:center;
  gap:7px;
  border-color:#b8c9ea;
  border-radius:10px 0 0 10px;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.action-btn:hover{
  background:#eef4ff;
  border-color:#7fa4ec;
  color:#073ca8;
}
.action-btn:last-child{
  width:38px;
  padding:0;
  border-left:0;
  border-radius:0 10px 10px 0;
}
.action-btn .icon{font-size:17px}

@media (max-width:1180px) and (min-width:1001px){
  .brief-head,
  .brief-row{
    grid-template-columns:54px minmax(220px,1.4fr) 124px 118px 154px 102px 164px;
    column-gap:8px;
  }
  .brief-name p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .division-pill{padding:7px 8px}
}

/* Brief becomes native cards on tablet/mobile; no clipped horizontal table. */
@media (max-width:1000px){
  .brief-layout{grid-template-columns:1fr;gap:20px}
  .brief-layout>.reveal{min-width:0}
  .brief-controls{grid-template-columns:1fr 1fr;gap:10px}
  .search-control{grid-column:1/-1}
  .brief-table{
    overflow:visible;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
  }
  .brief-head{display:none}
  .brief-row{
    min-width:0;
    min-height:0;
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    column-gap:13px;
    row-gap:0;
    margin-bottom:14px;
    padding:17px;
    border:1px solid #dce5f1;
    border-radius:18px;
    background:#fff;
    box-shadow:0 9px 24px rgba(13,37,83,.07);
  }
  .brief-row:last-child{border-bottom:1px solid #dce5f1}
  .brief-index{
    grid-column:1;
    grid-row:1;
    width:46px;
    height:46px;
    border-radius:12px;
    align-self:start;
  }
  .brief-name{
    grid-column:2;
    grid-row:1;
    min-width:0;
    padding:0 0 13px;
  }
  .brief-name .category{font-size:10px;letter-spacing:.02em}
  .brief-name h4{font-size:15px;line-height:1.35;margin:3px 0 5px}
  .brief-name p{font-size:12px;line-height:1.5;color:#52617e}
  .brief-row>div:nth-child(3),
  .brief-row>div:nth-child(4),
  .brief-row>div:nth-child(5),
  .brief-row>div:nth-child(6){
    grid-column:1/-1;
    min-width:0;
    border-top:1px solid #e7edf5;
    padding:11px 0;
  }
  .brief-row>div:nth-child(3),
  .brief-row>div:nth-child(4),
  .brief-row>div:nth-child(6){
    display:grid;
    grid-template-columns:86px minmax(0,1fr);
    align-items:center;
    gap:10px;
  }
  .brief-row>div:nth-child(3)::before,
  .brief-row>div:nth-child(4)::before,
  .brief-row>div:nth-child(5)::before,
  .brief-row>div:nth-child(6)::before{
    color:#71809c;
    font-size:10px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .brief-row>div:nth-child(3)::before{content:"Divisi"}
  .brief-row>div:nth-child(4)::before{content:"Deadline"}
  .brief-row>div:nth-child(5)::before{content:"PIC"}
  .brief-row>div:nth-child(6)::before{content:"Status"}
  .brief-row>.person-mini{
    display:grid;
    grid-template-columns:86px 40px minmax(0,1fr);
    align-items:center;
    gap:10px;
  }
  .person-mini img{width:40px;height:40px}
  .person-mini strong{font-size:12px;line-height:1.35}
  .person-mini span{font-size:10px;color:#64718a}
  .division-pill{width:max-content;max-width:100%;padding:7px 10px;border-radius:9px}
  .deadline strong{font-size:12px;margin:0}.deadline span,.deadline em{font-size:11px}
  .row-actions{
    grid-column:1/-1;
    grid-template-columns:minmax(0,1fr) 42px;
    margin-top:13px;
  }
  .action-btn{height:42px;border-radius:12px 0 0 12px;font-size:12px}
  .action-btn:last-child{width:42px;border-radius:0 12px 12px 0}
  .brief-footer{margin-top:18px;gap:14px}
}

@media (max-width:640px){
  .brief-controls{grid-template-columns:1fr}
  .search-control{grid-column:auto}
  .brief-row{padding:15px;grid-template-columns:48px minmax(0,1fr);column-gap:11px;border-radius:16px}
  .brief-index{width:44px;height:44px;font-size:17px}
  .brief-name h4{font-size:14px}
  .brief-row>div:nth-child(3),
  .brief-row>div:nth-child(4),
  .brief-row>div:nth-child(6){grid-template-columns:74px minmax(0,1fr)}
  .brief-row>.person-mini{grid-template-columns:74px 38px minmax(0,1fr)}
  .brief-footer{align-items:flex-start;flex-direction:column}
  .pagination{align-self:flex-end}
  .filter-sidebar{padding:18px}
}

/* Timeline: do not hide output/status fields on mobile. */
@media (max-width:1000px){
  .timeline-list:before{display:none}
  .timeline-row{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:10px;
    min-height:0;
    margin-bottom:14px;
    padding:15px;
    border:1px solid #dce5f1;
    border-radius:18px;
    background:#fff;
    box-shadow:0 9px 24px rgba(13,37,83,.065);
  }
  .timeline-num{grid-column:1;grid-row:1;width:42px;height:42px;margin:0;align-self:center}
  .month-card{
    grid-column:2;grid-row:1;
    min-height:48px;
    margin:0;
    padding:0 14px;
    flex-direction:row;
    justify-content:flex-start;
    gap:6px;
    border-radius:12px;
  }
  .timeline-row .timeline-cell,
  .timeline-cell:nth-child(n+4){
    display:flex;
    grid-column:1/-1;
    min-width:0;
    min-height:0;
    padding:14px;
    border:0;
    border-radius:13px;
    background:#f7f9fd;
  }
  .timeline-cell.first,.timeline-cell.last{border-radius:13px;align-items:flex-start}
  .timeline-cell h3{font-size:15px}
  .timeline-cell p,.timeline-cell li,.output-box{font-size:12px;line-height:1.5}
  .output-box{width:100%;padding:12px;border-radius:10px}
}

@media (max-width:640px){
  .timeline-toolbar{display:grid;grid-template-columns:1fr auto;align-items:start}
  .tab-group{display:grid;grid-template-columns:1fr;width:100%}
  .tab{width:100%;justify-content:flex-start}
  .timeline-row{grid-template-columns:46px minmax(0,1fr);padding:13px;border-radius:16px}
  .timeline-num{width:38px;height:38px}
  .month-card{min-height:44px;padding:0 12px}
  .timeline-row .timeline-cell{padding:13px}
}

/* Calendar: seven columns fit the phone viewport; events become color dots. */
@media (max-width:760px){
  .calendar-card{overflow:visible;padding:0}
  .calendar-toolbar{
    padding:16px;
    margin:0;
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    border-bottom:1px solid #e5ebf4;
  }
  .cal-left{
    width:100%;
    display:grid;
    grid-template-columns:auto 38px 38px minmax(0,1fr);
    gap:7px;
  }
  .cal-left .cal-btn{padding:0 10px}
  .cal-month{margin:0;text-align:right;font-size:17px;align-self:center;white-space:nowrap}
  .cal-right{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
  }
  .view-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}
  .view-switch .cal-btn{min-width:0;padding:0 7px;font-size:11px}
  .cal-right>.cal-btn{padding:0 10px;font-size:11px}
  .calendar-grid{
    min-width:0;
    width:100%;
    grid-template-columns:repeat(7,minmax(0,1fr));
    padding:12px 10px 14px;
    border:0;
    gap:3px;
  }
  .cal-head{
    height:30px;
    border:0;
    border-radius:8px;
    background:#f3f6fb;
    font-size:9px;
  }
  .cal-day{
    min-width:0;
    min-height:58px;
    height:58px;
    padding:6px 4px;
    border:1px solid #e6ebf3;
    border-radius:8px;
    display:flex;
    flex-wrap:wrap;
    align-content:flex-start;
    gap:3px;
    overflow:hidden;
  }
  .day-num{flex:0 0 100%;font-size:10px;line-height:18px}
  .today .day-num{width:20px;height:20px;flex:0 0 20px;margin:0;font-size:9px}
  .cal-event{
    display:block;
    width:7px;
    height:7px;
    margin:0;
    padding:0;
    border-radius:50%;
    font-size:0;
    flex:0 0 7px;
  }
  .calendar-legend{padding:0 14px 16px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;font-size:9px}
}

@media (max-width:430px){
  .calendar-toolbar{padding:14px 12px}
  .cal-left{grid-template-columns:auto 36px 36px 1fr}
  .cal-btn{height:36px}
  .cal-month{font-size:15px}
  .view-switch .cal-btn,.cal-right>.cal-btn{font-size:10px;padding-inline:6px}
  .calendar-grid{padding-inline:7px;gap:2px}
  .cal-day{height:54px;min-height:54px;padding:5px 3px;border-radius:7px}
  .calendar-legend{grid-template-columns:1fr;padding-inline:12px}
}

/* Global small-screen safeguards found during the page audit. */
@media (max-width:640px){
  .container{max-width:100%}
  .card,.panel,.soft-card{max-width:100%}
  .control,select,input,textarea{max-width:100%;min-width:0}
  .data-item{min-width:0}
  .data-item>div{min-width:0}
  .data-item h4,.data-item p{overflow-wrap:anywhere}
  .upload-zone{padding:22px 16px}
  .contact-card{align-items:flex-start}
  .contact-card>div{min-width:0}
  .contact-card h3,.contact-card p{overflow-wrap:anywhere}
  .other-card,.generic-content,.generic-sidebar{min-width:0}
  .external-box,.social-box{min-width:0}
}

@media (max-width:640px){
  .page-btn{width:36px;height:36px;border-radius:9px}
}

/* ========================================================================== 
   RESPONSIVE PATCH V5 — Hero mobile dipisahkan dari artwork
   Mencegah teks, statistik, dan tombol menabrak gambar latar pada seluruh halaman.
   ========================================================================== */
@media (max-width:820px){
  .hero,
  .hero.hero-compact,
  .hero.hero-about,
  .hero.hero-other{
    display:flex;
    flex-direction:column;
    min-height:0;
    height:auto;
    overflow:hidden;
  }
  .hero:after{display:none}
  .hero-inner,
  .hero-compact .hero-inner,
  .hero-about .hero-inner,
  .hero-other .hero-inner{
    order:1;
    width:100%;
    min-height:0;
    height:auto;
    flex:0 0 auto;
    align-items:flex-start;
  }
  .hero-content,
  .hero-compact .hero-content,
  .hero-about .hero-content,
  .hero-other .hero-content{
    width:100%;
    max-width:none;
    padding:32px 0 27px;
    align-self:auto;
  }
  .hero .kicker{margin-bottom:11px}
  .hero .title,
  .hero-compact .title,
  .hero-about .title,
  .hero-other .title{
    max-width:100%;
    margin-bottom:13px;
    font-size:clamp(33px,8.5vw,44px);
    line-height:1.08;
    overflow-wrap:anywhere;
  }
  .hero .subtitle,
  .hero-compact .subtitle,
  .hero-about .subtitle,
  .hero-other .subtitle{
    max-width:100%;
    font-size:15px;
    line-height:1.55;
  }
  .hero-date{margin-top:17px}
  .hero-actions{margin-top:19px}
  .hero-stats{
    width:100%;
    max-width:none;
    margin-top:20px;
    border-radius:16px;
    background:rgba(255,255,255,.065);
    backdrop-filter:none;
  }
  .hero-stat{
    min-width:0;
    padding:13px 12px;
    gap:9px;
  }
  .hero-stat .icon{flex:0 0 auto}
  .hero-stat>div{min-width:0}
  .hero-stat strong,.hero-stat small{overflow-wrap:anywhere}
  .hero-art,
  .hero-compact .hero-art,
  .hero-about .hero-art,
  .hero-other .hero-art{
    position:relative;
    inset:auto;
    order:2;
    width:100%;
    height:245px;
    min-height:245px;
    flex:0 0 245px;
    opacity:1;
    z-index:2;
    border-top:1px solid rgba(255,255,255,.16);
    background-size:cover;
    background-position:center 42%;
  }
  .hero-art:before,
  .hero-compact .hero-art:before,
  .hero-about .hero-art:before,
  .hero-other .hero-art:before{
    background:linear-gradient(180deg,rgba(7,27,79,.92) 0%,rgba(7,27,79,.28) 18%,rgba(7,27,79,0) 48%);
  }
  .hero-about .quote{display:none}
}
@media (min-width:431px) and (max-width:820px){
  .hero .subtitle,
  .hero-compact .subtitle,
  .hero-about .subtitle,
  .hero-other .subtitle{font-size:17px}
  .hero-art,
  .hero-compact .hero-art,
  .hero-about .hero-art,
  .hero-other .hero-art{height:300px;min-height:300px;flex-basis:300px}
}
@media (max-width:430px){
  .hero-content,
  .hero-compact .hero-content,
  .hero-about .hero-content,
  .hero-other .hero-content{padding:28px 0 24px}
  .hero .title,
  .hero-compact .title,
  .hero-about .title,
  .hero-other .title{font-size:31px}
  .hero-art,
  .hero-compact .hero-art,
  .hero-about .hero-art,
  .hero-other .hero-art{
    height:225px;
    min-height:225px;
    flex-basis:225px;
    background-position:center 42%;
  }
}
@media (max-width:360px){
  .hero-stats{grid-template-columns:1fr}
  .hero-stat,
  .hero-stat:nth-child(3){grid-column:auto;border-left:0;border-top:1px solid rgba(255,255,255,.16)}
  .hero-stat:first-child{border-top:0}
}

/* ========================================================================== 
   RESPONSIVE PATCH V6 — Hero mobile lebih lega, ringkas, dan tidak menempel
   Audit: container global 92vw di dalam hero 100%-20px hanya menyisakan ±5px
   di tiap sisi. Patch ini memberi padding internal nyata dan merapikan aksi.
   ========================================================================== */
@media (max-width:820px){
  .hero,
  .hero.hero-compact,
  .hero.hero-about,
  .hero.hero-other{
    width:calc(100% - 28px);
    margin:14px auto 0;
    border-radius:24px;
    min-height:0;
    height:auto;
  }

  .hero-inner.container,
  .hero-compact .hero-inner.container,
  .hero-about .hero-inner.container,
  .hero-other .hero-inner.container{
    width:100%;
    max-width:none;
    margin:0;
    padding-left:clamp(20px,5.5vw,34px);
    padding-right:clamp(20px,5.5vw,34px);
  }

  .hero-content,
  .hero-compact .hero-content,
  .hero-about .hero-content,
  .hero-other .hero-content{
    padding:29px 0 25px;
  }

  .hero .kicker{
    margin-bottom:10px;
    font-size:11px;
    line-height:1.4;
    letter-spacing:.095em;
  }

  .hero .title,
  .hero-compact .title,
  .hero-about .title,
  .hero-other .title{
    margin:0 0 12px;
    max-width:none;
    font-size:clamp(29px,8vw,38px);
    line-height:1.09;
    letter-spacing:-.035em;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
  }

  .hero .subtitle,
  .hero-compact .subtitle,
  .hero-about .subtitle,
  .hero-other .subtitle{
    max-width:none;
    margin:0;
    font-size:15px;
    line-height:1.55;
    overflow-wrap:normal;
    word-break:normal;
  }

  .hero-date{
    margin-top:17px;
    min-height:42px;
    padding:8px 14px;
    font-size:13px;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    width:100%;
    margin-top:20px;
  }

  .hero-actions .btn,
  .hero-actions .btn:last-child{
    grid-column:auto;
    width:100%;
    min-width:0;
    height:46px;
    padding:0 12px;
    border-radius:12px;
    font-size:12px;
    white-space:nowrap;
  }

  /* Beranda: satu aksi utama, dua aksi sekunder sejajar. */
  .hero:not(.hero-compact):not(.hero-about):not(.hero-other) .hero-actions .btn:first-child{
    grid-column:1 / -1;
  }

  .hero-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    width:100%;
    margin-top:20px;
    border-radius:16px;
    overflow:hidden;
    background:rgba(255,255,255,.07);
  }

  .hero-stat,
  .hero-stat:nth-child(3){
    grid-column:auto;
    min-width:0;
    min-height:96px;
    padding:12px 10px;
    border-top:0;
    border-left:1px solid rgba(255,255,255,.16);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:6px;
  }

  .hero-stat:first-child{border-left:0}
  .hero-stat .icon{width:22px;height:22px;font-size:22px}
  .hero-stat strong{font-size:15px;line-height:1.25}
  .hero-stat small{font-size:10.5px;line-height:1.3}
  .hero-stat strong,.hero-stat small{overflow-wrap:normal;word-break:normal}

  .hero-art,
  .hero-compact .hero-art,
  .hero-about .hero-art,
  .hero-other .hero-art{
    position:relative;
    inset:auto;
    width:auto;
    height:178px;
    min-height:178px;
    flex:0 0 178px;
    margin:0 14px 14px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:18px;
    background-position:center 43%;
    background-size:cover;
    overflow:hidden;
  }

  .hero-compact .hero-art{height:166px;min-height:166px;flex-basis:166px}
  .hero-about .hero-art{height:170px;min-height:170px;flex-basis:170px}
  .hero-other .hero-art{height:148px;min-height:148px;flex-basis:148px}

  .hero-art:before,
  .hero-compact .hero-art:before,
  .hero-about .hero-art:before,
  .hero-other .hero-art:before{
    background:linear-gradient(180deg,rgba(7,27,79,.28) 0%,rgba(7,27,79,0) 38%);
  }
}

@media (max-width:430px){
  .hero,
  .hero.hero-compact,
  .hero.hero-about,
  .hero.hero-other{
    width:calc(100% - 24px);
    margin-top:12px;
    border-radius:22px;
  }

  .hero-inner.container,
  .hero-compact .hero-inner.container,
  .hero-about .hero-inner.container,
  .hero-other .hero-inner.container{
    padding-left:20px;
    padding-right:20px;
  }

  .hero-content,
  .hero-compact .hero-content,
  .hero-about .hero-content,
  .hero-other .hero-content{
    padding:26px 0 22px;
  }

  .hero .title,
  .hero-compact .title,
  .hero-about .title,
  .hero-other .title{
    font-size:29px;
  }

  .hero-actions{gap:9px}
  .hero-actions .btn,
  .hero-actions .btn:last-child{height:44px;font-size:11px;padding:0 9px}

  .hero-art,
  .hero-compact .hero-art,
  .hero-about .hero-art,
  .hero-other .hero-art{
    width:auto;
    margin:0 12px 12px;
    border-radius:16px;
  }
  .hero-art{height:168px;min-height:168px;flex-basis:168px}
  .hero-compact .hero-art{height:154px;min-height:154px;flex-basis:154px}
  .hero-about .hero-art{height:158px;min-height:158px;flex-basis:158px}
  .hero-other .hero-art{height:138px;min-height:138px;flex-basis:138px}
}

@media (max-width:360px){
  .hero-inner.container,
  .hero-compact .hero-inner.container,
  .hero-about .hero-inner.container,
  .hero-other .hero-inner.container{padding-left:17px;padding-right:17px}
  .hero .title,
  .hero-compact .title,
  .hero-about .title,
  .hero-other .title{font-size:27px}
  .hero-actions .btn,
  .hero-actions .btn:last-child{font-size:10.5px}
  .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-stat,
  .hero-stat:nth-child(3){min-height:92px;padding:10px 8px;border-top:0;border-left:1px solid rgba(255,255,255,.16)}
  .hero-stat:first-child{border-left:0}
}

/* ========================================================================== 
   RESPONSIVE PATCH V7 — Divisi hero note tidak dipaksa menjadi kolom statistik
   ========================================================================== */
.hero-stats.hero-note{
  width:min(100%,650px);
}
.hero-stats.hero-note .hero-stat{
  width:100%;
  min-width:0;
}
.hero-stats.hero-note .hero-stat strong{
  font-weight:650;
  line-height:1.5;
}

@media (max-width:820px){
  .hero-stats.hero-note{
    display:block;
    width:100%;
    margin-top:18px;
    border-radius:15px;
  }
  .hero-stats.hero-note .hero-stat,
  .hero-stats.hero-note .hero-stat:nth-child(3){
    width:100%;
    min-height:0;
    padding:15px 16px;
    border:0;
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    align-items:start;
    gap:11px;
  }
  .hero-stats.hero-note .hero-stat .icon{
    width:24px;
    height:24px;
    margin-top:1px;
  }
  .hero-stats.hero-note .hero-stat strong{
    display:block;
    font-size:13.5px;
    line-height:1.55;
    font-weight:650;
    letter-spacing:0;
    overflow-wrap:normal;
    word-break:normal;
  }
}

@media (max-width:430px){
  .hero-stats.hero-note .hero-stat,
  .hero-stats.hero-note .hero-stat:nth-child(3){
    padding:14px;
    grid-template-columns:26px minmax(0,1fr);
    gap:10px;
  }
  .hero-stats.hero-note .hero-stat .icon{
    width:22px;
    height:22px;
  }
  .hero-stats.hero-note .hero-stat strong{
    font-size:13px;
    line-height:1.5;
  }
}

/* ========================================================================== 
   REVIEW POLISH V8 — consistency, icons, interaction, and responsive cleanup
   Scope follows the review: no redesign, no content restructuring.
   ========================================================================== */
:root{
  --ui-radius:18px;
  --ui-radius-sm:12px;
  --ui-focus:0 0 0 4px rgba(13,86,230,.14);
}

/* Consistent interactive language */
a,button,.control,.tab,.filter-btn,.cal-btn,.page-btn,.bottom-btn,.action-btn{
  -webkit-tap-highlight-color:transparent;
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid #0d56e6;
  outline-offset:3px;
  box-shadow:var(--ui-focus);
}
.btn,.login-btn,.icon-btn,.control,.tab,.filter-btn,.cal-btn,.page-btn,.bottom-btn{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
.btn:active,.login-btn:active,.icon-btn:active,.tab:active,.filter-btn:active,.cal-btn:active,.page-btn:active,.bottom-btn:active{
  transform:translateY(0) scale(.98);
}

/* Icons: one outline/SVG visual language */
.icon{stroke-linecap:round;stroke-linejoin:round}
.card-title>.icon,.sidebar-card h3>.icon,.panel-heading h3>.icon{width:24px;height:24px;flex:0 0 auto}
.quick-link .icon{width:50px;height:50px}
.icon-circle{width:46px;height:46px}
.icon-circle .icon{width:24px;height:24px}
.footer-social a{border:1px solid rgba(255,255,255,.18);border-radius:11px;color:#fff;transition:.2s}
.footer-social a:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.footer-social a .icon{width:17px;height:17px}
.notify-art{display:flex;align-items:center;justify-content:center;gap:8px;color:#0d56e6}
.notify-art .icon{width:42px;height:42px}
.rocket{display:grid;place-items:center;color:#ffbf00}
.rocket .icon{width:48px;height:48px}
.accordion-chevron{display:grid;place-items:center;transition:transform .22s ease}
.accordion-chevron .icon{width:18px;height:18px}
.accordion-item.open .accordion-chevron{transform:rotate(180deg)}
.social-icon .icon{width:21px;height:21px}
.bottom-btn .icon{width:17px;height:17px}
.bottom-btn{display:flex;align-items:center;justify-content:center;gap:8px}

/* Shared card spacing and hierarchy */
.card,.panel,.soft-card,.division-card,.calendar-sidebar,.calendar-card,.agenda-side,.other-card,.contact-card,.metric,.data-item{
  border-color:#dfe6f2;
}
.card:hover,.division-card:hover,.other-card:hover,.contact-card:hover,.metric:hover{
  border-color:#cad8ec;
}
.card-head{min-height:36px}
.card-title{font-size:16px;letter-spacing:.015em}
.section-title{line-height:1.25}

/* Home/dashboard polish */
.home-top,.home-bottom{align-items:stretch}
.home-top>.card,.home-bottom>.card{height:100%}
.quick-link{position:relative;overflow:hidden}
.quick-link:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--accent);opacity:0;transform:scaleX(.4);transition:.2s}
.quick-link:hover:after{opacity:1;transform:scaleX(1)}
.resource-link{border-radius:10px;padding-inline:8px;transition:.2s}
.resource-link:hover{background:#f5f8fd;color:#0b52d8;padding-inline:11px}
.progress-track{box-shadow:inset 0 1px 2px rgba(4,24,70,.08)}

/* Brief: usable filters and empty-state */
.brief-controls .control,.brief-controls input{min-height:44px;border-radius:12px}
.brief-empty{padding:34px 20px;text-align:center;border:1px dashed #cbd8ea;border-radius:16px;background:#f8faff;color:#5c6d89;font-weight:700}
.brief-row[hidden]{display:none!important}
.action-btn{min-height:40px}

/* Division cards */
.division-head{align-items:center}
.division-symbol{display:grid;place-items:center}
.division-symbol .icon{width:34px;height:34px}
.work-item,.role{min-height:100%;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.work-item:hover,.role:hover{transform:translateY(-2px);border-color:#cad8ec;box-shadow:0 10px 22px rgba(12,39,83,.07)}

/* Calendar / upload / FAQ */
.cal-btn,.tab,.filter-btn{min-height:40px}
.cal-btn .icon,.page-btn .icon{width:18px;height:18px}
.cal-day{transition:border-color .18s ease,background .18s ease,transform .18s ease}
.cal-day:hover{border-color:#b7cae7;background:#fbfdff;transform:translateY(-1px)}
.upload-zone{position:relative;padding:32px;border-color:#aebfda;transition:.2s}
.upload-zone:hover{border-color:#6f94d2;background:#f3f7ff}
.upload-zone.drag-active{border-color:#0d56e6;background:#eef4ff;box-shadow:var(--ui-focus)}
.upload-selection{margin-top:14px;padding:9px 12px;border-radius:10px;background:#eef4ff;color:#234678;font-size:12px;font-weight:700;max-width:min(100%,520px);overflow-wrap:anywhere}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.accordion-head:hover{background:#f1f6ff}
.accordion-head:focus-visible{outline:2px solid #0d56e6;outline-offset:-2px}

/* About/KPI/contact consistency */
.info-box,.value,.value-box,.metric,.contact-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.info-box:hover,.value:hover,.value-box:hover,.metric:hover,.contact-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(12,38,82,.07)}
.contact-card img,.person img,.person-mini img{border:3px solid #fff;box-shadow:0 0 0 1px #dde6f3}

/* Footer alignment fix */
.footer-inner{height:auto}
.footer-social{gap:10px}
.footer-domain{white-space:nowrap}

@media(max-width:1000px){
  .home-bottom>.card{min-height:0}
  .generic-grid,.calendar-layout,.division-grid{align-items:start}
  .footer-inner{grid-template-columns:1fr auto;gap:14px}
  .footer-right{display:none}
}

@media(max-width:680px){
  .card,.panel,.soft-card,.division-card,.calendar-sidebar,.calendar-card,.agenda-side,.other-card,.contact-card{border-radius:18px}
  .home-section,.about-main,.timeline-main,.brief-main,.division-main,.calendar-main,.other-main,.generic-main{padding-bottom:38px}
  .quick-grid{gap:12px}
  .quick-link{min-height:108px;padding:14px 8px}
  .quick-link .icon{width:44px;height:44px}
  .home-bottom{gap:14px}
  .agenda-item{grid-template-columns:90px 9px minmax(0,1fr)}
  .project-box{grid-template-columns:minmax(0,1fr) 100px;gap:12px}
  .project-visual{height:112px}
  .progress-number{font-size:52px}
  .notify-strip{gap:12px}
  .notify-art .icon{width:34px;height:34px}
  .footer-inner{display:flex;flex-direction:column;min-height:0;padding:20px 16px;gap:10px}
  .footer-social{display:flex;order:2}
  .footer-domain{margin-left:0}
  .footer-copy{order:1}
  .footer-right{display:none}
}

@media(max-width:430px){
  .brand img{max-width:178px}
  .card-pad,.quick-card,.generic-content,.generic-sidebar,.side-panel{padding:18px}
  .card-head{align-items:flex-start}
  .card-title{font-size:13px;line-height:1.35}
  .quick-link{font-size:11.5px;min-height:104px}
  .project-box{grid-template-columns:1fr}
  .project-visual{height:105px;background-position:left center}
  .agenda-item{grid-template-columns:1fr;gap:5px}
  .agenda-dot{display:none}
  .footer-domain{font-size:11px}
  .footer-social a{width:36px;height:36px}
  .upload-zone{padding:24px 14px;min-height:300px}
  .upload-zone h3{font-size:16px;line-height:1.35}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1!important;transform:none!important}
}

/* V9 — About page icon consistency: SVG-only, one visual system */
.about-bottom .panel-heading h3,
.about-bottom .card-title{gap:11px}
.about-bottom .panel-heading h3>.icon,
.about-bottom .card-title>.icon{width:22px;height:22px;flex:0 0 22px;vertical-align:0}
.org-node{display:flex;align-items:center;justify-content:center;gap:7px;line-height:1.3}
.org-node>.icon{width:16px;height:16px;flex:0 0 16px;vertical-align:0}
.scope-item{align-items:flex-start}
.scope-item .tick{width:20px;height:20px;flex:0 0 20px;margin-top:1px}
.scope-item .tick .tick-icon{width:14px;height:14px;display:block;vertical-align:0}
.value-box{gap:7px;line-height:1.35}
.value-box>.icon{width:29px;height:29px;flex:0 0 29px;margin:0 0 2px;vertical-align:0}
.about-cta .rocket{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(255,195,41,.13);color:var(--gold);font-size:0}
.about-cta .rocket>.icon{width:31px;height:31px;display:block;vertical-align:0}
@media (max-width:640px){.org-node>.icon{width:17px;height:17px;flex-basis:17px}.value-box>.icon{width:28px;height:28px;flex-basis:28px}}

/* ========================================================================== 
   REVISION V10 — Tinggi hero seluruh halaman mengikuti Beranda
   Hanya menyamakan tinggi container hero; konten, artwork, dan struktur tetap.
   ========================================================================== */
@media (min-width:1001px){
  .hero,
  .hero.hero-compact,
  .hero.hero-about,
  .hero.hero-other{
    min-height:430px;
  }

  .hero .hero-inner,
  .hero-compact .hero-inner,
  .hero-about .hero-inner,
  .hero-other .hero-inner{
    min-height:430px;
  }
}

@media (min-width:821px) and (max-width:1000px){
  .hero,
  .hero.hero-compact,
  .hero.hero-about,
  .hero.hero-other{
    min-height:450px;
  }

  .hero .hero-inner,
  .hero-compact .hero-inner,
  .hero-about .hero-inner,
  .hero-other .hero-inner{
    min-height:450px;
  }
}

/* Pada tablet/mobile, tinggi artwork semua tipe hero mengikuti Beranda. */
@media (max-width:820px){
  .hero-art,
  .hero-compact .hero-art,
  .hero-about .hero-art,
  .hero-other .hero-art{
    height:178px;
    min-height:178px;
    flex-basis:178px;
  }
}

@media (max-width:430px){
  .hero-art,
  .hero-compact .hero-art,
  .hero-about .hero-art,
  .hero-other .hero-art{
    height:168px;
    min-height:168px;
    flex-basis:168px;
  }
}

/* ========================================================================== 
   REVISION V11 — Skala artwork hero mengikuti Beranda
   Menyamakan lebar area gambar dan cara background dirender tanpa mengganti aset.
   ========================================================================== */
@media (min-width:1001px){
  .hero-art,
  .hero-compact .hero-art,
  .hero-about .hero-art,
  .hero-other .hero-art{
    width:62%;
    background-size:cover;
    background-position:right center;
    background-repeat:no-repeat;
  }
}

@media (min-width:821px) and (max-width:1000px){
  .hero-art,
  .hero-compact .hero-art,
  .hero-about .hero-art,
  .hero-other .hero-art{
    width:100%;
    background-size:cover;
    background-position:right center;
    background-repeat:no-repeat;
  }
}

@media (max-width:820px){
  .hero-art,
  .hero-compact .hero-art,
  .hero-about .hero-art,
  .hero-other .hero-art{
    background-size:cover;
    background-repeat:no-repeat;
  }
}



/* ========================================================================== 
   REVISION V13 — Beranda mengikuti artwork Tentang Program
   Audit: Tentang Program menjadi source of truth. Tidak ada skala khusus Beranda.
   ========================================================================== */
@media (min-width:1001px){
  .hero.hero-home > .hero-art{
    width:62%;
    height:100%;
    background-image:url('../images/hero-original-large.webp');
    background-size:cover;
    background-position:right center;
    background-repeat:no-repeat;
  }
  .hero.hero-home > .hero-art:before{
    background:linear-gradient(90deg,#071b4f 0%,rgba(7,27,79,.90) 13%,rgba(7,27,79,.35) 42%,transparent 69%);
  }
}

/* ========================================================================== 
   REVISION V15 — TYPOGRAPHY SYSTEM
   Audit seluruh halaman: level teks yang sama memakai ukuran yang sama.
   Tujuan: tidak ada lagi deskripsi 12/14/16px acak antarhalaman.
   ========================================================================== */
:root{
  --type-hero-title:48px;
  --type-hero-desc:18px;
  --type-section-title:24px;
  --type-card-title:16px;
  --type-subheading:18px;
  --type-item-title:15px;
  --type-body:14px;
  --type-meta:12px;
  --type-control:13px;
}

/* Hero hierarchy — sama untuk Beranda dan seluruh subhalaman */
.hero .title,
.hero-compact .title,
.hero-about .title,
.hero-other .title{
  font-size:var(--type-hero-title);
  line-height:1.08;
}
.hero .subtitle,
.hero-compact .subtitle,
.hero-about .subtitle,
.hero-other .subtitle{
  font-size:var(--type-hero-desc);
  line-height:1.5;
}

/* Section / card heading hierarchy */
.section-title,
.section-center-title{
  font-size:var(--type-section-title);
  line-height:1.25;
}
.card-title,
.program-info .card-title{
  font-size:var(--type-card-title);
  line-height:1.35;
}
.panel-heading h3,
.sidebar-card h3,
.generic-sidebar h3,
.contact-card h3,
.notify-strip h3,
.upload-zone h3,
.about-cta h3{
  font-size:var(--type-subheading);
  line-height:1.35;
}

/* Major headings inside content cards */
.division-head h2{
  font-size:var(--type-section-title);
  line-height:1.2;
}
.project-box h3{
  font-size:var(--type-subheading);
  line-height:1.3;
}

/* Item titles — satu ukuran di seluruh halaman */
.card h4,
.announcement h4,
.brief-name h4,
.data-item h4,
.task-card h4,
.contact-person h4,
.person h4,
.timeline-cell h3,
.benefit strong,
.feature strong,
.document-row strong,
.person-mini strong,
.agenda-near-item strong,
.work-title{
  font-size:var(--type-item-title);
  line-height:1.4;
}

/* Body descriptions — satu ukuran di seluruh halaman */
.card p,
p.muted,
.brief-name p,
.data-item p,
.timeline-cell p,
.timeline-cell li,
.feature p,
.benefit p,
.task-card p,
.contact-card p,
.contact-person p,
.goal-card>p,
.goal-item p,
.quote-copy,
.scope-item,
.gallery-copy,
.notify-strip p,
.upload-zone p,
.sidebar-card>p,
.generic-sidebar>p,
.person p,
.division-card>p,
.panel-body>p,
.about-cta p,
.document-row span{
  font-size:var(--type-body);
  line-height:1.6;
}

/* Supporting/meta text — tanggal, label, status, jumlah file */
.announcement p,
.project-box p,
.progress-labels,
.small-label,
.info-chip,
.status,
.month-card small,
.brief-name .category,
.person-mini span,
.deadline span,
.deadline em,
.contact-tag,
.agenda-near-item small,
.agenda-near-item p,
.footer-inner{
  font-size:var(--type-meta);
}

/* Controls / links stay consistent */
.text-link,
.quick-link,
.resource-link,
.action-btn,
.tab,
.filter-btn,
.cal-btn,
.page-btn,
.bottom-btn{
  font-size:var(--type-control);
}

/* Specific content components that previously used undersized text */
.info-row strong,
.info-row span,
.deadline strong,
.board-head,
.metric span,
.value-box,
.work-box,
.category-item,
.quick-actions .action-line,
.faq-item,
.accordion-body{
  font-size:var(--type-body);
}

/* Keep special numeric emphasis as intentional display typography */
.deadline-main strong,
.progress-number,
.metric strong,
.student-total strong{
  line-height:1;
}

/* Tablet: same hierarchy across every page, only scaled for viewport */
@media (max-width:1000px){
  :root{
    --type-hero-title:44px;
    --type-hero-desc:17px;
  }
}

/* Mobile: semantic roles remain identical across pages */
@media (max-width:680px){
  :root{
    --type-hero-title:34px;
    --type-hero-desc:15px;
    --type-section-title:21px;
    --type-card-title:14px;
    --type-subheading:17px;
    --type-item-title:14px;
    --type-body:14px;
    --type-meta:12px;
    --type-control:12px;
  }

  .hero .title,
  .hero-compact .title,
  .hero-about .title,
  .hero-other .title{
    font-size:var(--type-hero-title);
  }

  .hero .subtitle,
  .hero-compact .subtitle,
  .hero-about .subtitle,
  .hero-other .subtitle{
    font-size:var(--type-hero-desc);
  }

  .card-title,
  .program-info .card-title{
    font-size:var(--type-card-title);
  }
}

@media (max-width:430px){
  :root{
    --type-hero-title:30px;
  }
}

/* V16 — Footer: remove inner/double panel, keep the outer footer shell */
.site-footer .footer-inner{
  background:transparent;
  border-radius:0;
}

/* ========================================================================== 
   FOOTER AUDIT FIX V18 — separate social buttons from website link
   Root cause: .footer-domain was nested inside .footer-social and inherited
   the fixed square dimensions/border intended only for icon buttons.
   ========================================================================== */
.footer-center{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  min-width:0;
}
.footer-center .footer-social{
  display:flex;
  align-items:center;
  gap:10px;
}
.footer-center .footer-domain{
  width:auto;
  height:auto;
  display:flex;
  align-items:center;
  gap:9px;
  margin-left:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fff;
  white-space:nowrap;
  font-weight:700;
  text-decoration:none;
  transform:none;
}
.footer-center .footer-domain:hover{
  background:transparent;
  color:#fff;
  transform:none;
}
.footer-center .footer-domain .icon{
  width:17px;
  height:17px;
  flex:0 0 17px;
}
@media(max-width:680px){
  .footer-center{
    flex-wrap:wrap;
    gap:10px 16px;
  }
}


/* ============================================================
   V19 — ICON SYSTEM AUDIT
   Source: Google Material Symbols Rounded (official Google Fonts)
   Goal: one consistent UI icon family across every page.
   Third-party brand marks (Instagram/TikTok/etc.) remain brand SVGs.
   ============================================================ */
.material-symbols-rounded.icon{
  font-family:'Material Symbols Rounded';
  font-weight:400;
  font-style:normal;
  font-size:24px;
  line-height:1;
  letter-spacing:normal;
  text-transform:none;
  display:inline-grid;
  place-items:center;
  white-space:nowrap;
  word-wrap:normal;
  direction:ltr;
  -webkit-font-feature-settings:'liga';
  font-feature-settings:'liga';
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow:hidden;
  padding:0;
  flex:0 0 auto;
  vertical-align:-.14em;
}
/* Preserve the component sizing already defined by the master UI. */
.card-title>.material-symbols-rounded.icon,
.panel-heading h3>.material-symbols-rounded.icon,
.sidebar-card h3>.material-symbols-rounded.icon{font-size:23px}
.btn>.material-symbols-rounded.icon{font-size:19px}
.icon-btn>.material-symbols-rounded.icon,.login-btn>.material-symbols-rounded.icon{font-size:21px}
.hero-date>.material-symbols-rounded.icon{font-size:20px}
.hero-stat>.material-symbols-rounded.icon{font-size:22px}
.icon-circle>.material-symbols-rounded.icon{font-size:24px}
.quick-link>.material-symbols-rounded.icon{font-size:26px}
.announcement .a-icon>.material-symbols-rounded.icon{font-size:19px}
.action-btn>.material-symbols-rounded.icon{font-size:18px}
.category-icon>.material-symbols-rounded.icon,.doc-icon>.material-symbols-rounded.icon{font-size:22px}
.division-symbol>.material-symbols-rounded.icon{font-size:33px}
.work-box>.material-symbols-rounded.icon{font-size:25px}
.work-title>.material-symbols-rounded.icon,.benefit>.material-symbols-rounded.icon{font-size:23px}
.org-node>.material-symbols-rounded.icon{font-size:16px}
.scope-item .tick>.material-symbols-rounded.icon{font-size:14px}
.value-box>.material-symbols-rounded.icon{font-size:28px}
.about-cta .rocket>.material-symbols-rounded.icon{font-size:31px}
.notify-art>.material-symbols-rounded.icon{font-size:39px}
.footer-domain>.material-symbols-rounded.icon{font-size:18px}
.bottom-btn>.material-symbols-rounded.icon,.text-link>.material-symbols-rounded.icon{font-size:18px}
.resource-link .material-symbols-rounded.icon{font-size:19px}
.document-row>.material-symbols-rounded.icon{font-size:20px}
.cal-btn>.material-symbols-rounded.icon,.page-btn>.material-symbols-rounded.icon{font-size:18px}
/* Make the CTA rocket clean and proportional; no custom-drawn rocket remains. */
.about-cta .rocket{background:rgba(255,195,41,.12)}
@media (max-width:640px){
  .org-node>.material-symbols-rounded.icon{font-size:17px}
  .value-box>.material-symbols-rounded.icon{font-size:27px}
  .quick-link>.material-symbols-rounded.icon{font-size:24px}
}


/* V21 — Tombol download & akses cepat konsisten dengan Unduh Panduan Brief */
.timeline-download,
.quick-actions .action-line,
.filter-sidebar .btn {
  width:100%;
  min-height:48px;
  height:auto;
  padding:10px 16px;
  border:1px solid #b4c3e1;
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:13px;
  font-weight:800;
  line-height:1.25;
  text-align:center;
  box-shadow:none;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
.timeline-download:hover,
.quick-actions .action-line:hover,
.filter-sidebar .btn:hover {
  transform:translateY(-2px);
  border-color:#7fa4e8;
  background:#f8fbff;
  color:#0b52d8;
  box-shadow:0 8px 18px rgba(10,52,126,.10);
}
.timeline-download>.material-symbols-rounded.icon,
.quick-actions .action-line>.material-symbols-rounded.icon,
.filter-sidebar .btn>.material-symbols-rounded.icon {
  flex:0 0 auto;
  font-size:19px;
}
.quick-actions {
  gap:10px;
}
@media(max-width:600px){
  .timeline-download,
  .quick-actions .action-line,
  .filter-sidebar .btn {
    min-height:46px;
    padding:9px 13px;
    font-size:12.5px;
  }
}

/* =========================================================
   V22 — DIVISI WORK CARDS: MAKSIMAL 2 BARIS
   Audit: 6 kolom membuat label 14px pecah menjadi 3–4 baris.
   Desktop/tablet dibuat 3 kolom agar setiap label tetap terbaca.
   ========================================================= */
.work-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.work-box{
  min-height:112px;
  padding:12px 10px;
}
.work-box > span:not(.material-symbols-rounded){
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  max-width:100%;
  line-height:1.4;
  min-height:2.8em;
}
@media (max-width:640px){
  .work-grid{grid-template-columns:1fr 1fr;gap:10px}
  .work-box{min-height:108px;padding:10px 8px}
}


/* =========================================================
   V23 — TIMELINE: STATUS & CONTROL SATU BARIS
   Audit: badge status mengizinkan wrapping dan masih memakai
   karakter simbol. Pakai Material Symbols + no-wrap desktop.
   ========================================================= */
.timeline-cell.last{
  padding-left:10px;
  padding-right:10px;
}
.timeline-cell.last .status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:5px;
  white-space:nowrap;
  width:max-content;
  max-width:none;
  line-height:1;
}
.timeline-cell.last .status > .material-symbols-rounded.icon{
  font-size:14px;
  flex:0 0 14px;
  overflow:visible;
  vertical-align:0;
}
.timeline-download{
  white-space:nowrap;
  padding-left:12px;
  padding-right:12px;
}
@media (min-width:1001px){
  .timeline-row{
    grid-template-columns:50px 95px minmax(0,1.45fr) minmax(170px,.85fr) 190px 142px;
  }
}
@media (min-width:1001px) and (max-width:1250px){
  .timeline-row{
    grid-template-columns:50px 90px minmax(0,1.2fr) minmax(150px,.75fr) 170px 132px;
  }
  .timeline-cell.last .status{padding-left:9px;padding-right:9px;font-size:11px}
  .timeline-download{font-size:12px;padding-left:9px;padding-right:9px;gap:6px}
}
@media (max-width:1000px){
  .timeline-cell.last .status{white-space:nowrap}
  .timeline-download{white-space:normal}
}

/* ============================================================
   V24 — ABOUT / VALUE CARD SPACING POLISH
   Audit: value-card previously used card-pad while its siblings use
   panel-heading + panel-body. Align the structure and spacing.
   ============================================================ */
.about-bottom > .card{
  min-width:0;
}
.value-card{
  display:flex;
  flex-direction:column;
}
.value-card .panel-heading h3{
  gap:14px;
  line-height:1.25;
}
.value-card .panel-heading h3 > .material-symbols-rounded.icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  font-size:24px;
  margin:0;
}
.value-panel-body{
  flex:1;
  display:flex;
  align-items:center;
  padding:18px 20px 20px;
}
.value-grid{
  width:100%;
  gap:12px;
}
.value-box{
  min-height:104px;
  padding:13px 10px;
  gap:10px;
  line-height:1.35;
}
.value-box > .material-symbols-rounded.icon{
  width:32px;
  height:32px;
  flex:0 0 32px;
  font-size:30px;
  margin:0;
}
.value-label{
  display:flex;
  min-height:38px;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.35;
}
@media (max-width:640px){
  .value-card .panel-heading h3{gap:12px}
  .value-panel-body{padding:16px}
  .value-box{min-height:100px;padding:12px 8px;gap:9px}
  .value-box > .material-symbols-rounded.icon{width:30px;height:30px;flex-basis:30px;font-size:28px}
}


/* =========================================================
   V25 — HOME DASHBOARD ALIGNMENT POLISH
   Audit target: Beranda cards shown in user review.
   Keep content/functions unchanged; normalize spacing and flow.
   ========================================================= */
@media (min-width:1001px){
  .home-top > .card,
  .home-bottom > .card{
    display:flex;
    flex-direction:column;
  }

  .home-top > .card:not(.deadline-card) .card-head,
  .home-bottom > .card .card-head{
    flex:0 0 auto;
    align-items:center;
    margin-bottom:18px;
  }

  /* Announcement: keep CTA aligned to the bottom like the other cards. */
  .home-top > .card:first-child .announcement-list{
    flex:1 1 auto;
  }
  .home-top > .card:first-child > .text-link{
    margin-top:auto!important;
    padding-top:14px;
    align-self:flex-start;
  }

  /* Quick access: identical label area, max 2 lines, no hard-coded BR. */
  .quick-grid{
    flex:1 1 auto;
    grid-auto-rows:1fr;
  }
  .quick-link{
    min-height:0;
    height:100%;
    justify-content:center;
    align-content:center;
  }
  .quick-label{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:2.4em;
    max-width:100%;
    line-height:1.2;
    text-align:center;
    font-weight:700;
  }

  /* Bottom cards: consistent height and footer action position. */
  .home-bottom > .card{
    min-height:300px;
  }
  .home-bottom > .card > .text-link{
    margin-top:auto!important;
    padding-top:18px;
    align-self:flex-start;
  }

  /* Agenda rows line up without the title drifting vertically. */
  .agenda-list{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .agenda-item{
    grid-template-columns:112px 10px minmax(0,1fr);
    align-items:center;
  }
  .agenda-item > span:first-child,
  .agenda-item strong{
    white-space:nowrap;
  }

  /* Project active: center the composition and remove dead vertical space. */
  .home-bottom > .card:nth-child(2) .project-box{
    flex:1 1 auto;
    min-height:0;
    grid-template-columns:minmax(0,1fr) 168px;
    gap:26px;
    align-items:center;
  }
  .home-bottom > .card:nth-child(2) .project-box > div:first-child{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-width:0;
  }
  .project-box h3{
    margin:0 0 10px;
    max-width:300px;
  }
  .project-box p{
    margin-bottom:0;
  }
  .project-box .btn{
    margin-top:14px!important;
    min-width:128px;
  }
  .project-visual{
    width:100%;
    max-width:168px;
    height:150px;
    justify-self:end;
  }

  /* Progress and resources use the same bottom-action rhythm. */
  .home-bottom > .card:nth-child(3) .progress-track{
    margin-top:16px;
  }
  .home-bottom > .card:nth-child(4) .resource-list{
    flex:1 1 auto;
  }
}

@media (max-width:1000px){
  .quick-label{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:2.4em;
    line-height:1.2;
    text-align:center;
    font-weight:700;
  }
}

/* V26 — Contact profile photos: perfect 1:1 circles */
.contact-card img{
  width:90px;
  height:90px;
  min-width:90px;
  min-height:90px;
  flex:0 0 90px;
  aspect-ratio:1 / 1;
  border-radius:50%;
  object-fit:cover;
  object-position:center;
  display:block;
}
@media (max-width:640px){
  .contact-card img{
    width:82px;
    height:82px;
    min-width:82px;
    min-height:82px;
    flex-basis:82px;
  }
}


/* V27 — Contact avatar audit fix: remove white rings and crop source assets inside a true circular mask */
.contact-card .contact-avatar{
  width:90px;
  height:90px;
  min-width:90px;
  min-height:90px;
  flex:0 0 90px;
  aspect-ratio:1 / 1;
  border-radius:50%;
  overflow:hidden;
  display:block;
  background:#e8eef7;
  border:1px solid #cbd8e8;
  box-shadow:none;
}
.contact-card .contact-avatar img{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  aspect-ratio:1 / 1;
  display:block;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  object-fit:cover;
  object-position:center;
  transform-origin:center center;
}
/* Source assets have different built-in white margins, so crop them independently. */
.contact-card .contact-avatar img[src*="profile-trisakti"]{
  transform:scale(1.10);
}
.contact-card .contact-avatar img[src*="profile-rofis"]{
  transform:translateY(6px) scale(1.16);
}
@media (max-width:640px){
  .contact-card .contact-avatar{
    width:82px;
    height:82px;
    min-width:82px;
    min-height:82px;
    flex-basis:82px;
  }
}
