/* Approved art direction: live copy, official logo crown and real certificate. */
.homepage > .ls-home:has(.ll-invitation) { padding-top: 0; }
.ll-invitation { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); grid-template-areas: 'intro art' 'offers art' 'action art' 'signature art'; gap: 24px 24px; min-height: 580px; padding: 44px 40px 30px; margin-bottom: 40px; border-bottom: 1px solid #173e32; background: #f8f1e4; color: #103e30; }
.ll-invitation__intro { grid-area: intro; position: relative; z-index: 1; }
.ll-invitation .ll-invitation__kicker { margin: 0 0 22px; font: 600 11px/1.6 Georgia, serif; letter-spacing: .19em; text-transform: uppercase; }
.ll-invitation .ll-invitation__intro h2 { margin: 0 0 24px; font: 400 clamp(38px, 3.6vw, 60px)/1.04 Georgia, serif; letter-spacing: -.045em; color: #103e30; }
.ll-invitation .ll-invitation__description { max-width: 43ch; margin: 0; font: 400 clamp(17px, 1.45vw, 21px)/1.45 Georgia, serif; color: #192f27; }
.ll-invitation__scene { grid-area: art; display: flex; align-items: flex-end; justify-content: flex-end; padding: 28px 0 20px; pointer-events: none; }
.ll-invitation__landscape { position: absolute; z-index: -1; inset: 0 0 0 auto; width: 70%; height: 100%; max-width: none; object-fit: cover; object-position: 65% 50%; mask-image: linear-gradient(90deg, transparent 0%, #000 30%); }
.ll-invitation__certificate { width: clamp(210px, 17vw, 245px); flex: 0 0 auto; margin: 0; transform: rotate(7deg); }
.ll-invitation__certificate .ll-certificate-sheet { box-shadow: 0 12px 28px #152c2538; }
.ll-invitation__certificate figcaption { display: none; }
.ll-invitation__offers { grid-area: offers; display: flex; gap: 24px; position: relative; z-index: 1; margin: 6px 0 0; }
.ll-invitation__offers > div + div { border-left: 1px solid #9b998a; padding-left: 24px; }
.ll-invitation__offers dt { font: 400 18px/1.3 Georgia, serif; margin-bottom: 6px; }
.ll-invitation__offers dd { display: flex; align-items: baseline; gap: 8px; margin: 0; }
.ll-invitation__offers .ll-money { font-size: 32px; line-height: 1.15; font-variant-numeric: lining-nums tabular-nums; font-feature-settings: 'lnum' 1, 'tnum' 1; }
.ll-invitation__once { font: 400 12px/1.4 system-ui, sans-serif; }
.ll-invitation__action { grid-area: action; display: flex; align-items: center; gap: 20px; position: relative; z-index: 1; }
.ls-home .ll-invitation__button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; padding: 16px 24px; min-height: 54px; background: #153e2d; color: #fff8ee; text-decoration: none; font: 400 19px/1.2 Georgia, serif; white-space: nowrap; }
.ls-home .ll-invitation__button:hover { background: #082c20; }
.ll-invitation__action p { margin: 0; font: 400 12px/1.6 system-ui, sans-serif; color: #374b3e; }
.ll-invitation__signature { grid-area: signature; display: flex; align-items: center; gap: 16px; position: relative; z-index: 1; margin: 10px 0 0; align-self: end; }
.ll-invitation__signature svg { width: 36px; height: 24px; flex: 0 0 auto; }
.ll-invitation__signature span { font: 400 10px/1.6 Georgia, serif; letter-spacing: .16em; text-transform: uppercase; }
.ll-invitation__signature br { display: none; }
@media (max-width: 1100px) and (min-width: 901px) {
    .ll-invitation { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); padding: 32px 24px; gap: 20px; }
    .ll-invitation__landscape { mask-image: linear-gradient(90deg, transparent 0%, transparent 32%, #000 65%); }
    .ll-invitation__action { display: block; }
    .ll-invitation__action p { margin-top: 12px; }
    .ll-invitation__action p br { display: none; }
    .ll-invitation__certificate { width: 210px; }
    .ll-invitation__offers { gap: 16px; }
    .ll-invitation__offers > div + div { padding-left: 16px; }
    .ll-invitation__offers dt { font-size: 16px; }
    .ll-invitation__offers dd { flex-wrap: wrap; gap: 4px 8px; }
}
@media (max-width: 900px) {
    .ll-invitation { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'intro' 'art' 'offers' 'action' 'signature'; min-height: 0; padding: 28px 20px 24px; gap: 22px; margin-bottom: 32px; }
    .ll-invitation .ll-invitation__kicker { font-size: 10px; max-width: 28ch; margin-bottom: 18px; }
    .ll-invitation .ll-invitation__intro h2 { font-size: clamp(31px, 8.5vw, 47px); margin-bottom: 18px; }
    .ll-invitation .ll-invitation__description { font-size: 17px; line-height: 1.35; }
    .ll-invitation__scene { position: relative; height: 330px; margin: -4px -20px 0; padding: 0 20px 0 0; }
    .ll-invitation__landscape { inset: -16px 0 0; width: 100%; height: calc(100% + 32px); object-position: 68% 50%; mask-image: linear-gradient(180deg, transparent, #000 10%, #000 85%, transparent); }
    .ll-invitation__certificate { width: 155px; margin-bottom: 4px; transform: rotate(6deg); }
    .ll-invitation__certificate figcaption { display: none; }
    .ll-invitation__offers { gap: 16px; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ll-invitation__offers > div + div { padding-left: 16px; }
    .ll-invitation__offers dt { font-size: 17px; min-height: 2.6em; }
    .ll-invitation__offers dd { flex-wrap: wrap; gap: 3px 6px; }
    .ll-invitation__offers .ll-money { font-size: 30px; }
    .ll-invitation__once { font-size: 11px; }
    .ll-invitation__action { display: block; }
    .ls-home .ll-invitation__button { width: 100%; padding-inline: 12px; font-size: 18px; white-space: normal; }
    .ll-invitation__action p { text-align: center; font-size: 11px; margin-top: 10px; }
    .ll-invitation__action p br { display: none; }
    .ll-invitation__signature { margin-top: 0; gap: 16px; }
    .ll-invitation__signature br { display: initial; }
}
@media (min-width: 681px) and (max-width: 900px) {
    .ll-invitation { padding: 32px; }
    .ll-invitation .ll-invitation__kicker { max-width: none; }
    .ll-invitation .ll-invitation__description { max-width: 54ch; font-size: 20px; }
    .ll-invitation__scene { margin-inline: -32px; height: 390px; padding-right: 40px; }
    .ll-invitation__certificate { width: 220px; }
    .ll-invitation__offers dt { min-height: 0; font-size: 20px; }
    .ls-home .ll-invitation__button { width: auto; min-width: 310px; }
    .ll-invitation__action { display: flex; }
    .ll-invitation__action p { text-align: left; margin: 0; }
}

.ll-invitation__certificate .ll-certificate-emblem { width: 9cqw; height: 6cqw; margin-bottom: 7.5cqw; }
