.navbar{position:sticky;top:0;z-index:50;background:#fff8eceb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:3px solid var(--color-sun)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;gap:20px}.navbar-brand{display:flex;align-items:center;gap:10px}.navbar-brand-badge{width:40px;height:40px;border-radius:12px;background:var(--color-coral);color:#fff;font-family:var(--font-display);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px}.navbar-brand-text{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--color-navy)}.navbar-links{display:flex;gap:22px;flex:1;justify-content:center}.navbar-link{font-weight:700;font-size:15px;color:var(--color-navy-soft);padding-bottom:4px;border-bottom:3px solid transparent}.navbar-link.active,.navbar-link:hover{color:var(--color-navy);border-bottom-color:var(--color-sun)}.navbar-cta{font-size:14px;padding:10px 20px}@media (max-width: 860px){.navbar-links,.navbar-brand-text{display:none}}.footer{background:var(--color-navy);color:#d9e0ec;padding-top:48px}.footer-inner{display:flex;gap:60px;padding-bottom:32px;flex-wrap:wrap}.footer-col h4{color:#fff;font-size:16px;margin-bottom:12px}.footer-col p,.footer-col a{display:block;font-size:14px;color:#b7c1d6;margin-bottom:8px}.footer-col a:hover{color:var(--color-sun)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 24px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;max-width:1160px;margin:0 auto}.footer-copyright{color:#b7c1d6}.footer-credit{color:var(--color-sun);font-weight:700}.footer-credit:hover{text-decoration:underline}.hero{position:relative;padding:64px 0 100px;overflow:hidden;background:linear-gradient(120deg,#eaf8f0,#fff8ec 45%,#fdeaef)}.hero-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.confetti{position:absolute;border-radius:6px;opacity:.55}.confetti.c1{width:18px;height:18px;background:var(--color-coral);top:12%;left:55%;transform:rotate(20deg)}.confetti.c2{width:14px;height:14px;background:var(--color-teal);top:30%;left:62%;border-radius:50%}.confetti.c3{width:22px;height:22px;background:var(--color-sun);top:60%;left:48%;transform:rotate(45deg)}.confetti.c4{width:16px;height:16px;background:var(--color-sky);top:75%;left:58%;border-radius:50%}.confetti.c5{width:12px;height:12px;background:var(--color-coral);top:8%;left:68%;border-radius:50%}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.hero-pill{display:inline-block;background:#fff;padding:8px 18px;border-radius:999px;font-weight:700;font-size:13px;color:var(--color-navy-soft);box-shadow:var(--shadow-soft);margin-bottom:14px}.hero-copy h1{font-size:44px;line-height:1.15;margin:4px 0 18px}.hl-pink{color:var(--color-coral);text-decoration:underline;text-decoration-color:#ff6f6166;text-decoration-thickness:4px;text-underline-offset:6px}.hl-blue{color:var(--color-sky)}.hero-desc{font-size:17px;color:var(--color-navy-soft);line-height:1.6;max-width:480px}.hero-rating{display:inline-flex;align-items:center;gap:6px;background:#fff;padding:10px 18px;border-radius:999px;box-shadow:var(--shadow-soft);font-weight:700;font-size:14px;color:var(--color-navy-soft);margin:18px 0}.hero-rating .stars{color:var(--color-sun-dark);letter-spacing:2px}.hero-actions{display:flex;gap:14px;margin:10px 0 0;flex-wrap:wrap}.hero-visual{position:relative}.hero-photo{width:100%;max-height:460px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:8px solid white;display:block;transform:rotate(2.5deg)}.hero-chip{position:absolute;display:flex;align-items:center;gap:8px;background:#fff;padding:10px 16px;border-radius:999px;box-shadow:var(--shadow-soft);font-weight:700;font-size:13px;color:var(--color-navy)}.chip-top{top:6%;right:-6%}.chip-bottom{bottom:4%;left:-8%}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr}.hero-copy h1{font-size:34px}.hero-photo{transform:none}.chip-top{top:-14px;right:6px}.chip-bottom{bottom:-14px;left:6px}.hero-chip{font-size:11px;padding:7px 12px}}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--color-navy) 0%,#34456A 100%);padding:20px}.admin-login-card{background:#fff;border-radius:var(--radius-lg);padding:40px;width:100%;max-width:360px;box-shadow:0 20px 50px #00000040;text-align:center}.admin-login-badge{width:56px;height:56px;border-radius:16px;background:var(--color-coral);color:#fff;font-family:var(--font-display);font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.admin-login-card h1{font-size:22px;margin-bottom:4px}.admin-login-card>p{color:var(--color-navy-soft);font-size:13px;margin-bottom:24px}.admin-login-card .form-field{text-align:left}.admin-shell{display:flex;min-height:100vh;background:#f4f6fa;font-family:var(--font-body)}.admin-sidebar{width:230px;background:var(--color-navy);color:#d9e0ec;display:flex;flex-direction:column;padding:24px 16px;position:sticky;top:0;height:100vh}.admin-sidebar-brand{font-family:var(--font-display);font-weight:800;color:#fff;font-size:18px;margin-bottom:28px;padding:0 8px}.admin-nav-link{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;font-weight:700;font-size:14px;color:#b7c1d6;margin-bottom:6px}.admin-nav-link:hover{background:#ffffff0f;color:#fff}.admin-nav-link.active{background:var(--color-sun);color:var(--color-navy)}.admin-sidebar-footer{margin-top:auto;padding:12px 8px 0;border-top:1px solid rgba(255,255,255,.12);font-size:13px}.admin-logout-btn{margin-top:10px;width:100%;background:transparent;border:1.5px solid rgba(255,255,255,.3);color:#fff;padding:8px;border-radius:10px;font-weight:700;font-size:13px}.admin-logout-btn:hover{background:#ffffff14}.admin-content{flex:1;padding:32px 40px;overflow-y:auto}.admin-content h1{font-size:24px;margin-bottom:6px}.admin-content .admin-subtitle{color:var(--color-navy-soft);margin-bottom:24px;font-size:14px}.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft)}.admin-table th,.admin-table td{text-align:left;padding:12px 16px;font-size:14px;border-bottom:1px solid #EEF1F6}.admin-table th{background:#f4f6fa;font-family:var(--font-display);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-navy-soft)}.status-pill{font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px;border:none}.status-pill.baru{background:#ffe3b0;color:#a66a00}.status-pill.diproses{background:#d6e9ff;color:#1d5fa8}.status-pill.diterima{background:#d8f0ec;color:#157a6c}.status-pill.ditolak{background:#fbdad8;color:#b03a32}.admin-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.admin-tab-btn{padding:8px 18px;border-radius:999px;border:2px solid #E2E7F0;background:#fff;font-weight:700;font-size:13px;color:var(--color-navy-soft)}.admin-tab-btn.active{border-color:var(--color-sun);background:var(--color-sun);color:var(--color-navy)}.admin-panel{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:24px}.admin-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:14px}.admin-item-row{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 0;border-bottom:1px solid #EEF1F6;gap:12px}.admin-item-row:last-child{border-bottom:none}.admin-item-actions{display:flex;gap:8px;flex-shrink:0}.icon-btn{border:none;background:#f4f6fa;border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer}.icon-btn.danger{background:#fbdad8;color:#b03a32}.gallery-upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-top:20px}.gallery-upload-item{position:relative;border-radius:12px;overflow:hidden;background:#f4f6fa}.gallery-upload-item img,.gallery-upload-item video{width:100%;height:130px;object-fit:cover;display:block}.gallery-upload-item .icon-btn.danger{position:absolute;top:6px;right:6px}:root{--color-cream: #FFF8EC;--color-sun: #FFC93C;--color-sun-dark: #F2A900;--color-sky: #4FB6E8;--color-coral: #FF6F61;--color-teal: #2AA79B;--color-navy: #22314A;--color-navy-soft: #4A5A78;--color-white: #FFFFFF;--font-display: "Baloo 2", system-ui, sans-serif;--font-body: "Nunito", system-ui, sans-serif;--radius-lg: 28px;--radius-md: 18px;--radius-sm: 10px;--shadow-soft: 0 12px 30px rgba(34, 49, 74, .12);--shadow-pop: 0 6px 0 rgba(0, 0, 0, .12)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--color-cream);color:var(--color-navy);font-family:var(--font-body);scroll-behavior:smooth}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-navy);margin:0}a{text-decoration:none;color:inherit}button{font-family:var(--font-body);cursor:pointer}.container{max-width:1160px;margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--font-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px;color:var(--color-teal)}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:16px;padding:14px 28px;border-radius:999px;border:none;transition:transform .15s ease,box-shadow .15s ease}.btn:active{transform:translateY(2px)}.btn-primary{background:var(--color-coral);color:var(--color-white);box-shadow:var(--shadow-pop)}.btn-primary:hover{transform:translateY(-2px)}.btn-secondary{background:var(--color-white);color:var(--color-navy);box-shadow:var(--shadow-pop)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.section{padding:56px 0}.section-alt{background:#fff1d6}.section-title{font-size:30px;margin:10px 0 30px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.info-card{background:#fff;border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-soft);border-bottom:6px solid var(--color-sun)}.info-card h3{font-size:19px;margin-bottom:8px}.info-card p{color:var(--color-navy-soft);font-size:14px;line-height:1.5}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.testimonial-card{background:#fff;border-radius:var(--radius-md);padding:22px;margin:0;font-style:italic;color:var(--color-navy-soft);box-shadow:var(--shadow-soft)}.testimonial-card footer{margin-top:12px;font-style:normal;font-weight:700;color:var(--color-teal);font-size:13px}.page-header{padding:48px 0 20px;text-align:center}.page-header h1{font-size:34px;margin:10px 0}.page-header p{color:var(--color-navy-soft);max-width:560px;margin:0 auto}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.gallery-item{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft);background:#fff}.gallery-item img,.gallery-item video{width:100%;height:200px;object-fit:cover;display:block}.gallery-caption{padding:10px 14px;font-size:13px;color:var(--color-navy-soft)}.event-list{display:flex;flex-direction:column;gap:16px}.event-item{background:#fff;border-radius:var(--radius-md);padding:20px 24px;box-shadow:var(--shadow-soft);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.event-status{font-family:var(--font-display);font-weight:700;font-size:12px;padding:6px 14px;border-radius:999px}.event-status.akan_datang{background:#ffe3b0;color:var(--color-sun-dark)}.event-status.selesai{background:#d8f0ec;color:var(--color-teal)}.form-card{background:#fff;border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-soft);max-width:560px;margin:0 auto}.form-field{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.form-field label{font-weight:700;font-size:14px}.form-field input,.form-field select,.form-field textarea{padding:12px 14px;border-radius:var(--radius-sm);border:2px solid #EADFC8;font-family:var(--font-body);font-size:14px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-sky)}.form-message{margin-top:14px;font-weight:700;font-size:14px}.form-message.success{color:var(--color-teal)}.form-message.error{color:var(--color-coral)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media (max-width: 860px){.contact-grid{grid-template-columns:1fr}}
