/* ============================================================
   YOUR DIVINITY — design tokens
   Palette: warm lilac-white / deep amethyst / antique gold
   Type: Cormorant Garamond (display) + Jost (body / UI)
   ============================================================ */

:root{
  --bg:            #FBF7FD;   /* bright lilac-white */
  --bg-soft:       #EEE0F7;   /* richer lilac panel */
  --purple:        #7C2FE0;   /* vivid electric violet */
  --purple-deep:   #23063F;   /* near-black amethyst — strong contrast for text */
  --purple-ink:    #2E1247;
  --purple-prune:  #4A1B5E;   /* mov prună — deep plum-violet */
  --lavender:      #B98FE8;   /* light violet, replaces the old rose accent */
  --lavender-deep: #7A4FB0;   /* deeper lavender for contrast */
  --gold:          #E0A526;   /* vivid antique gold */
  --gold-light:    #F5C863;   /* warm gold shimmer */
  --gold-deep:     #B97D1E;   /* deeper gold for contrast/shadow */
  --gold-pale:     #F7E3B0;
  --champagne:     #F0DFB8;   /* auriu champagne, soft */

  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Jost', 'Helvetica Neue', Arial, sans-serif;

  --gold-metallic: linear-gradient(120deg, #8B5E15 0%, #E0A526 22%, #F8DFA0 45%, #E0A526 68%, #8B5E15 100%);
  --purple-metallic: linear-gradient(120deg, #3B1266 0%, #7C2FE0 40%, #A56CF2 55%, #7C2FE0 70%, #3B1266 100%);

  --white:         #FFFFFF;
  --ivory:         #FDF6EC;   /* warm card white, softer than pure white */
  --rose:          #B98FE8;   /* alias kept for existing refs — now lavender, not pink */
  --rose-deep:     #7A4FB0;

  --max-width: 1180px;
  --hero-frame-width: 1340px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:hidden; }

body{
  margin:0;
  background:#FFFFFF;
  color:var(--purple-ink);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

a{ color:inherit; text-decoration:none; }

/* language toggling: everything with data-i18n gets its text
   swapped by script.js — no CSS needed for that part */

/* ============ HEADER ============ */
.site-header{
  position:sticky;
  top:0;
  z-index:40;
  padding:14px 14px;
}

.header-inner{
  position:relative;
  max-width:var(--max-width);
  margin:0 auto;
  padding:12px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:linear-gradient(150deg, rgba(90,32,148,0.55) 0%, rgba(59,18,102,0.62) 45%, rgba(35,6,63,0.7) 100%);
  backdrop-filter:blur(20px) saturate(1.25);
  -webkit-backdrop-filter:blur(20px) saturate(1.25);
  border:1px solid rgba(224,165,38,0.25);
  border-radius:999px;
  box-shadow:
    0 14px 34px rgba(20,3,38,0.28),
    inset 0 1px 0 rgba(255,255,255,0.14);
}

.brand{ display:flex; align-items:center; gap:10px; line-height:1; }
.brand-logo{ width:38px; height:38px; display:block; flex-shrink:0; }
.brand-text{ display:flex; flex-direction:column; }
.brand-name{
  font-family:var(--font-display);
  font-weight:600;
  font-size:1.2rem;
  letter-spacing:0.05em;
  color:var(--gold-light);
}
.brand-tagline{
  margin-top:3px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:0.52rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--gold-pale);
  opacity:0.75;
}

.main-nav{
  display:none;
  align-items:center;
  gap:14px;
  margin:0 24px;
}
.main-nav a{
  position:relative;
  display:block;
  width:88px;
  text-align:center;
  font-family:var(--font-body);
  font-size:0.74rem;
  font-weight:500;
  letter-spacing:0.02em;
  line-height:1.3;
  color:rgba(255,255,255,0.85);
  padding:8px 6px;
  white-space:pre-line;
  border:1px solid rgba(224,165,38,0.35);
  border-radius:12px;
  background:rgba(255,255,255,0.06);
  transition:color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.main-nav a.nav-home{ width:auto; padding:8px 16px; }
.main-nav a:hover{
  color:#fff;
  background:rgba(224,165,38,0.14);
  border-color:rgba(224,165,38,0.7);
  transform:translateY(-2px);
}

/* ---- mobile hamburger + dropdown ---- */
.nav-toggle{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:36px;
  height:36px;
  border:1px solid rgba(224,165,38,0.35);
  border-radius:10px;
  background:rgba(255,255,255,0.08);
  cursor:pointer;
  flex-shrink:0;
}
.nav-toggle span{
  display:block;
  width:16px;
  height:2px;
  border-radius:2px;
  background:#fff;
  transition:transform .25s ease, opacity .25s ease;
}
.nav-toggle.is-active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.is-active span:nth-child(2){ opacity:0; }
.nav-toggle.is-active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:1199px){
  .main-nav.nav-open{
    display:flex;
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    margin:0;
    padding:12px;
    gap:6px;
    background:linear-gradient(150deg, rgba(90,32,148,0.97) 0%, rgba(59,18,102,0.98) 45%, rgba(35,6,63,0.99) 100%);
    border:1px solid rgba(224,165,38,0.3);
    border-radius:20px;
    box-shadow:0 20px 40px rgba(20,3,38,0.35);
    z-index:60;
  }
  .main-nav.nav-open a{
    width:auto;
    text-align:left;
    white-space:normal;
    padding:12px 14px;
  }
}

@media (min-width:1200px){
  .nav-toggle{ display:none; }
}

.header-right{ display:flex; align-items:center; gap:18px; }

.socials{ display:flex; align-items:center; gap:10px; }
.socials a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,0.12);
  opacity:0.85;
  transition:opacity .2s ease, color .2s ease, transform .2s ease, background .2s ease;
}
.socials a:hover{
  opacity:1;
  color:var(--purple-deep);
  background:var(--gold-metallic);
  box-shadow:0 0 14px rgba(224,165,38,0.5);
  transform:translateY(-2px);
}

