/* Homepage layouts, scoped separately from the product and solution pages. */
.home-page .section{padding-block:clamp(3.5rem,6vw,5.5rem)}
.home-page .section-head{max-width:780px}
.home-page .section-head h2{font-size:clamp(2rem,3.3vw,3rem)}
.home-hero{padding-block:clamp(2rem,4vw,3.5rem)}
.home-hero-grid{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);grid-template-areas:"heading media" "copy media";column-gap:clamp(2rem,5vw,4rem);row-gap:0;padding:clamp(1.5rem,3.5vw,3rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}
.home-hero-heading{grid-area:heading;align-self:end;min-width:0}
.home-hero h1{font-size:clamp(2.5rem,4.2vw,3.8rem);line-height:1.08;max-width:18ch;margin-bottom:1.25rem}
.home-hero-copy{grid-area:copy;align-self:start;min-width:0}
.home-hero-copy .lead{font-size:clamp(1.05rem,1.5vw,1.2rem);max-width:52ch}
.home-hero-copy .actions{margin-top:1.5rem}
.home-hero-media{grid-area:media;margin:0;min-width:0;width:100%;max-width:370px;justify-self:center;align-self:center;background:#000;border-radius:14px;overflow:hidden}
.home-hero-media a{display:flex;flex-direction:column;align-items:center;color:white}
.home-hero-media img{width:100%;height:clamp(360px,34vw,490px);object-fit:contain}
.home-hero-media .home-promo-link{display:block;text-align:center;padding:.9rem 1rem;background:var(--primary);font-weight:800;line-height:1.5}
.home-hero-media a:hover .home-promo-link{background:#0666b6}
.home-hero-media a:focus-visible{outline-offset:-4px}
.home-page .product-family{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.5rem;padding:1.25rem}
.home-page .product-family>*{min-width:0}
.home-page .product-family img{height:270px}
.home-project-grid,.home-output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.home-project-card{display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.home-project-image{display:grid;place-items:center;aspect-ratio:16/9;background:var(--navy);overflow:hidden}
.home-project-image img{width:100%;height:100%;object-fit:contain}
.home-project-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:1.5rem}
.home-project-body .eyebrow{margin-bottom:.75rem;font-size:.72rem}
.home-project-body h3{font-size:clamp(1.4rem,2.1vw,1.8rem)}
.home-project-body .text-link{margin-top:auto}
.home-section-link{margin:1.5rem 0 0}
.home-models .model-card h3{font-size:1.55rem}
.home-models .model-fit{font-size:.88rem;color:var(--foreground);margin-bottom:.65rem}
.home-models .model-summary{font-size:.9rem}
.home-models .model-card dl div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:.7rem}
.home-models .model-card dd{overflow-wrap:anywhere}
.home-models .model-card dd span{display:block}
.home-models .model-card dl{margin-top:auto}
.home-models .model-card>.text-link{margin-top:.6rem}
.home-models .actions{justify-content:center}
.home-output-card{margin:0;min-width:0;padding:1rem;border:1px solid #365269;background:#0c2942;border-radius:var(--radius)}
.home-output-image{display:grid;place-items:center;aspect-ratio:16/10;background:#fff;border-radius:10px;overflow:hidden}
.home-output-image img{width:100%;height:100%;object-fit:contain}
.home-output-card figcaption{padding:1.25rem .25rem .25rem}
.home-output-card h3{font-size:clamp(1.4rem,2vw,1.8rem)}
.home-output-card p:last-child{margin-bottom:0}
.home-output-formats{font-size:.9rem;color:#e0ebf3!important}
.home-outputs .actions{margin-top:2rem}
.home-outputs .btn-secondary{border-color:#69879f;color:#fff}
.home-workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;list-style:none;padding:0;margin:0}
.home-workflow-grid li{min-width:0;padding-top:1.25rem;border-top:2px solid var(--border)}
.home-step-number{display:block;color:var(--primary);font-weight:800;margin-bottom:.75rem;font-variant-numeric:tabular-nums}
.home-workflow-grid h3{font-size:1.5rem}
.home-workflow-grid p{font-size:.95rem}
.home-workflow-grid .text-link{font-size:.9rem}
.home-page .cta-band h2{max-width:900px;margin-inline:auto;font-size:clamp(2rem,3.6vw,3.2rem)}
@media(max-width:1024px){
  .home-hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "media" "copy";gap:1.5rem}
  .home-hero h1{max-width:23ch;margin-bottom:0}
  .home-hero-media{max-width:300px}
  .home-hero-media img{height:390px}
  .home-hero-copy .lead{max-width:65ch}
  .home-page .product-family{grid-template-columns:minmax(0,1fr);align-content:start}
  .home-page .product-family img{height:240px}
}
@media(max-width:760px){
  .home-hero-grid{padding:1.25rem}
  .home-hero h1{font-size:clamp(2rem,8vw,3.25rem);max-width:none}
  .home-hero-heading .eyebrow{font-size:.7rem;letter-spacing:.1em;margin-bottom:.75rem}
  .home-hero-media{max-width:280px}
  .home-hero-media img{height:auto;max-height:380px;aspect-ratio:936/1664}
  .home-hero-copy .actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .home-project-grid,.home-output-grid,.home-workflow-grid{grid-template-columns:minmax(0,1fr)}
  .home-project-body{padding:1.25rem}
  .home-page .product-family{grid-template-columns:minmax(0,1fr)}
  .home-page .audience-grid{grid-template-columns:minmax(0,1fr)}
  .home-models .model-card dl div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .home-outputs .actions{align-items:stretch;flex-direction:column}
}
