/* ==========================================================================
   PROJET MAKE — HOME.CSS
   --------------------------------------------------------------------------
   RÔLE :
   - Styliser uniquement la page d'accueil publique.
   - Donner une vraie direction visuelle aux sections .mk-*.
   - Créer un rythme de scroll plus éditorial : hero, bande manifeste,
     vision, sélection, story, manifeste final.
   - Respecter le layout global déjà géré par layout.css.

   IMPORTANT :
   - Ce fichier ne doit contenir QUE les classes spécifiques à la home.
   - Il dépend des variables posées dans layout.css :
       --site-bg
       --site-surface
       --site-text
       --site-text-soft
       --site-text-faint
       --site-accent
       --site-line
       --site-line-strong
       --site-shell
       --site-radius-*
       --site-shadow-*
   - Il s'applique sur la structure HTML de app/Views/home/index.php.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. WRAPPER GLOBAL HOME
   -------------------------------------------------------------------------- */

.site-page--home,
.mk-home {
    position: relative;
}

.mk-home {
    display: block;
    width: 100%;
}

/* --------------------------------------------------------------------------
   2. COMPOSANTS COMMUNS HOME
   -------------------------------------------------------------------------- */

/* Eyebrow / kicker de section */
.mk-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;

    color: var(--site-text-soft);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.mk-eyebrow--hero {
    margin-bottom: 22px;
}

.mk-eyebrow--center {
    justify-content: center;
    width: 100%;
    text-align: center;
}

.mk-eyebrow-dot {
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 999px;
    background: var(--site-accent);
    box-shadow: 0 0 0 6px rgba(212, 245, 74, 0.10);
}

.mk-eyebrow-label {
    display: inline-block;
}

/* Titre de section récurrent */
.mk-section-title,
.mk-statement-title,
.mk-future-title {
    margin: 0;
    color: var(--site-text);
    font-family: "Cabinet Grotesk", "Satoshi", "Helvetica Neue", Arial, sans-serif;
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.03em;
}

/* Boutons / liens CTA home */
.mk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 50px;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 999px;

    font-size: 0.96rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    white-space: nowrap;

    transition:
        transform 0.18s ease,
        background 0.18s ease,
        color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.mk-btn:hover {
    transform: translateY(-1px);
}

.mk-btn:active {
    transform: translateY(0);
}

.mk-btn--primary {
    background: var(--site-accent);
    color: #10140e;
    box-shadow: 0 14px 32px rgba(212, 245, 74, 0.16);
}

.mk-btn--primary:hover {
    background: #def867;
    box-shadow: 0 18px 36px rgba(212, 245, 74, 0.22);
}

.mk-btn--ghost {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.02);
    color: var(--site-text);
}

.mk-btn--ghost:hover {
    border-color: rgba(255, 255, 255, 0.20);
    background: rgba(255, 255, 255, 0.05);
}

.mk-btn--outline {
    border-color: rgba(212, 245, 74, 0.24);
    background: transparent;
    color: var(--site-text);
}

.mk-btn--outline:hover {
    border-color: rgba(212, 245, 74, 0.44);
    background: rgba(212, 245, 74, 0.06);
}

.mk-btn-arrow,
.mk-btn--outline span[aria-hidden="true"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    position: relative;
}

.mk-btn-arrow::before,
.mk-btn--outline span[aria-hidden="true"]::before {
    content: "↗";
    display: inline-block;
    font-size: 0.94rem;
    line-height: 1;
}

/* Liens d’en-tête de section */
.mk-section-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: var(--site-text-soft);
    font-size: 0.96rem;
    font-weight: 700;

    transition: color 0.18s ease, transform 0.18s ease;
}

.mk-section-link::after {
    content: "→";
    display: inline-block;
}

.mk-section-link:hover {
    color: var(--site-accent);
    transform: translateX(2px);
}

/* Section générique */
.mk-section {
    position: relative;
    padding: 110px 0;
}

.mk-section--collection {
    padding-top: 84px;
}

.mk-section--story {
    padding-top: 96px;
    padding-bottom: 120px;
}

.mk-section--future {
    padding-top: 100px;
    padding-bottom: 130px;
}

.mk-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
}

/* --------------------------------------------------------------------------
   3. HERO
   -------------------------------------------------------------------------- */