.lang-switch{
  display:flex;
  align-items:center;
  gap:2px;
  background:rgba(255,255,255,0.08);
  border-radius:999px;
  padding:3px;
}
.lang-btn{
  font-family:var(--font-body);
  font-size:0.76rem;
  letter-spacing:0.06em;
  font-weight:600;
  background:none;
  border:1px solid transparent;
  cursor:pointer;
  color:rgba(255,255,255,0.65);
  padding:7px 14px;
  border-radius:999px;
  transition:all .2s ease;
}
.lang-btn:hover{ color:#fff; }
.lang-btn.active{
  color:var(--gold-light);
  border-color:rgba(224,165,38,0.7);
  background:rgba(224,165,38,0.1);
  box-shadow:inset 0 0 10px rgba(224,165,38,0.25);
}
.lang-btn:focus-visible, .socials a:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}

/* ============ HERO ============ */
.hero{
  position:relative;
  margin-top:-58px;
  background:
    radial-gradient(42% 34% at 82% 8%, rgba(255,255,255,0.10) 0%, transparent 70%),
    radial-gradient(45% 40% at 88% 78%, rgba(224,165,38,0.11) 0%, transparent 70%),
    radial-gradient(52% 46% at 12% 85%, rgba(185,143,232,0.24) 0%, transparent 68%),
    radial-gradient(58% 52% at 8% 18%, rgba(124,47,224,0.34) 0%, transparent 65%),
    radial-gradient(42% 62% at 60% 45%, rgba(122,79,176,0.2) 0%, transparent 70%),
    linear-gradient(155deg, #5C258A 0%, #4A1B7A 28%, #3B1266 52%, #341160 74%, #2D0F52 100%);
  padding:64px 24px 56px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size:26px 26px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 30%, black 20%, transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%, black 20%, transparent 70%);
  pointer-events:none;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;
  opacity:0.06;
  pointer-events:none;
}

.hero-ribbons{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.hero-ribbons::before,
.hero-ribbons::after{
  content:"";
  position:absolute;
  border-radius:50%;
}
.hero-ribbons::before{
  width:640px;
  height:640px;
  right:-220px;
  bottom:-280px;
  border:1px solid rgba(224,165,38,0.22);
}
.hero-ribbons::after{
  width:460px;
  height:460px;
  right:-120px;
  bottom:-160px;
  border:1px solid rgba(185,143,232,0.2);
}

.hero-right-arcs{
  position:absolute;
  top:-8%;
  right:-14%;
  width:min(46vw, 560px);
  aspect-ratio:1/1;
  z-index:0;
  pointer-events:none;
}
.hero-right-arcs::before,
.hero-right-arcs::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
}
.hero-right-arcs::before{
  border:1px solid rgba(224,165,38,0.18);
  filter:blur(0.2px);
}
.hero-right-arcs::after{
  inset:12%;
  border:1px solid rgba(185,143,232,0.16);
}

.hero-letter-fragment{
  position:absolute;
  top:8%;
  right:-6%;
  z-index:0;
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(10rem, 30vw, 26rem);
  line-height:0.8;
  color:var(--ivory);
  opacity:0.05;
  pointer-events:none;
}

.hero-fine-lines{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.hero-fine-lines::before,
.hero-fine-lines::after{
  content:"";
  position:absolute;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(224,165,38,0.35) 40%, transparent 90%);
}
.hero-fine-lines::before{
  width:46%;
  top:14%;
  left:8%;
  transform:rotate(-4deg);
}
.hero-fine-lines::after{
  width:38%;
  bottom:20%;
  right:4%;
  background:linear-gradient(270deg, transparent, rgba(185,143,232,0.3) 40%, transparent 90%);
  transform:rotate(3deg);
}

