/* Product layout. Shared type, colours, buttons and gutters come from site.css. */
.rack-topbar{border-bottom:1px solid var(--line)}
.rack-topbar .container{min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:24px}
.rack-topbar nav{display:flex;align-items:center;gap:28px}
.rack-page{max-width:calc(var(--container) + 2 * var(--gutter));padding:64px var(--gutter) 96px;margin:auto}
.rack-hero{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;gap:64px}
.rack-intro .eyebrow{font-size:var(--fs-small);color:var(--muted);margin-bottom:20px}
.rack-intro h1{font-size:var(--fs-display);font-weight:500;letter-spacing:var(--tracking-display);line-height:1.1;margin-bottom:24px;text-wrap:nowrap}
.rack-word{display:inline-block;background:var(--accent);color:var(--on-accent);padding:0 .1em .035em .025em}
.rack-intro .lead{max-width:30rem}
.rack-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 24px;margin:32px 0 20px}
.download-note{font-size:var(--fs-caption);color:var(--muted);line-height:1.65;margin-top:8px;max-width:30rem}
.rack-image{overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface)}
.rack-image a{display:block;cursor:zoom-in}.rack-image img{display:block;width:100%;height:auto}
.rack-specs{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:24px 0;margin:64px 0 88px;border-block:1px solid var(--line);font-size:var(--fs-small);color:var(--muted)}
.rack-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:36px}
.rack-section-heading h2,.rack-faq h2{font-size:var(--fs-h2);letter-spacing:var(--tracking-heading)}
.rack-section-heading p{margin-top:12px;color:var(--muted)}.rack-section-heading>a{font-size:var(--fs-small);white-space:nowrap}
.factory-covers{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.factory-covers img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line)}.factory-covers h3{font-size:var(--fs-small);margin-top:14px}
.rack-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;padding:80px 0;margin:80px 0;border-block:1px solid var(--line)}
.rack-workflow .eyebrow{color:var(--muted);font-size:var(--fs-caption)}.rack-workflow h2{font-size:var(--fs-h3);margin:16px 0}.rack-workflow p:not(.eyebrow){color:var(--muted);line-height:1.7}.rack-workflow a{display:inline-block;margin-top:16px;font-size:var(--fs-small)}
.rack-faq{display:grid;grid-template-columns:.7fr 1fr;column-gap:64px;align-items:start}.rack-faq h2{grid-row:span 5}.rack-faq details{border-bottom:1px solid var(--line);padding:22px 0}.rack-faq details:first-of-type{padding-top:0}
.rack-faq summary{display:flex;justify-content:space-between;gap:24px;font-weight:500;cursor:pointer;list-style:none}.rack-faq summary::-webkit-details-marker{display:none}.rack-faq summary::after{content:'+';color:var(--muted)}.rack-faq details[open] summary::after{content:'−'}.rack-faq details p{color:var(--muted);margin-top:16px;line-height:1.7}
.rack-footer{border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-small)}.rack-footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-block:32px}.rack-footer nav{display:flex;gap:24px}.rack-footer a{text-decoration:none}
@media(max-width:1023px){.rack-hero{gap:36px;grid-template-columns:1fr 1fr}.rack-actions .btn{padding-inline:20px;font-size:14px}.rack-workflow{gap:28px}}
@media(max-width:767px){.rack-page{padding-top:40px;padding-bottom:64px}.rack-hero{grid-template-columns:1fr;gap:40px}.rack-specs{display:grid;grid-template-columns:1fr 1fr;margin:40px 0 64px}.rack-section-heading{flex-wrap:wrap;gap:16px}.factory-covers{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px}.rack-workflow{grid-template-columns:1fr;gap:36px;margin:64px 0;padding:64px 0}.rack-faq{display:block}.rack-faq h2{margin-bottom:32px}.rack-topbar .container{flex-wrap:wrap;padding-block:18px;gap:18px}.rack-topbar nav{gap:22px}}
@media(max-width:480px){.rack-topbar nav{width:100%;justify-content:space-between}}
