/* THM Huade v2 - HOME. Variables from shared/tokens.css only. All classes prefixed .home- */
.home-root{color:var(--ink);font-family:var(--font-body);overflow-x:clip}
.home-root *{box-sizing:border-box}
.home-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.home-glass{background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--sh-2);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.home-btn{display:inline-flex;align-items:center;gap:var(--s2);min-height:48px;padding:0 var(--s5);border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink);font:600 var(--fs-md) var(--font-head);text-decoration:none;box-shadow:var(--sh-glow);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.home-btn:hover{transform:translateY(-3px) scale(1.02)}
.home-arw{flex:none;transition:transform var(--dur) var(--ease)}
a:hover>.home-arw,.home-btn:hover .home-arw{transform:translateX(4px)}

.home-hero{position:relative;background:var(--grad-hero);color:var(--accent-ink);isolation:isolate}
.home-hero-bg{position:absolute;inset:0;z-index:-3}
.home-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.09;mix-blend-mode:luminosity;transform:scale(1.08);filter:blur(2px)}
.home-grid-floor{position:absolute;left:-20%;right:-20%;bottom:-2%;height:55%;z-index:-2;background:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px) 0 0/100% 48px,linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px) 0 0/64px 100%;transform:perspective(500px) rotateX(62deg);transform-origin:50% 100%;-webkit-mask:linear-gradient(transparent,black 70%);mask:linear-gradient(transparent,black 70%);opacity:.8}
.home-hero-in{order:-1;position:relative;z-index:2;padding-top:var(--s6);pointer-events:none}
.home-hero-copy{position:relative;max-width:620px;pointer-events:auto;will-change:transform,opacity}
.home-h1{font:700 var(--fs-hero)/1.04 var(--font-head);letter-spacing:-.02em;margin:0 0 var(--s4);text-shadow:0 6px 30px rgba(0,0,0,.35)}
.home-grad{background:linear-gradient(100deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.home-lead{font-size:var(--fs-md);line-height:1.65;color:rgba(255,255,255,.82);margin:0 0 var(--s5);max-width:56ch}
.home-acts{display:flex;flex-wrap:wrap;gap:var(--s3)}
.home-xp-pin{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;min-height:calc(100svh - 64px);padding-bottom:calc(var(--s8) + var(--s4))}
/* 3D pump hero stage */
/* stage: mobile = below the copy; wide = full hero area behind the copy, pump on the right */
.home-stage{position:relative;height:460px;flex:none;z-index:1}
.home-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1s var(--ease);touch-action:pan-y}
.is-ready .home-canvas{opacity:1}
.pump-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.pump-lines line{stroke:rgba(255,255,255,.45);stroke-width:1}
.pump-labels{position:absolute;inset:0;list-style:none;margin:0;padding:0;pointer-events:none}
.pump-label{position:absolute;left:0;top:0;opacity:0;white-space:nowrap;font:600 var(--fs-sm) var(--font-head);padding:6px 12px;border-radius:999px;background:rgba(11,21,48,.6);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.pump-note{position:absolute;right:var(--gutter);bottom:var(--s3);margin:0;font-size:var(--fs-xs);color:rgba(255,255,255,.55)}
.pump-chips{list-style:none;margin:var(--s3) 0 0;padding:0 var(--gutter);display:flex;flex-wrap:wrap;gap:var(--s2);position:relative;z-index:3}
.pump-chips li{font:600 var(--fs-xs) var(--font-head);padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}
.pump-stills{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);gap:var(--s3);padding:var(--s3)}
.pump-stills[hidden]{display:none}
.pump-stills figure{margin:0;display:flex;flex-direction:column;min-height:0}
.pump-stills img{width:100%;flex:1;min-height:0;object-fit:contain}
.pump-stills figcaption{text-align:center;font:600 var(--fs-sm) var(--font-head);color:rgba(255,255,255,.8)}
.is-reduced .home-canvas,.is-reduced .pump-note{display:none}
.is-nogl::after{content:"3D preview unavailable on this device";position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.7)}
@media (max-width:700px){.pump-stills{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.home-stage.is-reduced{height:620px}}
@media (min-width:900px){
  .home-hero-in{pointer-events:none}.home-hero-copy{pointer-events:auto;max-width:520px}
  .home-stage{position:absolute;left:42%;right:0;top:0;bottom:0;height:auto}
  .pump-chips{display:none}
  .home-hero-in{padding-top:var(--s7)}
}
@media (max-width:899px){.has-float .pump-label{display:none}.pump-lines{display:none}}



/* quick categories overlap the hero: layered depth */
.home-sec{padding:var(--s8) 0 0}
.home-qc-sec{padding:0;margin-top:calc(-1 * var(--s8));position:relative;z-index:3;perspective:var(--persp)}
.home-qc{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}
.home-qc>a:last-child:nth-child(odd){grid-column:1/-1}
.home-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);min-height:132px;padding:var(--s5);border-radius:var(--r-lg);color:var(--ink);text-decoration:none;position:relative;transform-style:preserve-3d;will-change:transform;transition:box-shadow var(--dur) var(--ease)}
.home-qc .home-card{background:var(--surface)}
.home-card:hover{box-shadow:var(--sh-3)}
.home-qc-ico{display:grid;place-items:center;width:64px;height:64px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink);box-shadow:var(--sh-glow);transform:translateZ(40px)}
.home-card b{font:600 var(--fs-lg) var(--font-head);transform:translateZ(24px)}
.home-card .home-arw{position:absolute;right:var(--s4);top:var(--s4);color:var(--accent)}

