/* Restrained homepage typography and interaction. */
#home .categories{font-size:clamp(38px,3.7vw,63px)}
#home .categories a{font-weight:400}
#home .divider{position:relative;width:100px;margin:19px auto 17px;background:rgba(255,255,255,.32);overflow:hidden}
#home .divider::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#d91f1a 35%,#ee7065 65%,transparent);transform:translateX(-110%);transition:transform 1.1s cubic-bezier(.2,.7,.3,1)}
#home .intro:hover .divider::after,#home .intro:focus-within .divider::after{transform:translateX(110%)}
#home .factory{font-weight:400;letter-spacing:.13em}
#home .factory .factory-dot{color:#9eb5c3;padding:0 .2em;transition:color .45s,text-shadow .45s}
#home .factory:hover .factory-dot,#home .factory:focus-visible .factory-dot{color:#cee2ec;text-shadow:0 0 8px rgba(158,181,195,.45)}
@media(max-width:600px){#home .categories{font-size:clamp(30px,7.7vw,41px)}#home .divider{width:70px;margin:16px auto 14px}#home .factory{font-size:18px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){#home .divider::after{transition:none;transform:none;opacity:.7}#home .factory .factory-dot{transition:none}}

#home .divider{width:var(--divider-span,280px);max-width:76vw;overflow:visible}
#home .divider::after{inset:-1px auto auto 0;width:34%;height:2px;opacity:.8;background:linear-gradient(90deg,transparent,#d91f1a 48%,transparent);transform:translateX(var(--glow-x,100%));transition:transform .55s cubic-bezier(.2,.7,.3,1),opacity .4s}
#home .intro:hover .divider::after,#home .intro:focus-within .divider::after{transform:translateX(var(--glow-x,100%));opacity:1}
#home .factory .factory-dot{transform:scale(1);transition:color .45s,text-shadow .45s,transform .45s}
#home .factory:hover .factory-dot,#home .factory:focus-visible .factory-dot{transform:scale(1.18);color:#d5e5ed}

#home .intro{top:calc(43% + 20px)}

#home .divider{overflow:hidden}
/* Five hover targets share a restrained directional light response. */
#home .divider{overflow:visible}
#home .divider::after,#home .intro:hover .divider::after,#home .intro:focus-within .divider::after{transform:translate(var(--glow-x,100%),var(--glow-y,0px));background:linear-gradient(90deg,transparent,#ef5146 35%,#f68a7e 50%,#ef5146 65%,transparent);opacity:.85;filter:drop-shadow(0 0 2px #d91f1a55)}
#home .intro.light-active .divider::after{opacity:1}
#home .factory .factory-dot,#home .factory:hover .factory-dot,#home .factory:focus-visible .factory-dot{transform:translate(var(--dot-x,0px),var(--dot-y,0px));color:#9eb5c3;transition:transform .55s cubic-bezier(.2,.7,.3,1),color .45s,text-shadow .45s}
#home .intro.light-active .factory-dot{color:#d5e7f1;text-shadow:0 0 7px #a9c8db88}
@media(prefers-reduced-motion:reduce){#home .divider::after,#home .factory .factory-dot{transform:none!important;transition:none}}

/* Keep the luminous core on the rule; only its soft halo has direction. */
#home .divider::after,#home .intro:hover .divider::after,#home .intro:focus-within .divider::after{top:0;height:1px;transform:translateX(var(--glow-x,100%));background:radial-gradient(ellipse at var(--peak,50%) 50%,#ffc0a8 0%,#ef493d 18%,rgba(217,31,26,.65) 45%,transparent 76%);filter:drop-shadow(0 var(--glow-y,0px) 3px rgba(239,73,61,.7));transition:transform .55s cubic-bezier(.16,.8,.2,1),filter .5s,opacity .4s}
#home .divider::after,#home .intro:hover .divider::after,#home .intro:focus-within .divider::after{height:2px;top:-.5px;background:linear-gradient(90deg,transparent 0%,#d91f1a 25%,#ff7966 43%,#fff0d6 50%,#ff7966 57%,#d91f1a 75%,transparent 100%);filter:drop-shadow(0 0 3px #ff6455) drop-shadow(0 var(--glow-y,0px) 4px #ef493d88);opacity:.9;transition:transform .65s cubic-bezier(.2,1.3,.35,1),filter .4s,opacity .35s}
#home .intro.light-active .divider::after{opacity:1;filter:drop-shadow(0 0 4px #ff6455) drop-shadow(0 var(--glow-y,0px) 5px #ef493d99)}

#home .divider::after,#home .intro:hover .divider::after,#home .intro:focus-within .divider::after{height:1px;top:0;background:linear-gradient(90deg,transparent 0%,rgba(217,31,26,.35) 23%,#f25b49 42%,#ffe2c5 50%,#f25b49 58%,rgba(217,31,26,.35) 77%,transparent 100%);filter:drop-shadow(0 0 1.5px #ff7966);transition:transform .65s cubic-bezier(.2,1.18,.35,1),filter .4s,opacity .35s}
#home .intro.light-active .divider::after{filter:drop-shadow(0 0 2px #ff7966) drop-shadow(0 var(--glow-y,0px) 2px #ef493d55)}

#home .factory>a{color:inherit;font:inherit;letter-spacing:inherit;text-decoration:none;display:inline-block}
#home .divider::after,#home .intro:hover .divider::after,#home .intro:focus-within .divider::after{background:linear-gradient(90deg,transparent 0%,#dc3025 28%,#ff8064 43%,#fffdf0 47%,#fffdf0 53%,#ff8064 57%,#dc3025 72%,transparent 100%);height:1.5px;top:-.25px;opacity:1;filter:drop-shadow(0 0 2px #ff8b6c)}
#home .intro.light-active .divider::after{filter:drop-shadow(0 0 2.5px #ff8b6c) drop-shadow(0 var(--glow-y,0px) 2px #ef493d66)}
#home .divider::after,#home .intro:hover .divider::after,#home .intro:focus-within .divider::after{transition:transform .72s cubic-bezier(.18,1.12,.32,1),filter .5s ease,opacity .4s ease}
/* Gaps between links must never dim the whole title group. */
#home .categories:hover a,#home .categories a:hover,#home .categories a:focus-visible{opacity:1}
#home .factory>a{transition:transform .4s ease,color .4s ease,text-shadow .4s ease}
#home .factory>a:hover,#home .factory>a:focus-visible{transform:translateY(-2px);color:#fff;text-shadow:0 1px 12px #ffffff22}
@media(prefers-reduced-motion:reduce){#home .factory>a:hover,#home .factory>a:focus-visible{transform:none}}
