@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#172b4d;--muted:#66758b;--primary:#087f8c;--primary-dark:#06636d;--accent:#e6f6f5;--line:#e5eaf0;--paper:#fff;--soft:#f5f8fb;--danger:#b42318;--shadow:0 12px 35px rgba(23,43,77,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',Arial,sans-serif;line-height:1.65}body.no-scroll{overflow:hidden}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;line-height:1.2;letter-spacing:-.035em;margin:0 0 14px}h1{font-size:clamp(2.1rem,5vw,3.5rem);font-weight:800}h2{font-size:1.45rem;font-weight:750}p{margin:0 0 14px}.container{width:min(1160px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:24px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;font-size:1.05rem}.brand small{display:block;font:500 .7rem 'DM Sans',sans-serif;color:var(--muted);letter-spacing:.03em}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:var(--primary);color:white;font-size:1.35rem}.main-nav{display:flex;align-items:center;gap:28px}.main-nav>a,.dropdown-toggle{color:#34445c;text-decoration:none;font-weight:600;font-size:.93rem}.main-nav>a:hover,.dropdown-toggle:hover{color:var(--primary)}.nav-dropdown{position:relative}.dropdown-toggle{border:0;background:none;padding:12px 0;font-family:inherit;cursor:pointer}.dropdown-toggle span{margin-left:4px}.dropdown-menu{display:none;position:absolute;top:100%;left:-16px;min-width:230px;max-width:320px;max-height:65vh;overflow:auto;padding:8px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.nav-dropdown:hover .dropdown-menu,.nav-dropdown.is-open .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:10px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.9rem}.dropdown-menu a:hover{background:var(--accent);color:var(--primary)}.main-nav .nav-admin{padding:10px 16px;border-radius:10px;background:var(--accent);color:var(--primary)}.nav-toggle{display:none;background:none;border:0;font-size:1.6rem;color:var(--ink)}.hero{padding:76px 0 72px;background:radial-gradient(ellipse at 80% 15%,rgba(8,127,140,.15),transparent 35%),linear-gradient(135deg,#f1fbfa,#f8fbff)}.hero .container{max-width:1160px}.hero h1{max-width:760px;margin-top:10px}.hero p{max-width:620px;color:var(--muted);font-size:1.08rem}.eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--primary)}.section{padding-top:52px;padding-bottom:76px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.event-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white;box-shadow:0 5px 22px rgba(23,43,77,.04);transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.cover-link{display:block;background:var(--soft);overflow:hidden}.event-cover{display:block;width:100%;height:225px;object-fit:cover;transition:transform .4s}.event-card:hover .event-cover{transform:scale(1.035)}.cover-placeholder{height:225px;display:grid;place-items:center;color:var(--primary);background:linear-gradient(135deg,#e5f7f5,#eef3fb);font-weight:800}.event-card-body{padding:22px}.event-date{font-size:.84rem;font-weight:700;color:var(--primary);margin-bottom:10px}.event-card h2{font-size:1.18rem;letter-spacing:-.02em}.event-card h2 a{color:var(--ink);text-decoration:none}.event-card p{color:var(--muted);font-size:.92rem;min-height:48px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:15px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.text-link,.back-link{color:var(--primary);font-weight:700;text-decoration:none}.empty-state{text-align:center;padding:60px 24px;background:var(--soft);border:1px dashed #cdd7e3;border-radius:18px}.empty-state p{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:white;text-decoration:none;border:1px solid var(--primary);border-radius:10px;padding:11px 17px;font:700 .92rem 'DM Sans',sans-serif;cursor:pointer;transition:background .2s}.btn:hover{background:var(--primary-dark)}.btn-light{background:white;color:var(--ink);border-color:var(--line)}.btn-light:hover{background:var(--soft)}.btn-block{width:100%}.back-link{display:inline-block;margin-bottom:24px}.event-detail{border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-bottom:45px}.detail-cover{display:block;width:100%;max-height:490px;object-fit:cover;background:var(--soft)}.detail-heading{padding:32px 36px}.detail-heading h1{font-size:clamp(1.9rem,4vw,3rem)}.description{white-space:normal;color:#53647b;font-size:1rem;max-width:900px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.section-heading h2{margin:7px 0 0}.muted{color:var(--muted)}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.photo-button{display:block;padding:0;border:0;background:var(--soft);border-radius:13px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}.photo-button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.photo-button:hover img{transform:scale(1.06)}.lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(8,16,30,.94);align-items:center;justify-content:center;padding:60px 80px}.lightbox.is-visible{display:flex}.lightbox figure{margin:0;text-align:center;max-width:min(1100px,100%)}.lightbox figure img{display:block;max-width:100%;max-height:78vh;margin:auto;object-fit:contain}.lightbox figcaption{color:white;padding-top:14px}.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.13);color:white;border-radius:50%;cursor:pointer}.lightbox-close{top:22px;right:25px;font-size:2rem;width:45px;height:45px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:2.3rem;width:48px;height:58px;border-radius:12px!important}.lightbox-prev{left:20px}.lightbox-next{right:20px}.site-footer{background:#142944;color:#dbe5f2;padding:32px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-inner strong{color:white}.footer-inner p{margin:4px 0 0;color:#aebdd0;font-size:.87rem}.footer-inner>span{font-size:.82rem;color:#aebdd0}.narrow{max-width:530px}.narrow-wide{max-width:850px}.admin-login-card{padding:36px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.admin-login-card h1{font-size:2.2rem;margin-top:8px}.admin-login-card>p{margin-bottom:24px}.form-stack{display:flex;flex-direction:column;gap:18px}.form-stack label,.admin-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:.91rem}.form-stack input:not([type=hidden]),.form-stack textarea,.form-stack select{width:100%;border:1px solid #ccd6e2;border-radius:10px;padding:12px 13px;background:white;color:var(--ink);font:400 .95rem 'DM Sans',sans-serif;outline:none}.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(8,127,140,.12)}.form-stack input[type=file]{padding:10px}.form-stack small,.small-note{font-size:.8rem;color:var(--muted);font-weight:400}.small-note{margin:20px 0 0!important}.required{color:var(--danger)}.alert{padding:13px 15px;border-radius:10px;margin:15px 0 20px;font-size:.9rem}.alert-success{background:#eaf8ef;color:#17683a}.alert-error{background:#fff0ee;color:#9c241b}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.admin-top h1{font-size:clamp(2rem,4vw,2.7rem);margin-top:6px;margin-bottom:6px}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0 45px}.stat-card{padding:22px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#fff,#f8fbfc)}.stat-card span{display:block;color:var(--muted);font-size:.86rem;font-weight:600}.stat-card strong{display:block;font:800 2rem Manrope,sans-serif;margin-top:6px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.admin-table{width:100%;border-collapse:collapse;min-width:780px}.admin-table th,.admin-table td{text-align:left;padding:15px 16px;border-bottom:1px solid var(--line);font-size:.87rem}.admin-table th{background:var(--soft);color:#53647b;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}.admin-table tr:last-child td{border-bottom:0}.event-cell{display:flex;align-items:center;gap:12px;min-width:220px}.event-cell img,.mini-placeholder{width:56px;height:48px;object-fit:cover;border-radius:8px;background:var(--accent)}.mini-placeholder{display:grid;place-items:center;font-size:.65rem;font-weight:800;color:var(--primary)}.event-cell strong,.event-cell small{display:block}.event-cell small{max-width:230px;color:var(--muted);margin-top:4px}.status{display:inline-block;padding:4px 9px;border-radius:30px;font-size:.75rem;font-weight:800}.status-published{background:#e6f8ed;color:#187342}.status-draft{background:#fff4dc;color:#8a5b00}.table-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.table-actions a,.link-danger{font:700 .82rem 'DM Sans',sans-serif;text-decoration:none;color:var(--primary)}.table-actions form,.admin-photo-actions form{display:inline}.link-danger{border:0;background:none;color:var(--danger);padding:0;cursor:pointer}.table-empty{text-align:center;color:var(--muted);padding:35px!important}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-form{padding:28px;border:1px solid var(--line);border-radius:16px}.form-cover-preview{width:min(100%,420px);max-height:250px;object-fit:cover;border-radius:12px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.upload-panel{padding:24px;border:1px dashed #b8c9d8;border-radius:16px;background:#f9fbfd;margin-bottom:38px}.upload-panel .btn{align-self:flex-start}.admin-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.admin-photo-card{border:1px solid var(--line);border-radius:13px;overflow:hidden}.admin-photo-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.admin-photo-actions{padding:11px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.78rem}.admin-photo-actions span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-photo-actions button{font-size:.78rem}
@media(max-width:900px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid,.admin-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.main-nav{gap:17px}}
@media(max-width:680px){.container{width:min(100% - 28px,1160px)}.nav-wrap{min-height:70px;flex-wrap:wrap;padding:10px 0}.nav-toggle{display:block}.main-nav{display:none;flex-basis:100%;align-items:stretch;flex-direction:column;gap:5px;padding:10px 0 6px}.main-nav.is-open{display:flex}.main-nav>a,.dropdown-toggle{display:block;text-align:left;padding:11px 8px}.nav-dropdown{width:100%}.dropdown-menu{position:static;max-width:none;box-shadow:none;border-radius:10px;margin:0 0 8px 8px}.main-nav .nav-admin{padding:10px 12px}.hero{padding:52px 0}.section{padding-top:35px;padding-bottom:52px}.event-grid{grid-template-columns:1fr;gap:18px}.event-cover,.cover-placeholder{height:230px}.photo-grid,.admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-heading{padding:23px 20px}.lightbox{padding:60px 15px}.lightbox-prev{left:6px}.lightbox-next{right:6px}.lightbox-prev,.lightbox-next{width:38px;height:48px}.footer-inner,.admin-top{align-items:flex-start;flex-direction:column}.stats-grid{gap:9px}.stat-card{padding:15px 12px}.stat-card strong{font-size:1.6rem}.stat-card span{font-size:.76rem}.admin-login-card{padding:25px 20px}.form-row{grid-template-columns:1fr}.admin-form{padding:20px}.form-actions .btn{flex:1}.section-heading{align-items:flex-start}.admin-actions{width:100%}}
