/* HAKIM Theme — Homepage Styles (Sections 1-5) */

/* ============================================================
   1. HERO — Cinematic full-viewport
   ============================================================ */

.hk-hero--cinematic {
    padding-top: 85px; /* header height: 10+64+10+1 */
    background: var(--hk-white);
    color: var(--hk-heading);
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Video container — takes up viewport minus header, text strip flows after */
.hk-hero__video-area {
    position: relative;
    width: 100%;
    height: calc(80vh - 78px);
    overflow: hidden;
}

/* Hero background video */
.hk-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
.hk-hero__video--desktop { display: block; }
.hk-hero__video--mobile { display: none; }

@media (max-width: 768px) {
    .hk-hero__video--desktop { display: block; }
    .hk-hero__video--mobile { display: block; }
}
@media (prefers-reduced-motion: reduce) {
    .hk-hero__video { display: none; }
}
@media (prefers-reduced-data: reduce) {
    .hk-hero__video { display: none; }
}

/* Thin creme line at top of video area */
.hk-hero__video-area::before {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    inset-inline-end: 0;
    top: 0;
    height: 1px;
    background: var(--hk-parchment-dark);
    z-index: 2;
    pointer-events: none;
}

/* Legacy element — hidden */
.hk-hero__bottom-edge {
    display: none;
}

/* Logo — centered within video area */
.hk-hero__logo-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    opacity: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.hk-hero__logo-wrapper img {
    width: 260px;
    height: auto;
    filter: drop-shadow(0 4px 24px rgba(27, 42, 74, 0.06));
}

/* Animated logo video — stacked-alpha canvas + hidden video */
.hk-hero__logo-canvas {
    width: 260px;
    height: 301px;
    position: relative;
    z-index: 2;
}
/* Stacked video: visually hidden but still decoding frames for WebGL.
   iOS hardware compositor ignores opacity:0 on <video>, so use clip+overflow. */
.hk-hero__logo-video--stacked {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.hk-hero__logo-static {
    display: none;
    width: 260px;
    height: 301px;
    object-fit: contain;
    position: relative;
    z-index: 2;
}
/* Skip-animation: show static logo, hide canvas — driven by class set in <head> before first paint */
.hk-skip-anim .hk-hero__logo-wrapper { opacity: 1; }
.hk-skip-anim .hk-hero__logo-static { display: block; }
.hk-skip-anim .hk-hero__logo-canvas { display: none; }
.hk-skip-anim .hk-hero__logo-title { opacity: 1; }
.hk-hero__logo-video {
    width: 260px;
    height: auto;
}

/* HAKIM title beneath the icon */
.hk-hero__logo-title {
    font-family: var(--hk-font-heading);
    font-size: 66px;
    font-weight: 600;
    letter-spacing: 0.14em;
    background: linear-gradient(to right, rgba(27, 42, 74, 0.35), rgba(255, 255, 255, 0.18));
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 10px;
    padding: 0 0.3em;
    color: transparent;
    margin-top: -4px;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 2000ms ease, transform 2000ms ease;
}

/* Hero text strip — flows below the video area as a block element */
.hk-hero__text-strip {
    position: relative;
    z-index: 5;
    background: var(--hk-white);
    text-align: center;
    padding: 32px 24px 36px;
    opacity: 0;
    transform: translateY(12px);
    border-top: 1px solid var(--hk-parchment-dark);
}
.hk-hero__motto {
    display: block;
    font-size: 42px;
    font-family: var(--hk-font-heading);
    font-weight: 500;
    color: var(--hk-gold-dark);
    letter-spacing: 0.12em;
}
.hk-hero__motto-word {
    display: inline-block;
    /* Accessible gold for text-on-light (WCAG AA); --hk-gold-dark was 2.9:1 */
    color: var(--hk-gold-text);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 1400ms cubic-bezier(0.16, 1, 0.3, 1), transform 1400ms cubic-bezier(0.16, 1, 0.3, 1);
    margin: 0 0.15em;
}
.hk-hero__motto-dot {
    transform: translateY(0);
}

/* Revealed state — CSS class instead of inline style (iOS Safari drops inline opacity on offscreen recomposite) */
.hk-hero__logo-wrapper.is-revealed {
    opacity: 1 !important;
    transition: opacity 2550ms ease;
}

/* --- Variant B: radial glow behind logo for readability --- */
.hk-hero__curtain-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 55% 50% at 50% 50%, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0) 55%);
    z-index: 1;
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 768px) {
    .hk-hero__logo-wrapper img { width: 260px; }
    .hk-hero__logo-canvas { width: 260px; height: 301px; }
    .hk-hero__logo-static { width: 260px; height: 301px; }
    .hk-hero__text-strip { padding: 24px 16px 28px; }
    .hk-hero__motto { font-size: 28px; }
}
@media (max-width: 480px) {
    .hk-hero__logo-wrapper img { width: 200px; }
    .hk-hero__logo-canvas { width: 200px; height: 231px; }
    .hk-hero__logo-static { width: 200px; height: 231px; }
    .hk-hero__text-strip { padding: 20px 12px 24px; }
    .hk-hero__motto { font-size: 22px; letter-spacing: 0.08em; }
}

/* ============================================================
   2. MANIFESTO — Statement section
   ============================================================ */

.hk-manifesto {
    background: var(--hk-parchment);
    padding: clamp(80px, 10vw, 130px) 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Ornamental star watermark */
.hk-manifesto::before {
    content: '\2726';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 36vw;
    color: var(--hk-gold);
    opacity: 0.035;
    pointer-events: none;
    line-height: 1;
}

/* Top + bottom gold hairlines */
.hk-manifesto::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(480px, 60%);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--hk-gold), transparent);
    opacity: 0.4;
}

.hk-manifesto__inner {
    max-width: 780px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.hk-manifesto__deco {
    display: block;
    font-family: var(--hk-font-heading);
    font-size: 7rem;
    line-height: 1;
    color: var(--hk-gold);
    opacity: 0.3;
    margin-bottom: -1.5rem;
}

.hk-manifesto__text {
    font-family: var(--hk-font-heading);
    font-weight: 400;
    font-size: clamp(1.9rem, 3.8vw, 2.8rem);
    line-height: 1.45;
    color: var(--hk-heading);
    letter-spacing: -0.01em;
}

.hk-manifesto__divider {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin: 1.75rem auto;
}

.hk-manifesto__divider span {
    width: 48px;
    height: 1.5px;
    background: linear-gradient(90deg, transparent, var(--hk-gold), transparent);
    display: block;
}

/* Diamond in the divider */
.hk-manifesto__divider::before {
    content: '\25C7';
    font-size: 8px;
    color: var(--hk-gold);
    opacity: 0.6;
}

.hk-manifesto__sub {
    font-family: var(--hk-font-body);
    font-size: 0.95rem;
    line-height: 1.85;
    color: var(--hk-body);
    /* 0.75 dropped body text to 3.78:1 on parchment; 0.9 keeps the muted look at WCAG AA */
    opacity: 0.9;
    max-width: 540px;
    margin: 0 auto;
    letter-spacing: 0.01em;
}

/* Bottom gold hairline toward events section */
.hk-manifesto__edge {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(480px, 60%);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--hk-gold), transparent);
    opacity: 0.4;
}

/* ============================================================
   4. PROJECTS — Glass flagship cards
   ============================================================ */

.hk-projects {
    background: var(--hk-white);
    padding: var(--hk-section-padding) 0;
}

.hk-projects h2 {
    text-align: center;
    font-weight: 300;
}

.hk-project-card__wrap {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
}

.hk-project-card {
    padding: 0;
    display: flex;
    flex-direction: column;
    flex: 1;
    cursor: pointer;
    border: none;
    background: var(--hk-white);
    box-shadow: 0 2px 16px rgba(27, 42, 74, 0.06);
}

