/* Shared CSM brand and readability polish. */
.site-header:not(.home-header){height:68px}
.site-header:not(.home-header) .brand{min-width:0;gap:11px}
.site-header:not(.home-header) .brand-mark{flex:0 0 48px;height:40px;border-radius:10px;background:linear-gradient(135deg,#ff8a1f 0 14%,#153b5b 14% 78%,#138a4b 78%);font-size:.9rem;box-shadow:0 3px 10px rgba(21,59,91,.13)}
.brand-tagline{max-width:285px;overflow:hidden;color:#455d6c;font-size:.75rem;font-weight:750;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.site-header:not(.home-header)+main .auth-shell{min-height:calc(100vh - 68px)}

.hero-copy h1{font-size:clamp(2rem,7.8vw,3.25rem)}
.service-accordions summary{position:relative;min-height:56px;align-items:center;padding:14px 52px 14px 15px}
.service-accordions summary::after{position:absolute;right:16px;top:50%;display:grid;width:28px;height:28px;margin:0;place-items:center;line-height:1;transform:translateY(-50%)}
.cta-outline{border-color:#fff;background:rgba(21,59,91,.58);color:#fff}

/* Full-bleed hero ticker and strict sticky-header stacking. */
.public-home{overflow-x:clip}
.public-home .home-header{z-index:100;isolation:isolate;background:#fffdf7;opacity:1;backdrop-filter:none;-webkit-backdrop-filter:none}
.public-home main{position:relative;z-index:0;isolation:isolate}
.public-home .home-hero,.public-home .home-section,.public-home .final-cta,.public-home .home-footer{position:relative;z-index:0}
.service-strip{position:relative;z-index:1;display:flex;width:100vw;height:56px;max-width:none;margin:0;flex-wrap:nowrap;align-items:center;overflow:hidden;background:#fffdf7;white-space:nowrap}
.service-strip .ticker-track{display:flex;width:100%;min-width:0;height:100%;flex-flow:row nowrap;align-items:center;overflow:visible;padding:0;animation:none;white-space:nowrap}
.service-strip .ticker-group{display:flex;flex:0 0 100%;width:100%;min-width:0;height:100%;flex-flow:row nowrap;align-items:center;justify-content:space-around;gap:clamp(16px,2.2vw,38px);overflow:visible;padding:0 clamp(18px,3vw,48px);color:#153b5b;font-size:.82rem;font-weight:800;line-height:1.25;white-space:nowrap}
.service-strip .ticker-group[aria-hidden="true"]{display:none}
.service-strip .ticker-group b{flex:none;padding:0;color:#ff8a1f;font-size:.72rem}
@keyframes csm-ticker{to{transform:translate3d(-50%,0,0)}}
.poultry-software{padding-bottom:44px}
.services{padding-top:44px}
.business-types{justify-content:center}
.cta-first-line{white-space:nowrap}

@media(max-width:900px){
  .site-header:not(.home-header) nav{top:68px}
  .site-header:not(.home-header) .brand-tagline{max-width:min(48vw,280px)}
}
@media(min-width:600px) and (max-width:899px){
  .hero-grid{grid-template-columns:1fr;min-height:auto;padding-block:38px 28px}
  .hero-copy{text-align:center}
  .hero-copy h1{max-width:760px;margin-inline:auto;font-size:clamp(2.625rem,5.8vw,3.125rem)}
  .hero-description{margin-inline:auto}
  .hero-copy .home-actions{justify-content:center}
  .ecosystem-visual{height:245px}
  .home-section{padding-block:48px}
}
@media(min-width:900px) and (max-width:1099px){
  .hero-grid{grid-template-columns:1.08fr .92fr;min-height:450px;padding-block:38px 30px}
  .hero-copy h1{font-size:clamp(2.75rem,4.8vw,3.125rem)}
}
@media(min-width:1100px){
  .hero-grid{grid-template-columns:1.2fr .8fr;gap:40px;min-height:470px;padding-block:42px 32px}
  .hero-copy h1{font-size:clamp(3.25rem,3.8vw,4rem)}
}
@media(max-width:620px){
  body{font-size:16px;line-height:1.55}
  .site-header:not(.home-header){height:64px;padding-inline:14px}
  .site-header:not(.home-header) nav{top:64px}
  .site-header:not(.home-header) .brand{gap:8px;max-width:calc(100% - 50px)}
  .site-header:not(.home-header) .brand-mark{flex-basis:44px;width:44px;height:38px;font-size:.82rem}
  .brand-tagline{max-width:calc(100vw - 124px);font-size:.72rem}
  .site-header:not(.home-header) .menu-btn{min-width:44px;min-height:44px}
  .auth-card{padding:26px 20px}
  .form-page,.dashboard{padding-top:34px}
}
@media(max-width:599px){
  .public-home{font-size:16px;line-height:1.5}
  .public-home .home-header{height:78px}
  .home-header .site-logo{max-width:168px;max-height:67px}
  .home-section{padding-block:34px}
  .business-types{justify-content:flex-start}
  .cta-first-line{white-space:normal}
  .service-strip{height:48px;flex-wrap:nowrap}
  .service-strip .ticker-track{width:max-content;min-width:max-content;flex-wrap:nowrap;animation:csm-ticker 28s linear infinite;will-change:transform}
  .service-strip .ticker-group,.service-strip .ticker-group[aria-hidden="true"]{display:flex;flex:0 0 auto;width:max-content;min-width:max-content;height:100%;flex-flow:row nowrap;gap:24px;padding:0 24px}
  .poultry-software{padding-bottom:26px}
  .services{padding-top:26px}
  .hero-grid{padding-block:26px 18px}
  .hero-copy h1{font-size:clamp(1.875rem,8.5vw,2.25rem);line-height:1.08}
  .home-label{font-size:.75rem}
  .hero-description,.poultry-copy>p:not(.home-label),.pillar p,.training-description{font-size:1rem;line-height:1.5}
  .hero-slogan{font-size:.94rem;line-height:1.45}
  .home-btn{min-height:44px;font-size:.94rem}
  .pillar h3,.service-accordions summary b,.learning-grid h3{font-size:1.05rem}
  .service-accordions summary small,.training-description{font-size:.94rem;line-height:1.5}
  .service-accordions ul,.learning-grid p{font-size:.94rem;line-height:1.5}
  .learning-grid article{min-height:44px}
  .feature-chips span,.business-types span,.service-strip div{font-size:.78rem}
  .visual-label{font-size:.72rem}
  .mobile-action-bar a{font-size:.94rem}
  .footer-brand p,.home-footer nav a{font-size:.88rem;line-height:1.5}
  .footer-disclaimer{color:#e2eee7;font-size:.81rem;line-height:1.55}
  .home-footer small{color:#d3e5da;font-size:.8rem;line-height:1.5}
  .final-cta{padding-block:36px}
  .final-cta p{font-size:1rem;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){
  .service-strip .ticker-track{animation:none;transform:none}
}
