/*
 * BTC Core site helpers. Elementor widgets opt in through CSS classes (Advanced > CSS Classes).
 * Colours and fonts themselves come from the Elementor kit; this file only adds the
 * decorative touches Elementor has no native control for.
 */
:root{
  --btc-crimson:#D62841;--btc-crimson-dk:#B41E34;--btc-rose:#E47A86;--btc-coral:#FF7B5C;
  --btc-ink:#3A1E29;--btc-ink-soft:#6B4D57;
  --btc-pink50:#FFF1F3;--btc-pink100:#FDE2E8;--btc-pink200:#F9C8D3;--btc-pink300:#F4A6B7;
  --btc-paper:#FFFDF6;--btc-shadow:0 18px 50px -20px rgba(90,30,50,.28);
}

/* Accent word with a hand-drawn underline: <span class="btc-pause">pause</span> */
.btc-pause{position:relative;display:inline-block;color:var(--btc-crimson);font-style:italic}
.btc-pause::after{content:"";position:absolute;left:-4%;bottom:-.08em;width:108%;height:.3em;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 14 C 50 4, 120 4, 197 11' fill='none' stroke='%23F4A6B7' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;
  clip-path:inset(0 100% 0 0);animation:btcDraw 1.3s .5s ease forwards}
@keyframes btcDraw{to{clip-path:inset(0 0 0 0)}}
.btc-accent em,.btc-accent i{color:var(--btc-crimson);font-style:italic}
.btc-accent-light em,.btc-accent-light i{color:var(--btc-pink300);font-style:italic}

/* Eyebrow label with a small blood-drop marker */
.btc-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:10px}
.btc-eyebrow .elementor-heading-title::before{content:"";flex:none;width:8px;height:11px;background:currentColor;
  clip-path:path("M4 0 C4 0 8 5.5 8 7.5 A4 4 0 0 1 0 7.5 C0 5.5 4 0 4 0Z")}
.btc-eyebrow.btc-center .elementor-heading-title{justify-content:center}