.mk-hero {
    position: relative;
    overflow: clip;
    padding: 56px 0 48px;
    min-height: calc(100vh - var(--site-header-h));
    background:
        radial-gradient(circle at 78% 18%, rgba(212, 245, 74, 0.08) 0%, rgba(212, 245, 74, 0.00) 28%),
        radial-gradient(circle at 18% 78%, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.00) 30%);
}

.mk-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(7, 11, 8, 0.10) 0%, rgba(7, 11, 8, 0.00) 24%, rgba(7, 11, 8, 0.42) 100%);
    pointer-events: none;
}

.mk-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 34%;
    background: linear-gradient(180deg, rgba(7, 11, 8, 0.00) 0%, rgba(7, 11, 8, 0.34) 100%);
    pointer-events: none;
}

.mk-hero-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.032) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,0.70), rgba(0,0,0,0.10));
    pointer-events: none;
    opacity: 0.9;
}

.mk-hero-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(14px);
    pointer-events: none;
}

.mk-hero-orb--1 {
    top: 6%;
    right: -4%;
    width: 420px;
    height: 420px;
    background:
        radial-gradient(circle at center,
            rgba(212, 245, 74, 0.24) 0%,
            rgba(212, 245, 74, 0.11) 34%,
            rgba(212, 245, 74, 0.00) 72%);
}

.mk-hero-orb--2 {
    left: -8%;
    bottom: 2%;
    width: 340px;
    height: 340px;
    background:
        radial-gradient(circle at center,
            rgba(255, 255, 255, 0.11) 0%,
            rgba(255, 255, 255, 0.035) 34%,
            rgba(255, 255, 255, 0.00) 70%);
}

.mk-hero .mk-shell {
    position: relative;
    z-index: 1;
    min-height: calc(100vh - var(--site-header-h) - 56px);
    display: flex;
    align-items: center;
}

.mk-hero-body {
    width: min(980px, 100%);
    padding: 54px 0 62px;
}

.mk-hero-title {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.mk-hero-title-top {
    color: rgba(244, 239, 231, 0.54);
    font-size: clamp(0.78rem, 0.7rem + 0.4vw, 1rem);
    font-weight: 700;
    letter-spacing: 0.30em;
    text-transform: uppercase;
}

.mk-hero-title-main {
    display: block;
    max-width: 9ch;
    color: var(--site-text);
    font-family: "Cabinet Grotesk", "Satoshi", "Helvetica Neue", Arial, sans-serif;
    font-size: clamp(4.6rem, 10vw, 9rem);
    font-weight: 900;
    line-height: 0.84;
    letter-spacing: -0.07em;
    text-transform: uppercase;
    text-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

.mk-hero-title-sub {
    display: block;
    max-width: 24ch;
    margin-top: 10px;
    color: rgba(244, 239, 231, 0.74);
    font-size: clamp(1.02rem, 1rem + 0.32vw, 1.24rem);
    font-weight: 500;
    line-height: 1.32;
    letter-spacing: -0.01em;
}

.mk-hero-desc {
    max-width: 40rem;
    margin: 30px 0 0;
    color: rgba(244, 239, 231, 0.76);
    font-size: 1.05rem;
    line-height: 1.84;
    text-wrap: pretty;
}

.mk-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 38px;
}

/* --------------------------------------------------------------------------
   4. MARQUEE / BANDE MANIFESTE
   -------------------------------------------------------------------------- */

.mk-marquee {
    position: relative;
    padding: 20px 0;
    border-top: 1px solid rgba(212, 245, 74, 0.10);
    border-bottom: 1px solid rgba(212, 245, 74, 0.10);
    background:
        radial-gradient(circle at 50% 50%, rgba(212, 245, 74, 0.05) 0%, rgba(212, 245, 74, 0.00) 52%),
        linear-gradient(180deg,
            rgba(255, 255, 255, 0.03) 0%,
            rgba(255, 255, 255, 0.00) 100%);
    overflow: hidden;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.02) inset,
        0 18px 40px rgba(0, 0, 0, 0.10);
}

.mk-marquee__viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.mk-marquee::before,
.mk-marquee::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: clamp(42px, 8vw, 120px);
    z-index: 2;
    pointer-events: none;
}

.mk-marquee::before {
    left: 0;
    background: linear-gradient(90deg, rgba(4, 7, 5, 0.98) 0%, rgba(4, 7, 5, 0.00) 100%);
}

