/* ================================   Indian Hive - Services Page CSS   ================================ *//* === CSS Variables === */:root {    --saffron: #FF9933;    --deep-orange: #E85D04;    --turmeric: #FBBF24;    --cardamom: #34D399;    --midnight: #1A1A2E;    --cream: #FFF8F0;    --terracotta: #D84315;    --warm-white: #FFFBF5;    --gold: #D4AF37;    --font-display: 'Playfair Display', serif;    --font-body: 'Montserrat', sans-serif;    --section-padding: 6rem 5%;    --container-max: 1400px;    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);    --transition-bounce: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);}/* === Reset & Base === */* {    margin: 0;    padding: 0;    box-sizing: border-box;}html {    scroll-behavior: smooth;}body {    font-family: var(--font-body);    background: var(--warm-white);    color: var(--midnight);    line-height: 1.6;    overflow-x: hidden;}img {    max-width: 100%;    display: block;}a {    text-decoration: none;    color: inherit;}/* === Utility === */.container {    max-width: var(--container-max);    margin: 0 auto;    padding: 0 5%;}.section-header {    margin-bottom: 3rem;}.section-header.center {    text-align: center;}.section-label {    display: inline-block;    font-size: 0.875rem;    font-weight: 600;    text-transform: uppercase;    letter-spacing: 2px;    color: var(--saffron);    margin-bottom: 1rem;}.section-title {    font-family: var(--font-display);    font-size: clamp(2rem, 5vw, 3.5rem);    font-weight: 700;    line-height: 1.2;    color: var(--midnight);}/* === Navigation === */.navbar {    position: fixed;    top: 0;    width: 100%;    background: rgba(255, 255, 255, 0.98);    backdrop-filter: blur(10px);    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);    z-index: 1000;    transition: var(--transition-smooth);}.nav-container {    max-width: var(--container-max);    margin: 0 auto;    padding: 1.25rem 5%;    display: flex;    justify-content: space-between;    align-items: center;}.logo-text {    font-family: var(--font-display);    font-size: 1.75rem;    font-weight: 700;    color: var(--deep-orange);    letter-spacing: -0.5px;}.logo {    display: flex;    align-items: center;    gap: 0.6rem;}/* Logo image — adjust height to taste (40px sits neatly in the navbar) */.logo-img {    height: 40px;    width: auto;    display: block;    object-fit: contain;}.nav-menu {    display: flex;    gap: 2.5rem;    list-style: none;    align-items: center;}.nav-menu a {    font-size: 0.95rem;    font-weight: 500;    color: var(--midnight);    position: relative;    transition: var(--transition-smooth);}.nav-menu a::after {    content: '';    position: absolute;    bottom: -5px;    left: 0;    width: 0;    height: 2px;    background: var(--saffron);    transition: width 0.3s ease;}.nav-menu a:hover,.nav-menu a.active {    color: var(--deep-orange);}.nav-menu a:hover::after,.nav-menu a.active::after {    width: 100%;}.hamburger {    display: none;    flex-direction: column;    gap: 5px;    cursor: pointer;}.hamburger span {    width: 28px;    height: 3px;    background: var(--midnight);    transition: var(--transition-smooth);    border-radius: 2px;}/* === Page Hero === *//* === Page Hero Header (Clean Straight Version) === */.page-hero {    padding: 10rem 5% 4rem;    background: linear-gradient(135deg, #FF9933 0%, #E85D04 100%);    text-align: center;    color: white;    position: relative;    overflow: hidden;}/* Soft background glow */.page-hero::before {    content: '';    position: absolute;    top: -50%;    left: -10%;    width: 500px;    height: 500px;    background: radial-gradient(circle, rgba(255,255,255,0.12), transparent);    border-radius: 50%;}/* Content wrapper */.page-hero-content {    position: relative;    z-index: 1;    max-width: 800px;    margin: auto;}/* Title */.page-hero h1 {    font-family: var(--font-display);    font-size: clamp(2.5rem, 6vw, 4.5rem);    font-weight: 700;    margin-bottom: 1rem;}/* Subtitle */.page-hero p {    font-size: 1.25rem;    opacity: 0.95;    line-height: 1.8;    font-weight: 300;}/* === Buttons === */.btn {    padding: 1rem 2.5rem;    border-radius: 50px;    font-weight: 600;    font-size: 1.05rem;    transition: var(--transition-smooth);    cursor: pointer;    border: none;    display: inline-block;    font-family: var(--font-body);}.btn-primary {    background: white;    color: var(--deep-orange);    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);}.btn-primary:hover {    transform: translateY(-3px);    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);}.btn-accent {    background: var(--saffron);    color: white;}.btn-accent:hover {    background: var(--deep-orange);    transform: translateY(-2px);}/* === Services Intro === */.services-intro {    padding: 5rem 5%;    background: var(--cream);    text-align: center;}.services-intro .lead-text {    max-width: 800px;    margin: 0 auto;    font-size: 1.15rem;    color: #555;    line-height: 1.9;}/* === Service Blocks === */.services-main {    padding: var(--section-padding);    background: var(--warm-white);}.service-block {    display: grid;    grid-template-columns: 1fr 1fr;    gap: 5rem;    align-items: center;    margin-bottom: 7rem;    opacity: 0;    transform: translateY(40px);    transition: opacity 0.8s ease, transform 0.8s ease;}.service-block:last-child {    margin-bottom: 0;}.service-block.reverse {    direction: rtl;}.service-block.reverse > * {    direction: ltr;}.service-block.visible {    opacity: 1;    transform: translateY(0);}.service-block-image {    position: relative;    border-radius: 24px;    overflow: hidden;    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);    aspect-ratio: 4 / 3;}.service-block-image img {    width: 100%;    height: 100%;    object-fit: cover;    transition: transform 0.6s ease;}.service-block:hover .service-block-image img {    transform: scale(1.05);}.service-block-image .image-badge {    position: absolute;    top: 1.5rem;    left: 1.5rem;    background: var(--saffron);    color: white;    padding: 0.5rem 1.25rem;    border-radius: 50px;    font-size: 0.8rem;    font-weight: 700;    text-transform: uppercase;    letter-spacing: 1px;}.service-block-content {    padding: 1rem 0;}.service-number {    font-family: var(--font-display);    font-size: 5rem;    font-weight: 700;    color: var(--saffron);    opacity: 0.2;    line-height: 1;    margin-bottom: -1.5rem;}.service-block-content h2 {    font-family: var(--font-display);    font-size: clamp(1.8rem, 3.5vw, 2.75rem);    font-weight: 700;    color: var(--midnight);    margin-bottom: 1.5rem;    line-height: 1.2;}.service-block-content p {    color: #666;    line-height: 1.9;    margin-bottom: 1.5rem;    font-size: 1.05rem;}.service-features {    list-style: none;    margin-bottom: 2.5rem;}.service-features li {    display: flex;    align-items: center;    gap: 0.75rem;    padding: 0.6rem 0;    color: #555;    font-size: 0.95rem;    border-bottom: 1px solid rgba(0, 0, 0, 0.06);}.service-features li:last-child {    border-bottom: none;}.service-features li::before {    content: '';    width: 8px;    height: 8px;    background: var(--saffron);    border-radius: 50%;    flex-shrink: 0;}/* === Delivery Platform Buttons === */.delivery-platforms {    margin-bottom: 1.5rem;}.platforms-label {    font-size: 0.85rem;    font-weight: 600;    color: #999;    text-transform: uppercase;    letter-spacing: 1.5px;    margin-bottom: 1rem !important;}.platform-buttons {    display: flex;    gap: 0.75rem;    flex-wrap: wrap;}.platform-btn {    display: inline-flex;    align-items: center;    gap: 0.6rem;    padding: 0.75rem 1.75rem;        /* slightly more horizontal padding for the pill look */    border-radius: 999px;             /* ← full pill / semicircle sides */    font-family: var(--font-body);    font-size: 0.9rem;    font-weight: 600;    text-decoration: none;    color: white;    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);}.platform-btn:hover {    transform: translateY(-2px);    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);}.platform-btn:active {    transform: translateY(0);}.platform-icon {    width: 18px;    height: 18px;    flex-shrink: 0;}/* Uber Eats — Green */.platform-btn.uber-eats {    background-color: #30bf21fc;}.platform-btn.uber-eats:hover {    background-color: #05a857;}/* Foodora — Pink */.platform-btn.foodora {    background-color: #FF009A;}.platform-btn.foodora:hover {    background-color: #d90082;}/* Wolt — Blue */.platform-btn.wolt {    background-color: #009DE0;}.platform-btn.wolt:hover {    background-color: #0085bf;}.platform-logo {    width: 40px;    height: 40px;    object-fit: contain;        /* keeps logo proportions intact */    flex-shrink: 0;             /* prevents logo from squishing */}/* Divider between platforms and call button */.or-divider {    font-size: 0.85rem;    color: #bbb;    font-weight: 500;    text-transform: uppercase;    letter-spacing: 1px;    margin: 1.25rem 0 !important;}/* === Responsive === */@media (max-width: 480px) {    .platform-buttons {        gap: 0.6rem;    }    .platform-btn {        padding: 0.65rem 1.4rem;     /* maintain pill proportions on mobile */        font-size: 0.85rem;    }}/* === Why Choose Us === */.why-us {    padding: var(--section-padding);    background: var(--cream);}.why-grid {    display: grid;    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));    gap: 2rem;    margin-top: 3rem;}.why-card {    background: white;    padding: 2.5rem;    border-radius: 20px;    text-align: center;    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);    opacity: 0;    transform: translateY(30px);    transition: opacity 0.7s ease, transform 0.7s ease, box-shadow 0.3s ease;}.why-card.visible {    opacity: 1;    transform: translateY(0);}.why-card:hover {    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);    transform: translateY(-8px) !important;}.why-icon {    width: 70px;    height: 70px;    background: linear-gradient(135deg, var(--saffron), var(--deep-orange));    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    margin: 0 auto 1.5rem;}.why-icon svg {    width: 32px;    height: 32px;    stroke: white;}.why-card h3 {    font-family: var(--font-display);    font-size: 1.4rem;    margin-bottom: 0.75rem;    color: var(--midnight);}.why-card p {    color: #666;    font-size: 0.95rem;    line-height: 1.7;}/* === CTA & Contact Form === */.services-cta {    padding: var(--section-padding);    background: linear-gradient(135deg, var(--terracotta), var(--deep-orange));    position: relative;    overflow: hidden;}.services-cta::before {    content: '';    position: absolute;    top: -50%;    right: -10%;    width: 700px;    height: 700px;    background: radial-gradient(circle, rgba(255, 255, 255, 0.08), transparent);    border-radius: 50%;    pointer-events: none;}.cta-inner {    position: relative;    z-index: 1;    display: grid;    grid-template-columns: 1fr 1fr;    gap: 5rem;    align-items: center;}.cta-text h2 {    font-family: var(--font-display);    font-size: clamp(2rem, 4vw, 3rem);    color: white;    margin-bottom: 1rem;}.cta-text p {    color: rgba(255, 255, 255, 0.85);    font-size: 1.1rem;    line-height: 1.8;    margin-bottom: 2rem;}.cta-info {    display: flex;    flex-direction: column;    gap: 1rem;}.cta-info-item {    display: flex;    align-items: center;    gap: 1rem;    color: rgba(255, 255, 255, 0.9);    font-size: 1rem;}.cta-info-item svg {    width: 22px;    height: 22px;    flex-shrink: 0;}/* === Contact Form === */.contact-form-section {    background: rgba(255, 255, 255, 0.12);    backdrop-filter: blur(10px);    border-radius: 24px;    padding: 3rem;    border: 1px solid rgba(255, 255, 255, 0.2);}.contact-form-section h3 {    font-family: var(--font-display);    font-size: 1.75rem;    color: white;    margin-bottom: 2rem;}.form-group {    margin-bottom: 1.25rem;}.form-group input,.form-group textarea,.form-group select {    width: 100%;    padding: 1rem 1.25rem;    background: rgba(255, 255, 255, 0.15);    border: 1px solid rgba(255, 255, 255, 0.3);    border-radius: 12px;    color: white;    font-family: var(--font-body);    font-size: 0.95rem;    transition: var(--transition-smooth);    outline: none;    appearance: none;    -webkit-appearance: none;}.form-group input::placeholder,.form-group textarea::placeholder {    color: rgba(255, 255, 255, 0.6);}.form-group select {    color: rgba(255, 255, 255, 0.7);    cursor: pointer;    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");    background-repeat: no-repeat;    background-position: right 1.25rem center;    padding-right: 3rem;}.form-group select option {    background: var(--terracotta);    color: white;}.form-group input:focus,.form-group textarea:focus,.form-group select:focus {    border-color: rgba(255, 255, 255, 0.7);    background: rgba(255, 255, 255, 0.2);}.form-group textarea {    resize: vertical;    min-height: 120px;}.form-row {    display: grid;    grid-template-columns: 1fr 1fr;    gap: 1rem;}.form-error {    color: #FFD700;    font-size: 0.9rem;    margin-bottom: 1rem;    min-height: 1.2rem;}.btn-submit {    width: 100%;    padding: 1.1rem;    background: white;    color: var(--deep-orange);    border: none;    border-radius: 50px;    font-weight: 700;    font-size: 1.05rem;    cursor: pointer;    font-family: var(--font-body);    transition: var(--transition-smooth);}.btn-submit:hover:not(:disabled) {    transform: translateY(-3px);    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);}.btn-submit:disabled {    opacity: 0.7;    cursor: not-allowed;}.form-success {    display: none;    text-align: center;    padding: 2rem;    color: white;}.form-success .checkmark {    width: 70px;    height: 70px;    background: rgba(255, 255, 255, 0.2);    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    margin: 0 auto 1.25rem;    font-size: 2rem;    animation: popIn 0.4s var(--transition-bounce);}@keyframes popIn {    from { transform: scale(0); }    to { transform: scale(1); }}.form-success h4 {    font-family: var(--font-display);    font-size: 1.75rem;    margin-bottom: 0.5rem;}.form-success p {    color: rgba(255, 255, 255, 0.85);    font-size: 1rem;}/* === Footer === */.footer {    background: var(--midnight);    color: white;    padding: 4rem 5% 2rem;}.footer-grid {    display: grid;    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));    gap: 3rem;    margin-bottom: 3rem;}.footer-col h3 {    font-family: var(--font-display);    font-size: 1.75rem;    margin-bottom: 1rem;    color: var(--turmeric);}.footer-col h4 {    font-size: 1.25rem;    margin-bottom: 1.5rem;    color: var(--turmeric);}.footer-col p {    color: rgba(255, 255, 255, 0.7);    line-height: 1.7;    margin-bottom: 1.5rem;}.footer-col ul {    list-style: none;}.footer-col ul li {    margin-bottom: 0.75rem;}.footer-col ul li a {    color: rgba(255, 255, 255, 0.7);    transition: var(--transition-smooth);}.footer-col ul li a:hover {    color: var(--turmeric);    padding-left: 5px;}.social-links {    display: flex;    gap: 1rem;}.social-links a {    width: 45px;    height: 45px;    background: rgba(255, 255, 255, 0.1);    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    transition: var(--transition-smooth);}.social-links a:hover {    background: var(--saffron);    transform: translateY(-5px);}.social-links svg {    width: 20px;    height: 20px;}.contact-info li {    display: flex;    align-items: flex-start;    gap: 1rem;    color: rgba(255, 255, 255, 0.7);    margin-bottom: 1rem;}.contact-info svg {    width: 20px;    height: 20px;    flex-shrink: 0;    margin-top: 3px;}.hours li {    display: flex;    justify-content: space-between;    color: rgba(255, 255, 255, 0.7);    padding: 0.5rem 0;    border-bottom: 1px solid rgba(255, 255, 255, 0.1);}.footer-bottom {    text-align: center;    padding-top: 2rem;    border-top: 1px solid rgba(255, 255, 255, 0.1);}.footer-bottom p {    color: rgba(255, 255, 255, 0.5);    font-size: 0.9rem;}/* === Responsive Design === */@media (max-width: 968px) {    .nav-menu {        position: fixed;        top: 80px;        right: -100%;        width: 70%;        max-width: 350px;        height: calc(100vh - 80px);        background: white;        flex-direction: column;        padding: 2rem;        box-shadow: -5px 0 20px rgba(0, 0, 0, 0.1);        transition: right 0.3s ease;        align-items: flex-start;    }    .nav-menu.active {        right: 0;    }    .hamburger {        display: flex;    }    .hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }    .hamburger.active span:nth-child(2) { opacity: 0; }    .hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(7px, -7px); }    .service-block,    .service-block.reverse {        grid-template-columns: 1fr;        direction: ltr;        gap: 2.5rem;        margin-bottom: 4rem;    }    .cta-inner {        grid-template-columns: 1fr;        gap: 3rem;    }    .form-row {        grid-template-columns: 1fr;    }    .footer-grid {        grid-template-columns: 1fr;    }}@media (max-width: 640px) {    .why-grid {        grid-template-columns: 1fr;    }    .contact-form-section {        padding: 2rem 1.5rem;    }}