/* Homepage presentation only. The existing hero and its controls are intentionally unstyled here. */
.tanami-home-page {
    --home-ink: #22352d;
    --home-muted: #64736b;
    --home-green: #17684b;
    --home-line: #e1e8df;
    --home-paper: #f7f9f6;
    --home-sand: #f7f0e5;
}
.tanami-home { color: var(--home-ink); background: var(--home-paper); line-height: 1.85; }
.tanami-home > section { padding: 80px max(24px, calc((100% - 1140px) / 2)); background: transparent; }
.tanami-home > section > .row { margin-inline: 0; }
.tanami-home .section-title { margin-bottom: 36px; }
.tanami-home h1, .tanami-home h2, .tanami-home h3 { font-size: clamp(24px, 2.4vw, 34px); line-height: 1.65; color: var(--home-ink); }
.tanami-home h5, .tanami-home h6 { line-height: 1.7; }
.tanami-home p { color: var(--home-muted); }
.tanami-home .section-title p { max-width: 760px; margin: 16px auto 0; font-size: 15px; font-weight: 400; line-height: 2; }
.tanami-home .section-title h1::after, .tanami-home .section-title h2::after, .tanami-home .section-title h3::after { content: ''; display: block; width: 38px; height: 4px; margin: 18px auto 0; border-radius: 4px; background: #c4a16b; }
.tanami-home .tanami-btn, .tanami-home .course-card .card-link { display: inline-block; padding: 11px 24px; border: 1px solid var(--home-green); border-radius: 30px; background: var(--home-green); color: #fff; box-shadow: none; font-size: 14px; line-height: 1.6; text-decoration: none; transition: background .18s, box-shadow .18s; white-space: normal; }
.tanami-home .tanami-btn:hover, .tanami-home .course-card .card-link:hover { background: #104d37; color: #fff; box-shadow: 0 5px 14px #163e241c; }
.tanami-home a:focus-visible, .tanami-home button:focus-visible, .tanami-home input:focus-visible, .tanami-home textarea:focus-visible { outline: 3px solid #b48a4d; outline-offset: 4px; }
.tanami-home #counter { background: #fff; padding-block: 34px; border-bottom: 1px solid var(--home-line); }
.tanami-home #counter .container { max-width: 820px; margin: 0 auto; padding: 0; }
.tanami-home #counter .overlay { padding: 0; }
.tanami-home #counter .single_counter { background: none; margin: 0; padding: 20px; }
.tanami-home #counter h2 { font-size: clamp(36px, 4vw, 54px); color: var(--home-green); margin-bottom: 0; line-height: 1.3; }
.tanami-home #counter p { margin: 8px 0 0; font-size: 14px; }
.tanami-home #counter .main_counter_content > div { flex: 0 0 50%; max-width: 50%; }
.tanami-home #counter .main_counter_content > div + div { border-inline-start: 1px solid var(--home-line); }
.tanami-home #duty-section { background: linear-gradient(145deg, #fffaf2, #f7f9f6); padding-bottom: 40px; }
.tanami-home .home-intro { align-items: center; gap: 48px; }
.tanami-home .home-intro > .col-6 { flex: 1; min-width: 0; padding: 0; }
.tanami-home #duty-section p { color: var(--home-ink) !important; font-size: clamp(18px, 1.65vw, 23px); line-height: 2.15; margin-bottom: 0; }
.tanami-home #duty-section img { border-radius: 20px; box-shadow: 0 18px 48px #263f2810; }
.tanami-home #promo-section { background: var(--home-paper); padding-top: 32px; }
.tanami-home #promo-section .section-title { margin-bottom: 0; }
.tanami-home #promo-section iframe { display: block; width: 100% !important; max-width: 900px; height: auto !important; aspect-ratio: 16 / 9; margin: auto; border-radius: 18px; background: #e5ebe4; box-shadow: 0 14px 40px #223c2814; }
.tanami-home #packages-section { background: linear-gradient(180deg, #f7f0e5, #fbf8f2); }
.tanami-home #packages-section h1 { font-size: clamp(24px, 2.4vw, 34px); text-align: center; }
.tanami-home #packages-section .features { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; }
.tanami-home #packages-section .features > div { max-width: none; padding: 0; transform: none; }
.tanami-home #packages-section .box-part { height: 100%; background: #fff; border: 1px solid #e9e7de; border-radius: 14px; padding: 28px 18px; box-shadow: 0 4px 14px #31492d04; transition: border-color .18s, box-shadow .18s; }
.tanami-home #packages-section .box-part:hover { border-color: #b7cdbd; box-shadow: 0 10px 24px #31492d0c; }
.tanami-home #packages-section .fa { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 20px; border-radius: 20px; background: #edf4ec; color: var(--home-green); font-size: 28px; }
.tanami-home #packages-section .features > div:nth-child(3n+2) .fa { background: #fbf3e5; color: #8b652a; }
.tanami-home #packages-section h6 { color: var(--home-ink); margin: 0; font-size: 15px; }
.tanami-home #packages-section .text:empty { display: none; }
.tanami-home #courses-section { background: #f6f8f5; }
.tanami-home #courses-section .section-title h3 { color: var(--home-ink); }
.tanami-home #courses-section .section-title p { color: var(--home-muted); font-weight: 400; }
.tanami-home .home-courses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tanami-home .home-courses > div { max-width: none; padding: 0; }
.tanami-home .course-card { height: 100%; max-width: none; padding: 10px; background: #fff; border: 1px solid var(--home-line); border-radius: 16px; box-shadow: 0 6px 24px #304d2807; }
.tanami-home .course-card .card-img-top { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #f5f7f3; border-radius: 10px; }
.tanami-home .course-card .card-body { padding: 20px 10px 12px; text-align: start; }
.tanami-home .course-card .card-title { color: var(--home-ink); text-align: start; font-size: 18px; margin-bottom: 14px; }
.tanami-home .course-card .card-text { color: var(--home-muted); text-align: start; font-size: 13px; line-height: 2; }
.tanami-home .badge { white-space: normal; line-height: 1.6; border-radius: 6px; padding: 4px 9px; font-weight: 400; }
.tanami-home .badge-info, .tanami-home .alert-info { color: #245969; background: #e8f3f6; }
.tanami-home .badge-success { color: #24633e; background: #e8f3e9; }
.tanami-home .badge-secondary { color: #61675e; background: #f0f1ec; }
.tanami-home .course-card .card-link { margin: 8px 0 0; margin-inline-end: 6px; padding: 9px 16px; }
.tanami-home .course-card .card-link:not(.btn) { background: #fff; color: var(--home-green); border-color: #c5d9ce; }
.tanami-home #certi-section { background: var(--home-sand); }
.tanami-home #certi-section > .container { max-width: none; margin: 0; padding: 0; }
.tanami-home .certi-row { gap: 28px; align-items: stretch; margin: 0; }
.tanami-home .certi-row > .col-md-2 { display: none; }
.tanami-home .create-account, .tanami-home .check-certi-col { flex: 1; max-width: none; padding: 36px; border-radius: 18px; }
.tanami-home .create-account { background: #164e3b; }
.tanami-home .check-certi-col { background: #fff; border: 1px solid #e5e5d9; display: flex; flex-direction: column; justify-content: center; }
.tanami-home #certi-section h2 { font-size: 24px; margin-bottom: 26px; color: var(--home-ink); }
.tanami-home #certi-section .account-steps h2, .tanami-home #certi-section .account-steps p { color: #fff; text-align: start; }
.tanami-home #certi-section .account-steps p { font-size: 14px; font-weight: 400; margin-bottom: 20px; }
.tanami-home .account-steps img { margin-inline-end: 10px; }
.tanami-home .create-account .tanami-btn { background: #f3e4c9; color: #244534; border-color: #f3e4c9; }
.tanami-home #certi-section label { color: var(--home-ink); font-weight: 400; }
.tanami-home .form-control { min-height: 48px; border: 1px solid #ced9ce; border-radius: 9px; background: #fbfcfa; color: var(--home-ink); padding: 10px 14px; }
.tanami-home .form-control:focus { border-color: var(--home-green); box-shadow: 0 0 0 3px #17684b16; }
.tanami-home .form-control.is-invalid { border-color: #c83745; }
.tanami-home .form-control.is-valid { border-color: #29804a; }
.tanami-home #gallery-section { background: #fff; }
.tanami-home #gallery-section .blue-light-title h3 { background: none; -webkit-text-fill-color: var(--home-ink); color: var(--home-ink); }
.tanami-home .memories-gallery-container { margin: 0; padding: 0; max-width: none; }
.tanami-home .memory-card { border-radius: 12px; padding: 7px; background: #fff; border-color: var(--home-line); box-shadow: 0 4px 12px #31492d08; }
.tanami-home .memory-card::after { display: none; }
.tanami-home .memory-card img { border-radius: 7px; }
.tanami-home #trainer-post-section { background: #f2f6ee; }
.tanami-home #trainer-post-section > .row { align-items: center; }
.tanami-home #trainer-post-section p { color: var(--home-muted); }
.tanami-home #trainer-post-section .tanami-btn { color: #fff; }
.tanami-home .post-image img { width: 100%; border-radius: 14px !important; }
.tanami-home #partners-section { background: #f7f9f6; }
.tanami-home #partners-section .blue-light-title { color: var(--home-ink); }
.tanami-home .partners-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tanami-home .partners-grid > div { max-width: none; padding: 22px 16px; border: 1px solid var(--home-line); border-radius: 12px; background: #fff; }
.tanami-home .media-partner-logo { display: block; width: 100%; height: 100px; object-fit: contain; margin: 0 auto 16px; }
.tanami-home .partners-grid h6 { font-size: 14px; margin: 0; }
.tanami-home #visitor-section { background: #fff; }
.tanami-home #visitor-section .section-title { margin: 0; }
.tanami-home #visitor-section .row .col-12 .row { flex-direction: row; gap: 28px; align-items: center; }
.tanami-home #visitor-section .row .col-12 .row > .col-4 { flex: 1; max-width: none; padding: 0; min-width: 0; }
.tanami-home #visitor-section .col-4:empty { display: none; }
.tanami-home #visitor-section .card { background: var(--home-paper); border: 1px solid var(--home-line); border-radius: 14px; max-width: none; }
.tanami-home #visitor-section .card-title { color: var(--home-green); font-size: 17px; }
.tanami-home #visitor-section .card-text { color: var(--home-muted); }
.tanami-home .home-visitor-invite { padding: 40px 28px; background: var(--home-sand); border-radius: 18px; text-align: center; }
.tanami-home #visitor-section .home-visitor-invite h3 { color: var(--home-ink); font-size: 26px; text-align: center; margin-bottom: 24px; }
.tanami-home #message-section { background: linear-gradient(145deg, #f7f0e5, #f0f6ed); display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: start; }
.tanami-home #message-section h2.grey-title { text-align: start !important; font-size: 30px; }
.tanami-home #message-section h2::after { margin-inline: 0; }
.tanami-home #message-section > .row { margin: 0; }
.tanami-home #message-section > .row > div { padding: 0; }
.tanami-home #message-section > .row > .home-spacer { display: none; }
.tanami-home #message-section > .row > .col-md-6 { flex: 0 0 100%; max-width: 100%; }
.tanami-home #contact-form { width: 100%; background: #fff; padding: 32px; border: 1px solid var(--home-line); border-radius: 18px; }
.tanami-home #contact-form label { font-size: 14px; }
.tanami-home #contact-form .form-group { margin-bottom: 20px; }
.tanami-home #contact-form img { max-width: 100%; }
.tanami-home-page .footer { background: #f6f2e9; border-color: #e2dfd4; padding-block: 48px 24px; }
.tanami-home-page .footer p, .tanami-home-page .footer .col_white_amrc, .tanami-home-page .footer a { color: #42584a; }
.tanami-home-page .footer .bottom_border { border-color: #dedfd3; padding-bottom: 28px; }
.tanami-home-page .footer iframe { border-radius: 12px; }
.tanami-home-page .footer .social_footer_ul a { border-color: #c7d2c6; }
@media (max-width: 991px) {
    .tanami-home > section { padding: 56px 24px; }
    .tanami-home #packages-section .features, .tanami-home .home-courses, .tanami-home .partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tanami-home .home-intro { gap: 28px; }
    .tanami-home #message-section { grid-template-columns: 1fr; gap: 8px; }
    .tanami-home #message-section > .row { width: 100%; }
    .tanami-home .create-account, .tanami-home .check-certi-col { padding: 28px; }
}
@media (max-width: 600px) {
    .tanami-home > section { padding: 44px 20px; }
    .tanami-home .section-title { margin-bottom: 26px; }
    .tanami-home .home-intro { flex-direction: column; }
    .tanami-home .home-intro > .col-6 { flex: auto; width: 100%; max-width: 100%; }
    .tanami-home #packages-section .features { gap: 12px; }
    .tanami-home #packages-section .box-part { padding: 22px 12px; }
    .tanami-home #packages-section h6 { font-size: 13px; }
    .tanami-home .home-courses { grid-template-columns: 1fr; }
    .tanami-home .certi-row { flex-direction: column; gap: 20px; }
    .tanami-home #visitor-section .row .col-12 .row { flex-direction: column; }
    .tanami-home #visitor-section .row .col-12 .row > .col-4 { flex: auto; width: 100%; }
    .tanami-home #contact-form { padding: 24px 18px; }
    .tanami-home #message-section h2.grey-title { font-size: 25px; }
    .tanami-home #counter .single_counter { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .tanami-home *, .tanami-home *::before, .tanami-home *::after { transition: none !important; animation: none !important; }
}

.tanami-home > section { scroll-margin-top: 140px; }
@media (max-width: 991px) { .tanami-home > section { scroll-margin-top: 70px; } }

/* Square editorial tiles: photography, warm paper, and Tanami green. */
.tanami-home .home-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.tanami-home .home-post { min-width: 0; aspect-ratio: 1; }
.tanami-home #trainer-post-section .home-post-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 100%;
    height: 100%;
    padding: 32px 28px 62px;
    overflow: hidden;
    background: #f8f5ee;
    color: #233c30;
    text-align: center;
    text-decoration: none;
}
.tanami-home .home-post-art { display: block; width: 44%; height: 28%; object-fit: contain; }
.tanami-home .home-post-copy { position: relative; z-index: 1; width: 100%; }
.tanami-home #trainer-post-section .home-post h3 { color: inherit; text-align: center; font-size: clamp(19px, 1.6vw, 25px); line-height: 1.7; margin: 0 0 12px; }
.tanami-home #trainer-post-section .home-post-preview {
    color: inherit;
    font-size: 14px;
    line-height: 1.9;
    text-align: center;
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.tanami-home .home-post-more { position: absolute; z-index: 1; bottom: 24px; inset-inline: 20px; font-size: 12px; text-align: center; }
.tanami-home .home-post-more span { display: inline-block; margin-inline-start: 10px; }
.tanami-home #trainer-post-section .home-post--green .home-post-tile { background: #426d60; color: #fff; }
.tanami-home .home-post--green .home-post-art { width: 64px; height: 64px; border-radius: 50%; background: #fff; padding: 5px; }
.tanami-home .home-post--ivory .home-post-tile::before { content: ''; position: absolute; width: 140%; height: 110px; border: 1px solid #c4a16b; border-radius: 50%; top: -82px; transform: rotate(-10deg); }
.tanami-home #trainer-post-section .home-post--photo .home-post-tile { justify-content: flex-end; color: #fff; background: #163d30; }
.tanami-home .home-post--photo .home-post-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tanami-home .home-post--photo .home-post-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #0b211b00 10%, #0b211bba 55%, #0b211bf2 100%); }
.tanami-home .home-post-tile:hover .home-post-more { text-decoration: underline; text-underline-offset: 5px; }
.tanami-home .home-post-tile:focus-visible { outline-offset: -5px; }

/* Retain familiar photographic backgrounds behind the new readable surfaces. */
.tanami-home #visitor-section {
    background: linear-gradient(110deg, #eef3e65c, #f7f0e56b), url('../img/visitorsBg.jpg') center / cover;
}
.tanami-home #visitor-section .card {
    background: #fffffff2;
    border-color: #ffffffb3;
    box-shadow: 0 8px 24px #122b2521;
}
.tanami-home .home-visitor-invite {
    background: #164e3bf2;
    border: 1px solid #ffffff40;
    box-shadow: 0 8px 24px #122b2521;
}
.tanami-home #visitor-section .home-visitor-invite h3 { color: #fff; }
.tanami-home .home-visitor-invite .tanami-btn { background: #f3e4c9; border-color: #f3e4c9; color: #244534; }
.tanami-home #message-section {
    background: linear-gradient(90deg, #f7f0e54d, #f7f0e526), url('../img/contact.png') center / cover;
}
.tanami-home #message-section > .section-title {
    padding: 24px;
    background: #faf7efe8;
    border: 1px solid #ffffff80;
    border-radius: 16px;
}
.tanami-home #contact-form { background: #fffffff0; box-shadow: 0 12px 32px #4b3a2110; }
@media (max-width: 991px) {
    .tanami-home .home-posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tanami-home #message-section { background-position: 65% center; }
}
@media (max-width: 600px) {
    .tanami-home .home-posts-grid { grid-template-columns: 1fr; gap: 10px; }
    .tanami-home #trainer-post-section .home-post-tile { padding: 26px 24px 56px; }
    .tanami-home #message-section > .section-title { padding: 20px; }
    .tanami-home #message-section { background-position: 75% center; }
}

/* Posters are documents: fit the complete artwork into an equal-size canvas. */
.tanami-home .activity-poster {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 10px;
    background: #f2f4ed;
    border: 1px solid #e6eadf;
}
.tanami-home .course-card .activity-poster .card-img-top {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: contain;
    border-radius: 0;
    background: transparent;
}
.tanami-home .activity-poster.is-placeholder { background: linear-gradient(145deg, #f7f0e5, #edf3e9); }
.tanami-home .activity-poster.is-placeholder img { padding: 25%; opacity: .65; }
.tanami-home .course-card .card-body { display: flex; flex-direction: column; flex: 1; }
.tanami-home .activity-card-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: auto; padding-top: 10px; }
.tanami-home .course-card .activity-card-actions .card-link { margin: 0; max-width: 100%; }

/* Keep the homepage poster caption limited to date, delivery mode, and status. */
.tanami-home .activity-poster-link { display: block; border-radius: 10px; }
.tanami-home .course-card .activity-card-meta {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex: 0 0 auto;
    padding: 16px 6px 8px;
}
.tanami-home .activity-card-meta .badge { margin: 0; font-size: 12px; }
.tanami-home .activity-card-meta time { direction: ltr; }

.tanami-home .course-card .activity-course-name { flex-basis: 100%; margin: 0; font-size: 18px; }
.tanami-home .activity-trainer-name { flex-basis: 100%; margin: 0 0 6px; font-size: 14px; text-align: start; color: var(--home-muted); }

/* Keep long titles clear of the preview and link in image-backed post tiles. */
.tanami-home .home-post-copy h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