.mk-marquee::after {
    right: 0;
    background: linear-gradient(270deg, rgba(4, 7, 5, 0.98) 0%, rgba(4, 7, 5, 0.00) 100%);
}

.mk-marquee__track {
    display: flex;
    align-items: center;
    gap: 42px;
    width: max-content;
    min-width: 100%;
    will-change: transform;
    animation: mk-marquee-scroll 34s linear infinite;
}

.mk-marquee__item {
    display: inline-flex;
    align-items: center;
    gap: 42px;

    color: rgba(244, 239, 231, 0.76);
    font-size: 0.90rem;
    font-weight: 750;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    white-space: nowrap;
    text-shadow: 0 0 20px rgba(212, 245, 74, 0.00);
}

.mk-marquee__item::after {
    content: "•";
    color: rgba(212, 245, 74, 0.92);
    text-shadow: 0 0 14px rgba(212, 245, 74, 0.24);
}

@keyframes mk-marquee-scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-33.333%);
    }
}

/* --------------------------------------------------------------------------
   5. SECTION VISION / STATEMENT
   -------------------------------------------------------------------------- */

.mk-statement {
    position: relative;
    padding: 112px 0 96px;
}

.mk-statement::before {
    content: "";
    position: absolute;
    inset: 8% 0 auto 0;
    height: 72%;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 24%, rgba(212, 245, 74, 0.06) 0%, rgba(212, 245, 74, 0.00) 34%),
        radial-gradient(circle at 78% 68%, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.00) 32%);
    opacity: 0.9;
}

.mk-statement-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(260px, 0.88fr) minmax(320px, 1.12fr);
    gap: 56px;
    align-items: start;
}

.mk-statement-left {
    position: sticky;
    top: calc(var(--site-header-h) + 34px);
    align-self: start;
}

.mk-statement-title {
    max-width: 10ch;
    font-size: clamp(2.5rem, 5vw, 4.9rem);
    line-height: 0.92;
}

.mk-statement-copy {
    position: relative;
    display: grid;
    gap: 24px;
    padding: 22px 0 0 28px;
}

.mk-statement-copy::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 8px;
    width: 1px;
    background: linear-gradient(
        180deg,
        rgba(212, 245, 74, 0.34) 0%,
        rgba(255, 255, 255, 0.12) 38%,
        rgba(255, 255, 255, 0.00) 100%
    );
}

.mk-statement-text {
    position: relative;
    margin: 0;
    max-width: 56ch;
    color: rgba(244, 239, 231, 0.78);
    font-size: 1.05rem;
    line-height: 1.95;
    text-wrap: pretty;
}

.mk-statement-text:first-child {
    color: rgba(244, 239, 231, 0.88);
}

/* --------------------------------------------------------------------------
   6. SECTION COLLECTION / SHOWCASE
   -------------------------------------------------------------------------- */

.mk-showcase {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
    gap: 24px;
}

.mk-showcase-col {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.mk-showcase-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 30px;
    background:
        linear-gradient(180deg,
            rgba(255, 255, 255, 0.045) 0%,
            rgba(255, 255, 255, 0.015) 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 18px 42px rgba(0, 0, 0, 0.14);
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease;
}

.mk-showcase-card:hover {
    transform: translateY(-4px);
    border-color: rgba(212, 245, 74, 0.16);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 24px 54px rgba(0, 0, 0, 0.20);
}

.mk-showcase-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg,
            rgba(255, 255, 255, 0.035) 0%,
            rgba(255, 255, 255, 0.00) 24%);
    opacity: 0.9;
}

.mk-showcase-card--featured {
    min-height: 640px;
}

.mk-showcase-visual {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: center;
    min-height: 270px;
    padding: 24px;
    background:
        radial-gradient(circle at top, rgba(212, 245, 74, 0.10), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.01));
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.mk-showcase-card--featured .mk-showcase-visual {
    min-height: 450px;
    padding: 30px;
}

