/* Envelope intro (BTC Core). Only loaded on the front page. */
.btc-intro{display:none}
.btc-intro-on .btc-intro{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;cursor:pointer;overflow:hidden;transition:opacity .45s ease;
  --btc-crimson:#CF1273;--btc-rose:#E2509A;--btc-ink:#3D1430;--btc-ink-soft:#6A3A55;--btc-paper:#FFF0F7}
html.btc-intro-on{overflow:hidden}
.btc-intro::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,#FFF5FA 0%,#FFD3EC 52%,#FFB8DE 100%);transition:opacity .5s ease .45s}
.btc-intro.s5::before{opacity:0}
.btc-intro.s6{opacity:0}

.btc-env{position:relative;width:min(86vw,560px);aspect-ratio:1.6/1;perspective:1400px;transform:translateY(16%) scale(.9);opacity:0;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .6s ease}
.btc-intro.s1 .btc-env{transform:translateY(16%);opacity:1}
.btc-env-hello{position:absolute;left:0;right:0;bottom:calc(100% + 26px);margin:0;text-align:center;font-family:"Caveat",cursive;font-weight:600;font-size:clamp(1.5rem,5vw,2.2rem);line-height:1.2;color:var(--btc-crimson);transition:opacity .35s ease,transform .35s ease}
.btc-intro.s2 .btc-env-hello{opacity:0;transform:translateY(-8px)}
.btc-env-back{position:absolute;inset:0;border-radius:10px;background:linear-gradient(180deg,#E3D5D2 0%,#ECE2DF 60%);box-shadow:0 36px 70px -30px rgba(100,15,60,.5)}

.btc-env-letter{position:absolute;left:6%;right:6%;top:6%;height:88%;z-index:2;background:var(--btc-paper);border-radius:6px;box-shadow:0 8px 20px -12px rgba(61,20,48,.4);transition:transform .75s cubic-bezier(.3,.7,.2,1)}
.btc-intro.s4 .btc-env-letter{transform:translateY(-58%)}
.btc-letter-inner{position:absolute;inset:0;padding:7% 9%;display:flex;flex-direction:column;gap:4px;text-align:left;
  background-image:repeating-linear-gradient(transparent 0 calc(1.5em - 1px),rgba(226,80,154,.22) calc(1.5em - 1px) 1.5em);background-position:0 .6em;
  font-family:"Caveat",cursive;font-size:clamp(.95rem,3.4vw,1.35rem);line-height:1.5;color:var(--btc-ink);transition:opacity .25s ease}
.btc-l-dear{color:var(--btc-rose)}
.btc-l-msg{margin:0;font-weight:600;font-size:1.65em;line-height:1.08;color:var(--btc-ink)}
.btc-l-msg em{font-style:normal;color:var(--btc-crimson)}
.btc-l-sign{color:var(--btc-ink-soft);font-size:.9em}

.btc-env-front{position:absolute;inset:0;z-index:3;border-radius:10px;overflow:hidden;pointer-events:none}
.btc-env-front svg,.btc-env-flap svg{display:block;width:100%;height:100%;overflow:visible}
.btc-env-flap{position:absolute;left:0;right:0;top:0;height:56%;z-index:4;transform-origin:50% 0}
.btc-f-back{opacity:0}
.btc-intro.s3 .btc-env-flap{animation:btcFlapOpen .6s cubic-bezier(.45,0,.25,1) forwards}
.btc-intro.s3 .btc-f-front,.btc-intro.s3 .btc-f-shadow{animation:btcFaceOff .6s linear forwards}
.btc-intro.s3 .btc-f-back{animation:btcFaceOn .6s linear forwards}
@keyframes btcFlapOpen{0%{transform:rotateX(0);z-index:4}49%{z-index:4}50%{z-index:1}100%{transform:rotateX(180deg);z-index:1}}
@keyframes btcFaceOff{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes btcFaceOn{0%,49%{opacity:0}50%,100%{opacity:1}}

.btc-env-seal{position:absolute;left:50%;top:56%;width:24%;aspect-ratio:1;z-index:5;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 8px 16px -6px rgba(100,15,60,.45)}
.btc-env-seal img{display:block;width:100%;height:100%;border-radius:50%}
.btc-intro.s2 .btc-env-seal{animation:btcSealOff .45s cubic-bezier(.5,0,.75,0) forwards}
@keyframes btcSealOff{0%{transform:translate(-50%,-50%) scale(1)}35%{transform:translate(-50%,-50%) scale(1.12) rotate(5deg)}100%{transform:translate(-50%,-66%) scale(.4) rotate(-30deg);opacity:0}}

.btc-intro.s5 .btc-env-back,.btc-intro.s5 .btc-env-front,.btc-intro.s5 .btc-env-flap{opacity:0;transition:opacity .3s ease}
.btc-intro.s5 .btc-env-letter{z-index:6;border-radius:0;box-shadow:none;transition:transform .8s cubic-bezier(.7,0,.2,1),border-radius .8s}
.btc-intro.s5 .btc-letter-inner{opacity:0}

/* Doubled class beats the Elementor kit's global button styles */
.btc-intro .btc-intro-skip.btc-intro-skip{position:absolute;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:2;margin:0;padding:10px 18px;border:0;border-radius:999px;background:transparent;box-shadow:none;cursor:pointer;
  font-family:"DM Sans",system-ui,sans-serif;font-size:.76rem;font-weight:600;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:var(--btc-ink-soft);opacity:0;transition:opacity .4s ease .6s,color .2s}
.btc-intro.s1 .btc-intro-skip.btc-intro-skip{opacity:.85}
.btc-intro.s5 .btc-intro-skip.btc-intro-skip{opacity:0;transition-delay:0s}
.btc-intro .btc-intro-skip.btc-intro-skip:hover,.btc-intro .btc-intro-skip.btc-intro-skip:focus-visible{color:var(--btc-crimson);background:transparent}

@media (prefers-reduced-motion:reduce){.btc-intro{display:none!important}}
