/* About Dastel: company story beside staggered parallax portraits that run to the right edge. */
.home-company { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); overflow: hidden; background: #FFFFFF; }

.home-company__copy { display: flex; align-items: center; padding: clamp(4.5rem, 8vw, 8rem) clamp(2.5rem, 5vw, 6rem) clamp(4.5rem, 8vw, 8rem) clamp(2rem, 6.5vw, 7rem); }
.home-company__content { max-width: 620px; }
.home-company__kicker { margin: 0; color: #3E6423; font-family: 'Poppins', sans-serif; font-size: .78rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; }
.home-stories .home-company .home-company__title { margin: 1.1rem 0 0; color: #231F20; font-family: 'Poppins', sans-serif !important; font-size: clamp(2.2rem, 3vw, 3.3rem) !important; font-weight: 700 !important; line-height: 1.08 !important; letter-spacing: -.035em; text-transform: none; }
.home-company__title em { display: block; color: #755431; font-style: normal; }
.home-company__lead { margin: 2rem 0 0; color: #231F20; font-family: 'Poppins', sans-serif; font-size: clamp(1.02rem, 1.2vw, 1.12rem); line-height: 1.8; }
.home-company__text { margin: 1.25rem 0 0; color: rgba(35, 31, 32, .72); font-family: 'Poppins', sans-serif; font-size: .97rem; line-height: 1.85; }

.home-company__cta { display: inline-flex; align-items: center; gap: 1rem; margin-top: 2.8rem; padding: .45rem .45rem .45rem 1.7rem; border-radius: 999px; background: #755431; color: #FFFFFF !important; font-family: 'Poppins', sans-serif; font-size: .76rem; font-weight: 600; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; box-shadow: 0 18px 34px -18px rgba(117, 84, 49, .85); transition: background .4s ease; }
.home-company__cta-icon { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: 50%; background: #FFFFFF; color: #755431; transition: color .4s ease, transform .45s cubic-bezier(.2, .8, .2, 1); }
.home-company__cta-icon svg { width: 1.05rem; height: 1.05rem; }
.home-company__cta:hover, .home-company__cta:focus-visible { background: #3E6423; }
.home-company__cta:hover .home-company__cta-icon, .home-company__cta:focus-visible .home-company__cta-icon { color: #3E6423; transform: rotate(-45deg); }
.home-company__cta:focus-visible { outline: 3px solid #6B9A40; outline-offset: 4px; }

.home-company__media { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; min-height: clamp(680px, 56vw, 880px); padding-block: clamp(3rem, 6vw, 5.5rem); }
.home-company__photo { position: relative; margin: 0; overflow: hidden; background: #231F20; }
.home-company__photo--culture { margin-bottom: 16%; }
.home-company__photo--explore { margin-top: 16%; }
.home-company__frame { position: absolute; inset: 0; }
.home-company__frame img { display: block; width: 100%; height: 100%; object-fit: cover; transform: translate3d(0, var(--home-company-shift, 0px), 0) scale(1.14); will-change: transform; }
.home-company__photo--culture img { object-position: 50% 25%; }
.home-company__photo--explore img { object-position: 48% center; }

.home-company__badge { position: absolute; top: 50%; left: 0; z-index: 2; display: grid; width: 150px; height: 150px; place-items: center; border-radius: 50%; background: #FFFFFF; box-shadow: 0 24px 50px -24px rgba(35, 31, 32, .45); transform: translate(-50%, -50%); }
.home-company__badge-ring { position: absolute; inset: 9px; width: calc(100% - 18px); height: calc(100% - 18px); color: #3E6423; animation: home-company-spin 24s linear infinite; }
.home-company__badge-ring text { fill: currentColor; font-family: 'Poppins', sans-serif; font-size: 10.5px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.home-company__badge img { width: 62px; height: 62px; object-fit: contain; }

/* Scroll reveal. Hidden states apply only once the script arms the section, so content stays visible without JS. */
.home-company.is-armed [data-company-reveal] .home-company__content > * { opacity: 0; transform: translateY(36px); }
.home-company.is-armed [data-company-reveal] .home-company__photo { clip-path: inset(0 100% 0 0); }
.home-company.is-armed [data-company-reveal] .home-company__frame { transform: scale(1.25); }
.home-company.is-armed [data-company-reveal] .home-company__badge { opacity: 0; transform: translate(-50%, -50%) scale(.55) rotate(-40deg); }
.home-company.is-armed [data-company-reveal].is-inview .home-company__content > * { opacity: 1; transform: none; transition: opacity 1s ease, transform 1.1s cubic-bezier(.2, .8, .2, 1); }
.home-company.is-armed [data-company-reveal].is-inview .home-company__content > :nth-child(2) { transition-delay: .12s; }
.home-company.is-armed [data-company-reveal].is-inview .home-company__content > :nth-child(3) { transition-delay: .26s; }
.home-company.is-armed [data-company-reveal].is-inview .home-company__content > :nth-child(4) { transition-delay: .4s; }
.home-company.is-armed [data-company-reveal].is-inview .home-company__content > :nth-child(5) { transition-delay: .5s; }
.home-company.is-armed [data-company-reveal].is-inview .home-company__content > .home-company__cta { transition: opacity 1s ease .56s, transform 1.1s cubic-bezier(.2, .8, .2, 1) .56s, background .4s ease; }
.home-company.is-armed [data-company-reveal].is-inview .home-company__photo { clip-path: inset(0 0 0 0); transition: clip-path 1.4s cubic-bezier(.77, 0, .18, 1); }
.home-company.is-armed [data-company-reveal].is-inview .home-company__frame { transform: none; transition: transform 2.2s cubic-bezier(.2, .8, .2, 1); }
.home-company.is-armed [data-company-reveal].is-inview .home-company__photo--explore,
.home-company.is-armed [data-company-reveal].is-inview .home-company__photo--explore .home-company__frame { transition-delay: .22s; }
.home-company.is-armed [data-company-reveal].is-inview .home-company__badge { opacity: 1; transform: translate(-50%, -50%); transition: opacity .8s ease 1s, transform 1.2s cubic-bezier(.2, .8, .2, 1) 1s; }

@keyframes home-company-spin { to { transform: rotate(360deg); } }

@media (max-width: 1099px) {
    .home-company { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .home-company__copy { padding: 4.5rem 3rem 4.5rem 2.5rem; }
    .home-company__badge { width: 124px; height: 124px; }
    .home-company__badge img { width: 50px; height: 50px; }
}
@media (max-width: 899px) {
    .home-company { grid-template-columns: minmax(0, 1fr); }
    .home-company__copy { padding: 4rem 2rem 1rem; }
    .home-company__content { max-width: 640px; margin: 0 auto; }
    .home-company__media { min-height: 0; height: clamp(520px, 95vw, 780px); padding-block: 3rem 4rem; }
    .home-company__badge { top: 50%; left: 50%; }
}
@media (max-width: 599px) {
    .home-company__copy { padding: 3.25rem 1.4rem .5rem; }
    .home-company__lead { margin-top: 1.5rem; font-size: 1rem; }
    .home-company__text { font-size: .93rem; }
    .home-company__cta { margin-top: 2.2rem; }
    .home-company__media { gap: 4px; height: 118vw; padding-block: 2.5rem 3rem; }
    .home-company__badge { width: 104px; height: 104px; }
    .home-company__badge-ring text { font-size: 11.5px; }
    .home-company__badge img { width: 40px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-company__badge-ring { animation: none; }
    .home-company__frame img { will-change: auto; }
    .home-company__cta, .home-company__cta-icon { transition: none; }
}