.hk-project-card__image {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    position: relative;
}

.hk-project-card__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 50%, rgba(27, 42, 74, 0.08) 100%);
    pointer-events: none;
}

.hk-project-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s var(--hk-ease);
}

.hk-project-card:hover .hk-project-card__image img {
    transform: scale(1.06);
}

/* Branded project cards — navy panel with centered logo */
.hk-project-card__image--branded {
    background: var(--hk-navy);
    display: flex;
    align-items: center;
    justify-content: center;
}

.hk-project-card__image--branded::after {
    display: none;
}

.hk-project-card__brand-logo {
    height: auto;
    object-fit: contain;
    display: block;
    transition: transform 0.5s var(--hk-ease);
}

.hk-project-card:hover .hk-project-card__brand-logo {
    transform: scale(1.06);
}

.hk-project-card__image--sakina {
    background: #081522;
}

.hk-project-card__image--sakina .hk-project-card__brand-logo {
    width: auto;
    height: 100%;
    object-fit: contain;
    object-position: center top;
    margin-top: -20%;
}

.hk-project-card__image--campus {
    background: var(--hk-white);
}

.hk-project-card__image--campus .hk-project-card__brand-logo {
    height: 80%;
    width: auto;
}

/* Make <picture> elements transparent to flex layout in project cards */
.hk-project-card__image picture {
    display: contents;
}

/* Kompendium — cover image, top half visible */
.hk-project-card__image--kompendium {
    background: var(--hk-white);
}

.hk-project-card__image--kompendium::after {
    display: none;
}

.hk-project-card__image--kompendium img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.hk-project-card__body {
    padding: 1.75rem 2rem 2rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.hk-project-card__icon {
    color: var(--hk-gold);
    margin-bottom: 1rem;
}

.hk-project-card__icon svg {
    display: block;
}

.hk-project-card__logo {
    height: 72px;
    width: auto;
    object-fit: contain;
    display: block;
}

.hk-project-card h3 {
    margin-bottom: 0.75rem;
    font-weight: 600;
    font-size: 1.85rem;
}

.hk-project-card p {
    flex: 1;
    margin-bottom: 1.5rem;
    color: var(--hk-body);
    font-size: 0.9rem;
    line-height: 1.7;
}

.hk-project-card__link {
    font-size: 12px;
    color: var(--hk-gold);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s var(--hk-ease);
    margin-top: auto;
}

.hk-project-card__link:hover {
    color: var(--hk-heading);
}

/* Project card hover preview panel */
.hk-project-card {
    position: relative;
    overflow: hidden;
    transition: transform 0.35s var(--hk-ease), box-shadow 0.35s var(--hk-ease);
}

.hk-project-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(27, 42, 74, 0.15);
}

.hk-project-card__preview {
    display: flex;
    gap: 20px;
    border-top: var(--hk-glass-border);  /* Spec B1 — Family 3 full border shorthand */
    margin-top: 12px;
    padding-top: 12px;
}

.hk-project-card__fact {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.hk-project-card__fact-label {
    font-size: 0.65rem;
    color: var(--hk-gold);
    font-weight: 500;
}

.hk-project-card__fact-value {
    font-size: 0.85rem;
    color: var(--hk-heading);
    font-weight: 500;
}

/* ============================================================
   5. AKTUELLES — Editorial grid
   ============================================================ */

.hk-aktuelles {
    background: var(--hk-parchment);
    padding: var(--hk-section-padding) 0;
}

.hk-aktuelles h2 {
    text-align: center;
    font-weight: 300;
    color: var(--hk-heading);
}

.hk-aktuelles__more .hk-btn--text,
.hk-hp-events .hk-hp-events__all-btn,
.hk-pv-teaser__cta .hk-btn--gold {
    background: rgba(200, 169, 110, 0.18);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(200, 169, 110, 0.45);
    border-radius: 100px;
    color: var(--hk-gold);
    padding: 0.75rem 2.25rem;
    font-size: 0.8rem;
    font-weight: 600;
    display: inline-block;
    box-shadow: none;
    transition: background 0.25s var(--hk-ease), border-color 0.25s var(--hk-ease), color 0.25s var(--hk-ease);
}

.hk-aktuelles__more .hk-btn--text:hover,
/* legacy .hk-events hover removed */
.hk-pv-teaser__cta .hk-btn--gold:hover {
    background: rgba(200, 169, 110, 0.35);
    border-color: rgba(200, 169, 110, 0.7);
    color: var(--hk-gold-light);
    transform: none;
    box-shadow: none;
}

/* Aktuelles — Elegant 3-column grid */
.hk-aktuelles__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--hk-space-md);
}

/* When fewer than 3 items, center the cards */
.hk-aktuelles__grid:has(> :last-child:nth-child(2)) {
    grid-template-columns: repeat(2, 1fr);
    max-width: 880px;
    margin-inline: auto;
}

.hk-aktuelles__grid:has(> :last-child:nth-child(1)) {
    grid-template-columns: 1fr;
    max-width: 440px;
    margin-inline: auto;
}

.hk-aktuelles__item {
    overflow: hidden;
    padding: 0;
    transition: transform 0.35s var(--hk-ease), box-shadow 0.35s var(--hk-ease);
}

.hk-aktuelles__item:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(27, 42, 74, 0.15);
}

.hk-aktuelles__item-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.hk-aktuelles__item-image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
}

.hk-aktuelles__item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.4s var(--hk-ease);
}

.hk-aktuelles__item:hover .hk-aktuelles__item-image img {
    transform: scale(1.04);
}

.hk-aktuelles__item-badge {
    position: absolute;
    top: 12px;
    inset-inline-start: 12px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--hk-teal);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 10px;
    border-radius: 4px;
}

