/* DESKLAB hero: photographic, cinematic, layered */
.dl-home-hero:before,.dl-home-hero:after{display:none!important}
.dl-home-hero .dlm-art{display:none}
.dl-home-hero.dlh{--hh:clamp(640px,calc(100vh - 44px),940px);--hh:clamp(640px,calc(100svh - 44px),940px);--rwv:100vw;--fx:var(--dfx,.5);--fy:var(--dfy,.5);height:var(--hh);min-height:0;box-sizing:border-box;display:flex;align-items:center;overflow:hidden;background:radial-gradient(900px 600px at 78% 45%,#0f5a26 0%,#0000 60%),#050f08}
@media(min-width:701px){.dl-home-hero.dlh:not(.is-full){--rwv:54vw}}
.dlh-region{position:absolute;top:0;right:0;bottom:0;width:var(--rwv);overflow:hidden;z-index:0}
.dl-home-hero.dlh:not(.is-full) .dlh-region:not(.dlh-spots){-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 34%);mask-image:linear-gradient(90deg,#0000 0,#000 34%)}
.dlh-stage{position:absolute;width:max(var(--rwv),calc(var(--hh) * var(--ar,.667)));height:max(var(--hh),calc(var(--rwv) / var(--ar,.667)));left:calc((var(--rwv) - max(var(--rwv),calc(var(--hh) * var(--ar,.667)))) * var(--fx,.5));top:calc((var(--hh) - max(var(--hh),calc(var(--rwv) / var(--ar,.667)))) * var(--fy,.5));translate:calc(var(--pmx,0) * -10px) calc(var(--pmy,0) * -8px)}
.dlh-zoom{position:absolute;inset:0;transform-origin:50% 45%;transform:translate3d(0,calc(var(--dlm-py,0px) * .3),0) scale(calc(var(--dlm-hs,1.06) + .04))}
.dlh-img{display:block;width:100%;height:100%;object-fit:cover}
.dlh-tint{position:absolute;inset:0;z-index:1;pointer-events:none;background:#063616;mix-blend-mode:soft-light;opacity:.5}
.dlh-glow{position:absolute;z-index:1;right:-8%;top:-14%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#e3c58a55,#e3c58a00 62%);mix-blend-mode:screen;pointer-events:none}
.dlh-grade{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:var(--ov,.9);background:linear-gradient(0deg,#050f08 0%,#050f08cc 14%,#050f0800 46%),linear-gradient(90deg,#050f08 0%,#050f08d0 30%,#050f0840 62%,#050f0830 100%),radial-gradient(110% 90% at 72% 42%,#0000 45%,#02080488 100%)}
.dlh-particles{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.dlh-lines{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;translate:calc(var(--pmx,0) * 14px) calc(var(--pmy,0) * 10px);transform:translate3d(0,calc(var(--dlm-py,0px) * .6),0)}
.dlh-lines *{fill:none;stroke:#bda77e;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.38}
.dlh-sweep{position:absolute;inset:-10% -50%;z-index:3;pointer-events:none;opacity:0;background:linear-gradient(100deg,#0000 44%,#f1e3c133 50%,#0000 56%);mix-blend-mode:screen}
.dl-home-hero .dl-home-inner{z-index:4;text-shadow:0 2px 26px #0008}
.dl-home-hero h1{font-size:clamp(46px,6.2vw,104px)}
.dl-home-hero .dl-kicker{color:#d8c79f}
.dlh-spots{z-index:5;pointer-events:none}
.dlh-spot{position:absolute;display:grid;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;pointer-events:auto;text-shadow:none}
.dlh-dot{position:relative;width:14px;height:14px;border-radius:50%;background:#f3ecdd;box-shadow:0 0 0 4px #f3ecdd33,0 6px 18px #0009}
.dlh-tip{position:absolute;left:calc(100% + 4px);top:50%;display:flex;flex-direction:column;gap:3px;min-width:124px;padding:10px 14px;border:1px solid #bda77e55;border-radius:12px;background:#0b140dcc;color:#fff;opacity:0;pointer-events:none;translate:-6px -50%;transition:opacity .25s,translate .3s cubic-bezier(.2,.8,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.dlh-spot.flip .dlh-tip{left:auto;right:calc(100% + 4px);translate:6px -50%}
.dlh-spot:hover .dlh-tip,.dlh-spot:focus-visible .dlh-tip,.dlh-spot.is-open .dlh-tip,.is-placing .dlh-tip{opacity:1;translate:0 -50%}
.dlh-tip b{font-size:13px;font-weight:800;white-space:nowrap}
.dlh-tip small{color:#bda77e;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.dlh-spot:focus-visible{outline:2px solid #bda77e;outline-offset:2px;border-radius:50%}
.is-placing .dlh-spot{cursor:grab;touch-action:none}
.dlh-panel{position:fixed;left:14px;bottom:14px;z-index:200;max-width:260px;padding:14px 16px;border-radius:14px;background:#0b140df2;color:#fff;font:600 12px/1.6 system-ui,sans-serif}
.dlh-panel b{display:block;margin-bottom:6px;color:#bda77e}
.dlh-panel small{display:block;margin-top:8px;color:#ffffffa8;font-weight:500}
.dl-home-hero .dlh-cta{position:relative;display:inline-flex;align-items:center;gap:16px;padding:7px 7px 7px 26px;overflow:hidden;border-radius:999px;background:#f1eadb;color:#0e110c!important;font-size:15px;font-weight:800;letter-spacing:.02em;text-shadow:none;box-shadow:0 14px 34px #0006,inset 0 1px 0 #fff;transition:box-shadow .3s}
.dlh-cta i{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#063616;color:#f1eadb;font-size:18px;font-style:normal;transition:transform .5s cubic-bezier(.2,.8,.2,1),background .3s}
.dlh-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#0000 35%,#ffffffb0 50%,#0000 65%);transform:translateX(-120%);transition:transform .8s}
.dlh-cta:hover{box-shadow:0 18px 44px #0008,0 0 0 1px #bda77e88}
.dlh-cta:hover:before{transform:translateX(120%)}
.dlh-cta:hover i{background:#0f5a26;transform:rotate(45deg) scale(1.06)}
.dlh-bar{display:none}
.dlm-js:not(.dlm-seen) .dlh-bar{display:block;position:absolute;left:0;right:0;z-index:7;height:18%;background:#000;pointer-events:none}
.dlh-bar.t{top:0;animation:dlh-bt 1.5s cubic-bezier(.7,0,.2,1) .35s forwards}
.dlh-bar.b{bottom:0;animation:dlh-bb 1.5s cubic-bezier(.7,0,.2,1) .35s forwards}
@keyframes dlh-bt{to{transform:translateY(-100%)}}
@keyframes dlh-bb{to{transform:translateY(100%)}}
@keyframes dlh-in{from{opacity:0;filter:brightness(.3) blur(12px);scale:1.22}to{opacity:1;filter:brightness(1) blur(0);scale:1}}
@keyframes dlh-draw{to{stroke-dashoffset:0}}
@keyframes dlh-rot{to{transform:rotate(360deg)}}
@keyframes dlh-pulse{to{transform:scale(1.12);opacity:.16}}
@keyframes dlh-ping{0%{transform:scale(.6);opacity:.9}80%,100%{transform:scale(2.6);opacity:0}}
@keyframes dlh-pop{from{opacity:0;scale:.4}to{opacity:1;scale:1}}
@keyframes dlh-sweep{0%{opacity:0;transform:translateX(-40%)}12%{opacity:1}45%{opacity:1;transform:translateX(40%)}55%,100%{opacity:0;transform:translateX(40%)}}
@keyframes dlh-sway{from{translate:-8px 0}to{translate:8px -6px}}
.dlm-js .dlh-img{animation:dlh-in 2.6s cubic-bezier(.2,.7,.2,1) both}
.dlm-js.dlm-seen .dlh-img{animation-duration:1.1s}
.dlm-js .dlh-lines .dr{stroke-dasharray:1600;stroke-dashoffset:1600;animation:dlh-draw 3.6s cubic-bezier(.3,.6,.2,1) 1.4s forwards}
.dlm-js .dlh-lines .sq{transform-box:fill-box;transform-origin:center;animation:dlh-rot 60s linear infinite}
.dlm-js .dlh-lines .ci{transform-box:fill-box;transform-origin:center;animation:dlh-pulse 7s ease-in-out infinite alternate}
.dlm-js .dlh-sweep{animation:dlh-sweep 12s ease-in-out 3.5s infinite}
.dlm-js .dlh-dot:before{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid #f3ecdd;animation:dlh-ping 2.8s cubic-bezier(.2,.6,.2,1) infinite}
.dlm-js .dlh-spot{animation:dlh-pop .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(2.4s + var(--i,0) * .22s)}
.dlm-js.dlm-seen .dlh-spot{animation-delay:calc(.5s + var(--i,0) * .15s)}
.dlm-js .dl-home-hero .dlm-word>span{animation-delay:calc(1s + var(--i,0) * .11s)}
.dlm-js.dlm-seen .dl-home-hero .dlm-word>span{animation-delay:calc(.2s + var(--i,0) * .09s)}
.dlm-js .dl-home-hero .dl-home-inner .dl-kicker{animation-delay:.7s}
.dlm-js .dl-home-hero .dl-home-inner p{animation-delay:1.7s}
.dlm-js .dl-home-hero .dl-home-inner .dl-cta{animation-delay:1.95s}
.dlm-js.dlm-seen .dl-home-hero .dl-home-inner .dl-kicker{animation-delay:.1s}
.dlm-js.dlm-seen .dl-home-hero .dl-home-inner p{animation-delay:.6s}
.dlm-js.dlm-seen .dl-home-hero .dl-home-inner .dl-cta{animation-delay:.8s}
@media(hover:none){.dlm-js .dlh-stage{animation:dlh-sway 16s ease-in-out infinite alternate}}
@media(max-width:700px){
.dl-home-hero.dlh{--hh:clamp(600px,calc(100vh - 44px),820px);--hh:clamp(600px,calc(100svh - 44px),820px);--fx:var(--mfx,.5);--fy:var(--mfy,.5);align-items:flex-end}
.dl-home-hero .dl-home-inner{padding-bottom:104px}
.dl-home-hero h1{font-size:clamp(46px,14vw,72px)}
.dlh-grade{background:linear-gradient(0deg,#050f08 0%,#050f08ee 26%,#050f08a0 48%,#050f0833 78%,#050f0866 100%),radial-gradient(120% 80% at 50% 30%,#0000 50%,#02080466 100%)}
.dl-home-hero .dlm-orb{display:none}
.dlh-lines{opacity:.7}
}