:root{--primary:#0d5c3a;--primary-hover:#0a472d;--primary-light:#e6f4ed;--secondary:#147b4f;--accent:#d97706;--accent-light:#fef3c7;--dark:#0f172a;--slate:#334155;--muted:#64748b;--light-gray:#f1f5f9;--bg-light:#f8fafc;--white:#fff;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 25px -5px #0000001f;--shadow-xl:0 20px 35px -10px #0000002e;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--bg-light);color:var(--dark);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--dark);font-weight:700;line-height:1.25}a{color:inherit;transition:var(--transition);text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}img{max-width:100%;height:auto;display:block}.container{max-width:1240px;margin:0 auto;padding:0 24px}.container-narrow{max-width:1000px;margin:0 auto;padding:0 24px}.section-padding{padding:80px 0}.section-padding-sm{padding:40px 0}.site-header{z-index:1000;width:100%;transition:all .35s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0}.site-header.has-admin-bar{top:44px}.site-header.transparent{box-shadow:none;background:0 0;border-bottom:none}.site-header.transparent .brand-name{color:#fff;text-shadow:0 2px 8px #0009}.site-header.transparent .brand-domain{color:#fef08a;text-shadow:0 1px 4px #0009}.site-header.transparent .logo-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#ffffff38;border:1px solid #fff6;box-shadow:0 4px 15px #0003}.site-header.transparent .nav-link{color:#fffffff2;text-shadow:0 1px 4px #0009}.site-header.transparent .nav-link:hover{color:#fff}.site-header.transparent .nav-link.active{color:#fff;font-weight:800}.site-header.transparent .nav-link.active:after{background:#fff;box-shadow:0 0 8px #fffc}.site-header.transparent .btn-contact{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#ffffff38;border:1px solid #fff6;box-shadow:0 4px 12px #0003}.site-header.transparent .btn-contact:hover{background:#ffffff61;transform:translateY(-2px)}.site-header.transparent .mobile-toggle{color:#fff}.site-header.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-bottom:1px solid #00000014;box-shadow:0 4px 20px #0000000f}.site-header.scrolled .brand-name{color:#0f172a}.site-header.scrolled .brand-domain{color:var(--accent)}.site-header.scrolled .logo-badge{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff}.site-header.scrolled .brand-logo-img{filter:brightness(.12)drop-shadow(0 1px 2px #0000001a)}.site-header.scrolled .nav-link{color:#334155;text-shadow:none}.site-header.scrolled .nav-link.active{color:#0f172a;font-weight:800}.site-header.scrolled .nav-link.active:after{background:var(--primary)}.site-header.scrolled .btn-contact{background:var(--primary);color:#fff;border:none}.site-header.scrolled .btn-contact:hover{background:var(--primary-hover)}.site-header.scrolled .mobile-toggle{color:#0f172a}.header-inner{justify-content:space-between;align-items:center;height:80px;display:flex}.brand-logo{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-logo-img{object-fit:contain;filter:drop-shadow(0 2px 8px #0000004d);width:44px;height:44px;transition:var(--transition)}.logo-badge{width:44px;height:44px;transition:var(--transition);border-radius:12px;justify-content:center;align-items:center;display:flex}.logo-text-group{flex-direction:column;display:flex}.brand-name{font-family:var(--font-heading);letter-spacing:-.02em;transition:var(--transition);font-size:1.35rem;font-weight:800}.brand-domain{letter-spacing:.05em;text-transform:uppercase;transition:var(--transition);font-size:.72rem;font-weight:600}.nav-menu{align-items:center;gap:28px;list-style:none;display:flex}.nav-link{transition:var(--transition);padding:8px 0;font-size:.98rem;font-weight:500;position:relative}.nav-link.active:after{content:"";border-radius:2px;width:100%;height:3px;position:absolute;bottom:0;left:0}.nav-actions{align-items:center;gap:16px;display:flex}.btn-contact{border-radius:var(--radius-full);transition:var(--transition);align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;display:inline-flex}.mobile-toggle{padding:8px;font-size:1.5rem;display:none}.mobile-drawer{width:100%;box-shadow:var(--shadow-lg);z-index:999;background:#fff;border-bottom:1px solid #0000001a;padding:24px;display:none;position:fixed;top:80px;left:0}.mobile-drawer.open{display:block}.mobile-nav-list{flex-direction:column;gap:16px;list-style:none;display:flex}.mobile-nav-link{color:var(--slate);border-bottom:1px dashed #e2e8f0;padding:10px 0;font-size:1.1rem;font-weight:600;display:block}.mobile-nav-link.active{color:var(--primary);font-weight:800}.hero-banner{color:#fff;text-align:left;background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-overlay{background:linear-gradient(#0f172a73 0%,#0f172aa6 60%,#0f172ad9 100%);position:absolute;inset:0}.hero-content{z-index:2;width:100%;max-width:900px;padding:60px 0;position:relative}.hero-title{color:#fff;text-shadow:0 4px 16px #0006;letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(2.5rem,5vw,4.2rem);font-weight:800;line-height:1.15}.hero-subtitle{color:#fffffff2;text-shadow:0 2px 8px #00000080;max-width:780px;margin-bottom:32px;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:400;line-height:1.6}.hero-badge-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;background:#fff3;border:1px solid #ffffff4d;align-items:center;gap:8px;margin-bottom:20px;padding:6px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.landmark-section{background:#fff;padding:90px 0}.landmark-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:50px;display:grid}.landmark-images{grid-template-columns:1fr 1fr;gap:16px;display:grid}.landmark-img-card{box-shadow:var(--shadow-md);transition:var(--transition);border-radius:16px;height:420px;overflow:hidden}.landmark-img-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.landmark-img-card img{object-fit:cover;width:100%;height:100%}.landmark-text-content h2{color:#0f172a;margin-bottom:24px;font-size:2.5rem;font-weight:800}.landmark-text-content p{color:#475569;margin-bottom:20px;font-size:1.05rem;line-height:1.8}.history-section{background:var(--bg-light);padding:90px 0}.history-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;display:grid}.history-text-content h2{color:#0f172a;margin-bottom:24px;font-size:2.5rem;font-weight:800}.history-text-content p{color:#475569;margin-bottom:20px;font-size:1.05rem;line-height:1.8}.history-image-card{box-shadow:var(--shadow-lg);border-radius:16px;height:480px;overflow:hidden}.history-image-card img{object-fit:cover;width:100%;height:100%}.stats-bar{background:linear-gradient(135deg, var(--primary), #093e27);color:#fff;z-index:10;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);margin-top:-40px;padding:50px 0;position:relative}.stats-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:30px;display:grid}.stat-item h3{color:#fef08a;margin-bottom:4px;font-size:2.8rem;font-weight:800}.stat-item p{color:#ffffffe6;font-size:.95rem;font-weight:500}.visi-misi-grid{grid-template-columns:1fr 1fr;gap:30px;margin-top:40px;display:grid}.card-visi-misi{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;border:1px solid #0000000d;padding:40px}.card-visi-misi h3{color:var(--primary);align-items:center;gap:12px;margin-bottom:16px;font-size:1.5rem;display:flex}.misi-list{flex-direction:column;gap:12px;list-style:none;display:flex}.misi-list li{color:var(--slate);align-items:flex-start;gap:12px;font-size:1rem;display:flex}.misi-num{background:var(--primary-light);color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.news-grid{grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px;display:grid}.news-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition);background:#fff;border:1px solid #f1f5f9;flex-direction:column;display:flex;overflow:hidden}.news-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.news-img{object-fit:cover;width:100%;height:200px}.news-body{flex-direction:column;flex-grow:1;padding:24px;display:flex}.news-badge{background:var(--primary-light);color:var(--primary);border-radius:var(--radius-full);text-transform:uppercase;align-self:flex-start;margin-bottom:12px;padding:4px 12px;font-size:.75rem;font-weight:700}.news-title{color:var(--dark);margin-bottom:10px;font-size:1.2rem;font-weight:700;line-height:1.35}.news-excerpt{color:var(--muted);flex-grow:1;margin-bottom:20px;font-size:.92rem}.news-footer{color:#94a3b8;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:16px;font-size:.8rem;display:flex}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px;display:grid}.gallery-item{border-radius:var(--radius-md);cursor:pointer;height:240px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:var(--transition)}.gallery-item:hover img{transform:scale(1.08)}.gallery-overlay{color:#fff;opacity:0;transition:var(--transition);background:#00000080;flex-direction:column;justify-content:flex-end;padding:20px;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#0f172ad9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);width:100%;max-width:750px;max-height:90vh;box-shadow:var(--shadow-xl);background:#fff;animation:.25s ease-out modalFadeIn;position:relative;overflow-y:auto}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-close{background:var(--light-gray);width:36px;height:36px;color:var(--dark);transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{background:#e2e8f0}.site-footer{color:#94a3b8;border-top:4px solid var(--primary);background:#091e14;padding:80px 0 30px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1.5fr;gap:40px;margin-bottom:60px;display:grid}.footer-brand h3{color:#fff;margin-bottom:12px;font-size:1.5rem}.footer-brand p{font-size:.95rem;line-height:1.7}.footer-col h4{color:#fff;margin-bottom:20px;font-size:1.1rem}.footer-links{flex-direction:column;gap:10px;list-style:none;display:flex}.footer-links a{color:#94a3b8;font-size:.92rem}.footer-links a:hover{color:#34d399}.footer-bottom{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-top:30px;font-size:.85rem;display:flex}@media (width<=992px){.nav-menu{display:none}.mobile-toggle{display:block}.landmark-grid,.history-grid,.visi-misi-grid{grid-template-columns:1fr}.landmark-images{order:2}.landmark-text-content{order:1}.news-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:20px}.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.hero-banner{min-height:420px}.hero-title{font-size:2.2rem}.news-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.footer-bottom{text-align:center;flex-direction:column;gap:12px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.fade-up-element{animation:.75s cubic-bezier(.16,1,.3,1) both fadeInUp}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)translate(-50%)}40%{transform:translateY(-10px)translate(-50%)}60%{transform:translateY(-5px)translate(-50%)}}
