/*
Colors
#fff (white)
#63747a (blue-gray)
#97bfaf (soft green)
#845537 (brown)
#f6f8fa (very light gray)
#444 (dark gray)
*\

/* General Styles */
body { font-family: 'Montserrat', sans-serif; margin: 0; padding: 0; }
section { max-width: 1000px; margin: 2em auto; padding: 1em; }
h1, h3 { color: #63747a; font-family: 'Kaisei Decol', serif; }
h2 { color:#845537; font-family: 'Kaisei Decol', serif; }
h1 { font-size: 2em; }
.subtitle { font-size: 1.4em; font-weight: 400; margin-top:0.5em; margin-bottom: 1em; }
.no-style-link {text-decoration: none; color: inherit; }
.small { font-size: 0.8em; }

@media (max-width: 900px) {
    .about-flex {
        flex-direction: column;
    }
    .about-content {
        order: 1 !important;
    }
    .container-about-me-figure {
        order: 2 !important;
    }
}
/* About Me Content and Image */
.about-section {
    background: #97bfaf;
    color: #000000;
    max-width: 100%;
}
.about-section-alt {
    max-width: 100%;
}
.about-flex {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 2em;
    max-width: 1000px;
    margin: 0 auto 2em auto;
    flex-wrap: wrap;
}
.container-about-me-figure {
    flex: 1 1 300px;
    min-width: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    order: 1;
}
.about-me-img {
    width: 100%;
    max-width: 350px;
    display: block;
    margin: 0 auto;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.about-content {
    flex: 1 1 350px;
    min-width: 280px;
    order: 2;
    font-size: 1.125em;
}
/* Home Section Flex Layout */
.home-section {
    max-width: 100%;
}
.home-logo {
    display: block;
    margin: 0 auto 1em auto;
    max-width: 200px;
}
.home-flex {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 2em;
    max-width: 1000px;
    margin: 0 auto 2em auto;
    flex-wrap: wrap;
}
.home-hero-figure {
    flex: 1 1 300px;
    min-width: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero-img {
    width: 100%;
    max-width: 350px;
    display: block;
    margin: 0 auto;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.home-content {
    flex: 1 1 350px;
    min-width: 280px;
}
@media (max-width: 900px) {
    .home-flex {
            flex-direction: column;
            width: 100%;
            gap: 1em;
    }
        .home-hero-figure,
        .home-content {
            min-width: 0;
            width: 100%;
            box-sizing: border-box;
        }
}
/* Announcement Bar Styles */
.announcement-bar {
    width: 100%;
    background: #fff;
    color: #63747a;
    text-align: center;
    padding: 0.7em 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 1.08em;
    letter-spacing: 0.02em;
}
.announcement-bar .announcement-phone {
    color: #63747a;
    text-decoration: underline;
    font-weight: bold;
    display: inline-block;
}

@media (max-width: 700px) {
    .nav-toggle {
        display: block;
        z-index: 10;
        background: #63747a;
        border-radius: 4px;
        padding: 0.2em 0.5em;
    }
    nav ul {
        flex-direction: column;
        align-items: center;
        background: #63747a;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        display: none !important;
        z-index: 5;
    }
    nav ul.open {
        display: flex !important;
    }
    nav ul li {
        margin: 1em 0;
    }
}
/* Navigation Styles */
nav { background: #63747a; padding: 1em 0; position: relative; }
.dropdown {
    position: relative;
}
.dropbtn {
    cursor: pointer;
}
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f6f8fa;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    left: 0;
    top: 100%;
    padding: 0;
}
.dropdown-content li {
    margin: 0;
}
.dropdown-content a {
    color: #444;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    font-weight: normal;
    font-family: 'Montserrat', sans-serif;
}
.dropdown-content a:hover {
    background-color: #97bfaf;
    color: #fff;
}
.dropdown.show .dropdown-content {
    display: block;
}
.nav-toggle {
    display: none;
    position: absolute;
    top: 1.2em;
    right: 1.5em;
    background: none;
    border: none;
    color: #fff;
    font-size: 2em;
    cursor: pointer;
    z-index: 2;
}
nav ul {
    list-style: none;
    justify-content: center;
    margin: 0;
    padding: 0;
    display: flex;
}
nav ul li { margin: 0 1.5em; }
nav ul li a { color: #fff; text-decoration: none; font-weight: bold; font-family: 'Montserrat', sans-serif; }

/* Banner Image Styles */
.banner-image {
    width: 100%;
    margin: 0;
    padding: 0;
}
.banner-image img {
    width: 100%;
    height: auto;
    display: block;
    max-height: 400px;
    object-fit: cover;
    border: none;
}

/* Services Section Styles */
.services-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2em;
}
.service-card {
    background: #f6f8fa;
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(99,116,122,0.08);
    padding: 1.5em 1em;
    min-width: 180px;
    max-width: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.service-emoji {
    font-size: 2em;
}
.service-title {
    margin: 0.5em 0 0.2em 0;
    font-family: 'Montserrat', sans-serif;
    color: #63747a;
    font-size: 1.1em;
    text-align: center;
}
.service-desc {
    margin: 0;
    text-align: center;
    font-size: 0.98em;
    color: #444;
}

@media (max-width: 700px) {
    .nav-toggle {
        display: block;
        z-index: 10;
        background: #63747a;
        border-radius: 4px;
        padding: 0.2em 0.5em;
    }
    nav ul {
        flex-direction: column;
        align-items: center;
        background: #63747a;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        display: none !important;
        z-index: 5;
    }
    nav ul.open {
        display: flex !important;
    }
    nav ul li {
        margin: 1em 0;
    }
}
/* Footer Styles */
.footer-wrapper {
    display: flex;
    flex-flow: row wrap;
    font-family: 'Montserrat', Arial, sans-serif;
    padding: 1em 2em;
    max-width: 1200px;
    margin: 0 auto;
}
.footer-wrapper > * {
	padding: 10px;
	flex: 1 100%;
}
.footer-banner {
	text-align: center;
    width: 100%;
}
.footer-bottom {
    background: #63747a;
    color: #fff;
    width: 100%;
    max-width: 100%;
    padding: 20px 0;
    text-align: center;
}
.footer-copyright {
    margin: 0 auto;
    font-size: 0.9rem;
    width: 100%;
    display: block;
}
.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer-aside {
    display: flex;
    justify-content: center;
}
.footer-logo {
	width: 200px;
	height: auto;
	vertical-align: middle;
	margin-left: 10px;
	margin-bottom: 10px;
}
.footer-contact-item {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}
.footer-contact-link {
    color: inherit;
    text-decoration: underline;
    font-size: 1rem;
}
.social-media {
	display: flex;
	align-items: center;
}
.footer-instagram-logo {
    width: 28px;
    height: 28px;
	margin-left: 10px;
}
address {
	font-style: normal;
}
@media all and (min-width: 700px) {
	.footer-aside { flex: 1 auto; justify-content: start; }
	.footer-content    { flex: 2 auto; }
    .footer-aside { order: 1; } 
    .footer-content    { order: 2; }
}