:root{--green:#0b6b50;--green2:#12805f;--gold:#d6a83b;--ink:#19312a;--muted:#64748b;--soft:#f5f8f7}*{box-sizing:border-box}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#263833;background:#fff}.main-navbar{background:linear-gradient(110deg,#07553f,#0b6b50 58%,#0a5e48)}.navbar-brand small{font-size:.72rem;letter-spacing:.05em}.brand-mark{width:42px;height:42px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#e6c466,#c69525);color:#12382d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);font-size:1.25rem}.navbar .nav-link{color:rgba(255,255,255,.84);font-weight:600;border-radius:9px;padding:.5rem .65rem!important}.navbar .nav-link:hover,.navbar .nav-link.active{color:#fff;background:rgba(255,255,255,.11)}.hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#064936 0%,#0c6d51 58%,#0e7d5d 100%);color:#fff;padding:90px 0 75px}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.09) 0 2px,transparent 3px),linear-gradient(45deg,transparent 46%,rgba(255,255,255,.035) 47% 53%,transparent 54%);background-size:34px 34px,70px 70px;opacity:.55}.hero>*{position:relative}.hero h1{font-weight:800;letter-spacing:-.03em;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.05}.hero .lead{color:rgba(255,255,255,.82);max-width:760px}.hero-badge{display:inline-flex;gap:.5rem;align-items:center;padding:.45rem .8rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:.87rem;font-weight:700}.hero-card{background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:24px}.section-pad{padding:72px 0}.section-title{font-weight:800;color:var(--ink);letter-spacing:-.02em}.eyebrow{color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem}.card-soft{border:1px solid #e7eeeb;border-radius:18px;box-shadow:0 12px 35px rgba(33,70,58,.06);transition:.2s;background:#fff}.card-soft:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(33,70,58,.1)}.icon-box{width:48px;height:48px;border-radius:14px;background:#e9f4f0;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.3rem}.btn-brand{background:var(--green);border-color:var(--green);color:#fff}.btn-brand:hover{background:#085a43;border-color:#085a43;color:#fff}.btn-outline-brand{border-color:var(--green);color:var(--green)}.btn-outline-brand:hover{background:var(--green);color:#fff}.news-thumb{aspect-ratio:16/10;object-fit:cover;width:100%;background:linear-gradient(135deg,#e5f3ee,#f7f1df);border-radius:16px 16px 0 0}.placeholder-thumb{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e4f2ed,#f6eed9);color:#0b6b50;font-size:3rem;border-radius:16px 16px 0 0}.page-hero{background:linear-gradient(120deg,#ecf7f3,#faf6e9);padding:56px 0;border-bottom:1px solid #e4ece9}.page-hero h1{font-weight:800;color:var(--ink)}.org-section{margin-bottom:2rem}.org-card{height:100%;border:1px solid #e2ece8;border-radius:16px;padding:18px;background:#fff}.org-card .position{font-size:.77rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--green)}.org-card .name{font-weight:800;color:#223a33}.org-card .region{font-size:.87rem;color:var(--muted)}.event-date{min-width:72px;text-align:center;border-radius:14px;background:#e9f4f0;color:var(--green);padding:10px 8px;font-weight:800}.gallery-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.site-footer{background:#0c2f27}.site-footer a{display:block;color:rgba(255,255,255,.62);text-decoration:none;margin:.4rem 0}.site-footer a:hover{color:#fff}.social-links{display:flex;gap:.5rem}.social-links a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#fff}.to-top{position:fixed;right:18px;bottom:18px;width:42px;height:42px;border:0;border-radius:12px;background:var(--green);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);opacity:0;pointer-events:none;transform:translateY(12px);transition:.2s;z-index:1000}.to-top.show{opacity:1;pointer-events:auto;transform:none}.prose{line-height:1.8}.prose img{max-width:100%;height:auto}.login-wrap{min-height:100vh;background:linear-gradient(125deg,#063f31,#0c6d51 62%,#0d7f5e);display:flex;align-items:center;padding:28px}.login-card{max-width:430px;width:100%;background:#fff;border-radius:24px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.22)}@media(max-width:991px){.navbar-collapse{padding-top:1rem}.hero{padding:70px 0 58px}.hero-card{margin-top:22px}}@media(max-width:576px){.section-pad{padding:52px 0}.hero{padding:58px 0 48px}.hero h1{font-size:2.35rem}.page-hero{padding:40px 0}.login-wrap{padding:16px}.login-card{padding:24px}}

/* Portal v2 */
.site-logo{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:12px;padding:3px}.portal-hero{padding:86px 0 78px}.hero-trust{display:flex;gap:10px;flex-wrap:wrap}.hero-trust span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);font-size:.82rem}.portal-showcase{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);border-radius:28px;padding:24px;box-shadow:0 25px 60px rgba(0,0,0,.12)}.showcase-top{display:flex;align-items:center;gap:12px}.showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.showcase-grid>div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);padding:16px;border-radius:16px}.showcase-grid strong{display:block;font-size:1.8rem}.showcase-grid span{font-size:.8rem;color:rgba(255,255,255,.7)}.showcase-sk{display:flex;gap:12px;align-items:center;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}.showcase-sk>i{font-size:1.7rem;color:#f0cc72}.showcase-sk small,.showcase-sk strong,.showcase-sk span{display:block}.showcase-sk small,.showcase-sk span{color:rgba(255,255,255,.62);font-size:.78rem}.service-card{display:block;height:100%;text-decoration:none;color:var(--ink);background:#fff;border:1px solid #e4ece9;border-radius:20px;padding:24px;transition:.22s;box-shadow:0 8px 26px rgba(18,62,49,.04)}.service-card:hover{color:var(--ink);transform:translateY(-4px);box-shadow:0 20px 45px rgba(18,62,49,.1);border-color:#cfe2db}.service-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,#e6f4ef,#f5edd8);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.45rem;margin-bottom:18px}.service-card h3{font-size:1.1rem;font-weight:800}.service-card p{font-size:.9rem;color:var(--muted);min-height:72px}.service-card span{font-size:.86rem;font-weight:700;color:var(--green)}.feature-stack{display:grid;gap:12px}.feature-row{display:flex;gap:16px;padding:20px;border-radius:18px;border:1px solid #e4ece9;background:#fff}.feature-row h5{font-weight:800;margin-bottom:5px}.feature-row p{color:var(--muted);margin:0;font-size:.92rem}.portal-cta{background:linear-gradient(115deg,#0a4939,#0b6b50 64%,#0d7b5c);padding:58px 0}.member-avatar{width:66px;height:66px;border-radius:18px;object-fit:cover;background:#edf3f1}.avatar-placeholder{display:flex;align-items:center;justify-content:center;font-size:1.7rem;color:#769087}.course-cover{width:100%;height:190px;object-fit:cover;background:#e8f1ee}.course-placeholder{display:flex;align-items:center;justify-content:center;font-size:3.2rem;color:var(--green);background:linear-gradient(135deg,#e7f3ef,#f7f0df)}.verify-icon{width:78px;height:78px;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:2.4rem;margin:auto}.verify-icon.success{background:#e8f6ef;color:#118454}.kta-summary{max-width:560px;background:#f8faf9;border:1px solid #e2ebe8;border-radius:16px;overflow:hidden}.kta-summary>div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:12px 16px;border-bottom:1px solid #e5ece9}.kta-summary>div:last-child{border-bottom:0}.kta-summary span{color:#6c7d77;font-size:.86rem}.kta-summary strong{font-size:.92rem}.min-w-0{min-width:0}
@media(max-width:1199px){.navbar .dropdown-menu{border-radius:12px}.portal-showcase{margin-top:8px}}@media(max-width:767px){.portal-hero{padding:58px 0 50px}.showcase-grid strong{font-size:1.5rem}.service-card p{min-height:0}.kta-summary>div{grid-template-columns:1fr;gap:3px}}

/* Landing page precision refresh v2.1 */
.landing-container{max-width:1180px}
.main-navbar{min-height:68px;border-bottom:1px solid rgba(255,255,255,.10)}
.main-navbar .container{min-height:58px}
.navbar-brand{max-width:265px}
.navbar-brand strong{font-size:.98rem;letter-spacing:.01em}
.navbar-brand small{display:block;font-size:.68rem;opacity:.82;white-space:nowrap}
.site-logo-shell{width:40px;height:40px;flex:0 0 40px;border-radius:11px;background:#fff;display:inline-flex;align-items:center;justify-content:center;padding:3px;box-shadow:0 5px 18px rgba(0,0,0,.12)}
.site-logo{display:block;width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;object-fit:contain!important;background:transparent!important;border-radius:0!important;padding:0!important}
.brand-mark{width:40px;height:40px;flex:0 0 40px;border-radius:11px;font-size:1.1rem}
.navbar .nav-link{font-size:.92rem;padding:.48rem .62rem!important}

.landing-hero{padding:78px 0 82px;background:linear-gradient(122deg,#054533 0%,#086449 54%,#0a7555 100%)}
.landing-hero:after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-160px;top:-190px;background:radial-gradient(circle,rgba(230,196,102,.17),rgba(230,196,102,0) 68%);pointer-events:none}
.hero-copy{max-width:710px}
.landing-hero h1{max-width:760px;font-size:clamp(2.25rem,4.7vw,4rem);line-height:1.06;letter-spacing:-.035em}
.hero-lead{font-size:1.08rem;line-height:1.75;color:rgba(255,255,255,.80);max-width:680px}
.btn-hero-outline{color:#fff;border:1px solid rgba(255,255,255,.58);background:rgba(255,255,255,.04)}
.btn-hero-outline:hover{color:#12382d;background:#fff;border-color:#fff}
.hero-actions .btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center}
.hero-trust{gap:8px}
.hero-trust span{font-size:.78rem;padding:7px 10px;background:rgba(255,255,255,.085)}

.landing-showcase{max-width:460px;margin-left:auto;padding:22px;border-radius:24px;background:rgba(255,255,255,.105);box-shadow:0 24px 60px rgba(0,0,0,.16)}
.showcase-identity{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.14)}
.showcase-logo-wrap{width:68px;height:68px;flex:0 0 68px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;padding:7px;box-shadow:0 10px 30px rgba(0,0,0,.14)}
.showcase-logo{display:block;width:52px;height:52px;max-width:52px;max-height:52px;object-fit:contain}
.showcase-logo-fallback{width:50px;height:50px;border-radius:14px;background:linear-gradient(145deg,#e6c466,#c69525);color:#12382d;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.showcase-kicker{display:block;color:rgba(255,255,255,.64);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.showcase-identity h2{color:#fff;font-size:1.12rem;font-weight:800;margin:0 0 3px;line-height:1.25}
.showcase-identity p{color:rgba(255,255,255,.68);font-size:.79rem;line-height:1.5;margin:0}
.landing-showcase .showcase-grid{gap:10px;margin:18px 0}
.landing-showcase .showcase-grid>div{padding:13px 14px;border-radius:14px}
.landing-showcase .showcase-grid strong{font-size:1.45rem;line-height:1.2}
.landing-showcase .showcase-grid span{font-size:.75rem}
.showcase-sk{padding-top:16px}
.showcase-sk>i{font-size:1.5rem}
.showcase-sk strong{font-size:.86rem;line-height:1.35;margin:2px 0}
.showcase-sk small,.showcase-sk span{font-size:.72rem}

.quick-stats-wrap{position:relative;z-index:4;margin-top:-28px;padding:0 0 20px}
.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e4ece9;border-radius:20px;box-shadow:0 16px 44px rgba(20,65,51,.10);overflow:hidden}
.quick-stat{display:flex;align-items:center;gap:12px;padding:18px 22px;min-width:0;border-right:1px solid #e7eeeb}
.quick-stat:last-child{border-right:0}
.quick-stat>i{width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#eaf4f0;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.05rem}
.quick-stat strong{display:block;color:var(--ink);font-size:1.15rem;line-height:1.2}
.quick-stat span{display:block;color:var(--muted);font-size:.74rem;white-space:nowrap}

.section-heading{max-width:720px}
.section-heading .section-title{font-size:clamp(1.8rem,3.2vw,2.55rem)}
.section-heading p{font-size:1rem;line-height:1.7;max-width:660px;margin:12px auto 0}
.landing-services{padding-top:68px}
.service-card{padding:22px;border-radius:18px}
.service-icon{width:48px;height:48px;border-radius:14px;font-size:1.25rem;margin-bottom:16px}
.service-card h3{font-size:1.02rem;margin-bottom:8px}
.service-card p{min-height:62px;line-height:1.65}
.landing-about-text{font-size:1rem;line-height:1.8;max-width:640px}
.feature-row{padding:18px;border-radius:16px;align-items:flex-start}
.feature-row .icon-box{width:44px;height:44px;flex:0 0 44px;border-radius:13px}
.feature-row h5{font-size:1rem}
.feature-row p{line-height:1.6}
.section-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.landing-news-card{border-radius:18px}
.landing-news-title{font-size:1.05rem;font-weight:800;line-height:1.45;margin-bottom:9px}
.landing-news-title a{color:var(--ink);text-decoration:none}
.landing-news-title a:hover{color:var(--green)}
.landing-event-card{min-height:145px}
.landing-event-title{font-size:1rem;font-weight:800;line-height:1.45;margin:0 0 7px;color:var(--ink)}
.empty-state{display:flex;gap:10px;align-items:center;justify-content:center;padding:34px;border:1px dashed #cbdad4;border-radius:16px;background:#fff;color:var(--muted)}
.landing-cta{padding:54px 0}
.landing-cta h2{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.2;margin-bottom:10px}
.landing-cta p{font-size:1rem;line-height:1.65}

@media(max-width:1199px){
  .landing-hero{padding:66px 0 70px}
  .navbar-brand{max-width:none}
  .navbar-collapse{padding:12px 0 10px}
  .navbar-nav{align-items:stretch!important}
  .navbar .nav-link{padding:.58rem .7rem!important}
  .navbar .btn{margin-top:6px;width:100%;justify-content:center}
}
@media(max-width:991px){
  .landing-showcase{max-width:none;margin:8px 0 0}
  .quick-stats{grid-template-columns:repeat(2,1fr)}
  .quick-stat:nth-child(2){border-right:0}
  .quick-stat:nth-child(-n+2){border-bottom:1px solid #e7eeeb}
}
@media(max-width:767px){
  .landing-hero{padding:48px 0 58px}
  .landing-hero h1{font-size:clamp(2rem,9vw,2.75rem)}
  .hero-lead{font-size:.98rem;line-height:1.7}
  .hero-actions .btn{width:100%;font-size:.96rem}
  .hero-trust{margin-top:18px!important}
  .landing-showcase{padding:18px;border-radius:20px}
  .showcase-logo-wrap{width:58px;height:58px;flex-basis:58px;border-radius:15px;padding:6px}
  .showcase-logo{width:44px;height:44px;max-width:44px;max-height:44px}
  .showcase-identity h2{font-size:1rem}
  .showcase-identity p{display:none}
  .quick-stats-wrap{margin-top:-20px}
  .quick-stat{padding:15px 14px}
  .quick-stat>i{width:34px;height:34px;flex-basis:34px}
  .quick-stat strong{font-size:1rem}
  .quick-stat span{font-size:.69rem;white-space:normal}
  .section-toolbar{align-items:flex-start}
  .section-toolbar .btn{font-size:.82rem;padding:.45rem .75rem;white-space:nowrap}
  .landing-event-card{min-height:0}
}
@media(max-width:480px){
  .main-navbar{min-height:64px}
  .site-logo-shell,.brand-mark{width:36px;height:36px;flex-basis:36px}
  .site-logo{width:30px!important;height:30px!important;max-width:30px!important;max-height:30px!important}
  .navbar-brand strong{font-size:.88rem}
  .navbar-brand small{font-size:.61rem}
  .quick-stats{grid-template-columns:1fr 1fr}
  .quick-stat{gap:8px;padding:13px 10px}
  .section-toolbar{display:block}
  .section-toolbar .btn{margin-top:14px}
}

/* =========================================================
   LANDING & PUBLIC SHELL REFINEMENT v2.2
   Visual direction: clean, calm, precise, institutional.
   ========================================================= */
:root{
  --brand-900:#0b3d31;
  --brand-800:#10513f;
  --brand-700:#146249;
  --brand-600:#1b7355;
  --brand-100:#eaf5f0;
  --brand-50:#f5faf8;
  --gold-500:#c99a33;
  --gold-100:#f7efd9;
  --text-900:#172b25;
  --text-700:#40564f;
  --text-500:#6e817b;
  --line:#e5ece9;
  --surface:#ffffff;
  --surface-soft:#f7faf9;
  --shadow-sm:0 8px 24px rgba(19,54,43,.055);
  --shadow-md:0 18px 46px rgba(19,54,43,.09);
}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--text-900);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.site-container{max-width:1180px}

/* Header */
.main-navbar{min-height:72px;background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(19,54,43,.08);box-shadow:0 5px 22px rgba(19,54,43,.045)!important;backdrop-filter:saturate(160%) blur(12px);z-index:1030}
.main-navbar .site-container{min-height:72px}
.navbar-brand{padding:.35rem 0;margin-right:1.25rem;color:var(--text-900)!important;max-width:280px}
.site-logo-shell,.brand-mark{width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:11px!important;background:#fff!important;border:1px solid #dde8e3;display:inline-flex!important;align-items:center;justify-content:center;padding:3px!important;box-shadow:0 4px 12px rgba(19,54,43,.06)!important;color:var(--brand-700)!important}
.site-logo{width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important;object-fit:contain!important;background:transparent!important;padding:0!important;border-radius:0!important}
.brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1.18}
.brand-copy strong{font-size:.96rem;font-weight:800;letter-spacing:-.01em;color:var(--text-900)}
.brand-copy small{font-size:.69rem;font-weight:600;color:var(--text-500);letter-spacing:.035em;margin-top:2px;white-space:nowrap}
.main-navbar .nav-link{position:relative;color:#50635d!important;font-size:.88rem;font-weight:650;border-radius:9px;padding:.48rem .62rem!important;background:transparent!important}
.main-navbar .nav-link:hover{color:var(--brand-700)!important;background:var(--brand-50)!important}
.main-navbar .nav-link.active{color:var(--brand-700)!important;background:var(--brand-100)!important}
.main-navbar .dropdown-menu{margin-top:10px;padding:8px;border:1px solid #edf1ef!important;border-radius:14px;box-shadow:0 18px 45px rgba(20,54,44,.11)!important;min-width:235px}
.main-navbar .dropdown-item{border-radius:9px;padding:.62rem .72rem;font-size:.87rem;color:#40564f;font-weight:550}
.main-navbar .dropdown-item:hover,.main-navbar .dropdown-item:focus{background:var(--brand-50);color:var(--brand-700)}
.nav-portal-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;background:var(--brand-700);border:1px solid var(--brand-700);color:#fff!important;font-size:.84rem;box-shadow:none}
.nav-portal-btn:hover{background:var(--brand-800);border-color:var(--brand-800);color:#fff!important;transform:translateY(-1px)}

/* Hero */
.landing-page{overflow:hidden}
.landing-hero-v22{position:relative;padding:78px 0 82px;background:linear-gradient(180deg,#f8fbfa 0%,#fff 100%);border-bottom:1px solid #edf2f0;overflow:hidden}
.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}
.hero-orb-one{width:420px;height:420px;right:-180px;top:-210px;background:radial-gradient(circle,rgba(27,115,85,.12),rgba(27,115,85,0) 68%)}
.hero-orb-two{width:340px;height:340px;left:-190px;bottom:-190px;background:radial-gradient(circle,rgba(201,154,51,.09),rgba(201,154,51,0) 70%)}
.hero-content-v22{max-width:690px}
.hero-label-v22{display:inline-flex;align-items:center;gap:9px;padding:7px 11px 7px 9px;border:1px solid #dbe9e3;background:#fff;border-radius:999px;color:var(--brand-700);font-size:.76rem;font-weight:750;letter-spacing:.015em;box-shadow:0 5px 16px rgba(25,76,59,.04)}
.hero-label-dot{width:8px;height:8px;border-radius:50%;background:var(--gold-500);box-shadow:0 0 0 4px var(--gold-100)}
.hero-content-v22 h1{margin:22px 0 17px;max-width:680px;font-size:clamp(2.35rem,4.6vw,4.15rem);line-height:1.04;letter-spacing:-.045em;font-weight:830;color:#15332a}
.hero-description-v22{max-width:640px;margin:0;color:#5c716a;font-size:1.05rem;line-height:1.78}
.hero-actions-v22{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.btn-brand-v22,.btn-soft-v22,.btn-white-v22,.cta-btn-v22{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:.72rem 1.08rem;font-size:.9rem;font-weight:750;border:1px solid transparent;text-decoration:none}
.btn-brand-v22{background:var(--brand-700);border-color:var(--brand-700);color:#fff;box-shadow:0 9px 20px rgba(20,98,73,.14)}
.btn-brand-v22:hover{background:var(--brand-800);border-color:var(--brand-800);color:#fff;transform:translateY(-1px);box-shadow:0 12px 25px rgba(20,98,73,.18)}
.btn-soft-v22{background:#fff;border-color:#dfe9e5;color:#355249;box-shadow:0 7px 18px rgba(20,54,44,.04)}
.btn-soft-v22:hover{background:var(--brand-50);border-color:#cfe2da;color:var(--brand-700)}
.hero-points-v22{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:24px;color:#62766f;font-size:.8rem;font-weight:600}
.hero-points-v22 span{display:inline-flex;align-items:center;gap:6px}
.hero-points-v22 i{color:var(--brand-600);font-size:.92rem}

.hero-panel-v22{position:relative;max-width:430px;margin-left:auto;padding:22px;background:#fff;border:1px solid #e2ebe7;border-radius:22px;box-shadow:0 24px 60px rgba(19,54,43,.105)}
.hero-panel-head{display:flex;align-items:center;gap:14px}
.hero-panel-logo{width:58px;height:58px;flex:0 0 58px;border-radius:15px;background:#fff;border:1px solid #e0e9e5;display:flex;align-items:center;justify-content:center;padding:6px}
.hero-panel-logo img{display:block;width:44px;height:44px;max-width:44px;max-height:44px;object-fit:contain}
.hero-panel-logo span{width:42px;height:42px;border-radius:12px;background:var(--brand-100);color:var(--brand-700);display:flex;align-items:center;justify-content:center;font-size:1.25rem}
.hero-panel-head small{display:block;margin-bottom:2px;color:#81928c;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.hero-panel-head h2{margin:0;color:var(--text-900);font-size:1.12rem;font-weight:820;letter-spacing:-.015em}
.hero-panel-head p{margin:1px 0 0;color:#657971;font-size:.79rem}
.hero-panel-divider{height:1px;background:#edf1ef;margin:18px 0 10px}
.hero-panel-links{display:grid;gap:2px}
.hero-panel-links>a{display:grid;grid-template-columns:38px 1fr 16px;align-items:center;gap:11px;padding:10px;border-radius:12px;text-decoration:none;color:inherit}
.hero-panel-links>a:hover{background:var(--brand-50)}
.panel-link-icon{width:38px;height:38px;border-radius:11px;background:var(--brand-100);color:var(--brand-700);display:flex;align-items:center;justify-content:center;font-size:1rem}
.hero-panel-links strong{display:block;font-size:.84rem;font-weight:780;color:#29463d;line-height:1.25}
.hero-panel-links small{display:block;margin-top:2px;color:#81908b;font-size:.69rem;line-height:1.3}
.hero-panel-links>a>i{color:#9aaba5;font-size:.75rem}
.hero-panel-sk{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:13px 14px;border-radius:13px;background:#fbfaf5;border:1px solid #eee7d5}
.hero-panel-sk>i{margin-top:2px;color:#b78321;font-size:1.05rem}
.hero-panel-sk span,.hero-panel-sk strong,.hero-panel-sk small{display:block}
.hero-panel-sk span{color:#948669;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;font-weight:750}
.hero-panel-sk strong{margin-top:2px;color:#5b523f;font-size:.76rem;font-weight:750}
.hero-panel-sk small{margin-top:2px;color:#8b8069;font-size:.66rem}

/* Stats */
.stats-band-v22{position:relative;margin-top:-1px;background:#fff;border-bottom:1px solid #edf2f0}
.stats-grid-v22{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item-v22{display:flex;align-items:center;justify-content:center;gap:12px;min-height:92px;padding:18px;border-right:1px solid #edf2f0}
.stat-item-v22:last-child{border-right:0}
.stat-icon-v22{width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:var(--brand-50);color:var(--brand-700);display:flex;align-items:center;justify-content:center;font-size:1rem}
.stat-item-v22 strong{display:block;color:#233e35;font-size:1.2rem;font-weight:820;line-height:1.2}
.stat-item-v22 small{display:block;margin-top:2px;color:#7b8e87;font-size:.72rem;font-weight:600}

/* Sections */
.landing-section-v22{padding:78px 0}
.service-section-v22{background:#fff}
.about-section-v22{background:var(--surface-soft);border-top:1px solid #edf2f0;border-bottom:1px solid #edf2f0}
.news-section-v22{background:#fff}
.event-section-v22{background:#fbfcfb;border-top:1px solid #edf2f0}
.section-intro-v22{max-width:700px;margin-bottom:28px}
.section-kicker-v22{display:inline-block;margin-bottom:9px;color:var(--brand-700);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em}
.section-intro-v22 h2,.section-head-v22 h2,.about-copy-v22 h2{margin:0;color:#1d382f;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.18;letter-spacing:-.03em;font-weight:820}
.section-intro-v22 p{max-width:650px;margin:13px auto 0;color:#6b7e77;font-size:.95rem;line-height:1.75}

.service-card-v22{position:relative;display:flex;flex-direction:column;height:100%;min-height:292px;padding:22px;background:#fff;border:1px solid #e5ece9;border-radius:18px;text-decoration:none;color:inherit;box-shadow:0 7px 24px rgba(18,58,45,.035);overflow:hidden}
.service-card-v22:hover{transform:translateY(-4px);border-color:#d1e2db;box-shadow:var(--shadow-md);color:inherit}
.service-number{position:absolute;top:18px;right:18px;color:#c8d3cf;font-size:.73rem;font-weight:750;letter-spacing:.08em}
.service-icon-v22{width:46px;height:46px;border-radius:13px;background:var(--brand-100);color:var(--brand-700);display:flex;align-items:center;justify-content:center;font-size:1.18rem;margin-bottom:22px}
.service-card-v22 h3{margin:0 0 8px;color:#274239;font-size:1.02rem;font-weight:800}
.service-card-v22 p{margin:0;color:#73847e;font-size:.84rem;line-height:1.68}
.service-link-v22{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:19px;color:var(--brand-700);font-size:.78rem;font-weight:750}

.about-copy-v22{max-width:585px}
.about-copy-v22 p{margin:16px 0 0;color:#62766f;font-size:.96rem;line-height:1.83}
.btn-sm-v22{min-height:42px;padding:.58rem .95rem;font-size:.83rem}
.btn-white-v22{background:#fff;border-color:#dce7e3;color:#3b554c}
.btn-white-v22:hover{background:#fff;border-color:#bfd7cd;color:var(--brand-700);box-shadow:var(--shadow-sm)}
.benefit-list-v22{display:grid;gap:11px;max-width:560px;margin-left:auto}
.benefit-item-v22{display:flex;gap:14px;padding:17px 18px;background:#fff;border:1px solid #e4ece9;border-radius:16px}
.benefit-item-v22>span{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:var(--brand-100);color:var(--brand-700);display:flex;align-items:center;justify-content:center;font-size:1.06rem}
.benefit-item-v22 h3{margin:1px 0 4px;color:#2b463d;font-size:.94rem;font-weight:800}
.benefit-item-v22 p{margin:0;color:#74857f;font-size:.8rem;line-height:1.62}

.section-head-v22{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.text-link-v22{display:inline-flex;align-items:center;gap:7px;color:var(--brand-700);text-decoration:none;font-size:.81rem;font-weight:750;white-space:nowrap}
.text-link-v22:hover{color:var(--brand-800);gap:9px}
.news-card-v22{overflow:hidden;background:#fff;border:1px solid #e5ece9;border-radius:18px;box-shadow:0 8px 28px rgba(18,58,45,.04);transition:.2s}
.news-card-v22:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#d6e4de}
.news-media-v22{display:block;overflow:hidden;background:#eef4f1;aspect-ratio:16/9}
.news-media-v22 img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.news-card-v22:hover .news-media-v22 img{transform:scale(1.025)}
.news-placeholder-v22{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#edf6f2,#faf7ed);color:#8caf9f;font-size:2.4rem}
.news-body-v22{padding:20px}
.news-meta-v22{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:#899a94;font-size:.71rem;font-weight:600}
.news-body-v22 h3{margin:0 0 9px;font-size:1rem;line-height:1.48;font-weight:800}
.news-body-v22 h3 a{color:#2a443b;text-decoration:none}
.news-body-v22 h3 a:hover{color:var(--brand-700)}
.news-body-v22 p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:#758680;font-size:.81rem;line-height:1.68}
.empty-state-v22{display:flex;align-items:center;justify-content:center;gap:9px;padding:30px;border:1px dashed #d3dfda;border-radius:16px;color:#7a8c85;background:#fafcfb;font-size:.86rem}

.event-card-v22{position:relative;display:flex;align-items:flex-start;gap:15px;height:100%;min-height:132px;padding:17px 18px;background:#fff;border:1px solid #e4ebe8;border-radius:17px;box-shadow:0 7px 22px rgba(18,58,45,.035)}
.event-card-v22:hover{border-color:#d3e1dc;box-shadow:var(--shadow-sm)}
.event-date-v22{width:58px;min-width:58px;padding:9px 6px;border-radius:13px;background:var(--brand-100);text-align:center;color:var(--brand-700)}
.event-date-v22 strong{display:block;font-size:1.28rem;line-height:1.1;font-weight:850}
.event-date-v22 span{display:block;margin-top:3px;font-size:.63rem;letter-spacing:.08em;font-weight:800}
.event-content-v22{min-width:0;padding-right:4px}
.event-region-v22{display:block;margin-bottom:4px;color:var(--brand-600);font-size:.66rem;font-weight:780;text-transform:uppercase;letter-spacing:.05em}
.event-content-v22 h3{margin:0 0 8px;color:#29443b;font-size:.93rem;font-weight:800;line-height:1.45}
.event-meta-v22{display:flex;flex-direction:column;gap:3px;color:#7b8d87;font-size:.72rem}
.event-meta-v22 span{display:flex;align-items:center;gap:6px;min-width:0}
.event-meta-v22 span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-badge-v22{position:absolute;right:14px;top:13px;padding:4px 7px;border-radius:999px;background:#eaf7ef;color:#247348;border:1px solid #d5ebdc;font-size:.6rem;font-weight:750}

/* CTA */
.cta-wrap-v22{padding:24px 0 78px;background:#fbfcfb}
.cta-card-v22{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:20px;padding:28px 30px;border-radius:22px;background:linear-gradient(112deg,var(--brand-900),var(--brand-700));box-shadow:0 24px 55px rgba(15,66,49,.17);overflow:hidden}
.cta-icon-v22{width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.35rem}
.cta-copy-v22 span{display:block;margin-bottom:4px;color:#e3c979;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.cta-copy-v22 h2{max-width:650px;margin:0;color:#fff;font-size:1.35rem;line-height:1.35;font-weight:800;letter-spacing:-.02em}
.cta-copy-v22 p{margin:5px 0 0;color:rgba(255,255,255,.66);font-size:.79rem;line-height:1.55}
.cta-btn-v22{background:#fff;color:#24483c;white-space:nowrap}
.cta-btn-v22:hover{background:#f6fbf9;color:var(--brand-700);transform:translateY(-1px)}

/* Footer */
.site-footer-v22{background:#0c2f27;color:#fff;border-top:1px solid rgba(255,255,255,.04)}
.footer-main-v22{display:grid;grid-template-columns:2fr .8fr 1fr 1.35fr;gap:46px;padding:52px 0 38px}
.footer-logo-shell,.footer-brand-mark{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px;color:var(--brand-700)}
.footer-logo-shell img{width:32px;height:32px;max-width:32px;max-height:32px;object-fit:contain}
.footer-brand-v22 h5{margin:0;color:#fff;font-size:1rem;font-weight:800}
.footer-brand-v22>div span{display:block;margin-top:2px;color:rgba(255,255,255,.6);font-size:.72rem}
.footer-brand-v22>p{max-width:420px;margin:0;color:rgba(255,255,255,.57);font-size:.8rem;line-height:1.72}
.footer-links-v22 h6,.footer-contact-v22 h6{margin:1px 0 14px;color:#fff;font-size:.8rem;font-weight:800}
.footer-links-v22 a{display:block;margin:7px 0;color:rgba(255,255,255,.58);text-decoration:none;font-size:.78rem}
.footer-links-v22 a:hover{color:#fff;transform:translateX(2px)}
.footer-contact-v22 p{display:flex;align-items:flex-start;gap:9px;margin:0 0 8px;color:rgba(255,255,255,.58);font-size:.76rem;line-height:1.55}
.footer-contact-v22 p i{margin-top:2px;color:#d6bd6a}
.footer-social-v22{display:flex;gap:7px;margin-top:14px}
.footer-social-v22 a{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none}
.footer-social-v22 a:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.footer-bottom-v22{display:flex;justify-content:space-between;gap:20px;padding:18px 0 22px;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.43);font-size:.7rem}

/* Harmonize internal public pages with new shell */
.page-hero{background:linear-gradient(180deg,#f6faf8,#fff);border-bottom:1px solid #e8efec;padding:48px 0}
.page-hero h1{font-size:clamp(1.8rem,3.4vw,2.7rem);letter-spacing:-.035em;color:#1c382f}
.card-soft{box-shadow:0 8px 25px rgba(18,58,45,.045);border-color:#e5ece9}

@media(max-width:1199px){
  .main-navbar .site-container{min-height:68px}
  .main-navbar{min-height:68px}
  .navbar-collapse{margin-top:8px;padding:10px 0 14px;border-top:1px solid #edf2f0}
  .navbar-nav{align-items:stretch!important}
  .main-navbar .nav-link{padding:.6rem .72rem!important}
  .nav-portal-btn{width:100%;margin-top:6px}
  .hero-panel-v22{max-width:none}
  .footer-main-v22{grid-template-columns:1.6fr .8fr .9fr 1.2fr;gap:28px}
}
@media(max-width:991px){
  .landing-hero-v22{padding:60px 0 64px}
  .hero-content-v22{max-width:none}
  .hero-panel-v22{margin:0}
  .stats-grid-v22{grid-template-columns:repeat(2,1fr)}
  .stat-item-v22:nth-child(2){border-right:0}
  .stat-item-v22:nth-child(-n+2){border-bottom:1px solid #edf2f0}
  .benefit-list-v22{max-width:none;margin-left:0}
  .cta-card-v22{grid-template-columns:52px 1fr;gap:16px}
  .cta-icon-v22{width:52px;height:52px}
  .cta-btn-v22{grid-column:2;justify-self:start}
  .footer-main-v22{grid-template-columns:1.4fr 1fr 1fr;gap:30px}
  .footer-contact-v22{grid-column:1/-1}
}
@media(max-width:767px){
  body{font-size:14.5px}
  .site-container{padding-left:18px;padding-right:18px}
  .brand-copy strong{font-size:.9rem}
  .brand-copy small{font-size:.63rem}
  .site-logo-shell,.brand-mark{width:37px!important;height:37px!important;flex-basis:37px!important}
  .site-logo{width:29px!important;height:29px!important;max-width:29px!important;max-height:29px!important}
  .landing-hero-v22{padding:44px 0 52px}
  .hero-label-v22{font-size:.69rem}
  .hero-content-v22 h1{margin-top:18px;font-size:clamp(2.05rem,10vw,2.85rem);line-height:1.07;letter-spacing:-.04em}
  .hero-description-v22{font-size:.94rem;line-height:1.73}
  .hero-actions-v22{margin-top:22px}
  .hero-actions-v22 .btn{width:100%}
  .hero-points-v22{gap:7px 14px;margin-top:18px;font-size:.74rem}
  .hero-panel-v22{padding:18px;border-radius:18px;box-shadow:0 18px 44px rgba(19,54,43,.09)}
  .hero-panel-logo{width:52px;height:52px;flex-basis:52px}
  .hero-panel-logo img{width:39px;height:39px;max-width:39px;max-height:39px}
  .hero-panel-links>a{padding:9px 7px}
  .landing-section-v22{padding:58px 0}
  .section-intro-v22 h2,.section-head-v22 h2,.about-copy-v22 h2{font-size:1.75rem}
  .service-card-v22{min-height:255px;padding:19px}
  .section-head-v22{align-items:flex-start}
  .event-card-v22{min-height:0;padding:15px}
  .event-badge-v22{position:static;align-self:flex-start;margin-left:auto;white-space:nowrap}
  .cta-wrap-v22{padding:18px 0 58px}
  .cta-card-v22{display:flex;flex-direction:column;align-items:flex-start;padding:24px;border-radius:18px}
  .cta-copy-v22 h2{font-size:1.2rem}
  .cta-btn-v22{width:100%;margin-top:2px}
  .footer-main-v22{grid-template-columns:1fr 1fr;padding:42px 0 30px;gap:28px 22px}
  .footer-brand-v22{grid-column:1/-1}
  .footer-contact-v22{grid-column:1/-1}
  .footer-bottom-v22{flex-direction:column;gap:4px}
}
@media(max-width:520px){
  .stats-grid-v22{grid-template-columns:1fr 1fr}
  .stat-item-v22{justify-content:flex-start;min-height:82px;padding:14px 10px;gap:9px}
  .stat-icon-v22{width:34px;height:34px;flex-basis:34px}
  .stat-item-v22 strong{font-size:1.04rem}
  .stat-item-v22 small{font-size:.65rem}
  .section-head-v22{display:block}
  .text-link-v22{margin-top:10px}
  .event-card-v22{display:grid;grid-template-columns:54px 1fr;gap:12px}
  .event-date-v22{width:54px;min-width:54px}
  .event-badge-v22{grid-column:2;margin:0;justify-self:start}
  .footer-main-v22{grid-template-columns:1fr 1fr}
}
@media(max-width:380px){
  .brand-copy small{display:none}
  .hero-content-v22 h1{font-size:1.95rem}
  .stats-grid-v22{grid-template-columns:1fr}
  .stat-item-v22{border-right:0!important;border-bottom:1px solid #edf2f0!important}
  .stat-item-v22:last-child{border-bottom:0!important}
  .footer-main-v22{grid-template-columns:1fr}
  .footer-brand-v22,.footer-contact-v22{grid-column:auto}
}