.home-sec-h{display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s5)}
.home-band{font:600 var(--fs-xs) var(--font-head);letter-spacing:.14em;color:var(--accent)}
.home-h2{font:700 var(--fs-2xl)/1.1 var(--font-head);letter-spacing:-.01em;margin:0}
.home-h2::after{content:"";display:block;width:56px;height:4px;border-radius:4px;margin-top:var(--s3);background:linear-gradient(90deg,var(--accent),var(--accent-2))}

/* product rails */
.home-rail{display:flex;gap:var(--s4);overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--s3) var(--gutter) var(--s5);margin:0 calc(-1 * var(--gutter));perspective:var(--persp);scrollbar-width:thin}
.home-pc{flex:0 0 74%;scroll-snap-align:start;display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;color:var(--ink);text-decoration:none;transform-style:preserve-3d;will-change:transform;transition:box-shadow var(--dur) var(--ease)}
.home-pc:hover{box-shadow:var(--sh-3)}
.home-pc-i{display:grid;place-items:center;aspect-ratio:1;background:var(--grad-metal);padding:var(--s4)}
.home-pc-i img{width:100%;height:100%;object-fit:contain;transform:translateZ(50px);filter:drop-shadow(0 18px 18px rgba(11,21,48,.28));transition:transform var(--dur) var(--ease)}
.home-pc:hover .home-pc-i img{transform:translateZ(50px) scale(1.06)}
.home-pc-n{padding:var(--s4);font:600 var(--fs-md)/1.35 var(--font-head);min-height:5.2em;transform:translateZ(20px)}

/* brands */
.home-brands{border-radius:var(--r-xl);padding:var(--s5) 0;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);mask:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}
.home-marq{display:flex;width:max-content;gap:var(--s7);padding:0 var(--s6);animation:home-marq 28s linear infinite}
.home-brands:hover .home-marq{animation-play-state:paused}
.home-marq a{display:grid;place-items:center;min-height:56px;min-width:44px;flex:none;border-radius:var(--r-sm);transition:transform var(--dur) var(--ease)}
.home-marq a:hover{transform:translateY(-4px) scale(1.06)}
.home-marq img{display:block;height:52px;width:auto;mix-blend-mode:multiply}
@keyframes home-marq{to{transform:translateX(-50%)}}

