/*
Theme Name: Twenty Twenty-Three
Theme URI: https://wordpress.org/themes/twentytwentythree
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Three is designed to take advantage of the new design tools introduced in WordPress 6.1. With a clean, blank base as a starting point, this default theme includes ten diverse style variations created by members of the WordPress community. Whether you want to build a complex or incredibly simple website, you can do it quickly and intuitively through the bundled styles or dive into creation and full customization yourself.
Requires at least: 6.1
Tested up to: 6.9
Requires PHP: 5.6
Version: 1.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: twentytwentythree
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
:root {
    --primary: #207a1b;
    --secondary: #c9d406;
    --tertiary: #10b981;
    --dark: #95842c;
    --darker: #0f3e06;
    --light: #f1f5f9;
    --text-primary: #ffffff;
    --text-secondary: #cbd5e1;
    --border: rgba(255, 255, 255, 0.1);
    --wp--preset--spacing--30: 0px;
}
:root :where(.wp-block-template-part) {
    text-transform: none!important;
}
.wp-block-media-text__media img, .wp-block-media-text__media video {
  max-width: 30vw;
  display: none;
}
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-thumb {
    background: #461034;
    border-radius: 5px;
}
::-webkit-scrollbar-track {
    background: rgb(81 15 78 / 57%);
}
::selection {
    background: var(--primary);
    color: white;
}

html {
  scroll-behavior: smooth;
}
body {
  background: linear-gradient(135deg, #0f3e06 0%, #e76df6 50%, #95842c 100%);
  margin: 0px;
  min-height: 100vh;
  background-repeat: no-repeat;
}
#orb-1 {
      width: 320px; height: 320px;
      background: radial-gradient(circle at 35% 35%, #f9a06a, #e85a20 60%, #b83a10);
      top: -80px; right: 5%;
      animation-duration: 18s;
      animation-delay: 0s;
      filter: blur(0px);
      z-index: -1;
      border-radius: 50%;
      position: absolute;
      box-shadow: inset -20px -20px 40px rgba(0,0,0,0.25), 0 20px 60px rgba(200,80,20,0.3);
    }
#orb-2 {
      width: 260px; height: 260px;
      background: radial-gradient(circle at 35% 35%, #f9a06a, #e85a20 60%, #b83a10);
      bottom: 0%; 
      left: -60px;
      animation-duration: 22s;
      animation-delay: -6s;
      filter: blur(10px);
      border-radius: 50%;
      position: absolute;
      box-shadow: inset -15px -15px 35px rgba(0,0,0,0.25), 0 15px 50px rgba(200,80,20,0.25);
      opacity: 0.7;
    }
#orb-3 {
width: 180px;
    height: 180px;
    background: radial-gradient(circle at 35% 35%, #f9b07a, #e87030 60%, #c04a18);
    top: 46%;
    left: 4%;
    animation-duration: 26s;
    animation-delay: -3s;
    filter: blur(20px);
    box-shadow: inset -12px -12px 28px rgba(0, 0, 0, 0.2), 0 12px 40px rgba(200, 80, 20, 0.2);
    position: absolute;
    border-radius: 50%;
    opacity: 0.79;
    z-index: -2;
}
#orb-4 {
  width: 180px;
    height: 180px;
    background: radial-gradient(circle at 35% 35%, #f9b07a, #e87030 60%, #c04a18);
    top: 66%;
    right: 10%;
    animation-duration: 26s;
    animation-delay: -3s;
    filter: blur(0px);
    box-shadow: inset -12px -12px 28px rgba(0, 0, 0, 0.2), 0 12px 40px rgba(200, 80, 20, 0.2);
    position: absolute;
    border-radius: 50%;
    opacity: 0.6;
    z-index: -1;
}
    .wavy {
  clip-path: shape(from 0 25px,curve to 4.17% 15.5px with 2.78% 15px,curve to 6.94% 9px with 5.56% 16px,curve to 9.72% 20px with 8.33% 2px,curve to 12.5% 44px with 11.11% 38px,curve to 15.28% 27.5px with 13.89% 50px,curve to 18.06% 20.5px with 16.67% 5px,curve to 20.83% 23.5px with 19.44% 36px,curve to 23.61% 10.5px with 22.22% 11px,curve to 26.39% 5.5px with 25% 10px,curve to 29.17% 9.5px with 27.78% 1px,curve to 31.94% 11.5px with 30.56% 18px,curve to 34.72% 20px with 33.33% 5px,curve to 37.5% 23px with 36.11% 35px,curve to 40.28% 28px with 38.89% 11px,curve to 43.06% 24.5px with 41.67% 45px,curve to 45.83% 25.5px with 44.44% 4px,curve to 48.61% 44.5px with 47.22% 47px,curve to 51.39% 31px with 50% 42px,curve to 54.17% 26.5px with 52.78% 20px,curve to 56.94% 23.5px with 55.56% 33px,curve to 59.72% 13.5px with 58.33% 14px,curve to 62.5% 26.5px with 61.11% 13px,curve to 65.28% 41px with 63.89% 40px,curve to 68.06% 28.5px with 66.67% 42px,curve to 70.83% 7.5px with 69.44% 15px,curve to 73.61% 12.5px with 72.22% 0px,curve to 76.39% 27.5px with 75% 25px,curve to 79.17% 28px with 77.78% 30px,curve to 81.94% 27px with 80.56% 26px,curve to 84.72% 34px with 83.33% 28px,curve to 87.5% 28px with 86.11% 40px,curve to 90.28% 31px with 88.89% 16px,curve to 93.06% 37px with 91.67% 46px,curve to 95.83% 23.5px with 94.44% 28px,curve to 100% 25px with 97.22% 19px,vline to calc(100% - 25px),curve to 95.83% calc(100% - 11px) with 97.22% calc(100% - 5px),curve to 93.06% calc(100% - 22.5px) with 94.44% calc(100% - 17px),curve to 90.28% calc(100% - 29.5px) with 91.67% calc(100% - 28px),curve to 87.5% calc(100% - 23.5px) with 88.89% calc(100% - 31px),curve to 84.72% calc(100% - 32px) with 86.11% calc(100% - 16px),curve to 81.94% calc(100% - 30px) with 83.33% calc(100% - 48px),curve to 79.17% calc(100% - 27px) with 80.56% calc(100% - 12px),curve to 76.39% calc(100% - 41px) with 77.78% calc(100% - 42px),curve to 73.61% calc(100% - 33px) with 75% calc(100% - 40px),curve to 70.83% calc(100% - 24px) with 72.22% calc(100% - 26px),curve to 68.06% calc(100% - 29px) with 69.44% calc(100% - 22px),curve to 65.28% calc(100% - 34px) with 66.67% calc(100% - 36px),curve to 62.5% calc(100% - 28.5px) with 63.89% calc(100% - 32px),curve to 59.72% calc(100% - 25px) with 61.11% calc(100% - 25px),curve to 56.94% calc(100% - 19px) with 58.33% calc(100% - 25px),curve to 54.17% calc(100% - 14.5px) with 55.56% calc(100% - 13px),curve to 51.39% calc(100% - 13px) with 52.78% calc(100% - 16px),curve to 48.61% calc(100% - 16px) with 50% calc(100% - 10px),curve to 45.83% calc(100% - 18.5px) with 47.22% calc(100% - 22px),curve to 43.06% calc(100% - 8.5px) with 44.44% calc(100% - 15px),curve to 40.28% calc(100% - 24px) with 41.67% calc(100% - 2px),curve to 37.5% calc(100% - 40px) with 38.89% calc(100% - 46px),curve to 34.72% calc(100% - 36.5px) with 36.11% calc(100% - 34px),curve to 31.94% calc(100% - 19.5px) with 33.33% calc(100% - 39px),curve to 29.17% calc(100% - 11px) with 30.56% calc(100% - 0px),curve to 26.39% calc(100% - 20px) with 27.78% calc(100% - 22px),curve to 23.61% calc(100% - 24px) with 25% calc(100% - 18px),curve to 20.83% calc(100% - 28.5px) with 22.22% calc(100% - 30px),curve to 18.06% calc(100% - 23px) with 19.44% calc(100% - 27px),curve to 15.28% calc(100% - 27px) with 16.67% calc(100% - 19px),curve to 12.5% calc(100% - 36px) with 13.89% calc(100% - 35px),curve to 9.72% calc(100% - 35px) with 11.11% calc(100% - 37px),curve to 6.94% calc(100% - 24px) with 8.33% calc(100% - 33px),curve to 4.17% calc(100% - 22.5px) with 5.56% calc(100% - 15px),curve to 0 calc(100% - 25px) with 2.78% calc(100% - 30px),vline to 0);
}
.headband {
  z-index: 1000;
  backdrop-filter: blur(10px);
  background: rgb(35 15 42 / 80%);
  border-bottom: 1px solid var(--border);
  transition: all 0.3s ease;
  max-height: 60px;
  padding-left: 3vw;
    padding-right: 3vw;
    padding-top: 5px;
    padding-bottom: 5px;
    max-width: 100vw;
    align-self: center;
    resize: horizontal;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}
.headband .slogan {
  font-family: 'Zen Old Mincho';
    vertical-align: baseline;
    align-self: center;
    font-size: 17px;
    font-weight: 400;
}
.headband .custom-logo-link {
  padding: 5px;
}
.headband .custom-logo-link img {
  max-height: 50px;
  margin-right: 5px;
  width: auto;
  margin-top: 5px;
  margin-bottom: 5px;
}
.headband>div:first-child {
  width: fit-content;
  /*backdrop-filter: blur(10px);
  background: rgb(35 15 42 / 80%);*/
}
.headband+div {
  padding-top: 15vh;
  display: flex;
  gap: 5px;
  color: #d26fd2;
  overflow: hidden;
}
.hero .wp-block-buttons {
  display: flex;
      align-items: flex-start;
    justify-content: flex-start;
    margin-left: 28vw;
}
.headband+div>div:first-child {
   /*   box-shadow: 50px 50px 113px #defeec inset, -50px -50px 110px #defeec inset !important;
    -webkit-mask-image: radial-gradient(circle, black 60%, transparent 100%);
    mask-image: radial-gradient(circle, black 0%, transparent 100%);*/
    /*background-image: url('/wp-content/uploads/2026/04/kbs-logo.webp');*/
    background-size:cover;
    margin-top: -10vh;
    margin-left: -10vh;
}
nav[data-wp-interactive="core/navigation"] {
  flex:1;
}
nav.wp-block-navigation {
    filter: hue-rotate(45deg);
    display: flex;
    gap: 15px;
    font-family: "Quicksand", serif;
    font-weight: 400;
    color: #caa6ca;
}
/* This makes the handwriting "draw" itself in */
.slogan-path {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: draw 3s ease forwards;
  animation-iteration-count: infinite;
}

