:root {
    --yge-ink: #27212b;
    --yge-ink-soft: #514756;
    --yge-ivory: #fbf7f0;
    --yge-paper: #fffdf9;
    --yge-plum: #6f3f63;
    --yge-plum-deep: #4f2947;
    --yge-rose: #d9aaa4;
    --yge-rose-soft: #f3dfda;
    --yge-gold: #a77b32;
    --yge-sage: #81917a;
    --yge-danger: #8f263d;
    --yge-radius: 20px;
    --yge-shadow: 0 24px 70px rgba(39, 33, 43, .12);
}

.yge-page {
    margin: 0;
    background: var(--yge-ivory);
    color: var(--yge-ink);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    line-height: 1.55;
    direction: rtl;
}

.yge-page *, .yge-page *::before, .yge-page *::after { box-sizing: border-box; }
.yge-page a { color: var(--yge-plum-deep); }
.yge-page img, .yge-page video, .yge-page iframe { max-width: 100%; }
.yge-page button, .yge-page input, .yge-page textarea, .yge-page select { font: inherit; }

.yge-skip-link {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 9999;
    padding: 10px 14px;
    background: var(--yge-paper);
    transform: translateY(-160%);
}
.yge-skip-link:focus { transform: translateY(0); }

.yge-site-shell { min-height: 100vh; display: flex; flex-direction: column; overflow: hidden; }
.yge-header, .yge-footer { width: min(1120px, calc(100% - 32px)); margin-inline: auto; }
.yge-header { padding-block: 20px 4px; }
.yge-brand { font-size: .92rem; font-weight: 750; letter-spacing: .02em; color: var(--yge-plum-deep); }
.yge-main { flex: 1; width: min(1120px, calc(100% - 32px)); margin-inline: auto; }

.yge-hero {
    min-height: calc(100vh - 120px);
    display: grid;
    align-items: center;
    gap: 36px;
    padding-block: 26px 54px;
}
.yge-hero__copy { width: min(680px, 100%); margin-inline: auto; text-align: center; }
.yge-eyebrow {
    display: inline-flex;
    margin: 0 0 14px;
    padding: 7px 12px;
    border: 1px solid rgba(167, 123, 50, .35);
    border-radius: 999px;
    background: rgba(255, 253, 249, .72);
    color: var(--yge-gold);
    font-size: .82rem;
    font-weight: 800;
}
.yge-hero h1 {
    margin: 0;
    font-size: clamp(2.25rem, 8vw, 5.7rem);
    line-height: .98;
    letter-spacing: -.045em;
    text-wrap: balance;
}
.yge-subheadline {
    width: min(620px, 100%);
    margin: 22px auto 0;
    color: var(--yge-ink-soft);
    font-size: clamp(1.05rem, 3vw, 1.35rem);
    text-wrap: balance;
}
.yge-support-line { margin: 10px 0 0; color: var(--yge-plum); font-weight: 700; font-size: .95rem; }
.yge-hero__form { width: min(520px, 100%); margin: 26px auto 0; }
.yge-hero__visual { display: none; }

