:root{--ink:#302e27;--olive:#8c8954;--gold:#b68a45;--line:#ded2bf;--cream:#fbf8f2;--lavender:#f3edf5;--paper:#fffdfa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}

.site-header{height:92px;display:grid;grid-template-columns:1.15fr auto 1fr;align-items:center;padding:0 34px;background:#fff;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px}.lotus{width:56px;height:56px;border:1px solid #c7ad7f;border-radius:50%;display:grid;place-items:center;color:#b1874d;font-size:30px;line-height:1}.brand b{font-family:Georgia,serif;font-size:18px;font-weight:400;display:block}.brand small{display:block;color:#999185;font-size:9px;margin-top:5px;letter-spacing:.03em}.site-header nav{display:flex;gap:38px;font-size:11px}.site-header nav a:hover{color:var(--gold)}.header-actions{justify-self:end;display:flex;align-items:center;gap:12px}.social{width:43px;height:43px;border:1px solid #c4a66d;border-radius:50%;display:grid;place-items:center;color:#916d34;font-size:18px}.header-cta,.pill,.submit-button,.program-card button,.participation a,.participation button{border-radius:999px;background:linear-gradient(90deg,#9b955c,#827e4c);color:#fff;border:0}.header-cta{padding:14px 38px;font-size:12px}

.hero-section{margin:0 22px 18px;min-height:520px;border:1px solid var(--line);border-radius:28px;overflow:hidden;position:relative;background:#f7f2e9}.hero-photo{position:absolute;inset:0;background-image:linear-gradient(90deg,#fbf8f1 0%,rgba(251,248,241,.98) 35%,rgba(251,248,241,.45) 61%,transparent 76%),url('/images/hero-art-studio.webp');background-size:cover;background-position:center right}.hero-content{position:relative;z-index:2;padding:52px 42px;width:59%}.overline{font-size:10px;letter-spacing:.1em;margin:0 0 26px}h1{font-family:Georgia,serif;font-size:49px;line-height:1.12;font-weight:400;margin:0 0 22px;letter-spacing:-.02em}h1 em{display:block;color:#b17f35;font-size:54px;line-height:1.18;margin-top:5px}.hero-description{max-width:600px;font-size:14px;line-height:1.62;margin:0}.hero-buttons{display:flex;gap:30px;margin-top:30px}.pill{padding:16px 32px;min-width:260px;text-align:center;font-size:12px}.pill span{float:right;font-size:16px}.pill.outline{background:rgba(255,255,255,.55);border:1px solid #b88b47;color:#9c7137;min-width:220px}.hero-values{display:flex;gap:24px;margin-top:34px;color:#777167;font-size:12px}.hero-values i{font-style:normal;color:#b6996c}.geometry{position:absolute;left:49%;top:18px;width:300px;height:300px;border:1px solid rgba(189,139,71,.32);border-radius:50%;z-index:1;display:grid;place-items:center;color:rgba(190,137,60,.43);font-size:210px;transform:rotate(45deg)}

.benefits{margin:0 22px 22px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(110deg,#fff,#fbf8f4);display:grid;grid-template-columns:repeat(6,1fr);padding:28px 30px}.benefits article{text-align:center;padding:0 22px;border-right:1px solid #e5ddd1}.benefits article:last-child{border:0}.benefits i{display:block;color:#b18448;font-family:Georgia,serif;font-size:46px;font-style:normal;height:54px;line-height:1}.benefits h3{font-family:Georgia,serif;font-size:15px;font-weight:400;margin:12px 0 9px}.benefits p{font-size:11px;line-height:1.55;color:#68645d;margin:0 auto;max-width:160px}

.programs{padding:2px 22px 20px}.section-title{display:flex;align-items:center;justify-content:center;gap:26px;margin:20px 0 22px}.section-title span{width:65px;height:1px;background:#c7a66e}.section-title h2,.participation>h2{font-family:Georgia,serif;font-weight:400;font-size:39px;margin:0}.program-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.program-card{border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;display:flex;flex-direction:column;min-width:0}.card-image{height:250px;margin:9px 9px 0;border-radius:17px;background-size:cover;background-position:center;position:relative}.card-number{position:absolute;top:9px;left:9px;width:32px;height:32px;background:#f9f5eb;border:1px solid #dfd1bb;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:15px}.card-tag{position:absolute;top:12px;left:48px;background:#92905c;color:#fff;border-radius:20px;padding:5px 13px;font-size:9px}.card-body{padding:13px 16px 16px;display:flex;flex-direction:column;flex:1}.card-body h3{font-family:Georgia,serif;font-size:21px;line-height:1.02;font-weight:400;margin:0 0 11px}.card-body h3 small{font:inherit;font-size:17px}.card-subtitle,.card-text,.card-note{font-size:10.5px;line-height:1.42;margin:0 0 10px;color:#55514c}.card-body ul{margin:2px 0 10px;padding-left:16px;font-size:10px;line-height:1.5}.card-text{font-weight:600}.card-badge{border:1px solid #e5d8c7;background:linear-gradient(100deg,#faf7ee,#f5eef8);border-radius:10px;padding:8px;font-size:9.5px;line-height:1.35;color:#806180;margin:2px 0 10px}.card-note{white-space:pre-line;margin-top:auto}.card-footer{margin-top:auto}.card-price{height:42px;border:1px solid #e9dfd2;background:#fbf8f2;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:19px;margin-bottom:8px}.card-price b{font-family:Georgia,serif;color:#a37431;font-size:23px;font-weight:400}.card-price s{color:#aaa198;font-size:12px}.program-card button{width:100%;padding:11px 18px;font-size:12px;display:flex;justify-content:center;gap:30px}.gift{border-radius:11px;background:linear-gradient(100deg,#faf7ee,#f2eafb);color:#866b8a;font-size:9.5px;line-height:1.3;padding:8px;margin:9px 0 0;position:relative}.gift span{position:absolute;right:9px;bottom:7px;font-size:20px}

.signup{margin:20px 20px 20px;border:1px solid #e2d4dc;border-radius:23px;background:linear-gradient(100deg,#fff9f4,#f7edf7);min-height:185px;padding:24px 32px;display:grid;grid-template-columns:300px 100px 1fr;align-items:center;gap:12px;position:relative}.signup-copy h2{font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.12;margin:0 0 16px}.signup-copy p{font-size:10.5px;line-height:1.5;max-width:250px;margin:0}.dry-flowers{font-size:78px;color:#c39869;opacity:.8;transform:rotate(-12deg);text-align:center}.signup form,.success{background:rgba(255,255,255,.8);border-radius:16px;padding:16px}.form-row{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.signup label{font-size:9px;display:block}.signup input,.signup select{display:block;width:100%;height:38px;border:1px solid #d9d1c7;border-radius:9px;background:#fff;padding:0 13px;margin-top:6px;font-size:10px;color:#625e57}.submit-button{width:100%;padding:11px;margin-top:10px;font-size:12px}.submit-button span{margin-left:30px}.privacy{font-size:8.5px;color:#8a857d;margin:9px 5px 0}.success{text-align:center}.success b{font-family:Georgia,serif;font-size:22px}.success button{border:0;background:none;text-decoration:underline;margin-top:8px}

.participation{margin:0 22px 16px;border:1px solid var(--line);border-radius:23px;padding:0 26px 9px}.participation>h2{text-align:center;font-size:21px;margin:-13px auto 2px;background:#fff;width:220px}.participation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.participation article{min-height:132px;border:1px solid #e1d7c9;border-radius:15px;display:grid;grid-template-columns:95px 1fr;padding:16px;background:#fffdf9}.participation article>i{font-style:normal;color:#ad8247;font-size:55px;display:grid;place-items:center}.participation h3{font-family:Georgia,serif;font-weight:400;margin:0 0 7px;font-size:15px}.participation p{font-size:9.5px;line-height:1.4;margin:0 0 9px}.participation a,.participation button{display:block;text-align:center;font-size:10px;width:88%;padding:5px}.receipt{text-align:center;font-size:9px;margin:7px 0 0;color:#7b756c}.reviews{margin:0 22px 16px;border:1px solid #e7dce6;background:#fbf5fa;border-radius:18px;padding:28px;text-align:center}.reviews h2{font-family:Georgia,serif;font-weight:400;color:#99784f;margin:0 0 8px;font-size:22px}.reviews p{margin:0;color:#7b6c72;font-size:11px;font-style:italic}

footer{margin:0 22px 22px;border:1px solid var(--line);border-radius:20px;background:#fdfbf7;display:grid;grid-template-columns:1.3fr repeat(3,.7fr) 1.2fr;gap:25px;padding:22px 26px}.footer-brand .lotus{width:48px;height:48px}.footer-brand .brand b{font-size:14px}footer>div:not(.footer-brand):not(.footer-quote){display:flex;flex-direction:column;gap:4px;font-size:9.5px}footer>div>b{font-size:10px;margin-bottom:2px}.footer-quote{border-radius:13px;background:linear-gradient(120deg,#f5eff5,#fff9ed);padding:15px 20px;color:#a17a4e;position:relative;font-family:Georgia,serif;font-size:14px;line-height:1.55}.footer-quote span{position:absolute;right:18px;bottom:10px;font-size:36px;color:#ba9667}

@media(max-width:1250px){.site-header nav{display:none}.site-header{grid-template-columns:1fr auto}.hero-content{width:68%}.benefits{grid-template-columns:repeat(3,1fr);row-gap:30px}.benefits article:nth-child(3){border-right:0}.program-grid{grid-template-columns:repeat(3,1fr)}.signup{grid-template-columns:250px 70px 1fr}.form-row{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1.3fr repeat(2,.8fr);}.footer-quote{grid-column:1/-1}}
@media(max-width:760px){body{font-size:13px}.site-header{height:72px;padding:0 16px}.site-header .brand small,.social{display:none}.lotus{width:42px;height:42px;font-size:22px}.brand b{font-size:13px}.header-cta{padding:11px 18px}.hero-section{margin:0 10px 12px;min-height:630px}.hero-photo{background-image:linear-gradient(180deg,rgba(251,248,241,.98) 0%,rgba(251,248,241,.9) 54%,rgba(251,248,241,.2) 75%),url('/images/hero-art-studio.webp');background-position:62% center}.hero-content{width:100%;padding:36px 24px}.overline{font-size:8px}.hero-content h1{font-size:36px}.hero-content h1 em{font-size:39px}.hero-description{max-width:100%}.hero-buttons{flex-direction:column;gap:10px}.pill{width:100%;min-width:0}.hero-values{flex-wrap:wrap;gap:10px 15px}.geometry{left:40%;top:255px}.benefits{margin:0 10px 16px;grid-template-columns:repeat(2,1fr);padding:22px 12px}.benefits article{padding:0 10px}.benefits article:nth-child(even){border-right:0}.benefits article:nth-child(3){border-right:1px solid #e5ddd1}.section-title h2{font-size:28px;text-align:center}.section-title span{width:25px}.programs{padding:0 10px 16px}.program-grid{grid-template-columns:1fr}.program-card{max-width:460px;margin:auto}.card-image{height:320px}.card-body h3{font-size:25px}.card-subtitle,.card-text,.card-note,.card-body ul{font-size:12px}.signup{margin:0 10px 18px;grid-template-columns:1fr;padding:25px}.dry-flowers{display:none}.form-row{grid-template-columns:1fr;gap:12px}.participation{margin:0 10px 16px}.participation-grid{grid-template-columns:1fr;gap:10px}.reviews{margin:0 10px 16px}footer{margin:0 10px 12px;grid-template-columns:1fr 1fr}.footer-brand,.footer-quote{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.program-card.bear .card-image{overflow:hidden}
.program-card.bear .card-image:after{content:"◇";position:absolute;left:50%;bottom:-42px;transform:translateX(-50%) rotate(45deg);width:145px;height:145px;border:1px solid rgba(222,174,74,.65);border-radius:50%;display:grid;place-items:center;color:rgba(238,187,75,.85);font-size:100px;text-shadow:0 0 14px #34250f}
.card-number,.card-tag{z-index:2}

body{font-family:var(--font-sans),Arial,Helvetica,sans-serif}
em,h1,.brand b,.benefits h3,.section-title h2,.card-body h3,.signup-copy h2,.participation>h2,.participation h3,.success b,.footer-quote{font-family:var(--font-serif),Georgia,'Times New Roman',serif}
.brand b{font-weight:500;letter-spacing:.01em}.lotus svg{width:31px;height:31px}.social svg{display:block}
.geometry{left:41.5%;top:-20px;width:380px;height:380px;border:0;border-radius:0;background:url('/images/sacred-geometry.webp') center/contain no-repeat;opacity:.65;transform:none}
.benefits i{display:flex;align-items:center;justify-content:center}.benefits i svg{width:48px;height:48px}.hero-buttons .pill{display:flex;align-items:center;justify-content:center;gap:30px}.hero-buttons .pill svg{margin-left:auto}
.dry-flowers{height:145px;background:url('/images/vase-flowers.webp') center bottom/contain no-repeat;transform:none;opacity:1}
.privacy{display:flex;align-items:center;gap:6px}.participation{position:relative}.anchor{position:absolute;top:-80px}.participation article>i svg{width:64px;height:64px}.footer-quote>span{width:42px;height:42px}.footer-quote>span svg{width:100%;height:100%}
@media(max-width:760px){.geometry{left:35%;top:250px;width:260px;height:260px}.dry-flowers{display:none}.benefits i svg{width:39px;height:39px}}

svg.image-svg {
    width: 208px!important;
}

svg.bordz {
    width: 135px!important;
}

/* Standalone HTML version */
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
svg:not(.svg-sprite){fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;width: 21px;}
body{font-family:Arial,Helvetica,sans-serif; overflow-x: hidden;}
em,h1,.brand b,.benefits h3,.section-title h2,.card-body h3,.signup-copy h2,.participation>h2,.participation h3,.success b,.footer-quote{font-family:Georgia,'Times New Roman',serif}
.hero-photo{background-image:linear-gradient(90deg,#fbf8f1 0%,rgba(251,248,241,.98) 35%,rgba(251,248,241,.45) 61%,transparent 76%),url('./images/hero-art-studio.webp')}
.geometry{background-image:url('./images/sacred-geometry.webp')}
.dry-flowers{background-image:url('./images/vase-flowers.webp')}
.privacy svg{width:11px;height:11px;flex:0 0 auto}
@media(max-width:760px){.hero-photo{background-image:linear-gradient(180deg,rgba(251,248,241,.98) 0%,rgba(251,248,241,.9) 54%,rgba(251,248,241,.2) 75%),url('./images/hero-art-studio.webp')}}

/* ==========================================================================
   ИНТЕГРАЦИЯ: Блоки "Я - Анастасия" и "Форматы встреч"
   ========================================================================== */

.who-section {
  position: relative;
  background: var(--cream);
  padding: 80px 22px;
  display: flex;
  justify-content: center;
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}

.who-bg-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.who-section .container-narrow {
  position: relative;
  z-index: 1;
}

.container-narrow {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

.who-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 50px;
  align-items: center;
}

/* Блок с изображением */
.who-image-wrapper {
  position: relative;
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
}

.who-image {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: 0 10px 30px rgba(48, 46, 39, 0.03);
}

.image-svg {
  display: block;
  width: 100%;
  height: auto;
  background: var(--paper);
}

.image-frame {
  position: absolute;
  top: 14px;
  left: 14px;
  right: 14px;
  bottom: 14px;
  border: 1px solid rgba(182, 138, 69, 0.25);
  pointer-events: none;
  border-radius: 14px;
}

.floating-accent {
  position: absolute;
  bottom: -15px;
  right: -15px;
  width: 65px;
  height: 65px;
  z-index: 2;
  animation: whoFloatAnim 6s ease-in-out infinite;
}

@keyframes whoFloatAnim {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

/* Контентная часть автора */
.who-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.who-label, .formats-label {
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--olive);
  margin-bottom: 12px;
}

.who-title {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 42px;
  font-weight: 400;
  color: var(--ink);
  margin: 0 0 20px 0;
  line-height: 1.15;
}

.who-text p {
  color: #55514c;
  font-size: 13.5px;
  line-height: 1.6;
  margin: 0 0 14px 0;
}

.who-text p:last-child {
  margin-bottom: 24px;
}

.who-quote {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 16px;
  color: var(--gold);
  margin: 0;
  padding-left: 18px;
  border-left: 2px solid var(--gold);
  line-height: 1.4;
}

/* Секция форматов встреч */
.formats-section {
  position: relative;
  background: var(--paper);
  padding: 80px 22px;
  display: flex;
  justify-content: center;
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}

.formats-bg-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.formats-section .container-narrow {
  position: relative;
  z-index: 1;
  width: 100%;
}

.formats-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 50px auto;
}

.formats-header .section-title {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  font-size: 39px;
  margin: 0 0 12px 0;
  color: var(--ink);
}

.formats-header .section-subtitle {
  font-size: 13px;
  color: #68645d;
  margin: 0;
}

.formats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.format-card {
  position: relative;
  background: rgba(255, 253, 250, 0.92);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 35px 25px 25px 25px;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease;
}

.format-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(182, 138, 69, 0.1), 0 4px 12px rgba(48, 46, 39, 0.04);
  border-color: var(--gold);
}

.card-icon {
  width: 44px;
  height: 44px;
  color: var(--gold);
  margin-bottom: 20px;
  transition: transform 0.4s ease;
}

.format-card:hover .card-icon {
  transform: scale(1.1) rotate(4deg);
}

.card-icon svg {
  width: 100%;
  height: 100%;
}

.card-number {
  position: absolute;
  top: 25px;
  right: 25px;
  font-family: Georgia, serif;
  font-size: 16px;
  color: var(--line);
}

.format-card .card-title {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 21px;
  font-weight: 400;
  color: var(--ink);
  margin: 0 0 4px 0;
}

.format-card .card-subtitle {
  font-size: 11px;
  color: var(--olive);
  margin: 0 0 14px 0;
}

.format-card .card-description {
  font-size: 12px;
  color: #55514c;
  line-height: 1.5;
  margin: 0 0 20px 0;
}

.format-card .card-features {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
  flex-grow: 1;
}

.format-card .card-features li {
  font-size: 11.5px;
  color: var(--ink);
  padding-left: 14px;
  position: relative;
  margin-bottom: 8px;
  line-height: 1.4;
}

.format-card .card-features li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--gold);
}

.format-card .card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 14px;
  border-top: 1px dashed var(--line);
  font-size: 11px;
  color: #68645d;
}

/* ==========================================================================
   АНИМАЦИИ И МИКРО-ИНТЕРАКЦИИ (Стиль и динамика)
   ========================================================================== */

/* SVG Sacred Geometry Animations */
.svg-rotate-matrix {
  transform-box: fill-box;
  transform-origin: center;
  animation: svgRotateMatrix 120s linear infinite;
}

@keyframes svgRotateMatrix {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.svg-breathe-lotus {
  transform-box: fill-box;
  transform-origin: center;
  animation: svgBreatheLotus 6s ease-in-out infinite alternate;
}

@keyframes svgBreatheLotus {
  0% { transform: scale(0.98) translateY(0px); filter: drop-shadow(0 0 2px rgba(196,163,90,0.2)); }
  100% { transform: scale(1.02) translateY(-4px); filter: drop-shadow(0 0 12px rgba(212,175,55,0.6)); }
}

.svg-pulse-element {
  animation: svgPulseStar 4s ease-in-out infinite alternate;
}

@keyframes svgPulseStar {
  0% { opacity: 0.85; transform: scale(0.96); }
  100% { opacity: 1; transform: scale(1.04); }
}

.svg-floating-particles circle {
  animation: particleFloat 5s ease-in-out infinite alternate;
}

.svg-floating-particles circle:nth-child(2n) {
  animation-duration: 7s;
  animation-delay: -2.5s;
}

@keyframes particleFloat {
  0% { transform: translateY(0) scale(0.9); opacity: 0.5; }
  100% { transform: translateY(-8px) scale(1.2); opacity: 0.95; }
}

/* Ambient Floating & Pulse Effects */
.lotus svg {
  animation: lotusPulseGlow 4s ease-in-out infinite alternate;
}

@keyframes lotusPulseGlow {
  0% { transform: scale(1); filter: drop-shadow(0 0 1px rgba(177, 135, 77, 0.2)); }
  100% { transform: scale(1.06); filter: drop-shadow(0 0 6px rgba(196, 163, 90, 0.5)); }
}

.geometry {
  animation: heroGeometryFloat 45s linear infinite;
}

@keyframes heroGeometryFloat {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.dry-flowers {
  animation: gentleSway 7s ease-in-out infinite alternate;
}

@keyframes gentleSway {
  0% { transform: rotate(0deg) translateY(0); }
  100% { transform: rotate(-3deg) translateY(-4px); }
}

/* Scroll Reveal Elements */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }
.reveal-delay-5 { transition-delay: 0.5s; }

/* Program Cards Hover Effects */
.program-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease;
}

.program-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 36px rgba(182, 138, 69, 0.12), 0 4px 12px rgba(48, 46, 39, 0.04);
  border-color: #c7a66e;
}

.program-card .card-image {
  overflow: hidden;
  transition: transform 0.5s ease;
}

.program-card:hover .card-image {
  transform: scale(1.02);
}

.benefits article {
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.benefits article:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 24px rgba(182, 138, 69, 0.08);
  border-color: #d8c28a;
}

.benefits article i {
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.benefits article:hover i {
  transform: scale(1.12) rotate(4deg);
}

.participation article {
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.participation article:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(182, 138, 69, 0.08);
  border-color: var(--gold);
}

.social {
  transition: transform 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.social:hover {
  transform: translateY(-3px) rotate(5deg);
  border-color: var(--gold);
  color: var(--gold);
  box-shadow: 0 6px 14px rgba(182, 138, 69, 0.2);
}

/* Shimmer & Glow Effect on CTA Buttons */
.header-cta, .pill, .submit-button, .program-card button, .participation a, .participation button {
  position: relative;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.3s ease;
  z-index: 1;
}

.header-cta::before, .pill::before, .submit-button::before, .program-card button::before, .participation button::before, .participation a::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 70%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
  transform: skewX(-20deg);
  transition: left 0.65s ease;
  pointer-events: none;
}

.header-cta:hover::before, .pill:hover::before, .submit-button:hover::before, .program-card button:hover::before, .participation button:hover::before, .participation a:hover::before {
  left: 140%;
}

.header-cta:hover, .pill.filled:hover, .submit-button:hover, .program-card button:hover, .participation button:hover, .participation a:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(130, 126, 76, 0.35);
}

.pill.outline {
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.3s ease, background-color 0.3s ease;
}

.pill.outline:hover {
  transform: translateY(-2px);
  border-color: var(--gold);
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 6px 18px rgba(182, 138, 69, 0.15);
}

/* Nav Link Underline Hover Animation */
.site-header nav a {
  position: relative;
  padding-bottom: 4px;
  transition: color 0.25s ease;
}

.site-header nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 1.5px;
  background: var(--gold);
  transition: width 0.3s ease, left 0.3s ease;
  border-radius: 1px;
}

.site-header nav a:hover::after {
  width: 100%;
  left: 0;
}

/* Form Input Focus Glow */
.signup input, .signup select {
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

.signup input:focus, .signup select:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(182, 138, 69, 0.18);
  background-color: #FFF;
}

/* Loading Spinner */
.button-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255,255,255,0.4);
  border-radius: 50%;
  border-top-color: #FFF;
  animation: spin 0.8s linear infinite;
  margin-right: 8px;
  vertical-align: middle;
}

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

/* Ripple Click Effect */
.ripple-effect {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  transform: scale(0);
  animation: rippleAnim 0.6s linear;
  pointer-events: none;
}

@keyframes rippleAnim {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* Адаптивность */
@media (max-width: 992px) {
  .formats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .who-section, .formats-section {
    padding: 50px 14px;
  }
  .who-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .who-title, .formats-header .section-title {
    font-size: 32px;
    text-align: center;
  }
  .who-content {
    align-items: center;
    text-align: center;
  }
  .who-label, .formats-label {
    align-self: center;
  }
  .who-quote {
    text-align: left;
    display: inline-block;
  }
  .formats-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .format-card {
    max-width: 460px;
    margin: 0 auto;
    width: 100%;
  }
}

/* Success Social Icons */
.success-socials {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 18px;
}

.success-socials .social-btn {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.success-socials .social-btn.telegram {
  background: #24A1DE;
}

.success-socials .social-btn.whatsapp {
  background: #25D366;
}

.success-socials .social-btn.max-app {
  background: #8C8954;
}

.success-socials .social-btn:hover {
  transform: translateY(-3px) scale(1.08);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

svg.social-icon-svg {
  width: 24px !important;
  height: 24px !important;
  fill: currentColor !important;
  stroke: none !important;
}

/* ==========================================================================
   Стильный плавающий / фиксированный Header при прокрутке
   ========================================================================== */
.site-header {
  transition: background-color 0.3s ease, box-shadow 0.3s ease, height 0.3s ease, padding 0.3s ease;
}

.site-header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 70px;
  padding: 0 34px;
  background: rgba(255, 255, 255, 0.94);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 6px 20px rgba(48, 46, 39, 0.08), 0 1px 0 rgba(222, 210, 191, 0.6);
  z-index: 1000;
  animation: stickyHeaderSlide 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.site-header.is-sticky .lotus {
  width: 44px;
  height: 44px;
  font-size: 24px;
  transition: width 0.3s ease, height 0.3s ease;
}

.site-header.is-sticky .brand b {
  font-size: 16px;
  transition: font-size 0.3s ease;
}

.site-header.is-sticky .brand small {
  display: none;
}

.site-header.is-sticky .header-cta {
  padding: 10px 28px;
  font-size: 11px;
}

.site-header.is-sticky .social {
  width: 38px;
  height: 38px;
  font-size: 16px;
}

@keyframes stickyHeaderSlide {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@media (max-width: 760px) {
  .site-header.is-sticky {
    height: 60px;
    padding: 0 16px;
  }
  .site-header.is-sticky .lotus {
    width: 38px;
    height: 38px;
  }
  .site-header.is-sticky .brand b {
    font-size: 13px;
  }
  .site-header.is-sticky .header-cta {
    padding: 9px 16px;
    font-size: 11px;
  }
}

/* ==========================================================================
   Страница Спасибо (spasibo.html)
   ========================================================================== */
.spasibo-main {
  position: relative;
  min-height: calc(100vh - 92px - 160px);
  padding: 40px 22px 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cream);
  overflow: hidden;
}

.spasibo-bg-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.spasibo-card {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 660px;
  background: rgba(255, 255, 255, 0.94);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 46px 36px;
  text-align: center;
  box-shadow: 0 16px 40px rgba(48, 46, 39, 0.07), 0 2px 6px rgba(182, 138, 69, 0.08);
  animation: spasiboCardEnter 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes spasiboCardEnter {
  0% {
    opacity: 0;
    transform: translateY(24px) scale(0.98);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.spasibo-icon-badge {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #fffdf8 0%, #fbf4ea 60%, #f5eef8 100%);
  border: 1.5px solid #d4af37;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #b18448;
  margin-bottom: 20px;
  box-shadow: 0 6px 22px rgba(182, 138, 69, 0.22);
}

.spasibo-icon-badge svg {
  width: 32px !important;
  height: 32px !important;
  stroke-width: 2.2;
}

.spasibo-overline {
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--olive);
  font-weight: 600;
  text-transform: uppercase;
  margin: 0 0 10px 0;
}

.spasibo-card h1 {
  font-family: Georgia, serif;
  font-weight: 400;
  font-size: 36px;
  line-height: 1.15;
  color: var(--ink);
  margin: 0 0 16px 0;
}

.spasibo-card h1 em {
  display: inline;
  color: #b17f35;
  font-style: italic;
}

.spasibo-course-badge {
  display: inline-block;
  background: linear-gradient(100deg, #faf7ee, #f5eef8);
  border: 1px solid #e5d8c7;
  border-radius: 12px;
  padding: 8px 18px;
  font-size: 11px;
  line-height: 1.4;
  color: #806180;
  margin: 0 auto 16px auto;
}

.spasibo-course-badge b {
  color: #5e3b5e;
}

.spasibo-description {
  font-size: 13.5px;
  line-height: 1.62;
  color: #5d5952;
  max-width: 520px;
  margin: 0 auto 24px auto;
}

.spasibo-socials-box {
  border-top: 1px solid #eee5d8;
  padding-top: 24px;
  margin-top: 24px;
}

.spasibo-socials-title {
  font-family: Georgia, serif;
  font-weight: 400;
  font-size: 18px;
  color: var(--ink);
  margin: 0 0 6px 0;
}

.spasibo-socials-subtitle {
  font-size: 11.5px;
  color: #7b756c;
  margin: 0 0 18px 0;
}

.spasibo-social-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}

.spasibo-social-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #fffdfa;
  border: 1px solid #e8decb;
  text-decoration: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  text-align: left;
}

.spasibo-social-card:hover {
  transform: translateY(-3px);
  border-color: #c4a66d;
  box-shadow: 0 8px 20px rgba(182, 138, 69, 0.15);
}

.spasibo-social-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.spasibo-social-icon.telegram {
  background: #24A1DE;
}

.spasibo-social-icon.whatsapp {
  background: #25D366;
}

.spasibo-social-icon.max-app {
  background: #8C8954;
}

.spasibo-social-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.spasibo-social-info b {
  font-size: 13px;
  color: var(--ink);
  line-height: 1.2;
}

.spasibo-social-info span {
  font-size: 10px;
  color: #8c867c;
  margin-top: 2px;
}

.spasibo-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 10px;
}

.spasibo-actions .pill {
  min-width: 200px;
}

@media (max-width: 760px) {
  .spasibo-main {
    padding: 20px 12px 40px;
  }
  .spasibo-card {
    padding: 32px 18px;
    border-radius: 22px;
  }
  .spasibo-card h1 {
    font-size: 26px;
  }
  .spasibo-description {
    font-size: 12.5px;
  }
  .spasibo-social-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .spasibo-actions {
    flex-direction: column;
    gap: 10px;
  }
  .spasibo-actions .pill {
    width: 100%;
    min-width: 0;
  }
}


