/* TASK 004 — Rural composition with Vietnamese sans typography.
   Layout wrappers, breakpoints, hover language and easings come from Rural. */
:root {
  --heading-font: 'Be Vietnam Pro', sans-serif;
  --content-font: 'Be Vietnam Pro', sans-serif;
  --tnc-display-font: 'Be Vietnam Pro', sans-serif;
  --tnc-heading-font: 'Be Vietnam Pro', sans-serif;
  --tnc-body-font: 'Be Vietnam Pro', sans-serif;
  --tnc-button-font: 'Be Vietnam Pro', sans-serif;
  --tnc-nav-font: 'Be Vietnam Pro', sans-serif;
  --tnc-motion-ease: cubic-bezier(0, .55, .45, 1);
}
body,p,li,label,input,textarea,select,.paragraph,.rich-text,.store-cta-paragraph {
  font-family: var(--tnc-body-font); font-weight: 400;
}
h1,h2,h3,h4,h5,h6,.heading,.marker-title,.marker-number,.footer-brand-name {
  font-family: var(--tnc-heading-font); font-weight: 600;
}
h1,.heading.is-extra-large-title,.heading.is-simple-hero-title,.heading.is-gallery-hero-title {
  font-family: var(--tnc-display-font); font-weight: 700; letter-spacing: -.045em;
}
button,.main-button,.main-button-text,.product-detail-button,.form-submit-button {
  font-family: var(--tnc-button-font); font-weight: 600;
}
.nav-link,.nav-link-text,.fs-menu-link,.fs-menu-link-small,.dropdown-cms-link-text,.footer-text-link {
  font-family: var(--tnc-nav-font); font-weight: 500;
}
.heading {letter-spacing: -.035em; text-wrap: balance;}
.marker-title {font-size: 1.6em; line-height: 1.5; letter-spacing: .035em;}
.tnc-homepage .hero-fullscreen-title {max-width: 100em;}
.tnc-homepage .hero-fullscreen-title .heading.is-extra-large-title {font-size: 6em; line-height: 1.12;}
.tnc-homepage .hero-fullscreen-padding {padding-top: 13em; padding-bottom: 16em;}
.tnc-homepage .tnc-hero-description {max-width: 58em;}
.tnc-homepage .tnc-hero-description .paragraph {font-size: 1.65em; line-height: 1.75;}
.tnc-homepage .hero-image-for-desktop {max-width: 1536px; margin-left: auto;}
.tnc-homepage .hero-image-for-mobile {object-position: 55% 50%;}
.tnc-homepage .hero-fullscreen-gradient {height: 100%; background-image: linear-gradient(180deg,rgba(15,35,24,.55),rgba(15,35,24,.15) 55%,rgba(15,35,24,.62));}
.tnc-homepage #cau-chuyen .section-content-block {margin-bottom: 0;}
.tnc-homepage #cau-chuyen .section-content-block > .paragraph {max-width: 65ch; line-height: 1.8;}
.tnc-homepage .tnc-feature-section .about-farm-grid-2 {grid-template-columns: 1fr 1fr; align-items: center; max-width: 1300px; margin: auto;}
.tnc-homepage .tnc-feature-section .about-farm-grid-2-image {height: auto; aspect-ratio: 3 / 2; overflow: hidden;}
.tnc-homepage ._3d-trigger {width: 100%; height: 100%;}
.tnc-homepage .tnc-feature-section .about-farm-grid-2-content {padding-top: 2em; padding-bottom: 2em;}
.tnc-homepage .tnc-feature-section .about-farm-grid-2-layout {gap: 2.5em;}
.tnc-homepage .tnc-feature-section .paragraph {line-height: 1.8;}
.tnc-homepage .tnc-story-lead .about-farm-grid-2 {grid-template-columns: 1fr; max-width: 1200px; gap: 3em;}
.tnc-homepage .tnc-story-lead .about-farm-grid-2-content {max-width: 75em; margin: auto; text-align: center;}
.tnc-homepage .tnc-story-lead .about-farm-grid-2-layout {align-items: center;}
.tnc-homepage .tnc-story-reverse .about-farm-grid-2-image {order: 2;}
.tnc-homepage .tnc-story-reverse .about-farm-grid-2-content {order: 1;}
.tnc-homepage .product-shop-image {min-height: 0; aspect-ratio: 3 / 2; flex: none;}
.tnc-homepage .product-shop-image .cover-image {object-fit: cover; object-position: center;}
.tnc-homepage .product-shop-image ._3d-trigger {transform: none !important;}
.tnc-homepage .product-shop-image img {transform: none;}
.tnc-homepage .product-shop-item:hover .product-shop-image img {transform: scale(1.03);}
.tnc-homepage .product-shop-buttons {display: flex; flex-wrap: wrap; gap: .5em;}
.tnc-homepage .product-shop-content .tnc-image-note {font-size: 1.15em; line-height: 1.7;}
.tnc-homepage .tnc-section-intro {max-width: 65ch;}
.tnc-homepage .harvest-item {flex: 1 1 0; min-width: 0;}
.tnc-homepage .harvest-content {z-index: 30;}
.tnc-homepage .harvest-image {aspect-ratio: 2 / 3;}
.tnc-homepage .harvest-image .cover-image {object-position: center;}
/* Rural hover still grows the category image; fixed-width ratio keeps it undistorted. */
.tnc-homepage .tnc-brand-split .store-cta-layout {gap: 0; display: grid; grid-template-columns: 1fr 1fr; background: var(--green-2);}
.tnc-homepage .tnc-brand-split .store-cta-content {width: 100%; border: 0; padding: 6em; text-align: left; align-items: flex-start;}
.tnc-homepage .tnc-brand-split .store-cta-image {position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 3 / 2; align-self: center; overflow: hidden;}
.tnc-homepage .tnc-brand-split .store-cta-image .cover-image {object-fit: cover; object-position: center;}
.tnc-homepage .tnc-brand-split .store-cta-paragraph {line-height: 1.8;}
.tnc-homepage .tnc-brand-split .store-cta-button {justify-content: flex-start;}
.tnc-homepage .featured-article-item {min-width: 0;}
.tnc-homepage .featured-article-link-block {min-height: 0; padding-top: 66.6667%;}
.tnc-homepage .featured-article-bg-image {inset: 0 0 auto; height: auto; aspect-ratio: 3 / 2;}
.tnc-homepage .featured-article-bg-image .cover-image.is-parallax {height: 100%;}
.tnc-homepage .featured-article-content {padding: 3em;}
.tnc-homepage .featured-article-content .heading {font-size: 2.2em; line-height: 1.45;}
.tnc-homepage .featured-article-content .article-list-category-text {font-size: 1.15em;}
.tnc-homepage .gallery-collage-wrapper {max-width: 60em; margin-top: 4em; margin-bottom: 4em;}
.tnc-homepage .gallery-lightbox.in-large {height: auto; aspect-ratio: 3 / 2;}
.tnc-homepage .gallery-collage-image {height: auto; aspect-ratio: 2 / 3; width: 20em;}
.tnc-homepage .gallery-collage-image.is-left-2nd,.tnc-homepage .gallery-collage-image.is-right-2nd {height: auto;}
.tnc-homepage .gallery-collage-image.is-left-2nd {width: 15em;}
.tnc-homepage .gallery-collage-image.is-right-2nd {width: 24em; aspect-ratio: 3 / 2;}
.tnc-homepage .gallery-lightbox.in-side {height: 100%;}
.tnc-homepage .gallery-thumbnail,.tnc-homepage .gallery-lightbox .cover-image {object-fit: cover; object-position: center;}
.tnc-homepage .gallery-lightbox .cover-image.is-parallax {height: 100%;}
.tnc-homepage .cover-image {animation: none;}
.tnc-homepage .hero-fullscreen .cover-image {animation: heroBgZoom 1.8s var(--tnc-motion-ease);}
.tnc-homepage .tnc-curtain-ready .animation-color-bg {display: block; transform: translateY(0%);}
.tnc-homepage .tnc-curtain-ready.is-revealed .animation-color-bg {transform: translateY(-101%);}
.tnc-homepage #doanh-nghiep .store-cta-layout {max-width: 1200px; margin: auto;}
.tnc-homepage .tnc-reveal-ready {opacity: 0; transform: translateY(28px); transition: opacity .85s var(--tnc-motion-ease),transform .85s var(--tnc-motion-ease),box-shadow .35s ease !important;}
.tnc-homepage .tnc-reveal-ready.is-visible {opacity: 1 !important; transform: translateY(0) !important;}
.custom-lightbox-view img {width: auto; height: auto; max-width: 100%; max-height: 85vh; object-fit: contain;}
/* Business footer: Rural's dark color rhythm, without a photographic background. */
.tnc-business-footer {background: var(--green-1); color: var(--green-10);}
.tnc-business-footer .padding {padding-top: 7em; padding-bottom: 6em;}
.tnc-business-footer .footer-wrapper {display: grid; grid-template-columns: 1.15fr .65fr 1.2fr; gap: 6em; align-items: start;}
.tnc-business-footer .footer-brand-wrapper {width: auto; display: flex; flex-direction: column; align-items: flex-start; gap: 2em;}
.tnc-business-footer .footer-brand {display: inline-block;}
.tnc-footer-logo {display: block; width: 22em; max-width: 100%; height: auto;}
.tnc-business-footer .footer-contacts {display: grid; gap: 1em;}
.tnc-business-footer .tnc-legal-name {font-size: 14px; line-height: 1.85; font-weight: 500;}
.tnc-business-footer .footer-links-wrapper {width: auto; padding: 0;}
.tnc-business-footer .footer-links {display: flex; flex-direction: column; align-items: flex-start; gap: .9em;}
.tnc-business-footer .footer-text-link {font-size: 14px; line-height: 1.75; color: var(--green-10); text-align: left;}
.tnc-business-footer .footer-flex-wrapper {width: auto; gap: 0;}
.tnc-business-footer .footer-flex-block {padding: 0; gap: 1.25em;}
.tnc-business-footer .footer-contact-link,.tnc-business-footer .footer-address-text {font-family: var(--tnc-body-font); font-size: 14px; line-height: 1.85; color: var(--green-10); overflow-wrap: anywhere;}
.tnc-business-footer .footer-small-text {font-family: var(--tnc-body-font); font-size: 12px; line-height: 1.8; color: var(--green-8);}
.tnc-business-footer .subfooter-wrapper {display: flex; justify-content: space-between; align-items: center; gap: 2em; padding-top: 2em; padding-bottom: 2em;}
.tnc-bct-logo {width: 160px; max-width: 100%; height: auto; object-fit: contain;}
@media screen and (max-width: 991px) {
  .tnc-homepage .hero-fullscreen-title .heading.is-extra-large-title {font-size: 4.5em;}
  .tnc-homepage .hero-fullscreen-padding {padding-top: 12em; padding-bottom: 12em;}
  .tnc-homepage .tnc-feature-section .about-farm-grid-2 {grid-template-columns: 1fr; gap: 3em;}
  .tnc-homepage .tnc-story-reverse .about-farm-grid-2-image,.tnc-homepage .tnc-story-reverse .about-farm-grid-2-content {order: initial;}
  .tnc-homepage .tnc-feature-section .about-farm-grid-2-content {padding: 0;}
  .tnc-homepage .tnc-brand-split .store-cta-content {padding: 4em;}
  .tnc-business-footer .footer-wrapper {grid-template-columns: 1fr 1fr; gap: 4em;}
  .tnc-business-footer .footer-brand-wrapper {grid-column: 1 / -1; max-width: 60em;}
}
@media screen and (max-width: 767px) {
  .tnc-homepage .hero-fullscreen {padding-top: 0; padding-bottom: 0; min-height: 90svh;}
  .tnc-homepage .hero-fullscreen-title .heading.is-extra-large-title {font-size: 3.6em;}
  .tnc-homepage .hero-fullscreen-padding {padding-top: 11em; padding-bottom: 9em;}
  .tnc-homepage .hero-fullscreen-layout {gap: 2em;}
  .tnc-homepage .hero-fullscreen-buttons {justify-content: center;}
  .tnc-homepage .tnc-brand-split .store-cta-layout {grid-template-columns: 1fr;}
  .tnc-homepage .tnc-brand-split .store-cta-content {padding: 6em 8vw;}
  .tnc-homepage .tnc-brand-split .store-cta-image {max-width: 100%;}
  .tnc-homepage .product-shop-image {aspect-ratio: 3 / 2; min-height: 0;}
  .tnc-homepage .harvest-image {position: relative; width: 100%; height: auto !important; aspect-ratio: 3 / 2; max-height: none;}
  .tnc-homepage .harvest-item:hover .harvest-image {height: auto !important;}
  .tnc-homepage .gallery-collage-wrapper {width: 70%; font-size: .8em;}
  .tnc-business-footer .footer-wrapper {grid-template-columns: 1fr;}
  .tnc-business-footer .footer-brand-wrapper {grid-column: auto;}
}
@media screen and (max-width: 479px) {
  .marker-title {font-size: 1.4em;}
  .tnc-homepage .hero-fullscreen-title .heading.is-extra-large-title {font-size: 3.1em;}
  .tnc-homepage .tnc-hero-description .paragraph {font-size: 1.45em;}
  .tnc-homepage .gallery-collage-wrapper {width: 70%; font-size: .6em;}
  .tnc-business-footer .subfooter-wrapper {flex-direction: column; align-items: flex-start;}
}
@media (prefers-reduced-motion: reduce) {
  .tnc-homepage .tnc-reveal-ready {opacity: 1; transform: none; pointer-events: auto;}
  .tnc-homepage .hero-fullscreen .cover-image {animation: none;}
}