.hk-aktuelles__item-body {
    padding: 1.25rem 1.5rem 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.hk-aktuelles__item-body .hk-caption {
    margin-bottom: 0.5rem;
    font-size: 12px;
}

.hk-aktuelles__item-body h3 {
    font-family: var(--hk-font-heading);
    font-weight: 600;
    /* Spec B1.1 — keep in sync with .hk-post-card__body h3 in pages.css (shared 18-22 px card-h3 floor; consider extracting --hk-card-h3-size token in a future cleanup) */
    font-size: clamp(1.125rem, 1.8vw, 1.375rem);
    line-height: 1.35;
    color: var(--hk-heading);
    margin-bottom: 0.5rem;
}

.hk-aktuelles__item-body p {
    color: var(--hk-body);
    font-size: 13px;
    line-height: 1.65;
    flex: 1;
    margin-bottom: 1rem;
}

.hk-aktuelles__item-more {
    font-size: 12px;
    font-weight: 600;
    color: var(--hk-gold);
    transition: color 0.3s var(--hk-ease);
}

.hk-aktuelles__item-link:visited .hk-aktuelles__item-more {
    color: var(--hk-gold);
}

.hk-aktuelles__item:hover .hk-aktuelles__item-more {
    color: var(--hk-gold-light);
}

/* Draft / In Vorbereitung state */
.hk-aktuelles__item--preview {
    opacity: 0.75;
}
.hk-aktuelles__item--preview:hover {
    transform: none;
}
.hk-aktuelles__item-badge--draft {
    background: var(--hk-navy);
    color: var(--hk-gold-light);
}
.hk-aktuelles__item-more--draft {
    color: var(--hk-body);
    font-style: italic;
}

.hk-aktuelles__more {
    text-align: center;
    margin-top: 2.5rem;
}

.hk-aktuelles__empty {
    text-align: center;
    color: var(--hk-body);
    opacity: 0.7;
    padding: 2rem 0;
}

/* ============================================================
   Section heading gold shimmer on scroll-reveal
   ============================================================ */

.hk-projects .hk-section-heading.is-visible h2,
.hk-aktuelles .hk-section-heading.is-visible h2,
.hk-projects h2.is-visible,
.hk-aktuelles h2.is-visible {
    background: linear-gradient(135deg, var(--hk-heading) 0%, var(--hk-heading) 40%, var(--hk-gold) 50%, var(--hk-heading) 60%, var(--hk-heading) 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: hk-shimmer 3s ease-in-out 1;
}

.hk-kompendium-banner h2.is-visible,
.hk-hp-events .hk-hp-events__header.is-visible h2,
.hk-hp-events h2.is-visible {
    background: linear-gradient(135deg, var(--hk-white) 0%, var(--hk-white) 40%, var(--hk-gold) 50%, var(--hk-white) 60%, var(--hk-white) 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: hk-shimmer 3s ease-in-out 1;
}

/* B2: duplicate of style.css hk-shimmer primitive — delete in collapse */
@keyframes hk-shimmer {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
}

@media (prefers-reduced-motion: reduce) {
    .hk-projects .hk-section-heading.is-visible h2,
    .hk-aktuelles .hk-section-heading.is-visible h2,
    .hk-projects h2.is-visible,
    .hk-aktuelles h2.is-visible {
        background: none;
        -webkit-text-fill-color: var(--hk-heading);
        animation: none;
    }

    .hk-kompendium-banner h2.is-visible,
    .hk-hp-events .hk-hp-events__header.is-visible h2,
    .hk-hp-events h2.is-visible {
        background: none;
        -webkit-text-fill-color: var(--hk-white);
        animation: none;
    }
}

/* ============================================================
   RESPONSIVE — Desktop (≤ 1024px)
   ============================================================ */

@media (max-width: 1024px) {

    .hk-aktuelles__grid {
        grid-template-columns: repeat(3, 1fr);
    }

}

/* ============================================================
   RESPONSIVE — Tablet (≤ 768px)
   ============================================================ */

@media (max-width: 768px) {

    /* Hero */
    .hk-hero--cinematic {
        min-height: 80vh;
    }

    /* Manifesto */
    .hk-manifesto__text {
        font-size: clamp(1.5rem, 3vw, 2rem);
    }

    .hk-manifesto__deco {
        font-size: 5rem;
    }

    /* Projects — single column */
    .hk-projects .hk-grid--3 {
        grid-template-columns: 1fr;
    }

    /* Aktuelles — single column on tablet */
    .hk-aktuelles__grid {
        grid-template-columns: 1fr;
    }

}

/* ============================================================
   RESPONSIVE — Mobile (≤ 480px)
   ============================================================ */

@media (max-width: 480px) {

    /* Hero */
    .hk-hero--cinematic {
        min-height: 70vh;
    }

    /* Manifesto */
    .hk-manifesto__text {
        font-size: 1.25rem;
    }

    .hk-manifesto__deco {
        font-size: 4rem;
        margin-bottom: -1rem;
    }

}

/* ============================================================
   6. EVENTS — Horizontal Timeline
   ============================================================ */

/* ============================================================
   7. HOMEPAGE EVENTS — Navy Premium Section
   ============================================================ */

.hk-hp-events {
    background: linear-gradient(170deg, var(--hk-navy) 0%, #1a2744 60%, #162038 100%);
    padding: clamp(80px, 10vw, 140px) 0;
    position: relative;
    overflow: hidden;
}

/* Ornamental watermark — star */
.hk-hp-events::before {
    content: '\2726';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 28vw;
    opacity: 0.02;
    color: var(--hk-gold);
    pointer-events: none;
}

/* Secondary glow */
.hk-hp-events::after {
    content: '';
    position: absolute;
    top: -120px;
    inset-inline-end: -120px;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(200, 169, 110, 0.04) 0%, transparent 70%);
    pointer-events: none;
}

.hk-hp-events__header {
    text-align: center;
    margin-bottom: 3.5rem;
    position: relative;
    z-index: 1;
}

.hk-hp-events__header .hk-overline {
    color: var(--hk-gold);
    margin-bottom: 1rem;
    display: block;
}

.hk-hp-events__header h2 {
    font-family: var(--hk-font-heading);
    font-weight: 300;
    color: var(--hk-white);
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin-bottom: 0;
}

.hk-hp-events__divider {
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--hk-gold), var(--hk-gold-light));
    margin: 1.5rem auto;
}

.hk-hp-events__subtitle {
    font-family: var(--hk-font-heading);
    font-size: clamp(1.1rem, 2.2vw, 1.4rem);
    font-weight: 400;
    color: rgba(255, 255, 255, 0.75);
    letter-spacing: 0.01em;
    margin-bottom: 1rem;
}

.hk-hp-events__lead {
    max-width: 600px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.5);
    font-size: 14px;
    line-height: 1.8;
}

/* ── Featured upcoming event ── */
.hk-hp-events__featured {
    display: flex;
    text-decoration: none;
    color: inherit;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(200, 169, 110, 0.2);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 2.5rem;
    transition: transform 0.35s var(--hk-ease), border-color 0.35s var(--hk-ease), box-shadow 0.35s var(--hk-ease);
}

.hk-hp-events__featured:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 110, 0.45);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3);
}

.hk-hp-events__featured-image {
    width: 380px;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
}

.hk-hp-events__featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s var(--hk-ease);
}

.hk-hp-events__featured:hover .hk-hp-events__featured-image img {
    transform: scale(1.05);
}

.hk-hp-events__type {
    position: absolute;
    top: 14px;
    inset-inline-start: 14px;
    background: rgba(200, 169, 110, 0.9);
    color: var(--hk-heading);
    font-size: 10px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 4px;
}

.hk-hp-events__featured-body {
    display: flex;
    padding: 2rem 2.5rem;
    gap: 1.75rem;
    align-items: flex-start;
    flex: 1;
}

.hk-hp-events__date-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    padding: 0.75rem 0;
    min-width: 64px;
}

.hk-hp-events__day {
    font-family: var(--hk-font-heading);
    font-size: 2.4rem;
    font-weight: 300;
    line-height: 1;
    color: var(--hk-gold);
}

.hk-hp-events__month {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 4px;
}

.hk-hp-events__year {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 2px;
}

.hk-hp-events__featured-info {
    flex: 1;
    min-width: 0;
}

.hk-hp-events__featured-info h3 {
    font-family: var(--hk-font-heading);
    font-weight: 600;
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    line-height: 1.3;
    color: var(--hk-white);
    margin-bottom: 0.5rem;
}

.hk-hp-events__location {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 0.75rem;
}

.hk-hp-events__location svg {
    color: var(--hk-gold);
    flex-shrink: 0;
}

.hk-hp-events__excerpt {
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 1rem;
}