.hero-giant-word{
  position:absolute;
  top:16%;
  transition:transform .4s ease-out;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:0;
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(2.6rem, 10.5vw, 8.4rem);
  letter-spacing:0.005em;
  line-height:0.98;
  color:var(--ivory);
  opacity:0.14;
  white-space:nowrap;
  text-align:center;
  pointer-events:none;
}

.hero-bottom-line{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:var(--gold-metallic);
  opacity:0.7;
  box-shadow:0 10px 22px -4px rgba(224,165,38,0.4), 0 18px 34px rgba(20,3,38,0.2);
  z-index:2;
}

.hero-scroll-cue{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  margin:8px auto 0;
  opacity:0.5;
}
.scroll-line{
  position:relative;
  width:1px;
  height:26px;
  overflow:hidden;
}
.scroll-line::before{
  content:"";
  position:absolute;
  top:-100%;
  left:0;
  width:100%;
  height:100%;
  background:linear-gradient(180deg, transparent, rgba(224,165,38,0.85), transparent);
  animation:scroll-line-drift 2.6s ease-in-out infinite;
}
@keyframes scroll-line-drift{
  0%{ transform:translateY(0); opacity:0; }
  15%{ opacity:1; }
  85%{ opacity:1; }
  100%{ transform:translateY(200%); opacity:0; }
}
.scroll-text{
  font-family:var(--font-body);
  font-size:0.62rem;
  font-weight:500;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:rgba(240,223,184,0.82);
}

.hero-inner{
  position:relative;
  z-index:1;
  max-width:var(--hero-frame-width);
  margin:auto auto 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:44px;
  text-align:center;
  padding:36px 40px;
  background:
    linear-gradient(160deg, rgba(110,50,170,0.30) 0%, rgba(58,18,102,0.4) 55%, rgba(35,6,63,0.46) 100%);
  backdrop-filter:blur(14px) saturate(1.15);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);
  border:1.5px solid rgba(224,165,38,0.32);
  border-radius:32px;
  overflow:hidden;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.10),
    inset 0 0 60px rgba(124,47,224,0.10),
    0 30px 60px rgba(10,2,20,0.42),
    0 65px 120px rgba(10,2,20,0.34);
}

.hero-inner::before{
  content:"";
  position:absolute;
  top:0; left:6%; right:6%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.35) 50%, transparent);
  pointer-events:none;
}

/* ---- portrait cutout with layered atmosphere behind it ---- */
.hero-media{
  position:relative;
  width:min(78vw, 360px);
  flex-shrink:0;
}

.hero-orbits{
  position:absolute;
  inset:0;
  z-index:1;
  transition:transform .5s ease-out;
  animation:orbits-entrance 1s ease-out .4s both;
}

@keyframes orbits-entrance{
  from{ opacity:0; }
  to{ opacity:1; }
}

.hero-content{
  transition:transform .4s ease-out;
  position:relative;
  max-width:440px;
  text-align:left;
  padding:38px 34px 38px 40px;
}

.hero-content-glow{
  position:absolute;
  top:62%;
  left:30%;
  width:120%;
  height:140%;
  transform:translate(-30%,-50%);
  z-index:0;
  background:radial-gradient(50% 50% at 50% 50%, rgba(185,143,232,0.22) 0%, transparent 70%);
  filter:blur(20px);
  pointer-events:none;
  animation:content-glow-drift 16s ease-in-out infinite;
}
@keyframes content-glow-drift{
  0%, 100%{ transform:translate(-30%,-50%) scale(1); opacity:0.9; }
  50%{ transform:translate(-27%,-53%) scale(1.06); opacity:1; }
}
}

.hero-eyebrow{
  position:relative;
  z-index:1;
  margin:0 0 16px;
  font-family:var(--font-body);
  font-size:0.74rem;
  font-weight:600;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:#FFFFFF !important;
  opacity:1;
  text-shadow:0 1px 2px rgba(10,2,20,0.9), 0 2px 8px rgba(10,2,20,0.7), 0 0 16px rgba(224,165,38,0.5);
}

.hero-name-wrap{
  position:relative;
  z-index:1;
  display:inline-block;
}

.hero-divider{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:1px;
  margin:20px 0 0;
  background:var(--gold-metallic);
  border-radius:2px;
  box-shadow:0 2px 8px rgba(224,165,38,0.3);
}
.hero-divider::after{
  content:"✦";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%) scale(1.3);
  font-size:0.85rem;
  color:var(--gold-light);
  text-shadow:0 0 4px rgba(224,165,38,0.9), 0 0 14px rgba(224,165,38,0.6);
}

.hero-aura{
  position:absolute;
  inset:-42%;
  z-index:0;
  background:
    radial-gradient(46% 40% at 50% 34%, rgba(245,200,99,0.62) 0%, transparent 62%),
    radial-gradient(50% 44% at 50% 30%, rgba(240,223,184,0.42) 0%, transparent 68%),
    radial-gradient(58% 52% at 63% 56%, rgba(185,143,232,0.34) 0%, transparent 70%),
    radial-gradient(62% 58% at 33% 72%, rgba(124,47,224,0.28) 0%, transparent 72%);
  filter:blur(56px);
  animation:aura-pulse 12s ease-in-out infinite;
}