.mk-showcase-badge {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 1;

    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;

    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.mk-showcase-badge--accent {
    background: rgba(212, 245, 74, 0.14);
    color: var(--site-accent);
    border: 1px solid rgba(212, 245, 74, 0.24);
    box-shadow: 0 8px 18px rgba(212, 245, 74, 0.08);
}

.mk-showcase-badge--danger {
    background: rgba(255, 88, 88, 0.10);
    color: #ff8d8d;
    border: 1px solid rgba(255, 88, 88, 0.20);
}

.mk-showcase-placeholder {
    position: relative;
    flex: 1;
    min-height: 100%;
    border-radius: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(circle at 50% 14%, rgba(212, 245, 74, 0.08), transparent 36%),
        linear-gradient(145deg,
            rgba(255, 255, 255, 0.09),
            rgba(255, 255, 255, 0.015));
    color: rgba(255, 255, 255, 0.20);

    font-family: "Cabinet Grotesk", "Satoshi", "Helvetica Neue", Arial, sans-serif;
    font-size: clamp(2.1rem, 4vw, 4rem);
    font-weight: 900;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.mk-showcase-body {
    position: relative;
    display: grid;
    gap: 14px;
    padding: 24px 24px 26px;
}

.mk-showcase-name {
    margin: 0;
    color: var(--site-text);
    font-size: clamp(1.22rem, 1rem + 0.9vw, 1.95rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 0.98;
}

.mk-showcase-meta {
    margin: 0;
    max-width: 34ch;
    color: rgba(244, 239, 231, 0.72);
    font-size: 0.96rem;
    line-height: 1.68;
}

.mk-color-dots {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.mk-color-dots span {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow:
        inset 0 0 0 1px rgba(0, 0, 0, 0.10),
        0 0 0 4px rgba(255, 255, 255, 0.015);
}

/* --------------------------------------------------------------------------
   7. SECTION STORY / ÉDITORIAL
   -------------------------------------------------------------------------- */

.mk-story-layout {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 0.92fr);
    gap: 34px;
    align-items: center;
}

.mk-story-visual {
    position: relative;
}

.mk-story-img-wrap {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 30px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015));
    box-shadow: var(--site-shadow-md);
}

.mk-story-placeholder {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 34px;

    background:
        radial-gradient(circle at 70% 14%, rgba(212, 245, 74, 0.14), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(9, 14, 10, 0.92));
}

.mk-story-placeholder-text {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, 0.16);
    font-family: "Cabinet Grotesk", "Satoshi", "Helvetica Neue", Arial, sans-serif;
    font-size: clamp(3rem, 9vw, 7rem);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.08em;
    text-transform: uppercase;
}

.mk-story-lines {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
}

.mk-story-lines span {
    width: 1px;
    height: 100%;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.00),
        rgba(255, 255, 255, 0.10),
        rgba(255, 255, 255, 0.00)
    );
}

.mk-story-caption {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 2;

    display: inline-flex;
    justify-content: flex-start;
}

.mk-story-caption span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(10, 15, 11, 0.80);
    border: 1px solid rgba(255, 255, 255, 0.10);
    color: var(--site-text-soft);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.mk-story-copy {
    display: grid;
    gap: 20px;
}

.mk-story-text {
    margin: 0;
    color: var(--site-text-soft);
    font-size: 1.04rem;
    line-height: 1.9;
}

/* --------------------------------------------------------------------------
   8. SECTION FUTURE / MANIFESTE FINAL
   -------------------------------------------------------------------------- */

.mk-future-inner {
    position: relative;
    overflow: hidden;
    padding: 82px 28px;
    border: 1px solid rgba(212, 245, 74, 0.12);
    border-radius: 36px;
    background:
        radial-gradient(circle at 50% 0%, rgba(212, 245, 74, 0.12) 0%, rgba(212, 245, 74, 0.00) 36%),
        radial-gradient(circle at 14% 24%, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.00) 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.012));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 24px 56px rgba(0, 0, 0, 0.18);
    text-align: center;
}

.mk-future-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0.00) 22%);
    opacity: 0.9;
}