@keyframes draw {
  to { stroke-dashoffset: 0; }
}
#kbs-hero-dr {
  position: absolute;
  max-width: 150px;
  right: 13%;
  z-index: 99;
  top: 25%;
}
.headband .slogan {
  flex: 2;
  max-width: 70%;
  color: #ca878f;
  filter: hue-rotate(45deg);
  overflow: none;
  word-wrap: none;
}
.slogan {
  font-family: 'Sacramento', cursive;
  font-weight: 100;
  filter: drop-shadow(0 0 8px rgba(255, 192, 203, 0.5));
}
.wp-block-navigation__responsive-container {
  top:1vh!important;
  bottom: unset;
  left:unset;
  right:5vw;
  background-color: transparent!important;
}
.bgspots {
    z-index: -1;
    position: absolute;
    filter: blur(20px) hue-rotate(-905deg) saturate(87%);
    opacity: 0.7;
    top: 0px;
    width: 100%;
    max-height: 90vh;
}
.bgspots figcaption {
  display: none;
}
.bgspots+section {
  padding-top: 5vh;
  padding-bottom: 5vh;
}
.bgspots+section>.headband+div{
   padding-left: 13vw;
  padding-right: 13vw;
}
.headband+div figure {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: end;
}
.headband+div figure+div {
  flex:1;
}
.bgspots img {
  object-fit: cover;
  width: stretch;
  max-height: 90vh;
}
#headline-stack {
  overflow-y: auto;
}
#headline-stack::-webkit-scrollbar-track {
  border-radius: 25px;
}
#headline-stack h1 {
  font-family: 'Zen Old Mincho';
}
#headline-stack p {
  font-family: 'Inter';
}
#headline-stack p {
  margin-bottom: 15px;
}
#headline-stack h1:last-of-type{
  margin-bottom: 3%;
}
.wp-block-columns {
  color: #240d30!important;
  /*font-family: 'Playfair Display';*/
}
.wp-block-columns h1 {
  text-transform: uppercase;
}
.call-to-actions {
  display: flex;
  position: relative;
  justify-content: flex-start;
  max-width: inherit;
  max-width: 300px;
  margin-bottom: 7vh;
}
.call-to-actions .wp-block-buttons .wp-block-button .wp-block-button__link {
  top: 0px!important;
  display: flex!important;
  justify-content: center!important;
  align-items: center!important;
  text-align: center;
  padding: 25px;
}
.call-to-actions .wp-block-column {
  flex:1;
}
.call-to-actions .wp-block-buttons {
  margin:0px!important;
}
.call-to-actions .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
  flex:0.2;
}
.call-to-actions .wp-block-buttons .wp-block-button .wp-block-button__link{
  font-family: "Quicksand", serif;
  padding: 25px;
}
.headband+div>.wp-block-column:nth-child(2) {
  margin-top: -5vh;
}
.call-to-actions .wp-block-buttons .wp-block-button .wp-block-button__link {
  padding:1.2rem;
}
@media(max-width: 667px) {
  .headband+div{
    flex-direction: column;
    max-height: none;
  }
  .hero .wp-block-buttons {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-left: 0vw;
  }
  .hero .wp-block-buttons .wp-block-button {
    display: flex;
    width: 100%;
    justify-content: center;
  }
  .headband+div{
    max-height: none;
  }
  .headband+div>.wp-block-column:nth-child(2) {
    width: 90vw;
    z-index: 9;
  }
  .call-to-actions .wp-block-buttons .wp-block-button .wp-block-button__link {
    padding: 15px!important;
  }
}
@media(max-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
    padding-right: 6vw;
    padding-left: 6vw;
  }
   .call-to-actions .wp-block-buttons .wp-block-button .wp-block-button__link {
    padding: 15px!important;
  }
  .call-to-actions .wp-block-column{
    position: relative!important;
    padding-left: 0vw;
  }
  .call-to-actions .wp-block-buttons .wp-block-button .wp-block-button__link {
    position: relative!important;
  }
  .call-to-actions .wp-block-column {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 0vw;
  }
  .hero .wp-block-buttons .wp-block-button .wp-block-button__link {
    position: relative;
  }
  .headband+div {
    padding-top: 0px;
  }
  .bgspots+section>.headband+div{
     padding-left: 3vw;
    padding-right: 3vw;
  }
  .hero .wp-block-buttons {
    margin-left: -15vw;
    justify-content: center;
  }
  .headband+div{
    max-height: none;
  }
  .headband+div>.wp-block-column:nth-child(2) {
    width: 90vw;
    z-index: 9;
  }
  .call-to-actions {
    max-width: unset;
    gap: 15px;
  }
}
.headband.scrolled {
    background: rgba(15, 23, 42, 0.95);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}