@keyframes aura-pulse{
  0%, 100%{ opacity:0.55; transform:scale(0.96); }
  50%{ opacity:1; transform:scale(1.08); }
}

.hero-ring{
  position:absolute;
  top:50%;
  left:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
  z-index:1;
  pointer-events:none;
}
.ring-a{ width:120%; aspect-ratio:1/1; top:47%; border:1px dashed rgba(224,165,38,0.5); animation:orbit-spin 150s linear infinite; }
.ring-b{ width:114%; aspect-ratio:1/1; top:50%; left:49%; border:1px dotted rgba(185,143,232,0.45); }
.ring-c{ width:97%; aspect-ratio:1/1; top:52%; border:1px solid rgba(224,165,38,0.38); }
.ring-d{ width:80%; aspect-ratio:1/1; top:54%; left:51%; border:1px dashed rgba(124,47,224,0.4); animation:orbit-spin-reverse 190s linear infinite; }
.ring-e{ width:65%; aspect-ratio:1/1; top:49%; left:48%; border:1px dotted rgba(224,165,38,0.3); }
.ring-f{ width:116%; aspect-ratio:1/1; top:47%; left:51%; border:1px solid rgba(224,165,38,0.16); animation:orbit-spin 220s linear infinite; }

@keyframes orbit-spin{ to{ transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes orbit-spin-reverse{ to{ transform:translate(-50%,-50%) rotate(-360deg); } }

.orbit-dot{
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold-light);
  box-shadow:0 0 8px 2px rgba(224,165,38,0.7);
  z-index:1;
  pointer-events:none;
  animation:dot-glow 6s ease-in-out infinite;
}
.dot-1{ top:8%; left:20%; animation-delay:0s; }
.dot-2{ top:82%; right:6%; width:5px; height:5px; animation-delay:1.5s; }
.dot-3{ top:38%; left:-3%; width:4px; height:4px; box-shadow:0 0 6px 2px rgba(224,165,38,0.6); animation-delay:3s; }
.dot-4{ top:70%; left:12%; width:4px; height:4px; background:var(--lavender); box-shadow:0 0 8px 2px rgba(185,143,232,0.6); animation-delay:4.5s; }

@keyframes dot-glow{
  0%, 100%{ opacity:0.55; transform:scale(0.85); }
  50%{ opacity:1; transform:scale(1.15); }
}

.hero-particle{
  position:absolute;
  z-index:1;
  color:var(--gold-light);
  text-shadow:0 0 8px rgba(224,165,38,0.6);
  pointer-events:none;
  opacity:0.75;
  animation:particle-pulse 8s ease-in-out infinite;
}
.particle-1{ top:4%; right:14%; font-size:0.9rem; animation-delay:0s; }
.particle-2{ top:64%; left:-5%; font-size:0.65rem; opacity:0.55; animation-delay:2s; }
.particle-3{ top:10%; right:9%; font-size:0.5rem; opacity:0.5; animation-delay:4s; }
.particle-4{ top:88%; left:6%; font-size:0.6rem; opacity:0.45; animation-delay:6s; }

@keyframes particle-pulse{
  0%, 100%{ opacity:0.4; }
  50%{ opacity:0.85; }
}

.hero-sparkles{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:3;
  pointer-events:none;
}
.spark-white-outline{ fill:none; stroke:var(--gold-light); stroke-width:1.6; opacity:0.8; }
.spark-purple-outline{ fill:none; stroke:var(--gold-pale); stroke-width:1.4; opacity:0.55; }

.hero-photo-frame{
  display:block;
  position:relative;
  z-index:2;
  animation:
    photo-entrance 1.1s ease-out both,
    photo-breathe 11s ease-in-out 1.1s infinite;
}

.hero-photo-frame::before{
  content:"";
  position:absolute;
  inset:-8%;
  z-index:-1;
  background:radial-gradient(58% 50% at 50% 38%, rgba(245,200,99,0.5) 0%, rgba(245,200,99,0.18) 45%, transparent 72%);
  filter:blur(30px);
  animation:aura-pulse 7s ease-in-out 1.5s infinite;
  pointer-events:none;
}

@keyframes photo-entrance{
  from{ opacity:0; filter:blur(5px); transform:scale(1.02); }
  to{ opacity:1; filter:blur(0); transform:scale(1); }
}
@keyframes photo-breathe{
  0%, 100%{ transform:scale(1); }
  50%{ transform:scale(1.012); }
}

.hero-portrait-cutout{
  position:relative;
  width:100%;
  height:auto;
  display:block;
  transition:transform .35s ease-out;
  filter:
    drop-shadow(0 20px 40px rgba(10,2,20,0.4))
    drop-shadow(0 0 14px rgba(224,165,38,0.16));
}

/* ---- rotating logo badge: a standalone seal beneath the text, not on the photo ---- */
.hero-badge{
  position:absolute;
  z-index:4;
  width:110px;
  height:110px;
  bottom:6%;
  right:-5%;
  animation:badge-spin 40s linear infinite;
}
.hero-badge::before{
  content:"";
  position:absolute;
  inset:-22%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(224,165,38,0.28) 0%, rgba(185,143,232,0.13) 50%, transparent 75%);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  box-shadow:0 14px 28px rgba(10,2,20,0.3);
  animation:halo-pulse 7s ease-in-out infinite;
}
.hero-badge-img{
  position:relative;
  width:100%;
  height:100%;
  display:block;
  filter:drop-shadow(0 6px 14px rgba(20,3,38,0.28));
}

