:root{
  --bg:#eef2ff;
  --bg2:#ecfeff;
  --surface:rgba(255,255,255,.78);
  --surface-solid:#ffffff;
  --text:#0b1220;
  --muted:#475569;
  --brand:#0ea5a8;     /* teal */
  --brand2:#6366f1;    /* indigo */
  --accent:#22c55e;
  --border:rgba(2,6,23,.12);
  --shadow:0 18px 40px rgba(2,6,23,.12);
  --glass:backdrop-filter: blur(14px);
}

*{box-sizing:border-box}
html,body{
  margin:0;padding:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
  background:
    radial-gradient(1200px 600px at 10% -10%, var(--bg2), transparent 40%),
    radial-gradient(1200px 600px at 90% 0%, #e0e7ff, transparent 40%),
    linear-gradient(180deg, #f8fafc, var(--bg));
  color:var(--text)
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container{width:min(1200px,92vw);margin-inline:auto}

.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.75rem 1.05rem;border-radius:999px;
  border:1px solid var(--border);
  background:linear-gradient(180deg, #ffffff, #f8fafc);
  color:var(--text);
  transition:.2s ease;cursor:pointer
}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(2,6,23,.12)}
.btn.primary{
  background:linear-gradient(135deg, var(--brand), var(--brand2));
  border:none;color:#fff;font-weight:900
}
.badge{
  display:inline-block;padding:.28rem .7rem;border-radius:999px;
  background:rgba(14,165,168,.12);border:1px solid rgba(14,165,168,.22);
  color:#064e4f;font-size:.85rem;font-weight:700
}

header.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.75);
  backdrop-filter: blur(12px);
  border-bottom:1px solid var(--border)
}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:.95rem 0;gap:1rem}
.brand{display:flex;align-items:center;gap:.8rem}
.brand img{
  width:46px;height:46px;border-radius:14px;
  object-fit:cover;border:1px solid var(--border);background:#fff
}
.brand .title{font-weight:900;letter-spacing:.2px;line-height:1.1}
.brand .title small{display:block;color:var(--muted);font-weight:600}

.nav-links{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}
.nav-links a{
  padding:.55rem .9rem;border-radius:999px;
  border:1px solid transparent;color:#334155;font-weight:600
}
.nav-links a:hover{
  background:rgba(14,165,168,.10);
  border-color:rgba(14,165,168,.25)
}
.nav-links a.active{
  background:linear-gradient(135deg, rgba(14,165,168,.18), rgba(99,102,241,.18));
  border-color:rgba(99,102,241,.35)
}

.nav-toggle{display:none}
@media (max-width: 900px){
  .nav-toggle{display:inline-flex}
  .nav-links{display:none;width:100%;padding:0 0 .85rem 0}
  .nav-links.open{display:flex;flex-direction:column;align-items:flex-start}
}

.hero{padding:1.8rem 0 1.4rem}
.hero-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:1.2rem}
@media (max-width: 900px){.hero-grid{grid-template-columns:1fr}}

.slider{
  position:relative;border-radius:26px;overflow:hidden;
  min-height:380px;
  background:linear-gradient(135deg, #ecfeff, #eef2ff);
  box-shadow:var(--shadow)
}
.slide{
  position:absolute;inset:0;opacity:0;transform:scale(1.03);
  transition:opacity .55s ease, transform .8s ease;
  background-size:cover;background-position:center
}
.slide.active{opacity:1;transform:scale(1)}
.slider-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.6) 55%, rgba(255,255,255,.15) 100%);
}
.slider-content{
  position:absolute;left:1.3rem;bottom:1.3rem;right:1.3rem;
  display:flex;flex-direction:column;gap:.7rem
}
.slider-title{font-size:2rem;font-weight:1000;letter-spacing:.25px}
.slider-sub{color:#334155;max-width:68ch;line-height:1.7}

.slider-controls{position:absolute;top:1.1rem;right:1.1rem;display:flex;gap:.5rem}
.icon-btn{
  width:42px;height:42px;border-radius:999px;border:1px solid var(--border);
  background:#fff;display:grid;place-items:center;cursor:pointer
}
.icon-btn:hover{box-shadow:0 14px 28px rgba(2,6,23,.14)}
.dots{position:absolute;left:1.1rem;top:1.2rem;display:flex;gap:.4rem}
.dot{
  width:9px;height:9px;border-radius:999px;
  border:1px solid rgba(2,6,23,.35);background:rgba(2,6,23,.12)
}
.dot.active{background:linear-gradient(135deg,var(--brand),var(--brand2));border:none}

.card{
  border:1px solid var(--border);
  border-radius:26px;
  background:var(--surface);
  backdrop-filter: blur(14px);
  box-shadow:var(--shadow);
  padding:1.1rem
}
.card h2{margin:.2rem 0 .6rem;font-size:1.15rem}
.card p{margin:.35rem 0;color:#475569;line-height:1.7}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
@media (max-width: 900px){.grid-3{grid-template-columns:1fr}}

.section{padding:1.8rem 0}
.section h1{font-size:2.3rem;margin:.2rem 0 .6rem}
.section .lead{color:#475569;line-height:1.8;max-width:90ch}

.table{
  width:100%;border-collapse:collapse;border-radius:18px;overflow:hidden;
  background:var(--surface-solid);border:1px solid var(--border)
}
.table th,.table td{padding:.85rem .95rem;border-bottom:1px solid var(--border)}
.table th{background:rgba(14,165,168,.08);font-weight:900}
.table tr:last-child td{border-bottom:none}

.footer{
  margin-top:2.5rem;padding:1.6rem 0;
  border-top:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.0), rgba(255,255,255,.85));
  color:#475569
}
.kicker{font-weight:900;letter-spacing:.14em;text-transform:uppercase}

.list{margin:.5rem 0;padding-left:1.2rem;color:#475569;line-height:1.8}
hr.sep{border:none;border-top:1px solid var(--border);margin:1.4rem 0}

/* Gallery */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1rem;
}
@media (max-width: 900px){
  .gallery-grid{grid-template-columns:1fr}
}
.photo-card{
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  box-shadow: var(--shadow);
}
.photo-card img{width:100%;height:240px;object-fit:cover}
.photo-cap{padding:.8rem 1rem;color:var(--muted);line-height:1.6}
.photo-cap b{color:var(--text)}
.lightbox{position:fixed;inset:0;display:none;z-index:200}
.lightbox.open{display:block}
.lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.lightbox-panel{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(980px, 92vw);
  background:rgba(10,16,36,.60);
  border:1px solid rgba(255,255,255,.18);
  border-radius:26px;
  box-shadow: var(--shadow);
  padding:1rem;
  backdrop-filter: blur(16px);
}
.lightbox-img{width:100%;max-height:70vh;object-fit:contain;border-radius:18px;border:1px solid rgba(255,255,255,.14)}
.lightbox-cap{margin:.7rem .2rem 0;color:var(--muted);line-height:1.6}
.lightbox-nav{display:flex;justify-content:space-between;gap:.6rem;margin-top:.8rem;flex-wrap:wrap}
.lightbox-close{
  position:absolute;top:.6rem;right:.8rem;
  width:42px;height:42px;border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
  color:var(--text);
  font-size:26px;line-height:1;cursor:pointer;
}
.lightbox-close:hover{background:rgba(255,255,255,.14)}


.table-wrap{overflow:auto;}
.table caption{caption-side:top; font-weight:700; padding:0.5rem 0;}