#heroCanvas {
  position: absolute;
  max-width: 100%;
  top:-5vh;
  left: 0;
  z-index: -2;
  opacity: 0.5;
}
#gem-canvas {
 max-height: 60vh;
}
#modal {
  display: none;
}
.hero .wp-block-buttons .wp-block-button .wp-block-button__link {
   display: inline-block;
    background: rgba(6, 182, 212, 0.1);
    border: 1px solid #926cae;
    border-radius: 50px;
    color: #5e0d42;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 1rem;
    backdrop-filter: blur(10px);
    animation: slideDownBadge 0.8s ease-out;
    position: absolute;
    top: 100px;
    max-height: fit-content;
    max-width: fit-content;
}
.headband+div>.wp-block-column:first-child {
  display: flex;
  justify-content: center;
}
.headband+div>.wp-block-column:nth-child(2) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    --s: 18px;
    --_m: #0000 0 calc(2*atan(.5)),#000 0 50%;
    --m: #0000 0 calc(2*atan(.5)),#000 0 50%;
    mask: repeating-conic-gradient(from atan(2) at 50% var(--s),var(--_m))
     calc(2*var(--s)) calc(-1*var(--s))/calc(4*var(--s)) 100% intersect,
    repeating-conic-gradient(from atan(-.5) at var(--s),var(--_m))
     calc(-1*var(--s)) calc(2*var(--s))/100% calc(4*var(--s));
         object-fit: cover;
    padding: calc(2 * var(--s));
    box-sizing: border-box;
    --w: 350px;
    width: round(var(--w), 4 * var(--s));
    backdrop-filter: blur(16px) saturate(1.2);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 4px;
    box-shadow: 0 8px 60px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.2);
    flex: 2;
  }
footer {
  display: flex;
  flex-direction:row;
  position: absolute;
  bottom: 0px;
  width: 100%;
  font-family: Inter, sans-serif;
  color: #240d30;
}
footer>div{
  width: 100%;
}
footer .wp-block-site-title :where(a) {
  font-family: "Oregano";
  font-weight: 400;
}
footer>div>div:first-child {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.bgspots img {
  max-height: 100vh;
}
.home.blog>.wp-block-template-part {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

@media(max-width: 780px) {
    .hero .wp-block-buttons .wp-block-button .wp-block-button__link { 
        position: absolute;
        top: 6px;
        left: 30%;
    }
}
@media(max-width: 734px) {
    .hero .wp-block-buttons .wp-block-button .wp-block-button__link { 
        left: 15px;
        top: 76px;
    }
}
@media(max-width: 700px) {
    .hero .wp-block-buttons .wp-block-button .wp-block-button__link { 
        left: 15px;
        top: 20%;
        z-index: -1;
    }
}