@keyframes badge-spin{ to{ transform:rotate(360deg); } }

/* ---- text card: name on one line, divider below, subtitle after ---- */
.hero-name{
  position:relative;
  z-index:1;
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(2.5rem, 8vw, 3.4rem);
  line-height:1.05;
  margin:0;
  letter-spacing:-0.005em;
  filter:drop-shadow(0 3px 10px rgba(10,2,20,0.4));
}
.hero-name .name-main{ color:var(--lavender); }
.hero-name .name-accent{
  background:linear-gradient(120deg, #C99A3E 0%, #F5D68C 30%, #FCEAB8 50%, #E0A526 70%, #B97D1E 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero-subtitle{
  position:relative;
  z-index:1;
  font-family:var(--font-body);
  font-weight:400;
  font-size:clamp(1.2rem, 2.2vw, 1.55rem);
  letter-spacing:0.015em;
  color:#FFFFFF !important;
  margin:20px 0 0;
  line-height:1.6;
}

.hero-cta{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:24px;
  padding:0 20px;
  height:49px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:0.76rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--purple-deep);
  background:linear-gradient(120deg, #D6AE55 0%, #E8C578 30%, #F3DB9C 50%, #E0A526 75%, #C99A3E 100%);
  border:1px solid rgba(255,255,255,0.3);
  border-radius:999px;
  overflow:hidden;
  box-shadow:
    0 6px 14px rgba(224,165,38,0.22),
    inset 0 1px 0 rgba(255,255,255,0.45);
  transition:transform .25s ease, box-shadow .25s ease;
}
.hero-cta::before{
  content:"";
  position:absolute;
  top:0;
  left:-60%;
  width:40%;
  height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,0.6), transparent);
  transform:skewX(-20deg);
  transition:left .7s ease;
  pointer-events:none;
}
.hero-cta:hover::before{ left:120%; }
.hero-cta:hover{
  transform:translateY(-1px);
  box-shadow:
    0 8px 18px rgba(224,165,38,0.3),
    inset 0 1px 0 rgba(255,255,255,0.5);
}
.cta-arrow{
  display:inline-block;
  transition:transform .25s ease;
}
.hero-cta:hover .cta-arrow{ transform:translateX(4px); }
.hero-cta:focus-visible{
  outline:2px solid var(--gold-light);
  outline-offset:3px;
}

.hero-benefits{
  position:relative;
  z-index:1;
  margin:16px 0 0;
  font-family:var(--font-body);
  font-size:0.72rem;
  font-weight:500;
  letter-spacing:0.05em;
  color:#FFFFFF !important;
  opacity:0.85;
}

@media (min-width:860px){
  .hero{ padding:70px 24px 70px; min-height:min(86vh, 740px); justify-content:center; }
  .hero-inner{
    flex-direction:row;
    align-items:flex-end;
    justify-content:center;
    text-align:left;
    gap:70px;
    padding:44px 60px 0;
    margin:0 auto;
  }
  .hero-media{ width:460px; }
  .hero-content{ align-self:center; max-width:480px; padding-bottom:56px; margin-top:13px; }
  .hero-name{ font-size:clamp(2.6rem, 4.2vw, 3.8rem); }
}

@media (min-width:1200px){
  .hero-media{ width:470px; }
  .main-nav{ display:flex; }
}

@media (prefers-reduced-motion: reduce){
  .hero-badge, .ring-a, .ring-d, .ring-f, .hero-badge::before, .hero-aura, .orbit-dot, .hero-particle,
  .hero-photo-frame, .hero-orbits, .hero-content-glow, .scroll-line::before, .hero-photo-frame::before{
    animation:none;
  }
  .hero-photo-frame{ opacity:1; filter:none; transform:none; }
  .hero-orbits{ opacity:1; }
}

/* ============ ABOUT ============ */
.about{
  background:var(--bg);
  padding:100px 24px 90px;
}

.about-inner{
  max-width:760px;
  margin:0 auto;
}

.section-eyebrow{
  font-family:var(--font-body);
  font-size:0.68rem;
  font-weight:500;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--gold);
  text-align:center;
  margin:0 0 10px;
}

