/* ==========================================================================
   Template: Boho Terracotta
   Modern desert boho stationery: sand paper grain, layered rainbow arches and
   a rising sun, dried pampas & fan-palm line art, organic clay blobs, arched
   photo frames and arch-shaped date badges.
   Intro: earthy envelope (rust halves, blush flap) sealed with a wax seal and
   a tucked dried-flower sprig.
   ========================================================================== */

.tpl-boho-terracotta {
  --radius: 24px;
  --radius-sm: 14px;
  --btn-radius: 999px;
  --names-size: clamp(3.1rem, 14.5vw, 6.6rem);
  --title-size: clamp(2.1rem, 7vw, 3.1rem);
  --eyebrow-spacing: .34em;
  --content-width: 40rem;
  /* Earth tones (overridden per palette). t1 follows the (customisable) primary. */
  --bt-t1: var(--c-primary);
  --bt-t2: #e3ae92;
  --bt-t3: #a3ac8c;
  --bt-t4: #e6c9a3;
  --bt-sun: #d98a4e;
  --bt-line: color-mix(in srgb, var(--bt-t1) 24%, transparent);
  --bt-pampas: color-mix(in srgb, var(--c-secondary) 45%, var(--bt-t4));
  --bt-sage: color-mix(in srgb, var(--bt-t3) 70%, var(--c-secondary));
  --bt-shadow: 0 26px 50px -34px color-mix(in srgb, var(--c-secondary) 55%, transparent);
  --shadow: var(--bt-shadow);
  --bt-backdrop: color-mix(in srgb, var(--bt-t4) 45%, var(--c-bg));
  --bt-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .36 0 0 0 0 .22 0 0 0 0 .12 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --intro-bg: color-mix(in srgb, var(--c-secondary) 88%, #000);
  --door-bg: var(--bt-t1);
  --door-edge: color-mix(in srgb, #000 25%, transparent);
  --intro-duration: 1.3s;
  background-color: var(--bt-backdrop);
  font-size: clamp(1.02rem, 2.6vw, 1.1rem);
  font-weight: 400;
}
.tpl-boho-terracotta.palette-col-gulu { --bt-t2: #e8b9ae; --bt-t3: #b7a79b; --bt-t4: #f0d2c4; --bt-sun: #c97b6c; }
.tpl-boho-terracotta.palette-adacayi { --bt-t2: #d9a07f; --bt-t3: #b8c0a5; --bt-t4: #e7d8bd; --bt-sun: #c4794f; --bt-sage: color-mix(in srgb, var(--c-primary) 80%, #fff); }
.tpl-boho-terracotta.palette-hardal { --bt-t2: #d9926a; --bt-t3: #a9ac86; --bt-t4: #edd39b; --bt-sun: #d6a03a; }
.tpl-boho-terracotta ::selection { background: var(--bt-t2); color: var(--c-secondary); }
.tpl-boho-terracotta :focus-visible { outline-color: color-mix(in srgb, var(--bt-t1) 70%, transparent); }

/* ---- Backgrounds (the backdrop around the paper sheet) ------------------- */
.tpl-boho-terracotta.bg-kum {
  background-image:
    var(--bt-grain),
    radial-gradient(ellipse 80% 40% at 10% 0%, color-mix(in srgb, var(--bt-t2) 45%, transparent), transparent 70%),
    radial-gradient(ellipse 70% 35% at 95% 45%, color-mix(in srgb, var(--bt-t4) 70%, transparent), transparent 70%),
    radial-gradient(ellipse 90% 40% at 20% 100%, color-mix(in srgb, var(--bt-t3) 35%, transparent), transparent 70%);
  background-attachment: fixed;
}
.tpl-boho-terracotta.bg-kemerler { background-image: var(--bt-grain); }
.tpl-boho-terracotta.bg-kemerler::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: var(--bt-t1); opacity: .16;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2272%22 height=%2272%22 viewBox=%220 0 72 72%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.2%22%3E%3Cpath d=%22M8 72V44a28 28 0 0 1 56 0v28%22/%3E%3Cpath d=%22M18 72V46a18 18 0 0 1 36 0v26%22/%3E%3Cpath d=%22M28 72V48a8 8 0 0 1 16 0v24%22/%3E%3C/svg%3E") 0 0 / 72px 72px repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2272%22 height=%2272%22 viewBox=%220 0 72 72%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.2%22%3E%3Cpath d=%22M8 72V44a28 28 0 0 1 56 0v28%22/%3E%3Cpath d=%22M18 72V46a18 18 0 0 1 36 0v26%22/%3E%3Cpath d=%22M28 72V48a8 8 0 0 1 16 0v24%22/%3E%3C/svg%3E") 0 0 / 72px 72px repeat;
}
.tpl-boho-terracotta.bg-sade { --bt-backdrop: var(--c-bg); }

/* ---- Paper sheet with an arched top -------------------------------------- */
.bt { padding: .7rem .55rem 1.2rem; }
.bt-sheet {
  position: relative;
  max-width: 62rem;
  margin: 0 auto;
  background-color: var(--c-bg);
  background-image: var(--bt-grain), linear-gradient(180deg, var(--c-surface), var(--c-bg) 22rem);
  border-radius: 50% 50% 28px 28px / 11rem 11rem 28px 28px;
  box-shadow: 0 0 0 1px var(--bt-line), 0 40px 80px -50px color-mix(in srgb, var(--c-secondary) 70%, transparent);
  overflow: hidden;
  isolation: isolate;
}
.tpl-boho-terracotta.bg-sade .bt { padding: 0; }
.tpl-boho-terracotta.bg-sade .bt-sheet { border-radius: 0; box-shadow: none; background-image: linear-gradient(180deg, var(--c-surface), var(--c-bg) 24rem); max-width: none; }
.bt-sheet > *:not(.bt-blob) { position: relative; z-index: 1; }

/* Organic clay blobs drifting behind the content */
.bt-blob { position: absolute; z-index: 0; pointer-events: none; width: clamp(16rem, 70vw, 30rem); aspect-ratio: 1; opacity: .38; filter: blur(.5px); }
.bt-blob--a { top: 1.5%; left: -38%; background: var(--bt-t2); border-radius: 62% 38% 46% 54% / 55% 44% 56% 45%; opacity: .32; }
.bt-blob--b { top: 31%; right: -40%; background: var(--bt-t3); border-radius: 43% 57% 63% 37% / 46% 61% 39% 54%; opacity: .26; }
.bt-blob--c { top: 64%; left: -42%; background: var(--bt-t4); border-radius: 55% 45% 38% 62% / 42% 55% 45% 58%; opacity: .5; }

/* ---- Ornament colours ----------------------------------------------------- */
.tpl-boho-terracotta .orn { color: var(--bt-t1); }
.tpl-boho-terracotta .bt-b1 { color: var(--bt-t1); }
.tpl-boho-terracotta .bt-b2 { color: var(--bt-t2); opacity: 1; }
.tpl-boho-terracotta .bt-b3 { color: var(--bt-t3); opacity: 1; }
.tpl-boho-terracotta .bt-sun { color: var(--bt-sun); opacity: 1; }
.tpl-boho-terracotta .bt-ink { color: var(--bt-t1); }
.tpl-boho-terracotta .bt-pampas { color: var(--bt-pampas); }
.tpl-boho-terracotta .bt-leaf { color: var(--bt-sage); }

.bt-divider { display: block; width: min(280px, 72%); margin: .5rem auto; color: var(--bt-t1); }
.bt-palm { position: absolute; z-index: 0; width: clamp(110px, 30vw, 190px); color: var(--bt-sage); opacity: .55; pointer-events: none; }
.bt-palm--story { bottom: 1rem; right: -2.6rem; transform: rotate(-24deg); opacity: .4; }
.bt-palm--info { top: .5rem; left: -2.6rem; transform: rotate(22deg); opacity: .4; }
.bt-pampas-deco { position: absolute; z-index: 0; width: clamp(58px, 15vw, 110px); top: -3rem; right: -.4rem; color: var(--bt-pampas); opacity: .45; transform: rotate(10deg); pointer-events: none; }
.bt-band { position: relative; }
.bt-band > .inv-section { position: relative; z-index: 1; }

/* Date/programme band: a tinted sand arch rising over the countdown */
.bt-band--arch {
  margin: 1rem .6rem 0;
  padding-top: 3.2rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--bt-t4) 42%, var(--c-bg)), color-mix(in srgb, var(--bt-t4) 22%, var(--c-bg)) 70%, transparent);
  border-radius: 50% 50% 0 0 / 10rem 10rem 0 0;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--bt-t1) 25%, transparent);
}
.bt-band--arch::before { content: ""; position: absolute; inset: 9px 9px auto; height: 14rem; border-radius: inherit; border: 1px dashed color-mix(in srgb, var(--bt-t1) 30%, transparent); border-bottom: 0; -webkit-mask: linear-gradient(#000 40%, transparent); mask: linear-gradient(#000 40%, transparent); pointer-events: none; }
.bt-band--arch > .inv-section:first-child { padding-top: clamp(2rem, 6vw, 3.5rem); }

/* ---- Intro: earthy envelope with wax seal & dried sprig ------------------ */
.tpl-boho-terracotta .inv-intro { background: var(--intro-bg); }
.tpl-boho-terracotta .inv-intro__door {
  color: var(--bt-t4);
  background:
    var(--bt-grain),
    radial-gradient(ellipse 90% 55% at 50% 25%, color-mix(in srgb, var(--bt-t1) 82%, #fff 18%), transparent 72%),
    linear-gradient(175deg, var(--bt-t1), color-mix(in srgb, var(--bt-t1) 72%, #000));
}
.tpl-boho-terracotta .inv-intro__door--left { box-shadow: inset -1px 0 0 color-mix(in srgb, #000 22%, transparent); }
.tpl-boho-terracotta .inv-intro__door--right { box-shadow: inset 1px 0 0 color-mix(in srgb, #000 22%, transparent); }
.tpl-boho-terracotta .inv-intro__door-face .orn { opacity: .55; }
.tpl-boho-terracotta .inv-intro__door-face svg path { vector-effect: non-scaling-stroke; }
.tpl-boho-terracotta .inv-intro__door::after {
  content: ""; position: absolute; bottom: 2.2rem; width: min(36%, 150px); aspect-ratio: 120 / 300;
  background: var(--bt-t4); opacity: .5;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 300%22 fill=%22none%22 stroke=%22black%22 stroke-linecap=%22round%22%3E%3Cpath stroke-width=%221.4%22 d=%22M60 298Q56 180 30 24M64 298Q72 200 96 70%22/%3E%3Cpath stroke-width=%22.9%22 d=%22M55.2 218.6Q57.4 214.8 59.8 213.5M55.2 218.6Q52.3 215.3 49.7 214.4M54.7 213.5Q58.3 208.3 62.1 206.7M54.7 213.5Q50.7 208.6 46.9 207.2M54.3 208.4Q58.8 201.1 63.7 198.7M54.3 208.4Q48.6 202 43.3 200.5M53.8 203.3Q58.4 196.9 63.4 195M53.8 203.3Q48.4 197.5 43.4 196.2M53.3 198.1Q59.1 189.8 65.5 187.3M53.3 198.1Q46.7 190.2 40.6 188.1M52.8 192.9Q58.2 184.8 64.1 182.2M52.8 192.9Q45.9 186.2 39.4 185.1M52.3 187.7Q59.2 175.4 66.9 171M52.3 187.7Q43.3 176.8 35 173.8M51.8 182.5Q59.1 171.8 67.3 168.6M51.8 182.5Q42.7 173.1 34.3 171.2M51.2 177.2Q58.5 166.3 66.6 163M51.2 177.2Q42.7 166.8 35 163.9M50.7 171.9Q57.8 161 65.8 157.6M50.7 171.9Q42 161.8 34.2 159.2M50.1 166.6Q55.7 155.5 62.2 151.4M50.1 166.6Q41.6 157.7 33.9 155.7M49.5 161.2Q57.3 148.5 66.1 144.3M49.5 161.2Q39.1 150.3 29.8 147.9M48.8 155.8Q56.1 145 64.2 141.7M48.8 155.8Q40.2 145.7 32.3 143M48.2 150.4Q54.6 138.3 62 133.8M48.2 150.4Q38.5 141 29.7 139.3M47.6 145Q55.7 128.8 65.1 122.8M47.6 145Q35.5 131.5 24.8 128.2M46.9 139.5Q55 124.9 64.3 119.7M46.9 139.5Q35.6 127 25.6 124M46.2 134Q52.6 122.9 59.9 119M46.2 134Q37.6 124.3 29.9 121.8M45.5 128.5Q51.3 116.6 58.1 112.1M45.5 128.5Q36.8 118.5 29.1 115.9M44.8 122.9Q51.8 111 59.8 106.9M44.8 122.9Q35 113.1 26.3 111.1M44 117.3Q49.8 105.2 56.6 100.5M44 117.3Q34.6 108 26.2 106.2M43.3 111.7Q49.1 102.6 55.7 99.7M43.3 111.7Q35.8 103.6 29.2 101.8M42.5 106.1Q49.8 93 58.2 88.4M42.5 106.1Q32 95.4 22.6 93.3M41.7 100.4Q47.2 89.6 53.7 85.5M41.7 100.4Q33 92.2 25.2 90.9M40.9 94.7Q46.3 84.6 52.6 81M40.9 94.7Q33 86.5 26 84.6M40.1 88.9Q44.6 81.6 49.8 79.1M40.1 88.9Q33.8 82.9 28.3 81.8M39.3 83.2Q44.4 74.3 50.3 71.2M39.3 83.2Q32.1 75.8 25.7 74.2M38.4 77.4Q42.1 71.4 46.4 69.4M38.4 77.4Q33.1 72.8 28.5 72.1M37.6 71.6Q40.7 65.1 44.5 62.6M37.6 71.6Q32.4 66.7 27.8 65.8M36.7 65.7Q39.1 60.9 42 59.1M36.7 65.7Q33 61.7 29.8 60.7M35.8 59.9Q37.7 56.3 40 55.1M35.8 59.9Q33 56.8 30.6 56M34.8 53.9Q35.7 52.2 36.8 51.6M34.8 53.9Q33.5 52.5 32.3 52.1M33.9 48Q33.9 48 33.9 48M33.9 48Q33.9 48 33.9 48M33 42.1Q33 42.1 33 42.1M33 42.1Q33 42.1 33 42.1M32 36.1Q32 36.1 32 36.1M32 36.1Q32 36.1 32 36.1M31 30Q31 30 31 30M31 30Q31 30 31 30M30 24Q30 24 30 24M30 24Q30 24 30 24M70.8 232Q74 228.9 76.9 228.4M70.8 232Q68.3 228.3 65.5 227.2M71.3 227.8Q75.5 223.8 79.3 223.1M71.3 227.8Q68.1 222.9 64.6 221.4M71.8 223.5Q76.2 219.2 80.2 218.3M71.8 223.5Q69 217.9 65.7 215.8M72.3 219.3Q76.4 214.6 80 213.3M72.3 219.3Q69.2 214.1 65.6 212.3M72.9 215Q78.1 208.9 82.8 207.3M72.9 215Q69.1 207.9 64.8 205.4M73.5 210.7Q80.1 203.5 86 201.8M73.5 210.7Q68.2 202.6 62.3 200.1M74 206.3Q81.2 198.8 87.7 197.1M74 206.3Q68.8 197.5 62.7 194.4M74.6 202Q80.4 195.5 85.5 193.9M74.6 202Q70.5 194.4 65.8 191.7M75.2 197.6Q83.3 188.7 90.5 186.6M75.2 197.6Q70.1 186.7 64 182.5M75.8 193.2Q83.4 185.2 90 183.3M75.8 193.2Q70.7 183.5 64.7 180M76.5 188.7Q83.2 181.1 89.1 179.1M76.5 188.7Q71.4 180.1 65.6 177.2M77.1 184.3Q85.5 174.8 92.9 172.3M77.1 184.3Q71.3 173.1 64.5 169M77.7 179.8Q84.6 172.4 90.5 170.6M77.7 179.8Q73.2 170.9 67.8 167.6M78.4 175.3Q86 168.6 92.8 167.8M78.4 175.3Q73.5 166.2 67.8 163M79.1 170.8Q85.6 163.5 91.3 161.7M79.1 170.8Q74.5 162.3 69.1 159.2M79.8 166.2Q88.2 158.1 95.6 156.6M79.8 166.2Q74.4 155.7 68.1 151.8M80.5 161.6Q90.2 152.6 98.7 151.1M80.5 161.6Q74 150 66.4 145.9M81.2 157Q89.7 149.1 97.2 147.8M81.2 157Q75.8 146.6 69.4 142.8M81.9 152.4Q90 144.6 97.1 143.2M81.9 152.4Q76.8 142.3 70.8 138.5M82.6 147.7Q90.7 140.8 97.8 139.9M82.6 147.7Q78.2 137.7 72.8 133.8M83.4 143.1Q90.4 136.4 96.5 135.2M83.4 143.1Q78.8 134.6 73.3 131.6M84.1 138.4Q91.8 129.9 98.5 127.8M84.1 138.4Q78.9 128.4 72.7 124.7M84.9 133.6Q91.4 128 97.2 127.3M84.9 133.6Q81.2 125.6 76.8 122.4M85.7 128.9Q91 123.7 95.6 122.8M85.7 128.9Q82.2 122.5 78 120.2M86.5 124.1Q91.7 119.3 96.3 118.5M86.5 124.1Q83 118 78.8 115.8M87.3 119.3Q91.3 115.4 94.9 114.7M87.3 119.3Q84.9 114.2 82 112.2M88.1 114.5Q92.8 110.4 96.8 109.9M88.1 114.5Q85.4 108.8 82.1 106.7M88.9 109.6Q91.9 106.9 94.5 106.4M88.9 109.6Q87.2 105.9 85.1 104.4M89.8 104.8Q93 101.7 95.8 101.2M89.8 104.8Q87.9 100.7 85.6 99.1M90.6 99.9Q92.5 98.1 94.2 97.7M90.6 99.9Q89.4 97.5 88 96.6M91.5 95Q92.6 93.9 93.5 93.6M91.5 95Q90.8 93.6 90 93.1M92.4 90Q92.4 90 92.4 90M92.4 90Q92.4 90 92.4 90M93.3 85Q93.3 85 93.3 85M93.3 85Q93.3 85 93.3 85M94.2 80.1Q94.2 80.1 94.2 80.1M94.2 80.1Q94.2 80.1 94.2 80.1M95.1 75Q95.1 75 95.1 75M95.1 75Q95.1 75 95.1 75M96 70Q96 70 96 70M96 70Q96 70 96 70%22/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 300%22 fill=%22none%22 stroke=%22black%22 stroke-linecap=%22round%22%3E%3Cpath stroke-width=%221.4%22 d=%22M60 298Q56 180 30 24M64 298Q72 200 96 70%22/%3E%3Cpath stroke-width=%22.9%22 d=%22M55.2 218.6Q57.4 214.8 59.8 213.5M55.2 218.6Q52.3 215.3 49.7 214.4M54.7 213.5Q58.3 208.3 62.1 206.7M54.7 213.5Q50.7 208.6 46.9 207.2M54.3 208.4Q58.8 201.1 63.7 198.7M54.3 208.4Q48.6 202 43.3 200.5M53.8 203.3Q58.4 196.9 63.4 195M53.8 203.3Q48.4 197.5 43.4 196.2M53.3 198.1Q59.1 189.8 65.5 187.3M53.3 198.1Q46.7 190.2 40.6 188.1M52.8 192.9Q58.2 184.8 64.1 182.2M52.8 192.9Q45.9 186.2 39.4 185.1M52.3 187.7Q59.2 175.4 66.9 171M52.3 187.7Q43.3 176.8 35 173.8M51.8 182.5Q59.1 171.8 67.3 168.6M51.8 182.5Q42.7 173.1 34.3 171.2M51.2 177.2Q58.5 166.3 66.6 163M51.2 177.2Q42.7 166.8 35 163.9M50.7 171.9Q57.8 161 65.8 157.6M50.7 171.9Q42 161.8 34.2 159.2M50.1 166.6Q55.7 155.5 62.2 151.4M50.1 166.6Q41.6 157.7 33.9 155.7M49.5 161.2Q57.3 148.5 66.1 144.3M49.5 161.2Q39.1 150.3 29.8 147.9M48.8 155.8Q56.1 145 64.2 141.7M48.8 155.8Q40.2 145.7 32.3 143M48.2 150.4Q54.6 138.3 62 133.8M48.2 150.4Q38.5 141 29.7 139.3M47.6 145Q55.7 128.8 65.1 122.8M47.6 145Q35.5 131.5 24.8 128.2M46.9 139.5Q55 124.9 64.3 119.7M46.9 139.5Q35.6 127 25.6 124M46.2 134Q52.6 122.9 59.9 119M46.2 134Q37.6 124.3 29.9 121.8M45.5 128.5Q51.3 116.6 58.1 112.1M45.5 128.5Q36.8 118.5 29.1 115.9M44.8 122.9Q51.8 111 59.8 106.9M44.8 122.9Q35 113.1 26.3 111.1M44 117.3Q49.8 105.2 56.6 100.5M44 117.3Q34.6 108 26.2 106.2M43.3 111.7Q49.1 102.6 55.7 99.7M43.3 111.7Q35.8 103.6 29.2 101.8M42.5 106.1Q49.8 93 58.2 88.4M42.5 106.1Q32 95.4 22.6 93.3M41.7 100.4Q47.2 89.6 53.7 85.5M41.7 100.4Q33 92.2 25.2 90.9M40.9 94.7Q46.3 84.6 52.6 81M40.9 94.7Q33 86.5 26 84.6M40.1 88.9Q44.6 81.6 49.8 79.1M40.1 88.9Q33.8 82.9 28.3 81.8M39.3 83.2Q44.4 74.3 50.3 71.2M39.3 83.2Q32.1 75.8 25.7 74.2M38.4 77.4Q42.1 71.4 46.4 69.4M38.4 77.4Q33.1 72.8 28.5 72.1M37.6 71.6Q40.7 65.1 44.5 62.6M37.6 71.6Q32.4 66.7 27.8 65.8M36.7 65.7Q39.1 60.9 42 59.1M36.7 65.7Q33 61.7 29.8 60.7M35.8 59.9Q37.7 56.3 40 55.1M35.8 59.9Q33 56.8 30.6 56M34.8 53.9Q35.7 52.2 36.8 51.6M34.8 53.9Q33.5 52.5 32.3 52.1M33.9 48Q33.9 48 33.9 48M33.9 48Q33.9 48 33.9 48M33 42.1Q33 42.1 33 42.1M33 42.1Q33 42.1 33 42.1M32 36.1Q32 36.1 32 36.1M32 36.1Q32 36.1 32 36.1M31 30Q31 30 31 30M31 30Q31 30 31 30M30 24Q30 24 30 24M30 24Q30 24 30 24M70.8 232Q74 228.9 76.9 228.4M70.8 232Q68.3 228.3 65.5 227.2M71.3 227.8Q75.5 223.8 79.3 223.1M71.3 227.8Q68.1 222.9 64.6 221.4M71.8 223.5Q76.2 219.2 80.2 218.3M71.8 223.5Q69 217.9 65.7 215.8M72.3 219.3Q76.4 214.6 80 213.3M72.3 219.3Q69.2 214.1 65.6 212.3M72.9 215Q78.1 208.9 82.8 207.3M72.9 215Q69.1 207.9 64.8 205.4M73.5 210.7Q80.1 203.5 86 201.8M73.5 210.7Q68.2 202.6 62.3 200.1M74 206.3Q81.2 198.8 87.7 197.1M74 206.3Q68.8 197.5 62.7 194.4M74.6 202Q80.4 195.5 85.5 193.9M74.6 202Q70.5 194.4 65.8 191.7M75.2 197.6Q83.3 188.7 90.5 186.6M75.2 197.6Q70.1 186.7 64 182.5M75.8 193.2Q83.4 185.2 90 183.3M75.8 193.2Q70.7 183.5 64.7 180M76.5 188.7Q83.2 181.1 89.1 179.1M76.5 188.7Q71.4 180.1 65.6 177.2M77.1 184.3Q85.5 174.8 92.9 172.3M77.1 184.3Q71.3 173.1 64.5 169M77.7 179.8Q84.6 172.4 90.5 170.6M77.7 179.8Q73.2 170.9 67.8 167.6M78.4 175.3Q86 168.6 92.8 167.8M78.4 175.3Q73.5 166.2 67.8 163M79.1 170.8Q85.6 163.5 91.3 161.7M79.1 170.8Q74.5 162.3 69.1 159.2M79.8 166.2Q88.2 158.1 95.6 156.6M79.8 166.2Q74.4 155.7 68.1 151.8M80.5 161.6Q90.2 152.6 98.7 151.1M80.5 161.6Q74 150 66.4 145.9M81.2 157Q89.7 149.1 97.2 147.8M81.2 157Q75.8 146.6 69.4 142.8M81.9 152.4Q90 144.6 97.1 143.2M81.9 152.4Q76.8 142.3 70.8 138.5M82.6 147.7Q90.7 140.8 97.8 139.9M82.6 147.7Q78.2 137.7 72.8 133.8M83.4 143.1Q90.4 136.4 96.5 135.2M83.4 143.1Q78.8 134.6 73.3 131.6M84.1 138.4Q91.8 129.9 98.5 127.8M84.1 138.4Q78.9 128.4 72.7 124.7M84.9 133.6Q91.4 128 97.2 127.3M84.9 133.6Q81.2 125.6 76.8 122.4M85.7 128.9Q91 123.7 95.6 122.8M85.7 128.9Q82.2 122.5 78 120.2M86.5 124.1Q91.7 119.3 96.3 118.5M86.5 124.1Q83 118 78.8 115.8M87.3 119.3Q91.3 115.4 94.9 114.7M87.3 119.3Q84.9 114.2 82 112.2M88.1 114.5Q92.8 110.4 96.8 109.9M88.1 114.5Q85.4 108.8 82.1 106.7M88.9 109.6Q91.9 106.9 94.5 106.4M88.9 109.6Q87.2 105.9 85.1 104.4M89.8 104.8Q93 101.7 95.8 101.2M89.8 104.8Q87.9 100.7 85.6 99.1M90.6 99.9Q92.5 98.1 94.2 97.7M90.6 99.9Q89.4 97.5 88 96.6M91.5 95Q92.6 93.9 93.5 93.6M91.5 95Q90.8 93.6 90 93.1M92.4 90Q92.4 90 92.4 90M92.4 90Q92.4 90 92.4 90M93.3 85Q93.3 85 93.3 85M93.3 85Q93.3 85 93.3 85M94.2 80.1Q94.2 80.1 94.2 80.1M94.2 80.1Q94.2 80.1 94.2 80.1M95.1 75Q95.1 75 95.1 75M95.1 75Q95.1 75 95.1 75M96 70Q96 70 96 70M96 70Q96 70 96 70%22/%3E%3C/svg%3E") center / contain no-repeat;
}
.tpl-boho-terracotta .inv-intro__door--left::after { left: 1.4rem; }
.tpl-boho-terracotta .inv-intro__door--right::after { right: 1.4rem; transform: scaleX(-1); }
.tpl-boho-terracotta .inv-intro[data-intro="envelope"] .inv-intro__flap {
  height: 48%;
  background: color-mix(in srgb, var(--bt-t2) 55%, var(--bt-t1));
  filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .25));
}
.tpl-boho-terracotta .inv-intro__flap::before { content: ""; position: absolute; inset: 0; clip-path: polygon(1.5% 0, 98.5% 0, 50% calc(100% - 4px)); background: var(--bt-grain), linear-gradient(180deg, color-mix(in srgb, var(--bt-t2) 70%, #fff), var(--bt-t2) 90%); }
.tpl-boho-terracotta .inv-intro__flap::after { content: ""; position: absolute; inset: 0; clip-path: polygon(7% 0, 93% 0, 50% calc(100% - 30px)); background: linear-gradient(180deg, transparent 55%, color-mix(in srgb, var(--bt-t1) 16%, transparent)); }
.tpl-boho-terracotta .inv-intro__content {
  margin: 4.4rem 1rem 1rem;
  width: min(100% - 2rem, 23rem);
  padding: 4rem 1.6rem 2.2rem;
  gap: .75rem;
  background: var(--bt-grain), linear-gradient(180deg, var(--c-surface), var(--c-bg));
  border-radius: 999px 999px 22px 22px;
  border: 1px solid color-mix(in srgb, var(--bt-t1) 35%, transparent);
  box-shadow: inset 0 0 0 7px var(--c-surface), inset 0 0 0 8px var(--bt-line), 0 34px 60px -24px rgba(0, 0, 0, .65);
}
.tpl-boho-terracotta .inv-intro__seal {
  position: absolute; top: -2.7rem; left: 50%; margin-left: -2.8rem;
  width: 5.6rem; height: 5.6rem;
  border-radius: 46% 54% 49% 51% / 53% 47% 53% 47%;
  background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--bt-t1) 62%, #fff) 0%, var(--bt-t1) 42%, color-mix(in srgb, var(--bt-t1) 62%, #000) 100%);
  color: color-mix(in srgb, var(--bt-t4) 55%, #fff);
  font-family: var(--f-display); font-size: 1.35rem; letter-spacing: .02em;
  text-shadow: 0 1px 1px color-mix(in srgb, #000 35%, transparent);
  box-shadow: 0 10px 18px -6px rgba(0, 0, 0, .45), inset 0 -5px 10px color-mix(in srgb, #000 28%, transparent), inset 0 3px 6px color-mix(in srgb, #fff 18%, transparent);
}
.tpl-boho-terracotta .inv-intro__seal::before {
  content: ""; position: absolute; z-index: -1; width: 10.5rem; height: 5.25rem; left: 50%; top: -2.2rem; margin-left: -5.25rem;
  background: var(--bt-sage);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 240 120%22 fill=%22none%22 stroke=%22black%22 stroke-linecap=%22round%22%3E%3Cg transform=%22translate%2814 4%29%22%3E%3Cpath stroke-width=%222%22 d=%22M10 110Q40 70 100 14M24 108Q30 60 58 20%22/%3E%3Cg fill=%22black%22 stroke=%22none%22%3E%3Cpath d=%22M26.9 89Q34.6 91.8 41.6 87.3Q33.8 84.5 26.9 89ZM36.7 77.8Q40.1 70.6 36.5 63.7Q33.1 70.8 36.7 77.8ZM47.5 66Q54.4 68.9 60.8 65.1Q53.9 62.2 47.5 66ZM59.2 53.8Q62.5 47.5 59.5 41.1Q56.2 47.4 59.2 53.8ZM71.9 41Q77.9 43.8 83.8 40.6Q77.8 37.8 71.9 41ZM85.5 27.8Q88.6 22.3 86.1 16.5Q83 22 85.5 27.8ZM100 14Q105.3 16.6 110.5 14Q105.3 11.4 100 14ZM28.4 84.5Q34.8 83.8 38 78.2Q31.6 79 28.4 84.5ZM33.5 67.5Q33.8 61.6 29.2 57.8Q28.9 63.7 33.5 67.5ZM40.1 51.1Q45.6 51.5 49.2 47.4Q43.7 47 40.1 51.1ZM48.3 35.3Q49.5 30.4 46.2 26.5Q45.1 31.4 48.3 35.3ZM58 20Q62.4 21.1 66 18.3Q61.6 17.1 58 20Z%22/%3E%3Ccircle cx=%22100%22 cy=%2214%22 r=%224%22/%3E%3Ccircle cx=%2294%22 cy=%228%22 r=%222.6%22/%3E%3Ccircle cx=%22106%22 cy=%2220%22 r=%222.6%22/%3E%3Ccircle cx=%2258%22 cy=%2220%22 r=%223.2%22/%3E%3Ccircle cx=%2253%22 cy=%2215%22 r=%222%22/%3E%3C/g%3E%3C/g%3E%3Cg transform=%22translate%28226 4%29 scale%28-1 1%29%22%3E%3Cpath stroke-width=%222%22 d=%22M10 110Q40 70 100 14M24 108Q30 60 58 20%22/%3E%3Cg fill=%22black%22 stroke=%22none%22%3E%3Cpath d=%22M26.9 89Q34.6 91.8 41.6 87.3Q33.8 84.5 26.9 89ZM36.7 77.8Q40.1 70.6 36.5 63.7Q33.1 70.8 36.7 77.8ZM47.5 66Q54.4 68.9 60.8 65.1Q53.9 62.2 47.5 66ZM59.2 53.8Q62.5 47.5 59.5 41.1Q56.2 47.4 59.2 53.8ZM71.9 41Q77.9 43.8 83.8 40.6Q77.8 37.8 71.9 41ZM85.5 27.8Q88.6 22.3 86.1 16.5Q83 22 85.5 27.8ZM100 14Q105.3 16.6 110.5 14Q105.3 11.4 100 14ZM28.4 84.5Q34.8 83.8 38 78.2Q31.6 79 28.4 84.5ZM33.5 67.5Q33.8 61.6 29.2 57.8Q28.9 63.7 33.5 67.5ZM40.1 51.1Q45.6 51.5 49.2 47.4Q43.7 47 40.1 51.1ZM48.3 35.3Q49.5 30.4 46.2 26.5Q45.1 31.4 48.3 35.3ZM58 20Q62.4 21.1 66 18.3Q61.6 17.1 58 20Z%22/%3E%3Ccircle cx=%22100%22 cy=%2214%22 r=%224%22/%3E%3Ccircle cx=%2294%22 cy=%228%22 r=%222.6%22/%3E%3Ccircle cx=%22106%22 cy=%2220%22 r=%222.6%22/%3E%3Ccircle cx=%2258%22 cy=%2220%22 r=%223.2%22/%3E%3Ccircle cx=%2253%22 cy=%2215%22 r=%222%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 240 120%22 fill=%22none%22 stroke=%22black%22 stroke-linecap=%22round%22%3E%3Cg transform=%22translate%2814 4%29%22%3E%3Cpath stroke-width=%222%22 d=%22M10 110Q40 70 100 14M24 108Q30 60 58 20%22/%3E%3Cg fill=%22black%22 stroke=%22none%22%3E%3Cpath d=%22M26.9 89Q34.6 91.8 41.6 87.3Q33.8 84.5 26.9 89ZM36.7 77.8Q40.1 70.6 36.5 63.7Q33.1 70.8 36.7 77.8ZM47.5 66Q54.4 68.9 60.8 65.1Q53.9 62.2 47.5 66ZM59.2 53.8Q62.5 47.5 59.5 41.1Q56.2 47.4 59.2 53.8ZM71.9 41Q77.9 43.8 83.8 40.6Q77.8 37.8 71.9 41ZM85.5 27.8Q88.6 22.3 86.1 16.5Q83 22 85.5 27.8ZM100 14Q105.3 16.6 110.5 14Q105.3 11.4 100 14ZM28.4 84.5Q34.8 83.8 38 78.2Q31.6 79 28.4 84.5ZM33.5 67.5Q33.8 61.6 29.2 57.8Q28.9 63.7 33.5 67.5ZM40.1 51.1Q45.6 51.5 49.2 47.4Q43.7 47 40.1 51.1ZM48.3 35.3Q49.5 30.4 46.2 26.5Q45.1 31.4 48.3 35.3ZM58 20Q62.4 21.1 66 18.3Q61.6 17.1 58 20Z%22/%3E%3Ccircle cx=%22100%22 cy=%2214%22 r=%224%22/%3E%3Ccircle cx=%2294%22 cy=%228%22 r=%222.6%22/%3E%3Ccircle cx=%22106%22 cy=%2220%22 r=%222.6%22/%3E%3Ccircle cx=%2258%22 cy=%2220%22 r=%223.2%22/%3E%3Ccircle cx=%2253%22 cy=%2215%22 r=%222%22/%3E%3C/g%3E%3C/g%3E%3Cg transform=%22translate%28226 4%29 scale%28-1 1%29%22%3E%3Cpath stroke-width=%222%22 d=%22M10 110Q40 70 100 14M24 108Q30 60 58 20%22/%3E%3Cg fill=%22black%22 stroke=%22none%22%3E%3Cpath d=%22M26.9 89Q34.6 91.8 41.6 87.3Q33.8 84.5 26.9 89ZM36.7 77.8Q40.1 70.6 36.5 63.7Q33.1 70.8 36.7 77.8ZM47.5 66Q54.4 68.9 60.8 65.1Q53.9 62.2 47.5 66ZM59.2 53.8Q62.5 47.5 59.5 41.1Q56.2 47.4 59.2 53.8ZM71.9 41Q77.9 43.8 83.8 40.6Q77.8 37.8 71.9 41ZM85.5 27.8Q88.6 22.3 86.1 16.5Q83 22 85.5 27.8ZM100 14Q105.3 16.6 110.5 14Q105.3 11.4 100 14ZM28.4 84.5Q34.8 83.8 38 78.2Q31.6 79 28.4 84.5ZM33.5 67.5Q33.8 61.6 29.2 57.8Q28.9 63.7 33.5 67.5ZM40.1 51.1Q45.6 51.5 49.2 47.4Q43.7 47 40.1 51.1ZM48.3 35.3Q49.5 30.4 46.2 26.5Q45.1 31.4 48.3 35.3ZM58 20Q62.4 21.1 66 18.3Q61.6 17.1 58 20Z%22/%3E%3Ccircle cx=%22100%22 cy=%2214%22 r=%224%22/%3E%3Ccircle cx=%2294%22 cy=%228%22 r=%222.6%22/%3E%3Ccircle cx=%22106%22 cy=%2220%22 r=%222.6%22/%3E%3Ccircle cx=%2258%22 cy=%2220%22 r=%223.2%22/%3E%3Ccircle cx=%2253%22 cy=%2215%22 r=%222%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
.tpl-boho-terracotta .inv-intro__seal::after { content: ""; position: absolute; inset: 7px; border-radius: 50%; border: 1px dashed color-mix(in srgb, #fff 38%, transparent); }
.tpl-boho-terracotta .inv-intro__seal span { position: relative; }
.tpl-boho-terracotta .inv-intro__eyebrow { color: var(--bt-t1); font-size: .72rem; letter-spacing: .34em; font-weight: 500; padding-left: .34em; }
.tpl-boho-terracotta .inv-intro__title { color: var(--c-secondary); font-size: clamp(2.2rem, 9.5vw, 3.1rem); line-height: 1.05; }
.tpl-boho-terracotta .inv-intro__date { text-transform: uppercase; letter-spacing: .22em; font-size: .74rem; color: var(--c-text); padding: .5rem 1rem; border-block: 1px solid var(--bt-line); }
.tpl-boho-terracotta .inv-intro__open { background: var(--bt-t1); font-size: .78rem; font-weight: 500; letter-spacing: .24em; padding: 1rem 2.1rem; box-shadow: 0 0 0 4px var(--c-surface), 0 0 0 5px color-mix(in srgb, var(--bt-t1) 40%, transparent), 0 16px 30px -14px color-mix(in srgb, var(--bt-t1) 80%, #000); animation: none; }
.tpl-boho-terracotta .inv-intro__open:hover { background: color-mix(in srgb, var(--bt-t1) 85%, #000); }

/* ---- Hero: rising sun, rainbow arches, pampas ---------------------------- */
.bt-hero { min-height: min(100svh, 56rem); padding: 4.6rem 1.3rem 5.6rem; }
.bt-hero__glow { position: absolute; z-index: -1; top: 2rem; left: 50%; width: min(34rem, 120vw); aspect-ratio: 1; margin-left: calc(min(34rem, 120vw) / -2); border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--bt-sun) 26%, transparent), transparent 66%); pointer-events: none; }
.bt-hero__inner { gap: .95rem; }
.bt-hero__art { display: block; width: min(370px, 92vw); margin-bottom: -.2rem; }
.bt-hero__eyebrow { display: inline-flex; align-items: center; gap: .9rem; font-size: .74rem; font-weight: 500; letter-spacing: .4em; padding-left: .4em; color: var(--bt-t1); margin-top: .5rem; }
.bt-hero__eyebrow::before, .bt-hero__eyebrow::after { content: ""; width: 2rem; height: 1px; background: currentColor; opacity: .55; }
.bt-hero__names { color: var(--c-secondary); line-height: .98; letter-spacing: -.012em; gap: 0; }
.bt-hero__names .inv-hero__name { overflow-wrap: anywhere; }
.bt-hero__names .inv-hero__amp { font-family: var(--f-script); font-size: 1.1em; line-height: .8; color: var(--bt-t1); margin: .16em 0 -.02em; letter-spacing: 0; }
.bt-hero__names--single { font-size: clamp(2.6rem, 11vw, 5.2rem); }
.bt-hero__date { display: flex; align-items: center; justify-content: center; gap: clamp(.8rem, 4vw, 1.6rem); margin-top: .8rem; color: var(--c-secondary); }
.bt-hero__side { min-width: 6.2rem; padding: .55rem 0; border-block: 1px solid color-mix(in srgb, var(--bt-t1) 35%, transparent); text-transform: uppercase; font-size: .7rem; font-weight: 500; letter-spacing: .24em; }
.bt-hero__badge { display: grid; justify-items: center; line-height: 1; width: 5.7rem; padding: 1.25rem .3rem .85rem; border-radius: 999px 999px 12px 12px; background: var(--bt-t1); color: var(--c-on-primary); box-shadow: 0 0 0 4px var(--c-bg), 0 0 0 5px color-mix(in srgb, var(--bt-t1) 45%, transparent), 0 18px 30px -18px color-mix(in srgb, var(--bt-t1) 90%, #000); }
.bt-hero__month, .bt-hero__year { text-transform: uppercase; font-size: .62rem; font-weight: 500; letter-spacing: .2em; padding-left: .2em; }
.bt-hero__num { font-family: var(--f-display); font-size: 2.7rem; margin: .22em 0 .18em; }
.bt-hero__venue { font-family: var(--f-display); font-size: clamp(1.25rem, 4.2vw, 1.5rem); color: var(--c-secondary); margin-top: .2rem; }
.bt-hero__hashtag { font-size: .86rem; font-weight: 500; letter-spacing: .16em; color: var(--bt-t1); }
.tpl-boho-terracotta .inv-hero__scroll { color: var(--bt-t1); }
.tpl-boho-terracotta .bt-hero__num, .tpl-boho-terracotta .inv-countdown__value, .tpl-boho-terracotta .inv-session__day { font-variant-numeric: lining-nums tabular-nums; }
/* Cover photo: white type over a warm dusk overlay */
.tpl-boho-terracotta .inv-hero.has-cover::before { background: linear-gradient(180deg, color-mix(in srgb, var(--c-secondary) 30%, transparent), color-mix(in srgb, var(--c-secondary) 78%, transparent)); }
.tpl-boho-terracotta .inv-hero.has-cover .bt-hero__glow { opacity: .5; }
.tpl-boho-terracotta .inv-hero.has-cover .bt-hero__names,
.tpl-boho-terracotta .inv-hero.has-cover .bt-hero__eyebrow,
.tpl-boho-terracotta .inv-hero.has-cover .bt-hero__date,
.tpl-boho-terracotta .inv-hero.has-cover .bt-hero__venue,
.tpl-boho-terracotta .inv-hero.has-cover .bt-hero__hashtag,
.tpl-boho-terracotta .inv-hero.has-cover .inv-hero__amp { color: #fff; }
.tpl-boho-terracotta .inv-hero.has-cover .bt-hero__side { border-color: rgba(255, 255, 255, .5); }
.tpl-boho-terracotta .inv-hero.has-cover .bt-hero__badge { box-shadow: 0 0 0 4px rgba(255, 255, 255, .18), 0 0 0 5px rgba(255, 255, 255, .55); }
.tpl-boho-terracotta .inv-hero.has-cover .bt-pampas, .tpl-boho-terracotta .inv-hero.has-cover .bt-ink, .tpl-boho-terracotta .inv-hero.has-cover .bt-leaf { color: rgba(255, 255, 255, .85); }
.tpl-boho-terracotta .inv-hero.has-cover .bt-hero__names, .tpl-boho-terracotta .inv-hero.has-cover .bt-hero__venue { text-shadow: 0 2px 18px rgba(0, 0, 0, .3); }

/* Gentle "sunrise" on first paint */
@keyframes bt-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes bt-breathe { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.06); opacity: .8; } }
.bt-hero__art { animation: bt-rise 1.6s var(--ease-out) .2s both; }
.bt-hero__glow { animation: bt-breathe 9s ease-in-out infinite; }
body.is-locked .bt-hero__art { animation-play-state: paused; }
.is-static .bt-hero__art, .is-static .bt-hero__glow, .is-og .bt-hero__art { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .bt-hero__art, .bt-hero__glow { animation: none !important; opacity: 1; transform: none; }
}

/* ---- Section heads: a mini rainbow above each title ---------------------- */
.tpl-boho-terracotta .inv-section__head::before {
  content: ""; width: 38px; height: 19px; margin-bottom: .35rem;
  background:
    radial-gradient(circle at 50% 100%, var(--bt-sun) 0 6px, transparent 6.5px),
    radial-gradient(circle at 50% 100%, transparent 0 9px, var(--bt-t2) 9.5px 13px, transparent 13.5px),
    radial-gradient(circle at 50% 100%, transparent 0 15px, var(--bt-t1) 15.5px 19px, transparent 19.5px);
}
.tpl-boho-terracotta .inv-eyebrow { font-size: .72rem; font-weight: 500; color: var(--bt-t1); padding-left: .34em; }
.tpl-boho-terracotta .inv-section__title { color: var(--c-secondary); letter-spacing: -.01em; }
.tpl-boho-terracotta .inv-section__lead { font-size: .98rem; }
.tpl-boho-terracotta .inv-section__lead strong { color: var(--c-secondary); font-weight: 500; }
.tpl-boho-terracotta .inv-divider { color: var(--bt-t1); width: min(240px, 66%); }

/* ---- Cards --------------------------------------------------------------- */
.tpl-boho-terracotta .inv-card,
.tpl-boho-terracotta .inv-session,
.tpl-boho-terracotta .inv-guestbook__entry {
  background: color-mix(in srgb, var(--c-surface) 92%, transparent);
  border: 1px solid var(--bt-line);
  border-radius: var(--radius);
  box-shadow: var(--bt-shadow);
}
.tpl-boho-terracotta .inv-card { padding: clamp(1.6rem, 5vw, 2.3rem); }
.tpl-boho-terracotta .inv-rsvp__card { border-radius: 50% 50% var(--radius) var(--radius) / 6.5rem 6.5rem var(--radius) var(--radius); padding-top: clamp(4rem, 10vw, 4.6rem); }

/* ---- Welcome & people ---------------------------------------------------- */
.tpl-boho-terracotta .inv-welcome__guest { font-size: 1.12rem; color: var(--c-text); }
.tpl-boho-terracotta .inv-welcome__guest strong { font-family: var(--f-display); font-weight: 400; font-size: 1.35em; color: var(--bt-t1); }
.tpl-boho-terracotta .inv-welcome__message { font-weight: 300; font-size: clamp(1.15rem, 3.6vw, 1.35rem); line-height: 1.8; color: var(--c-text); }
.tpl-boho-terracotta .inv-welcome__message p:first-child { font-family: var(--f-display); font-weight: 400; font-size: 1.18em; line-height: 1.45; color: var(--c-secondary); }
.tpl-boho-terracotta .inv-people__photo { position: relative; overflow: visible; max-width: 22rem; padding: 9px; border-radius: 999px 999px 26px 26px; background: var(--c-surface); border: 1px solid var(--bt-line); box-shadow: 14px 16px 0 -1px color-mix(in srgb, var(--bt-t2) 55%, transparent), var(--bt-shadow); }
.tpl-boho-terracotta .inv-people__photo img { border-radius: 999px 999px 18px 18px; }
.tpl-boho-terracotta .inv-person__photo { width: 118px; height: 148px; border-radius: 999px 999px 14px 14px; border: 4px solid var(--c-surface); box-shadow: 0 0 0 1px var(--bt-line), var(--bt-shadow); }
.tpl-boho-terracotta .inv-person__role { font-size: .7rem; font-weight: 500; letter-spacing: .3em; padding-left: .3em; color: var(--bt-t1); }
.tpl-boho-terracotta .inv-person__name { font-size: clamp(1.8rem, 6vw, 2.3rem); line-height: 1.1; }
.tpl-boho-terracotta .inv-person__family { font-size: .95rem; }
.tpl-boho-terracotta .inv-people__amp { font-family: var(--f-script); font-size: 3.6rem; line-height: .8; color: var(--bt-t1); }
@media (min-width: 640px) { .tpl-boho-terracotta .inv-people__list { grid-template-columns: 1fr auto 1fr; grid-auto-flow: row; align-items: start; column-gap: 1.5rem; } .tpl-boho-terracotta .inv-people__amp { margin-top: 1.6rem; } }

/* ---- Countdown: arch tiles in four earth tones --------------------------- */
.tpl-boho-terracotta .inv-countdown__grid { max-width: 32rem; gap: clamp(.45rem, 2.2vw, .9rem); }
.tpl-boho-terracotta .inv-countdown__unit { aspect-ratio: 3 / 4; align-content: center; padding: 1.2rem .2rem .7rem; border: 0; border-radius: 999px 999px 14px 14px; background: color-mix(in srgb, var(--bt-t1) 16%, var(--c-surface)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bt-t1) 20%, transparent); }
.tpl-boho-terracotta .inv-countdown__unit:nth-child(2) { background: color-mix(in srgb, var(--bt-t2) 38%, var(--c-surface)); }
.tpl-boho-terracotta .inv-countdown__unit:nth-child(3) { background: color-mix(in srgb, var(--bt-t3) 38%, var(--c-surface)); }
.tpl-boho-terracotta .inv-countdown__unit:nth-child(4) { background: color-mix(in srgb, var(--bt-t4) 60%, var(--c-surface)); }
.tpl-boho-terracotta .inv-countdown__value { font-size: clamp(1.7rem, 7.4vw, 2.7rem); color: var(--c-secondary); }
.tpl-boho-terracotta .inv-countdown__label { font-size: clamp(.55rem, 1.8vw, .66rem); font-weight: 500; letter-spacing: .16em; padding-left: .16em; color: var(--c-text); }

/* ---- Sessions: arch date badge ------------------------------------------- */
.tpl-boho-terracotta .inv-sessions__list { max-width: 48rem; }
.tpl-boho-terracotta .inv-session { gap: clamp(1rem, 4vw, 1.5rem); padding: clamp(1.3rem, 4vw, 1.8rem); }
.tpl-boho-terracotta .inv-session__date { min-width: 4.6rem; padding: 1.1rem .4rem .75rem; border-radius: 999px 999px 12px 12px; background: var(--bt-t1); color: var(--c-on-primary); box-shadow: 0 0 0 3px var(--c-surface), 0 0 0 4px color-mix(in srgb, var(--bt-t1) 40%, transparent); }
.tpl-boho-terracotta .inv-session__day { font-size: 2.2rem; line-height: 1; }
.tpl-boho-terracotta .inv-session__month, .tpl-boho-terracotta .inv-session__year { font-size: .62rem; font-weight: 500; letter-spacing: .16em; color: inherit; opacity: .92; margin-top: .3rem; }
.tpl-boho-terracotta .inv-session__year { margin-top: .15rem; opacity: .8; }
.tpl-boho-terracotta .inv-session__title { font-size: clamp(1.5rem, 4.6vw, 1.85rem); }
.tpl-boho-terracotta .inv-session__time { color: var(--bt-t1); font-weight: 500; }
.tpl-boho-terracotta .inv-session__venue { font-weight: 500; color: var(--c-secondary); }
.tpl-boho-terracotta .inv-session__actions { gap: .45rem; }
.tpl-boho-terracotta .inv-session__actions .inv-btn { font-size: .66rem; letter-spacing: .08em; padding-inline: .75rem; gap: .3rem; min-height: 40px; }
.tpl-boho-terracotta .inv-session__actions .inv-icon { width: 1em; height: 1em; }
@media (max-width: 420px) {
  .tpl-boho-terracotta .inv-session__date { grid-auto-flow: column; align-items: baseline; gap: .5rem; padding: .45rem 1.1rem; border-radius: 999px; }
  .tpl-boho-terracotta .inv-session__day { font-size: 1.5rem; }
  .tpl-boho-terracotta .inv-session__month, .tpl-boho-terracotta .inv-session__year { margin-top: 0; }
}
@media (min-width: 768px) {
  .tpl-boho-terracotta .inv-sessions__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tpl-boho-terracotta .inv-sessions__list > :last-child:nth-child(odd) { grid-column: 1 / -1; width: min(100%, 30rem); justify-self: center; }
}
.tpl-boho-terracotta .inv-calendar__menu { border-radius: 16px; }
.tpl-boho-terracotta .inv-dress-code { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: .3rem .9rem; width: fit-content; max-width: 100%; margin-inline: auto; padding: .95rem 2rem; border-radius: 999px; background: color-mix(in srgb, var(--bt-t2) 26%, var(--c-surface)); border: 1px dashed color-mix(in srgb, var(--bt-t1) 45%, transparent); }
.tpl-boho-terracotta .inv-dress-code__label { font-size: .7rem; font-weight: 500; }
.tpl-boho-terracotta .inv-dress-code__value { font-size: 1.45rem; }

/* ---- Buttons & forms ----------------------------------------------------- */
.tpl-boho-terracotta .inv-btn { text-transform: uppercase; letter-spacing: .14em; font-size: .74rem; font-weight: 500; padding-inline: 1.35rem; }
.tpl-boho-terracotta .inv-btn--primary { min-height: 52px; background: var(--bt-t1); box-shadow: 0 14px 26px -16px color-mix(in srgb, var(--bt-t1) 90%, #000); }
.tpl-boho-terracotta .inv-btn--primary:hover { background: color-mix(in srgb, var(--bt-t1) 84%, #000); }
.tpl-boho-terracotta .inv-btn--ghost { color: var(--c-secondary); border-color: color-mix(in srgb, var(--bt-t1) 42%, transparent); background: color-mix(in srgb, var(--c-surface) 70%, transparent); }
.tpl-boho-terracotta .inv-btn--ghost:hover { background: color-mix(in srgb, var(--bt-t2) 26%, var(--c-surface)); border-color: var(--bt-t1); }
.tpl-boho-terracotta .inv-label { font-size: .72rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--c-muted); }
.tpl-boho-terracotta .inv-input { border-radius: 14px; background: var(--c-bg); border-color: color-mix(in srgb, var(--bt-t1) 28%, transparent); }
.tpl-boho-terracotta .inv-input:focus { border-color: var(--bt-t1); box-shadow: 0 0 0 4px color-mix(in srgb, var(--bt-t2) 40%, transparent); }
.tpl-boho-terracotta .inv-choice legend { margin-bottom: .2rem; }
.tpl-boho-terracotta .inv-choice__option span { border-radius: 999px; background: var(--c-bg); border-color: color-mix(in srgb, var(--bt-t1) 30%, transparent); }
.tpl-boho-terracotta .inv-choice__option:hover span { border-color: var(--bt-t1); }
.tpl-boho-terracotta .inv-choice__option input:checked + span { background: var(--bt-t1); border-color: var(--bt-t1); box-shadow: 0 0 0 3px var(--c-surface), 0 0 0 4px color-mix(in srgb, var(--bt-t1) 45%, transparent); }
.tpl-boho-terracotta .inv-privacy a, .tpl-boho-terracotta .inv-link-btn { color: var(--bt-t1); }
.tpl-boho-terracotta .inv-rsvp__thanks { color: var(--bt-t1); }
.tpl-boho-terracotta .inv-dropzone { border: 1.5px dashed color-mix(in srgb, var(--bt-t1) 50%, transparent); border-radius: 22px; background: color-mix(in srgb, var(--bt-t4) 20%, var(--c-surface)); }
.tpl-boho-terracotta .inv-dropzone:hover, .tpl-boho-terracotta .inv-dropzone.is-dragover { background: color-mix(in srgb, var(--bt-t2) 22%, var(--c-surface)); border-color: var(--bt-t1); }
.tpl-boho-terracotta .inv-dropzone .inv-icon { color: var(--bt-t1); }
.tpl-boho-terracotta .inv-dropzone__title { font-weight: 500; }
.tpl-boho-terracotta .inv-upload__item { border-radius: 14px; }
.tpl-boho-terracotta .inv-upload__bar i { background: var(--bt-t1); }

/* ---- Gallery: alternating arch frames ------------------------------------ */
.tpl-boho-terracotta .inv-gallery__grid { gap: .65rem; }
.tpl-boho-terracotta .inv-gallery__item { aspect-ratio: 4 / 5; border-radius: 16px; background: color-mix(in srgb, var(--bt-t4) 50%, var(--c-surface)); }
.tpl-boho-terracotta .inv-gallery__grid li:nth-child(4n+1) .inv-gallery__item, .tpl-boho-terracotta .inv-gallery__grid li:nth-child(4n+4) .inv-gallery__item { border-radius: 999px 999px 16px 16px; }

/* ---- Guestbook, gift, contact -------------------------------------------- */
.tpl-boho-terracotta .inv-guestbook__entry { position: relative; padding: 1.7rem 1.6rem 1.4rem 1.6rem; }
.tpl-boho-terracotta .inv-guestbook__entry::before { content: "\201C"; position: absolute; top: .4rem; right: 1.1rem; font-family: var(--f-display); font-size: 3.6rem; line-height: 1; color: color-mix(in srgb, var(--bt-t2) 80%, transparent); }
.tpl-boho-terracotta .inv-guestbook__entry blockquote { font-style: normal; font-size: 1.04rem; line-height: 1.7; color: var(--c-text); padding-right: 1.6rem; }
.tpl-boho-terracotta .inv-guestbook__author { font-family: var(--f-script); font-size: 2rem; line-height: 1.1; color: var(--bt-t1); margin-top: .4rem; }
.tpl-boho-terracotta .inv-gift__holder, .tpl-boho-terracotta .inv-contact__name { font-size: 1.4rem; }
.tpl-boho-terracotta .inv-gift__bank, .tpl-boho-terracotta .inv-contact__role { text-transform: uppercase; font-size: .7rem; font-weight: 500; letter-spacing: .2em; color: var(--bt-t1); }
.tpl-boho-terracotta .inv-gift__iban { padding: .45rem .9rem; border-radius: 12px; background: color-mix(in srgb, var(--bt-t4) 30%, var(--c-bg)); }
.tpl-boho-terracotta .inv-gift__iban code { color: var(--c-secondary); font-size: .88rem; }

/* ---- Footer & music ------------------------------------------------------ */
.tpl-boho-terracotta .inv-footer { position: relative; padding-top: 3rem; padding-bottom: 3.5rem; }
.tpl-boho-terracotta .inv-footer__ornament { width: min(230px, 62vw); color: var(--bt-t1); }
.tpl-boho-terracotta .inv-footer__names { font-family: var(--f-script); font-size: clamp(2.8rem, 11vw, 3.8rem); line-height: 1.15; color: var(--bt-t1); }
.tpl-boho-terracotta .inv-footer__hashtag { font-size: .82rem; font-weight: 500; letter-spacing: .16em; }
.tpl-boho-terracotta .inv-music { background: var(--bt-t1); box-shadow: 0 0 0 3px var(--c-bg), 0 0 0 4px color-mix(in srgb, var(--bt-t1) 45%, transparent), var(--bt-shadow); }

@media (min-width: 900px) {
  .bt { padding: 3.5rem 2rem 4rem; }
  .bt-sheet { border-radius: 50% 50% 36px 36px / 20rem 20rem 36px 36px; }
  .bt-hero { padding-top: 6.5rem; }
  .bt-band--arch { margin-inline: 2.5rem; border-radius: 50% 50% 0 0 / 15rem 15rem 0 0; }
  .bt-blob { width: 34rem; }
  .bt-blob--a { opacity: .22; }
  .bt-hero__art { width: 430px; }
  .bt-blob--a { left: -14rem; }
  .bt-blob--b { right: -15rem; }
  .bt-blob--c { left: -16rem; }
  .bt-palm--story { right: 3rem; }
  .bt-palm--info { left: 2rem; }
  .bt-pampas-deco { right: 4rem; }
}
