.hearthlight-skin{--hl-bg:#0c1418;--hl-bg-2:#10191e;--hl-bg-3:#1b272c;--hl-surface:#141f24;--hl-surface-2:#1b272c;--hl-copper:#cb8c4d;--hl-copper-strong:#cb8c4d;--hl-copper-soft:#cb8c4d;--hl-gold:#f2d578;--hl-gold-strong:#d2ac4b;--hl-gold-soft:#f2d578;--hl-moss:#4b8b6b;--hl-moss-soft:#569f7a;--hl-plum:#866b94;--hl-terracotta:#c15033;--hl-text:#ede8de;--hl-text-dim:#ede8de;--hl-text-muted:#bcb49f;--hl-meta:#a39b85;--hl-border:#2e3b42;--hl-border-strong:#435660;--hl-display:"DM Serif Display", "Cormorant Garamond", "Forum", Georgia, serif;--hl-body-serif:"Cormorant Garamond", "Spectral", Georgia, serif;--hl-sans:"DM Sans", "Alice", system-ui, sans-serif;--hl-ease-mystic:cubic-bezier(.25, .1, .25, 1);--hl-ease-standard:cubic-bezier(.2, 0, 0, 1);background:var(--hl-bg);color:var(--hl-text);font-family:var(--hl-body-serif)}.hearthlight-skin h1,.hearthlight-skin h2,.hearthlight-skin h3,.hearthlight-skin h4{font-family:var(--hl-display);color:var(--hl-text);letter-spacing:-.005em;font-weight:400}.hearthlight-skin .hl-eyebrow{font-family:var(--hl-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--hl-gold);font-size:.6875rem;font-weight:500}.hearthlight-skin .hl-eyebrow-muted{font-family:var(--hl-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--hl-meta);font-size:.6875rem;font-weight:400}.hearthlight-skin .hl-button{font-family:var(--hl-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--hl-bg);background:var(--hl-gold);border:1px solid var(--hl-gold);cursor:pointer;transition:background .2s var(--hl-ease-standard), color .2s var(--hl-ease-standard);justify-content:center;align-items:center;min-height:44px;padding:.875rem 1.5rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.hearthlight-skin .hl-button:hover{background:var(--hl-gold-strong)}.hearthlight-skin .hl-button[disabled]{color:var(--hl-text-muted);cursor:not-allowed;background:#f2d57740;border-color:#0000}.hearthlight-skin .hl-button-ghost{color:var(--hl-text);border:1px solid var(--hl-border-strong);background:0 0}.hearthlight-skin .hl-button-ghost:hover{background:var(--hl-surface)}.hearthlight-skin .hl-button-copper{background:var(--hl-copper);border-color:var(--hl-copper);color:var(--hl-bg)}.hearthlight-skin .hl-button-copper:hover{background:var(--hl-copper-strong)}.hearthlight-skin .hl-button:focus-visible,.hearthlight-skin .hl-button-ghost:focus-visible,.hearthlight-skin .hl-button-copper:focus-visible,.hearthlight-skin button:focus-visible,.hearthlight-skin [role=button]:focus-visible,.hearthlight-skin [role=radio]:focus-visible,.hearthlight-skin a:focus-visible,.hearthlight-skin input:focus-visible,.hearthlight-skin textarea:focus-visible,.hearthlight-skin select:focus-visible{outline:2px solid var(--hl-gold);outline-offset:2px}.hearthlight-skin .hl-input,.hearthlight-skin .hl-textarea,.hearthlight-skin .hl-select{font-family:var(--hl-body-serif);background:var(--hl-surface);color:var(--hl-text);border:1px solid var(--hl-border);width:100%;transition:border-color .15s var(--hl-ease-standard);outline:none;padding:.75rem .875rem;font-size:1rem}.hearthlight-skin .hl-input:focus,.hearthlight-skin .hl-textarea:focus,.hearthlight-skin .hl-select:focus{border-color:var(--hl-gold);box-shadow:0 0 0 1px var(--hl-gold)}.hearthlight-skin .hl-card{background:var(--hl-surface);border:1px solid var(--hl-border);padding:1.25rem}.hearthlight-skin .hl-glow-gold{filter:drop-shadow(0 0 12px #f2d57759)}.hearthlight-skin .hl-glow-copper{filter:drop-shadow(0 0 12px #cb8c4d59)}.hearthlight-skin .hl-pill{font-family:var(--hl-sans);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--hl-border);color:var(--hl-text-dim);background:#f2d5770f;border-radius:999px;align-items:center;gap:.375rem;padding:.3rem .6rem;font-size:.6875rem;display:inline-flex}.hearthlight-skin .hl-pill.is-active{background:var(--hl-gold);color:var(--hl-bg);border-color:var(--hl-gold)}.hl-demo-frame{background:var(--hl-bg);border-radius:0;min-height:540px;position:relative;overflow:hidden}@media (min-width:768px){.hl-demo-frame{min-height:620px}}@media (max-width:1023px){.hl-demo-frame.hl-demo-frame--bleed-mobile{margin-inline:calc(var(--gutter) * -1);border-color:#0000}}.hl-demo-frame:before{content:"";pointer-events:none;background:radial-gradient(60% 40% at 80% 0,#f2d5771a,#0000 60%),radial-gradient(70% 50% at 0 100%,#3a785c1a,#0000 60%);position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.hearthlight-skin:not(.hl-rebuild) *,.hearthlight-skin:not(.hl-rebuild) :before,.hearthlight-skin:not(.hl-rebuild) :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.hl-hero-card-wrap{flex-direction:column;gap:.625rem;width:100%;max-width:220px;display:flex}.hl-hero-card{aspect-ratio:2/3.4;background:radial-gradient(120% 80% at 50% 0,#2e3b42 0%,#0000 60%),linear-gradient(#141f24 0%,#0c1418 100%);border:1px solid #f2d57759;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 40px -22px #000000a6}.hl-hero-card-img{object-fit:cover;object-position:center}.hl-hero-card-empress{transform-origin:50%;will-change:transform;background:0 0;border:1px solid #f2d57738;border-radius:14px;animation:10s ease-in-out infinite alternate hl-empress-sway;box-shadow:0 0 0 1px #f2d57714,0 18px 40px -22px #2e3b42,0 24px 60px -28px #0000008c}.hl-hero-card-empress .hl-hero-card-img{border-radius:13px}@keyframes hl-empress-sway{0%{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}@media (prefers-reduced-motion:reduce){.hl-hero-card-empress{animation:none;transform:none}}.hl-hero-card-caption{margin:0;line-height:1.4}@media (min-width:768px){.hl-hero-card-wrap{max-width:320px}}@media (min-width:1024px){.hl-hero-card-wrap{max-width:360px}}.hearthlight-skin.hl-section{background:var(--hl-bg);color:var(--hl-text);position:relative}.hearthlight-skin.hl-section:before{content:"";pointer-events:none;background:radial-gradient(70% 50% at 80% 0,#f2d57724,#0000 65%),radial-gradient(60% 50% at 0 100%,#3a785c24,#0000 65%);position:absolute;inset:0}.hearthlight-skin.hl-section>*{position:relative}.hl-pan-bg{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.hl-pan-card{perspective:1200px;will-change:transform;animation:hl-pan-x var(--pan-duration,90s) linear var(--pan-delay,0s) infinite;filter:drop-shadow(0 12px 22px #2e3b42);pointer-events:auto;cursor:pointer;position:absolute;left:0}.hl-pan-card-inner{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;animation:hl-pan-flip var(--flip-duration,130s) ease-in-out var(--flip-delay,0s) infinite;position:relative}.hl-pan-card-inner[data-spinning=true]{animation:.7s cubic-bezier(.18,.7,.2,1) hl-pan-spin}@keyframes hl-pan-spin{0%{transform:rotateY(0)}to{transform:rotateY(720deg)}}.hl-pan-card-face{backface-visibility:hidden;background:#0c1418;border:1px solid #f2d57740;border-radius:8px;position:absolute;inset:0;overflow:hidden}.hl-pan-card-front{transform:rotateY(0)}.hl-pan-card-back{transform:rotateY(180deg)}.hl-pan-card-img{object-fit:contain;object-position:center}@keyframes hl-pan-x{0%{transform:translate(-160px)}to{transform:translate(calc(100vw + 160px))}}@keyframes hl-pan-flip{0%{transform:rotateY(0)}50%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}@media (max-width:767px){.hl-pan-card--desktop-only{display:none}}@media (prefers-reduced-motion:reduce){.hl-pan-bg{display:none}}.hl-art-hero{background-color:var(--hl-bg,#0c1418)}.hl-hero-orbits{pointer-events:none;opacity:.42;background:url(/case-studies/hearthlight/art/hero-orbits.svg) 100%/cover no-repeat;position:absolute;inset:0}.hl-planet-section.hl-section:before{opacity:.26;background:url(/case-studies/hearthlight/art/orbit-lines.svg) bottom/100% no-repeat}.hl-hours-wheel{width:100%;max-width:440px;margin-inline:auto}.hl-moon-divider{opacity:.72;width:min(100%,800px);margin:0 auto 3rem}.hl-moon-divider img{width:100%;height:auto}.hl-planet-band:focus-visible{outline-offset:6px}.hl-capture-plate{border-radius:var(--radius-lg);padding:clamp(12px,2.3vw,24px);position:relative}.hl-capture-plate:after,.hl-surface-plate:after{content:"";pointer-events:none;background:url(/case-studies/hearthlight/art/screenshot-frame.svg) 50%/100% 100% no-repeat;position:absolute;inset:0}.hl-surface-plate{background-color:var(--hl-bg,#0c1418)}.hl-surface-plate>img{object-fit:contain;width:calc(100% - 16px);height:calc(100% - 16px);inset:8px}.hl-surface-plate-phone:after{background-image:url(/case-studies/hearthlight/art/screenshot-frame-portrait.svg)}.hl-kitchen-divider{padding:2rem var(--gutter);background:var(--background-2);justify-content:center;display:flex;overflow:hidden}.hl-kitchen-divider img{opacity:.72;width:min(100%,960px);height:auto}@media (max-width:767px){.hl-hero-orbits{opacity:.28;background-position:62% 0;background-size:auto 80%}.hl-moon-divider{margin-bottom:2rem}}
.hearthlight-skin.hl-rebuild{--hl-display:var(--font-display);--hl-sans:var(--font-sans);--hl-body-serif:var(--font-sans);font-family:var(--font-sans);background:var(--hl-bg);color:var(--hl-text);overflow:clip}.hl-rebuild-width{width:min(1320px,100% - 96px);margin-inline:auto}.hl-rebuild figure,.hl-rebuild p{margin:0}.hl-rebuild img{object-fit:contain;width:100%;height:auto;display:block}.hearthlight-skin.hl-rebuild h1,.hearthlight-skin.hl-rebuild h2{font-family:var(--font-display);letter-spacing:var(--tracking-display);text-wrap:balance;font-weight:400}.hl-rebuild h1{margin:0;font-size:clamp(3.4rem,7.6vw,7.5rem);line-height:.88}.hl-rebuild h2{text-align:center;margin:0 0 28px;font-size:clamp(2.5rem,5vw,4.768rem);line-height:.92}.hl-rebuild section{isolation:isolate;position:relative}.hl-section-content{z-index:1;position:relative}.hl-section-intro{text-align:center;max-width:700px;margin:0 auto 64px;padding-inline:20px;position:relative}.hl-section-intro p{font:clamp(1rem, 1.3vw, 1.125rem)/1.7 var(--font-sans);color:var(--hl-text-muted);text-wrap:pretty}.hl-rebuild-hero{place-items:center;min-height:min(880px,100svh);padding:112px 24px 100px;display:grid}.hl-rebuild-intro{z-index:2;text-align:center;max-width:700px;position:relative}.hl-rebuild .hl-rebuild-wordmark{color:var(--hl-gold);font:31px/1 var(--font-display);flex-direction:column;align-items:center;gap:12px;margin-bottom:36px;display:flex}.hl-rebuild-wordmark svg{filter:drop-shadow(0 0 24px #f2d57838);width:76px;height:76px;animation:5s ease-in-out infinite alternate hl-mark-glow!important}.hl-rebuild .hl-rebuild-description{max-width:45ch;font:clamp(1.05rem, 1.4vw, 1.2rem)/1.65 var(--font-sans);color:var(--hl-text-muted);text-wrap:pretty;margin:30px auto 0}.hl-explore{color:var(--hl-gold);align-items:center;gap:16px;margin-top:28px;font-size:15px;text-decoration:none;display:inline-flex}.hl-explore span{display:inline-block;animation:2.5s ease-in-out infinite alternate hl-arrow-drift!important}.hl-floating-cards{pointer-events:none;z-index:1;position:absolute;inset:0}.hl-floating-card{width:min(var(--card-width), 12vw);filter:drop-shadow(0 14px 32px #05080a99);position:absolute;animation:hl-hero-card-drift 10s cubic-bezier(.45,0,.55,1) var(--card-delay) infinite alternate!important}.hl-rebuild .hl-floating-card img{border-radius:8px;width:100%;height:auto}.hl-rebuild-product{background:#121c21;padding:90px 0 120px}.hl-rebuild-tarot{background:#0c1418;padding:110px 0 128px}.hl-rebuild-almanac{background:#10191e;padding:110px 0 120px}.hl-rebuild-artwork{background:#141f24;padding:110px 0 100px}.hl-rebuild-website{background:#0c1418;padding:110px 0 140px}.hl-rebuild-screen{filter:drop-shadow(0 24px 32px #05080a61)}.hl-mystic{pointer-events:none;z-index:0;color:var(--hl-gold);position:absolute;inset:0;overflow:hidden}.hl-mystic-stars{position:absolute;inset:0}.hl-mystic-stars i{width:var(--star-size);height:var(--star-size);background:var(--hl-gold);border-radius:50%;position:absolute;box-shadow:0 0 10px #f2d57880;animation:hl-star-twinkle 3.8s ease-in-out var(--star-delay) infinite alternate!important}.hl-constellations{opacity:.2;width:115%;height:115%;position:absolute;top:-7.5%;left:-7.5%;animation:24s ease-in-out infinite alternate hl-sky-drift!important}.hl-mystic-ring{aspect-ratio:1;opacity:.08;background:url(/case-studies/hearthlight/art/zodiac-ring.svg) 50%/contain no-repeat;width:min(88vw,1050px);position:absolute;top:5%;right:-25%;animation:140s linear infinite hl-ring-turn!important}.hl-mystic-moons{aspect-ratio:20/7;opacity:.1;background:url(/case-studies/hearthlight/art/moon-phases.svg) 50%/contain no-repeat;width:680px;position:absolute;top:50%;left:-260px;transform:rotate(-28deg);animation:18s ease-in-out infinite alternate hl-moon-drift!important}.hl-mystic-hero{background:radial-gradient(at 50% 38%,#212f3699,#0000 62%)}.hl-mystic-hero .hl-constellations{opacity:.34}.hl-mystic-hero .hl-mystic-ring{opacity:.12;width:1050px;top:48%;right:50%;translate:50% -50%}.hl-mystic-product .hl-mystic-ring{top:-20%;right:-36%}.hl-mystic-tarot .hl-mystic-moons{opacity:.16;top:4%;left:auto;right:-130px}.hl-mystic-almanac .hl-mystic-ring{opacity:.055;width:1100px;top:12%;right:50%;translate:50%}.hl-mystic-artwork .hl-constellations{opacity:.12}.hl-mystic-website .hl-mystic-ring{top:3%;right:-30%}.hl-embers{position:absolute;inset:0}.hl-embers i{background:var(--hl-gold);border-radius:50%;width:3px;height:3px;position:absolute;bottom:-20px;box-shadow:0 0 9px 2px #e88c3066;animation:12s linear infinite hl-ember-rise!important}:root[data-page-idle=true] .hl-rebuild *,:root[data-page-idle=true] .hl-rebuild :before,:root[data-page-idle=true] .hl-rebuild :after{animation-play-state:running!important}body:has(.hl-rebuild) #contact{display:none}body:has(.hl-rebuild) .bottom-peek-wrapper>footer{display:none}:is(body:has(.hl-rebuild) header,body:has(.hl-rebuild) header *){border-color:#0000}body:has(.hl-rebuild) .click-ripple{display:none}@keyframes hl-hero-card-drift{0%{transform:translate3d(-10px,-18px,0) rotate(calc(var(--card-angle) - 5deg))}to{transform:translate3d(15px,18px,0) rotate(calc(var(--card-angle) + 5deg))}}@keyframes hl-star-twinkle{0%{opacity:.18;transform:scale(.5)}to{opacity:.85;transform:scale(1.3)}}@keyframes hl-sky-drift{0%{transform:translate(-20px,-15px)rotate(-2deg)}to{transform:translate(25px,25px)rotate(2deg)}}@keyframes hl-ring-turn{to{transform:rotate(360deg)}}@keyframes hl-moon-drift{0%{transform:translate(-25px)rotate(-28deg)}to{transform:translate(40px,25px)rotate(-18deg)}}@keyframes hl-ember-rise{0%{opacity:0;transform:translate(0,0)}12%{opacity:.7}85%{opacity:.4}to{opacity:0;transform:translate(65px,-950px)}}@keyframes hl-arrow-drift{to{transform:translateY(8px)}}@keyframes hl-mark-glow{to{opacity:.75;transform:translateY(-4px)}}@media (max-width:1023px){.hl-rebuild-width{width:calc(100% - 64px)}.hl-rebuild-hero{min-height:740px}.hl-floating-card{width:min(calc(var(--card-width) * .72), 12vw)}.hl-floating-card:nth-child(2){left:6%!important}.hl-floating-card:nth-child(5){left:81%!important}}@media (max-width:767px){.hl-rebuild-width{width:calc(100% - 40px)}.hl-rebuild-hero{min-height:860px;padding:205px 20px 230px}.hl-rebuild h1{font-size:clamp(3.1rem,12vw,5rem)}.hl-rebuild .hl-rebuild-wordmark{margin-bottom:30px;font-size:28px}.hl-rebuild-wordmark svg{width:62px;height:62px}.hl-rebuild .hl-rebuild-description{max-width:32ch;margin-top:25px}.hl-explore{min-height:44px}body:has(.hl-rebuild) button[data-print-hide]{min-width:44px;min-height:44px}.hl-section-intro{margin-bottom:42px;padding-inline:22px}.hl-rebuild h2{margin-bottom:24px}.hl-floating-card{width:80px}.hl-floating-card:first-child{top:28px!important;left:13%!important}.hl-floating-card:nth-child(2){bottom:36px;top:auto!important;left:12%!important}.hl-floating-card:nth-child(3){display:none}.hl-floating-card:nth-child(4){top:28px!important;left:62%!important}.hl-floating-card:nth-child(5){bottom:36px;top:auto!important;left:65%!important}.hl-floating-card:nth-child(6){display:none}.hl-rebuild-product,.hl-rebuild-tarot,.hl-rebuild-almanac,.hl-rebuild-artwork,.hl-rebuild-website{padding-block:80px}.hl-constellations{opacity:.18;width:180%;left:-40%}}.hl-constellations g path:last-child{stroke-dasharray:350;animation:9s ease-in-out infinite alternate hl-ornament-trace!important}@keyframes hl-ornament-trace{0%{stroke-dashoffset:350px;opacity:.25}to{stroke-dashoffset:0;opacity:1}}
.hl-app-demo{width:100%;min-width:0;font-family:var(--font-sans), sans-serif}.hl-app-demo-selectors{flex-wrap:wrap;justify-content:center;gap:4px 24px;margin-bottom:24px;display:flex}.hl-app-demo-selectors button{min-height:44px;color:var(--hl-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:15px;transition:color .24s,opacity .24s}.hl-app-demo-selectors button[aria-pressed=true]{color:var(--hl-gold)}.hl-app-demo-selectors button:hover{color:var(--hl-text)}.hl-app-demo-selectors button:focus-visible{outline:2px solid var(--hl-gold);outline-offset:4px}.hl-app-demo-stage{isolation:isolate;aspect-ratio:1.44;background:#0d171b;border-radius:12px;width:100%;position:relative;overflow:hidden;box-shadow:0 32px 90px #0004}.hl-app-demo-scene{will-change:transform, opacity;grid-template-rows:minmax(0,1fr);place-items:center;min-width:0;min-height:0;display:grid;position:absolute;inset:0}.hl-app-demo-scene picture{width:100%;min-width:0;height:100%;min-height:0;display:block}.hl-app-demo-scene picture img{object-fit:contain;width:100%;height:100%;display:block}.hl-app-demo-phones{background:radial-gradient(at 50% 75%,#234137 0,#0d171b 75%);grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;gap:24px;padding:36px}.hl-app-demo-phones>img{object-fit:contain;border-radius:8px;width:auto;max-width:100%;height:auto;min-height:0;max-height:100%;display:block;box-shadow:0 18px 35px #0004}.hl-app-demo-cursor{z-index:3;pointer-events:none;width:100%;height:100%;animation:hl-demo-cursor-path var(--demo-duration) cubic-bezier(.4, 0, .2, 1) both;will-change:transform;position:absolute;inset:0}.hl-app-demo-cursor svg{filter:drop-shadow(0 3px 5px #0008);transform-origin:3px 3px;width:clamp(23px,2.7vw,38px);height:clamp(28px,3.3vw,46px);animation:hl-demo-cursor-press var(--demo-duration) ease both;display:block;position:relative}.hl-app-demo-click{opacity:0;width:56px;height:56px;animation:hl-demo-click var(--demo-duration) ease-out both;background:#f1d67a24;border:2px solid #f1d67a;border-radius:50%;margin:-28px 0 0 -28px;position:absolute;top:3px;left:3px}.hearthlight-skin .hl-app-demo-cursor,.hearthlight-skin .hl-app-demo-cursor svg,.hearthlight-skin .hl-app-demo-click{animation-duration:var(--demo-duration)!important}@keyframes hl-demo-cursor-path{0%{transform:translate(var(--cursor-start-x), var(--cursor-start-y))}36%{transform:translate(var(--cursor-detail-x), var(--cursor-detail-y))}58%{transform:translate(calc(var(--cursor-detail-x) + 3%), calc(var(--cursor-detail-y) - 4%))}83%,88%{transform:translate(var(--cursor-click-x), var(--cursor-click-y))}to{transform:translate(calc(var(--cursor-click-x) + 0.5%), calc(var(--cursor-click-y) + 0.3%))}}@keyframes hl-demo-cursor-press{0%,83%,to{transform:scale(1)}88%{transform:scale(.8)}}@keyframes hl-demo-click{0%,82%{opacity:0;transform:scale(.25)}85%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.8)}}@media (max-width:700px){.hl-app-demo-selectors{gap:0 18px;margin-bottom:18px}.hl-app-demo-selectors button{min-width:44px;font-size:13px}.hl-app-demo-stage{aspect-ratio:1/1.96;border-radius:8px}.hl-app-demo-phones{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px}.hl-app-demo-cursor:not(.is-gallery-cursor){--cursor-start-x:86%!important;--cursor-start-y:6%!important;--cursor-detail-x:54%!important;--cursor-detail-y:60%!important;--cursor-click-x:86%!important;--cursor-click-y:6%!important}.hl-app-demo-click{width:42px;height:42px;margin:-21px 0 0 -21px}}
