/*
 * Allina Reiki — Dromen en Reiki
 * Alleen laden op /reiki-en-dromen/
 * Alle componenten gebruiken de dr- prefix.
 */

:root {
  --dr-midnight:#17162d;
  --dr-indigo:#292446;
  --dr-violet:#665887;
  --dr-lilac:#9483ad;
  --dr-jade:#628d84;
  --dr-jade-dark:#41685f;
  --dr-moon:#f3efe8;
  --dr-paper:#fbf8f2;
  --dr-gold:#b99d62;
  --dr-ink:#342e40;
  --dr-copy:#675f6b;
  --dr-light:#fffdf8;
}

body:has(.dr-hero) .title_outer,
body:has(.dr-hero) .title_holder {
  display:none!important;
}
body:has(.dr-hero) .content,
body:has(.dr-hero) .content_inner {
  margin-top:0!important;
  background:var(--dr-paper);
}
.dr-hero,.dr-origin,.dr-cards,.dr-closing,
.dr-hero *,.dr-origin *,.dr-cards *,.dr-closing * {
  box-sizing:border-box;
}
.dr-hero > .full_section_inner,
.dr-origin > .full_section_inner,
.dr-cards > .full_section_inner,
.dr-closing > .full_section_inner {
  position:relative;
  z-index:2;
  display:grid;
  align-items:center;
  width:calc(100% - 48px);
  max-width:1180px;
  margin:0 auto;
}
.dr-hero > .full_section_inner > br,
.dr-origin > .full_section_inner > br,
.dr-cards > .full_section_inner > br,
.dr-closing > .full_section_inner > br {
  display:none!important;
}
.dr-hero__copy,.dr-hero__media,
.dr-origin__copy,.dr-origin__media,
.dr-cards__copy,.dr-cards__media,
.dr-closing__copy,.dr-closing__media {
  position:relative!important;
  float:none!important;
  width:auto!important;
  min-width:0;
  padding:0!important;
}
.dr-hero__copy,.dr-cards__copy,.dr-closing__copy {
  grid-column:1;
  grid-row:1;
}
.dr-hero__media,.dr-cards__media,.dr-closing__media {
  grid-column:2;
  grid-row:1;
}
.dr-origin__media {
  grid-column:1;
  grid-row:1;
}
.dr-origin__copy {
  grid-column:2;
  grid-row:1;
}
.dr-hero .wpb_content_element,
.dr-origin .wpb_content_element,
.dr-cards .wpb_content_element,
.dr-closing .wpb_content_element {
  margin:0!important;
}
.dr-hero p,.dr-origin p,.dr-cards p,.dr-closing p {
  margin:0 0 19px;
}