.hk-hp-events__featured-footer {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.hk-hp-events__badge {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 12px;
    border-radius: 100px;
}

.hk-hp-events__badge--open {
    background: rgba(200, 169, 110, 0.2);
    color: var(--hk-gold);
    border: 1px solid rgba(200, 169, 110, 0.35);
}

.hk-hp-events__badge--soon {
    background: rgba(91, 138, 154, 0.2);
    color: var(--hk-teal);
    border: 1px solid rgba(91, 138, 154, 0.35);
}

.hk-hp-events__badge--full {
    background: rgba(200, 80, 80, 0.15);
    color: #e8a0a0;
    border: 1px solid rgba(200, 80, 80, 0.3);
}

.hk-hp-events__cta {
    font-size: 12px;
    font-weight: 600;
    color: var(--hk-gold);
    transition: color 0.3s var(--hk-ease);
}

.hk-hp-events__featured:hover .hk-hp-events__cta {
    color: var(--hk-gold-light);
}

/* ── Past events gallery ── */
.hk-hp-events__past {
    margin-top: 1rem;
}

/* Reduce gallery spacer inside homepage (not full-bleed like /seminare/) */
.hk-hp-events__past .hk-gallery__spacer {
    min-width: 0;
}

.hk-hp-events__past-header {
    margin-bottom: 1.25rem;
}

.hk-hp-events__past-header .hk-overline {
    color: var(--hk-gold);
    margin-bottom: 0.25rem;
}

.hk-hp-events__past-header h3 {
    font-family: var(--hk-font-heading);
    font-weight: 400;
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    color: var(--hk-white);
}

.hk-hp-events__gallery {
    position: relative;
}

.hk-hp-events__track {
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0.5rem 0 1rem;
}

.hk-hp-events__track::-webkit-scrollbar {
    display: none;
}

/* Gallery navigation arrows */
.hk-hp-events__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(200, 169, 110, 0.35);
    background: rgba(27, 42, 74, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--hk-gold);
    cursor: pointer;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s var(--hk-ease), border-color 0.3s var(--hk-ease);
}

.hk-hp-events__arrow:hover {
    background: rgba(200, 169, 110, 0.2);
    border-color: var(--hk-gold);
}

.hk-hp-events__arrow--prev {
    inset-inline-start: -16px;
}

.hk-hp-events__arrow--next {
    inset-inline-end: -16px;
}

/* Past event cards */
.hk-hp-events__card {
    flex: 0 0 260px;
    scroll-snap-align: start;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--hk-radius);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s var(--hk-ease), border-color 0.3s var(--hk-ease), box-shadow 0.3s var(--hk-ease);
}

.hk-hp-events__card:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 110, 0.3);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
}

.hk-hp-events__card-img {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    position: relative;
}

.hk-hp-events__card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s var(--hk-ease);
}

.hk-hp-events__card:hover .hk-hp-events__card-img img {
    transform: scale(1.05);
}

.hk-hp-events__card-type {
    position: absolute;
    top: 10px;
    inset-inline-start: 10px;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: var(--hk-gold-light);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 3px 8px;
    border-radius: 4px;
}

.hk-hp-events__card-body {
    padding: 1rem 1.25rem 1.25rem;
}

.hk-hp-events__card-date {
    font-size: 11px;
    font-weight: 500;
    color: var(--hk-gold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    display: block;
    margin-bottom: 0.35rem;
}

.hk-hp-events__card-body h4 {
    font-family: var(--hk-font-heading);
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.35;
    color: var(--hk-white);
    margin-bottom: 0.35rem;
}

.hk-hp-events__card-location {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
}

.hk-hp-events__card-location svg {
    color: rgba(200, 169, 110, 0.6);
    flex-shrink: 0;
}

/* ── Footer CTA ── */
.hk-hp-events__footer {
    text-align: center;
    margin-top: 2.5rem;
}

.hk-hp-events__all-btn {
    display: inline-block;
    background: rgba(200, 169, 110, 0.15);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(200, 169, 110, 0.35);
    border-radius: 100px;
    color: var(--hk-gold);
    padding: 0.75rem 2.25rem;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.25s var(--hk-ease), border-color 0.25s var(--hk-ease), color 0.25s var(--hk-ease);
}

.hk-hp-events__all-btn:hover {
    background: rgba(200, 169, 110, 0.3);
    border-color: rgba(200, 169, 110, 0.6);
    color: var(--hk-gold-light);
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .hk-hp-events__featured {
        flex-direction: column;
    }

    .hk-hp-events__featured-image {
        width: 100%;
        max-height: 240px;
    }

    .hk-hp-events__featured-body {
        flex-direction: column;
        padding: 1.5rem;
        gap: 0;
    }

    .hk-hp-events__date-block {
        flex-direction: row;
        gap: 0.5rem;
        align-items: baseline;
        margin-bottom: 0.75rem;
    }

    .hk-hp-events__day {
        font-size: 1.6rem;
    }

    .hk-hp-events__card {
        flex: 0 0 220px;
    }

    .hk-hp-events__arrow {
        display: none;
    }

    /* Fix gallery arrows overlapping card date on mobile */
    .hk-hp-events__past .hk-gallery__arrow {
        top: 100px; /* center within 200px card image area */
        transform: translateY(-50%);
    }
}

/* Event status badges (shared) */
.hk-badge {
    display: inline-block;
    font-family: var(--hk-font-body);
    font-size: 0.7rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 10px;
    border-radius: 20px;
    margin-top: 8px;
}

.hk-badge--open {
    background: rgba(200, 169, 110, 0.15);
    color: var(--hk-gold);
    border: 1px solid rgba(200, 169, 110, 0.3);
}

.hk-badge--full {
    background: rgba(27, 42, 74, 0.08);
    color: var(--hk-body);
    border: 1px solid rgba(27, 42, 74, 0.15);
}

/* ============================================================
   8. KOMPENDIUM BANNER — Cinematic open typography
   ============================================================ */

.hk-kompendium-banner {
    position: relative;
    overflow: hidden;
    min-height: 420px;
    display: flex;
    align-items: center;
}

/* Background image — cinematic backdrop */
.hk-kompendium-banner__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hk-kompendium-banner__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 85% center;
    display: block;
}

/* Deep gradient veil — wider, smoother coverage */
.hk-kompendium-banner__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(200, 169, 110, 0.72) 0%,
        rgba(200, 169, 110, 0.50) 20%,
        rgba(200, 169, 110, 0.20) 40%,
        rgba(200, 169, 110, 0.05) 55%,
        transparent 65%
    );
    z-index: 1;
}

/* Content — floats directly on image, no container */
.hk-kompendium-banner > .hk-container {
    position: relative;
    z-index: 2;
    width: 100%;
}

.hk-kompendium-banner__content {
    max-width: 460px;
    padding: 4rem 0;
    margin-inline-start: 5%;
}

/* Overline — deep gold accent */
.hk-kompendium-banner__overline {
    display: block;
    font-family: var(--hk-font-body);
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.35em;
    color: var(--hk-white);
    opacity: 0.7;
    margin-bottom: 1.25rem;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.15);
}

/* Heading — white, commanding */
.hk-kompendium-banner__content h2 {
    font-family: var(--hk-font-heading);
    font-weight: 600;
    font-size: clamp(2.5rem, 5.5vw, 4rem);
    line-height: 1.1;
    color: var(--hk-white);
    letter-spacing: 0.04em;
    margin-bottom: 1.5rem;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.25), 0 1px 3px rgba(0, 0, 0, 0.15);
}

/* Panel — frosted glass over image */
.hk-kompendium-banner__panel {
    padding: 2.5rem 2.5rem 2rem;
    background: rgba(27, 42, 74, 0.28);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--hk-radius);
}

/* Divider — gold gradient accent */
.hk-kompendium-banner__divider {
    width: 48px;
    height: 1.5px;
    background: linear-gradient(90deg, var(--hk-gold), var(--hk-gold-light), transparent);
    margin-bottom: 1.5rem;
}

/* Description — white, soft */
.hk-kompendium-banner__content p {
    font-size: 15px;
    line-height: 1.85;
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 1.5rem;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
}

/* Edition tag — soft white, elegant */
.hk-kompendium-banner__edition {
    display: block;
    font-family: var(--hk-font-body);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.18em;
    color: var(--hk-white);
    opacity: 0.55;
    margin-bottom: 2.5rem;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
}

/* CTA — white outline, fills on hover */
.hk-kompendium-banner__content .hk-btn--gold {
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, 0.8);
    color: var(--hk-white);
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    transition: background 0.35s var(--hk-ease), border-color 0.35s var(--hk-ease), color 0.35s var(--hk-ease);
}