.mk-future-deco {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.mk-future-deco-circle {
    position: absolute;
    border-radius: 999px;
    border: 1px solid rgba(212, 245, 74, 0.10);
    background: radial-gradient(circle at center, rgba(212, 245, 74, 0.03), rgba(212, 245, 74, 0.00) 68%);
}

.mk-future-deco-circle--1 {
    top: -150px;
    left: -100px;
    width: 340px;
    height: 340px;
}

.mk-future-deco-circle--2 {
    right: -90px;
    bottom: -170px;
    width: 390px;
    height: 390px;
}

.mk-future-title {
    position: relative;
    z-index: 1;
    max-width: 13ch;
    margin: 0 auto;
    font-size: clamp(2.6rem, 5.2vw, 5.8rem);
    line-height: 0.94;
}

.mk-future-title em {
    font-style: italic;
    color: var(--site-accent);
}

.mk-future-desc {
    position: relative;
    z-index: 1;
    max-width: 44rem;
    margin: 28px auto 0;
    color: rgba(244, 239, 231, 0.76);
    font-size: 1.07rem;
    line-height: 1.88;
    text-wrap: pretty;
}

.mk-future-inner .mk-btn {
    position: relative;
    z-index: 1;
    margin-top: 38px;
}

/* --------------------------------------------------------------------------
   9. RESPONSIVE
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
    .mk-section {
        padding: 92px 0;
    }

    .mk-hero-title-main {
        font-size: clamp(4rem, 11vw, 7rem);
    }

    .mk-showcase {
        grid-template-columns: 1fr;
    }

    .mk-showcase-card--featured {
        min-height: auto;
    }

    .mk-showcase-card--featured .mk-showcase-visual {
        min-height: 360px;
    }

    .mk-story-layout {
        grid-template-columns: 1fr;
    }

    .mk-story-img-wrap,
    .mk-story-placeholder {
        min-height: 520px;
    }

    .mk-statement-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .mk-statement-left {
        position: static;
        top: auto;
    }

    .mk-statement-title {
        max-width: 14ch;
    }
}

@media (max-width: 768px) {
    .mk-hero {
        padding: 36px 0 28px;
        min-height: auto;
    }

    .mk-hero::before {
        background:
            linear-gradient(180deg, rgba(7, 11, 8, 0.10) 0%, rgba(7, 11, 8, 0.00) 18%, rgba(7, 11, 8, 0.34) 100%);
    }

    .mk-hero::after {
        height: 26%;
    }

    .mk-hero-grid {
        background-size: 56px 56px;
        opacity: 0.56;
    }

    .mk-hero-orb--1 {
        top: -2%;
        right: -18%;
        width: 240px;
        height: 240px;
    }

    .mk-hero-orb--2 {
        left: -18%;
        bottom: -3%;
        width: 190px;
        height: 190px;
    }

    .mk-hero .mk-shell {
        min-height: auto;
        display: block;
    }

    .mk-hero-body {
        width: 100%;
        padding: 28px 0 36px;
    }

    .mk-hero-title {
        gap: 10px;
    }

    .mk-hero-title-top {
        letter-spacing: 0.22em;
    }

    .mk-hero-title-main {
        max-width: 8.5ch;
        font-size: clamp(3.35rem, 17vw, 5.3rem);
        line-height: 0.88;
    }

    .mk-hero-title-sub {
        max-width: 20ch;
        margin-top: 8px;
        font-size: 1rem;
        line-height: 1.38;
    }

    .mk-hero-desc,
    .mk-statement-text,
    .mk-story-text,
    .mk-future-desc {
        font-size: 1rem;
        line-height: 1.72;
    }

    .mk-hero-desc {
        margin-top: 24px;
        max-width: 34rem;
    }

    .mk-hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-top: 30px;
    }

    .mk-btn {
        width: 100%;
    }

    .mk-section,
    .mk-statement,
    .mk-section--story,
    .mk-section--future {
        padding: 76px 0;
    }

    .mk-section-head {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 26px;
    }

    .mk-statement-title,
    .mk-section-title,
    .mk-future-title {
        font-size: clamp(2rem, 9vw, 3.1rem);
    }

    .mk-showcase-visual,
    .mk-showcase-card--featured .mk-showcase-visual {
        min-height: 260px;
        padding: 18px;
    }

    .mk-story-img-wrap,
    .mk-story-placeholder {
        min-height: 420px;
    }

    .mk-story-placeholder {
        padding: 24px;
    }

    .mk-future-inner {
        padding: 54px 18px;
        border-radius: 26px;
    }

    .mk-marquee {
        padding: 16px 0;
    }

    .mk-marquee::before,
    .mk-marquee::after {
        width: 34px;
    }

    .mk-marquee__track {
        gap: 28px;
        animation-duration: 24s;
    }

    .mk-marquee__item {
        gap: 28px;
        font-size: 0.82rem;
        letter-spacing: 0.16em;
    }
}

@media (max-width: 480px) {
    .mk-eyebrow {
        gap: 8px;
        font-size: 0.72rem;
        letter-spacing: 0.18em;
    }

    .mk-hero-title-top {
        letter-spacing: 0.16em;
    }

    .mk-hero-title-main {
        max-width: 8.2ch;
        font-size: clamp(2.95rem, 17vw, 4.5rem);
        line-height: 0.90;
    }

    .mk-hero-title-sub {
        max-width: 18ch;
        font-size: 0.98rem;
        line-height: 1.36;
    }

    .mk-hero-desc {
        margin-top: 22px;
        font-size: 0.98rem;
        line-height: 1.68;
    }

    .mk-showcase-card,
    .mk-story-img-wrap,
    .mk-future-inner {
        border-radius: 22px;
    }

    .mk-showcase-body {
        padding: 18px 18px 20px;
    }

    .mk-story-caption {
        left: 16px;
        right: 16px;
        bottom: 16px;
    }

    .mk-story-caption span {
        min-height: 34px;
        padding: 0 12px;
        font-size: 0.74rem;
    }

    .mk-future-deco-circle--1 {
        width: 220px;
        height: 220px;
        top: -90px;
        left: -90px;
    }

    .mk-future-deco-circle--2 {
        width: 220px;
        height: 220px;
        right: -80px;
        bottom: -100px;
    }
}

}

/* ==========================================================================
   MAKE HOME — VISUAL RETENTION PATCH
   Objectif : augmenter l'envie de rester sans changer le contenu
   ========================================================================== */

/* ---------- 1) PRIMITIFS UI : plus de tension, plus de présence ---------- */

.mk-eyebrow {
    position: relative;
    gap: 12px;
    margin-bottom: 20px;
    color: rgba(244, 239, 231, 0.72);
    letter-spacing: 0.24em;
    text-shadow: 0 0 18px rgba(212, 245, 74, 0.00);
}

.mk-eyebrow-dot {
    position: relative;
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    background:
        radial-gradient(circle at 35% 35%, #f4ffd1 0%, var(--site-accent) 58%, #a8c53f 100%);
    box-shadow:
        0 0 0 7px rgba(212, 245, 74, 0.08),
        0 0 22px rgba(212, 245, 74, 0.18);
}

.mk-section-title,
.mk-statement-title,
.mk-future-title {
    text-wrap: balance;
    text-shadow: 0 10px 40px rgba(0, 0, 0, 0.18);
}

.mk-btn {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: 52px;
    padding: 0 22px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.mk-btn::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.08) 0%,
        rgba(255, 255, 255, 0.01) 100%
    );
    opacity: 0.9;
    z-index: -1;
    pointer-events: none;
}

