/* orenknaan.co.il: one stylesheet for the whole site.
   Values match the Elementor design of the WordPress site (kit colours, Heebo, 1140px boxed width). */

@font-face { font-family: 'Heebo'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/fonts/heebo-hebrew.woff2) format('woff2'); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: 'Heebo'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/fonts/heebo-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Heebo'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/fonts/heebo-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --pink: #DC75FF;
  --blue: #45CCFF;
  --text: #FFF4D5;
  --green: #10B627;
  --bg: #16091E;
  --card: #2A1C3E;
  --cream: #FFFCF0;
  --green-light: #74DE82;
  --purple: #76328C;
  --box: 1140px;
  --font: 'Heebo', Assistant, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--font); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
a { color: var(--green); text-decoration: none; transition: color .3s; }
a:hover { color: var(--green-light); }
h1, h2, h3, h4, h5, h6 { margin: .5rem 0 1rem; font-weight: 500; line-height: 1.2; }
/* Hello Elementor theme defaults */
h1 { font-size: 2.5rem; } h2 { font-size: 2rem; } h3 { font-size: 1.75rem; } h4 { font-size: 1.5rem; } h5 { font-size: 1.25rem; } h6 { font-size: 1rem; }
p { margin: 0 0 .9rem; }
button, input, textarea { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* anti-spam field added by site.js: invisible, and no offset (an offset would widen RTL pages) */
.hp-field { position: absolute; width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; opacity: 0; overflow: hidden; clip-path: inset(50%); pointer-events: none; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.icon { width: 1em; height: 1em; fill: currentColor; display: block; }
.box { max-width: var(--box); margin: 0 auto; padding: 0 10px; }

/* ---------- buttons ---------- */
.btn { display: inline-block; padding: 12px 24px; font-size: 16px; font-weight: 500; line-height: 1; color: var(--text); background: var(--card); border: 2px solid var(--text); border-radius: 2px; transition: .3s; }
.btn:hover { color: var(--text); background: var(--green); }
.btn--dark { background: rgba(32, 24, 43, .89); border-radius: 4px; }

/* ---------- header ---------- */
.site-header { position: fixed; top: 10px; right: 10px; left: 10px; z-index: 100; height: 48px; background: #000; border: 1px solid var(--purple); border-radius: 80px; transition: .4s ease-out; }
.nav { display: flex; align-items: center; height: 46px; padding: 0; }
.nav__logo { display: flex; align-items: center; justify-content: center; width: 71px; height: 46px; flex: none; }
.nav__logo img { width: 40px; height: auto; }
.nav__menu { display: flex; list-style: none; margin: 0; padding: 0; height: 100%; }
.nav__menu a { display: flex; align-items: center; height: 46px; padding: 13px 20px; color: var(--cream); font-size: 20.8px; line-height: 20px; transition: .4s; }
.nav__menu a:hover, .nav__menu a:focus-visible, .nav__menu a.is-active { background: var(--pink); color: var(--cream); }
.nav__toggle { display: none; }

/* home: the bar sits under the hero as a full-width strip and turns into the floating pill once it sticks */
.site-header--home { position: sticky; top: 0; right: 0; left: 0; margin: 0; height: 46px; border-color: transparent; border-width: 0; border-radius: 0; padding: 0 10px; }
.site-header--home .nav__logo { width: 71px; }
.site-header--home.is-stuck { top: 10px; margin: 0 10px; height: 48px; padding: 0; border: 1px solid var(--purple); border-radius: 80px; }

@media (max-width: 767px) {
  .site-header { top: 10px; right: 10px; left: 10px; height: auto; min-height: 52px; border: 1px solid var(--purple); border-radius: 26px; margin: 0; padding: 0; }
  .site-header--home { position: sticky; top: 0; min-height: 40px; border: 0; border-radius: 0; }
  .site-header--home .nav { min-height: 40px; }
  .site-header--home .nav__toggle { height: 40px; }
  .site-header--home .nav__logo { top: 3px; }
  .site-header--home.is-stuck { top: 10px; margin: 0 10px; min-height: 42px; border: 1px solid var(--purple); border-radius: 21px; }
  .nav { flex-wrap: wrap; height: auto; min-height: 50px; justify-content: center; position: relative; }
  .nav__logo { position: absolute; right: 12px; top: 8px; width: 40px; height: 34px; }
  .nav__toggle { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; padding: 0; background: none; border: 0; color: var(--purple); font-size: 24px; cursor: pointer; }
  .nav__toggle .icon--close { display: none; }
  .nav__toggle[aria-expanded="true"] .icon--bars { display: none; }
  .nav__toggle[aria-expanded="true"] .icon--close { display: block; }
  .nav__menu { display: none; flex-direction: column; width: 100%; height: auto; padding: 0 75px 10px; }
  .nav__toggle[aria-expanded="true"] + .nav__menu { display: flex; }
  .nav__menu li:not(:last-child) { border-bottom: 1px solid var(--purple); }
  .nav__menu a { justify-content: flex-end; height: auto; padding: 10px 0; font-size: 18px; }
  .nav__menu a:hover, .nav__menu a.is-active { background: none; color: var(--pink); }
}

/* ---------- section titles with the scribbled underline ---------- */
.scribble { margin: 8px 0 16px; text-align: center; font-size: 32px; font-weight: 600; line-height: 1.2; color: var(--pink); }
.scribble span { position: relative; display: inline-block; }
.scribble svg { position: absolute; top: 50%; left: 50%; width: calc(100% + 20px); height: calc(100% + 20px); transform: translate(-50%, -50%); overflow: visible; margin-top: 4%; }
.scribble path { fill: none; stroke: var(--blue); stroke-width: 5px; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1500; stroke-dashoffset: 1500; }
.scribble.is-drawn path { animation: scribble 11s ease infinite; }
/* Elementor's highlight: draw over 3s, hold, fade, redraw */
@keyframes scribble { 0% { stroke-dashoffset: 1500; opacity: 1; } 27% { stroke-dashoffset: 0; opacity: 1; } 95% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }

/* ---------- waves (Elementor "waves" shape divider) ---------- */
.waves { position: absolute; left: 0; width: 100%; height: 50px; overflow: hidden; line-height: 0; pointer-events: none; }
.waves svg { width: calc(100% + 1.3px); height: 50px; position: relative; left: 50%; transform: translateX(-50%); display: block; }
.waves path { fill: var(--wave, var(--card)); }
.waves--top { top: -1px; }
.waves--above { top: -49px; transform: rotate(180deg); }
.waves--bottom { bottom: -1px; transform: rotate(180deg); }

/* ---------- footer ---------- */
.site-footer { position: relative; }
.footer-top { position: relative; background: linear-gradient(180deg, var(--bg) 0%, var(--card) 100%); padding: 146px 10px 10px; margin-bottom: -40px; }
.footer-top--starry { background: url('/wp-content/uploads/2022/01/2020-06-06_dark-night-sky_stars-and-slight-silky-clouds_2160p.jpeg') center / cover; }
.page-workshops main { min-height: 60px; }
.footer-top > .daily-thought, .footer-top > .newsletter { position: relative; }
.footer-top--starry .section__stars { display: none; }
.daily-thought { max-width: 896px; margin: 0 auto; }
.daily-thought__label { margin: 0 50px 12px 0; padding: 0; font-size: 20.8px; font-weight: 400; line-height: 1; color: var(--pink); }
.daily-thought__quote { display: block; padding: 20px; background: rgba(28, 15, 35, .8); border: 1px solid var(--purple); border-radius: 6px; text-align: center; font-size: 27.04px; line-height: 1.2; color: var(--text); transition: background .25s, border .25s; }
.daily-thought__quote:hover { color: var(--text); }
.daily-thought__title { display: block; }
.daily-thought__excerpt { display: block; margin-top: 4px; font-size: 12px; line-height: 1.5; }
.daily-thought__wish { margin: 10px 0 27px 50px; text-align: left; font-size: 15px; line-height: 1; color: var(--pink); padding-bottom: 86px; }
.newsletter { position: relative; z-index: 2; max-width: 665px; margin: 0 auto; padding: 10px; background: var(--card); border-radius: 6px; text-align: center; }
.newsletter .scribble { margin-bottom: 36px; }
.newsletter__form { display: flex; flex-wrap: wrap; gap: 0; padding: 0 0 11px; }
.newsletter__form input { flex: 1 1 0; min-width: 0; height: 40px; margin: 0 5px; padding: 8px 16px; font-size: 15px; line-height: 21px; color: var(--text); background: var(--bg); border: 1px solid var(--purple); border-radius: 3px; }
.newsletter__form input::placeholder { color: rgba(255, 244, 213, .6); }
.newsletter__form button { flex: 0 0 117px; height: 40px; margin: 0 5px; padding: 0 24px; font-size: 16px; font-weight: 500; color: var(--text); background: var(--card); border: 2px solid var(--cream); border-radius: 4px; cursor: pointer; transition: .3s; }
.newsletter__form button:hover { background: var(--green); }
.form-message { flex-basis: 100%; margin: 10px 0 0; color: var(--pink); }
.form-message.is-error { color: #ff8a8a; }

.footer-bottom { position: relative; background: #000; padding: 50px 0 0; }
.footer-bottom__inner { display: flex; max-width: var(--box); margin: 0 auto; min-height: 167px; }
.footer-col p { margin: 0; }
.footer-col--legal { flex: 0 0 45%; padding: 30px 30px 0; text-align: left; }
.footer-col--legal hr { border: 0; border-top: 1px solid var(--purple); margin: 10px 0; }
.footer-col--top { flex: 0 0 10%; display: flex; justify-content: center; padding-top: 10px; }
.to-top { font-size: 50px; color: var(--green); transition: transform .3s; }
.to-top:hover { transform: scale(1.1); color: var(--green); }
.to-top .icon { width: 31px; height: 50px; }
.footer-col--contact { flex: 0 0 15%; padding: 57px 20px 0; border-left: 1px solid var(--purple); text-align: right; }
.footer-col--follow { flex: 1; padding: 57px 20px 0; text-align: right; }
.social { display: flex; justify-content: flex-start; gap: 10px; margin-top: 6px; }
.social a { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; font-size: 20px; color: var(--green); transition: .3s; }
.social a:hover { color: var(--green-light); }

/* ---------- cookie notice ---------- */
.cookie-notice { position: fixed; bottom: 0; right: 0; left: 0; z-index: 200; min-height: 60px; padding: 15px 60px; background: var(--bg); color: var(--text); font-size: 13px; line-height: 20px; text-align: center; display: flex; align-items: center; justify-content: center; gap: 0; flex-wrap: wrap; }
.cookie-notice[hidden] { display: none; }
.cookie-notice p { margin: 0; }
.cookie-notice__buttons button { margin: 0 10px; padding: 8.5px 10px; font-size: 13px; line-height: 13px; letter-spacing: .25px; color: var(--text); background: var(--green); border: 0; border-radius: 32px; cursor: pointer; }
.cookie-notice__close { position: absolute; top: 50%; left: 15px; width: 36px; height: 20px; margin-top: -10px; padding: 0; display: flex; align-items: center; justify-content: center; color: var(--cream); background: var(--bg); border: 2px solid var(--cream); border-radius: 4px; opacity: .5; cursor: pointer; font-size: 12px; }
.cookie-notice__close .icon { width: 9px; }

/* ---------- post cards ---------- */
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.card { position: relative; display: flex; flex-direction: column; background: var(--card); border-radius: 6px; overflow: hidden; transition: .25s; }
.card__thumb { display: block; position: relative; padding-bottom: 66%; margin-bottom: 20px; overflow: hidden; }
.card__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: filter .3s; }
.card__badge { position: absolute; top: 0; right: 0; margin: 4px; padding: 7.2px 14.4px; background: var(--card); color: var(--pink); font-size: 12px; font-weight: 600; line-height: 1; border-radius: 4px; }
.card__text { flex: 1; display: flex; flex-direction: column; align-items: flex-start; margin-top: 20px; padding: 0 30px; }
.card__title { margin: 0 0 25px; font-size: 27.04px; font-weight: 400; line-height: 1.2; }
.card__title a { color: var(--blue); }
.card__excerpt { margin-bottom: 25px; }
.card__excerpt p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--cream); }
.card__more { margin: 0 0 20px; font-size: 16px; font-weight: 500; color: var(--green); }
.card--home .card__title a { color: var(--cream); }
.card--home .card__excerpt p { color: var(--text); }

/* ---------- blog layout: main column + sidebar ---------- */
.blog-layout { display: flex; gap: 0; max-width: var(--box); margin: 0 auto; padding: 100px 0 0; }
.blog-main { flex: 0 0 80%; padding: 10px; }
.blog-sidebar { flex: 0 0 20%; padding: 20px 10px 10px; }
.page-archive .blog-layout { padding-top: 90px; }
.blog-section + .blog-section { margin-top: 90px; }
.blog-section h2 { margin: 0 0 20px; font-size: 32px; font-weight: 600; line-height: 1; color: var(--pink); }
.search-form + .topics { margin-top: 10px; }
.search-form { display: flex; height: 30px; background: var(--card); border-radius: 6px; overflow: hidden; }
.search-form input { flex: 1; min-width: 0; height: 28px; margin: 1px 0; padding: 0 10px; font-size: 15px; color: var(--cream); background: none; border: 0; }
.search-form input::placeholder { color: rgba(255, 252, 240, .6); }
.search-form button { width: 30px; height: 28px; margin: 1px; padding: 0; display: flex; align-items: center; justify-content: center; background: var(--green); color: var(--bg); border: 0; cursor: pointer; font-size: 14px; }
.topics { margin-top: 0; padding: 20px; background: var(--card); border-radius: 6px; }
.topics h2 { margin: 8px 0 16px; font-size: 32px; font-weight: 600; color: var(--pink); }
.topics ul { margin: 0; padding: 0 20px 0 0; list-style: square; color: var(--purple); }
.topics li { margin-bottom: 8px; }
.archive-head { padding: 20px; background: var(--card); border-radius: 6px; margin-bottom: 40px; }
.archive-head h1 { margin: 0; font-size: 32px; font-weight: 600; line-height: 1; color: var(--pink); }
.archive-end { display: flex; align-items: center; gap: 10px; margin: 70px -230px 30px 0; color: var(--blue); font-size: 15px; }
.archive-end::before, .archive-end::after { content: ''; flex: 1; border-top: 1px solid var(--purple); }
.archive-end[hidden] { display: none; }
.archive-empty { color: var(--text); }

/* ---------- single post ---------- */
.single { max-width: 800px; margin: 100px auto 0; }
.single__head { padding: 40px; background: var(--card); border-radius: 6px 6px 0 0; }
.single__title { margin: 0 0 20px; font-size: 48px; font-weight: 600; line-height: 54px; color: var(--pink); }
.post-info { display: flex; list-style: none; margin: 0 -8px; padding: 0; }
.post-info li { display: flex; margin: 0 8px; }
.post-info li, .post-info a { display: flex; color: var(--blue); align-items: center; }
.post-info__icon { color: var(--pink); font-size: 14px; margin-left: 5px; }
.post-info__icon .icon { width: 14px; height: 14px; }
.single__image { margin: 0; background: var(--card); }
.single__image img { display: block; width: 800px; height: 350px; object-fit: cover; }
.single__image figcaption { color: var(--blue); font-style: italic; text-align: center; line-height: 1.4; }
.single__image--none { height: 0; }
.single__body { padding: 40px; background: var(--card); border-radius: 0 0 6px 6px; }
.reading-progress { position: sticky; top: 68px; z-index: 5; height: 10px; margin-bottom: 0; background: var(--bg); direction: rtl; }
.reading-progress__bar { height: 100%; width: 0; background: var(--purple); }
.post-content { margin: 40px 0; padding: 10px; color: var(--text); box-shadow: rgb(26, 18, 30) -50px 0 27px -53px inset; }
.post-content a { color: var(--text); text-decoration: underline; }
.post-content h2, .post-content h3, .post-content h4 { color: var(--pink); }
.post-content img { border-radius: 4px; }
.post-content blockquote { margin: 20px 0; padding: 0 20px; border-right: 4px solid var(--purple); }
.post-content hr { border: 0; border-top: 1px solid var(--purple); margin: 24px 0; }
.post-content .is-style-dots { border: 0; text-align: center; }
.post-content .is-style-dots::before { content: '···'; color: var(--text); font-size: 1.5em; letter-spacing: 2em; padding-left: 2em; }
.post-content details { margin: 0 0 .9rem; }
.post-content summary { cursor: pointer; color: var(--pink); }
.post-content .has-text-align-center { text-align: center; }
.post-content .has-text-align-right { text-align: right; }
.post-content .wp-block-embed iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; }
.post-content figure { margin: 0 0 .9rem; }
.post-content figcaption { color: var(--blue); font-style: italic; text-align: center; }
.single__outro { margin-bottom: 20px; }
.single__outro p { margin: 0 0 14.4px; color: var(--blue); font-style: italic; }
.comments { padding-top: 27px; margin-bottom: 39px; }
.comments__title { margin: 8px 0 16px; font-size: 32px; font-weight: 500; color: var(--pink); }
.comment-form p { margin: 0 0 14.4px; }
.comment-form label { display: inline-block; line-height: 24px; }
.comment-form textarea, .comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url] { display: block; width: 100%; padding: 8px 16px; color: var(--cream); background: var(--card); border: 1px solid var(--purple); border-radius: 6px; transition: .3s; }
.comment-form textarea { height: 210px; resize: vertical; }
.comment-form input { height: 42px; }
.comment-form button { padding: 8px 16px; color: var(--cream); background: var(--bg); border: 2px solid var(--cream); border-radius: 4px; cursor: pointer; transition: .3s; }
.comment-form button:hover { background: var(--green); }
.comment-form__cookies input { vertical-align: middle; }
.comment-form__cookies label { display: inline; }
.comment-form label + textarea, .comment-form label + input { margin-top: 0; }
.comment-list, .comment-children { list-style: none; margin: 0 0 30px; padding: 0; }
.comment-children { margin: 20px 30px 0 0; }
.comment { padding: 16px 20px; background: var(--bg); border-radius: 6px; margin-bottom: 16px; }
.comment__meta { margin-bottom: 8px; color: var(--pink); }
.comment__meta time { color: var(--blue); font-size: 14px; margin-right: 10px; }
.post-nav { display: flex; align-items: stretch; padding: 10px; background: var(--bg); border-radius: 6px; }
.post-nav__prev, .post-nav__next { flex: 1; }
.post-nav__next { display: flex; justify-content: flex-end; }
.post-nav a { display: flex; align-items: center; gap: 15px; color: var(--green); }
.post-nav__label { display: block; font-size: 20.8px; line-height: 1.5; color: var(--text); }
.post-nav__title { display: block; font-size: 20.8px; line-height: 1.5; color: var(--blue); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 260px; }
.post-nav__arrow { font-size: 24px; color: var(--green); }
.post-nav__arrow .icon { width: 24px; height: 24px; }
.post-nav__sep { width: 6px; margin: 0 10px; background: var(--purple); }
.share { display: flex; align-items: center; justify-content: center; gap: 20px; max-width: 800px; margin: 21px auto 0; padding: 10px 0; }
.share__label { margin: 0; font-size: 19px; font-weight: 600; line-height: 1; color: var(--pink); }
.share__buttons { display: flex; gap: 10px; }
.share__btn { display: flex; align-items: center; justify-content: center; width: 22.5px; height: 21.5px; border-radius: 2.5px; color: #fff; font-size: 12px; transition: filter .2s; }
.share__btn:hover { color: #fff; filter: saturate(1.5) brightness(1.2); }
.share__btn .icon { width: 15.5px; height: 15.5px; }
.share__btn--facebook { background: #3b5998; }
.share__btn--x { background: #000; }
.share__btn--whatsapp { background: #25d366; }
.share__btn--email { background: #ea4335; }
.related { max-width: var(--box); margin: 19px auto 0; padding: 10px; }
.related__head { padding: 20px; background: var(--card); border-radius: 6px; margin-bottom: 40px; }
.related__head h2 { margin: 0; font-size: 32px; font-weight: 600; line-height: 1; color: var(--pink); }
.page-single .site-footer { margin-top: 69px; }
.page-archive .site-footer, .page-blog .site-footer { margin-top: 120px; }

@media (max-width: 1024px) {
  .cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .cards { grid-template-columns: 1fr; }
  .blog-layout { flex-direction: column-reverse; padding-top: 80px; }
  .blog-main, .blog-sidebar { flex-basis: auto; }
  .archive-end { margin-left: 0; margin-right: 0; }
  .single { margin-top: 100px; }
  .single__title { font-size: 48px; }
  .single__image img { width: 100%; height: 350px; }
  .reading-progress { top: 85px; }
  .post-nav__title { max-width: 120px; }
  .share { flex-direction: column; gap: 10px; }
  .footer-top { padding-top: 100px; }
  .daily-thought__label { margin-right: 20px; }
  .daily-thought__wish { margin-left: 20px; }
  .newsletter__form { flex-direction: column; gap: 10px; }
  .newsletter__form input, .newsletter__form button { flex: none; width: auto; }
  .footer-bottom__inner { flex-direction: column; text-align: center; }
  .footer-col { flex: none !important; padding: 20px !important; border: 0 !important; text-align: center !important; }
  .cookie-notice { padding: 15px 50px; }
}

/* ---------- page sections ---------- */
.section { position: relative; }
.section--gradient { background: linear-gradient(180deg, var(--bg) 0%, var(--card) 100%); }
.section--card { background: var(--card); }
.section--dark { background: var(--bg); }
.section__pad { padding-top: 130px; padding-bottom: 130px; }
.section > .box { position: relative; }
.section__stars { background: url('/wp-content/uploads/2022/01/2020-06-06_dark-night-sky_stars-and-slight-silky-clouds_2160p.jpeg') 0 0 / cover fixed; }
.stack { display: flex; flex-direction: column; gap: 40px; margin: 31px 0 10px; }
.center { text-align: center; }

/* ---------- home ---------- */
.hero { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center; text-align: center; }
.hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero::before { content: ''; position: absolute; inset: 0; z-index: 1; background: var(--card); opacity: .5; }
.hero__inner, .hero__down { z-index: 2; }
.hero__inner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 10px; }
.hero__logo { width: 320px; }
.hero__title { margin: 0; font-size: 59px; font-weight: 600; line-height: 1; color: var(--text); }
.hero__subtitle { margin: 0; font-size: 32px; font-weight: 200; line-height: 1; color: var(--text); }
.hero__down { position: absolute; bottom: 0; left: 50%; width: 120px; height: 126px; margin-left: -60px; opacity: 0; animation: fade-in 1.25s 2s forwards; }
@keyframes fade-in { to { opacity: 1; } }
.welcome { text-align: center; padding-top: 20px; }
.welcome__text p { font-size: 20.8px; line-height: 1.5; color: var(--text); margin: 0 0 14.4px; }
.welcome__author { display: inline-flex; align-items: center; gap: 20px; margin-top: 6px; color: var(--pink); font-size: 20.8px; }
.welcome__author:hover { color: var(--pink); }
.welcome__author img { width: 60px; height: 60px; padding: 1px; border: 2px solid var(--purple); border-radius: 50%; object-fit: cover; }

.cta-card { display: flex; margin: 0 10px; padding: 3px; border: 1px solid var(--purple); border-radius: 6px; overflow: hidden; }
.cta-card__content { flex: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; min-height: 250px; padding: 35px; background: var(--bg); border-radius: 0 4px 4px 0; transition: background .4s; }
.cta-card:hover .cta-card__content { background: #210F2C; }
.cta-card__content h3 { margin: 0 0 15px; font-size: 32px; font-weight: 600; line-height: 1.2; color: var(--cream); }
.cta-card__content p { margin: 0 0 30px; font-size: 20.8px; line-height: 1.5; color: var(--text); }
.cta-card__image { flex: 0 0 40%; position: relative; overflow: hidden; }
.cta-card__image div { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .5s, filter .5s; }
.cta-card:hover .cta-card__image div { transform: scale(1.2); filter: brightness(105%) contrast(105%) saturate(105%) hue-rotate(5deg); }
.banner { position: relative; display: flex; align-items: center; justify-content: center; min-height: 408px; margin: 0 10px; padding: 3px; border: 1px solid var(--purple); border-radius: 6px; overflow: hidden; text-align: center; }
.banner__bg { position: absolute; inset: 3px; border-radius: 4px; background-size: cover; background-position: center; filter: brightness(.36) contrast(.99) blur(3px); transition: transform .5s, filter .5s; }
.banner:hover .banner__bg { transform: scale(1.2); filter: brightness(1) contrast(1.1) saturate(1.1) blur(0); }
.banner::after { content: ''; position: absolute; inset: 3px; border-radius: 4px; background: rgba(0, 0, 0, 0); transition: background .5s; pointer-events: none; }
.banner:hover::after { background: rgba(0, 0, 0, .3); }
.banner__content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; padding: 20px; }
.banner__content h3 { margin: 0 0 15px; font-size: 48px; font-weight: 400; line-height: 1.2; color: var(--cream); }
.banner__content p { margin: 0 0 30px; font-size: 24px; line-height: 1.5; color: var(--text); }
.banner .btn--dark:hover, .cta-card .btn--dark:hover { background: var(--green); }
.scribble-link { display: block; }
.home-posts { padding: 0 40px; margin: 60px 0 20px; }
.home-posts + .center { margin: 0; }
.home-posts .card { background: var(--bg); padding: 3px; border: 1px solid var(--purple); }
.home-posts .card__thumb { padding-bottom: 50%; margin-bottom: 0; border-radius: 4px 4px 0 0; }
.home-posts .card__badge { margin: 7px; }
.home-posts .card__text { padding-top: 30px; }
.home-posts .card:hover { border-color: var(--pink); }
.btn .icon { display: inline-block; width: .6em; height: .9em; margin-right: 6px; vertical-align: -1px; }

@media (max-width: 767px) {
  .hero__logo { width: 200px; }
  .cta-card { flex-direction: column-reverse; }
  .cta-card__image { flex-basis: 200px; }
  .cta-card, .banner { margin: 0; }
  .cta-card__content { border-radius: 0 0 4px 4px; }
  .banner { min-height: 350px; }
  .banner__content { padding: 10%; }
  .banner__content h3 { font-size: 32px; }
  .banner__content p { font-size: 19.2px; }
  .home-posts { padding: 0; }
}

/* ---------- 404 ---------- */
.not-found { position: relative; padding: 70px 10px 160px; text-align: center; }
.not-found__cat { width: 400px; max-width: 100%; height: 400px; margin: 0 auto; }
.not-found h1, .not-found p { margin: 0; font-size: 64px; font-weight: 600; line-height: 1.2; color: var(--pink); }
.page-404 .waves--bottom path { fill: var(--card); }

/* ---------- converted Elementor pages (src/pages/*, class names el-*) ----------
   Sections hold a row of columns; columns stack widgets with Elementor's 20px gap.
   Page files add inline styles only where a value differs from these defaults. */
.el-section { position: relative; }
.el-overlay { position: absolute; inset: 0; pointer-events: none; }
.el-bgvideo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.el-row { position: relative; display: flex; max-width: var(--box); margin: 0 auto; }
.el-col { position: relative; display: flex; flex-direction: column; flex: 0 1 var(--w, 100%); max-width: var(--w, 100%); min-width: 0; padding: 10px; }
.el-col > :not(.el-overlay), .el-con > :not(.el-overlay):not(.waves) { position: relative; }
/* /about/ training cards */
.skill-area { transition: border-color .3s; }
.skill-area:hover { border-color: var(--pink) !important; }
.skill-area h3 { margin-bottom: 6px; }
.el-col > * { margin-bottom: 20px; }
.el-col > :last-child { margin-bottom: 0; }
.el-col > .el-section { margin-left: -10px; margin-right: -10px; }
.el-section--inner .el-row { max-width: none; }
.el-con { position: relative; display: flex; flex-direction: column; }
.el-con__inner { position: relative; display: flex; width: 100%; max-width: var(--box); margin: 0 auto; }
.el-con > .el-overlay + .el-con__inner, .el-con > .waves + .el-con__inner { z-index: 1; }
.el-heading { margin: 0; font-size: 32px; font-weight: 600; line-height: 1.2; color: var(--pink); }
.el-heading__link { color: inherit; }
.el-text { color: var(--text); }
.el-text > :last-child { margin-bottom: 0; }
.el-text ul, .el-text ol { margin: 0 0 .9rem; padding-right: 40px; }
.el-text a { color: var(--green); }
.el-image { margin: 0; }
.el-image img { display: inline-block; }
.el-image figcaption { color: var(--blue); font-style: italic; text-align: center; }
.el-imagebox { display: flex; flex-direction: column; align-items: center; gap: 15px; text-align: center; }
.el-imagebox.el-position-right { flex-direction: row; align-items: flex-start; text-align: start; }
.el-imagebox.el-position-left { flex-direction: row-reverse; align-items: flex-start; text-align: start; }
.el-imagebox figure { margin: 0; flex: none; }
.el-imagebox figure img { width: 100%; }
.el-imagebox__content { flex: 1; min-width: 0; }
.el-imagebox h3 a { color: inherit; }
.el-imagebox h3 { margin: 0 0 15px; font-size: 32px; font-weight: 600; line-height: 1.2; color: var(--pink); }
.el-imagebox__desc > :last-child { margin-bottom: 0; }
.el-testimonial { margin: 0; text-align: center; }
.el-testimonial blockquote { margin: 0 0 20px; font-size: 20.8px; line-height: 1.5; color: var(--text); }
.el-testimonial blockquote > :last-child { margin-bottom: 0; }
.el-testimonial figcaption { display: inline-flex; align-items: center; gap: 20px; }
.el-testimonial figcaption img { width: 60px; height: 60px; padding: 1px; border: 2px solid var(--purple); border-radius: 50%; object-fit: cover; }
.el-testimonial cite { display: block; font-style: normal; font-size: 20.8px; color: var(--pink); }
.el-testimonial__job { display: block; font-size: 14px; color: var(--text); }
.el-iconbox { display: flex; flex-direction: column; align-items: center; gap: 15px; text-align: center; }
.el-iconbox.el-position-right { flex-direction: row; align-items: flex-start; text-align: start; }
.el-iconbox.el-position-left { flex-direction: row-reverse; align-items: flex-start; text-align: start; }
.el-iconbox__icon { display: inline-flex; font-size: 50px; color: var(--green); line-height: 1; }
.el-iconbox__icon .icon { width: 1em; height: 1em; }
.el-iconbox h3 { margin: 0 0 6px; font-size: 20.8px; font-weight: 500; color: var(--pink); }
.el-iconbox p { margin: 0; }
.el-button { margin: 0; }
.el-form { display: flex; flex-wrap: wrap; margin: 0 calc(var(--col-gap, 10px) / -2) calc(var(--row-gap, 10px) * -1); }
.el-form__field { padding: 0 calc(var(--col-gap, 10px) / 2); margin-bottom: var(--row-gap, 10px); }
.el-form__submit--auto { display: flex; }
.el-form .el-form__submit--auto button { width: auto; display: inline-flex; align-items: center; gap: 6px; }
.el-form__submit .icon { width: 14px; height: 14px; }
.el-form__field label { display: block; margin-bottom: 4px; color: var(--text); }
.el-form input, .el-form textarea { width: 100%; height: 40px; padding: 8px 16px; font-size: 15px; color: var(--text); background: var(--bg); border: 1px solid var(--purple); border-radius: 3px; }
.el-form textarea { height: auto; }
.el-form input::placeholder, .el-form textarea::placeholder { color: rgba(255, 244, 213, .6); }
.el-form button { width: 100%; height: 40px; padding: 0 24px; font-weight: 500; color: var(--text); background: var(--card); border: 2px solid var(--cream); border-radius: 4px; cursor: pointer; transition: .3s; }
.el-form button:hover { background: var(--green); }
.el-video { position: relative; aspect-ratio: 16 / 9; }
.el-video iframe, .el-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.el-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.el-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.el-divider { border: 0; margin: 0 auto; }
.el-spacer { flex: none; }
.el-lottie { margin: 0 auto; }
.el-iconlist { list-style: none; margin: 0; padding: 0; }
.el-iconlist li { display: flex; align-items: center; gap: 8px; }
.el-iconlist__icon .icon { width: 14px; height: 14px; color: var(--green); }
.cta-desc { margin: 0 0 30px; font-size: 20.8px; line-height: 1.5; color: var(--text); }
.cta-desc > :last-child { margin-bottom: 0; }
.cta-card:hover { border-color: var(--pink); }
.el-widget > .cta-card, .el-widget > .banner { margin: 0; padding: 0; border: 0; }
.el-widget:has(> .cta-card):hover { border-color: var(--pink) !important; }
.lightbox { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .9); cursor: zoom-out; }
.lightbox img { max-width: 92vw; max-height: 92vh; }

@media (min-width: 1025px) { .hide-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .hide-tablet { display: none !important; } }
@media (max-width: 767px) {
  .hide-mobile { display: none !important; }
  .el-row { flex-wrap: wrap; }
  .el-col { flex-basis: 100%; max-width: 100%; }
  .el-con, .el-con__inner { flex-direction: column !important; }
  .el-con[style*="width"], .el-con__inner > [style*="width"] { width: 100% !important; }
  .el-imagebox.el-position-right, .el-imagebox.el-position-left, .el-iconbox.el-position-right, .el-iconbox.el-position-left { flex-direction: column; align-items: center; text-align: center; }
  .el-form__field { width: 100% !important; }
  .el-gallery { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- site-wide rules carried over from the WordPress "custom CSS" ---------- */
html, body { max-width: 100%; overflow-x: clip; }
ol { margin-bottom: 1em; }
li { margin-bottom: .5em; }
::selection { color: var(--bg); background: var(--blue); }
.post-content hr, .el-text hr { width: 50%; margin: 20px auto; border: 0; border-top: 1px solid var(--purple); }
.wp-block-quote { position: relative; }
.wp-block-quote::before { content: '״'; position: absolute; right: 20px; font-style: italic; font-size: 3em; }
.wp-block-quote:has(.shortquote)::before { top: 34px; }
a.wp-block-button__link { display: inline-block; padding: 12px 24px; border-radius: 6px; border: 2px solid var(--text); color: var(--text); background: var(--bg); text-decoration: none; }
a.wp-block-button__link:hover { background: var(--green); color: var(--text); }
.el-form input:hover, .el-form input:focus, .el-form textarea:hover, .el-form textarea:focus,
.newsletter__form input:hover, .newsletter__form input:focus, .comment-form input:hover, .comment-form input:focus, .comment-form textarea:hover, .comment-form textarea:focus { border-color: var(--pink); outline: none; }

/* ---------- page: /services/pure-intention/ (fixed photo behind the page) ---------- */
.page-bg { position: fixed; inset: 0 0 auto 0; height: 100vh; z-index: -1; }
.page-bg::after { content: ''; position: absolute; inset: 0; background: url('/wp-content/uploads/2025/06/freepik__a-modern-person-puts-their-hands-on-their-chesthea__43095-scaled.jpeg') 50% -550px / 350vw no-repeat; }
@media (max-width: 1000px) { .page-bg::after { background-position: 50% -350px; background-size: 350vw; } }
@media (min-width: 1000px) and (max-width: 1250px) { .page-bg::after { background-position: 50% -300px; background-size: 120vw; } }
@media (min-width: 1250px) and (max-width: 1400px) { .page-bg::after { background-position: 50% -350px; background-size: 100vw; } }
@media (min-width: 1400px) and (max-width: 2000px) { .page-bg::after { background-position: 50% -850px; background-size: 130vw; } }
@media (min-width: 2000px) { .page-bg::after { background-position: 50% -950px; background-size: 100vw; } }