.hk-kompendium-banner__content .hk-btn--gold:hover {
    background: var(--hk-white);
    border-color: var(--hk-white);
    color: var(--hk-heading);
    text-shadow: none;
}

/* Responsive — tablet */
@media (max-width: 768px) {
    .hk-kompendium-banner {
        min-height: 380px;
    }

    .hk-kompendium-banner__bg::after {
        background: linear-gradient(
            to right,
            rgba(200, 169, 110, 0.78) 0%,
            rgba(200, 169, 110, 0.60) 30%,
            rgba(200, 169, 110, 0.35) 60%,
            rgba(200, 169, 110, 0.15) 100%
        );
    }

    .hk-kompendium-banner__content {
        max-width: 300px;
        padding: 3rem 0;
    }

    .hk-kompendium-banner__content h2 {
        font-size: 1.75rem;
        letter-spacing: 0.04em;
    }
}

/* Responsive — mobile */
@media (max-width: 480px) {
    .hk-kompendium-banner {
        min-height: auto;
    }

    .hk-kompendium-banner__bg::after {
        background: linear-gradient(
            to bottom,
            rgba(27, 42, 74, 0.7) 0%,
            rgba(27, 42, 74, 0.55) 50%,
            rgba(27, 42, 74, 0.4) 100%
        );
    }

    .hk-kompendium-banner__bg img {
        object-position: center center;
    }

    .hk-kompendium-banner__content {
        max-width: 100%;
        margin-inline-start: 0;
        padding: 2.5rem 0;
        text-align: center;
    }

    .hk-kompendium-banner__panel {
        padding: 2rem 1.5rem 1.75rem;
        background: rgba(27, 42, 74, 0.35);
    }

    .hk-kompendium-banner__divider {
        margin-inline: auto;
    }

    .hk-kompendium-banner__content h2 {
        font-size: 1.5rem;
    }

    .hk-kompendium-banner__content p {
        font-size: 14px;
    }
}

/* ============================================================
   9. CONNECT CTA — Kontakt + Newsletter banner
   ============================================================ */

.hk-connect-cta {
    position: relative;
    background: image-set(
        url('/wp-content/themes/hakim-theme/assets/img/connect-parallax.webp') type('image/webp'),
        url('/wp-content/themes/hakim-theme/assets/img/connect-parallax.jpg') type('image/jpeg')
    ) center center / cover no-repeat;
    background-attachment: fixed;
    padding: var(--hk-section-padding) 0;
    text-align: center;
    color: var(--hk-white);
}

.hk-connect-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.68);
}

.hk-connect-cta .hk-container {
    position: relative;
    z-index: 1;
}

.hk-connect-cta h2 {
    color: var(--hk-white);
    font-weight: 300;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin: 1rem 0;
}

.hk-connect-cta p {
    color: var(--hk-parchment-dark);
    max-width: 600px;
    margin: 0 auto 2rem;
    opacity: 0.85;
}

.hk-connect-cta__panel {
    max-width: 720px;
    margin: 0 auto;
    padding: 3rem;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(200, 169, 110, 0.25);
    border-radius: var(--hk-radius);
    box-shadow: 0 8px 48px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(200, 169, 110, 0.1);
}

.hk-connect-cta__impact {
    text-decoration: none;
    transition: transform 0.3s var(--hk-ease), opacity 0.3s ease;
}

.hk-connect-cta__impact:hover {
    transform: translateY(-4px);
    opacity: 1 !important;
}

.hk-connect-cta__newsletter {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(200, 169, 110, 0.2);
}

.hk-connect-cta__newsletter .hk-overline {
    display: block;
    margin-bottom: 1rem;
}

/* Newsletter form */
.hk-newsletter-form__row {
    display: flex;
    gap: 8px;
    max-width: 480px;
    margin: 0 auto;
}

.hk-newsletter-form__input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid rgba(200, 169, 110, 0.3);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--hk-white);
    font-family: var(--hk-font-body);
    font-size: 15px;
}

.hk-newsletter-form__input::placeholder {
    color: rgba(247, 244, 238, 0.5);
}

.hk-newsletter-form__input:focus-visible {
    outline: 2px solid var(--hk-gold);
    outline-offset: 2px;
    border-color: var(--hk-gold);
    box-shadow: 0 0 0 3px rgba(200, 169, 110, 0.15);
}

.hk-newsletter-form__consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 10px;
    max-width: 480px;
    margin-inline: auto;
    font-size: 12px;
    color: rgba(247, 244, 238, 0.6);
    cursor: pointer;
}

.hk-newsletter-form__consent input[type="checkbox"] {
    margin-top: 2px;
    accent-color: var(--hk-gold);
}

.hk-newsletter-form__consent a {
    color: var(--hk-gold-light);
    text-decoration: underline;
}

.hk-newsletter-form__message {
    margin-top: 10px;
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 14px;
    max-width: 480px;
    margin-inline: auto;
}

.hk-newsletter-form__message--success {
    background: rgba(25, 135, 84, 0.15);
    color: #a3d9b1;
}

.hk-newsletter-form__message--error {
    background: rgba(220, 53, 69, 0.15);
    color: #f5a3ad;
}

/* Lead-magnet promise shown above the submit (only when configured) */
.hk-newsletter-form__magnet-promise {
    margin: 12px 0 0;
    padding: 10px 14px;
    border-left: 2px solid var(--hk-gold);
    background: rgba(200, 169, 110, 0.08);
    color: var(--hk-body);
    font-size: 13px;
    line-height: 1.55;
    text-align: left;
    border-radius: 0 6px 6px 0;
}
.hk-newsletter-form__magnet-promise strong { color: var(--hk-gold-light); font-weight: 600; }

/* Success card — replaces the form contents after a successful signup.
 * `.is-submitted` is added to the form by the JS handler on success. */
.hk-newsletter-form.is-submitted .hk-newsletter-form__row,
.hk-newsletter-form.is-submitted .hk-newsletter-form__consent,
.hk-newsletter-form.is-submitted .hk-newsletter-form__magnet-promise,
.hk-newsletter-form.is-submitted .hk-newsletter-form__message,
.hk-newsletter-form.is-submitted .cf-turnstile {
    display: none;
}

.hk-newsletter-form__success {
    margin: 12px auto 0;
    padding: 22px 24px;
    max-width: 520px;
    text-align: center;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(200, 169, 110, 0.35);
    border-radius: 12px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.hk-newsletter-form__success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: rgba(200, 169, 110, 0.18);
    color: var(--hk-gold);
}
.hk-newsletter-form__success-icon svg { width: 26px; height: 26px; }
.hk-newsletter-form__success h4 {
    font-family: var(--hk-font-heading);
    font-size: 22px;
    font-weight: 500;
    color: var(--hk-gold-light);
    margin: 0 0 8px;
    letter-spacing: -0.01em;
}
.hk-newsletter-form__success p {
    margin: 0 0 8px;
    font-size: 14px;
    line-height: 1.65;
    color: rgba(247, 244, 238, 0.82);
}
.hk-newsletter-form__success-tip {
    font-size: 12px !important;
    color: rgba(247, 244, 238, 0.55) !important;
    font-style: italic;
}
.hk-newsletter-form__success-magnet {
    margin-top: 14px !important;
    padding-top: 12px;
    border-top: 1px solid rgba(200, 169, 110, 0.2);
    color: rgba(247, 244, 238, 0.85) !important;
}
.hk-newsletter-form__success-magnet strong { color: var(--hk-gold-light); }

@media (max-width: 480px) {
    .hk-newsletter-form__row {
        flex-direction: column;
    }
}

.hk-connect-cta__coming-soon {
    display: block;
    font-family: var(--hk-font-body);
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--hk-gold-light);
    opacity: 0.7;
    margin-top: 0.35rem;
}

