/* ================================================================
   AYUSH PHARMACY INSTITUTE — HOMEPAGE (compact)
   Theme:  Deep Teal & Amber  (matches css/nav-modern.css)
   Palette:  Teal #0B5D51 | Dark Teal #06302B | Panel #084A40
             Amber #F59E0B | Ink #233330 | Muted #5c6b67
================================================================ */

.hm-page { font-family: 'Roboto', sans-serif; color: #233330; background: #fff; }
.hm-page * { box-sizing: border-box; }
.hm-page img { max-width: 100%; }

.hm-container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 18px;
}
.hm-section { padding: 42px 0; }
.hm-section.alt { background: #f4faf8; }

/* --- Section titles --- */
.hm-title { text-align: center; margin-bottom: 28px; }
.hm-title .kicker {
    display: inline-block;
    color: #F59E0B;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.2px;
    margin-bottom: 6px;
}
.hm-title h2 {
    margin: 0 0 10px;
    font-size: 26px;
    font-weight: 700;
    color: #0B5D51;
    line-height: 1.2;
}
.hm-title .bar {
    width: 60px;
    height: 3px;
    background: #F59E0B;
    margin: 0 auto;
    border-radius: 2px;
}
.hm-title p { color: #5c6b67; margin: 10px auto 0; max-width: 620px; font-size: 14px; }

/* --- Buttons --- */
.hm-btn {
    display: inline-block;
    background: #F59E0B;
    color: #3a2503;
    font-size: 12.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 10px 22px;
    border: 2px solid #F59E0B;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(245,158,11,0.3);
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    text-decoration: none;
}
.hm-btn:hover { background: #0B5D51; border-color: #0B5D51; color: #fff; }
.hm-btn.ghost {
    background: transparent;
    border-color: rgba(255,255,255,0.7);
    color: #fff;
    box-shadow: none;
}
.hm-btn.ghost:hover { background: #fff; border-color: #fff; color: #0B5D51; }

/* ================================================================
   1. HERO  (custom slider + news reel — full-bleed)
================================================================ */
.hm-hero {
    background: #06302B;
    padding: 0;
}
.hm-hero .hm-container {
    max-width: none;
    padding: 0;
}
.hm-hero-grid {
    display: flex;
    gap: 0;
    align-items: stretch;
}

/* --- Slider component --- */
.hm-slider {
    flex: 1;
    min-width: 0;
    position: relative;
    height: clamp(380px, 52vh, 500px);
    border-radius: 0;
    overflow: hidden;
    background: #084A40;
}
.hm-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.9s ease;
}
.hm-slide.is-active {
    opacity: 1;
}
/* blurred copy fills the frame behind the un-cropped photo */
.hm-slide .blur {
    position: absolute;
    inset: -30px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    filter: blur(18px) brightness(0.6);
}
.hm-slide .img {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
/* caption overlay */
.hm-slide-overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 36px 56px 60px;
    background: linear-gradient(to top, rgba(4,28,25,0.88) 0%, rgba(4,28,25,0.4) 45%, rgba(4,28,25,0) 75%);
    pointer-events: none;
}
.hm-slide-overlay > * { pointer-events: auto; }
.hm-slide-overlay .kicker {
    color: #F59E0B;
    font-size: 12.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.2px;
    margin-bottom: 10px;
}
.hm-slide-overlay h2 {
    color: #fff;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 8px;
    max-width: 680px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.4);
}
.hm-slide-overlay p {
    color: #d7e9e5;
    font-size: 15px;
    margin: 0 0 18px;
}
.hm-slide-overlay .cta { display: flex; gap: 10px; flex-wrap: wrap; }

/* arrows */
.hm-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 6;
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 50%;
    background: rgba(4,28,25,0.45);
    color: #fff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.hm-arrow:hover { background: #F59E0B; color: #3a2503; }
.hm-arrow.prev { left: 14px; }
.hm-arrow.next { right: 14px; }

/* dots */
.hm-dots {
    position: absolute;
    bottom: 14px;
    left: 0;
    right: 0;
    z-index: 6;
    display: flex;
    justify-content: center;
    gap: 7px;
}
.hm-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.45);
    cursor: pointer;
    transition: background 0.2s, width 0.2s;
}
.hm-dots button.is-active {
    background: #F59E0B;
    width: 22px;
    border-radius: 5px;
}