/* Small white pill (hero) */
.btc-pill{width:max-content;max-width:100%}
.btc-pill p{display:inline-flex;align-items:center;gap:10px;margin:0;background:#fff;border:1px solid rgba(58,30,41,.1);padding:8px 16px 8px 10px;border-radius:999px;box-shadow:0 6px 18px -12px rgba(58,30,41,.3)}
.btc-pill p::before{content:"";width:26px;height:26px;border-radius:50%;flex:none;
  background:var(--btc-pink100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 12'%3E%3Cpath fill='%23D62841' d='M4.5 0C4.5 0 9 6 9 8A4.5 4.5 0 0 1 0 8C0 6 4.5 0 4.5 0Z'/%3E%3C/svg%3E") no-repeat center/9px 12px}

/* Hero */
.btc-hero{position:relative;overflow:hidden}
.btc-hero::before{content:"";position:absolute;right:-12%;top:-10%;width:720px;height:720px;pointer-events:none;
  background:radial-gradient(circle,var(--btc-pink200) 0%,rgba(249,200,211,0) 68%);z-index:0}
.btc-hero>.e-con-inner{position:relative;z-index:1}
.btc-hero-art{position:relative}
.btc-shadow img,.btc-shadow{box-shadow:var(--btc-shadow)}
.btc-frame img{border:7px solid var(--btc-pink50);box-shadow:var(--btc-shadow)}
.btc-stat-badge p{display:flex;align-items:center;gap:12px;margin:0;background:#fff;border-radius:18px;padding:14px 18px;box-shadow:var(--btc-shadow)}
.btc-stat-badge b{font-family:"Fraunces",Georgia,serif;font-size:1.7rem;font-weight:600;line-height:1;color:var(--btc-crimson);white-space:nowrap}
.btc-stat-badge span{font-size:.8rem;line-height:1.3;color:var(--btc-ink-soft);max-width:120px}
.btc-float{animation:btcFloat 6s ease-in-out infinite}
@keyframes btcFloat{50%{transform:translateY(-10px)}}
.btc-note{transform:rotate(3deg)}
.btc-note p{position:relative;margin:0;background:#FFFDF6;padding:22px 20px 18px;box-shadow:0 16px 36px -18px rgba(58,30,41,.45);
  background-image:repeating-linear-gradient(transparent 0 27px,rgba(228,122,134,.25) 27px 28px);background-position:0 12px;
  font-family:"Caveat",cursive;font-size:1.45rem;line-height:1.2;color:var(--btc-ink)}
.btc-note p::before{content:"";position:absolute;top:-12px;left:50%;width:84px;height:24px;transform:translateX(-50%) rotate(-3deg);background:rgba(244,166,183,.7)}
.btc-note small{display:block;font-size:1.05rem;color:var(--btc-rose);margin-top:8px}

/* Scrolling strip */
.btc-marquee{overflow:hidden}
.btc-marquee-track{display:flex;gap:48px;width:max-content;animation:btcScroll 38s linear infinite}
.btc-marquee-track span{display:inline-flex;align-items:center;gap:48px;font-family:"Fraunces",Georgia,serif;font-size:1.3rem;font-style:italic;white-space:nowrap;color:var(--btc-ink)}
.btc-marquee-track span::after{content:"";width:9px;height:12px;background:var(--btc-crimson);clip-path:path("M4.5 0 C4.5 0 9 6 9 8 A4.5 4.5 0 0 1 0 8 C0 6 4.5 0 4.5 0Z")}
@keyframes btcScroll{to{transform:translateX(-50%)}}

/* Dark section glow */
.btc-glow-dark{position:relative;overflow:hidden}
.btc-glow-dark::after{content:"";position:absolute;left:-200px;bottom:-260px;width:600px;height:600px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(214,40,65,.35),transparent 65%)}
.btc-glow-dark>.e-con-inner{position:relative;z-index:1}

/* Cards */
.btc-rel{position:relative}
.btc-lift{transition:transform .35s ease,box-shadow .35s ease}
.btc-lift:hover{transform:translateY(-6px);box-shadow:var(--btc-shadow)}
.btc-zoom .elementor-widget-image{overflow:hidden}
.btc-zoom img{transition:transform .8s ease}
.btc-zoom:hover img{transform:scale(1.05)}
.btc-tag p{display:inline-block;margin:0;background:rgba(255,253,251,.94);padding:7px 14px;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--btc-ink)}
.btc-tag.btc-tag-crimson p{background:var(--btc-crimson);color:#fff}

/* Round "100% for impact" seal */
.btc-seal p{width:130px;height:130px;margin:0;border-radius:50%;background:var(--btc-crimson);color:#fff;display:grid;place-items:center;text-align:center;
  font-family:"Fraunces",Georgia,serif;font-size:.95rem;line-height:1.2;padding:18px;box-shadow:var(--btc-shadow);transform:rotate(-8deg)}
.btc-seal b{display:block;font-size:1.5rem;font-weight:500}

/* Founder photo quote badge */
.btc-quote-badge p{width:78px;height:78px;margin:0;border-radius:50%;background:var(--btc-crimson);color:#fff;display:grid;place-items:center;
  font-family:"Fraunces",Georgia,serif;font-size:3.6rem;line-height:1;padding-top:26px;box-shadow:var(--btc-shadow)}
.btc-award .elementor-icon-list-item{background:#fff;border:1px solid var(--btc-pink200);border-radius:999px;padding:8px 16px!important;width:max-content}

/* Diary cards */
.btc-diary{background-color:var(--btc-paper)!important;box-shadow:0 22px 40px -26px rgba(58,30,41,.45);transition:transform .35s ease;
  background-image:linear-gradient(90deg,transparent 46px,rgba(214,40,65,.22) 46px 47px,transparent 47px),repeating-linear-gradient(transparent 0 33px,rgba(58,30,41,.09) 33px 34px)!important;
  background-position:0 0,0 22px!important}
.btc-diary::before{content:"";position:absolute;top:-14px;left:50%;transform:translateX(-50%) rotate(2deg);width:96px;height:28px;background:rgba(244,166,183,.65);z-index:2}
.btc-diary:nth-child(1){transform:rotate(-1.6deg)}
.btc-diary:nth-child(2){transform:rotate(1.2deg) translateY(18px)}
.btc-diary:nth-child(3){transform:rotate(-.8deg)}
.btc-diary:hover{transform:rotate(0) translateY(-6px)}
.btc-diary .btc-diary-text p{margin:0;line-height:34px}
.btc-chip p{display:inline-block;margin:0;background:var(--btc-pink100);color:var(--btc-crimson);padding:4px 11px;border-radius:999px;font-weight:600;font-size:.74rem;line-height:1.4}

/* Guide cover tilt */
.btc-tilt img{transform:rotate(-5deg);border:6px solid #fff;border-radius:10px;box-shadow:0 30px 50px -20px rgba(80,20,10,.55)}
.btc-coral-band{position:relative;overflow:hidden}
.btc-coral-band::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none}

/* Text link with arrow */
.btc-link .elementor-button{border-bottom:1.5px solid currentColor!important;border-radius:0!important}
.btc-link .elementor-button:hover .elementor-button-icon{transform:translateX(4px)}
.btc-link .elementor-button-icon{transition:transform .25s}

/* Instagram tiles */
.btc-tile{overflow:hidden;border-radius:16px}
.btc-tile a{display:block;width:100%}
.btc-tile img{transition:transform .6s}
.btc-tile:hover img{transform:scale(1.07)}

/* Hold homepage entrance animations until the envelope intro has finished */
.btc-intro-on .animated{animation-play-state:paused!important}
.btc-intro-on .btc-pause::after{animation-play-state:paused}

@media (max-width:1024px){
  .btc-diary:nth-child(2){transform:rotate(1.2deg)}
}
@media (max-width:767px){
  .btc-note p{font-size:1.2rem}
  .btc-stat-badge b{font-size:1.35rem}
  .btc-seal p{width:108px;height:108px;font-size:.82rem}
}
@media (prefers-reduced-motion:reduce){
  .btc-float,.btc-marquee-track{animation:none}
  .btc-pause::after{animation:none;clip-path:none}
}