/* Newsletter form disabled state (coming soon) */
.hk-connect-cta__newsletter.is-disabled .hk-newsletter-form__row {
    opacity: 0.45;
    pointer-events: none;
}
.hk-newsletter-form__coming-soon {
    text-align: center;
    margin-top: 0.85rem;
}

/* Social row (newsletter section) */
.hk-social-row {
    display: flex;
    justify-content: center;
    gap: 1.25rem;
    margin-top: 1.5rem;
}

.hk-social-row__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid rgba(200, 169, 110, 0.3);
    color: rgba(247, 244, 238, 0.85);
    transition: color 0.3s ease, border-color 0.3s ease, background 0.3s ease;
    position: relative;
}

.hk-social-row__item svg {
    flex-shrink: 0;
}

a.hk-social-row__item:hover {
    color: var(--hk-gold);
    border-color: var(--hk-gold);
    background: rgba(200, 169, 110, 0.1);
}

.hk-social-row__item--soon {
    opacity: 0.4;
    cursor: default;
}

.hk-social-row__soon-label {
    position: absolute;
    bottom: -18px;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--hk-font-body);
    font-size: 9px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--hk-gold-light);
    white-space: nowrap;
    opacity: 0.8;
}

.hk-connect-cta__form {
    display: flex;
    max-width: 480px;
    margin: 0 auto;
}

.hk-connect-cta__form .hk-input {
    border-radius: 8px 0 0 8px;
    min-width: 240px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(200, 169, 110, 0.3);
    color: var(--hk-white);
}

.hk-connect-cta__form .hk-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.hk-connect-cta__form .hk-btn {
    border-radius: 0 8px 8px 0;
}

.hk-connect-cta__form .hk-input:disabled,
.hk-connect-cta__form .hk-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ============================================================
   RESPONSIVE — Sections 6-10: Tablet (≤ 768px)
   ============================================================ */

@media (max-width: 768px) {

    /* Mediathek — handled by component responsive rules */

    /* Contact+Newsletter CTA — form stacked */
    .hk-connect-cta__form {
        flex-direction: column;
        max-width: 100%;
    }

    .hk-connect-cta__form .hk-input {
        border-radius: 8px;
        min-width: auto;
        width: 100%;
    }

    .hk-connect-cta__form .hk-btn {
        border-radius: 8px;
    }

}

/* Navy accent divider between parchment sections */
.hk-divider--accent {
    background: var(--hk-parchment);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--hk-space-md) 0;
}

.hk-divider--accent::before {
    content: '';
    width: 80px;
    height: 3px;
    background: var(--hk-navy);
    border-radius: 2px;
    opacity: 0.15;
}

.hk-projects + .hk-divider--diamond {
    background: var(--hk-white);
}

/* Glass card tilt — perspective container + smooth return */
.hk-projects .hk-grid,
.hk-aktuelles__grid {
    perspective: 1200px;
}

.hk-glass {
    transition: transform 0.15s ease-out, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* ============================================================
   RESPONSIVE — Sections 6-10: Mobile (≤ 480px)
   ============================================================ */

/* ==========================================================================
   Premium Section Headings
   ========================================================================== */

.hk-section-heading {
    text-align: center;
    margin-bottom: 3.5rem;
    position: relative;
}

.hk-section-heading__overline {
    display: block;
    font-family: var(--hk-font-body);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: var(--hk-gold);
    margin-bottom: 0.75rem;
}

.hk-section-heading h2 {
    font-family: var(--hk-font-heading);
    font-size: clamp(2.2rem, 5vw, 3.2rem);
    font-weight: 300;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--hk-heading);
    margin: 0;
    position: relative;
    display: inline-block;
}

.hk-section-heading h2::after {
    content: '';
    display: block;
    width: 48px;
    height: 2px;
    background: linear-gradient(90deg, var(--hk-gold), var(--hk-gold-light));
    margin: 1rem auto 0;
    border-radius: 1px;
}

/* Legacy direct h2 selectors (keep for any non-wrapped h2s) */
.hk-projects h2,
.hk-aktuelles h2,
.hk-pv-teaser__head h2 {
    font-size: clamp(2.2rem, 5vw, 3.2rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
}

/* ==========================================================================
   Impact Counter Strip
   ========================================================================== */

.hk-impact {
    padding: 60px 0;
    background: var(--hk-navy);
    position: relative;
    overflow: hidden;
}

.hk-impact__grid {
    display: flex;
    justify-content: center;
    gap: 0;
}

.hk-impact__item {
    flex: 1;
    text-align: center;
    padding: 20px 30px;
    position: relative;
}

/* Gold divider between items */
.hk-impact__item + .hk-impact__item::before {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 40px;
    background: linear-gradient(to bottom, transparent, var(--hk-gold), transparent);
    opacity: 0.4;
}

.hk-impact__value {
    display: block;
    font-family: var(--hk-font-heading);
    font-size: 3.5rem;
    font-weight: 300;
    color: var(--hk-gold);
    line-height: 1;
    margin-bottom: 8px;
}

.hk-impact__label {
    display: block;
    font-family: var(--hk-font-body);
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.7);
}

@media (max-width: 768px) {
    .hk-impact__grid {
        flex-wrap: wrap;
    }
    .hk-impact__item {
        flex: 0 0 50%;
        padding: 16px 20px;
    }
    .hk-impact__value {
        font-size: 2.5rem;
    }
    .hk-impact__item + .hk-impact__item::before {
        display: none;
    }
}

@media (max-width: 480px) {
    .hk-impact__item {
        flex: 0 0 50%;
        padding: 14px 12px;
    }
    .hk-impact__value {
        font-size: 2rem;
    }
    .hk-impact__label {
        font-size: 10px;
        letter-spacing: 0.12em;
    }
}

/* ==========================================================================
   Testimonials — Luxury Redesign
   ========================================================================== */

/* ── Section ── */
.hk-testimonials {
    padding: clamp(80px, 10vw, 130px) 0;
    background: var(--hk-parchment);
    position: relative;
    overflow: hidden;
}

/* Ornamental star watermark */
.hk-testimonials::before {
    content: '\2726';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 30vw;
    color: var(--hk-gold);
    opacity: 0.03;
    pointer-events: none;
    line-height: 1;
}

/* ── Header ── */
.hk-testimonials__header {
    text-align: center;
    margin-bottom: 3rem;
}

.hk-testimonials__header .hk-overline {
    color: var(--hk-gold-text);
}

.hk-testimonials__header h2 {
    font-family: var(--hk-font-heading);
    font-weight: 300;
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--hk-heading);
    margin: 0.5rem 0 0;
}

.hk-testimonials__header-divider {
    display: flex;
    justify-content: center;
    margin: 1.25rem auto 0;
}

.hk-testimonials__header-divider span {
    width: 48px;
    height: 1.5px;
    background: linear-gradient(90deg, transparent, var(--hk-gold), transparent);
    display: block;
}

/* ── Glass card ── */
.hk-testimonials__card {
    max-width: 740px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(200, 169, 110, 0.2);
    border-radius: 20px;
    padding: clamp(2.5rem, 5vw, 3.5rem) clamp(2rem, 5vw, 3.5rem) 2rem;
    position: relative;
    box-shadow: 0 8px 40px rgba(27, 42, 74, 0.06);
}

