
/* --- Base & Typography -- */
:root{
    --teal:#179b9e;
    --teal-700:#0d6f71;
    --yellow:#ffeb5b;
    --dark:#0e3b3c;
    --ink:#0f172a;
    --muted:#64748b;
    --bg:#f7f7fb;
    --radius:18px;
    --shadow:0 10px 25px rgba(2,6,23,.08), 0 2px 8px rgba(2,6,23,.06);
    --max:1200px;
}
*{
    box-sizing:border-box
}
body{
    margin:0;
    font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    color:var(--ink);
    background:var(--bg);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body.layout-centered main {
    flex-grow: 1;
    display: grid;
    place-items: center;
    padding: 20px;
}

a{
    color:var(--teal);
    text-decoration:none
}
a:hover{
    opacity:.9
}
h1,h2,h3,h4{
    font-family:Poppins, Inter, system-ui; margin:0 0 .5rem
}
h1{
    font-size:clamp(1.8rem, 2.4vw + 1rem, 2.4rem); line-height:1.1
}
h2{
    font-size:clamp(1.4rem, 1.2vw + .9rem, 1.8rem)
}

/* --- Layout & Common Elements --- */
.container{
    max-width:var(--max); margin-inline:auto; padding:0 20px
}
main {
    flex-grow: 1;
}
.section{
    padding:48px 0
}
.card{
    background:#fff; border-radius:var(--radius); box-shadow:var(--shadow);
    padding:24px; border:1px solid #f1f5f9;
}
.note{
    font-size:.8rem; color:var(--muted)
}
.btn{
    display:inline-block; padding:.7rem 1.1rem; border-radius:999px; font-weight:600;
    background:var(--teal); color:white; border:0; box-shadow:var(--shadow); cursor:pointer;
    text-align:center;
}
.btn:hover{
    filter:brightness(0.98)
}
.btn.sun{
    background:var(--yellow); color:var(--dark)
}
.btn.secondary{
    background-color:#f1f5f9; color:var(--ink); box-shadow:none;
}

/* --- Header --- */
header{
    position:sticky; top:0; z-index:50; backdrop-filter:saturate(160%) blur(8px);
    background:rgba(255,255,255,.85); border-bottom:1px solid rgba(2,6,23,.06);
    padding: 12px 0;
}
.nav{
    display:flex; align-items:center; justify-content:space-between;
}
header .brand{
    display:flex; align-items:center; gap:12px; color:var(--dark); font-weight:800; font-family:Poppins;
}
header .brand img{
    height:40px; width:40px; border-radius:50%;
}
header .menu{
    display:none; /* Hidden on mobile */
}
header .nav-toggle {
    display: block; /* Shown on mobile */
    background: none; border: none; font-size: 1.5rem; cursor: pointer;
}

/* --- Footer --- */
footer{
    margin-top:auto; padding:24px 0;
}
.footer-row{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px;
}
.footer-row .social{
    display: flex;
    gap: 16px;
}
.footer-row .social a{ color:var(--muted) }
.footer-row .social a:hover{ color:var(--ink) }
.footer-row .footer-links{
    display: flex;
    gap: 24px;
    font-size:.9rem;
    font-weight:500;
}

/* --- Responsive & Mobile Menu --- */
@media (min-width: 768px) {
    header .nav-toggle {
        display: none;
    }
    header .menu {
        display: flex;
        align-items: center;
        gap: 16px;
    }
}

header .menu.show {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: absolute;
    top: 99%;
    left: 0;
    right: 0;
    background: white;
    padding: 1.5rem;
    box-shadow: var(--shadow);
    border-top: 1px solid #f1f5f9;
}


/* --- Dropdown Menu --- */
.dropdown{
    position:relative;
}
.dropdown-toggle{
    background:transparent; border:0; font:inherit; font-weight:600; cursor:pointer;
    display:flex; align-items:center; gap:4px;
}
.dropdown-menu{
    position:absolute; top:calc(100% + 12px); right:0; z-index:100;
    background:white; border-radius:var(--radius); box-shadow:var(--shadow);
    border: 1px solid #f1f5f9;
    padding: 8px;
    min-width:220px;
    opacity:0; visibility:hidden;
    transform:translateY(10px);
    transition:all .2s ease;
}
.dropdown.active .dropdown-menu{
    opacity:1; visibility:visible;
    transform:translateY(0);
}
.dropdown-menu a{
    display:block; padding:10px 14px; border-radius:12px; font-size:.95rem; font-weight:500; color:var(--ink);
}
.dropdown-menu a:hover{
    background:#f1f5f9;
}
.dropdown-menu hr{
    border:0; border-top:1px solid #f1f5f9; margin: 8px 0;
}
