:root{
    --blue:#003f9f;
    --blue-2:#0c5fd5;
    --blue-3:#082b75;
    --navy:#061f57;
    --red:#d71920;
    --soft-blue:#eef6ff;
    --text:#08204a;
    --muted:#5e6b83;
    --line:#e3eaf4;
    --card:#ffffff;
    --shadow:0 13px 32px rgba(8,38,92,.10);
    --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
    background:#fff;
    color:var(--text);
    overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1680px,calc(100% - 64px));margin-inline:auto}
.site-shell{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#f8fbff 0,#fff 31%,#fff 100%)}
.main-content{flex:1}
.topbar-wrap{position:relative;z-index:50;padding:0 0 8px;background:linear-gradient(180deg,#edf6ff 0,#f8fbff 100%)}
.topbar{
    height:66px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(221,231,246,.85);
    border-radius:0 0 22px 22px;
    box-shadow:0 14px 38px rgba(12,53,124,.12);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 28px;
    backdrop-filter:blur(14px);
}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:25px;letter-spacing:-.7px;color:#092c74;white-space:nowrap}
.brand img{width:45px;height:45px;filter:drop-shadow(0 6px 9px rgba(0,0,0,.12))}
.nav-links{display:flex;align-items:center;gap:8px;height:100%}
.nav-link{height:100%;display:flex;align-items:center;gap:5px;padding:0 15px;font-size:14px;font-weight:600;color:#0c234e;position:relative;transition:.22s ease}
.nav-link svg{width:14px;height:14px;stroke-width:2.5}
.nav-link:hover,.nav-link.active{color:#004eb8}
.nav-link.active:after{content:"";position:absolute;left:14px;right:14px;bottom:10px;height:3px;background:var(--blue-2);border-radius:999px}
.nav-dropdown{height:100%;position:relative;display:flex;align-items:center}
.dropdown-menu{position:absolute;top:61px;left:0;width:220px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s ease}
.nav-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu a{display:block;padding:11px 12px;border-radius:10px;font-size:13px;font-weight:700;color:#18345f}
.dropdown-menu a:hover{background:#eef5ff;color:var(--blue-2)}
.login-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#dc0612,#063985);color:#fff;font-size:14px;font-weight:900;border-radius:5px;padding:13px 20px;margin-left:10px;box-shadow:0 9px 20px rgba(0,64,159,.20);transition:.25s ease}
.login-btn:hover{transform:translateY(-2px);filter:saturate(1.08)}
.login-btn svg{width:17px;height:17px}
.mobile-toggle{display:none;border:0;background:#eef5ff;color:#073176;border-radius:12px;width:44px;height:44px;align-items:center;justify-content:center}
.mobile-toggle svg{width:23px;height:23px}

.hero-shell{position:relative;overflow:hidden;background:radial-gradient(circle at 67% 18%,rgba(255,255,255,.95) 0,rgba(220,238,255,.75) 27%,transparent 46%),radial-gradient(circle at 12% 34%,rgba(255,255,255,.75) 0,transparent 34%),linear-gradient(135deg,#f7fbff 0,#eef7ff 47%,#dcefff 100%);padding:58px 0 76px}
.hero-shell:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#bfd9fa 1px,transparent 1px);background-size:14px 14px;opacity:.32;mask-image:linear-gradient(90deg,#000,transparent 78%)}
.hero-shell:after{content:"";position:absolute;right:-88px;bottom:-40px;width:760px;height:210px;background:linear-gradient(180deg,#e51a22 0 43%,#0b66dd 44%,#013f9a 100%);border-radius:50% 0 0 0/100% 0 0 0;transform:rotate(-7deg);opacity:.92;filter:blur(.1px);animation:heroWave 7s ease-in-out infinite}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.14fr;min-height:388px;align-items:center;gap:18px}
.hero-text{padding-top:6px;animation:heroTextIn .75s ease both}
.kicker{font-size:16px;font-weight:900;color:var(--red);margin:0 0 13px;letter-spacing:-.1px}
.hero-title{font-size:52px;line-height:1.03;letter-spacing:-2.6px;color:#07166b;margin:0 0 16px;font-weight:900}
.hero-desc{font-size:16px;line-height:1.55;color:#253955;margin:0 0 28px;max-width:465px;font-weight:500}
.cta-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:7px;border:1.5px solid transparent;font-weight:900;font-size:14px;transition:.25s ease;white-space:nowrap}
.btn svg{width:19px;height:19px;stroke-width:2.7}
.btn-primary{background:linear-gradient(135deg,#075cc8,#003e9c);color:#fff;box-shadow:0 9px 22px rgba(0,71,174,.22);animation:ctaBreath 3.8s ease-in-out infinite}
.btn-outline{background:#fff;color:#063e9c;border-color:#0a58c2;box-shadow:0 8px 20px rgba(5,55,140,.08)}
.btn:hover{transform:translateY(-2px)}
.hero-visual{position:relative;align-self:end;min-height:398px;display:flex;align-items:flex-end;justify-content:flex-end;z-index:3;isolation:isolate;animation:heroVisualIn .9s ease both}
.hero-visual:before{content:"";position:absolute;right:8%;top:-4px;width:435px;height:318px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.78),rgba(255,255,255,.26) 56%,transparent 72%);border-radius:45% 55% 52% 48%;filter:blur(.2px);animation:blobFloat 6s ease-in-out infinite}
.hero-visual:after{content:"";position:absolute;right:-9%;bottom:8px;width:700px;height:104px;background:linear-gradient(90deg,rgba(4,79,185,.95),rgba(7,100,216,.88),rgba(255,255,255,.22));border-radius:999px;transform:rotate(-5deg);opacity:.72;filter:blur(.1px);z-index:0;animation:swooshDrift 5.5s ease-in-out infinite}
.hero-cutout{position:relative;z-index:4;width:min(760px,124%);height:auto;max-height:430px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 28px rgba(5,35,88,.18));border-radius:0;animation:heroFloat 5.2s ease-in-out infinite;will-change:transform}
.hero-glow{position:absolute;right:14%;bottom:43px;width:420px;height:110px;background:radial-gradient(circle,rgba(0,80,194,.28),transparent 70%);filter:blur(18px);z-index:1;animation:glowPulse 4.8s ease-in-out infinite}
.hero-ring{position:absolute;border:2px solid rgba(22,103,216,.20);border-radius:50%;z-index:1;animation:ringSpin 14s linear infinite}
.ring-one{right:10%;top:-2px;width:340px;height:340px}.ring-two{right:31%;top:86px;width:130px;height:130px;animation-duration:10s;animation-direction:reverse}
.hero-swoosh{position:absolute;display:block;border-radius:999px;transform:rotate(-11deg);z-index:3;pointer-events:none;filter:drop-shadow(0 8px 13px rgba(4,63,159,.14))}
.swoosh-red{right:176px;bottom:70px;width:360px;height:22px;background:linear-gradient(90deg,transparent,#e31b23 20%,#ff3e42 50%,transparent);animation:swooshRed 4.6s ease-in-out infinite}
.swoosh-blue{right:-34px;bottom:40px;width:470px;height:25px;background:linear-gradient(90deg,transparent,#0f68dc 18%,#0a4dae 55%,transparent);animation:swooshBlue 5.1s ease-in-out infinite}
.hero-ui{position:absolute;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.76);border:1px solid rgba(199,218,245,.8);color:#0a54bb;display:grid;place-items:center;box-shadow:0 10px 22px rgba(10,55,130,.13);backdrop-filter:blur(10px);z-index:5;animation:iconFloat 4.4s ease-in-out infinite}
.hero-ui svg{width:21px;height:21px;stroke-width:2.5}.hero-chat{right:62%;top:78px}.hero-calendar{right:1%;bottom:80px;animation-delay:1.2s}
.float-diamond{position:absolute;width:22px;height:22px;background:#d9eafe;transform:rotate(45deg);border-radius:5px;opacity:.9;animation:floaty 5s ease-in-out infinite}
.diamond-a{left:45%;top:53%}.diamond-b{right:3%;top:11%;animation-delay:.8s}.diamond-c{left:8%;bottom:8%;animation-delay:1.4s}
@keyframes heroTextIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroVisualIn{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}
@keyframes heroFloat{50%{transform:translateY(-10px)}}
@keyframes iconFloat{50%{transform:translateY(-12px) scale(1.04)}}
@keyframes floaty{50%{transform:translateY(-8px) rotate(45deg)}}
@keyframes blobFloat{50%{transform:translateY(-10px) scale(1.03)}}
@keyframes heroWave{50%{transform:rotate(-5deg) translateY(-7px)}}
@keyframes swooshDrift{50%{transform:rotate(-4deg) translateX(-16px) translateY(-5px)}}
@keyframes swooshRed{50%{transform:rotate(-9deg) translateX(20px) translateY(-8px);opacity:.82}}
@keyframes swooshBlue{50%{transform:rotate(-12deg) translateX(-18px) translateY(6px);opacity:.78}}
@keyframes glowPulse{50%{opacity:.58;transform:scale(1.08)}}
@keyframes ringSpin{to{transform:rotate(360deg)}}
@keyframes ctaBreath{50%{box-shadow:0 13px 30px rgba(0,71,174,.30)}}
@media(prefers-reduced-motion:reduce){.hero-shell:after,.hero-text,.hero-visual,.hero-cutout,.hero-glow,.hero-ring,.hero-swoosh,.hero-ui,.float-diamond,.btn-primary{animation:none!important}}
.stats-wrap{position:relative;margin-top:-67px;z-index:6}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#fff;border:1px solid #dde7f4;border-radius:12px;padding:14px;box-shadow:0 13px 30px rgba(16,50,95,.13)}
.stat-card{display:flex;align-items:center;gap:18px;padding:18px 17px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 8px 18px rgba(10,40,88,.05);transition:.22s ease}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(10,40,88,.10)}
.stat-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#eaf2ff;color:#064fb9}
.stat-icon.red{background:#ffecef;color:#d71920}
.stat-icon svg{width:34px;height:34px;stroke-width:2.6}
.stat-label{font-size:14px;color:#465672;font-weight:700;margin-bottom:3px}
.stat-value{font-size:25px;line-height:1;font-weight:900;color:#062b75;margin-bottom:5px;letter-spacing:-.6px}
.stat-desc{font-size:12px;color:#5a6981;font-weight:600}
.section{padding:34px 0 0}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:20px}
.section-title{font-size:21px;font-weight:900;color:#071b4d;margin:0;display:flex;align-items:center;gap:12px;letter-spacing:-.35px}
.section-title:before{content:"";width:4px;height:18px;background:var(--red);border-radius:4px;display:inline-block}
.view-all{font-size:13px;font-weight:900;color:#054eaf;display:inline-flex;align-items:center;gap:8px}
.view-all svg{width:16px;height:16px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.news-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 8px 20px rgba(12,43,86,.08);transition:.25s ease}
.news-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(12,43,86,.13)}
.news-img{height:122px;position:relative;overflow:hidden;background:#dce9f7}
.news-img img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.news-card:hover .news-img img{transform:scale(1.05)}
.badge{position:absolute;left:12px;bottom:11px;background:#054aa8;color:#fff;text-transform:uppercase;font-size:10px;font-weight:900;padding:5px 8px;border-radius:3px}
.badge.red{background:#d71920}.badge.info{background:#0c57b8}
.news-body{padding:16px 16px 18px}
.news-date{text-align:right;color:#7c879a;font-size:11px;margin-top:-8px;margin-bottom:5px;font-weight:600}
.news-body h3{font-size:17px;line-height:1.32;margin:0 0 11px;color:#07317a;letter-spacing:-.2px}
.news-body p{font-size:14px;line-height:1.48;color:#415069;margin:0;font-weight:500}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:17px}
.service-card{height:160px;background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;box-shadow:0 9px 21px rgba(12,43,86,.07);transition:.24s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(12,43,86,.13)}
.service-card .service-icon{height:48px;color:#034aab;margin-bottom:13px}
.service-card:nth-child(even) .service-icon{color:#d71920}
.service-card svg{width:46px;height:46px;stroke-width:2.25}
.service-card h3{font-size:14px;line-height:1.25;margin:0 0 9px;color:#072d73;font-weight:900}
.service-card p{font-size:12px;line-height:1.42;color:#465672;margin:0;font-weight:500}
.info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:17px;padding-bottom:30px}
.panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 9px 22px rgba(12,43,86,.08);overflow:hidden}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px 10px;border-bottom:1px solid #eef3f9}
.panel-head h3{font-size:17px;font-weight:900;margin:0;color:#071b4d;display:flex;align-items:center;gap:10px}
.panel-head h3:before{content:"";width:4px;height:17px;background:var(--red);border-radius:4px;display:inline-block}
.agenda-list,.announcement-list{padding:5px 18px 14px}
.agenda-item{display:grid;grid-template-columns:56px 1fr;gap:13px;padding:14px 0;border-bottom:1px solid #edf2f8}
.agenda-item:last-child{border-bottom:0}
.date-box{width:52px;height:55px;border:2px solid #0c5fd5;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#064fb9;background:#fff;font-weight:900;line-height:1}
.date-box.red{border-color:#e32930;color:#e32930}
.date-box span:first-child{font-size:22px}.date-box span:last-child{font-size:12px;margin-top:5px}
.agenda-title{font-size:13px;font-weight:900;color:#07317a;margin-bottom:5px;line-height:1.25}
.agenda-meta{font-size:11px;color:#5d6a7c;margin-bottom:5px}
.location{display:flex;align-items:center;gap:5px;font-size:11px;color:#33445f;font-weight:600}
.location svg{width:12px;height:12px;color:#00a66c}
.announcement-item{padding:13px 0;border-bottom:1px solid #edf2f8}
.announcement-item:last-child{border-bottom:0}
.announcement-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.announcement-top .date{font-size:11px;color:#748198;font-weight:600}
.announcement-item h4{font-size:13px;line-height:1.28;margin:0 0 5px;font-weight:900;color:#17213b}
.announcement-item p{font-size:12px;line-height:1.38;color:#49586e;margin:0;font-weight:500}
.gallery-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:15px}
.gallery-mini a{height:75px;border-radius:7px;overflow:hidden;background:#dce9f7;display:block;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.gallery-mini img{width:100%;height:100%;object-fit:cover;transition:.28s ease}.gallery-mini a:hover img{transform:scale(1.06)}
.page-hero{background:linear-gradient(135deg,#f2f8ff,#e2f1ff);padding:50px 0 38px;border-bottom:1px solid #dce8f5;position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:-95px;bottom:-50px;width:390px;height:150px;background:linear-gradient(180deg,#e31a22 0 45%,#014aa9 46%);border-radius:50% 0 0 0;transform:rotate(-7deg)}
.page-hero .container{position:relative;z-index:2}
.breadcrumb{display:flex;align-items:center;gap:8px;color:#d71920;font-size:13px;font-weight:900;margin-bottom:12px}
.breadcrumb svg{width:16px;height:16px}
.page-hero h1{font-size:40px;line-height:1.1;letter-spacing:-1.3px;margin:0 0 10px;color:#07166b;font-weight:900}
.page-hero p{font-size:16px;line-height:1.6;color:#475872;max-width:720px;margin:0;font-weight:500}
.content-section{padding:32px 0 46px}
.content-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:26px;line-height:1.7;color:#2f3e57;font-weight:500}
.content-card h2,.content-card h3{color:#082b75;margin-top:0}.content-card p{margin-top:0}.content-card img{border-radius:12px;margin-bottom:18px;max-height:320px;object-fit:cover;width:100%}
.list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.list-grid.two{grid-template-columns:repeat(2,1fr)}
.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:20px;align-items:start}
.contact-box{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:24px}
.contact-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #edf2f8}.contact-item:last-child{border-bottom:0}
.contact-item svg{color:#0955bf;width:23px;height:23px;flex:0 0 auto}.contact-item strong{display:block;font-size:14px;color:#071b4d;margin-bottom:4px}.contact-item span{font-size:14px;color:#506078;line-height:1.45}
.form-grid{display:grid;gap:14px}.form-grid label{font-size:13px;font-weight:900;color:#102957}.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid #dce5f0;border-radius:10px;padding:13px 14px;font:inherit;color:#102957;background:#fbfdff;outline:none;transition:.2s ease}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:#0c5fd5;box-shadow:0 0 0 4px rgba(12,95,213,.10)}.form-grid textarea{min-height:145px;resize:vertical}
.notice{padding:13px 15px;border-radius:10px;margin-bottom:16px;font-weight:800;font-size:14px;background:#eef8f2;color:#0a6c3b;border:1px solid #c9ecd7}.notice.error{background:#fff0f1;color:#b40e18;border-color:#ffd1d6}
.login-page{min-height:calc(100vh - 255px);display:grid;place-items:center;padding:48px 0;background:linear-gradient(135deg,#f8fbff,#e6f3ff)}
.login-card{width:min(450px,calc(100% - 36px));background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 55px rgba(8,38,92,.14);padding:28px}.login-card .brand{justify-content:center;margin-bottom:16px}.login-card h1{text-align:center;font-size:27px;margin:0 0 9px;color:#07166b}.login-card p{text-align:center;margin:0 0 22px;color:#5c6a80}.login-help{font-size:13px;background:#f2f7ff;border:1px solid #dce8f7;border-radius:12px;padding:12px;margin-top:15px;color:#30445f;line-height:1.6}.login-help code{font-weight:900;color:#0a4dab}
.user-dashboard{padding:34px 0 46px}.dash-welcome{background:linear-gradient(135deg,#083b91,#005fd0);border-radius:18px;color:#fff;padding:28px;box-shadow:0 18px 45px rgba(3,48,120,.22);position:relative;overflow:hidden}.dash-welcome:after{content:"";position:absolute;right:-45px;bottom:-60px;width:220px;height:220px;background:rgba(255,255,255,.10);border-radius:50%}.dash-welcome h1{margin:0 0 8px;font-size:31px}.dash-welcome p{margin:0;color:#dcecff;max-width:650px;line-height:1.6}.dashboard-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:20px}.mini-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:20px}.mini-card svg{width:32px;height:32px;color:#064fb9;margin-bottom:12px}.mini-card h3{margin:0 0 8px;color:#071b4d}.mini-card p{margin:0;color:#53647c;line-height:1.55;font-size:14px}
.footer{background:linear-gradient(135deg,#003b8e,#001f57 70%,#00143f);color:#fff;padding:31px 0 18px;margin-top:auto}
.footer-grid{display:grid;grid-template-columns:1.15fr .9fr 1fr .88fr;gap:34px}.footer-brand{display:flex;align-items:center;gap:13px;font-size:21px;font-weight:900;margin-bottom:15px}.footer-brand img{width:51px;height:51px}.footer p{color:#d9e8ff;font-size:14px;line-height:1.5;margin:0 0 10px}.footer-about{padding-right:20px;border-right:1px solid rgba(255,255,255,.18)}.footer-block{border-right:1px solid rgba(255,255,255,.18);padding-right:20px}.footer-block:last-child{border-right:0}.footer-block h3{font-size:16px;margin:4px 0 20px;color:#fff}.footer-block p{display:flex;gap:11px;align-items:flex-start}.footer-block svg{width:18px;height:18px;flex:0 0 auto;color:#fff}.social-row{display:flex;gap:12px;margin-top:22px}.social-row a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;transition:.22s ease}.social-row a:hover{background:#fff;color:#003b8e}.social-row svg{width:18px;height:18px}.quick-links div{display:grid;grid-template-columns:1fr 1fr;gap:11px 25px}.quick-links a{font-size:14px;color:#dbe9ff}.quick-links a:hover{color:#fff;text-decoration:underline}.copyright{text-align:center;color:#cfe0fb;font-size:13px;margin-top:24px;padding-top:12px}
@media(max-width:1000px){
    .container{width:min(100% - 34px,980px)}
    .topbar{height:auto;min-height:66px;border-radius:0 0 18px 18px;position:relative}.brand{font-size:20px}.brand img{width:41px;height:41px}.mobile-toggle{display:flex}.nav-links{position:absolute;left:0;right:0;top:74px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);height:auto;display:none;flex-direction:column;align-items:stretch;padding:12px}.nav-links.open{display:flex}.nav-link{height:44px;padding:0 14px}.nav-link.active:after{left:14px;right:auto;width:34px;bottom:3px}.nav-dropdown{height:auto;display:block}.dropdown-menu{position:static;width:100%;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:#f6f9ff;margin:0 0 8px}.login-btn{margin:8px 0 0;border-radius:12px}.hero-shell{padding:40px 0 76px}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-title{font-size:42px}.hero-visual{min-height:310px;justify-content:center}.hero-visual img{height:320px;max-height:320px}.hero-shell:after{width:560px}.stats-grid{grid-template-columns:repeat(2,1fr)}.news-grid,.info-grid,.list-grid,.list-grid.two{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-about,.footer-block{border-right:0;padding-right:0}.dashboard-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
    .container{width:calc(100% - 24px)}.topbar{padding:0 14px}.brand span{font-size:18px}.hero-title{font-size:34px;letter-spacing:-1.2px}.hero-desc{font-size:14px}.hero-visual{display:none}.hero-shell{padding-bottom:82px}.hero-shell:after{right:-220px;width:520px;height:170px}.btn{width:100%}.stats-wrap{margin-top:-52px}.stats-grid{grid-template-columns:1fr;padding:10px}.stat-card{padding:15px}.section{padding-top:29px}.news-grid,.info-grid,.list-grid,.list-grid.two,.service-grid,.footer-grid,.dashboard-cards{grid-template-columns:1fr}.service-card{height:auto;min-height:145px}.page-hero{padding:38px 0 30px}.page-hero h1{font-size:31px}.content-card{padding:20px}.gallery-mini a{height:90px}.quick-links div{grid-template-columns:1fr}.footer{text-align:left}.login-card{padding:22px}.news-img{height:145px}
}

/* KTA Digital */
.kta-page-grid{display:grid;grid-template-columns:.86fr 1.36fr;gap:22px;align-items:start}.kta-form-card{position:sticky;top:18px}.kta-preview-panel{min-width:0}.kta-note{font-size:13px;color:#5a6981;font-weight:700;margin:14px 0 0}.kta-card{position:relative;width:min(100%,920px);aspect-ratio:793/496;overflow:hidden;border-radius:26px;background:#e9b35d;box-shadow:0 20px 45px rgba(27,52,89,.18);isolation:isolate;color:#050505;transform-origin:top left}.kta-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(255,255,255,.08),rgba(255,255,255,.08)),repeating-linear-gradient(0deg,rgba(105,62,18,.055) 0 2px,transparent 2px 12px),repeating-linear-gradient(88deg,rgba(255,255,255,.11) 0 1px,rgba(167,90,23,.045) 1px 4px,transparent 4px 18px),linear-gradient(135deg,#f8c36f,#e6aa53 45%,#f1bd68);z-index:-3}.kta-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 34%,rgba(255,255,255,.20),transparent 24%),radial-gradient(circle at 72% 78%,rgba(148,88,16,.13),transparent 36%);z-index:-2}.kta-border{position:absolute;inset:18px;border:3px solid rgba(255,255,255,.92);border-radius:22px;z-index:4;pointer-events:none}.kta-logo{position:absolute;left:44px;top:38px;width:112px;height:112px;z-index:5;filter:drop-shadow(0 2px 1px rgba(0,0,0,.18))}.kta-title{position:absolute;left:186px;right:34px;top:60px;text-align:center;z-index:5;color:#050505;font-family:Arial Black,Impact,Inter,sans-serif;font-weight:900;letter-spacing:0;line-height:1.04;text-shadow:1.6px 1.6px 0 #fff,-1.6px 1.6px 0 #fff,1.6px -1.6px 0 #fff,-1.6px -1.6px 0 #fff,0 3px 4px rgba(0,0,0,.16)}.kta-title strong{display:block;max-width:660px;margin:0 auto;font-size:24px;white-space:nowrap}.kta-title span{display:block;font-size:22px;margin-top:8px}.kta-map{position:absolute;left:155px;right:40px;top:165px;bottom:75px;opacity:.22;z-index:-1;background:radial-gradient(ellipse at 20% 55%,#54764a 0 14%,transparent 15%),radial-gradient(ellipse at 40% 46%,#54764a 0 13%,transparent 14%),radial-gradient(ellipse at 58% 40%,#54764a 0 11%,transparent 12%),radial-gradient(ellipse at 77% 54%,#54764a 0 15%,transparent 16%),radial-gradient(ellipse at 93% 43%,#54764a 0 8%,transparent 9%);filter:blur(.2px);transform:rotate(-5deg)}.kta-photo-wrap{position:absolute;left:48px;top:195px;width:188px;height:256px;border:6px solid #fff;border-radius:12px;background:#e50914;overflow:hidden;z-index:5;box-shadow:0 3px 7px rgba(0,0,0,.18)}.kta-photo-wrap img{width:100%;height:100%;object-fit:cover}.kta-valid{position:absolute;left:44px;bottom:34px;width:220px;text-align:left;font-size:15px;line-height:1.14;font-weight:900;z-index:5}.kta-info{position:absolute;left:285px;top:252px;z-index:5;font-family:Arial Black,Impact,Inter,sans-serif;color:#050505;letter-spacing:.2px}.kta-info h3,.kta-info p{font-size:25px}.kta-info p{font-size:28px}.kta-qr{position:absolute;right:46px;bottom:56px;width:190px;height:190px;background:#fff;border-radius:8px;padding:9px;z-index:5;box-shadow:0 2px 5px rgba(0,0,0,.14)}.kta-qr img{width:100%;height:100%;object-fit:contain}.kta-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}@media(max-width:1000px){.kta-page-grid{grid-template-columns:1fr}.kta-form-card{position:static}.kta-title strong{font-size:clamp(18px,4vw,38px)}.kta-title span{font-size:clamp(17px,3.7vw,34px)}.dashboard-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.kta-card{border-radius:16px}.kta-border{inset:9px;border-width:2px;border-radius:13px}.kta-logo{left:24px;top:20px;width:58px;height:58px}.kta-title{left:92px;right:18px;top:28px}.kta-title strong{font-size:15px}.kta-title span{font-size:15px;margin-top:6px}.kta-photo-wrap{left:24px;top:108px;width:88px;height:119px;border-width:4px}.kta-valid{left:20px;bottom:22px;width:105px;font-size:10px}.kta-info{left:142px;top:130px}.kta-info h3,.kta-info p{font-size:17px;margin-bottom:8px}.kta-info p{font-size:16px}.kta-qr{right:24px;bottom:27px;width:100px;height:100px;padding:5px}.kta-map{top:78px;bottom:35px;left:78px}}
@media print{body *{visibility:hidden!important}.kta-card,.kta-card *{visibility:visible!important}.kta-card{position:fixed!important;left:0!important;top:0!important;width:1000px!important;max-width:none!important;box-shadow:none!important;transform:none!important}.topbar-wrap,.footer,.page-hero,.kta-form-card,.section-head .btn,.kta-note{display:none!important}}
.dashboard-cards{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.dashboard-cards{grid-template-columns:1fr}}

/* KTA FIX OVERRIDES */
.kta-logo{left:44px!important;top:38px!important;width:112px!important;height:112px!important;filter:drop-shadow(0 2px 1px rgba(0,0,0,.18))!important}
.kta-title{left:182px!important;right:32px!important;top:60px!important;text-align:center!important;letter-spacing:0!important;line-height:1.04!important;text-shadow:1.6px 1.6px 0 #fff,-1.6px 1.6px 0 #fff,1.6px -1.6px 0 #fff,-1.6px -1.6px 0 #fff,0 3px 4px rgba(0,0,0,.16)!important}
.kta-title strong{display:block!important;max-width:670px!important;margin:0 auto!important;font-size:24px!important;white-space:nowrap!important}
.kta-title span{display:block!important;font-size:22px!important;margin-top:8px!important}
.kta-photo-wrap{left:48px!important;top:195px!important;width:188px!important;height:256px!important;border:6px solid #fff!important;border-radius:12px!important}
.kta-valid{left:44px!important;bottom:34px!important;width:220px!important;text-align:left!important;font-size:15px!important;line-height:1.14!important;font-weight:900!important}
.kta-info{left:285px!important;top:252px!important;letter-spacing:.2px!important}
.kta-info h3{margin:0 0 12px!important;font-size:28px!important;line-height:1.02!important;font-weight:900!important}
.kta-info p{margin:0 0 10px!important;font-size:25px!important;line-height:1.02!important;font-weight:900!important}
.kta-qr{right:46px!important;bottom:56px!important;width:190px!important;height:190px!important;padding:9px!important}
@media(max-width:640px){.kta-title{left:86px!important;right:18px!important;top:24px!important}.kta-title strong{font-size:12.5px!important}.kta-title span{font-size:12.5px!important;margin-top:4px!important}.kta-photo-wrap{left:22px!important;top:105px!important;width:82px!important;height:112px!important;border-width:4px!important}.kta-valid{left:20px!important;bottom:19px!important;width:100px!important;font-size:9px!important}.kta-info{left:133px!important;top:126px!important}.kta-info h3{font-size:15px!important;margin-bottom:6px!important}.kta-info p{font-size:14px!important;margin-bottom:6px!important}.kta-qr{right:22px!important;bottom:24px!important;width:92px!important;height:92px!important;padding:5px!important}}

/* Indonesia map transparent asset */
.kta-map{position:absolute;left:24px;right:22px;top:150px;bottom:60px;opacity:.18;z-index:1;transform:none;filter:none;background:none!important;overflow:hidden;pointer-events:none}
.kta-map-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;display:block;filter:sepia(.9) hue-rotate(18deg) saturate(.55) brightness(.68);opacity:1}
.kta-photo-wrap,.kta-valid,.kta-info,.kta-qr,.kta-title,.kta-logo,.kta-border{z-index:5}
@media(max-width:640px){.kta-map{left:74px;right:14px;top:84px;bottom:32px;opacity:.17}}
/* Gallery YouTube support */
.gallery-mini-item{position:relative}
.play-badge{position:absolute;inset:auto auto 8px 8px;width:30px;height:30px;border-radius:50%;background:rgba(215,25,32,.92);color:#fff;display:grid;place-items:center;box-shadow:0 8px 16px rgba(0,0,0,.20)}
.play-badge svg{width:16px;height:16px;fill:currentColor;stroke-width:3}
.gallery-video{height:190px;background:#061f57;border-radius:12px 12px 0 0;overflow:hidden}
.gallery-video iframe{width:100%;height:100%;border:0;display:block}

/* Service detail pages */
.service-card{position:relative}
.service-card.active-service{border-color:#0a58c2;background:linear-gradient(180deg,#f5f9ff,#fff)}
.service-more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:#075cc8;font-size:13px;font-weight:900}
.service-more svg{width:15px;height:15px;stroke-width:2.7}
.service-detail-card{padding:30px;border:1px solid #dce7f4;box-shadow:0 16px 38px rgba(10,45,104,.09)}
.service-detail-head{display:flex;gap:18px;align-items:flex-start;border-bottom:1px solid #e4edf8;padding-bottom:18px;margin-bottom:20px}
.service-detail-head .service-icon{flex:0 0 auto;margin:0;width:66px;height:66px}
.service-detail-head h2{font-size:32px;line-height:1.1;margin:4px 0 8px;color:#071e55}
.service-detail-head p{margin:0;color:#51627c;font-weight:700;line-height:1.55}.eyebrow{font-size:13px!important;color:#d71920!important;text-transform:uppercase;letter-spacing:.06em;font-weight:900!important;margin:0!important}
.rich-content{font-size:16px;line-height:1.75;color:#273b59;font-weight:600}.rich-content p{margin:0 0 13px}.rich-content ul{margin:0 0 16px 22px;padding:0}.rich-content li{margin:7px 0}.service-action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
@media(max-width:640px){.service-detail-card{padding:20px}.service-detail-head{display:block}.service-detail-head .service-icon{margin-bottom:14px}.service-detail-head h2{font-size:25px}.rich-content{font-size:14px}.service-more{justify-content:center}}

/* Logo shine + pulsing icon animations */
.brand,.admin-brand{position:relative;overflow:hidden}
.brand::after,.admin-brand::after{content:"";position:absolute;top:-18%;left:-82px;width:34px;height:136%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.18),rgba(255,255,255,.92),rgba(255,255,255,.18),rgba(255,255,255,0));transform:skewX(-22deg);pointer-events:none;filter:blur(.2px);animation:logoShineSweep 4.8s ease-in-out infinite}
.brand img,.admin-brand img{animation:logoGlowBreath 3.2s ease-in-out infinite;transform-origin:center center}
.lucide,.nav-link svg,.login-btn svg,.btn svg,.stat-icon,.stat-icon svg,.service-icon,.service-card svg,.hero-ui,.social-row a,.footer-block svg,.contact-item svg,.mini-btn svg,.admin-nav svg,.stat-admin svg{animation:iconPulse 2.2s ease-in-out infinite;transform-origin:center center;will-change:transform,opacity}
.stat-card:nth-child(2n) .stat-icon,.service-card:nth-child(2n) .service-icon,.social-row a:nth-child(2n),.admin-nav a:nth-child(2n) svg{animation-delay:.35s}
.stat-card:nth-child(3n) .stat-icon,.service-card:nth-child(3n) .service-icon,.social-row a:nth-child(3n),.admin-nav a:nth-child(3n) svg{animation-delay:.7s}
@keyframes logoShineSweep{0%,14%{transform:translateX(0) skewX(-22deg);opacity:0}18%{opacity:.95}34%{transform:translateX(150px) skewX(-22deg);opacity:.92}42%,100%{transform:translateX(150px) skewX(-22deg);opacity:0}}
@keyframes logoGlowBreath{0%,100%{filter:drop-shadow(0 0 0 rgba(255,255,255,0))}50%{filter:drop-shadow(0 0 10px rgba(255,255,255,.55))}}
@keyframes iconPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.86}}
@media(prefers-reduced-motion:reduce){.brand::after,.admin-brand::after,.brand img,.admin-brand img,.lucide,.nav-link svg,.login-btn svg,.btn svg,.stat-icon,.stat-icon svg,.service-icon,.service-card svg,.hero-ui,.social-row a,.footer-block svg,.contact-item svg,.mini-btn svg,.admin-nav svg,.stat-admin svg{animation:none!important}}

/* V11 feature updates: share, documents, reports, digital letters */
.form{display:grid;gap:14px}.form label{display:grid;gap:7px;font-size:13px;font-weight:900;color:#102957}.form input,.form textarea,.form select{width:100%;border:1px solid #dce5f0;border-radius:10px;padding:13px 14px;font:inherit;color:#102957;background:#fbfdff;outline:none;transition:.2s ease}.form input:focus,.form textarea:focus,.form select:focus{border-color:#0c5fd5;box-shadow:0 0 0 4px rgba(12,95,213,.10)}.form textarea{min-height:145px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inline-note{font-size:12px;color:#65758d;margin-top:4px;font-weight:700}.share-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 24px;padding:12px;border:1px solid #dce7f4;border-radius:12px;background:#f6faff}.share-btn{border:1px solid #dbe7f6;background:#fff;color:#064fb9;border-radius:10px;padding:9px 12px;font-weight:900;font-size:13px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.share-btn svg{width:17px;height:17px}.document-list{display:grid;gap:12px}.document-item{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;border:1px solid #dfe8f4;border-radius:14px;background:#fff;padding:14px;transition:.22s ease}.document-item:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(8,38,92,.08)}.document-item span{width:46px;height:46px;border-radius:13px;background:#eaf2ff;color:#064fb9;display:grid;place-items:center}.document-item svg{width:24px;height:24px}.document-item strong{display:block;color:#082b75}.document-item small{display:block;color:#66758e;font-weight:800;margin:2px 0}.document-item p{margin:0;color:#53647b;font-size:13px}.document-item em{font-style:normal;font-weight:900;color:#064fb9}.status-list{display:grid;gap:10px;margin-top:14px}.status-item{border:1px solid #dfe8f4;border-radius:12px;padding:12px;background:#f9fcff}.status-item strong{display:block;color:#082b75}.status-item span{display:block;color:#d71920;font-weight:900;font-size:13px;margin:3px 0}.status-item p{margin:0 0 6px}.status-item a{font-weight:900;color:#064fb9}.docs-panel{margin-top:22px}@media(max-width:640px){.form-row{grid-template-columns:1fr}.document-item{grid-template-columns:42px 1fr}.document-item em{grid-column:2}.share-box{align-items:stretch}.share-btn{width:100%;justify-content:center}}

/* Training table + KTA official signature fields */
.table-public-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 9px 21px rgba(12,43,86,.06)}
.public-table{width:100%;border-collapse:collapse;background:#fff}.public-table th,.public-table td{padding:13px 14px;border-bottom:1px solid #edf3fb;text-align:left;vertical-align:middle;font-size:14px}.public-table th{background:#f5f9ff;color:#071b4d;font-weight:900}.public-table tr:last-child td{border-bottom:0}.training-panel{margin-top:22px}.training-panel h3{font-size:22px;color:#07166b;margin:0 0 12px}.training-flyer{width:120px;height:78px;object-fit:cover;border-radius:10px;border:1px solid #dce7f4}
.kta-date-made{position:absolute;left:285px;bottom:118px;font-size:12px;font-weight:900;color:#111;z-index:6;background:rgba(255,255,255,.18);padding:3px 6px;border-radius:6px}
.kta-signatures{position:absolute;left:285px;right:270px;bottom:34px;display:grid;grid-template-columns:1fr 1fr;gap:12px;z-index:6;text-align:center;color:#111}.kta-sign div{height:42px;display:flex;align-items:end;justify-content:center}.kta-sign img{max-width:120px;max-height:42px;object-fit:contain}.kta-sign strong{display:block;border-top:1.5px solid rgba(0,0,0,.55);font-size:11px;padding-top:3px;font-weight:900}
@media(max-width:640px){.training-flyer{width:80px;height:52px}.kta-date-made{left:133px;bottom:61px;font-size:7px}.kta-signatures{left:133px;right:126px;bottom:18px;gap:6px}.kta-sign div{height:21px}.kta-sign img{max-height:21px}.kta-sign strong{font-size:6px}}

/* Keanggotaan user KTA */
.member-kta-list{display:grid;gap:10px;margin-top:12px}
.member-kta-list div{display:grid;grid-template-columns:190px 1fr;gap:12px;padding:12px 14px;border:1px solid #e3eaf4;border-radius:12px;background:#f8fbff}
.member-kta-list span{font-weight:800;color:#607089;font-size:13px}
.member-kta-list strong{font-weight:900;color:#07166b;font-size:14px}
.kta-user-preview{overflow:auto;padding:10px;background:#f1f7ff;border:1px solid #dce8f7;border-radius:14px}.kta-user-scale{width:920px!important;transform:scale(.58);transform-origin:top left;margin-bottom:-210px}
@media(max-width:640px){.member-kta-list div{grid-template-columns:1fr}.kta-user-scale{transform:scale(.38);margin-bottom:-330px}}

/* KTA extra line adjustment */
.kta-info{top:238px!important}
.kta-info h3{font-size:25px!important;margin:0 0 8px!important}
.kta-info p{font-size:20px!important;margin:0 0 7px!important;line-height:1.02!important}

/* Logo upload preview */
.logo-setting-preview{border:1px solid #dce7f4;background:#f7fbff;border-radius:14px;padding:14px;display:grid;gap:8px;align-content:start}
.logo-setting-preview strong{font-size:13px;color:#071b4d}
.logo-setting-preview img{width:88px;height:88px;object-fit:contain;background:#fff;border:1px solid #e1eaf6;border-radius:13px;padding:8px}
.logo-setting-preview small{font-size:12px;color:#607089;font-weight:700;word-break:break-all}