/* ── Decorative quote mark ── */
.hk-testimonials__deco {
    position: absolute;
    top: 16px;
    inset-inline-start: 28px;
    font-family: var(--hk-font-heading);
    font-size: 7rem;
    line-height: 1;
    color: var(--hk-gold);
    opacity: 0.15;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

/* ── Track + slides ── */
.hk-testimonials__track {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

.hk-testimonials__slide {
    grid-row: 1;
    grid-column: 1;
    opacity: 0;
    visibility: hidden;
    transition: opacity 500ms var(--hk-ease);
    pointer-events: none;
    margin: 0;
    padding: 0;
}

.hk-testimonials__slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* ── Quote text ── */
.hk-testimonials__quote {
    font-family: var(--hk-font-heading);
    font-size: clamp(1.15rem, 2.2vw, 1.5rem);
    font-weight: 400;
    font-style: italic;
    line-height: 1.75;
    color: var(--hk-heading);
    margin: 0 0 2rem;
    position: relative;
    z-index: 1;
    text-align: center;
}

/* ── Author row ── */
.hk-testimonials__author {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.hk-testimonials__avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--hk-navy) 0%, #2a3f66 100%);
    border: 2px solid rgba(200, 169, 110, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--hk-font-heading);
    font-size: 15px;
    font-weight: 600;
    color: var(--hk-gold-light);
    flex-shrink: 0;
    letter-spacing: 0.04em;
}

.hk-testimonials__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.hk-testimonials__info strong {
    font-family: var(--hk-font-body);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--hk-heading);
}

.hk-testimonials__info span {
    font-family: var(--hk-font-body);
    font-size: 0.78rem;
    color: var(--hk-body);
    opacity: 0.7;
}

/* ── Navigation row (arrows + dots) ── */
.hk-testimonials__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 1.75rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(200, 169, 110, 0.15);
}

.hk-testimonials__arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(200, 169, 110, 0.3);
    background: transparent;
    color: var(--hk-gold);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.25s ease, border-color 0.25s ease;
}

.hk-testimonials__arrow:hover {
    background: rgba(200, 169, 110, 0.12);
    border-color: var(--hk-gold);
}

/* ── Dots ── */
.hk-testimonials__dots {
    display: flex;
    gap: 4px;
}

/* The button is a 24x24 tap target (WCAG 2.5.8 Target Size); the visible dot is
   drawn by ::before, so the hit area meets the minimum without enlarging the dot. */
.hk-testimonials__dot {
    width: 24px;
    height: 24px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    -webkit-appearance: none;
    appearance: none;
}

.hk-testimonials__dot::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(200, 169, 110, 0.3);
    transition: background 0.3s ease, width 0.3s ease, border-radius 0.3s ease;
}

.hk-testimonials__dot.is-active::before {
    background: var(--hk-gold);
    width: 18px;
    border-radius: 3px;
}

.hk-testimonials__dot:hover::before {
    background: rgba(200, 169, 110, 0.6);
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .hk-testimonials__card {
        padding: 2rem 1.5rem 1.5rem;
        border-radius: 16px;
    }
    .hk-testimonials__deco {
        font-size: 5rem;
        top: 8px;
        inset-inline-start: 16px;
    }
    .hk-testimonials__quote {
        font-size: 1.1rem;
    }
}

@media (max-width: 480px) {
    .hk-testimonials__card {
        padding: 1.75rem 1.25rem 1.25rem;
    }
    .hk-testimonials__deco {
        font-size: 4rem;
    }
    .hk-testimonials__quote {
        font-size: 1rem;
    }
    .hk-testimonials__avatar {
        width: 40px;
        height: 40px;
        font-size: 13px;
    }
}

/* ==========================================================================
   Partners Logo Wall
   ========================================================================== */

.hk-partners {
    padding: 80px 0;
    background: var(--hk-parchment);
}

.hk-partners h2 {
    text-align: center;
    font-weight: 300;
}

.hk-partners__grid {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
}

.hk-partners__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 100px;
    background: var(--hk-glass);
    border: var(--hk-glass-border);  /* Spec B1 — Family 3 full border shorthand */
    border-radius: var(--hk-radius);
    padding: 16px;
    text-align: center;
    transition: border-color 0.35s var(--hk-ease), box-shadow 0.35s var(--hk-ease), transform 0.35s var(--hk-ease), filter 0.35s var(--hk-ease), opacity 0.35s var(--hk-ease);
    cursor: default;
    filter: grayscale(1);
    opacity: 0.7;
}

.hk-partners__item:hover {
    filter: grayscale(0);
    opacity: 1;
    border-color: var(--hk-glass-border-hover);
    box-shadow: 0 16px 48px rgba(27, 42, 74, 0.15);
    transform: translateY(-6px);
}

.hk-partners__abbr {
    font-family: var(--hk-font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--hk-heading);
    line-height: 1;
    margin-bottom: 6px;
}

.hk-partners__name {
    font-family: var(--hk-font-body);
    font-size: 0.65rem;
    color: var(--hk-body);
    letter-spacing: 0.02em;
    line-height: 1.3;
}

@media (max-width: 768px) {
    .hk-partners__item {
        width: 140px;
        height: 80px;
    }
    .hk-partners__abbr {
        font-size: 1.2rem;
    }
}

/* Connect CTA — impact items */
.hk-connect-cta__impacts {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin: 30px 0 40px;
}

.hk-connect-cta__impact {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.85);
    text-align: center;
    max-width: 180px;
}

.hk-connect-cta__impact svg {
    color: var(--hk-gold);
}

.hk-connect-cta__impact p {
    font-size: 0.85rem;
    margin: 0;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .hk-connect-cta {
        background-attachment: scroll;
    }

    .hk-connect-cta__impacts {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    .hk-connect-cta__panel {
        padding: 2rem 1.5rem;
    }
}

@media (max-width: 480px) {
    .hk-connect-cta__panel .hk-btn {
        width: 100%;
        text-align: center;
    }
}

/* ==========================================================================
   Perspektive Teaser (homepage section)
   ========================================================================== */

.hk-pv-teaser {
    padding: var(--hk-section-padding) 0;
    background: var(--hk-parchment);
    position: relative;
}

/* Header (overline + h2 + subtitle) */
.hk-pv-teaser__head {
    text-align: center;
    margin-bottom: 3rem;
}

.hk-pv-teaser__head h2 {
    margin: 0.25rem 0 0.75rem;
    color: var(--hk-gold);
    font-weight: 300;
}

.hk-pv-teaser__subtitle {
    color: var(--hk-body);
    font-family: var(--hk-font-heading);
    font-size: clamp(1.15rem, 2.5vw, 1.5rem);
    font-weight: 300;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.7;
}

.hk-pv-teaser__divider {
    display: flex;
    justify-content: center;
    margin: 0.75rem auto 1rem;
}

.hk-pv-teaser__divider span {
    width: 48px;
    height: 1.5px;
    background: linear-gradient(90deg, transparent, var(--hk-gold), transparent);
    display: block;
}

/* CTA button row below carousel */
.hk-pv-teaser__cta {
    text-align: center;
    margin-top: 2.5rem;
}

/* ============================================================
   MOBILE REWORK — consolidated overrides (≤768px)
   All rules below are mobile-only. Desktop unchanged.
   ============================================================ */

@media (max-width: 768px) {

    /* --- 0. Hero — slim header clearance on mobile (56px slim bar) --- */
    .hk-hero--cinematic {
        padding-top: 56px;
    }

    /* --- 1. Manifesto typography --- */
    .hk-manifesto__text {
        font-size: 2.2rem;
    }

    .hk-manifesto__sub {
        font-size: 1.05rem;
    }

    /* --- 2. Section h2 sizes --- */
    .hk-section-heading h2,
    .hk-projects h2,
    .hk-aktuelles h2,
    .hk-pv-teaser__head h2 {
        font-size: 2.5rem;
    }

    .hk-hp-events__header h2 {
        font-size: 3.5rem;
    }

    /* --- 3. Testimonials heading --- */
    .hk-testimonials__header h2 {
        font-size: 2.6rem;
    }

    /* --- 4. Project card body — centre align --- */
    .hk-project-card__body {
        text-align: center;
    }

    .hk-project-card__icon {
        margin: 0 auto 1rem;
    }

    /* --- 6. Ramadan Kompendium — centre panel --- */
    .hk-kompendium-banner__bg::after {
        background: linear-gradient(
            to bottom,
            rgba(27, 42, 74, 0.65) 0%,
            rgba(27, 42, 74, 0.50) 60%,
            rgba(27, 42, 74, 0.40) 100%
        );
    }

    .hk-kompendium-banner__content {
        margin-inline: auto;
        text-align: center;
    }

    .hk-kompendium-banner__divider {
        margin-inline: auto;
    }

    /* --- 8. Project card facts — centre --- */
    .hk-project-card__preview {
        justify-content: center;
    }

}

@media (max-width: 480px) {

    /* Manifesto — even larger on small phones */
    .hk-manifesto__text {
        font-size: 1.75rem;
    }
}

/* === Dark Mode Overrides === */

/* White-background sections → dark */
:root[data-theme="dark"] .hk-hero--cinematic,
:root[data-theme="dark"] .hk-hero__text-strip,
:root[data-theme="dark"] .hk-manifesto,
:root[data-theme="dark"] .hk-projects,
:root[data-theme="dark"] .hk-aktuelles,
:root[data-theme="dark"] .hk-mediathek,
:root[data-theme="dark"] .hk-testimonials {
    background: var(--hk-parchment);
}

:root[data-theme="dark"] .hk-hero__text-strip {
    border-top-color: rgba(200, 169, 110, 0.15);
}

:root[data-theme="dark"] .hk-manifesto,
:root[data-theme="dark"] .hk-impact,
:root[data-theme="dark"] .hk-aktuelles {
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2);
}