.section-heading{
  font-family:var(--font-display);
  font-style:italic;
  font-weight:500;
  font-size:clamp(1.9rem, 4vw, 2.7rem);
  color:var(--purple-deep);
  text-align:center;
  margin:0 0 44px;
}

.about-body p{
  font-size:1.02rem;
  line-height:1.85;
  color:var(--purple-ink);
  margin:0 0 22px;
}

.discipline-chips{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin:0 0 30px;
  padding:0;
}
.discipline-chips li{
  font-family:var(--font-body);
  font-size:0.82rem;
  letter-spacing:0.02em;
  color:var(--purple-deep);
  background:var(--bg-soft);
  border:1px solid rgba(107,63,160,0.18);
  padding:8px 16px;
  border-radius:999px;
}

.disclaimer{
  margin-top:56px;
  padding:26px 28px;
  border-top:1px solid rgba(107,63,160,0.16);
}
.disclaimer-title{
  font-family:var(--font-body);
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 12px;
}
.disclaimer p{
  font-size:0.82rem;
  line-height:1.75;
  color:rgba(43,23,67,0.68);
  margin:0 0 10px;
}
.disclaimer p:last-child{ margin-bottom:0; }

/* ============ RESPONSIVE ============ */
@media (max-width:640px){
  .header-inner{ padding:14px 18px; }
  .header-right{ gap:14px; }
  .socials{ gap:12px; }
  .lang-btn{ padding:8px 13px; font-size:0.76rem; }
  .brand-name{ font-size:1.2rem; }
  .about{ padding:70px 20px 60px; }
  .disclaimer{ padding:22px 4px; }
}

/* ============ SECTIONS ============ */
.section-block{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38vh;
  padding:60px 24px;
  text-align:center;
  background:#FFFFFF;
}
.section-block::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:var(--gold-metallic);
  opacity:0.45;
}

