:root {
    --mm-primary: #0b6b4b;
    --mm-primary-dark: #075239;
    --mm-accent: #d6a93b;
    --mm-ink: #17231f;
    --mm-muted: #64746e;
    --mm-surface: #ffffff;
    --mm-soft: #f4f8f6;
    --mm-border: #dce8e2;
    --mm-shadow: 0 18px 48px rgba(16, 55, 42, .10);
}

html { scroll-behavior: smooth; }

body {
    color: var(--mm-ink);
    background: #fbfdfc;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.65;
}

body.soft-loading { cursor: progress; }
body.soft-loading #soft-page { opacity: .55; }

#soft-page {
    min-height: 45vh;
    transition: opacity .18s ease;
    outline: 0;
}

.site-loader {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--mm-primary), var(--mm-accent));
    opacity: 0;
    transition: width .25s ease, opacity .2s ease;
}

body.soft-loading .site-loader { width: 78%; opacity: 1; }
.navigation-error {
    position: fixed;
    z-index: 10000;
    right: 1rem;
    bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    max-width: min(430px, calc(100vw - 2rem));
    padding: .9rem 1rem;
    color: #fff;
    border-radius: 12px;
    background: #8b2c2c;
    box-shadow: 0 12px 36px rgba(70,15,15,.24);
}
.navigation-error button { color: inherit; border: 0; background: transparent; font-size: 1.35rem; }

.navbar {
    min-height: 74px;
    border-bottom: 1px solid rgba(11, 107, 75, .08);
    box-shadow: 0 8px 30px rgba(18, 54, 43, .07) !important;
}

.navbar-brand img {
    display: block;
    width: min(290px, 54vw);
    height: auto;
    max-height: 52px;
    object-fit: contain;
}

.navbar .nav-link {
    position: relative;
    color: #29433a !important;
    font-weight: 650;
}

.navbar .nav-link:hover,
.navbar .nav-link.active { color: var(--mm-primary) !important; }

.btn-primary,
.bg-primary {
    background-color: var(--mm-primary) !important;
    border-color: var(--mm-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--mm-primary-dark) !important;
    border-color: var(--mm-primary-dark) !important;
    box-shadow: 0 8px 22px rgba(11, 107, 75, .20) !important;
}

.text-primary { color: var(--mm-primary) !important; }

.header-carousel .carousel-item { max-height: 620px; background: #082b20; }
.header-carousel .carousel-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5, 35, 27, .62), rgba(5, 35, 27, .08));
}
.header-carousel img { height: clamp(300px, 50vw, 620px); object-fit: cover; }
.header-carousel .position-absolute { z-index: 2; }
.header-carousel h4 {
    left: 6%;
    right: 6%;
    bottom: 8% !important;
    margin: 0;
    font-size: clamp(1.5rem, 4vw, 3.4rem) !important;
    text-shadow: 0 3px 18px rgba(0,0,0,.35);
}

.page-heading { max-width: 760px; margin: 0 auto 2.75rem; }
.page-heading h1 { margin: .5rem 0 .7rem; font-size: clamp(2rem, 4vw, 3.1rem); }
.page-lead { color: var(--mm-muted); font-size: 1.06rem; }
.eyebrow {
    display: inline-flex;
    padding: .35rem .75rem;
    border-radius: 999px;
    color: var(--mm-primary);
    background: #e7f4ee;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.course-item,
.contact-form,
.container-xxl .card {
    border: 1px solid var(--mm-border) !important;
    border-radius: 18px !important;
    background: var(--mm-surface) !important;
    box-shadow: 0 12px 36px rgba(16, 55, 42, .08) !important;
}

.course-item { height: 100%; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.course-item:hover { transform: translateY(-4px); box-shadow: var(--mm-shadow) !important; }
.course-item .__imgBox { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 12px; }
.course-item .card-footer { border: 0; }

.contact-form { padding: clamp(1rem, 3vw, 1.6rem); }
.contact-form .form-control {
    border-color: var(--mm-border);
    border-radius: 12px;
}
.contact-form .form-control:focus {
    border-color: var(--mm-primary);
    box-shadow: 0 0 0 .2rem rgba(11, 107, 75, .12);
}
.captcha-box { padding: 1rem; border: 1px dashed #a9cabb; border-radius: 14px; background: var(--mm-soft); }
.captcha-box small { color: var(--mm-muted); }
.location-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.5rem, 5vw, 3rem);
    color: #fff;
    border-radius: 18px;
    background: linear-gradient(145deg, var(--mm-primary-dark), var(--mm-primary));
    box-shadow: var(--mm-shadow);
}
.location-icon {
    display: grid;
    width: 56px;
    height: 56px;
    margin-bottom: 1.25rem;
    place-items: center;
    color: var(--mm-primary-dark);
    border-radius: 16px;
    background: #fff;
}
.location-panel p { color: rgba(255,255,255,.82); }
.location-panel h3 { color: #fff; }

/* Also correct older cached contact markup until Laravel's compiled view expires. */
.contact-form .row > .col-md-6 { width: 100%; }

.section-kicker {
  display: inline-block;
  color: var(--brand, #0b6b4b);
  background: #e8f5ef;
  border-radius: 999px;
  padding: .45rem .85rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.about-highlight {
  color: #fff;
  background: linear-gradient(135deg, #0b6b4b, #07523a);
  border-radius: 1.5rem;
  box-shadow: 0 18px 45px rgba(11, 107, 75, .16);
}

.about-value,
.about-story {
  background: #fff;
  border: 1px solid #e5eee9;
  border-radius: 1.25rem;
  box-shadow: 0 10px 30px rgba(24, 29, 56, .06);
}

.about-value i {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  color: #fff;
  background: #0b6b4b;
  border-radius: .9rem;
  font-size: 1.15rem;
}

@media (max-width: 767.98px) {
  .about-page .display-5 { font-size: 2rem; }
}
.form-messages .alert { text-align: left; border: 0; border-radius: 12px; font-size: .95rem; }
.form-messages .alert ul { margin-bottom: 0; }

.footer { background: #092d22 !important; }
.footer img { max-width: 100%; height: auto; object-fit: contain; }
.back-to-top { border-radius: 14px; font-size: 1.4rem; }

.wow { visibility: visible !important; animation: none !important; }

@media (max-width: 991.98px) {
    .navbar { min-height: 66px; }
    .navbar .btn { display: inline-flex !important; margin-top: .75rem; padding: .75rem 1rem !important; }
    .navbar-collapse { max-height: calc(100vh - 70px); overflow-y: auto; }
    .container-xxl { padding-top: 2.75rem !important; padding-bottom: 2.75rem !important; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
