/* Sogand Ornament layers */
.sg-orn-behind,.sg-orn-front{position:absolute!important;inset:0;width:auto!important;max-width:none!important;margin:0!important;pointer-events:none;--container-widget-width:auto}
.sg-orn-behind{z-index:-1}
.sg-orn-front{z-index:6}
.sg-orn-behind>.elementor-widget-container,.sg-orn-front>.elementor-widget-container{height:100%}
:is(.e-con,.e-con-inner,.elementor-widget-wrap):has(>.sg-orn-behind){isolation:isolate}
.e-con:has(>.e-con-inner>.sg-orn-behind){isolation:isolate}

@media (max-width:767px){.sg-orn-hm-yes{display:none!important}}
.sg-ornament{--_c1:var(--sg-orn-c1,var(--e-global-color-primary,#e3c88f));--_c2:var(--sg-orn-c2,var(--tone,#b3263f));--_c3:var(--sg-orn-c3,var(--sg-celadon));--_sp:max(var(--sg-orn-speed,1) * var(--sgk-speed,1),.0001);--_sz:var(--sg-orn-size,100%);position:relative;width:100%;height:100%;min-height:2px;overflow:hidden}
.sg-orn-inline .sg-ornament{height:260px}
.sg-ornament *{animation-delay:var(--sg-orn-delay,0s);animation-direction:var(--sg-orn-dir,normal)}
.sg-ornament>*{position:absolute}
/* centred square stage for rings/frames/letters */
.o-ring,.o-ringtext,.o-portal,.o-vault,.o-cons,.o-mono,.o-prism{left:var(--sg-orn-x,50%);top:var(--sg-orn-y,50%);width:min(var(--_sz),100%);aspect-ratio:1;translate:-50% -50%}
.o-ring{width:min(var(--sg-orn-size,78%),480px)}
@keyframes oSpin{to{rotate:360deg}}
/* ring + diamond */
.o-ring{border-radius:50%;border:var(--sg-orn-sw,1px) solid color-mix(in srgb,var(--_c1) 22%,transparent);box-shadow:inset 0 0 60px color-mix(in srgb,var(--_c1) 6%,transparent);animation:oSpin calc(40s / var(--_sp)) linear infinite}
.o-ring i{position:absolute;top:-4px;left:50%;width:7px;height:7px;background:var(--_c1);transform:translateX(-50%) rotate(45deg);box-shadow:0 0 14px var(--_c1)}
/* text ring */
.o-ringtext{animation:oSpin calc(40s / var(--_sp)) linear infinite;overflow:visible}
.o-ringtext text{fill:var(--_c1);font:500 13px var(--e-global-typography-text-font-family,"Sogand Sans"),sans-serif;letter-spacing:.42em;text-transform:uppercase}
/* portal */
.o-portal i{position:absolute;border-radius:50%;border:var(--sg-orn-sw,1px) solid color-mix(in srgb,var(--_c1) 45%,transparent)}
.o-portal .r1{inset:0;border-style:dashed;animation:oSpin calc(50s / var(--_sp)) linear infinite}
.o-portal .r2{inset:7%;border-color:color-mix(in srgb,var(--_c1) 25%,transparent);animation:oSpin calc(32s / var(--_sp)) linear infinite reverse}
.o-portal .r3{inset:14%;border:2px solid transparent;border-top-color:var(--_c1);border-right-color:color-mix(in srgb,var(--_c1) 40%,transparent);animation:oSpin calc(6s / var(--_sp)) linear infinite}
/* vault */
.o-vault{--oct:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}
.o-vault i{position:absolute;inset:0;clip-path:var(--oct);background:conic-gradient(from 0deg,var(--_c1),var(--sg-ox),#f6e7c1,var(--sg-ox2),var(--_c1));animation:oSpin calc(24s / var(--_sp)) linear infinite;opacity:.9}
.o-vault::after{content:"";position:absolute;inset:3px;clip-path:var(--oct);background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--_c2) 48%,var(--sg-bg)),#140a0c 72%)}
/* halo */
.o-halo{left:var(--sg-orn-x,50%);top:var(--sg-orn-y,50%);width:var(--_sz);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--_c2) 55%,transparent),transparent 72%);filter:blur(var(--sg-orn-blur,30px));opacity:.75;animation:oBreathe calc(7s / var(--_sp)) ease-in-out infinite}
@keyframes oBreathe{50%{scale:1.08;opacity:.95}}
/* orbs */
.o-orbs{inset:-30% -10%;filter:blur(var(--sg-orn-blur,60px))}
.o-orbs i{position:absolute;width:40vw;height:40vw;max-width:620px;max-height:620px;border-radius:50%;opacity:.55}
.o-orbs i:nth-child(1){left:5%;top:10%;background:radial-gradient(circle,var(--_c2),transparent 65%);animation:oOrb calc(18s / var(--_sp)) ease-in-out infinite}
.o-orbs i:nth-child(2){right:5%;top:30%;background:radial-gradient(circle,#c9a35c,transparent 65%);animation:oOrb calc(22s / var(--_sp)) ease-in-out infinite reverse}
.o-orbs i:nth-child(3){left:40%;bottom:0;background:radial-gradient(circle,var(--_c3),transparent 65%);animation:oOrb calc(26s / var(--_sp)) ease-in-out infinite}
@keyframes oOrb{50%{transform:translate(8%,-10%) scale(1.15)}}
/* aurora */
.o-aurora{inset:-10% -5%;filter:blur(var(--sg-orn-blur,46px));opacity:.75}
.o-aurora i{position:absolute;left:-25%;right:-25%;height:34%;top:16%;background:linear-gradient(90deg,transparent,var(--_c2),#c9a35c 45%,var(--_c3) 70%,transparent);mix-blend-mode:screen;opacity:.42;transform:skewY(-9deg);animation:oAur calc(14s / var(--_sp)) ease-in-out infinite alternate}
.o-aurora i:nth-child(2){top:40%;opacity:.32;animation-duration:calc(19s / var(--_sp));animation-direction:alternate-reverse}
.o-aurora i:nth-child(3){top:62%;opacity:.24;animation-duration:calc(25s / var(--_sp))}
@keyframes oAur{0%{transform:translateX(-14%) skewY(-9deg) scaleY(.8)}100%{transform:translateX(14%) skewY(7deg) scaleY(1.2)}}
/* prism */
.o-prism i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 8%,color-mix(in srgb,var(--_c1) 50%,transparent) 10%,transparent 13% 30%,rgba(179,38,63,.45) 33%,transparent 36% 55%,color-mix(in srgb,var(--sg-celadon) 45%,transparent) 58%,transparent 61% 78%,rgba(79,111,214,.4) 81%,transparent 84%);filter:blur(16px);mix-blend-mode:screen;animation:oSpin calc(26s / var(--_sp)) linear infinite;-webkit-mask-image:radial-gradient(circle,#000 35%,transparent 70%);mask-image:radial-gradient(circle,#000 35%,transparent 70%)}
.o-prism .b2{animation-direction:reverse;animation-duration:calc(40s / var(--_sp));opacity:.6;transform:scale(.8)}
/* velvet */
.o-velvet{inset:0;overflow:hidden}
.o-velvet .folds{position:absolute;inset:-5% -10%;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--sg-ox2) 0%,transparent) 0,color-mix(in srgb,var(--sg-ox2) 35%,transparent) 4%,rgba(20,8,10,.55) 8%,color-mix(in srgb,var(--sg-ox2) 0%,transparent) 12%);filter:blur(6px);animation:oFolds calc(16s / var(--_sp)) ease-in-out infinite alternate}
.o-velvet .cone{position:absolute;top:-10%;right:calc(100% - var(--sg-orn-x,88%) - 21%);width:42%;height:120%;background:linear-gradient(180deg,rgba(246,231,193,.28),rgba(246,231,193,.05) 70%,transparent);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);filter:blur(10px);animation:oCone calc(6s / var(--_sp)) ease-in-out infinite}
@keyframes oFolds{to{transform:translateX(4%) skewX(-2deg)}}
@keyframes oCone{50%{opacity:.7}}
@media (max-width:767px){.o-velvet .cone{right:0;width:100%}}
/* stage light */
.o-stagelight{top:-10%;left:calc(var(--sg-orn-x,50%) - var(--_sz) / 4);width:calc(var(--_sz) / 2);height:110%;background:linear-gradient(180deg,rgba(246,231,193,.24),transparent 80%);clip-path:polygon(35% 0,65% 0,100% 100%,0 100%);filter:blur(8px)}
/* particles */
.o-dust,.o-sand,.o-sparks{inset:0}
.o-dust i{position:absolute;left:var(--x);bottom:-10px;width:3px;height:3px;border-radius:50%;background:var(--_c1);box-shadow:0 0 8px var(--_c1);opacity:0;animation:oDust calc((6s + var(--k) * .37s) / var(--_sp)) linear infinite;animation-delay:calc(var(--k) * -.6s)}
@keyframes oDust{0%{opacity:0;transform:translateY(0)}20%{opacity:.9}100%{opacity:0;transform:translateY(-70vh)}}
.o-sand i{position:absolute;left:var(--x);top:0;width:2px;height:2px;border-radius:50%;background:var(--_c1);box-shadow:0 0 6px var(--_c1);opacity:0;animation:oSand calc((3.2s + var(--k) * .21s) / var(--_sp)) linear infinite;animation-delay:calc(var(--k) * -.4s)}
@keyframes oSand{0%{opacity:0;transform:translateY(0)}15%{opacity:.9}100%{opacity:0;transform:translateY(32vh)}}
.o-sparks i{position:absolute;left:var(--x);top:var(--y);width:calc(6px + var(--r) * 9px);aspect-ratio:1;background:var(--_c1);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:oTw calc((2.4s + var(--r) * 3s) / var(--_sp)) ease-in-out infinite;animation-delay:calc(var(--r) * -4s)}
@keyframes oTw{0%,100%{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
/* constellation */
.o-cons{overflow:visible}
.o-cons line{stroke:color-mix(in srgb,var(--_c1) 55%,transparent);stroke-width:calc(var(--sg-orn-sw,.8px));stroke-dasharray:1 1;stroke-dashoffset:1;animation:oDraw calc(1.6s / var(--_sp)) cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.3s + var(--k) * .16s)}
.o-cons circle{fill:var(--_c1);filter:drop-shadow(0 0 6px var(--_c1));opacity:0;animation:oTwk calc(3.4s / var(--_sp)) ease-in-out infinite;animation-delay:calc(var(--k) * .3s)}
@keyframes oDraw{to{stroke-dashoffset:0}}
@keyframes oTwk{0%,100%{opacity:.2}50%{opacity:1}}
/* frames */
.o-lines,.o-neon{left:50%;top:50%;width:min(var(--_sz),100%);height:min(var(--_sz),100%);translate:-50% -50%;overflow:visible}
.o-lines rect{fill:none;stroke:var(--_c1);stroke-width:var(--sg-orn-sw,1px);stroke-dasharray:1 1;stroke-dashoffset:1;animation:oDraw calc(2.6s / var(--_sp)) cubic-bezier(.16,1,.3,1) forwards .3s;vector-effect:non-scaling-stroke}
.o-lines rect+rect{animation-delay:.7s;opacity:.5}
.o-neon rect{fill:none;stroke-width:var(--sg-orn-sw,2px);vector-effect:non-scaling-stroke}
.o-neon .n0{stroke:color-mix(in srgb,var(--_c1) 18%,transparent)}
.o-neon .n1{stroke:#f6e7c1;filter:drop-shadow(0 0 6px var(--_c1)) drop-shadow(0 0 14px #c9a35c);stroke-dasharray:.22 .78;animation:oNeon calc(5s / var(--_sp)) linear infinite,oFlicker 6s steps(1) infinite}
@keyframes oNeon{to{stroke-dashoffset:-1}}
@keyframes oFlicker{0%,100%{opacity:1}42%{opacity:.55}43%{opacity:1}71%{opacity:.7}72%{opacity:1}}
.o-frame{left:50%;top:50%;width:min(var(--_sz),100%);height:min(var(--_sz),100%);translate:-50% -50%;overflow:visible!important}
.sg-ornament:has(.o-frame){overflow:visible}
.o-frame .a,.o-frame .b{position:absolute;border:var(--sg-orn-sw,1px) solid var(--_c1)}
.o-frame .a{inset:0;animation:oFrame 1.4s cubic-bezier(.16,1,.3,1) both .2s}
.o-frame .b{inset:14px;opacity:.45;animation:oFrame 1.4s cubic-bezier(.16,1,.3,1) both .5s}
.o-frame .gem{position:absolute;top:-6px;left:50%;width:12px;height:12px;background:var(--_c1);transform:translateX(-50%) rotate(45deg);box-shadow:0 0 14px var(--_c1)}
@keyframes oFrame{from{clip-path:inset(50% 50% 50% 50%)}to{clip-path:inset(0)}}
.o-wire{left:50%;top:var(--sg-orn-y,0%);width:min(var(--sg-orn-size,62%),100%);translate:-50% 0;height:auto;fill:none;stroke:color-mix(in srgb,var(--_c1) 70%,transparent);stroke-width:1.2;overflow:visible}
.o-wire circle{fill:var(--_c1);stroke:none}
.sg-ornament:has(.o-wire){overflow:visible}
/* monogram */
.o-mono text{font:200 360px/1 var(--e-global-typography-primary-font-family,"Sogand Sans"),serif;fill:transparent;stroke:color-mix(in srgb,var(--_c1) 55%,transparent);stroke-width:1.2;stroke-dasharray:1400;stroke-dashoffset:1400;animation:oMono calc(3.2s / var(--_sp)) cubic-bezier(.16,1,.3,1) forwards .2s}
@keyframes oMono{to{stroke-dashoffset:0}}
/* outline text + ribbon */
.o-outline{left:-2vw;right:-2vw;top:var(--sg-orn-y,4%);overflow:hidden;white-space:nowrap}
.o-outline-track{display:flex;width:max-content;animation:oSlide calc(30s / var(--_sp)) linear infinite alternate}
.o-outline-track span{font:200 var(--sg-orn-size,clamp(5rem,19vw,19rem))/.85 var(--e-global-typography-primary-font-family,"Sogand Sans"),serif;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--_c1) 25%,transparent);padding-right:.3em}
@keyframes oSlide{to{transform:translateX(-12%)}}
.o-ribbon{left:-10%;right:-10%;top:var(--sg-orn-y,82%);transform:rotate(-7deg);background:linear-gradient(90deg,#c9a35c,#f1dcae,#c9a35c);padding:.7rem 0;box-shadow:0 20px 40px rgba(0,0,0,.35);overflow:hidden}
.sg-ornament:has(.o-ribbon){overflow:visible}
.o-ribbon-track{display:flex;width:max-content;animation:oMarq calc(36s / var(--_sp)) linear infinite}
.o-ribbon-track span{font:500 clamp(.72rem,.95vw,.9rem)/1 var(--e-global-typography-text-font-family,"Sogand Sans"),sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--sg-on-accent);white-space:pre}
@keyframes oMarq{to{transform:translate3d(-50%,0,0)}}
/* reveals */
.o-blinds{inset:0}
.o-blinds i{position:absolute;top:0;bottom:0;left:calc(var(--k) * 16.6667%);width:16.8%;background:linear-gradient(180deg,#2a141a,var(--sg-bg));transform-origin:50% 0;animation:oBlind 1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.25s + var(--k) * .11s)}
.o-blinds b{position:absolute;left:0;right:0;top:0;height:1px;background:var(--_c1);box-shadow:0 0 12px var(--_c1);animation:oBlindLine 1.9s cubic-bezier(.16,1,.3,1) forwards .2s}
@keyframes oBlind{to{transform:scaleY(0)}}
@keyframes oBlindLine{from{top:0;opacity:1}to{top:100%;opacity:0}}
.o-curtains{inset:0}
.o-curtains i{position:absolute}
.o-curtains .light{top:-10%;left:25%;right:25%;height:110%;background:linear-gradient(180deg,rgba(246,231,193,.24),transparent 80%);clip-path:polygon(35% 0,65% 0,100% 100%,0 100%);filter:blur(8px)}
.o-curtains .cl,.o-curtains .cr{top:0;bottom:0;width:51%;background:repeating-linear-gradient(90deg,var(--sg-ox2) 0,#7a2a37 3%,#3a1219 6.5%,var(--sg-ox2) 9%);box-shadow:inset 0 0 40px rgba(0,0,0,.6);animation:oCurL 1.8s cubic-bezier(.7,0,.2,1) forwards .4s}
.o-curtains .cl{left:0;transform-origin:0 0}
.o-curtains .cr{right:0;transform-origin:100% 0;animation-name:oCurR}
.o-curtains .valance{left:0;right:0;top:0;height:9%;background:repeating-linear-gradient(90deg,var(--sg-ox) 0,#8a3443 4%,var(--sg-ox2) 8%);border-bottom:2px solid #c9a35c;border-radius:0 0 50% 50%/0 0 30% 30%}
@keyframes oCurL{to{transform:translateX(-86%) scaleX(.3)}}
@keyframes oCurR{to{transform:translateX(86%) scaleX(.3)}}
.o-shine{inset:-20%;background:linear-gradient(115deg,transparent 42%,color-mix(in srgb,var(--sg-hi) 28%,transparent) 50%,transparent 58%);transform:translateX(-120%);animation:oShine calc(5s / var(--_sp)) ease-in-out infinite 1.4s}
@keyframes oShine{0%{transform:translateX(-120%)}55%,100%{transform:translateX(120%)}}
.o-spot{inset:-20% -10%;background:radial-gradient(circle var(--sg-orn-size,380px) at var(--px,70%) var(--py,50%),transparent 0,rgba(10,4,6,.82) 100%);transition:background .2s}
.o-wm{inset:0;display:flex;align-items:center;justify-content:flex-end}
.o-wm img{width:min(var(--sg-orn-size,70vw),780px);margin-right:-8%;animation:oWm 2.4s cubic-bezier(.16,1,.3,1) both .2s}
@keyframes oWm{from{opacity:0;transform:scale(1.06) rotate(-4deg)}to{opacity:1;transform:none}}
.o-glint{left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(243,228,189,.9),rgba(233,236,240,.9),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:oGlint calc(6s / var(--_sp)) ease-in-out infinite}
@keyframes oGlint{0%{background-position:-40% 0}100%{background-position:140% 0}}
/* scroll hint */
.o-t-scroll{overflow:visible;height:auto!important;display:flex;justify-content:center;pointer-events:none}
html body .o-scroll{pointer-events:auto;position:relative;width:26px;height:42px;border-radius:999px;border:1px solid color-mix(in srgb,var(--_c1) 55%,transparent);background:none;cursor:pointer;padding:0}
html body .o-scroll i{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:3px;background:var(--_c1);animation:oScroll 1.8s ease-in-out infinite}
@keyframes oScroll{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
/* calm */
.sg-calm .sg-ornament *,.sg-ornament[data-calm] *{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){
  .sg-ornament *{animation:none!important}
  .o-cons line,.o-lines rect,.o-mono text{stroke-dashoffset:0!important}
  .o-cons circle{opacity:.8}
  .o-blinds,.o-curtains .cl,.o-curtains .cr{display:none}
}
.elementor-editor-active .o-blinds,.elementor-editor-active .o-curtains .cl,.elementor-editor-active .o-curtains .cr{animation-iteration-count:1}
