/* The footage, not a synthetic flame, is the hero's single dramatic gesture. */
.hero-film{position:absolute;inset:-5% -5% -8%;z-index:-2;pointer-events:none;transform:translate3d(0,var(--film-offset,0px),0) scale(1.03);background:#100d0a;will-change:transform}
.hero-film video,.fire-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:saturate(.8) contrast(1.12)}
.hero-film video{opacity:0;transition:opacity 1.4s ease}
.video-ready .hero-film video{opacity:1}
.hero[data-reduced-motion="true"] .hero-film video{opacity:0}
.film-shade{position:absolute;inset:0;background:linear-gradient(180deg,#100d0a65 0%,#100d0a65 25%,#100d0a8a 49%,#100d0ae8 78%,#100d0a 96%),linear-gradient(90deg,#100d0ae6 0%,#100d0a16 34%,#100d0a55 60%,#100d0ad9 100%)}
.hero-glow{opacity:.3}
.hero-content h1{position:relative;text-shadow:0 2px 40px #100d0a80}
h1>.title-mask{display:block;font-size:1em;line-height:.95;letter-spacing:-.045em;padding:.07em 0;margin:-.07em 0;overflow:clip}
h1>.title-mask-small{font-size:.66em;line-height:1.16;letter-spacing:.11em;padding-left:.1em}
.title-line{display:block;transform-origin:50% 100%}
.hero-tagline,.hero-description{position:relative;text-shadow:0 2px 20px #100d0a}
.hero-bottom{position:relative}
.button{position:relative;isolation:isolate;overflow:hidden;translate:var(--button-x,0px) var(--button-y,0px);transition:background .3s ease,transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,translate .25s ease-out}
.button:before{content:'';position:absolute;inset:-70% -40%;z-index:-1;background:linear-gradient(110deg,transparent 35%,#fff5 50%,transparent 65%);transform:translateX(-110%) rotate(10deg);transition:transform .85s cubic-bezier(.2,.6,.2,1);pointer-events:none}
.button:hover:before{transform:translateX(110%) rotate(10deg)}
.button-gold:hover{box-shadow:0 7px 35px #bb73292b}
.button>span{transition:transform .35s ease}
.button:hover>span{transform:translate(3px,-3px)}
.header nav a{position:relative;padding-block:9px}
.header nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .4s ease}
.header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}
.text-link span{transition:transform .3s ease}.text-link:hover span{transform:translate(4px,-3px)}
.occasion>div{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.occasion:not(.occasion-quiet):hover>div{transform:translateX(7px)}
.occasion-icon,.occasion-mark{transition:color .4s ease,transform .5s ease}
.occasion:not(.occasion-quiet):hover .occasion-icon{transform:rotate(35deg);color:#f3c891}
.occasion:not(.occasion-quiet):hover .occasion-mark{transform:translate(3px,-3px);color:var(--cream)}
.turnkey-art img{transition:filter .6s ease}.turnkey-art:hover img{filter:drop-shadow(0 0 30px #d66f1e66)}
.big-phone{transition:color .4s ease;text-underline-offset:12px;text-decoration-thickness:1px}.big-phone:hover{text-decoration-line:underline;text-decoration-color:#cda77855}
@media(max-width:800px){.hero-film video,.fire-photo{object-position:37% 50%}.film-shade{background:linear-gradient(180deg,#100d0a50,#100d0a88 35%,#100d0ac9 62%,#100d0a 94%),linear-gradient(90deg,#100d0a66,transparent 50%,#100d0a66)}}
@media(max-width:560px){h1>.title-mask-small{font-size:.76em;letter-spacing:.08em;line-height:1.2}.hero-film{inset:-2% -12% -3%;transform:scale(1.02)}.hero-film video,.fire-photo{object-position:34% 50%}.hero-description{color:#cbbbab}.turnkey-art .orbital-one{inset:25px}.turnkey-art .orbital-two{inset:40px 10px}}
@media(prefers-reduced-motion:reduce){.hero-film{transform:none;will-change:auto}.hero-film video{display:none}.button{translate:none!important}.occasion:hover>div,.occasion:hover .occasion-icon,.button:hover>span{transform:none!important}}
