/* Velora presentation. Text, images, sections and colours remain editable in WordPress. */
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
}
a {
  transition: color 0.2s;
}
a:hover {
  color: #956bae;
}
button,
input,
select,
textarea {
  font: inherit;
}
.wp-site-blocks {
  overflow: clip;
}
.wp-site-blocks > header {
  position: relative;
  z-index: 5;
}
.velora-header {
  max-width: 1300px;
  margin: auto !important;
  padding: 22px 50px !important;
  min-height: 102px;
  gap: 26px !important;
}
.velora-logo {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 43px;
  letter-spacing: -3px;
  line-height: 1;
  margin: 0 !important;
}
.velora-logo span {
  display: inline-block;
  vertical-align: top;
  font-family: Arial, sans-serif;
  font-size: 22px;
  letter-spacing: 0;
  margin-left: 4px;
  margin-top: 3px;
  color: #9c7daa;
}
.velora-header .wp-block-navigation {
  font-size: 12px;
  gap: 27px;
}
.velora-header .wp-block-button__link {
  font-size: 12px;
  padding: 10px 19px;
  border-color: #d8cfe0;
}
.velora-header .wp-block-buttons {
  margin: 0;
}
.velora-hero {
  max-width: 1400px;
  margin: 0 auto !important;
  padding: 22px 70px 65px;
  position: relative;
  background:
    radial-gradient(ellipse at 60% 40%, #ece0f980, transparent 55%),
    radial-gradient(ellipse at 10% 80%, #f8e8ee80, transparent 45%);
}
.velora-hero-columns {
  gap: 30px !important;
  align-items: center !important;
  margin: 0 !important;
}
.velora-hero-copy {
  flex-basis: 53% !important;
  z-index: 2;
  padding-top: 15px;
}
.velora-eyebrow {
  font-size: 10px !important;
  letter-spacing: 0.18em;
  font-weight: 600;
  color: #7d658e;
}
.velora-hero-title {
  font-size: clamp(47px, 5.9vw, 82px) !important;
  letter-spacing: -0.057em !important;
  line-height: 1.045 !important;
  margin: 29px 0 25px !important;
  font-weight: 400;
}
.velora-hero-title em {
  font-family: Georgia, serif;
  font-weight: 400;
  color: #8c669e;
  letter-spacing: -0.065em;
  font-size: 0.92em;
}
.velora-hero-description {
  font-size: 15px;
  line-height: 1.9;
  color: #796c81;
  margin-bottom: 29px !important;
}
.velora-hero .wp-block-buttons {
  gap: 12px;
}
.velora-hero .wp-block-button__link {
  font-size: 12px;
  padding: 15px 20px;
}
.velora-hero .is-style-outline .wp-block-button__link {
  border: 1px solid #d8cce2;
}
.velora-hero-caption {
  font-size: 9px;
  letter-spacing: 0.12em;
  color: #8d7f98;
  margin-top: 30px !important;
}
.velora-hero-visual {
  position: relative;
  flex-basis: 47% !important;
  padding: 12px 0 20px 20px;
}
.velora-hero-visual:before {
  content: "";
  position: absolute;
  inset: 0 16px 6px 0;
  border: 1px solid #d8c9e1;
  border-radius: 48% 48% 14px 14px;
  transform: rotate(4deg);
  z-index: 0;
}
.velora-hero-image {
  position: relative;
  margin: 0 !important;
  aspect-ratio: 4/5;
  max-height: 560px;
  overflow: hidden;
  border-radius: 48% 48% 14px 14px;
  box-shadow: 0 20px 60px #5d3e6510;
}
.velora-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  object-position: center 35%;
}
.velora-float-card {
  position: absolute;
  left: -45px;
  bottom: 44px;
  background: #fffc;
  border: 1px solid white;
  border-radius: 17px;
  backdrop-filter: blur(20px);
  padding: 19px 25px;
  box-shadow: 0 16px 55px #34203b19;
  max-width: 270px;
}
.velora-mini-label {
  font-size: 8px !important;
  letter-spacing: 0.13em;
  font-weight: 600;
  color: #8c6b9e;
}
.velora-voice-quote {
  font-size: 16px !important;
  line-height: 1.4;
  letter-spacing: -0.02em;
  margin: 10px 0 !important;
}
.velora-mini-link {
  font-size: 9px;
  margin-top: 11px !important;
}
.velora-image-label {
  position: absolute;
  right: -32px;
  top: 50%;
  writing-mode: vertical-rl;
  font-size: 8px;
  letter-spacing: 0.24em;
  color: #947f9c;
}
.velora-marquee {
  border-top: 1px solid #e9e0ed;
  border-bottom: 1px solid #e9e0ed;
  padding: 22px 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 65px;
  background: #f7f2f9;
  margin: 0 !important;
}
.velora-marquee p {
  margin: 0 !important;
}
.velora-marquee-title {
  font-family: Georgia, serif;
  font-size: 18px;
  font-style: italic;
  color: #83718d;
}
.velora-marquee-places {
  font-size: 9px;
  letter-spacing: 0.18em;
  color: #8a7498;
}
.velora-section {
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 78px 36px;
}
.velora-section-heading {
  text-align: center;
  margin-bottom: 37px;
}
.velora-section-heading h2 {
  font-size: 42px;
  margin: 14px 0 !important;
  font-weight: 400;
}
.velora-section h2 em,
.velora-assistant-section h2 em,
.velora-business-section h2 em,
.velora-partners h1 em,
.velora-policy h1 em {
  font-family: Georgia, serif;
  font-weight: 400;
  color: #896a9b;
}
.velora-section-description {
  font-size: 13px;
  color: #84758d;
}
.velora-section .wp-block-columns {
  gap: 18px;
}
.velora-category {
  background: #f5e8ee;
  border: 1px solid #eadce6;
  border-radius: 15px;
  padding: 25px 23px;
  height: 100%;
  position: relative;
  transition: transform 0.25s;
}
.velora-category:hover {
  transform: translateY(-5px);
}
.velora-category.lilac {
  background: #eee8f6;
  border-color: #e3d9ed;
}
.velora-category.peach {
  background: #f8eee7;
  border-color: #eee1d7;
}
.velora-category.sage {
  background: #edf0e9;
  border-color: #dfe5d7;
}
.velora-category-symbol {
  font-size: 43px;
  line-height: 1.1;
  margin: 0 0 34px !important;
  color: #a085a4;
}
.velora-category h3 {
  font-size: 23px;
  margin: 0 0 13px !important;
  letter-spacing: -0.03em;
}
.velora-category h3 a {
  display: flex;
  justify-content: space-between;
}
.velora-category h3 span {
  font-size: 18px;
  font-weight: 300;
}
.velora-category > p:last-child {
  font-size: 11px;
  color: #807187;
  line-height: 1.8;
}
.velora-assistant-section {
  max-width: 1200px;
  margin: 15px auto !important;
  border-radius: 24px;
  background: #f0eaf6;
  overflow: hidden;
  padding: 35px 65px;
}
.velora-assistant-section .wp-block-columns {
  align-items: center !important;
  gap: 70px !important;
  margin: 0 !important;
}
.velora-assistant-art {
  position: relative;
  text-align: center;
  padding: 40px 0;
}
.velora-orb-art {
  width: 220px;
  height: 220px;
  border-radius: 50%;
  margin: auto !important;
  display: grid;
  place-items: center;
  background: radial-gradient(
    circle at 32% 24%,
    #ffffffe6 0,
    #f6e5facc 10%,
    #d7bbdf 35%,
    #a893c6 60%,
    #d1c3dd 80%
  );
  box-shadow:
    inset 15px 10px 25px #fff9,
    inset -13px -16px 25px #88729d55,
    0 22px 60px #a383b54d;
  position: relative;
}
.velora-orb-art:before,
.velora-orb-art:after {
  content: "";
  position: absolute;
  inset: -27px;
  border: 1px solid #c7b3d74d;
  border-radius: 50%;
  transform: rotate(-25deg) scaleY(0.7);
  box-shadow: 0 0 0 18px #d6c8e226;
}
.velora-orb-art:after {
  inset: -45px;
  transform: rotate(35deg) scaleY(0.75);
  box-shadow: none;
}
.velora-large-star {
  font-size: 97px;
  color: #fff9;
  margin: 0 !important;
  line-height: 1;
  filter: drop-shadow(0 8px 8px #725b9755);
}
.velora-orb-caption {
  font-size: 8px;
  letter-spacing: 0.2em;
  color: #9881a8;
  margin-top: 60px !important;
}
.velora-assistant-copy h2 {
  font-size: 49px;
  margin: 19px 0 !important;
}
.velora-assistant-copy > p:not(.velora-eyebrow) {
  font-size: 13px;
  line-height: 1.9;
  color: #7b6b85;
}
.velora-small-note {
  font-size: 11px !important;
  color: #87758f;
}
.velora-assistant-copy .wp-block-button__link {
  font-size: 12px;
}
.velora-step {
  padding: 10px 20px;
}
.velora-step-number {
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 38px;
  color: #b49bc2;
}
.velora-step h3 {
  font-size: 24px;
}
.velora-step > p:last-child {
  font-size: 13px;
  color: #82718c;
  line-height: 1.9;
}
.velora-business-section {
  max-width: 1200px;
  margin: 0 auto 65px !important;
  padding: 50px 65px;
  border-radius: 24px;
  background:
    radial-gradient(ellipse at 100% 0, #e7cddd, transparent 60%), #eee5f3;
}
.velora-business-section .wp-block-columns {
  align-items: center !important;
  gap: 60px !important;
  margin: 0 !important;
}
.velora-business-section h2 {
  font-size: 46px;
  margin: 18px 0 !important;
}
.velora-business-section p {
  font-size: 13px;
  color: #7c6785;
}
.velora-business-section .wp-block-button__link {
  font-size: 11px;
  padding: 13px 18px;
}
.velora-business-card {
  background: #fffa;
  border: 1px solid #fff;
  border-radius: 20px;
  padding: 30px 35px;
  max-width: 350px;
  margin-left: auto !important;
  transform: rotate(2deg);
  box-shadow: 0 15px 40px #6545730d;
}
.velora-business-card h3 {
  font-size: 31px;
  margin: 20px 0 !important;
}
.velora-business-card > p:not(.velora-mini-label) {
  line-height: 2.4;
}
.velora-footer {
  border-top: 1px solid #e9e1ee;
  padding: 48px 50px;
  max-width: 1300px;
  margin: auto !important;
}
.velora-footer .wp-block-columns {
  gap: 60px;
}
.velora-footer .velora-logo {
  font-size: 37px;
}
.velora-footer p:not(.velora-logo) {
  font-size: 11px;
  line-height: 2.1;
  color: #85778d;
}
.velora-page {
  padding: 15px 45px 70px !important;
  max-width: 1290px;
  margin: 0 auto;
}
.velora-page > .wp-block-post-content {
  max-width: 1200px;
}
.velora-partners,
.velora-policy {
  max-width: 900px;
  margin: 40px auto !important;
}
.velora-partners h1,
.velora-policy h1 {
  font-size: 64px;
}
.velora-partners > p,
.velora-policy > p {
  max-width: 740px;
  color: #7e6b88;
}
.velora-partners h2,
.velora-policy h2 {
  margin-top: 40px;
}
.velora-partners .wp-block-columns {
  margin-top: 30px;
}
.velora-partners .wp-block-column {
  padding: 24px;
  background: #f3edf7;
  border-radius: 16px;
  font-size: 14px;
}
.wp-block-button__link:hover {
  opacity: 0.88;
}
:focus-visible {
  outline: 3px solid #a880c1;
  outline-offset: 4px;
}
@media (min-width: 1500px) {
  .velora-hero {
    padding-top: 35px;
    padding-bottom: 85px;
  }
  .velora-hero-image {
    max-height: 640px;
  }
  .velora-hero-title {
    font-size: 89px !important;
  }
}
@media (max-width: 1050px) {
  .velora-header {
    padding: 20px 30px !important;
    gap: 15px !important;
  }
  .velora-header .wp-block-navigation {
    gap: 18px;
    font-size: 11px;
  }
  .velora-hero {
    padding: 25px 40px 55px;
  }
  .velora-hero-title {
    font-size: 61px !important;
  }
  .velora-hero .wp-block-button__link {
    padding: 12px 15px;
    font-size: 11px;
  }
  .velora-float-card {
    left: -20px;
    padding: 15px 19px;
  }
  .velora-assistant-section,
  .velora-business-section {
    margin-left: 25px !important;
    margin-right: 25px !important;
    padding: 35px;
  }
  .velora-assistant-section .wp-block-columns {
    gap: 35px !important;
  }
  .velora-page {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  .velora-header > .wp-block-buttons {
    display: none;
  }
  .velora-orb-art {
    width: 185px;
    height: 185px;
  }
  .velora-marquee {
    gap: 25px;
  }
}
@media (max-width: 781px) {
  .velora-header {
    min-height: 78px;
    padding: 17px 25px !important;
  }
  .velora-logo {
    font-size: 37px;
  }
  .velora-hero {
    padding: 16px 25px 35px;
  }
  .velora-hero-copy {
    padding: 0;
    text-align: center;
  }
  .velora-hero-title {
    font-size: 64px !important;
  }
  .velora-hero .wp-block-buttons {
    justify-content: center;
  }
  .velora-hero-description br {
    display: none;
  }
  .velora-hero-description {
    max-width: 400px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .velora-hero-visual {
    max-width: 420px;
    margin: 15px auto 0 !important;
    padding-left: 15px;
  }
  .velora-hero-image {
    max-height: 440px;
  }
  .velora-float-card {
    left: -10px;
    bottom: 35px;
    text-align: left;
  }
  .velora-hero-columns {
    gap: 10px !important;
  }
  .velora-section {
    padding: 55px 25px;
  }
  .velora-section-heading h2 {
    font-size: 35px;
  }
  .velora-section > .wp-block-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .velora-category {
    padding: 21px;
  }
  .velora-category-symbol {
    margin-bottom: 20px !important;
  }
  .velora-assistant-section .wp-block-columns {
    gap: 0 !important;
  }
  .velora-assistant-art {
    padding: 35px 0 15px;
  }
  .velora-assistant-copy {
    text-align: center;
  }
  .velora-assistant-copy .wp-block-buttons {
    justify-content: center;
  }
  .velora-assistant-copy h2 {
    font-size: 42px;
  }
  .velora-marquee {
    display: block;
    text-align: center;
    padding: 20px;
  }
  .velora-marquee-places {
    margin-top: 9px !important;
    font-size: 8px;
  }
  .velora-step {
    padding: 0;
  }
  .velora-business-section {
    padding: 35px 25px;
  }
  .velora-business-section h2 {
    font-size: 42px;
  }
  .velora-business-card {
    margin: 20px auto 0 !important;
    transform: none;
    max-width: none;
  }
  .velora-business-section .wp-block-columns {
    gap: 20px !important;
  }
  .velora-footer {
    padding: 35px 25px;
  }
  .velora-footer .wp-block-columns {
    gap: 25px;
  }
  .velora-partners h1,
  .velora-policy h1 {
    font-size: 44px;
  }
}
@media (max-width: 420px) {
  .velora-hero-title {
    font-size: 52px !important;
  }
  .velora-eyebrow {
    font-size: 8px !important;
  }
  .velora-hero .wp-block-buttons {
    gap: 8px;
  }
  .velora-hero .wp-block-button__link {
    font-size: 10px;
  }
  .velora-hero-caption {
    font-size: 8px;
  }
  .velora-float-card {
    max-width: 230px;
  }
  .velora-hero-visual {
    margin-top: 20px !important;
  }
  .velora-category h3 {
    font-size: 21px;
  }
  .velora-section-heading h2 {
    font-size: 31px;
  }
  .velora-category > p:last-child {
    font-size: 10px;
  }
  .velora-section .wp-block-columns {
    gap: 12px;
  }
  .velora-assistant-section {
    padding: 25px;
  }
  .velora-page {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .velora-image-label {
    right: -19px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  * {
    transition: none !important;
    animation: none !important;
  }
}

/* Keep explicit editorial line breaks readable at mobile sizes. */
@media (max-width: 781px) {
  .velora-hero-description br {
    display: initial;
  }
}
.velora-hero-title em,
.velora-section h2 em,
.velora-assistant-section h2 em,
.velora-business-section h2 em {
  color: var(--wp--preset--color--orchid, #7852a3);
}

.velora-mobile-account {
  display: none !important;
}
@media (max-width: 1050px) {
  .velora-mobile-account {
    display: flex !important;
  }
}

/* Six service categories share one row; small screens scroll horizontally. */
.wp-block-columns.velora-category-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:stretch!important}
.velora-category-grid>.wp-block-column{min-width:0;margin:0!important}
.velora-category-grid .velora-category{height:100%;box-sizing:border-box;padding:24px 18px}
.velora-category-grid .velora-category h3{font-size:20px}
.velora-category-grid .velora-category>p:last-child{font-size:12px}
.velora-rewards-promo{margin:64px auto;padding:52px;border:1px solid #ead8d5;border-radius:28px;background:linear-gradient(120deg,#fbefed,#f6f0df);max-width:1180px;box-sizing:border-box}
.velora-rewards-promo>.wp-block-columns{gap:56px;align-items:center!important}
.velora-rewards-promo h2{font-size:clamp(32px,4vw,54px);line-height:1.12;margin:18px 0}
.velora-rewards-promo h2 em{color:#986a7e}
.velora-rewards-promo p{line-height:1.8}
.velora-rewards-promo .velora-rewards-note{font-size:12px;color:#716670;margin-top:22px}
.velora-rewards-steps{padding:32px;border:1px solid #fff;border-radius:24px;background:#ffffff80;box-shadow:0 16px 50px #a68b9a14}
.velora-rewards-steps h3{font-size:27px;line-height:1.25}
.velora-rewards-star{font-size:52px;color:#b18f65;margin:0!important}
@media(max-width:1000px){.wp-block-columns.velora-category-grid{grid-template-columns:repeat(6,160px);overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:14px}.velora-category-grid>.wp-block-column{scroll-snap-align:start}.velora-rewards-promo{padding:28px;margin:40px 16px}.velora-rewards-promo>.wp-block-columns{gap:24px}.velora-rewards-steps{padding:24px}}

.velora-category .velora-service-icon{margin:0 0 24px!important;height:56px}.velora-service-icon img{width:56px;height:56px;object-fit:contain}.velora-reward-image{margin:0!important}.velora-reward-image img{width:100%;height:auto;max-height:390px;object-fit:cover;border-radius:20px;display:block}
