* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Roboto", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    min-height: 100vh;
}

.container {
    max-width: 90vw;
    padding: 2vh 5vw;
    margin: 5vw;
}

.container2 {
    background: white;
    padding: 4vh 4vw;
    border-radius: 4vh;
    margin-bottom: 1vh;
    margin: 1vw;
}

.container3 {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 4vh 4vw;
    border-radius: 4vh;
    margin-bottom: 5vh;
}

/* Contact form specific styles */
.container3 label {
    display: block;
    margin-bottom: 0.75rem;
    color: #ffffff;
    font-size: 1.05rem; /* label font-size for Name / Email / Message */
    font-weight: 500;
}

.container3 input[type="text"],
.container3 input[type="email"],
.container3 textarea,
.container3 input[type="number"] {
    width: 100%;
    padding: 2vh 4vw;
    border: none;
    border-radius: 4vh;
    margin-bottom: 1rem;
    font-size: 1rem; /* input/textarea font-size */
}

.container3 textarea {
    resize: vertical;
    min-height: 8rem;
}

/* Submit button */
.contact-submit-button {
    background: #ffffff;
    color: #333333;
    padding: 2vh 4vw;
    border-radius: 4vh;
    border: none;
    cursor: pointer;
    font-weight: 600;
}

/* Price / cost display helper - use .price or .cost on elements that show costs */
.price, .cost {
    color: #fff;
    font-weight: 600;
    font-size: 1.1rem; /* default price font-size */
}

/* Smaller helper text */
.help-text {
    color: rgba(255,255,255,0.85);
    font-size: 0.9rem;
}