/* Homepage-only styles. Every selector is rooted in the homepage main element. */
main .home-section { scroll-margin-top: 78px; padding: clamp(68px, 8vw, 108px) 0; }
main .home-section h2 { letter-spacing: -.042em; line-height: 1.04; font-size: clamp(2.15rem, 4.5vw, 4.55rem); margin: .15em 0 .3em; }
main .home-section h3 { letter-spacing: -.025em; line-height: 1.14; }
main .home-section a:focus-visible,
main .home-hero a:focus-visible,
main .home-faq summary:focus-visible { outline: 3px solid #e6a653; outline-offset: 4px; }
main .home-heading { max-width: 840px; margin-bottom: 34px; }
main .home-heading > p:last-child { color: var(--muted); max-width: 710px; margin: 0; font-size: 1.08rem; line-height: 1.7; }
main .home-kicker { color: var(--rust); letter-spacing: .12em; text-transform: uppercase; font-size: .75rem; font-weight: 900; }

main .home-hero { min-height: min(760px, 100svh - 78px); grid-template-columns: minmax(0, 1fr); }
main .home-hero .hero-content { min-width: 0; padding-top: 110px; padding-bottom: 76px; }
main .home-hero h1 { max-width: 900px; line-height: .96; overflow-wrap: anywhere; }
main .home-hero h1 span { color: #efc16d; }
main .home-hero .hero-copy { max-width: 690px; }
main .home-hero .hero-actions { margin-top: 30px; }
main .home-hero .btn { min-height: 52px; min-width: 0; max-width: 100%; white-space: normal; text-align: center; overflow-wrap: anywhere; }

main .home-adventures { background: var(--paper-2); }
main .home-adventure-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
main .home-adventure-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 16px 42px #20241f0e; min-width: 0; }
main .home-card-photo { aspect-ratio: 16 / 9; background: #ded7c8; overflow: hidden; }
main .home-card-photo img { width: 100%; height: 100%; object-fit: cover; }
main .home-card-content { padding: clamp(22px, 3vw, 34px); display: flex; flex-direction: column; flex: 1; }
main .home-card-content .home-kicker { margin: 0 0 10px; }
main .home-card-content h3 { font-size: clamp(1.55rem, 2.2vw, 2rem); margin: 0 0 15px; }
main .home-card-content > p:not(.home-kicker, .home-price, .home-minimum, .home-status) { color: #4d534c; line-height: 1.65; margin: 0 0 18px; }
main .home-card-content .home-price { color: var(--ink); margin: 0; font-size: clamp(1.55rem, 2.1vw, 2rem); line-height: 1.1; font-weight: 900; }
main .home-card-content .home-price span { font-size: 1rem; font-weight: 650; }
main .home-card-content .home-minimum { color: var(--rust); font-size: .93rem; font-weight: 800; margin: 5px 0 18px; }
main .home-card-content .home-status { align-self: flex-start; color: #612c17; background: #f4dfbd; border-radius: 999px; padding: 8px 13px; margin: 0 0 18px; font-weight: 850; }
main .home-card-link { color: var(--rust); align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: auto; font-weight: 900; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
main .home-card-link:hover { color: #612c17; }

main .home-guide { background: var(--paper); }
main .home-guide-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 6vw, 86px); align-items: center; }
main .home-guide-photo { align-self: stretch; min-height: 590px; border-radius: 18px; overflow: hidden; background: #d4cbbb; }
main .home-guide-photo img { width: 100%; height: 100%; object-fit: cover; }
main .home-guide-copy > p:not(.section-kicker) { color: #4d534c; font-size: 1.06rem; line-height: 1.7; }
main .home-guide-points { margin: 22px 0 30px; }
main .home-guide-points > div { border-top: 1px solid var(--line); padding: 16px 0 14px; }
main .home-guide-points h3 { font-size: 1.22rem; margin: 0 0 5px; }
main .home-guide-points p { color: var(--muted); line-height: 1.6; margin: 0; }

main .home-trust { background: #e9e0d0; }
main .home-trust h2 { overflow-wrap: anywhere; }
main .home-trust .home-heading > p:last-child { color: var(--ink); }
main .home-trust-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
main .home-trust-grid article { background: var(--paper-2); border: 1px solid #d3c7b5; border-radius: 16px; padding: clamp(22px, 2.8vw, 32px); display: flex; flex-direction: column; }
main .home-trust-grid article:first-child .home-ntb-logo { align-self: flex-start; width: 160px; max-width: 100%; height: auto; margin: 0 0 24px; }
main .home-trust-grid article:first-child .home-ntb-registration { color: var(--ink); font-weight: 850; margin: 0 0 6px; }
main .home-trust-grid h3 { font-size: 1.42rem; margin: 0 0 10px; overflow-wrap: anywhere; }
main .home-trust-grid p { color: #4d534c; line-height: 1.65; margin: 0 0 18px; }
main .home-trust-grid a { display: inline-flex; align-items: center; min-height: 44px; margin-top: auto; color: #76391f; font-weight: 850; text-decoration: underline; text-underline-offset: 4px; }

main .home-journeys { background: var(--paper-2); }
main .home-journey-list { border-top: 1px solid var(--line); }
main .home-journey { border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 24px 0; }
main .home-journey time { color: #773e25; font-weight: 900; }
main .home-journey h3 { font-size: clamp(1.22rem, 2.2vw, 1.7rem); margin: 5px 0 7px; }
main .home-journey-price { font-weight: 850; margin: 0; }
main .home-journey-note { color: var(--muted); margin: 7px 0 0; font-size: .93rem; }
main .home-journey a { color: #753719; display: inline-flex; align-items: center; min-height: 44px; font-weight: 900; white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; }
main .home-more { margin: 32px 0 0; }

main .home-experiences { color: #fff; background: #213d3e; }
main .home-experiences .section-kicker { color: #f1c678; }
main .home-experiences .home-heading > p:last-child { color: #fffbd8; }
main .home-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
main .home-review-grid figure { background: #2d5051; border: 1px solid #ffffff2e; border-radius: 16px; padding: clamp(22px, 2.8vw, 30px); margin: 0; display: flex; flex-direction: column; }
main .home-review-grid blockquote { margin: 0 0 24px; }
main .home-review-grid blockquote p { margin: 0; line-height: 1.72; }
main .home-review-grid figcaption { border-top: 1px solid #ffffff38; padding-top: 16px; margin-top: auto; }
main .home-review-grid figcaption strong, main .home-review-grid figcaption span { display: block; }
main .home-review-grid figcaption span { color: #fffbd8; font-size: .85rem; margin-top: 3px; }
main .home-review-source { margin: 25px 0 0; }
main .home-review-source a { color: #ffe3a8; display: inline-flex; align-items: center; min-height: 44px; font-weight: 850; text-decoration: underline; text-underline-offset: 4px; }

main .home-faq { background: var(--paper); }
main .home-faq-grid { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(28px, 6vw, 90px); }
main .home-faq-list { border-top: 1px solid var(--line); }
main .home-faq-list details { border-bottom: 1px solid var(--line); }
main .home-faq-list summary { cursor: pointer; color: var(--ink); min-height: 60px; padding: 17px 14px 17px 0; font-size: 1.06rem; font-weight: 850; line-height: 1.4; }
main .home-faq-list details p { color: #4d534c; margin: 0 0 20px; line-height: 1.7; }

main .home-final { color: #fff; text-align: center; background: #183234; }
main .home-final-inner { max-width: 900px; }
main .home-final .section-kicker { color: #f1c678; }
main .home-final h2 { margin-left: auto; margin-right: auto; }
main .home-final-inner > p:not(.section-kicker) { color: #fffbd8; font-size: 1.12rem; line-height: 1.65; }
main .home-final .hero-actions { margin-top: 28px; }
main .home-final .btn { min-height: 52px; }

@media (max-width: 900px) {
  main .home-guide-grid, main .home-faq-grid { grid-template-columns: minmax(0, 1fr); }
  main .home-guide-photo { min-height: 0; aspect-ratio: 16 / 10; }
  main .home-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  main .home-hero { min-height: min(680px, 100svh - 78px); }
  main .home-hero .hero-content { padding-top: 96px; padding-bottom: 44px; }
  main .home-hero h1 { font-size: clamp(2.9rem, 12vw, 5rem); }
  main .home-adventure-grid, main .home-trust-grid, main .home-review-grid { grid-template-columns: minmax(0, 1fr); }
  main .home-journey { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  main .home-journey a { white-space: normal; justify-self: start; }
}

@media (max-width: 390px) {
  main .home-hero h1 { font-size: 2.75rem; }
  main .home-hero .hero-actions { align-items: stretch; }
  main .home-hero .hero-actions .btn { width: 100%; }
  main .home-final .hero-actions { align-items: stretch; }
  main .home-final .hero-actions .btn { width: 100%; }
}

@media (max-width: 680px) { body.home-page .floating-whatsapp { display: none !important; } }
