/* ===================================================================
   Uptinergy Inc. — Homepage stylesheet
   Loads after style.css (brand tokens live there).
   Mirrors the design language of audit.html / services.html.
   =================================================================== */

/* ---------------------------------------------------------------
   Scroll reveal (progressive enhancement — visible without JS)
   --------------------------------------------------------------- */
.rv-item{
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);
}
.rv-hidden{opacity:0;transform:translateY(22px)}
@media (prefers-reduced-motion: reduce){
  .rv-item{transition:none}
  .rv-hidden{opacity:1;transform:none}
}

/* ---------------------------------------------------------------
   HERO — two-column, navy, with overlapping stat band below
   --------------------------------------------------------------- */
.home-hero{
  background:var(--navy);
  color:#fff;
  padding:96px 0 150px;       /* extra bottom room for the stat band overlap */
  position:relative;
}
.home-hero .eyebrow{color:var(--amber)}
.hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:64px;
  align-items:center;
}
.home-hero h1{color:#fff;max-width:14ch}
.home-hero p.lead{font-size:1.18rem;color:var(--slate-light);max-width:50ch;margin-bottom:30px}
.home-hero .hero-actions{display:flex;gap:14px;flex-wrap:wrap}

/* Hero visual — cost position card */
.hero-card{
  background:#fff;
  border-radius:14px;
  padding:30px 32px;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.55);
}
.hero-card .vis-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;gap:12px}
.hero-card .vis-title{font-size:.78rem;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--navy)}
.hero-card .vis-tag{font-size:.72rem;font-weight:600;color:var(--slate);border:1px solid var(--line);border-radius:20px;padding:3px 10px;white-space:nowrap}
.cost-row{margin-bottom:20px}
.cost-row .lbl{display:flex;justify-content:space-between;font-size:.85rem;color:var(--slate);margin-bottom:7px}
.cost-row .lbl b{color:var(--navy);font-weight:600}
.cost-row .val-amber{color:var(--amber);font-weight:700}
.cost-bar{height:14px;border-radius:7px;background:var(--bg-soft);overflow:hidden}
.cost-bar i{display:block;height:100%;border-radius:7px;background:var(--navy)}
.cost-bar.is-bench i{background:var(--amber);width:0;transition:width 1.2s cubic-bezier(.22,.61,.36,1) .3s}
.cost-bar.is-bench.bar-active i{width:71%}
@media (prefers-reduced-motion: reduce){
  .cost-bar.is-bench i{width:71%;transition:none}
}
.hero-card .vis-foot{margin-top:8px;padding-top:16px;border-top:1px solid var(--line);font-size:.8rem;color:var(--slate)}