/* power systems: dark layered band */
.home-power{position:relative;margin-top:var(--s8);padding:var(--s8) 0;background:var(--grad-hero);color:var(--accent-ink);overflow:hidden;isolation:isolate}
.home-power-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(500px 300px at 15% 20%,rgba(255,106,26,.22),transparent 70%),radial-gradient(600px 400px at 90% 90%,rgba(255,255,255,.07),transparent 70%)}
.home-power-g{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3);perspective:var(--persp)}
.home-pw{position:relative;display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;color:var(--accent-ink);text-decoration:none;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);transform-style:preserve-3d;will-change:transform}
.home-pw-i{display:block;aspect-ratio:4/3;overflow:hidden}
.home-pw-i img{width:112%;height:112%;margin:-6%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.home-pw:hover .home-pw-i img{transform:scale(1.08)}
.home-pw-t{padding:var(--s4);font:600 var(--fs-md) var(--font-head);transform:translateZ(24px)}

/* FAQ */
.home-faq-w{max-width:900px}
.home-faq{display:grid;gap:var(--s3)}
.home-qa{border-radius:var(--r-md);overflow:hidden;transition:box-shadow var(--dur) var(--ease)}
.home-qa[open]{box-shadow:var(--sh-3)}
.home-qa summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);min-height:56px;padding:var(--s3) var(--s5);cursor:pointer;list-style:none;font:600 var(--fs-md)/1.4 var(--font-head)}
.home-qa summary::-webkit-details-marker{display:none}
.home-qa summary i{flex:none;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));position:relative;transition:transform var(--dur) var(--ease)}
.home-qa summary i::before,.home-qa summary i::after{content:"";position:absolute;left:8px;right:8px;top:13px;height:2px;background:var(--accent-ink);border-radius:2px}
.home-qa summary i::after{transform:rotate(90deg);transition:transform var(--dur) var(--ease)}
.home-qa[open] summary i::after{transform:rotate(0)}
.home-qa-a{padding:0 var(--s5) var(--s5);color:var(--ink-2);line-height:1.7}
.home-qa-a p{margin:0}
.home-qa-a a{color:var(--accent);font-weight:600}

/* bauma gallery */
.home-bauma{columns:2;column-gap:var(--s3);perspective:var(--persp)}
.home-bz{display:block;break-inside:avoid;margin-bottom:var(--s3);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-2);transform-style:preserve-3d;will-change:transform;background:var(--bg-2)}
.home-bz img{display:block;width:100%;height:auto}

/* exhibitions */
.home-ex{padding-bottom:var(--s8)}
.home-ex-g{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3);perspective:var(--persp)}
.home-exf{margin:0;border-radius:var(--r-lg);overflow:hidden;transform-style:preserve-3d;will-change:transform}
.home-exf img{display:block;width:100%;height:auto}
.home-exf figcaption{padding:var(--s3) var(--s4);font:600 var(--fs-sm) var(--font-head);transform:translateZ(20px)}

/* lightbox */
.home-lb{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(7,13,31,.88);padding:var(--s4);cursor:zoom-out}
.home-lb img{max-width:100%;max-height:100%;border-radius:var(--r-md);box-shadow:var(--sh-3)}

/* reveal */
.home-js [data-home-reveal]{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.home-js [data-home-reveal].is-in{opacity:1;transform:none}

@media(min-width:700px){
  .home-qc{grid-template-columns:repeat(3,1fr)}
  .home-qc>a:last-child:nth-child(odd){grid-column:auto}
  .home-pc{flex-basis:calc(50% - var(--s4))}
  .home-power-g{grid-template-columns:repeat(2,1fr)}
  .home-bauma{columns:3}
  .home-ex-g{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .home-qc{grid-template-columns:repeat(5,1fr)}
  .home-rail{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible;margin:0;padding:var(--s3) 0}
  .home-pc{flex:initial}
  .home-power-g{grid-template-columns:repeat(4,1fr)}
  .home-bauma{columns:4}
  .home-ex-g{grid-template-columns:repeat(4,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .home-marq a[aria-hidden]{display:none}
  .home-marq{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
  .home-js [data-home-reveal]{opacity:1;transform:none;transition:none}
  .home-card,.home-pc,.home-pw,.home-bz,.home-exf{transform:none!important}
}