/* Dromerige hero */
.dr-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:680px;
  padding:76px 24px 84px;
  background:
    radial-gradient(circle at 78% 44%,rgba(148,131,173,.16),transparent 31%),
    radial-gradient(circle at 15% 82%,rgba(98,141,132,.11),transparent 28%),
    linear-gradient(145deg,var(--dr-paper),var(--dr-moon));
}
.dr-hero::before {
  content:"";
  position:absolute;
  right:clamp(20px,7vw,120px);
  top:50%;
  width:min(47vw,620px);
  aspect-ratio:1;
  transform:translateY(-50%);
  border:1px solid rgba(185,157,98,.34);
  border-left-color:rgba(148,131,173,.16);
  border-radius:50%;
  box-shadow:
    0 0 0 34px rgba(148,131,173,.035),
    0 0 0 70px rgba(98,141,132,.025),
    0 0 90px rgba(102,88,135,.10);
}
.dr-hero::after {
  content:"";
  position:absolute;
  right:clamp(54px,10vw,165px);
  top:50%;
  width:min(36vw,475px);
  aspect-ratio:1;
  transform:translateY(-50%);
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,253,248,.92),rgba(243,239,232,.62) 35%,rgba(148,131,173,.20) 72%,rgba(41,36,70,.16));
  box-shadow:
    inset -28px -18px 48px rgba(41,36,70,.18),
    0 28px 75px rgba(41,36,70,.18);
}
.dr-hero > .full_section_inner {
  grid-template-columns:minmax(0,.96fr) minmax(440px,1.04fr);
  gap:clamp(46px,7vw,92px);
}
.dr-hero__copy {
  z-index:5;
  padding:42px 0 42px 10px!important;
}
.dr-hero__copy::before {
  content:"";
  position:absolute;
  left:-14px;
  top:2px;
  width:118px;
  height:80px;
  border-top:1px solid rgba(185,157,98,.76);
  border-left:1px solid rgba(98,141,132,.56);
  border-radius:48px 0 0;
  transform:skewY(-7deg);
}
.dr-hero h1 {
  position:relative;
  z-index:2;
  margin:0 0 30px!important;
  color:var(--dr-ink)!important;
  font-family:"Fraunces",Georgia,serif!important;
  font-size:clamp(44px,4.8vw,66px)!important;
  font-weight:400!important;
  letter-spacing:-.045em!important;
  line-height:1.06!important;
  text-transform:none!important;
}
.dr-hero__copy strong {
  display:block;
  color:#50465c;
  font-family:"Fraunces",Georgia,serif;
  font-size:21px!important;
  font-weight:400;
  line-height:1.62;
}
.dr-hero__copy p {
  color:var(--dr-copy);
  font-size:14px;
  line-height:1.82;
}
.dr-hero__media {
  z-index:4;
  width:min(100%,500px)!important;
  justify-self:center;
}
.dr-hero__media::before,
.dr-origin__media::before,
.dr-cards__media::before,
.dr-closing__media::before {
  content:"";
  position:absolute;
  z-index:3;
  inset:-21px;
  padding:1px;
  border-radius:50%;
  background:conic-gradient(from 30deg,rgba(185,157,98,.72) 0 12%,transparent 12% 31%,rgba(98,141,132,.58) 31% 48%,transparent 48% 69%,rgba(148,131,173,.62) 69% 85%,transparent 85%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
.dr-hero__media img {
  display:block;
  width:100%!important;
  aspect-ratio:1;
  height:auto!important;
  object-fit:cover;
  border:10px solid rgba(255,253,248,.78);
  border-radius:50%;
  filter:saturate(.74) contrast(1.01) brightness(.88) hue-rotate(4deg);
  box-shadow:
    0 0 0 1px rgba(185,157,98,.35),
    0 30px 75px rgba(41,36,70,.26);
}
.dr-hero__media::after {
  content:"";
  position:absolute;
  z-index:5;
  right:-17px;
  top:42px;
  width:96px;
  height:96px;
  border:1px solid rgba(185,157,98,.58);
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  transform:rotate(-18deg);
}
.dr-actions {
  display:flex;
  margin-top:28px!important;
}
.dr-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 28px;
  color:#fff!important;
  background:linear-gradient(135deg,var(--dr-violet),var(--dr-jade-dark));
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  box-shadow:0 15px 35px rgba(23,22,45,.25);
  font-size:13px;
  font-weight:650;
  text-decoration:none!important;
  transition:transform .25s ease,box-shadow .25s ease;
}
.dr-button:hover {
  color:#fff!important;
  transform:translateY(-3px);
  box-shadow:0 21px 43px rgba(23,22,45,.34);
}

/* De maan en de oorsprong */
.dr-origin {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:98px 24px;
  background:
    radial-gradient(circle at 16% 80%,rgba(148,131,173,.13),transparent 29%),
    radial-gradient(circle at 85% 20%,rgba(98,141,132,.14),transparent 28%),
    var(--dr-moon);
}
.dr-origin::before {
  content:"";
  position:absolute;
  left:50%;
  top:-80px;
  bottom:-80px;
  width:86px;
  border-left:1px solid rgba(98,141,132,.34);
  border-right:1px solid rgba(185,157,98,.27);
  border-radius:48% 52% 57% 43% / 71% 67% 33% 29%;
  transform:rotate(-4deg);
}
.dr-origin > .full_section_inner {
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(52px,8vw,115px);
}
.dr-origin__copy {
  color:var(--dr-copy);
  font-size:16px;
  line-height:1.9;
}
.dr-origin__copy p:first-child {
  color:var(--dr-ink);
  font-family:"Fraunces",Georgia,serif;
  font-size:22px;
  line-height:1.7;
}
.dr-origin__copy .wpb_wrapper {
  position:relative;
  padding:36px 0;
}
.dr-origin__copy .wpb_wrapper::before {
  content:"";
  position:absolute;
  left:-24px;
  top:0;
  width:92px;
  height:58px;
  border-top:1px solid rgba(185,157,98,.62);
  border-left:1px solid rgba(102,88,135,.46);
  border-radius:38px 0 0;
}
.dr-origin__media {
  padding:34px!important;
  background:rgba(255,253,248,.67);
  border-radius:50%;
}
.dr-origin__media img {
  display:block;
  width:100%!important;
  height:auto!important;
  object-fit:contain;
  border-radius:50%;
  filter:saturate(.76) sepia(.10);
  box-shadow:0 26px 58px rgba(23,22,45,.18);
}

/* Kaartlegging */
.dr-cards {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:102px 24px;
  background:
    radial-gradient(circle at 83% 19%,rgba(148,131,173,.23),transparent 27%),
    radial-gradient(circle at 16% 84%,rgba(98,141,132,.20),transparent 31%),
    linear-gradient(145deg,var(--dr-midnight),var(--dr-indigo));
}
.dr-cards::before {
  content:"";
  position:absolute;
  left:51%;
  top:50%;
  width:550px;
  height:550px;
  transform:translate(-50%,-50%) rotate(-10deg);
  border:1px solid rgba(185,157,98,.18);
  border-top-color:transparent;
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(148,131,173,.024),0 0 0 84px rgba(98,141,132,.018);
}
.dr-cards > .full_section_inner {
  grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);
  gap:clamp(54px,8vw,112px);
}
.dr-cards h3 {
  margin:0 0 27px!important;
  color:var(--dr-light)!important;
  font-family:"Fraunces",Georgia,serif!important;
  font-size:clamp(34px,4vw,52px)!important;
  font-weight:400!important;
  letter-spacing:-.035em!important;
  line-height:1.12!important;
  text-transform:none!important;
}
.dr-cards__copy {
  color:rgba(255,253,248,.78);
  font-size:15px;
  line-height:1.86;
}
.dr-cards__media {
  padding:30px!important;
  background:rgba(255,253,248,.09);
  border:1px solid rgba(185,157,98,.20);
  border-radius:42px 120px 42px 120px;
}
.dr-cards__media img {
  display:block;
  width:100%!important;
  height:auto!important;
  border-radius:28px 90px 28px 90px;
  filter:saturate(.70) brightness(.82) contrast(1.06);
  box-shadow:0 30px 65px rgba(7,6,17,.43);
}

