/* Homepage welcome lobby only. Existing catalogue, forms, cart and Halloween controllers stay unchanged. */
html:root body #hw-welcome{position:relative!important;isolation:isolate;display:block!important;width:100%!important;max-width:none!important;height:calc(100svh - 75px);min-height:650px;margin:0!important;padding:0!important;overflow:hidden;border:0!important;border-radius:0!important;background:#0b0615!important;box-shadow:none!important}
html:root body #hw-welcome .hw-welcome-art{position:absolute!important;inset:0!important;z-index:-3!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:68% center!important;filter:none!important;opacity:1!important;transform:none!important;border:0!important;border-radius:0!important;pointer-events:none}
html:root body #hw-welcome:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0b0615ef 0%,#0b0615d9 22%,#0b06156b 49%,transparent 76%),linear-gradient(0deg,#0b0615ec 0%,transparent 27%,#1008190a);pointer-events:none}
html:root body #hw-welcome:after{content:'';position:absolute;z-index:-1;inset:34% -12% -7%;background:radial-gradient(ellipse at 36% 82%,#bc91d518,transparent 47%),radial-gradient(ellipse at 80% 95%,#e0c6ea1b,transparent 55%);opacity:.5;animation:hw-welcome-mist 17s ease-in-out infinite alternate;pointer-events:none}
html:root body #hw-welcome .hw-welcome-inner{width:min(1180px,calc(100% - 64px));height:100%;min-height:650px;margin:0 auto;display:flex;align-items:center;padding:48px 0 110px;position:relative}
html:root body #hw-welcome .hw-welcome-copy{width:min(620px,55%);position:relative;z-index:2;text-align:left}
html:root body #hw-welcome .hw-welcome-eyebrow{display:flex;gap:12px;align-items:center;margin:0 0 22px!important;color:#f1d19c!important;-webkit-text-fill-color:#f1d19c!important;font-size:12px!important;line-height:1.6!important;letter-spacing:.08em;font-weight:500}
html:root body #hw-welcome .hw-welcome-eyebrow:before{content:'';width:27px;height:1px;background:#e3bd7c;flex:0 0 auto}
html:root body #hw-welcome #hw-welcome-title{font-family:inherit!important;font-size:clamp(48px,5.3vw,76px)!important;font-weight:600!important;line-height:1.22!important;letter-spacing:-.035em!important;margin:0 0 25px!important;padding:0!important;color:#fff5e4!important;-webkit-text-fill-color:#fff5e4!important;text-shadow:0 5px 30px #07020ecc!important;text-align:left!important;max-width:none!important;border:0!important;background:none!important}
html:root body #hw-welcome #hw-welcome-title:after,html:root body #hw-welcome #hw-welcome-title:before{display:none!important}
html:root body #hw-welcome #hw-welcome-title span{font-size:clamp(37px,4.35vw,64px)!important;line-height:1.35!important;color:#ffd18a!important;-webkit-text-fill-color:#ffd18a!important;font-weight:600!important;background:none!important}
html:root body #hw-welcome .hw-welcome-description{max-width:445px;margin:0 0 30px!important;font-size:15px!important;line-height:1.95!important;color:#e0d4e3!important;-webkit-text-fill-color:#e0d4e3!important;font-weight:400!important;text-shadow:0 2px 12px #080411a6}
html:root body #hw-welcome .hw-welcome-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0!important}
html:root body #hw-welcome a.hw-welcome-action{display:inline-flex!important;align-items:center;justify-content:center;gap:18px;min-height:49px;padding:13px 25px!important;border:1px solid #e1b97880!important;border-radius:8px!important;box-shadow:none!important;font-family:inherit!important;font-size:13px!important;font-weight:600!important;line-height:1.4!important;text-decoration:none!important;transition:background .2s,transform .2s}
html:root body #hw-welcome a.hw-welcome-primary,html:root body #hw-welcome a.hw-welcome-primary span{color:#29142b!important;-webkit-text-fill-color:#29142b!important;background:linear-gradient(115deg,#ffe0a4,#f3b968)!important;border-color:#ffe5ae!important;box-shadow:0 8px 30px #f7a13424!important}
html:root body #hw-welcome a.hw-welcome-primary span{background:none!important;box-shadow:none!important}
html:root body #hw-welcome a.hw-welcome-secondary{color:#fff1db!important;-webkit-text-fill-color:#fff1db!important;background:#1d102c6e!important;backdrop-filter:blur(7px)}
html:root body #hw-welcome a.hw-welcome-action:hover{transform:translateY(-2px);filter:brightness(1.06)}
html:root body #hw-welcome .hw-welcome-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:30px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;position:static!important;min-height:0!important}
html:root body #hw-welcome .hw-welcome-tags a{display:inline-block!important;font-size:10px!important;font-weight:400!important;line-height:1.6!important;padding:5px 12px!important;border:1px solid #e7c48e44!important;border-radius:30px!important;background:#20142b66!important;color:#e4d4de!important;-webkit-text-fill-color:#e4d4de!important;box-shadow:none!important}
html:root body #hw-welcome .hw-welcome-caption{position:absolute;right:38px;bottom:56px;max-width:320px;margin:0!important;text-align:right;pointer-events:none}
html:root body #hw-welcome .hw-welcome-caption span{display:block;color:#ffe1a7!important;-webkit-text-fill-color:#ffe1a7!important;font-size:13px!important;font-weight:400!important;text-shadow:0 2px 12px #030106}
html:root body #hw-welcome .hw-welcome-caption small{display:block;font-size:9px!important;color:#cab6c9!important;-webkit-text-fill-color:#cab6c9!important;margin-top:4px}
html:root body #hw-welcome .hw-welcome-scroll{position:absolute;left:50%;bottom:23px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:12px;padding:7px 14px;min-height:40px;border:1px solid #d4ac7638;border-radius:30px;background:#170c24a1;backdrop-filter:blur(8px);color:#ecd0a1!important;-webkit-text-fill-color:#ecd0a1!important;font-size:10px!important;line-height:1.4;text-decoration:none!important;white-space:nowrap}
html:root body #hw-welcome .hw-welcome-scroll b{color:#ecd0a1!important;-webkit-text-fill-color:#ecd0a1!important;font-size:17px!important;font-weight:400}
html:root body #hw-welcome a:focus-visible{outline:3px solid #ffe0a0!important;outline-offset:5px!important}
html:root.hw-motion-off body #hw-welcome:after{display:none!important;animation:none!important}
html:root.hw-motion-off body #hw-welcome a.hw-welcome-action:hover{transform:none!important}
@keyframes hw-welcome-mist{from{transform:translate3d(-3%,1%,0);opacity:.3}to{transform:translate3d(4%,-2%,0);opacity:.8}}
@media(max-width:1100px) and (min-width:761px){html:root body #hw-welcome .hw-welcome-copy{width:60%}html:root body #hw-welcome #hw-welcome-title{font-size:60px!important}html:root body #hw-welcome #hw-welcome-title span{font-size:49px!important}}
@media(max-width:760px){html:root body #hw-welcome{height:auto;min-height:830px}html:root body #hw-welcome .hw-welcome-inner{width:calc(100% - 36px);height:auto;min-height:830px;align-items:flex-start;padding:57px 0 365px}html:root body #hw-welcome .hw-welcome-copy{width:100%;max-width:560px}html:root body #hw-welcome .hw-welcome-art{height:75%!important;top:auto!important;bottom:0!important;object-position:86% bottom!important}html:root body #hw-welcome:before{background:linear-gradient(180deg,#0b0615fc 0%,#0b0615e6 28%,#0b06159c 48%,#0b061500 73%,#0b0615e6 100%)}html:root body #hw-welcome:after{inset:50% -12% 0}html:root body #hw-welcome .hw-welcome-eyebrow{font-size:10px!important;letter-spacing:.035em;margin-bottom:18px!important}html:root body #hw-welcome #hw-welcome-title{font-size:clamp(41px,11vw,60px)!important;margin-bottom:20px!important;line-height:1.2!important}html:root body #hw-welcome #hw-welcome-title span{font-size:clamp(31px,8.3vw,44px)!important}html:root body #hw-welcome .hw-welcome-description{font-size:13px!important;line-height:1.9!important;max-width:440px;margin-bottom:25px!important}html:root body #hw-welcome a.hw-welcome-action{font-size:11px!important;padding:12px 17px!important;min-height:46px;gap:11px}html:root body #hw-welcome .hw-welcome-actions{gap:10px}html:root body #hw-welcome .hw-welcome-tags{margin-top:24px!important;gap:6px}html:root body #hw-welcome .hw-welcome-tags a{font-size:9px!important;padding:4px 10px!important}html:root body #hw-welcome .hw-welcome-caption{right:18px;bottom:91px;max-width:270px}html:root body #hw-welcome .hw-welcome-caption span{font-size:11px!important}html:root body #hw-welcome .hw-welcome-caption small{font-size:8px!important}html:root body #hw-welcome .hw-welcome-scroll{bottom:25px;font-size:9px!important;padding:7px 12px;max-width:calc(100% - 100px)}html:root body #hw-welcome .hw-welcome-scroll b{font-size:15px!important}}
@media(prefers-reduced-motion:reduce),(prefers-reduced-data:reduce){html:root body #hw-welcome:after{display:none!important;animation:none!important}html:root body #hw-welcome a.hw-welcome-action{transition:none!important}html:root body #hw-welcome a.hw-welcome-action:hover{transform:none!important}}

/* Balanced welcome composition; reserves space for fixed contact actions. */
html:root body #hw-welcome{height:clamp(560px,calc(100svh - 75px),900px);min-height:560px}
html:root body #hw-welcome .hw-welcome-inner{min-height:560px;padding:40px 0 116px}
html:root body #hw-welcome .hw-welcome-copy{width:min(550px,55%)}
html:root body #hw-welcome .hw-welcome-eyebrow{margin-bottom:18px!important;font-size:11px!important;letter-spacing:.06em}
html:root body #hw-welcome #hw-welcome-title{font-size:clamp(50px,5.2vw,66px)!important;line-height:1.2!important;margin-bottom:19px!important;letter-spacing:-.03em!important}
html:root body #hw-welcome #hw-welcome-title span{font-size:clamp(40px,4.2vw,54px)!important;line-height:1.3!important}
html:root body #hw-welcome .hw-welcome-description{max-width:440px;font-size:14px!important;line-height:1.9!important;margin-bottom:25px!important}
html:root body #hw-welcome .hw-welcome-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:min(360px,100%);gap:12px}
html:root body #hw-welcome a.hw-welcome-action{width:100%;min-width:0;min-height:50px;padding:13px 17px!important;gap:12px}
html:root body #hw-welcome .hw-welcome-tags{margin-top:21px!important;gap:8px}
html:root body #hw-welcome .hw-welcome-caption{left:max(32px,calc((100% - 1180px)/2));right:auto;bottom:30px;max-width:340px;text-align:left}
html:root body #hw-welcome .hw-welcome-caption span{font-size:11px!important;line-height:1.6}
html:root body #hw-welcome .hw-welcome-caption small{font-size:8px!important;line-height:1.6;margin-top:3px}
html:root body #hw-welcome .hw-welcome-scroll{bottom:25px;min-height:40px}
@media(min-width:761px) and (max-width:1000px){html:root body #hw-welcome .hw-welcome-caption{bottom:88px;max-width:320px}html:root body #hw-welcome .hw-welcome-inner{padding-bottom:160px}}
@media(max-width:760px){html:root body #hw-welcome{height:auto;min-height:790px}html:root body #hw-welcome .hw-welcome-inner{width:calc(100% - 40px);height:auto;min-height:790px;padding:48px 0 338px}html:root body #hw-welcome .hw-welcome-copy{width:100%;max-width:540px}html:root body #hw-welcome .hw-welcome-eyebrow{font-size:9.5px!important;margin-bottom:16px!important}html:root body #hw-welcome #hw-welcome-title{font-size:clamp(39px,10.5vw,52px)!important;margin-bottom:18px!important}html:root body #hw-welcome #hw-welcome-title span{font-size:clamp(30px,8.3vw,42px)!important}html:root body #hw-welcome .hw-welcome-description{font-size:13px!important;line-height:1.85!important;margin-bottom:23px!important;max-width:430px}html:root body #hw-welcome .hw-welcome-actions{width:min(352px,100%);gap:10px}html:root body #hw-welcome a.hw-welcome-action{min-height:46px;font-size:11px!important;padding:12px!important;gap:8px}html:root body #hw-welcome .hw-welcome-tags{margin-top:19px!important;gap:6px}html:root body #hw-welcome .hw-welcome-caption{left:20px;right:78px;bottom:128px;max-width:300px;text-align:left}html:root body #hw-welcome .hw-welcome-caption span{font-size:10px!important}html:root body #hw-welcome .hw-welcome-caption small{font-size:8px!important}html:root body #hw-welcome .hw-welcome-scroll{bottom:66px;max-width:calc(100% - 56px)}}

/* Keep the welcome caption clear of the fixed lower-left effects button. */
@media(min-width:761px){html:root body #hw-welcome .hw-welcome-caption{bottom:88px}}

/* A compact, accessible mobile scroll cue leaves room for both fixed corner controls. */
@media(max-width:760px){html:root body #hw-welcome .hw-welcome-scroll{width:44px;max-width:44px;min-height:44px;padding:0;gap:0;border-radius:50%}html:root body #hw-welcome .hw-welcome-scroll>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}html:root body #hw-welcome .hw-welcome-scroll>b{font-size:19px!important;line-height:1}}
