/* Approved homepage 399:118. All colours, type and controls use design.css. */
.home-header { gap:var(--space-8); }
.home-header .brand { width:248px; flex:none; gap:10px; }
.home-header .brand img { width:44px; height:44px; }
.home-header nav { flex:1; min-width:0; }
.home-header nav ul { justify-content:flex-start; gap:28px; }
.home-header nav a { padding-inline:0; border:0; color:var(--text); }
.home-header > .button { width:232px; min-width:232px; }
.home-hero { background:var(--bg); padding-block:var(--space-8); }
.home-hero .container.home-hero-grid,.home-demo-grid { display:grid; grid-template-columns:minmax(0,520fr) minmax(0,744fr); gap:var(--space-8); align-items:center; }
.home-hero .hero-copy { gap:var(--space-6); }
.home-hero .hero-copy h1 { font-size:56px; line-height:64px; letter-spacing:0; }
.home-hero .hero-copy > p { max-width:464px; }
.home-hero .actions { gap:var(--space-3); }
.home-hero .actions .button,.home-hero .actions .button:nth-child(2) { width:216px; min-width:0; }
.home-machine { display:flex; flex-direction:column; gap:var(--space-3); min-width:0; }
.home-machine-image { width:100%; height:auto; aspect-ratio:800/570; object-fit:contain; border-radius:var(--radius); }
.home-machine figcaption { line-height:18px; }
.home-section { padding-block:var(--space-8); }
.home-section h2 { font-size:40px; line-height:48px; letter-spacing:-.8px; }
.home-section-content { display:flex; flex-direction:column; gap:var(--space-6); }
.home-process-heading { display:grid; grid-template-columns:minmax(0,608fr) minmax(0,656fr); align-items:center; gap:var(--space-8); }
.home-process-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--border); }
.home-process-list > li { display:grid; grid-template-columns:minmax(0,320fr) minmax(0,712fr) minmax(0,200fr); gap:var(--space-8); padding-block:18px; align-items:center; }
.home-process-list h3 { font-size:24px; line-height:32px; }
.home-process-list a,.home-copy > a:not(.button),.home-company-links a { font-size:14px; line-height:20px; font-weight:600; }
.home-copy { display:flex; flex-direction:column; align-items:flex-start; gap:20px; min-width:0; }
.home-copy p { max-width:560px; }
.home-demonstration { background:var(--dark); color:var(--surface); }
.home-demonstration .home-copy p { max-width:440px; }
.home-demonstration a:not(.button) { color:var(--surface); }
.home-demonstration .ly-video { width:100%; min-width:0; border-radius:var(--radius); }
.home-demonstration a:focus-visible { outline-color:var(--surface); }
.home-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-8); align-items:center; }
.home-project-image { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; border-radius:var(--radius); }
.home-project .button { min-width:256px; }
.home-company { background:var(--bg); padding-block:var(--space-6); }
.home-company-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3) var(--space-12); }
.home-company-grid > .home-copy { display:grid; grid-row:span 3; grid-template-rows:subgrid; row-gap:inherit; align-items:start; justify-items:start; position:relative; }
.home-company-grid > .home-copy + .home-copy::before { content:""; position:absolute; inset-block:0; inset-inline-start:calc(var(--space-6) * -1); width:1px; background:var(--border); }
.home-company h2 { font-size:32px; line-height:40px; letter-spacing:0; }
.home-company-links { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-3) var(--space-6); min-height:48px; }
.home-company .button { min-width:192px; max-width:100%; }
.home-process-list a:hover,.home-copy > a:not(.button):hover,.home-company-links a:hover { text-decoration:underline; text-underline-offset:4px; }
@media (min-width:768px) {
  .home-footer { background:var(--dark); color:var(--surface); border:0; padding:var(--space-8) 0; }
  .home-footer > :is(.top,.legal) { display:none; }
  .home-footer-content { display:flex; flex-direction:column; gap:var(--space-6); }
  .home-footer-top { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-12); align-items:center; }
  .home-footer .brand {
    justify-self:start;
    gap:10px;
    padding:var(--space-2) var(--space-3);
    background:var(--surface);
    border-radius:var(--radius);
  }
  .home-footer .brand img { width:44px; height:44px; }
  .home-footer a:not(.brand) { color:var(--surface); }
  .home-footer a:focus-visible { outline-color:var(--surface); }
  .home-footer a:not(.brand):hover { text-decoration:underline; text-underline-offset:4px; }
  .home-footer-contact { display:flex; flex-wrap:wrap; gap:var(--space-8); }
  .home-footer-contact a { flex:1; }
  .home-footer nav { display:flex; flex-wrap:wrap; gap:40px; padding-top:var(--space-6); border-top:1px solid var(--secondary); }
  .home-footer p { font-size:12px; line-height:18px; }
}
@media (max-width:1300px) {
  .home-header .brand { width:200px; }
  .home-header nav ul { gap:20px; }
  .home-header > .button { width:200px; min-width:200px; }
  .home-hero .container.home-hero-grid { grid-template-columns:minmax(0,464fr) minmax(0,640fr); gap:var(--space-12); }
}