.mk-btn::after {
    content: "";
    position: absolute;
    inset: auto auto 0 -18%;
    width: 42%;
    height: 100%;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.18) 52%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: skewX(-22deg);
    opacity: 0;
    pointer-events: none;
}

.mk-btn:hover {
    transform: translateY(-2px);
}

.mk-btn:hover::after {
    opacity: 1;
    animation: mk-btn-sheen 720ms ease;
}

.mk-btn--primary {
    box-shadow:
        0 14px 32px rgba(212, 245, 74, 0.16),
        0 2px 0 rgba(255, 255, 255, 0.20) inset;
}

.mk-btn--ghost {
    border-color: rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0.015) 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 10px 24px rgba(0, 0, 0, 0.10);
}

.mk-btn--ghost:hover {
    border-color: rgba(255, 255, 255, 0.24);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.025) 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.09) inset,
        0 16px 30px rgba(0, 0, 0, 0.14);
}

@keyframes mk-btn-sheen {
    0% {
        transform: translateX(0) skewX(-22deg);
    }
    100% {
        transform: translateX(320%) skewX(-22deg);
    }
}



/* ==========================================================================
   MAKE HOME — GLOBAL POLISH PASS
   Objectif : harmoniser rayons, ombres, densité, rythme et perception premium
   ========================================================================== */

:root {
    --mk-radius-card: 30px;
    --mk-radius-card-sm: 24px;
    --mk-radius-panel: 36px;

    --mk-shadow-card:
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 18px 42px rgba(0, 0, 0, 0.14);

    --mk-shadow-card-hover:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 24px 54px rgba(0, 0, 0, 0.20);

    --mk-shadow-panel:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 24px 56px rgba(0, 0, 0, 0.18);

    --mk-copy-max: 58ch;
    --mk-copy-max-wide: 62ch;
    --mk-section-gap: 24px;
}

