:root {
    --craft-linen-white: #F7F5F0;
    --architectural-gray: #37474F;
    --warm-oatmeal: #D7CCC8;
    --smart-iot-blue: #26A69A;
    --text-dark: #2c3e50;
    --text-light: #7f8c8d;
}

body {
    background-color: var(--craft-linen-white);
    color: var(--architectural-gray);
    font-family: 'Noto Sans TC', sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.navbar {
    background-color: rgba(247, 245, 240, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(55, 71, 79, 0.1);
    padding: 1.5rem 0;
    transition: all 0.3s ease;
}

.navbar-brand {
    font-weight: 800;
    font-size: 1.5rem;
    color: var(--architectural-gray) !important;
}

.nav-link {
    color: var(--architectural-gray) !important;
    font-weight: 500;
    margin: 0 1rem;
    position: relative;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: var(--architectural-gray);
    transition: width 0.3s ease;
}

.nav-link:hover::after {
    width: 100%;
}

.btn-habitat {
    background-color: var(--architectural-gray);
    color: white;
    border-radius: 0;
    padding: 0.8rem 2rem;
    transition: all 0.3s ease;
}

.btn-habitat:hover {
    background-color: var(--smart-iot-blue);
    color: white;
}

footer {
    background-color: var(--architectural-gray);
    color: var(--craft-linen-white);
    padding: 5rem 0 2rem;
}

.footer-link {
    color: var(--warm-oatmeal);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-link:hover {
    color: white;
}

.section-padding {
    padding: 100px 0;
}

.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}
