
:root { --ink:#0b1220; --muted:#475569; --brand:#0ea5a4; --accent:#facc15; --tap:44px; }
html, body { color: var(--ink); background:#fff; }
.container { max-width:1440px; margin:0 auto; padding: 1rem; }
.header-top { background:#0b1220; color:#e2e8f0; font-size:.95rem; }
.header-top .inner { max-width:1440px; margin:0 auto; padding:.6rem 1rem; text-align:center; }
.site-header { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.97); backdrop-filter: blur(6px); border-bottom:1px solid rgba(2,6,23,.06); }
.nav { display:flex; gap:1rem; }
.nav > li { position:relative; list-style:none; }
.nav a { font-weight:700; white-space:nowrap; padding:.6rem .75rem; border-radius:.5rem; display:flex; gap:.5rem; align-items:center;}
.nav a:hover { background:#f8fafc; }
.dropdown { display:none; position:absolute; top:100%; left:0; background:#fff; border:1px solid rgba(2,6,23,.08); border-radius:.75rem; box-shadow:0 10px 24px rgba(2,6,23,.12); padding:.5rem; min-width:320px; z-index:50; }
.dropdown a { display:flex; align-items:center; gap:.5rem; padding:.55rem .7rem; border-radius:.5rem; }
.dropdown a:hover { background:#f1fafb; }
.dropdown img.icon { width:20px; height:20px; }
.nav > li.open > .dropdown { display:block; }

.hero { position:relative; border-radius: 1rem; overflow:hidden; }
.hero img { width:100%; height: 560px; object-fit: cover; display:block; }
.hero .shade { position:absolute; inset:0; background:linear-gradient(180deg, rgba(2,6,23,.28), rgba(2,6,23,.66)); }
.hero .copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding: 1.8rem; color:#fff; }
.hero .copy p { color: rgba(255,255,255,.88); font-weight:500; }

.section { background:#fff; border:1px solid rgba(2,6,23,.06); border-radius:1rem; padding:1.25rem; }
.card { display:flex; gap:.9rem; align-items:center; padding:1rem; border:1px solid rgba(2,6,23,.06); border-radius:.9rem; background:#fff; }
.card .icon { width:56px; height:56px; border-radius:.6rem; background:#f1fafb; display:flex; align-items:center; justify-content:center; }
.card .icon img { width:28px; height:28px; }
.card .title { display:flex; align-items:center; gap:.45rem; font-weight:800; }
.card .title img.inline-icon { width:18px; height:18px; }
.figure { border-radius:.85rem; overflow:hidden; border:1px solid rgba(2,6,23,.06); }
.figure img { width:100%; height:380px; object-fit:cover; display:block; }
.input, select, textarea { width:100%; border:1px solid rgba(2,6,23,.15); border-radius:.6rem; padding:.6rem .75rem; min-height: var(--tap); font-size:16px; }
label { display:block; font-weight:700; margin-bottom:.25rem; }
footer a { text-decoration: underline; }

/* Mobile polish */
button, .btn, a[href] { -webkit-tap-highlight-color: rgba(14,165,164,.15); }
.header-actions { display:flex; align-items:center; gap:.5rem; }
.hamburger {
  display:none; width:42px; height:42px; border-radius:.6rem;
  border:1px solid rgba(2,6,23,.08); background:#fff;
}
.hamburger:focus { outline: 2px solid #0ea5a4; outline-offset:2px; }
.hamburger svg { width:22px; height:22px; margin:auto; }

@media (max-width: 1024px){ .hero img { height: 480px; } }
@media (max-width: 640px){
  .nav { display:none; }
  .hamburger { display:flex; justify-content:center; align-items:center; }
  .hero img { height: 360px; }
  h1.text-5xl { font-size: 2rem; line-height: 1.2; }
  .copy p { font-size: 1rem; }
  .card { gap:.8rem; }
  .card .icon { width:48px; height:48px; }
  .card .icon img { width:24px; height:24px; }
}

/* Mobile menu panel */
.mobile-menu {
  display:none; position:fixed; top:56px; left:0; right:0; bottom:auto;
  background:#fff; border-bottom:1px solid rgba(2,6,23,.08);
  box-shadow:0 16px 30px rgba(2,6,23,.12); z-index:45;
  padding: .5rem .75rem 1rem;
}
.mobile-menu.open { display:block; animation: mmSlide .16s ease-out; }
@keyframes mmSlide { from{ transform:translateY(-6px); opacity:.0 } to{ transform:translateY(0); opacity:1 } }

.mobile-list { list-style:none; margin:0; padding:0; }
.mobile-list > li > a {
  display:flex; align-items:center; gap:.6rem;
  padding:.8rem; border-radius:.6rem; font-weight:700;
}
.mobile-list > li > a:hover { background:#f8fafc; }

.mm-section { margin-top:.25rem; border:1px solid rgba(2,6,23,.06); border-radius:.75rem; }
.mm-head { display:flex; align-items:center; justify-content:space-between; padding:.85rem; font-weight:800; }
.mm-items { display:none; padding:.25rem; }
.mm-items.open { display:block; }
.mm-items a { display:flex; align-items:center; gap:.6rem; padding:.6rem .7rem; border-radius:.6rem; }
.mm-items a:hover { background:#f1fafb; }
.mm-items img { width:20px; height:20px; }

@media (max-width: 960px){
  .nav { display:none; } /* ensure desktop nav hidden */
}