/* ---------- 1) Rayons et ombres cohérents ---------- */

.mk-showcase-card,
.mk-story-img-wrap {
    border-radius: var(--mk-radius-card);
    box-shadow: var(--mk-shadow-card);
}

.mk-showcase-placeholder {
    border-radius: var(--mk-radius-card-sm);
}

.mk-future-inner {
    border-radius: var(--mk-radius-panel);
    box-shadow: var(--mk-shadow-panel);
}

.mk-showcase-card:hover {
    box-shadow: var(--mk-shadow-card-hover);
}

/* ---------- 2) Densité interne homogène ---------- */

.mk-showcase-col,
.mk-showcase {
    gap: var(--mk-section-gap);
}

.mk-showcase-body {
    gap: 12px;
    padding: 22px 22px 24px;
}

.mk-story-copy {
    gap: 18px;
}

.mk-statement-copy {
    gap: 22px;
}

.mk-hero-actions {
    gap: 12px;
}

.mk-section-head {
    gap: 20px;
    margin-bottom: 30px;
}

/* ---------- 3) Mesure typographique plus régulière ---------- */

.mk-hero-desc {
    max-width: var(--mk-copy-max-wide);
}

.mk-statement-text,
.mk-story-text {
    max-width: var(--mk-copy-max);
}

.mk-showcase-meta {
    max-width: 32ch;
    line-height: 1.64;
}

.mk-future-desc {
    max-width: 44rem;
}

/* ---------- 4) Titres : même sensation de famille ---------- */

.mk-section-title,
.mk-statement-title,
.mk-future-title,
.mk-showcase-name {
    text-wrap: balance;
}

.mk-showcase-name {
    line-height: 1;
    letter-spacing: -0.032em;
}

/* ---------- 5) Cohérence des surfaces ---------- */

.mk-showcase-card,
.mk-story-img-wrap,
.mk-future-inner {
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.mk-showcase-card::before,
.mk-future-inner::before {
    mix-blend-mode: screen;
}

/* ---------- 6) Interactions mieux alignées ---------- */

.mk-btn,
.mk-section-link,
.mk-showcase-card {
    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.mk-section-link:hover {
    transform: translateX(3px);
}

.mk-btn:focus-visible,
.mk-section-link:focus-visible {
    outline: 2px solid rgba(212, 245, 74, 0.72);
    outline-offset: 3px;
}

/* ---------- 7) Rythme vertical de page ---------- */

.mk-section,
.mk-statement,
.mk-section--story,
.mk-section--future {
    scroll-margin-top: calc(var(--site-header-h) + 24px);
}

/* ---------- 8) Mobile polish ---------- */

@media (max-width: 768px) {
    :root {
        --mk-radius-card: 26px;
        --mk-radius-card-sm: 20px;
        --mk-radius-panel: 28px;
    }

    .mk-section-head {
        gap: 16px;
        margin-bottom: 24px;
    }

    .mk-showcase-body {
        padding: 18px 18px 20px;
    }

    .mk-story-copy,
    .mk-statement-copy {
        gap: 18px;
    }

    .mk-hero-actions {
        gap: 10px;
    }
}

@media (max-width: 480px) {
    :root {
        --mk-radius-card: 22px;
        --mk-radius-card-sm: 18px;
        --mk-radius-panel: 24px;
    }

    .mk-showcase-meta,
    .mk-hero-desc,
    .mk-statement-text,
    .mk-story-text,
    .mk-future-desc {
        line-height: 1.68;
    }

    .mk-showcase-name {
        line-height: 1.02;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mk-marquee__track {
        animation: none;
    }

    .mk-btn,
    .mk-section-link,
    .mk-showcase-card {
        transition: none;
    }

    .mk-showcase-card:hover,
    .mk-btn:hover,
    .mk-section-link:hover,
    .mk-btn:active {
        transform: none;
    }

    .mk-btn:hover::after {
        animation: none;
    }
}

/* ===== FORCE HIDE DESKTOP BURGER ON HOME ===== */
@media (min-width: 769px) {
    .site-header__actions .site-burger,
    .site-burger {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}
/* ===== /FORCE HIDE DESKTOP BURGER ON HOME ===== */
