/* Basic Reset and Body Styling */
body { margin: 0; font-family: 'Inter', sans-serif; line-height: 1.6; background-color: #ffffff; color: #333; }

/* Hero Section Styling */
.hero-section { background-color: #1a2b48; color: #ffffff; display: flex; justify-content: center; align-items: center; text-align: center; padding: 100px 20px; min-height: 60vh; }
.hero-content { max-width: 800px; }
.hero-headline { font-size: 3.5rem; font-weight: 700; margin-top: 0; margin-bottom: 1rem; line-height: 1.2; }
.hero-subheadline { font-size: 1.25rem; font-weight: 400; margin-bottom: 2.5rem; opacity: 0.9; }
.hero-cta-button { display: inline-block; background-color: #00aaff; color: #ffffff; font-size: 1.1rem; font-weight: 600; text-decoration: none; padding: 15px 35px; border-radius: 5px; transition: background-color 0.3s ease, transform 0.3s ease; }
.hero-cta-button:hover { background-color: #0088cc; transform: translateY(-2px); }

/* Header and Navigation Styling */
.main-header { background-color: #ffffff; border-bottom: 1px solid #e0e0e0; padding: 0 20px; position: sticky; top: 0; z-index: 1000; }
.header-content { display: flex; justify-content: space-between; align-items: center; max-width: 1200px; margin: 0 auto; height: 70px; }
.logo { font-size: 1.5rem; font-weight: 700; color: #1a2b48; }
.main-nav ul { margin: 0; padding: 0; list-style: none; display: flex; }
.main-nav li { margin-left: 30px; }
.main-nav a { text-decoration: none; color: #333; font-weight: 600; transition: color 0.3s ease; }
.main-nav a:hover { color: #00aaff; }

/* Services & Benefits Section Styling */
.services-section { padding: 80px 20px; background-color: #ffffff; }
.section-content { max-width: 1200px; margin: 0 auto; text-align: center; }
.section-title { font-size: 2.5rem; font-weight: 700; color: #1a2b48; margin-top: 0; margin-bottom: 4rem; }
.benefits-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; text-align: left; }
.benefit-card { background-color: #f8f9fa; border: 1px solid #e0e0e0; border-radius: 8px; padding: 30px; }
.benefit-title { font-size: 1.5rem; font-weight: 600; color: #1a2b48; margin-top: 0; margin-bottom: 1rem; }

/* Pricing & Calculator Section Styling */
.pricing-section { padding: 80px 20px; background-color: #f8f9fa; }
.calculator-container { display: flex; background-color: #ffffff; border: 1px solid #e0e0e0; border-radius: 8px; max-width: 900px; margin: 0 auto 4rem auto; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
.calculator-form { flex-grow: 1; padding: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.form-group { display: flex; flex-direction: column; }
.form-group label { font-weight: 600; color: #333; margin-bottom: 8px; }
.form-group input[type="number"], .form-group select { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 5px; font-size: 1rem; font-family: 'Inter', sans-serif; }
.radio-group { display: flex; gap: 15px; align-items: center; height: 48px; }
.radio-group label { font-weight: 400; display: flex; align-items: center; gap: 5px; }
.calculator-result { background-color: #1a2b48; color: #ffffff; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 40px; width: 250px; border-top-right-radius: 8px; border-bottom-right-radius: 8px; }
.price-display { font-size: 2.5rem; font-weight: 700; margin: 0.5rem 0; }
.price-note { font-size: 0.8rem; opacity: 0.8; text-align: center; }

/* Static Pricing Table Styling */
.static-pricing-table { max-width: 600px; margin: 0 auto; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 0.9rem; }
.table-header, .table-row { display: flex; justify-content: space-between; padding: 12px 20px; }
.table-header { background-color: #e9ecef; font-weight: 600; border-bottom: 1px solid #e0e0e0; }
.table-row:not(:last-child) { border-bottom: 1px solid #e0e0e0; }

/* Order Form Section Styling */
.order-section { padding: 80px 20px; background-color: #ffffff; }
.section-subtitle { text-align: center; max-width: 600px; margin: -3rem auto 4rem auto; font-size: 1.1rem; color: #555; }
.order-form { max-width: 800px; margin: 0 auto; }
.form-section { background-color: #f8f9fa; border: 1px solid #e0e0e0; border-radius: 8px; padding: 30px; margin-bottom: 30px; }
.form-section-title { font-size: 1.5rem; color: #1a2b48; margin-top: 0; margin-bottom: 20px; border-bottom: 1px solid #e0e0e0; padding-bottom: 15px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-group textarea { resize: vertical; font-family: 'Inter', sans-serif; font-size: 1rem; padding: 12px; }

/* File Upload Area */
.file-upload-area { border: 2px dashed #ccc; border-radius: 8px; padding: 40px; text-align: center; cursor: pointer; transition: background-color 0.3s ease, border-color 0.3s ease; }
.file-upload-area:hover { background-color: #f0f8ff; border-color: #00aaff; }
.file-upload-area p { margin: 0; font-weight: 600; color: #555; }
.file-upload-area input[type="file"] { display: none; }
#file-list { margin-top: 20px; text-align: left; font-size: 0.9rem; }
.file-list-item { background-color: #e9ecef; padding: 8px 12px; border-radius: 5px; margin-bottom: 5px; }
.guidelines-prompt { text-align: center; margin-top: 20px; font-size: 0.9rem; }

/* Form Submission Button */
.form-submission { text-align: center; }
.submit-button { background-color: #1a2b48; color: #ffffff; font-size: 1.2rem; font-weight: 600; border: none; padding: 18px 40px; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; }
.submit-button:hover { background-color: #00aaff; }

/* Footer */
.main-footer-section { background-color: #1a2b48; color: #ffffff; text-align: center; padding: 30px 20px; font-size: 0.9rem; }
.main-footer-section p { margin: 5px 0; opacity: 0.8; }
.main-footer-section a { color: #ffffff; text-decoration: none; }
.main-footer-section a:hover { text-decoration: underline; }

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-headline { font-size: 2.5rem; }
    .hero-subheadline { font-size: 1.1rem; }
    .hero-section { padding: 80px 20px; }
    .benefits-grid { grid-template-columns: 1fr; }
    .section-title { font-size: 2rem; }
    .main-nav { display: none; }
    .calculator-container { flex-direction: column; }
    .calculator-form { grid-template-columns: 1fr; }
    .calculator-result { width: auto; border-radius: 0 0 8px 8px; }
    .form-grid { grid-template-columns: 1fr; }
}