/* Afsluiting */
.dr-closing {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:94px 24px 104px;
  background:
    radial-gradient(circle at 82% 22%,rgba(98,141,132,.17),transparent 28%),
    radial-gradient(circle at 17% 82%,rgba(148,131,173,.14),transparent 30%),
    linear-gradient(138deg,#ebe4d9,var(--dr-paper));
}
.dr-closing > .full_section_inner {
  grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);
  gap:clamp(48px,8vw,106px);
}
.dr-closing__copy p {
  color:var(--dr-ink);
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(22px,2.35vw,31px);
  font-style:italic;
  line-height:1.62;
}
.dr-closing__media {
  padding:26px!important;
  background:rgba(255,253,248,.72);
  border-radius:50%;
}
.dr-closing__media img {
  display:block;
  width:100%!important;
  height:305px!important;
  object-fit:cover;
  border-radius:50%;
  filter:saturate(.74) brightness(.90);
  box-shadow:0 25px 55px rgba(23,22,45,.19);
}

@media(max-width:960px) {
  .dr-hero > .full_section_inner,
  .dr-origin > .full_section_inner,
  .dr-cards > .full_section_inner,
  .dr-closing > .full_section_inner {
    grid-template-columns:1fr 1fr;
    gap:40px;
  }
  .dr-hero h1 {font-size:50px!important;}
}
@media(max-width:760px) {
  .dr-hero,.dr-origin,.dr-cards,.dr-closing {
    padding:58px 20px 66px;
  }
  .dr-hero {
    min-height:0;
    background:
      radial-gradient(circle at 80% 74%,rgba(148,131,173,.16),transparent 29%),
      linear-gradient(145deg,var(--dr-paper),var(--dr-moon));
  }
  .dr-hero > .full_section_inner,
  .dr-origin > .full_section_inner,
  .dr-cards > .full_section_inner,
  .dr-closing > .full_section_inner {
    display:flex;
    width:100%;
    flex-direction:column;
    gap:36px;
  }
  .dr-hero__copy,.dr-origin__copy,.dr-cards__copy,.dr-closing__copy {order:1;}
  .dr-hero__media,.dr-origin__media,.dr-cards__media,.dr-closing__media {order:2;}
  .dr-hero__copy,.dr-hero__media,
  .dr-origin__copy,.dr-origin__media,
  .dr-cards__copy,.dr-cards__media,
  .dr-closing__copy,.dr-closing__media {
    grid-column:auto;
    grid-row:auto;
  }
  .dr-hero h1 {font-size:41px!important;}
  .dr-hero::before,.dr-hero::after {display:none;}
  .dr-hero__media {max-width:360px;}
  .dr-hero__media img {width:100%!important;height:auto!important;border-radius:50%;}
  .dr-origin__media,.dr-closing__media {width:100%!important;max-width:390px;margin:auto;}
  .dr-cards__media {max-width:430px;margin:auto;}
  .dr-closing__media img {height:295px!important;}
}
@media(prefers-reduced-motion:no-preference) {
  .dr-hero__media::before,
  .dr-origin__media::before,
  .dr-cards__media::before,
  .dr-closing__media::before {
    animation:dr-dream-breathe 9s ease-in-out infinite;
  }
}
@keyframes dr-dream-breathe {
  0%,100% {opacity:.54;transform:rotate(-4deg) scale(.98);}
  50% {opacity:.92;transform:rotate(2deg) scale(1.02);}
}