/* ================================   Indian Hive - Contact Page CSS   ================================ */:root {    --saffron: #FF9933;    --deep-orange: #E85D04;    --turmeric: #FBBF24;    --midnight: #1A1A2E;    --cream: #FFF8F0;    --terracotta: #D84315;    --warm-white: #FFFBF5;    --font-display: 'Playfair Display', serif;    --font-body: 'Montserrat', sans-serif;    --container-max: 1400px;    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);}* { 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-label {    display: inline-block;    font-size: 0.875rem;    font-weight: 600;    text-transform: uppercase;    letter-spacing: 2px;    color: var(--saffron);    margin-bottom: 0.75rem;}/* === 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 (Clean Straight) === */.page-hero {    padding: 10rem 5% 4rem;    background: linear-gradient(135deg, #FF9933 0%, #E85D04 100%);    text-align: center;    color: white;    position: relative;    overflow: hidden;}.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%;}.page-hero-content {    position: relative;    z-index: 1;    max-width: 800px;    margin: auto;}.page-hero h1 {    font-family: var(--font-display);    font-size: clamp(2.5rem, 6vw, 4.5rem);    font-weight: 700;    margin-bottom: 1rem;}.page-hero p {    font-size: 1.25rem;    opacity: 0.95;    line-height: 1.8;    font-weight: 300;}/* === Contact Section === */.contact-section {    padding: 6rem 5%;    background: var(--cream);}.contact-grid {    display: grid;    grid-template-columns: 1fr 1.4fr;    gap: 5rem;    align-items: start;}/* Info column */.contact-info-col h2 {    font-family: var(--font-display);    font-size: clamp(1.75rem, 3vw, 2.75rem);    font-weight: 700;    color: var(--midnight);    margin-bottom: 2.5rem;    line-height: 1.2;}.info-blocks {    display: flex;    flex-direction: column;    gap: 1.75rem;}.info-block {    display: flex;    align-items: flex-start;    gap: 1.25rem;    padding: 1.5rem;    background: white;    border-radius: 16px;    box-shadow: 0 3px 16px rgba(0, 0, 0, 0.07);    opacity: 0;    transform: translateX(-20px);    transition: opacity 0.5s ease, transform 0.5s ease, box-shadow 0.3s ease;}.info-block.visible {    opacity: 1;    transform: translateX(0);}.info-block:hover {    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);}.info-icon {    width: 48px; height: 48px;    background: linear-gradient(135deg, var(--saffron), var(--deep-orange));    border-radius: 12px;    display: flex; align-items: center; justify-content: center;    flex-shrink: 0;}.info-icon svg { width: 22px; height: 22px; stroke: white; }.info-block h4 {    font-size: 0.8rem;    font-weight: 700;    text-transform: uppercase;    letter-spacing: 1.5px;    color: var(--saffron);    margin-bottom: 0.35rem;}.info-block p {    color: #444;    font-size: 0.97rem;    line-height: 1.6;}.info-block p a {    color: var(--deep-orange);    font-weight: 500;    transition: var(--transition-smooth);}.info-block p a:hover { color: var(--saffron); }/* Map column */.map-col {    position: sticky;    top: 100px;    display: flex;    flex-direction: column;    gap: 1.25rem;}.map-wrapper {    width: 100%;    height: 460px;    border-radius: 20px;    overflow: hidden;    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);    border: 4px solid white;}.map-wrapper iframe {    display: block;    width: 100%;    height: 100%;    border: none;}.directions-btn {    display: inline-flex;    align-items: center;    justify-content: center;    gap: 0.6rem;    padding: 1rem 2rem;    background: linear-gradient(135deg, var(--saffron), var(--deep-orange));    color: white;    border-radius: 50px;    font-weight: 600;    font-size: 1rem;    transition: var(--transition-smooth);    box-shadow: 0 4px 16px rgba(232, 93, 4, 0.3);}.directions-btn svg { width: 18px; height: 18px; }.directions-btn:hover {    transform: translateY(-3px);    box-shadow: 0 8px 28px rgba(232, 93, 4, 0.45);}/* === 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 === */@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); }    .contact-grid { grid-template-columns: 1fr; gap: 3rem; }    .map-col { position: static; }    .map-wrapper { height: 360px; }    .footer-grid { grid-template-columns: 1fr; }}@media (max-width: 640px) {    .map-wrapper { height: 280px; }}