:root[data-theme="dark"] .hk-aktuelles__card,
:root[data-theme="dark"] .hk-project-card {
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3);
}

:root[data-theme="dark"] .hk-hero__title-glass {
    background: linear-gradient(to right, rgba(9, 15, 28, 0.45), rgba(14, 23, 38, 0.25));
    border: 1px solid rgba(200, 169, 110, 0.2);
}

:root[data-theme="dark"] .hk-projects + .hk-divider--diamond {
    background: var(--hk-parchment);
}

:root[data-theme="dark"] .hk-testimonials__card {
    background: var(--hk-glass);
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.2);
}

/* Project cards → dark glass instead of white */
:root[data-theme="dark"] .hk-project-card {
    background: var(--hk-parchment-dark);
}

:root[data-theme="dark"] .hk-project-card__title {
    color: #F7F4EE;
}

:root[data-theme="dark"] .hk-project-card__desc {
    color: #c8c3b8;
}

/* Connect CTA / Kontakt + Newsletter — lock to light-mode appearance */
:root[data-theme="dark"] .hk-connect-cta p {
    color: #E8E2D6;
}

/* Connect CTA — class-based, dark-mode-aware */
.hk-connect-cta__overline {
    color: var(--hk-gold-light);
}

:root[data-theme="dark"] .hk-connect-cta__overline {
    color: var(--hk-gold);
}

.hk-connect-cta__link {
    color: var(--hk-gold-light);
    text-decoration: underline;
}

:root[data-theme="dark"] .hk-connect-cta__link {
    color: var(--hk-gold);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .hk-hero__title-glass {
        background: linear-gradient(to right, rgba(9, 15, 28, 0.45), rgba(14, 23, 38, 0.25));
        border: 1px solid rgba(200, 169, 110, 0.2);
    }
    :root:not([data-theme="light"]) .hk-testimonials__card {
        background: var(--hk-glass);
        box-shadow: 0 8px 40px rgba(0, 0, 0, 0.2);
    }
}

/* ============================================================
   12. EID AL-ADHA BANNER — temporary, DE-only
   TODO: remove after Eid al-Adha (target: 2026-05-30)
   Spec: docs/superpowers-optimized/specs/2026-05-26-eid-banner-design.md
   ============================================================ */

.hk-eid {
    background: var(--hk-parchment);
    padding: clamp(80px, 10vw, 130px) 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Crescent moon watermark — mirrors .hk-manifesto::before pattern */
.hk-eid::before {
    content: '\262A'; /* ☪ */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 30vw;
    color: var(--hk-gold);
    opacity: 0.035;
    pointer-events: none;
    line-height: 1;
    z-index: 0;
}

/* Top gold hairline */
.hk-eid::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(480px, 60%);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--hk-gold), transparent);
    opacity: 0.4;
}

.hk-eid__inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1.75rem, 3vw, 2.5rem);
}

.hk-eid__overline {
    /* base typography inherited from .hk-overline (style.css) */
    transition-delay: 80ms;
}

.hk-eid__takbir {
    font-family: var(--hk-font-heading);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(1.35rem, 2.5vw, 1.85rem);
    line-height: 1.55;
    color: var(--hk-heading);
    letter-spacing: -0.005em;
    max-width: 620px;
    transition-delay: 160ms;
}

.hk-eid__takbir p {
    margin: 0 0 0.5rem;
}

.hk-eid__takbir p:last-child {
    margin-bottom: 0;
}

/* Diamond divider — gold hairline + diamond glyph, matches .hk-manifesto__divider feel */
.hk-eid__divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
    max-width: 280px;
    margin: 0;
}

.hk-eid__divider span {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--hk-gold), transparent);
    opacity: 0.5;
}

.hk-eid__divider i {
    width: 7px;
    height: 7px;
    transform: rotate(45deg);
    background: var(--hk-gold);
    opacity: 0.6;
    flex-shrink: 0;
}

.hk-eid__figure {
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    transition-delay: 240ms;
}

.hk-eid__image {
    display: block;
    width: clamp(280px, 36vw, 420px);
    height: auto;
    border-radius: 4px;
}

.hk-eid__message {
    font-family: var(--hk-font-body);
    font-weight: 300;
    font-size: 1.05rem;
    line-height: 1.85;
    color: var(--hk-body);
    max-width: 620px;
    margin: 0 auto;
    transition-delay: 320ms;
}

.hk-eid__message p {
    margin: 0 0 1.25rem;
}

.hk-eid__message p:last-child {
    margin-bottom: 0;
}

.hk-eid__amin {
    font-family: var(--hk-font-heading);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    color: var(--hk-gold-text);
    margin: 0.5rem 0 0;
    letter-spacing: 0.01em;
    transition-delay: 480ms;
}

/* Bottom gold hairline */
.hk-eid__inner::after {
    content: '';
    position: absolute;
    bottom: calc(-1 * clamp(80px, 10vw, 130px) + 24px);
    left: 50%;
    transform: translateX(-50%);
    width: min(480px, 60%);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--hk-gold), transparent);
    opacity: 0.4;
}

/* === Dark mode — illuminated manuscript === */
:root[data-theme="dark"] .hk-eid::before {
    opacity: 0.055;
}


@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .hk-eid::before {
        opacity: 0.055;
    }
}

/* === Mobile === */
@media (max-width: 768px) {
    .hk-eid {
        padding: clamp(56px, 14vw, 80px) 0;
    }
    .hk-eid__inner {
        gap: 1.5rem;
    }
    .hk-eid__takbir {
        font-size: 1.25rem;
        line-height: 1.5;
    }
    .hk-eid__image {
        width: min(85vw, 320px);
    }
    .hk-eid__message {
        font-size: 1rem;
        line-height: 1.75;
    }
    .hk-eid__message p {
        margin-bottom: 1rem;
    }
}

@media (max-width: 480px) {
    .hk-eid__overline {
        font-size: 0.7rem;
    }
    .hk-eid__takbir {
        font-size: 1.15rem;
    }
    .hk-eid__amin {
        font-size: 1.45rem;
    }
}

