.page-card .card-skip-link { position: absolute; left: 16px; top: -100px; z-index: 1100; padding: 12px 20px; background: var(--bistro-paper); color: var(--bistro-ink); }
.page-card .card-skip-link:focus { top: 16px; }
.card-hero { padding: clamp(64px, 9vw, 120px) 0; background: linear-gradient(90deg, rgba(23, 22, 29, .96), rgba(23, 22, 29, .65)), url('../img/bg.jpg') center / cover; color: #fff; }
.card-hero-content { max-width: 720px; }
.card-kicker { margin-bottom: 16px; font-size: 14px; font-weight: bold; text-transform: uppercase; letter-spacing: 2px; }
.card-hero .card-kicker { color: var(--bistro-gold); }
.card-hero h1 { margin-bottom: 24px; color: #fff; font-family: 'Libre Bodoni', serif; font-size: clamp(42px, 6vw, 76px); line-height: 1.12; }
.card-hero p { font-size: 19px; margin-bottom: 20px; }
.card-hero .card-location { color: var(--bistro-gold); }
.card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.page-card .card-actions a { margin: 0; }
.card-signup { padding: clamp(48px, 7vw, 88px) 0; scroll-margin-top: 24px; }
.card-signup h2 { font-family: 'Libre Bodoni', serif; font-size: clamp(32px, 4vw, 48px); margin-bottom: 16px; }
.card-intro { max-width: 760px; margin-bottom: 32px; font-size: 18px; }
.card-intro a { color: #24385f; text-decoration: underline; }
.card-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 32px; align-items: start; }
.card-details { padding: clamp(24px, 3vw, 40px); border-radius: 16px; background: var(--bistro-ink); color: #eee4d6; }
.card-logo { width: 190px; margin-bottom: 24px; }
.card-details h3 { font-family: 'Libre Bodoni', serif; font-size: 32px; color: var(--bistro-gold); }
.card-details h4 { font-size: 16px; color: var(--bistro-gold); margin-bottom: 8px; }
.card-details-block { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(250, 199, 138, .2); }
.card-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; background: #fff; padding: clamp(24px, 3vw, 40px); border: 1px solid #e5ded5; border-radius: 16px; box-shadow: 0 12px 36px rgba(36, 35, 49, .06); }
.card-form label { display: block; margin: 0; color: var(--bistro-ink); font-weight: bold; }
.card-form input { display: block; width: 100%; min-height: 50px; margin-top: 8px; padding: 12px 14px; border: 1px solid #b8b2ac; border-radius: 6px; background: var(--bistro-paper); color: var(--bistro-ink); font: inherit; font-weight: normal; }
.card-form input:focus-visible { outline: 3px solid #40537c; outline-offset: 2px; }
.card-form .full { grid-column: 1 / -1; }
.page-card .card-form button,
.page-card .card-form .card-order-link {
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 14px 24px;
    border-radius: 50px;
    font-size: 16px !important;
    letter-spacing: 1.6px;
    cursor: pointer;
}
.page-card .card-form button {
    background: linear-gradient(115deg, #5c75a4, #40537c 48%, #293d68);
    box-shadow: 0 6px 16px rgba(24, 40, 73, .22);
}
.page-card .card-form button:hover {
    background: linear-gradient(115deg, #6683b6, #496596 48%, #334e80);
}
.page-card .card-form .card-order-link {
    background: linear-gradient(115deg, #e8ecf2, #dce2eb);
    border-color: #c7d0dd;
    color: #40516d !important;
    text-shadow: none;
    box-shadow: 0 2px 6px rgba(24, 40, 73, .08);
}
.page-card .card-form .card-order-link:hover {
    background: linear-gradient(115deg, #dce3ee, #ccd6e4);
    border-color: #b0bfd3;
    box-shadow: 0 4px 10px rgba(24, 40, 73, .12);
}
@media (max-width: 767.98px) {
    .card-layout { grid-template-columns: minmax(0, 1fr); }
    .card-layout > .card-form { order: 1; }
    .card-layout > .card-details { order: 2; }
    .card-form { grid-template-columns: minmax(0, 1fr); }
    .card-hero p { font-size: 17px; }
}

.page-card-result .card-hero-content,
.page-card-result .card-intro { overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
    .page-card-result .card-hero { padding: 48px 0; }
    .page-card-result .card-hero h1 { font-size: clamp(32px, 9vw, 44px); }
    .page-card-result .card-signup { padding: 36px 0; }
    .page-card-result .card-intro { font-size: 16px; margin-bottom: 24px; }
    .page-card-result .card-actions { flex-direction: column; align-items: stretch; gap: 12px; }
    .page-card-result .card-actions a {
        width: 100%;
        min-height: 48px;
        padding: 12px 16px;
        font-size: 16px !important;
        letter-spacing: 1px;
        white-space: normal;
    }
}
