/*
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;
            max-width: 100%;
            gap: 1em;
    }
        .home-hero-figure,
        .home-content {
            min-width: 0;
            max-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;
}

/* Contact Form Styles */
.form-welcome {
    text-align: center;
    margin-bottom: 1.2em;
}
.form-emoji {
    font-size: 2.2em;
    display: block;
    margin-bottom: 0.2em;
}
.form-intro {
    color: #845537;
    font-size: 1.1em;
    margin-top: 0.2em;
}
.form-group {
    margin-bottom: 1.1em;
}
.form-label-emoji {
    font-size: 1.1em;
    margin-right: 0.3em;
}
.form-input {
    width: 100%;
    padding: 0.7em 1em;
    border: 2px solid #97bfaf;
    border-radius: 8px;
    font-size: 1em;
    margin-top: 0.3em;
    background: #f6f8fa;
    transition: border-color 0.2s;
    box-sizing: border-box;
}
.form-input:focus {
    border-color: #845537;
    outline: none;
}
.optional {
    color: #63747a;
    font-size: 0.95em;
}
.form-submit-btn {
    background: linear-gradient(90deg, #97bfaf 60%, #845537 100%);
    color: #fff;
    font-size: 1.1em;
    font-family: 'Montserrat', sans-serif;
    padding: 0.8em 2em;
    border: none;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(132,85,55,0.15);
    cursor: pointer;
    margin-top: 0.5em;
    transition: background 0.2s, box-shadow 0.2s;
}
.form-submit-btn:hover {
    background: linear-gradient(90deg, #845537 60%, #97bfaf 100%);
    box-shadow: 0 4px 12px rgba(151,191,175,0.25);
}

/* 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 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;
}
/* Call to Action Button Styles */
.cta-button-dark {
    background: #97bfaf;
    color: #fff;
    padding: 0.8em 1.5em;
    border-radius: 8px;
    text-align: center;
    max-width: 300px;
    margin: 1em auto 0 auto;
    box-shadow: 0 2px 8px rgba(132,85,55,0.2);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}
.cta-button-light {
    background: #f6f8fa;
    color: #fff;
    padding: 0.8em 1.5em;
    border-radius: 8px;
    text-align: center;
    max-width: 300px;
    margin: 1em auto 0 auto;
    box-shadow: 0 2px 8px rgba(132,85,55,0.2);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}
.cta-button-dark:hover {
    background: #f6f8fa;
    box-shadow: 0 4px 12px rgba(151,191,175,0.3);
}
.cta-button-light:hover {
    background: #444;
    box-shadow: 0 4px 12px #f6f8fa;
}
.cta-header-dark {
    margin: 0;
    font-family: 'Kaisei Decol', serif;
    font-size: 1.2em;
    color: #845537
}
.cta-header-light {
    margin: 0;
    font-family: 'Kaisei Decol', serif;
    font-size: 1.2em;
    color: #63747a
}

/* 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; }
}