:root{
  --bg:#fbfdff;--fg:#0b1220;--muted:#475569;--card:#ffffff;--accent:#0b6ea8;--accent-weak:#e0f2fe;--border:#e5e7eb;--ring:rgba(59,130,246,.25)
}
*{box-sizing:border-box}html,body{margin:0}
body{font:16px/1.6 system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--accent)}a:hover{text-decoration:none;box-shadow:inset 0 -1px 0 var(--accent)}
.shell{display:flex;min-height:100vh;flex-direction:column}
.header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.9);backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--border)}
.inner{max-width:1200px;margin:0 auto;padding:18px}
.nav{display:flex;gap:16px;align-items:center;justify-content:space-between}
.brand h1{margin:0;font-size:24px} .brand .tag{margin:0;color:var(--muted);font-size:13px}
.hero{padding:22px 0}
.grid{display:grid;gap:18px}
@media(min-width:980px){.cols-2{grid-template-columns:1fr 1fr}}

.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.card h2{margin-top:0}

.kv{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.kv b{color:#0f172a}.kv span{color:var(--muted)}
.badge{display:inline-block;padding:.2em .6em;border:1px solid var(--border);border-radius:999px;background:#f8fafc;color:#0f172a;font-size:12px}

.cta{display:flex;gap:12px;flex-wrap:wrap}
.cta a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:var(--accent-weak);color:#0c4a6e;border:1px solid var(--border)}
.cta a.secondary{background:#f1f5f9;color:#0f172a}

.hero-title{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:980px){.hero-title{grid-template-columns:1.2fr .8fr}}
.title-photo{width:100%;height:360px;border-radius:16px;border:1px solid var(--border);object-fit:cover;background:#f8fafc}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(min-width:700px){.gallery{grid-template-columns:repeat(5,1fr)}}
.thumb{width:100%;height:160px;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:#f8fafc;cursor:zoom-in}

.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}

.footer{margin-top:auto;color:var(--muted);border-top:1px solid var(--border)}
.footer .inner{padding:24px}

label{display:flex;flex-direction:column;gap:6px;margin:10px 0}
input[type="password"],input[type="text"],input[type="file"],select,textarea{
  background:#ffffff;border:1px solid var(--border);border-radius:12px;color:#0f172a;padding:10px 12px;outline:0;
}
input:focus,textarea:focus,select:focus{border-color:#93c5fd;box-shadow:0 0 0 4px var(--ring)}
button{background:#0b6ea8;border:1px solid #0ea5e9;color:#fff;border-radius:12px;padding:10px 14px;cursor:pointer}
button.secondary{background:#f1f5f9;color:#0f172a;border-color:var(--border)}
.alert{padding:10px 12px;border-radius:12px;margin-bottom:10px;background:#fef9c3;border:1px solid #fde047;color:#854d0e}
.alert.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.muted{color:#475569}.prose p,.prose li{margin:.45em 0}

/* Lightbox: caption directly under the image */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:50;flex-direction:column}
.lightbox .lb-inner{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:96vw}
.lightbox img{max-width:96vw;max-height:80vh;border-radius:12px;display:block;margin:0 auto}
.lightbox .nav{position:absolute;top:50%;width:100%;display:flex;justify-content:space-between;transform:translateY(-50%);padding:0 24px}
.lightbox .nav button{background:rgba(255,255,255,.85);color:#0b1220;border:0;padding:8px 12px;border-radius:10px}
.lightbox .close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.85);border:0;padding:8px 12px;border-radius:10px}
.lightbox .caption{color:#ffffff;font-size:14px;text-align:center;max-width:92vw;margin-top:2px}
.lightbox.show{display:flex}