.section-inner{
  width:100%;
  max-width:1060px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.section-title-badge{
  position:relative;
  z-index:2;
  margin-bottom:-28px;
  padding:16px 40px;
  border-radius:16px;
  background:linear-gradient(155deg, #5C258A 0%, #4A1B7A 28%, #3B1266 52%, #341160 74%, #2D0F52 100%);
  border:1px solid rgba(224,165,38,0.4);
  box-shadow:0 16px 34px rgba(20,3,38,0.28);
}

.section-frame{
  width:100%;
  max-width:1060px;
  padding:60px 40px 44px;
  min-height:160px;
  border:1.5px solid rgba(224,165,38,0.35);
  border-radius:26px;
  box-shadow:0 20px 44px rgba(80,40,140,0.10);
}

.section-kicker{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(1.2rem, 2.4vw, 1.65rem);
  margin:0;
  letter-spacing:0.01em;
  background:linear-gradient(120deg, #C99A3E 0%, #F5D68C 30%, #FCEAB8 50%, #E0A526 70%, #B97D1E 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.block-gold-alt{
  background:linear-gradient(160deg, rgba(224,165,38,0.26) 0%, rgba(224,165,38,0.08) 100%), #FFFFFF;
}
.block-gold-alt .section-frame{
  background:rgba(255,255,255,0.5);
  border-color:rgba(224,165,38,0.4);
}

.block-purple-alt{
  background:linear-gradient(160deg, rgba(124,47,224,0.24) 0%, rgba(124,47,224,0.07) 100%), #FFFFFF;
}
.block-purple-alt .section-frame{
  background:rgba(255,255,255,0.5);
  border-color:rgba(124,47,224,0.3);
}

/* ---- welcome section ---- */
.block-welcome{
  background:linear-gradient(160deg, rgba(224,165,38,0.22) 0%, rgba(124,47,224,0.14) 100%), #FFFFFF;
  padding:80px 24px;
}
.welcome-frame{
  max-width:1060px;
  padding:56px 52px;
  background:rgba(255,255,255,0.55);
  text-align:center;
}
.welcome-title{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(1.6rem, 3.4vw, 2.1rem);
  margin:0 0 10px;
  background:linear-gradient(120deg, var(--purple-deep) 0%, var(--purple) 45%, var(--gold-deep) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.welcome-subtitle{
  font-family:var(--font-body);
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gold-deep);
  margin:0;
}
.welcome-divider{
  display:block;
  width:64px;
  height:2px;
  margin:22px auto 26px;
  background:var(--gold-metallic);
  border-radius:2px;
}
.welcome-body{
  font-family:var(--font-body);
  font-size:1.05rem;
  line-height:1.75;
  color:var(--purple-ink);
  margin:0 auto 26px;
  max-width:680px;
}
.welcome-disclaimer{
  font-family:var(--font-body);
  font-size:0.82rem;
  line-height:1.65;
  color:rgba(46,18,71,0.65);
  margin:0 auto;
  max-width:680px;
  padding-top:22px;
  border-top:1px solid rgba(224,165,38,0.25);
}

@media (max-width:640px){
  .section-frame{ padding:52px 22px 32px; }
  .welcome-frame{ padding:40px 26px; }
  .section-title-badge{ padding:14px 26px; margin-bottom:-22px; }
}

/* ============ FOOTER ============ */
.site-footer{
  background:linear-gradient(155deg, #5C258A 0%, #4A1B7A 28%, #3B1266 52%, #341160 74%, #2D0F52 100%);
  padding:28px 24px;
  text-align:center;
}
.footer-text{
  margin:0;
  font-family:var(--font-body);
  font-size:0.78rem;
  font-weight:400;
  letter-spacing:0.02em;
  color:rgba(255,255,255,0.75);
}
.footer-text a{
  color:var(--gold-light);
  font-weight:600;
  transition:color .2s ease;
}
.footer-text a:hover{ color:#fff; }

@media (max-width:640px){
  .footer-text{ font-size:0.72rem; line-height:1.6; }
}

/* ============ SESSIONS SECTION CONTENT ============ */
.sessions-layout{
  display:flex;
  flex-direction:column;
  gap:36px;
  align-items:center;
}

.sessions-image{
  width:100%;
  max-width:420px;
  flex-shrink:0;
}
.sessions-image img{
  width:100%;
  height:auto;
  display:block;
  border-radius:20px;
  border:1px solid rgba(224,165,38,0.35);
  box-shadow:0 24px 50px rgba(80,40,140,0.18);
}

.sessions-content{
  width:100%;
  text-align:left;
}

.sessions-heading{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(1.4rem, 2.6vw, 1.8rem);
  margin:0 0 12px;
  text-align:left;
  background:linear-gradient(120deg, var(--purple-deep) 0%, var(--purple) 45%, var(--gold-deep) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.sessions-intro{
  font-family:var(--font-body);
  font-size:1rem;
  color:var(--purple-ink);
  margin:0 0 20px;
  line-height:1.6;
}

.pricing-list{
  list-style:none;
  margin:0 0 24px;
  padding:0;
}
.pricing-list li{
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:9px 0;
  border-bottom:1px dashed rgba(224,165,38,0.3);
}
.pricing-list li:first-child{ padding-top:0; }
.pricing-duration{
  font-family:var(--font-body);
  font-size:0.95rem;
  font-weight:500;
  color:var(--purple-ink);
  white-space:nowrap;
}
.pricing-dots{
  flex:1;
  border-bottom:1px dotted rgba(74,27,122,0.3);
  transform:translateY(-4px);
}
.pricing-price{
  font-family:var(--font-display);
  font-weight:600;
  font-size:1.05rem;
  color:var(--gold-deep);
  white-space:nowrap;
}

.sessions-extra,
.sessions-sub{
  font-family:var(--font-body);
  font-size:0.92rem;
  line-height:1.65;
  color:rgba(46,18,71,0.78);
  margin:0 0 14px;
}

.sessions-cta{
  font-family:var(--font-display);
  font-weight:600;
  font-style:italic;
  font-size:1.1rem;
  color:var(--purple-prune);
  margin:20px 0 0;
}

@media (min-width:760px){
  .sessions-layout{
    flex-direction:row;
    align-items:center;
    gap:48px;
  }
  .sessions-image{ max-width:380px; }
}

/* ---- about section: image on the right (alternating layout) ---- */
.about-p{
  font-family:var(--font-body);
  font-size:1.08rem;
  line-height:1.85;
  color:var(--purple-ink);
  margin-bottom:20px;
}
.about-p:last-child{ margin-bottom:0; }

.term-highlight{
  color:var(--gold-deep);
  font-weight:600;
}

/* ============ TRAINING TIMELINE ============ */
.training-list{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
  margin-top:4px;
  text-align:left;
  align-items:stretch;
}
.training-entry{
  display:flex;
  flex-direction:column;
  padding:13px 16px;
  border:1px solid rgba(224,165,38,0.35);
  border-radius:12px;
  background:rgba(255,255,255,0.45);
}
.training-period{
  font-family:var(--font-display);
  font-weight:600;
  font-size:0.94rem;
  color:var(--gold-deep);
  margin:0 0 3px;
}
.training-label{
  font-family:var(--font-body);
  font-weight:600;
  font-size:0.72rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--purple-prune);
  margin:5px 0 2px;
}
.training-line{
  font-family:var(--font-body);
  font-size:0.83rem;
  line-height:1.42;
  color:var(--purple-ink);
  margin:0 0 2px;
}

@media (max-width:900px){
  .training-list{ grid-template-columns:repeat(2, 1fr); }
}

/* ---- logo story block (end of About section) ---- */
.about-logo-divider{
  display:block;
  height:1px;
  margin:40px 0;
  background:linear-gradient(90deg, transparent, rgba(124,47,224,0.3) 50%, transparent);
}
.about-p:empty{ display:none; margin:0; }

.logo-layout{
  text-align:left;
}
.logo-layout::after{
  content:"";
  display:table;
  clear:both;
}
.logo-float-img{
  float:left;
  width:440px;
  max-width:58%;
  height:auto;
  margin:2px 32px 18px 0;
  border-radius:16px;
  border:1px solid rgba(224,165,38,0.35);
  box-shadow:0 20px 44px rgba(80,40,140,0.16);
}
.logo-layout .sessions-heading{ margin-top:0; }

@media (max-width:600px){
  .logo-float-img{
    float:none;
    width:100%;
    max-width:none;
    margin:0 0 20px;
  }
}

/* ============ CONTACT SECTION ============ */
.contact-list{
  list-style:none;
  margin:0 0 28px;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px 28px;
}
.contact-row{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 0;
  border-bottom:1px dashed rgba(224,165,38,0.28);
}
.contact-row:nth-child(1),
.contact-row:nth-child(2){ padding-top:0; }
.contact-icon{
  flex-shrink:0;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(224,165,38,0.14);
  color:var(--gold-deep);
}
.contact-icon svg{ width:24px; height:24px; }
.contact-text{ min-width:0; }
.contact-label{
  margin:0 0 3px;
  font-family:var(--font-body);
  font-size:0.86rem;
  font-weight:600;
  letter-spacing:0.02em;
  color:var(--purple-prune);
}
.contact-value{
  font-family:var(--font-body);
  font-size:1.12rem;
  font-weight:500;
  color:var(--purple-ink);
  word-break:break-word;
  transition:color .2s ease;
}
.contact-value:hover{ color:var(--gold-deep); }

.contact-social-label{
  margin:0 0 10px;
  font-family:var(--font-body);
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--purple-prune);
}
.contact-socials a{
  color:var(--purple-deep);
  background:rgba(224,165,38,0.14);
}
.contact-socials a:hover{
  color:#fff;
  background:var(--gold-metallic);
}

@media (max-width:560px){
  .contact-list{ grid-template-columns:1fr; }
  .contact-row:nth-child(2){ padding-top:16px; }
}

/* ============ PDF DOWNLOAD CARDS ============ */
.pdf-cards{
  margin-top:36px;
  padding-top:32px;
  border-top:1px solid rgba(224,165,38,0.28);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.pdf-card{
  display:block;
  border:1px solid rgba(224,165,38,0.35);
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,0.5);
  box-shadow:0 16px 34px rgba(80,40,140,0.12);
  transition:transform .2s ease, box-shadow .2s ease;
}
.pdf-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 44px rgba(80,40,140,0.18);
}
.pdf-card img{
  width:100%;
  height:150px;
  object-fit:cover;
  display:block;
}
.pdf-card-body{
  padding:14px 16px;
}
.pdf-card-title{
  margin:0 0 10px;
  font-family:var(--font-body);
  font-size:0.86rem;
  font-weight:600;
  line-height:1.4;
  color:var(--purple-ink);
}
.pdf-card-cta{
  font-family:var(--font-body);
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--gold-deep);
}

@media (max-width:600px){
  .pdf-cards{ gap:12px; }
  .pdf-card img{ height:90px; }
  .pdf-card-body{ padding:10px 12px; }
  .pdf-card-title{ font-size:0.74rem; margin-bottom:6px; }
  .pdf-card-cta{ font-size:0.68rem; }
}

/* ============ MOBILE OPTIMIZATION PASS ============ */
@media (max-width:859px){
  /* hero: text first, photo (with orbits) at the bottom of the frame */
  .hero-content{ order:1; }
  .hero-media{ order:2; margin-top:8px; }
  .hero-badge{ animation:none; }

  .hero-inner{ padding:30px 24px; }
}

@media (max-width:759px){
  /* about: photo directly under the section title, above the bio text */
  .about-layout .sessions-image{ order:1; margin-bottom:4px; }
  .about-layout .sessions-content{ order:2; }
}

@media (max-width:640px){
  /* welcome section: smaller, more compact text */
  .welcome-title{ font-size:1.35rem; }
  .welcome-subtitle{ font-size:0.68rem; }
  .welcome-body{ font-size:0.92rem; line-height:1.65; }
  .welcome-disclaimer{ font-size:0.74rem; }

  /* about bio + logo story: smaller text */
  .about-p{ font-size:0.92rem; line-height:1.65; }
  .sessions-heading{ font-size:1.2rem; }
  .logo-float-img{ margin-bottom:14px; }

  /* training: keep 2 columns even on phones, just tighten it up */
  .training-list{ grid-template-columns:repeat(2, 1fr) !important; gap:10px; }
  .training-entry{ padding:10px 12px; }
  .training-period{ font-size:0.82rem; }
  .training-label{ font-size:0.64rem; }
  .training-line{ font-size:0.74rem; line-height:1.35; }
}