/* Stat band — overlaps hero bottom (GainShare-style strip) */
.stat-band-wrap{margin-top:-86px;position:relative;z-index:2}
.stat-kicker{
  text-align:center;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--amber);
  margin:0 0 14px;
}
.stat-band{
  background:linear-gradient(135deg,#FFF9EE 0%,#FFF3DC 100%);
  border:1px solid rgba(244,163,0,.35);
  border-top:3px solid var(--amber);
  border-radius:18px;
  box-shadow:0 30px 70px -38px rgba(11,37,69,.5);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:36px 10px;
}
.stat-cell{text-align:center;padding:6px 18px;border-right:1px solid rgba(244,163,0,.25)}
.stat-cell:last-child{border-right:none}
.stat-cell .big{font-size:clamp(1.8rem,2.8vw,2.5rem);font-weight:700;color:var(--navy);line-height:1.1;letter-spacing:-.5px}
.stat-cell .lbl{color:#8a6d2f;font-size:.95rem;margin-top:8px}

/* ---------------------------------------------------------------
   Down arrow (section transitions — matches solutions page)
   --------------------------------------------------------------- */
.down-wrap{display:flex;justify-content:center;padding:40px 0 0}
.down-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;height:46px;
  border-radius:50%;
  border:1px solid var(--line);
  color:var(--slate);
  background:#fff;
  transition:border-color .2s,color .2s,transform .2s;
}
.down-arrow:hover{border-color:var(--amber);color:var(--amber);transform:translateY(3px)}
.down-arrow svg{display:block}

/* ---------------------------------------------------------------
   PROBLEM SECTION — "Chemical costs are volatile."
   --------------------------------------------------------------- */
.problem{padding:96px 0 84px;text-align:center}
.problem h2{font-size:clamp(1.9rem,3.6vw,2.7rem);max-width:24ch;margin:0 auto .15em}
.problem .sub{
  font-size:clamp(1.25rem,2.4vw,1.7rem);
  font-weight:700;
  color:var(--amber);
  letter-spacing:-.3px;
  margin:0 0 22px;
}
.problem p.note{max-width:56ch;margin:0 auto 36px;color:var(--slate);font-size:1.08rem}
/* Pain-point ticker — continuous marquee (GainShare-style) */
.ticker{
  overflow:hidden;
  position:relative;
  padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.ticker-track{
  display:flex;
  gap:14px;
  width:max-content;
  animation:tickerMove 30s linear infinite;
}
.chip-set{display:flex;gap:14px}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes tickerMove{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.pain-chip{
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  font-size:.98rem;
  font-weight:500;
  color:#fff;
  background:var(--navy);
  border:1px solid var(--navy-90);
  border-radius:30px;
  padding:12px 24px;
  box-shadow:0 14px 30px -18px rgba(11,37,69,.55);
}
.pain-chip .pi{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;height:28px;
  border-radius:50%;
  background:rgba(244,163,0,.16);
  color:var(--amber);
  flex:0 0 28px;
}
@media (prefers-reduced-motion: reduce){
  .ticker{-webkit-mask-image:none;mask-image:none}
  .ticker-track{animation:none;width:auto}
  .chip-set{flex-wrap:wrap;justify-content:center}
  .chip-set[aria-hidden="true"]{display:none}
}

/* ---------------------------------------------------------------
   PATHWAY SECTION — five stages
   --------------------------------------------------------------- */
.pathway{padding:84px 0 90px}
.pathway .section-head{max-width:62ch}
.path-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
  margin-bottom:40px;
}
.path-card{
  background:linear-gradient(135deg,#FFF9EE 0%,#FFF3DC 100%);
  border:1px solid rgba(244,163,0,.35);
  border-top:3px solid var(--amber);
  border-radius:10px;
  padding:22px 20px;
  transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s,border-color .5s;
}
.path-card.pop{
  transform:translateY(-10px) scale(1.04);
  box-shadow:0 22px 44px -22px rgba(244,163,0,.6);
  border-color:var(--amber);
}
@media (prefers-reduced-motion: reduce){
  .path-card{transition:none}
  .path-card.pop{transform:none;box-shadow:none}
}
.path-card .pn{font-size:.78rem;font-weight:700;letter-spacing:1.5px;color:var(--amber)}
.path-card h3{font-size:1.35rem;margin:8px 0 8px;color:var(--navy)}
.path-card p{margin:0;color:#8a6d2f;font-size:.9rem;line-height:1.5}
.path-cta{text-align:center}
.path-link{font-weight:600;color:var(--navy)}
.path-link:hover{color:var(--amber)}

/* ---------------------------------------------------------------
   WHY SECTION — independence trio + quote panel
   --------------------------------------------------------------- */
.why{padding:84px 0 90px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:64px}
.why-card{
  background:linear-gradient(135deg,#FFF9EE 0%,#FFF3DC 100%);
  border:1px solid rgba(244,163,0,.35);
  border-radius:10px;
  padding:32px 30px;
  transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s,border-color .5s;
}
.why-card.pop{
  transform:translateY(-10px) scale(1.03);
  box-shadow:0 22px 44px -22px rgba(244,163,0,.6);
  border-color:var(--amber);
}
@media (prefers-reduced-motion: reduce){
  .why-card{transition:none}
  .why-card.pop{transform:none;box-shadow:none}
}
.why-card .icn{
  width:46px;height:46px;border-radius:10px;
  background:#fff;color:var(--navy);
  border:1px solid rgba(244,163,0,.3);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;
}
.why-card h3{margin-bottom:.4em;font-size:1.1rem;color:var(--navy)}
.why-card p{margin:0;color:#8a6d2f;font-size:.98rem}

/* ---------------------------------------------------------------
   COMPANY PAGE
   --------------------------------------------------------------- */
.company-banner{display:block;width:100%;height:auto;background:var(--navy)}

.statement{padding:84px 0;text-align:center}
.statement h2{font-size:clamp(1.8rem,3.4vw,2.6rem);max-width:28ch;margin:0 auto .25em}
.statement .amberline{font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:700;color:var(--amber);margin:0}

.ticker-intro{text-align:center;color:var(--slate);font-size:1.08rem;max-width:56ch;margin:0 auto 32px;padding:0 var(--pad)}

/* Values marquee */
.value-card{
  min-width:300px;max-width:340px;
  background:linear-gradient(135deg,#FFF9EE 0%,#FFF3DC 100%);
  border:1px solid rgba(244,163,0,.35);
  border-top:3px solid var(--amber);
  border-radius:12px;
  padding:22px 24px;
  white-space:normal;
}
.value-card .vname{font-weight:700;color:var(--navy);font-size:1.06rem;margin-bottom:6px}
.value-card .vline{color:#8a6d2f;font-size:.92rem;line-height:1.5}
.vticker .ticker-track{animation-duration:46s;align-items:stretch}

/* "How we work" panel (Company page) */
.hww-eyebrow{
  font-size:.74rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--amber);margin:0 0 8px;
}
.hww-list{margin:0;padding:0;list-style:none}
.hww-item{
  display:flex;gap:16px;
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.hww-item:last-child{border-bottom:none;padding-bottom:4px}
.hww-item:first-child{padding-top:8px}
.hww-num{flex:0 0 auto;font-size:.75rem;font-weight:700;color:var(--amber);letter-spacing:1.5px;padding-top:4px}
.hww-item b{display:block;color:#fff;font-size:1rem;margin-bottom:3px}
.hww-item p{margin:0;color:var(--slate-light);font-size:.92rem;line-height:1.55}

/* Founder card */
.founder-card{
  display:flex;gap:24px;align-items:center;
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--amber);
  border-radius:12px;padding:30px 34px;max-width:720px;margin:0 auto;
  box-shadow:0 22px 54px -36px rgba(11,37,69,.45);
}
.founder-avatar{
  flex:0 0 68px;height:68px;border-radius:50%;
  background:var(--navy);color:var(--amber);
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:1.35rem;letter-spacing:1px;
}
.founder-photo{
  flex:0 0 96px;width:96px;height:96px;border-radius:50%;
  object-fit:cover;
  border:3px solid var(--amber);
  box-shadow:0 10px 26px -14px rgba(11,37,69,.5);
}
.founder-card .fn{font-weight:700;color:var(--navy);font-size:1.18rem;line-height:1.3}
.founder-card .ft{color:var(--amber);font-weight:600;font-size:.8rem;letter-spacing:1.8px;text-transform:uppercase;margin:3px 0 9px}
.founder-card p{margin:0;color:var(--slate);font-size:.96rem;line-height:1.6}
.founder-card a{font-weight:600;color:var(--navy)}
.founder-card a:hover{color:var(--amber)}

/* ---------------------------------------------------------------
   Responsive
   --------------------------------------------------------------- */
@media(max-width:980px){
  .path-grid{grid-template-columns:repeat(2,1fr)}
  .path-grid .path-card:last-child{grid-column:1 / -1}
}
@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .home-hero{padding:64px 0 130px}
  .home-hero h1{max-width:20ch}
  .why-grid{grid-template-columns:1fr}
  .stat-band{grid-template-columns:repeat(2,1fr);row-gap:22px}
  .stat-cell:nth-child(2){border-right:none}
}
@media(max-width:560px){
  .stat-band{grid-template-columns:1fr}
  .stat-cell{border-right:none;border-bottom:1px solid var(--line);padding:14px 10px}
  .stat-cell:last-child{border-bottom:none}
  .path-grid{grid-template-columns:1fr}
  .founder-card{flex-direction:column;text-align:center;padding:26px 22px}
}