.yge-form {
    padding: 18px;
    border: 1px solid rgba(111, 63, 99, .13);
    border-radius: var(--yge-radius);
    background: var(--yge-paper);
    box-shadow: var(--yge-shadow);
    text-align: right;
}
.yge-form form { margin: 0; }
.yge-field { margin-block: 0 13px; }
.yge-field label, .yge-form .ff-el-input--label label { display: block; margin-bottom: 6px; color: var(--yge-ink); font-size: .87rem; font-weight: 750; }
.yge-field input,
.yge-form .ff-el-form-control:not(.ff-el-tc),
.yge-form input[type="text"],
.yge-form input[type="email"],
.yge-form input[type="tel"] {
    width: 100%;
    min-height: 50px;
    padding: 11px 14px;
    border: 1px solid rgba(39, 33, 43, .2);
    border-radius: 12px;
    background: #fff;
    color: var(--yge-ink);
    box-shadow: none;
}
.yge-field input:focus, .yge-form .ff-el-form-control:focus {
    outline: 3px solid rgba(217, 170, 164, .36);
    border-color: var(--yge-plum);
}
.yge-consent { display: grid; grid-template-columns: 20px 1fr; gap: 9px; align-items: start; margin: 4px 0 10px; color: var(--yge-ink-soft); font-size: .79rem; line-height: 1.4; }
.yge-consent input { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--yge-plum); }
.yge-privacy-link { margin: -3px 29px 12px 0; font-size: .76rem; }
.yge-privacy-link a { text-underline-offset: 3px; }
.yge-primary-button, .yge-form .ff-btn-submit {
    display: inline-flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 14px;
    padding: 13px 20px;
    background: var(--yge-plum-deep);
    color: #fff !important;
    text-decoration: none;
    font-weight: 850;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(79, 41, 71, .22);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.yge-primary-button:hover, .yge-primary-button:focus-visible, .yge-form .ff-btn-submit:hover, .yge-form .ff-btn-submit:focus-visible {
    background: var(--yge-plum);
    transform: translateY(-1px);
    box-shadow: 0 15px 34px rgba(79, 41, 71, .28);
}
.yge-primary-button:focus-visible, .yge-secondary-button:focus-visible, .yge-text-button:focus-visible { outline: 3px solid var(--yge-rose); outline-offset: 3px; }
.yge-honeypot { position: absolute !important; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.yge-form__error, .yge-config-warning { margin-bottom: 14px; padding: 10px 12px; border-radius: 10px; background: #fff0f2; color: var(--yge-danger); font-size: .88rem; }
.yge-closed { padding: 18px; border-radius: var(--yge-radius); background: var(--yge-paper); box-shadow: var(--yge-shadow); text-align: center; }

.yge-trust {
    width: min(720px, 100%);
    margin: 0 auto 80px;
    padding: 28px;
    border-top: 1px solid rgba(111, 63, 99, .18);
    text-align: center;
}
.yge-trust[hidden] { display: none !important; }
.yge-video { overflow: hidden; margin: 0 auto 24px; border-radius: var(--yge-radius); background: #17131a; aspect-ratio: 16/9; }
.yge-video iframe, .yge-video video { width: 100%; height: 100%; border: 0; object-fit: cover; }
.yge-method-line { margin: 0 auto; font-weight: 800; color: var(--yge-plum-deep); }
.yge-about-short { color: var(--yge-ink-soft); }
.yge-testimonial { margin: 22px auto 0; padding: 20px; border: 0; border-radius: 16px; background: var(--yge-rose-soft); font-size: 1.02rem; }
.yge-testimonial p { margin-top: 0; }
.yge-testimonial cite { display: block; margin-top: 8px; font-style: normal; font-weight: 750; }
.yge-about-link { display: inline-block; margin-top: 18px; font-weight: 750; text-underline-offset: 4px; }

.yge-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 18px; padding-block: 24px 30px; border-top: 1px solid rgba(39, 33, 43, .1); color: var(--yge-ink-soft); font-size: .78rem; }
.yge-footer a { color: inherit; }

.yge-site-shell--thankyou { background: radial-gradient(circle at 50% 0, var(--yge-rose-soft), transparent 43%), var(--yge-ivory); }
.yge-main--thankyou { display: grid; place-items: center; padding-block: 32px 72px; }
.yge-onboarding { width: min(700px, 100%); padding: clamp(22px, 5vw, 44px); border: 1px solid rgba(111, 63, 99, .12); border-radius: 26px; background: var(--yge-paper); box-shadow: var(--yge-shadow); }
.yge-onboarding__eyebrow { margin: 0 0 8px; color: var(--yge-gold); font-weight: 800; }
.yge-onboarding h1 { margin: 0; font-size: clamp(2rem, 7vw, 4rem); line-height: 1; letter-spacing: -.035em; }
.yge-steps { list-style: none; margin: 34px 0 0; padding: 0; display: grid; gap: 16px; }
.yge-step { display: grid; grid-template-columns: 42px 1fr; gap: 13px; padding: 18px; border: 1px solid rgba(39, 33, 43, .1); border-radius: 18px; }
.yge-step__number { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--yge-rose-soft); color: var(--yge-plum-deep); font-weight: 900; }
.yge-step h2 { margin: 2px 0 4px; font-size: 1.1rem; }
.yge-step p { margin: 0 0 14px; color: var(--yge-ink-soft); font-size: .9rem; }
.yge-secondary-button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border: 1px solid var(--yge-plum);
    border-radius: 12px;
    background: transparent;
    color: var(--yge-plum-deep);
    text-decoration: none;
    font-weight: 800;
}
.yge-step .yge-primary-button { width: auto; min-height: 48px; }
.yge-fallback { margin-top: 18px; padding: 14px 16px; border-top: 1px solid rgba(39, 33, 43, .12); color: var(--yge-ink-soft); font-size: .88rem; }
.yge-fallback summary { cursor: pointer; color: var(--yge-plum-deep); font-weight: 750; }
.yge-text-button { border: 0; padding: 0; background: none; color: var(--yge-plum-deep); text-decoration: underline; text-underline-offset: 4px; font-weight: 800; cursor: pointer; }
.yge-fallback__success { color: #356143; font-weight: 700; }
.yge-preview-note { font-size: .8rem !important; }

@media (min-width: 900px) {
    .yge-header { padding-top: 28px; }
    .yge-hero.has-visual { grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr); }
    .yge-hero.has-visual .yge-hero__copy { text-align: right; margin-inline: 0; }
    .yge-hero.has-visual .yge-subheadline, .yge-hero.has-visual .yge-hero__form { margin-inline: 0; }
    .yge-hero__visual { display: block; position: relative; }
    .yge-hero__visual::before { content: ""; position: absolute; inset: 8% -8% -8% 8%; border-radius: 48% 52% 40% 60%; background: var(--yge-rose-soft); z-index: -1; }
    .yge-hero__image { width: 100%; border-radius: 48% 52% 40% 60%; object-fit: cover; aspect-ratio: 4/5; box-shadow: var(--yge-shadow); }
    .yge-form { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
    .yge-page *, .yge-page *::before, .yge-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.yge-song { width: min(760px, 100%); padding-block: 48px 80px; }
.yge-song article { padding: clamp(20px, 5vw, 44px); border-radius: 24px; background: var(--yge-paper); box-shadow: var(--yge-shadow); }
.yge-song h1 { margin: 8px 0 20px; font-size: clamp(2.4rem, 8vw, 5rem); line-height: 1; letter-spacing: -.04em; }
.yge-song__cover img { width: 100%; border-radius: 18px; margin-bottom: 24px; }
.yge-song audio { width: 100%; margin: 0 0 24px; }
.yge-song__content { font-size: 1.04rem; }
.yge-song__credits { color: var(--yge-ink-soft); font-size: .84rem; }

.yge-music-library { padding-block: 44px 80px; }
.yge-library-header { width: min(760px, 100%); margin: 0 auto 34px; text-align: center; }
.yge-library-header h1 { margin: 0; font-size: clamp(2.4rem, 8vw, 5rem); line-height: 1; letter-spacing: -.04em; }
.yge-library-header > p:last-child { color: var(--yge-ink-soft); font-size: 1.05rem; }
.yge-music-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 22px; }
.yge-music-card { overflow: hidden; border: 1px solid rgba(111, 63, 99, .12); border-radius: 22px; background: var(--yge-paper); box-shadow: 0 14px 40px rgba(39, 33, 43, .08); }
.yge-music-card__image { display: grid; min-height: 230px; place-items: center; overflow: hidden; background: var(--yge-rose-soft); color: var(--yge-plum-deep); text-decoration: none; font-size: 4rem; }
.yge-music-card__image img { width: 100%; height: 100%; min-height: 230px; object-fit: cover; transition: transform .22s ease; }
.yge-music-card__image:hover img { transform: scale(1.02); }
.yge-music-card__body { padding: 20px; }
.yge-music-card h2 { margin: 0 0 8px; font-size: 1.35rem; }
.yge-music-card h2 a { color: var(--yge-ink); text-decoration: none; }
.yge-music-card p { color: var(--yge-ink-soft); }
.yge-music-card audio { width: 100%; margin-top: 10px; }
.yge-music-library .navigation.pagination { margin-top: 34px; text-align: center; }
.yge-music-library .nav-links { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.yge-music-library .page-numbers { display: grid; min-width: 40px; min-height: 40px; place-items: center; border-radius: 10px; background: var(--yge-paper); text-decoration: none; }
.yge-music-library .page-numbers.current { background: var(--yge-plum-deep); color: #fff; }

.yge-credentials { margin: 10px auto; color: var(--yge-ink-soft); font-size: .92rem; font-weight: 650; }
.yge-song__meta { margin: -10px 0 20px; color: var(--yge-ink-soft); font-size: .9rem; }
.yge-song__video { margin: 0 0 24px; }
