:root{--g9:#1a3a2a;--g8:#234d38;--g7:#2d5f3b;--g6:#3a7a4f;--g5:#4a9660;--g1:#e8f5ec;--g0:#f0faf3;--s7:#8a7458;--s5:#b8a88a;--s3:#d9ccb8;--s2:#e8dfd2;--s1:#f5f0e8;--s0:#faf8f4;--o6:#c47a2e;--o5:#d4873f;--o1:#fef3e2;--r5:#c0392b;--r1:#fde8e5;--b5:#6b8fa3;--b1:#e8f1f5;--w:#fff;--x0:#f9fafb;--x1:#f3f4f6;--x2:#e5e7eb;--x3:#d1d5db;--x5:#6b7280;--x6:#4b5563;--x7:#374151;--x8:#1f2937;--fd:'DM Serif Display',Georgia,serif;--fb:'Outfit',system-ui,sans-serif;--sh-s:0 1px 2px rgba(26,58,42,.06);--sh-m:0 4px 12px rgba(26,58,42,.08);--sh-l:0 8px 30px rgba(26,58,42,.12);--sh-xl:0 20px 50px rgba(26,58,42,.15);--rs:6px;--rm:10px;--rl:16px;--rx:24px;--hh:80px}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--hh)}body{font-family:var(--fb);color:var(--x8);background:var(--s0);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none}.ctn{max-width:1140px;margin:0 auto;padding:0 24px}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}.anim{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.anim.v{opacity:1;transform:translateY(0)}
.hdr{position:fixed;top:0;left:0;right:0;height:var(--hh);z-index:1000;background:rgba(250,248,244,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(26,58,42,.08);transition:all .3s}.hdr.sc{background:rgba(250,248,244,.95);box-shadow:var(--sh-m)}.hdr-in{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1140px;margin:0 auto;padding:0 24px}.logo{display:flex;align-items:center;gap:12px;cursor:pointer}.logo-i{height:42px;border-radius:var(--rs);overflow:hidden;flex-shrink:0}.logo-i img{height:100%;width:auto;object-fit:contain}.logo-t{font-family:var(--fd);font-size:18px;color:var(--g9);line-height:1.2}.logo-t span{display:block;font-family:var(--fb);font-size:11px;font-weight:500;color:var(--s7);letter-spacing:1.5px;text-transform:uppercase}nav{display:flex;align-items:center;gap:6px}nav a{padding:8px 16px;font-size:14px;font-weight:500;color:var(--x7);border-radius:var(--rs);transition:all .25s;cursor:pointer}nav a:hover{color:var(--g7);background:var(--g0)}nav a.act{color:var(--g7);font-weight:600}.nav-dd{position:relative}.nav-dd-m{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--w);border:1px solid var(--x2);border-radius:var(--rm);box-shadow:var(--sh-l);padding:8px;min-width:210px;opacity:0;pointer-events:none;transition:all .25s;margin-top:4px;z-index:10}.nav-dd:hover .nav-dd-m{opacity:1;pointer-events:all}.nav-dd-m a{display:block;padding:10px 14px;font-size:13.5px}.btn-nav{background:var(--g7)!important;color:#fff!important;padding:9px 20px!important;border-radius:var(--rs)!important;font-weight:600!important;font-size:13.5px!important}.btn-nav:hover{background:var(--g8)!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(45,95,59,.3)}.mtog{display:none;background:none;width:40px;height:40px;flex-direction:column;align-items:center;justify-content:center;gap:5px}.mtog span{display:block;width:22px;height:2px;background:var(--x7);border-radius:2px;transition:all .3s}.mnav{display:none;position:fixed;top:var(--hh);left:0;right:0;bottom:0;background:var(--s0);z-index:999;padding:24px;animation:fadeIn .2s}.mnav.open{display:block}.mnav a{display:block;padding:16px 0;font-size:18px;font-weight:500;color:var(--x7);border-bottom:1px solid var(--x1);cursor:pointer}
.sec{padding:100px 0}.sl{font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--g6);margin-bottom:12px}.st{font-family:var(--fd);font-size:clamp(28px,4vw,40px);color:var(--g9);line-height:1.2;margin-bottom:16px}.ss{font-size:17px;color:var(--x6);max-width:560px;line-height:1.7}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:var(--rs);font-size:14.5px;font-weight:600;transition:all .25s;white-space:nowrap;cursor:pointer}.btn-p{background:var(--g7);color:#fff}.btn-p:hover{background:var(--g8);transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,95,59,.3)}.btn-s{background:var(--w);color:var(--g7);border:1.5px solid var(--g7)}.btn-s:hover{background:var(--g0);transform:translateY(-2px)}.btn-or{background:var(--o5);color:#fff}.btn-or:hover{background:var(--o6);transform:translateY(-2px);box-shadow:0 6px 20px rgba(212,135,63,.3)}.btn-sm{padding:9px 18px;font-size:13px}.bc{padding:14px 0;font-size:13px;color:var(--x3)}.bc a{color:var(--x5);cursor:pointer;transition:color .2s}.bc a:hover{color:var(--g7)}.bc span{margin:0 8px}
.hero{min-height:92vh;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(160deg,var(--s0),var(--g0) 50%,var(--s1))}.hero::before{content:'';position:absolute;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,rgba(45,95,59,.06),transparent 70%);border-radius:50%}.hero-in{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}.hero-ct{animation:fadeUp .8s ease both}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--w);border:1px solid var(--g1);padding:6px 14px 6px 8px;border-radius:100px;font-size:13px;font-weight:500;color:var(--g7);margin-bottom:28px;box-shadow:var(--sh-s)}.hero-badge-dot{width:8px;height:8px;background:var(--g5);border-radius:50%;animation:pulse 2s infinite}.hero h1{font-family:var(--fd);font-size:clamp(36px,5vw,56px);color:var(--g9);line-height:1.12;margin-bottom:20px}.hero h1 em{font-style:italic;color:var(--g6)}.hero-txt{font-size:17px;color:var(--x6);line-height:1.75;margin-bottom:36px;max-width:480px}.hero-acts{display:flex;gap:14px;flex-wrap:wrap}.hero-vis{position:relative;animation:fadeUp .8s ease .2s both}.hero-img{border-radius:var(--rx);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-xl);position:relative}.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-stat{position:absolute;bottom:-20px;left:-30px;background:var(--w);padding:18px 22px;border-radius:var(--rm);box-shadow:var(--sh-l);z-index:2;animation:scaleIn .6s ease .6s both}.hero-stat .n{font-family:var(--fd);font-size:28px;color:var(--g7)}.hero-stat .l{font-size:13px;color:var(--x5);font-weight:500}
.srv-g{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.srv{background:var(--s0);border:1px solid var(--s2);border-radius:var(--rl);padding:36px 30px;transition:all .35s;position:relative;overflow:hidden}.srv::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--g7);transform:scaleX(0);transform-origin:left;transition:transform .35s}.srv:hover{transform:translateY(-4px);box-shadow:var(--sh-l);border-color:var(--g1)}.srv:hover::before{transform:scaleX(1)}.srv-ic{width:52px;height:52px;background:var(--g1);border-radius:var(--rm);display:flex;align-items:center;justify-content:center;margin-bottom:22px;color:var(--g7)}.srv h3{font-family:var(--fd);font-size:21px;color:var(--g9);margin-bottom:12px}.srv p{font-size:14.5px;color:var(--x6);line-height:1.7;margin-bottom:20px}.srv-lk{font-size:13.5px;font-weight:600;color:var(--g7);display:inline-flex;align-items:center;gap:6px;transition:gap .25s;cursor:pointer}.srv-lk:hover{gap:10px}
.fmt-g{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.fmt{background:var(--w);border:1px solid var(--x2);border-radius:var(--rl);overflow:hidden;transition:all .35s}.fmt:hover{box-shadow:var(--sh-l);transform:translateY(-3px)}.fmt-hd{padding:28px 28px 0}.fmt-tag{display:inline-block;padding:4px 12px;border-radius:100px;font-size:11.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.t-reg{background:var(--s2);color:var(--s7)}.t-san{background:var(--b1);color:var(--b5)}.t-sec{background:var(--o1);color:var(--o6)}.t-tec{background:var(--g1);color:var(--g7)}.t-bea{background:#e8e0f5;color:#6b4fa0}.fmt h3{font-family:var(--fd);font-size:19px;color:var(--g9);margin:14px 0 10px;line-height:1.3}.fmt-bd{padding:0 28px 24px}.fmt-meta{display:flex;gap:20px;margin-bottom:14px;flex-wrap:wrap}.fmt-mi{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--x5)}.fmt-bd>p{font-size:14px;color:var(--x6);line-height:1.65}.fmt-ft{padding:0 28px 24px;display:flex;justify-content:flex-end}
.cal-list{display:flex;flex-direction:column;gap:18px}.cal-card{background:var(--w);border:1px solid var(--x2);border-radius:var(--rl);overflow:hidden;transition:all .3s}.cal-card:hover{box-shadow:var(--sh-m)}.cal-main{display:grid;grid-template-columns:130px 1fr auto;align-items:stretch;cursor:pointer}.cal-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;background:var(--g0);border-right:1px solid var(--g1)}.cal-date .d{font-family:var(--fd);font-size:30px;color:var(--g8);line-height:1}.cal-date .m{font-size:13px;font-weight:600;color:var(--g6);text-transform:uppercase;letter-spacing:1px;margin-top:4px}.cal-date .y{font-size:12px;color:var(--x5)}.cal-info{padding:22px 24px}.cal-info h3{font-family:var(--fd);font-size:18px;color:var(--g9);margin-bottom:8px;line-height:1.3}.cal-dets{display:flex;gap:18px;flex-wrap:wrap}.cal-det{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--x5)}.cal-right{display:flex;align-items:center;padding:22px 24px;gap:10px}.cal-expand{transition:transform .3s;color:var(--x3)}.cal-card.expanded .cal-expand{transform:rotate(180deg)}.cal-ext{display:none;border-top:1px solid var(--x1);padding:24px;background:var(--x0);animation:slideDown .3s}.cal-card.expanded .cal-ext{display:block}.cal-ext-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.docs-box{background:var(--w);border:1px solid var(--x2);border-radius:var(--rm);padding:20px}.docs-box h4{font-size:14px;font-weight:600;color:var(--x7);margin-bottom:14px;display:flex;align-items:center;gap:8px}.doc-list{display:flex;flex-direction:column;gap:8px}.doc-it{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--s0);border:1px solid var(--s2);border-radius:var(--rs);transition:all .2s;cursor:pointer;text-decoration:none}.doc-it:hover{border-color:var(--g6);background:var(--g0)}.doc-l{display:flex;align-items:center;gap:10px}.doc-ic{width:32px;height:32px;background:var(--r1);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--r5);font-size:11px;font-weight:700;flex-shrink:0}.doc-nm{font-size:13.5px;font-weight:500;color:var(--x7)}.doc-sz{font-size:11.5px;color:var(--x3)}.doc-dl{padding:6px 14px;background:var(--g7);color:#fff;border-radius:var(--rs);font-size:12px;font-weight:600;display:flex;align-items:center;gap:5px;white-space:nowrap;transition:all .2s}.doc-dl:hover{background:var(--g8)}
.cal-notes{background:var(--w);border:1px solid var(--x2);border-radius:var(--rm);padding:20px}.cal-notes h4{font-size:14px;font-weight:600;color:var(--x7);margin-bottom:8px}.cal-notes p{font-size:13.5px;color:var(--x5);line-height:1.6}.cal-contact{background:var(--g0);border:1px solid var(--g1);border-radius:var(--rm);padding:20px;text-align:center;margin-top:16px}.cal-contact p{font-size:13.5px;color:var(--x6);margin-bottom:12px}
.quali-box{display:flex;align-items:flex-start;gap:16px;background:var(--w);border:1px solid var(--x2);border-radius:var(--rm);padding:20px 24px;margin-top:40px}.quali-badge{width:120px;height:auto;flex-shrink:0;border-radius:var(--rm);overflow:hidden;background:var(--w);padding:8px}.quali-badge img{width:100%;height:100%;object-fit:contain}
.ab-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center}.ab-img{border-radius:var(--rx);overflow:hidden;box-shadow:var(--sh-l)}.ab-img img{width:100%;height:auto;display:block}.ab-txt p{font-size:15.5px;color:var(--x6);line-height:1.75;margin-bottom:20px}.creds{display:flex;flex-direction:column;gap:12px;margin-top:28px;padding-top:28px;border-top:1px solid var(--s3)}.cred{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--x7)}.cred-ic{width:36px;height:36px;background:var(--g1);border-radius:var(--rs);display:flex;align-items:center;justify-content:center;color:var(--g7);flex-shrink:0}
.ct-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:60px}.ct-info h3{font-family:var(--fd);font-size:24px;color:var(--g9);margin-bottom:20px}.ct-info>p{font-size:15px;color:var(--x6);line-height:1.7;margin-bottom:32px}.ct-meth{display:flex;flex-direction:column;gap:20px}.ct-m{display:flex;gap:14px;align-items:flex-start}.ct-mi{width:42px;height:42px;background:var(--g0);border:1px solid var(--g1);border-radius:var(--rs);display:flex;align-items:center;justify-content:center;color:var(--g7);flex-shrink:0}.ct-mt{font-size:14.5px;color:var(--x7);line-height:1.5}.ct-mt strong{display:block;font-weight:600;margin-bottom:2px}.soc{display:flex;gap:10px;margin-top:32px}.soc a{width:42px;height:42px;background:var(--s1);border:1px solid var(--s2);border-radius:var(--rs);display:flex;align-items:center;justify-content:center;color:var(--x6);transition:all .2s}.soc a:hover{background:var(--g0);border-color:var(--g6);color:var(--g7)}
.fw{background:var(--s0);border:1px solid var(--s2);border-radius:var(--rl);padding:36px}.fr{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.fg{margin-bottom:16px}.fg label{display:block;font-size:13px;font-weight:600;color:var(--x7);margin-bottom:6px}.fg .rq{color:var(--r5)}.fi,.fsl,.fta{width:100%;font-family:var(--fb);font-size:14px;padding:11px 14px;border:1px solid var(--x3);border-radius:var(--rs);background:var(--w);color:var(--x8);transition:all .2s}.fi:focus,.fsl:focus,.fta:focus{outline:none;border-color:var(--g6);box-shadow:0 0 0 3px rgba(45,95,59,.1)}.fta{min-height:120px;resize:vertical}.fsl{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}
.cta{background:linear-gradient(135deg,var(--g8),var(--g9));padding:70px 0;text-align:center;position:relative;overflow:hidden}.cta::before{content:'';position:absolute;top:-50%;right:-30%;width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.04),transparent 70%);border-radius:50%}.cta h2{font-family:var(--fd);font-size:clamp(26px,3.5vw,36px);color:#fff;margin-bottom:14px;position:relative}.cta p{font-size:16px;color:rgba(255,255,255,.7);margin-bottom:30px;position:relative}
.ft{background:var(--g9);color:rgba(255,255,255,.7);padding:60px 0 30px}.ft-g{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;margin-bottom:40px}.ft-br .logo-i{margin-bottom:16px}.ft-br p{font-size:14px;line-height:1.7;max-width:280px}.ft h4{color:#fff;font-size:14px;font-weight:600;margin-bottom:18px;letter-spacing:.5px}.ft-lk{display:flex;flex-direction:column;gap:10px}.ft-lk a{font-size:14px;color:rgba(255,255,255,.6);transition:color .2s;cursor:pointer}.ft-lk a:hover{color:#fff}.ft-bt{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.ft-bt p{font-size:12.5px;color:rgba(255,255,255,.4)}.ft-leg{font-size:12px;color:rgba(255,255,255,.35);line-height:1.5;text-align:center;margin-top:20px}
.page{display:none}.page.active{display:block}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:40px;border-radius:var(--rl);overflow:hidden}.gallery img{width:100%;height:200px;object-fit:cover;transition:transform .3s}.gallery img:hover{transform:scale(1.05)}
@media(max-width:1024px){.hero-in{grid-template-columns:1fr;gap:40px;text-align:center}.hero-txt{margin:0 auto 36px}.hero-acts{justify-content:center}.hero-vis{max-width:400px;margin:0 auto}.hero-stat{left:auto;right:-10px}.srv-g,.fmt-g{grid-template-columns:1fr}.cal-main{grid-template-columns:100px 1fr auto}.cal-ext-grid{grid-template-columns:1fr}.ab-grid,.ct-grid{grid-template-columns:1fr;gap:40px}.ft-g{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){:root{--hh:64px}nav{display:none}.mtog{display:flex}.sec{padding:60px 0}.hero{min-height:auto;padding-top:100px;padding-bottom:60px}.cal-main{grid-template-columns:1fr}.cal-date{flex-direction:row;gap:8px;padding:14px 20px;border-right:none;border-bottom:1px solid var(--g1)}.cal-right{padding:0 20px 16px}.fr{grid-template-columns:1fr}.hero-stat{display:none}.quali-box{flex-direction:column;text-align:center}.gallery{grid-template-columns:1fr}}

/* Carousel */
.carousel{position:relative;border-radius:var(--rx);overflow:hidden;aspect-ratio:16/9;box-shadow:var(--sh-xl)}.carousel-track{display:flex;height:100%;transition:transform .8s ease}.carousel-slide{min-width:100%;height:100%}.carousel-slide img{width:100%;height:100%;object-fit:cover}.carousel-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:2}.carousel-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;transition:all .3s;padding:0}.carousel-dot.active{background:#fff;transform:scale(1.2)}
/* Calendar past/future */
/* past removed */
.cal-year-hd{font-family:var(--fd);font-size:24px;color:var(--g9);margin:40px 0 20px;padding-bottom:10px;border-bottom:2px solid var(--g1)}.cal-year-hd:first-child{margin-top:0}
.cal-year-hd .badge{display:inline-block;font-family:var(--fb);font-size:11px;font-weight:600;padding:3px 10px;border-radius:100px;margin-left:10px;vertical-align:middle}
.badge-upcoming{background:var(--g1);color:var(--g7)}
/* Mobile PDF link */
.fmt-dl{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--g7);padding:8px 0;transition:gap .2s;cursor:pointer;text-decoration:none}.fmt-dl:hover{gap:10px}
@media(max-width:768px){.carousel{aspect-ratio:4/3}}
.ab-img img{object-fit:cover;object-position:center 15%;aspect-ratio:3/4}
.ab-img{max-width:400px}.ab-img img{aspect-ratio:3/4;object-fit:cover;object-position:center 20%}