/* --- News marquee component --- */
.hm-news {
    flex: 0 0 480px;
    min-width: 0;
    height: clamp(380px, 52vh, 500px);
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 0;
    overflow: hidden;
    border-left: 3px solid #F59E0B;
}
.hm-news .hm-news-head {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #0B5D51;
    color: #fff;
    padding: 12px 16px;
    font-size: 13.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    flex-shrink: 0;
}
.hm-news .hm-news-head i { color: #F59E0B; }
.hm-news .hm-news-body {
    flex: 1;
    overflow: hidden;
    position: relative;
}
.hm-news .hm-news-body marquee {
    height: 100%;
    width: 100%;
}
.hm-news .news-item {
    display: block;
    padding: 11px 16px;
    border-bottom: 1px solid #ecf4f1;
    text-decoration: none;
}
.hm-news .news-item:hover { background: #f4faf8; }
.hm-news .news-item .news-date {
    display: inline-block;
    font-size: 10.5px;
    font-weight: 700;
    background: #F59E0B;
    color: #3a2503;
    padding: 2px 8px;
    border-radius: 3px;
    margin-bottom: 5px;
}
.hm-news .news-item .news-title {
    display: block;
    color: #0B5D51;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.4;
}
.hm-news .news-item .news-desc {
    display: block;
    color: #5c6b67;
    font-size: 12px;
    line-height: 1.5;
    margin-top: 2px;
}

/* ================================================================
   2. STATS STRIP
================================================================ */
.hm-stats { background: #0B5D51; padding: 22px 0; }
.hm-stats .hm-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 16px;
}
.hm-stat { text-align: center; min-width: 140px; }
.hm-stat .num {
    display: block;
    font-size: 26px;
    font-weight: 900;
    color: #F59E0B;
    line-height: 1.1;
}
.hm-stat .lbl {
    display: block;
    margin-top: 4px;
    color: #d7e9e5;
    font-size: 11.5px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.1px;
}

/* ================================================================
   3. ABOUT  (framed logo + badges | left title + checklist)
================================================================ */
.hm-ltitle { text-align: left; margin-bottom: 18px; }
.hm-ltitle .kicker {
    display: inline-block;
    color: #F59E0B;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.2px;
    margin-bottom: 6px;
}
.hm-ltitle h2 {
    margin: 0 0 10px;
    font-size: 26px;
    font-weight: 700;
    color: #06302B;
    line-height: 1.25;
}
.hm-ltitle h2 span { color: #0B5D51; }
.hm-ltitle .bar {
    width: 60px;
    height: 3px;
    background: #F59E0B;
    border-radius: 2px;
}

.hm-about2 {
    display: flex;
    gap: 42px;
    align-items: center;
}
.hm-about2-media { flex: 0 0 320px; }
.hm-about2-media .frame {
    background: #fff;
    border: 1px solid #e2efec;
    border-radius: 10px;
    padding: 26px;
    text-align: center;
    box-shadow: 0 10px 26px rgba(16,42,38,0.10);
}
.hm-about2-media .frame img {
    max-width: 200px;
    border-radius: 6px;
}
.hm-about2-media .badges {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}
.hm-about2-media .badge {
    flex: 1;
    text-align: center;
    padding: 12px 8px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}
.hm-about2-media .badge b {
    display: block;
    font-size: 17px;
    margin-top: 2px;
}
.hm-about2-media .badge.teal { background: #0B5D51; color: #cfe6e1; }
.hm-about2-media .badge.teal b { color: #fff; }
.hm-about2-media .badge.amber { background: #F59E0B; color: #5d3c05; }
.hm-about2-media .badge.amber b { color: #3a2503; }
.hm-about2-text { flex: 1; min-width: 0; }
.hm-about2-text p {
    color: #5c6b67;
    font-size: 14.5px;
    line-height: 1.85;
    text-align: justify;
    margin: 0 0 14px;
}
.hm-about2-text .checks {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}
.hm-about2-text .checks li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 8px;
    color: #233330;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.6;
}
.hm-about2-text .checks li i {
    position: absolute;
    left: 0;
    top: 3px;
    color: #F59E0B;
    font-size: 15px;
}
.hm-more { display: none; }
.hm-more.open { display: block; }

/* ================================================================
   4. COURSE  (badged image | facts tiles)
================================================================ */
.hm-course2 {
    display: flex;
    gap: 42px;
    align-items: center;
}
.hm-course2-media {
    flex: 0 0 420px;
    position: relative;
}
.hm-course2-media img {
    width: 100%;
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(11,93,81,0.2);
    display: block;
}
.hm-course2-media .course-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #F59E0B;
    color: #3a2503;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 7px 14px;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.hm-course2-text { flex: 1; min-width: 0; }
.hm-course2-text p {
    color: #5c6b67;
    font-size: 14.5px;
    line-height: 1.85;
    text-align: justify;
    margin: 0 0 16px;
}
.hm-course2-text .facts {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.hm-course2-text .fact {
    flex: 1;
    min-width: 130px;
    background: #fff;
    border: 1px solid #e2efec;
    border-top: 3px solid #F59E0B;
    border-radius: 8px;
    padding: 13px 10px;
    text-align: center;
}
.hm-course2-text .fact i {
    color: #0B5D51;
    font-size: 19px;
    display: block;
    margin-bottom: 6px;
}
.hm-course2-text .fact b {
    display: block;
    color: #06302B;
    font-size: 13.5px;
}
.hm-course2-text .fact small {
    display: block;
    margin-top: 2px;
    color: #98a5a2;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-weight: 700;
}

/* ================================================================
   5. VISION & MISSION
================================================================ */
.hm-vision {
    background: linear-gradient(rgba(6,48,43,0.93), rgba(6,48,43,0.93)), url('../ayush/slide1.jpg') center/cover no-repeat;
    padding: 46px 0;
}
.hm-vision .hm-title h2 { color: #fff; }
.hm-vision-grid {
    display: flex;
    gap: 18px;
    align-items: stretch;
}
.hm-vcard {
    flex: 1;
    min-width: 0;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.14);
    border-top: 3px solid #F59E0B;
    border-radius: 8px;
    padding: 24px 22px;
}
.hm-vcard h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 16.5px;
    font-weight: 700;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}
.hm-vcard h3 i { color: #F59E0B; }
.hm-vcard p {
    color: #c4dcd7;
    font-size: 13.5px;
    line-height: 1.85;
    text-align: justify;
    margin: 0;
}

/* ================================================================
   6. FACILITIES
================================================================ */
.hm-features-grid {
    display: flex;
    gap: 18px;
    align-items: stretch;
}
.hm-feature {
    flex: 1;
    min-width: 0;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(16,42,38,0.08);
    transition: transform 0.25s, box-shadow 0.25s;
    display: flex;
    flex-direction: column;
}
.hm-feature:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 28px rgba(16,42,38,0.14);
}
.hm-feature .fimg { height: 168px; overflow: hidden; }
.hm-feature .fimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
}
.hm-feature:hover .fimg img { transform: scale(1.06); }
.hm-feature .fbody { padding: 18px 18px 20px; }
.hm-feature .fbody h3 {
    color: #0B5D51;
    font-size: 16.5px;
    font-weight: 700;
    margin: 0 0 8px;
}
.hm-feature .fbody p {
    color: #5c6b67;
    font-size: 13px;
    line-height: 1.75;
    margin: 0;
    text-align: justify;
}

/* ================================================================
   7. MESSAGES  (chairman / principal)
================================================================ */
.hm-message-grid {
    display: flex;
    gap: 32px;
    align-items: flex-start;
}
.hm-message-photo {
    flex: 0 0 280px;
    text-align: center;
}
.hm-message-photo img {
    width: 100%;
    max-width: 280px;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(11,93,81,0.18);
}
.hm-message-photo .who {
    margin-top: 12px;
    font-size: 14px;
    font-weight: 700;
    color: #0B5D51;
    line-height: 1.6;
}
.hm-message-photo .who small {
    display: block;
    font-weight: 500;
    color: #5c6b67;
    font-size: 12.5px;
}
.hm-message-text { flex: 1; min-width: 0; }
.hm-message-text p {
    color: #5c6b67;
    font-size: 14.5px;
    line-height: 1.9;
    text-align: justify;
    margin: 0 0 14px;
}

/* ================================================================
   8. TRUSTEES  (profile-quote cards)
================================================================ */
.hm-trustees2 {
    display: flex;
    gap: 20px;
    align-items: stretch;
}
.hm-trustee2 {
    flex: 1;
    min-width: 0;
    background: #fff;
    border-radius: 10px;
    border-top: 3px solid #F59E0B;
    box-shadow: 0 8px 22px rgba(16,42,38,0.09);
    padding: 24px 24px 26px;
    display: flex;
    flex-direction: column;
}
.hm-trustee2 .thead {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #ecf4f1;
}
.hm-trustee2 .thead img {
    flex-shrink: 0;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    border: 4px solid #0B5D51;
    box-shadow: 0 0 0 4px rgba(245,158,11,0.4);
}
.hm-trustee2 .thead h3 {
    color: #06302B;
    font-size: 17.5px;
    font-weight: 700;
    margin: 6px 0 4px;
}
.hm-trustee2 .thead .role {
    color: #F59E0B;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    line-height: 1.6;
}
.hm-trustee2 .quote { position: relative; padding-left: 30px; }
.hm-trustee2 .quote > i {
    position: absolute;
    left: 0;
    top: 2px;
    color: #F59E0B;
    font-size: 18px;
    opacity: 0.85;
}
.hm-trustee2 .quote p {
    color: #5c6b67;
    font-size: 13.5px;
    line-height: 1.85;
    margin: 0;
    text-align: justify;
}

/* ================================================================
   8b. PRINCIPAL SPOTLIGHT
================================================================ */
.hm-principal {
    display: flex;
    gap: 36px;
    align-items: flex-start;
    background: #fff;
    border-radius: 10px;
    border-top: 3px solid #F59E0B;
    box-shadow: 0 10px 26px rgba(16,42,38,0.10);
    padding: 30px;
}
.hm-principal .pphoto {
    flex: 0 0 300px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(11,93,81,0.16);
}
.hm-principal .pphoto img {
    width: 100%;
    display: block;
}
.hm-principal .pname {
    background: #0B5D51;
    color: #fff;
    text-align: center;
    padding: 14px 12px;
    font-size: 16px;
    font-weight: 700;
}
.hm-principal .pname small {
    display: block;
    margin-top: 4px;
    color: #bcd9d3;
    font-size: 12.5px;
    font-weight: 500;
}
.hm-principal .pname small.amber { color: #F59E0B; font-weight: 700; }
.hm-principal .pbody { flex: 1; min-width: 0; }
.hm-principal .quote { position: relative; padding-left: 32px; }
.hm-principal .quote > i {
    position: absolute;
    left: 0;
    top: 3px;
    color: #F59E0B;
    font-size: 20px;
    opacity: 0.85;
}
.hm-principal .quote p,
.hm-principal .hm-more p {
    color: #5c6b67;
    font-size: 14.5px;
    line-height: 1.9;
    text-align: justify;
    margin: 0 0 14px;
}
.hm-principal .hm-more { padding-left: 32px; }

/* ================================================================
   9. DOCUMENTS
================================================================ */
.hm-docs-grid {
    display: flex;
    gap: 18px;
    justify-content: center;
    align-items: stretch;
}
.hm-doc {
    flex: 1;
    min-width: 0;
    max-width: 480px;
    background: #fff;
    border-radius: 8px;
    padding: 14px;
    box-shadow: 0 6px 18px rgba(16,42,38,0.08);
    text-align: center;
}
.hm-doc img { border-radius: 4px; }

/* ================================================================
   10. SOCIAL EMBEDS
================================================================ */
.hm-social-grid {
    display: flex;
    gap: 18px;
    align-items: stretch;
    justify-content: center;
}
.hm-social {
    flex: 1;
    min-width: 0;
    max-width: 480px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(16,42,38,0.08);
}
.hm-social .shead {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #0B5D51;
    color: #fff;
    padding: 11px 16px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}
.hm-social .shead i { color: #F59E0B; font-size: 15px; }
.hm-social .sbody { text-align: center; padding: 8px; }
.hm-social .sbody iframe { max-width: 100%; border: none; overflow: hidden; }

/* ================================================================
   RESPONSIVE
================================================================ */
@media (max-width: 991px) {
    .hm-hero-grid,
    .hm-about2,
    .hm-course2,
    .hm-vision-grid,
    .hm-features-grid,
    .hm-message-grid,
    .hm-trustees2,
    .hm-docs-grid,
    .hm-social-grid {
        flex-direction: column;
    }
    .hm-about2-media,
    .hm-course2-media { flex: 0 0 auto; width: 100%; max-width: 420px; margin: 0 auto; }
    .hm-principal { flex-direction: column; padding: 20px; }
    .hm-principal .pphoto { flex: 0 0 auto; width: 100%; max-width: 320px; margin: 0 auto; }
    .hm-slider { height: 46vh; min-height: 280px; }
    .hm-slide-overlay { padding: 18px 20px 38px; }
    .hm-slide-overlay h2 { font-size: 21px; }
    .hm-news { flex: 0 0 auto; height: 340px; border-left: none; border-top: 3px solid #F59E0B; }
    .hm-about-media { flex: 0 0 auto; }
    .hm-message-photo { flex: 0 0 auto; order: -1; margin: 0 auto; }
    .hm-title h2 { font-size: 22px; }
    .hm-section { padding: 34px 0; }
}
@media (max-width: 576px) {
    .hm-slider { height: 40vh; min-height: 220px; }
    .hm-slide-overlay h2 { font-size: 17px; }
    .hm-slide-overlay p { display: none; }
    .hm-arrow { width: 30px; height: 30px; font-size: 14px; }
    .hm-stat .num { font-size: 21px; }
    .hm-trustee2 .thead { flex-direction: column; text-align: center; }
}
