
/*
Theme Name: Fitnesscoach Luc
Theme URI: https://www.fitnesscoach-luc.de
Author: Xpress Webdesign
Author URI: https://xpress-webdesign.de
Description: Premium One-Page WordPress Theme für Luca Denis Sauer – Personal Training & Ernährungsberatung in Frankfurt am Main.
Version: 1.1.2
Text Domain: fitnesscoach-luc
*/

/* =========================================================
   ROOT / PREMIUM BLACK + SILVER
========================================================= */

:root {
    --luc-black: #050505;
    --luc-black-2: #090909;
    --luc-dark: #0f0f10;
    --luc-dark-soft: #171719;

    --luc-silver: #c9c9c9;
    --luc-silver-light: #eeeeee;
    --luc-silver-mid: #a7a7aa;
    --luc-silver-dark: #737378;
    --luc-silver-soft: #151517;

    --luc-white: #ffffff;
    --luc-text: #f2f2f2;
    --luc-muted: #a5a5aa;
    --luc-line: rgba(220, 220, 225, 0.16);

    --luc-whatsapp: #25d366;
    --luc-whatsapp-dark: #1dad53;

    --luc-shadow:
        0 28px 70px rgba(0, 0, 0, 0.36);

    --luc-shadow-small:
        0 16px 42px rgba(0, 0, 0, 0.24);

    --luc-radius: 24px;
    --luc-radius-small: 14px;
    --luc-container: 1240px;

    --luc-metal:
        linear-gradient(
            135deg,
            #f5f5f5 0%,
            #bdbdbf 30%,
            #ffffff 48%,
            #8e8e92 72%,
            #d7d7d9 100%
        );
}


/* =========================================================
   RESET
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    font-size: 16px;
    line-height: 1.68;

    color: var(--luc-text);
    background: var(--luc-black);

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    /* Prevent horizontal visual overflow without creating a second scroll container */
    overflow-x: clip;
}

body.luc-menu-open {
    overflow: hidden;
}

img,
video {
    max-width: 100%;
}

img {
    display: block;
    height: auto;
}

button,
input,
textarea,
select {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    border: 0;
    padding: 0;
    background: none;
    cursor: pointer;
}


/* =========================================================
   TYPOGRAPHY
========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;

    color: var(--luc-white);

    line-height: 1.12;
    font-weight: 800;

    letter-spacing: -0.035em;
}

p {
    margin-top: 0;
}

.luc-page {
    width: 100%;
    overflow: hidden;
    background: var(--luc-black);
}

.luc-container {
    width: min(calc(100% - 40px), var(--luc-container));
    margin-inline: auto;
}


/* =========================================================
   SECTION BASICS
========================================================= */

.luc-section {
    position: relative;
    padding: 92px 0;
}

.luc-section--black {
    background:
        radial-gradient(circle at 12% 20%, rgba(255,255,255,.035), transparent 28%),
        var(--luc-black);
}

.luc-section--dark {
    background:
        radial-gradient(circle at 88% 15%, rgba(255,255,255,.04), transparent 24%),
        var(--luc-dark);
}

.luc-section--silver-soft {
    background:
        linear-gradient(180deg, #121214 0%, #0b0b0c 100%);
}

.luc-section--contact {
    background:
        radial-gradient(circle at 80% 20%, rgba(255,255,255,.07), transparent 30%),
        linear-gradient(180deg, #0b0b0c 0%, #050505 100%);
}

.luc-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), var(--luc-container));
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
    transform: translateX(-50%);
}

.luc-section-head {
    width: min(100%, 800px);
    margin: 0 auto 48px;
    text-align: center;
}

.luc-eyebrow {
    display: inline-block;
    margin-bottom: 14px;

    color: var(--luc-silver);

    font-size: .8rem;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .16em;
}

.luc-section-title {
    margin-bottom: 18px;

    font-size:
        clamp(
            2.15rem,
            4.5vw,
            3.8rem
        );

    line-height: 1.04;
}

.luc-section-subtitle {
    margin-bottom: 0;

    color: var(--luc-muted);

    font-size: 1.05rem;
    line-height: 1.75;
}


/* =========================================================
   BUTTONS
========================================================= */

.luc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 54px;
    padding: 14px 26px;

    border-radius: 999px;

    font-size: .93rem;
    font-weight: 800;
    letter-spacing: .01em;

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

.luc-btn:hover {
    transform: translateY(-3px);
}

.luc-btn--primary {
    color: #0b0b0c;
    background: var(--luc-metal);
    box-shadow:
        0 12px 32px rgba(210, 210, 215, .16);
}

.luc-btn--primary:hover {
    box-shadow:
        0 16px 40px rgba(225, 225, 230, .25);
}

.luc-btn--outline {
    color: var(--luc-white);
    border: 1px solid rgba(255,255,255,.48);
    background: rgba(255,255,255,.03);
    backdrop-filter: blur(8px);
}

.luc-btn--outline:hover {
    color: var(--luc-black);
    background: var(--luc-white);
    border-color: var(--luc-white);
}

.luc-btn--white {
    color: var(--luc-black);
    background: var(--luc-white);
}

.luc-btn--whatsapp {
    color: var(--luc-white);
    background: var(--luc-whatsapp);
    box-shadow: 0 12px 28px rgba(37, 211, 102, .18);
}

.luc-btn--whatsapp:hover {
    background: var(--luc-whatsapp-dark);
}


/* =========================================================
   HEADER
   - compatible with VS-Clean structure after prefix conversion
========================================================= */

.luc-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;

    z-index: 1000;

    width: 100%;
    color: var(--luc-white);

    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.68),
            rgba(0,0,0,0)
        );

    transition:
        transform .45s cubic-bezier(.16,1,.3,1),
        opacity .35s ease,
        filter .35s ease,
        background .3s ease,
        box-shadow .3s ease;
}

.luc-header.is-scrolled {
    color: var(--luc-white);

    background:
        rgba(8,8,9,.78);

    box-shadow:
        0 8px 30px rgba(0,0,0,.18);

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.luc-header.is-hidden {
    transform: translateY(-115%);
    opacity: 0;
    filter: blur(12px);
    pointer-events: none;
}

.luc-header:not(.is-hidden) {
    transform: translateY(0);
    opacity: 1;
    filter: blur(0);
}

.luc-header__inner {
    display: flex;
    align-items: center;
    min-height: 82px;
    gap: 28px;
}

.luc-header__brand {
    flex-shrink: 0;
}

.luc-header__logo-link {
    display: flex;
    align-items: center;
}

.luc-header__logo-link .custom-logo,
.luc-header__logo-image {
    width: auto;
    max-width: 190px;
    max-height: 64px;
}

.luc-header__logo-text {
    color: inherit;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: -.04em;
}

.luc-header__nav {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-left: auto;
}

.luc-header__nav a {
    position: relative;
    color: inherit;
    font-size: .9rem;
    font-weight: 700;
}

.luc-header__nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;

    width: 0;
    height: 1px;

    background: var(--luc-silver);
    transition: width .22s ease;
}

.luc-header__nav a:hover::after {
    width: 100%;
}

.luc-header__actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.luc-header__phone {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .86rem;
    font-weight: 800;
}


/* =========================================================
   BURGER / OVERLAY MENU
========================================================= */

.luc-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;

    width: 46px;
    height: 46px;
    margin-left: auto;
    gap: 5px;

    border-radius: 13px;
    color: inherit;

    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.12);
}

.luc-menu-toggle span {
    display: block;
    width: 22px;
    height: 2px;

    margin-inline: auto;

    border-radius: 999px;
    background: currentColor;

    transition:
        transform .25s ease,
        opacity .25s ease;
}

.luc-menu-toggle.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.luc-menu-toggle.is-active span:nth-child(2) {
    opacity: 0;
}

.luc-menu-toggle.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.luc-overlay-menu {
    position: fixed;
    inset: 0;
    z-index: 1100;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    transition:
        opacity .25s ease,
        visibility .25s ease;
}

.luc-overlay-menu.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.luc-overlay-menu__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.78);
    backdrop-filter: blur(6px);
}

.luc-overlay-menu__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;

    width: min(88%, 430px);
    padding: 26px 26px 40px;
    overflow-y: auto;

    color: var(--luc-white);
    background:
        linear-gradient(180deg, #121214 0%, #080809 100%);

    border-left: 1px solid rgba(255,255,255,.12);

    box-shadow:
        -24px 0 70px rgba(0,0,0,.42);

    transform: translateX(100%);

    transition:
        transform .34s cubic-bezier(.16,1,.3,1);
}

.luc-overlay-menu.is-open .luc-overlay-menu__panel {
    transform: translateX(0);
}

.luc-overlay-menu__top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-bottom: 25px;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.luc-overlay-menu__brand {
    font-size: 1.35rem;
    font-weight: 900;
}

.luc-overlay-menu__close {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;
    border-radius: 12px;

    color: var(--luc-white);
    background: rgba(255,255,255,.08);

    font-size: 1.8rem;
}

.luc-overlay-menu__nav {
    display: flex;
    flex-direction: column;
    padding: 28px 0;
}

.luc-overlay-menu__nav a {
    padding: 13px 0;

    border-bottom: 1px solid rgba(255,255,255,.08);

    color: var(--luc-white);

    font-size: 1.08rem;
    font-weight: 800;
}

.luc-overlay-menu__contact {
    display: grid;
    gap: 12px;
    padding-bottom: 26px;
}

.luc-overlay-menu__contact-link {
    display: flex;
    flex-direction: column;

    padding: 15px;

    border-radius: 12px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.09);
}

.luc-overlay-menu__contact-link span {
    margin-bottom: 3px;

    color: var(--luc-silver-mid);

    font-size: .72rem;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .08em;
}

.luc-overlay-menu__actions {
    display: grid;
    gap: 12px;
}


/* =========================================================
   VIDEO HERO
========================================================= */

.luc-video-hero {
    position: relative;
    display: flex;
    align-items: center;

    min-height: 100svh;
    overflow: hidden;

    color: var(--luc-white);
    background: var(--luc-black);
}

.luc-video-hero__video {
    position: absolute;
    inset: 0;
    z-index: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.luc-video-hero__video--mobile {
    display: none;
}

.luc-video-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        rgba(0,0,0,.52);
}

.luc-video-hero__gradient {
    position: absolute;
    inset: 0;
    z-index: 2;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.94) 0%,
            rgba(0,0,0,.74) 42%,
            rgba(0,0,0,.34) 74%,
            rgba(0,0,0,.10) 100%
        );
}

.luc-video-hero__inner {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;

    min-height: 100svh;

    padding-top: 115px;
    padding-bottom: 105px;
}

.luc-video-hero__content {
    width: min(100%, 830px);
}

.luc-eyebrow--hero {
    margin-bottom: 20px;
    color: var(--luc-silver-light);
    opacity: .92;
}

.luc-video-hero__title {
    margin-bottom: 26px;

    color: var(--luc-white);

    font-size:
        clamp(
            3rem,
            6vw,
            5.9rem
        );

    line-height: .98;
    letter-spacing: -.06em;
}

.luc-video-hero__title span {
    display: block;
    margin-top: 18px;

    background: var(--luc-metal);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;

    font-size:
        clamp(
            1.55rem,
            2.8vw,
            2.75rem
        );

    line-height: 1.08;
}

.luc-video-hero__text {
    width: min(100%, 700px);
    margin-bottom: 34px;

    color: rgba(255,255,255,.82);

    font-size:
        clamp(
            1rem,
            1.5vw,
            1.18rem
        );

    line-height: 1.72;
}

.luc-video-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;

    margin-bottom: 30px;
}

.luc-video-hero__micro-trust {
    display: flex;
    flex-wrap: wrap;

    gap: 9px 20px;
}

.luc-video-hero__micro-trust span {
    color: rgba(255,255,255,.72);
    font-size: .84rem;
    font-weight: 650;
}

.luc-video-hero__scroll {
    position: absolute;
    left: 50%;
    bottom: 26px;
    z-index: 4;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;

    color: rgba(255,255,255,.66);

    font-size: .68rem;
    font-weight: 700;

    letter-spacing: .08em;
    text-transform: uppercase;

    transform: translateX(-50%);
}

.luc-video-hero__scroll-arrow {
    font-size: 1.3rem;
    animation: lucScrollArrow 1.45s ease-in-out infinite;
}

@keyframes lucScrollArrow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(6px); }
}


/* =========================================================
   HERO ENTRANCE
========================================================= */

[data-luc-hero-left],
[data-luc-hero-right],
[data-luc-hero-up] {
    opacity: 0;

    will-change:
        transform,
        opacity;
}

[data-luc-hero-left] {
    transform: translateX(-120px);
}

[data-luc-hero-right] {
    transform: translateX(120px);
}

[data-luc-hero-up] {
    transform: translateY(70px);
}

body.luc-hero-ready [data-luc-hero-left],
body.luc-hero-ready [data-luc-hero-right],
body.luc-hero-ready [data-luc-hero-up] {
    opacity: 1;
    transform: translate3d(0,0,0);

    transition:
        transform .95s cubic-bezier(.16,1,.3,1),
        opacity .85s ease;
}

body.luc-hero-ready [data-luc-hero-delay="1"] {
    transition-delay: .12s;
}

body.luc-hero-ready [data-luc-hero-delay="2"] {
    transition-delay: .25s;
}

body.luc-hero-ready [data-luc-hero-delay="3"] {
    transition-delay: .38s;
}

body.luc-hero-ready [data-luc-hero-delay="4"] {
    transition-delay: .50s;
}


/* =========================================================
   SCROLL REVEALS – UP / LEFT / RIGHT
========================================================= */

[data-luc-reveal],
[data-luc-reveal-item],
[data-luc-reveal-up],
[data-luc-reveal-left],
[data-luc-reveal-right] {
    opacity: 0;

    will-change:
        transform,
        opacity;

    transition:
        transform .9s cubic-bezier(.16,1,.3,1),
        opacity .76s ease;
}

[data-luc-reveal],
[data-luc-reveal-item],
[data-luc-reveal-up] {
    transform: translateY(78px);
}

[data-luc-reveal-left] {
    transform: translateX(-110px);
}

[data-luc-reveal-right] {
    transform: translateX(110px);
}

[data-luc-reveal].is-visible,
[data-luc-reveal-item].is-visible,
[data-luc-reveal-up].is-visible,
[data-luc-reveal-left].is-visible,
[data-luc-reveal-right].is-visible {
    opacity: 1;
    transform: translate3d(0,0,0);
}

[data-luc-stagger] [data-luc-reveal-item]:nth-child(1) { transition-delay: .00s; }
[data-luc-stagger] [data-luc-reveal-item]:nth-child(2) { transition-delay: .10s; }
[data-luc-stagger] [data-luc-reveal-item]:nth-child(3) { transition-delay: .20s; }
[data-luc-stagger] [data-luc-reveal-item]:nth-child(4) { transition-delay: .30s; }
[data-luc-stagger] [data-luc-reveal-item]:nth-child(5) { transition-delay: .40s; }
[data-luc-stagger] [data-luc-reveal-item]:nth-child(6) { transition-delay: .50s; }


/* =========================================================
   TRUST BAR
========================================================= */

.luc-trustbar {
    position: relative;
    z-index: 20;

    background:
        linear-gradient(180deg, #111113 0%, #0b0b0c 100%);

    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);

    box-shadow: 0 15px 45px rgba(0,0,0,.16);
}

.luc-trustbar__grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
}

.luc-trustbar__item {
    display: flex;
    align-items: center;
    gap: 14px;

    min-width: 0;
    min-height: 102px;

    padding: 20px 24px;

    border-right: 1px solid rgba(255,255,255,.08);
}

.luc-trustbar__item > div {
    flex: 1 1 auto;
    min-width: 0;
}

.luc-trustbar__item:first-child {
    border-left: 1px solid rgba(255,255,255,.08);
}

.luc-trustbar__icon {
    flex-shrink: 0;

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

    width: 38px;
    height: 38px;

    border-radius: 50%;

    color: #090909;
    background: var(--luc-metal);

    font-weight: 900;
}

.luc-trustbar__item strong {
    display: block;
    min-width: 0;
    margin-bottom: 3px;

    color: var(--luc-white);
    font-size: .92rem;
    line-height: 1.24;

    overflow-wrap: anywhere;
}

.luc-trustbar__item span {
    display: block;
    min-width: 0;

    color: var(--luc-muted);
    font-size: .78rem;

    overflow-wrap: anywhere;
}


/* =========================================================
   POSITIONING / FLOATING LUCA
========================================================= */

.luc-positioning {
    overflow: visible;
}

.luc-positioning__layout {
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(330px,.9fr);
    align-items: center;
    gap: 60px;
}

.luc-positioning__content {
    position: relative;
    z-index: 2;
}

.luc-positioning__content > p:not(.luc-eyebrow) {
    color: var(--luc-muted);
    font-size: 1.03rem;
}

.luc-positioning__visual {
    position: relative;
    z-index: 4;

    min-height: 520px;

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

.luc-positioning__visual img {
    width: min(100%, 500px);
    max-height: 650px;
    object-fit: contain;

    filter:
        drop-shadow(0 35px 50px rgba(0,0,0,.45));

    transform: translateY(72px);
}


/* =========================================================
   SERVICES
========================================================= */

.luc-services-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
}

.luc-service-card {
    position: relative;
    overflow: hidden;

    padding: 32px;

    border: 1px solid rgba(255,255,255,.11);
    border-radius: var(--luc-radius);

    background:
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));

    box-shadow: var(--luc-shadow-small);

    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.luc-service-card:hover {
    transform: translateY(-7px);
    border-color: rgba(230,230,235,.30);

    box-shadow:
        0 25px 65px rgba(0,0,0,.35);
}

.luc-service-card__line {
    width: 46px;
    height: 2px;

    margin-bottom: 24px;

    background: var(--luc-metal);
}

.luc-service-card h3 {
    margin-bottom: 12px;
    font-size: 1.3rem;
}

.luc-service-card p {
    margin-bottom: 0;
    color: var(--luc-muted);
}


/* =========================================================
   TARGET GROUP CHIPS
========================================================= */

.luc-chip-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    gap: 12px;
}

.luc-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding: 11px 18px;

    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;

    color: var(--luc-silver-light);

    background:
        rgba(255,255,255,.035);

    font-size: .9rem;
    font-weight: 700;

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease;
}

.luc-chip:hover {
    transform: translateY(-3px);

    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.26);
}


/* =========================================================
   CORE LAYOUT / TRAINING FOCUS
========================================================= */

.luc-core-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);

    align-items: center;

    gap: 70px;
}

.luc-core-layout__content > p:not(.luc-eyebrow) {
    color: var(--luc-muted);
}

.luc-core-layout__media {
    position: relative;

    min-height: 520px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 30px;

    background:
        radial-gradient(circle at 50% 35%, rgba(255,255,255,.10), transparent 45%),
        #111113;

    box-shadow: var(--luc-shadow);

    overflow: visible;
}

.luc-core-layout__media img {
    width: 100%;
    height: 100%;

    min-height: 520px;

    object-fit: contain;

    filter:
        drop-shadow(0 30px 45px rgba(0,0,0,.45));
}

.luc-check-list {
    display: grid;
    gap: 13px;

    margin: 26px 0 30px;
}

.luc-check-list span {
    position: relative;

    padding-left: 32px;

    color: var(--luc-silver-light);
    font-weight: 650;
}

.luc-check-list span::before {
    content: "✓";

    position: absolute;
    left: 0;
    top: 1px;

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

    width: 20px;
    height: 20px;

    border-radius: 50%;

    color: #080808;
    background: var(--luc-metal);

    font-size: .68rem;
}


/* =========================================================
   LOCATION CARDS
========================================================= */

.luc-location-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.luc-location-card {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;

    min-height: 185px;
    padding: 28px 24px;

    overflow: hidden;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.018)
        );

    color: var(--luc-silver-light);
    text-align: left;

    transition:
        transform .25s ease,
        border-color .25s ease,
        background .25s ease;
}

.luc-location-card::before {
    content: "";

    width: 38px;
    height: 2px;
    margin-bottom: 22px;

    background: var(--luc-metal);
}

.luc-location-card h3 {
    margin-bottom: 10px;

    color: var(--luc-white);

    font-size: 1.08rem;
    line-height: 1.25;
}

.luc-location-card p {
    margin-bottom: 0;

    color: var(--luc-muted);

    font-size: .84rem;
    font-weight: 400;
    line-height: 1.65;
}

.luc-location-card:hover {
    transform: translateY(-5px);

    border-color: rgba(255,255,255,.26);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.075),
            rgba(255,255,255,.025)
        );
}


/* =========================================================
   ABOUT LUCA
========================================================= */

.luc-about-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(320px,.9fr);

    align-items: center;

    gap: 70px;
}

.luc-about-content > p:not(.luc-eyebrow) {
    color: var(--luc-muted);
}

.luc-about-slogan-box {
    margin: 28px 0;

    padding: 24px;

    border-left: 2px solid var(--luc-silver);
    border-radius: 0 18px 18px 0;

    background: rgba(255,255,255,.045);
}

.luc-about-slogan-box__label {
    display: block;

    margin-bottom: 8px;

    color: var(--luc-silver-mid);

    font-size: .74rem;
    font-weight: 800;

    letter-spacing: .12em;
    text-transform: uppercase;
}

.luc-about-slogan-box__text {
    display: block;

    color: var(--luc-white);

    font-size: 1.14rem;
    line-height: 1.55;
}

.luc-about-slogan-box__author {
    display: block;

    margin-top: 10px;

    color: var(--luc-muted);

    font-size: .84rem;
}

.luc-about-media {
    position: relative;

    min-height: 560px;

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

    overflow: visible;
}

.luc-about-media img {
    width: min(100%, 500px);
    max-height: 650px;

    object-fit: contain;

    filter:
        drop-shadow(0 35px 55px rgba(0,0,0,.48));
}


/* =========================================================
   BUSINESS / TIME MANAGEMENT
========================================================= */

.luc-business-layout {
    display: grid;
    grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);

    align-items: center;
    gap: 70px;
}

.luc-business-layout__media {
    position: relative;

    min-height: 520px;

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

.luc-business-layout__media img {
    width: min(100%, 620px);

    object-fit: contain;

    filter:
        drop-shadow(0 35px 55px rgba(0,0,0,.46));

    transform: translateX(-40px);
}

.luc-business-layout__content > p:not(.luc-eyebrow) {
    color: var(--luc-muted);
}

.luc-business-highlights {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));

    gap: 14px;

    margin: 28px 0 32px;
}

.luc-business-highlights > div {
    padding: 18px 16px;

    border-radius: 16px;

    border: 1px solid rgba(255,255,255,.10);

    background: rgba(255,255,255,.035);
}

.luc-business-highlights strong {
    display: block;

    margin-bottom: 5px;

    color: var(--luc-white);
}

.luc-business-highlights span {
    display: block;

    color: var(--luc-muted);

    font-size: .82rem;
}


/* =========================================================
   FEATURES / WHY LUCA
========================================================= */

.luc-feature-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));

    gap: 22px;
}

.luc-feature-box {
    padding: 30px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: var(--luc-radius);

    background:
        linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.018));

    box-shadow: var(--luc-shadow-small);
}

.luc-feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 56px;
    height: 56px;

    margin-bottom: 20px;

    border-radius: 16px;

    color: #0a0a0a;
    background: var(--luc-metal);

    font-size: 1.3rem;
}

.luc-feature-box h3 {
    margin-bottom: 12px;
}

.luc-feature-box p {
    margin-bottom: 0;
    color: var(--luc-muted);
}


/* =========================================================
   STEPS
========================================================= */

.luc-steps {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 18px;
}

.luc-step {
    position: relative;

    padding: 28px 24px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 20px;

    background: rgba(255,255,255,.035);
}

.luc-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin-bottom: 18px;

    border-radius: 50%;

    color: #090909;
    background: var(--luc-metal);

    font-weight: 900;
}

.luc-step h3 {
    margin-bottom: 10px;
    font-size: 1.1rem;
}

.luc-step p {
    margin-bottom: 0;

    color: var(--luc-muted);

    font-size: .91rem;
}


/* =========================================================
   KUNDENSTIMMEN
========================================================= */

.luc-testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.luc-testimonial-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 290px;
    padding: 32px;

    overflow: hidden;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: var(--luc-radius);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.018)
        );

    box-shadow: var(--luc-shadow-small);

    transition:
        transform .28s ease,
        border-color .28s ease,
        box-shadow .28s ease;
}

.luc-testimonial-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.38),
            transparent
        );
}

.luc-testimonial-card:hover {
    transform: translateY(-6px);

    border-color: rgba(255,255,255,.25);

    box-shadow:
        0 25px 60px rgba(0,0,0,.35);
}

.luc-testimonial-card__quote {
    margin-bottom: 18px;

    color: var(--luc-silver-light);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 4rem;
    line-height: .7;

    opacity: .75;
}

.luc-testimonial-card blockquote {
    margin: 0;
    padding: 0;
}

.luc-testimonial-card blockquote p {
    margin-bottom: 28px;

    color: var(--luc-silver-light);

    font-size: 1rem;
    line-height: 1.75;
}

.luc-testimonial-card__person {
    margin-top: auto;
    padding-top: 20px;

    border-top: 1px solid rgba(255,255,255,.08);
}

.luc-testimonial-card__person strong {
    display: block;

    color: var(--luc-white);

    font-size: .98rem;
}

.luc-testimonial-card__person span {
    display: block;

    margin-top: 4px;

    color: var(--luc-muted);

    font-size: .8rem;
}


/* =========================================================
   CONTACT
========================================================= */

.luc-contact-layout {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);

    gap: 26px;
}

.luc-contact-box,
.luc-form-box {
    padding: 32px;

    border-radius: var(--luc-radius);

    border: 1px solid rgba(255,255,255,.11);

    background:
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));

    box-shadow: var(--luc-shadow-small);
}

.luc-contact-box h3,
.luc-form-box h3 {
    margin-bottom: 18px;
}

.luc-contact-icon-list {
    display: grid;
    gap: 12px;

    margin: 22px 0;
}

.luc-contact-icon-card {
    display: flex;
    align-items: center;
    gap: 14px;

    padding: 15px;

    border-radius: 15px;

    border: 1px solid rgba(255,255,255,.09);

    background: rgba(255,255,255,.035);

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}

a.luc-contact-icon-card:hover {
    transform: translateX(4px);
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.18);
}

.luc-contact-icon-card__icon {
    flex-shrink: 0;

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

    width: 42px;
    height: 42px;

    border-radius: 12px;

    color: #0a0a0a;
    background: var(--luc-metal);
}

.luc-contact-icon-card__content {
    min-width: 0;
}

.luc-contact-icon-card__label {
    display: block;

    color: var(--luc-silver-mid);

    font-size: .72rem;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .08em;
}

.luc-contact-icon-card__content strong {
    display: block;

    color: var(--luc-white);

    overflow-wrap: anywhere;
}

.luc-form-box > p {
    color: var(--luc-muted);
}

.luc-form-placeholder,
.luc-content-placeholder {
    padding: 28px;

    border: 1px dashed rgba(255,255,255,.20);
    border-radius: 16px;

    color: var(--luc-muted);

    background: rgba(255,255,255,.025);

    text-align: center;
}


/* =========================================================
   FORMINATOR PREMIUM BLACK/SILVER
========================================================= */

.luc-form-box .forminator-ui {
    color: var(--luc-text) !important;
}

.luc-form-box .forminator-ui .forminator-label {
    color: var(--luc-silver-light) !important;
    font-weight: 700 !important;
}

.luc-form-box .forminator-ui input,
.luc-form-box .forminator-ui textarea,
.luc-form-box .forminator-ui select {
    color: var(--luc-white) !important;

    background:
        rgba(255,255,255,.045) !important;

    border:
        1px solid rgba(255,255,255,.14) !important;

    border-radius: 12px !important;

    box-shadow: none !important;
}

.luc-form-box .forminator-ui input:focus,
.luc-form-box .forminator-ui textarea:focus,
.luc-form-box .forminator-ui select:focus {
    border-color:
        var(--luc-silver) !important;

    box-shadow:
        0 0 0 3px rgba(220,220,225,.08) !important;
}

.luc-form-box .forminator-ui .forminator-button-submit {
    min-height: 52px !important;

    padding:
        13px 24px !important;

    border-radius:
        999px !important;

    color:
        #080808 !important;

    background:
        var(--luc-metal) !important;

    font-weight:
        800 !important;

    box-shadow:
        0 12px 30px rgba(210,210,215,.14) !important;
}

.luc-form-box .forminator-ui .forminator-description,
.luc-form-box .forminator-ui .forminator-checkbox__label {
    color:
        var(--luc-muted) !important;
}


/* =========================================================
   FINAL CTA
========================================================= */

.luc-final-cta-section {
    padding-top: 50px;
    padding-bottom: 60px;
}

.luc-final-cta {
    position: relative;
    overflow: hidden;

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

    gap: 30px;

    padding: 48px;

    border-radius: 30px;

    border: 1px solid rgba(255,255,255,.14);

    background:
        radial-gradient(circle at 85% 20%, rgba(255,255,255,.12), transparent 30%),
        linear-gradient(135deg, #171719 0%, #080809 70%);

    box-shadow: var(--luc-shadow);
}

.luc-final-cta::after {
    content: "";

    position: absolute;
    right: -120px;
    top: -120px;

    width: 320px;
    height: 320px;

    border-radius: 50%;

    border: 1px solid rgba(255,255,255,.11);

    pointer-events: none;
}

.luc-final-cta__content {
    position: relative;
    z-index: 2;

    width: min(100%, 720px);
}

.luc-final-cta__content h2 {
    margin-bottom: 14px;

    font-size:
        clamp(
            2rem,
            4vw,
            3.45rem
        );
}

.luc-final-cta__content p {
    margin-bottom: 0;
    color: var(--luc-muted);
}

.luc-final-cta__actions {
    position: relative;
    z-index: 2;

    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}


/* =========================================================
   FOOTER – intended for Luca converted VS structure
========================================================= */

.luc-footer {
    padding-top: 55px;

    color: var(--luc-muted);

    background: #030303;

    border-top: 1px solid rgba(255,255,255,.10);
}

.luc-footer__grid {
    display: grid;
    grid-template-columns:
        minmax(0,1.4fr)
        repeat(2,minmax(0,1fr));

    gap: 42px;

    padding-bottom: 46px;
}

.luc-footer__col h3,
.luc-footer__col h4 {
    color: var(--luc-white);
}

.luc-footer__description {
    max-width: 520px;
}

.luc-footer__nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.luc-footer__nav a:hover {
    color: var(--luc-white);
}

.luc-footer__bottom {
    border-top: 1px solid rgba(255,255,255,.09);
}

.luc-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 20px 0;

    font-size: .82rem;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1080px) {

    .luc-header__nav,
    .luc-header__actions {
        display: none;
    }

    .luc-menu-toggle {
        display: flex;
    }

    .luc-services-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .luc-location-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .luc-feature-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .luc-steps {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .luc-testimonials-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .luc-positioning__layout,
    .luc-about-layout,
    .luc-business-layout,
    .luc-core-layout,
    .luc-contact-layout {
        gap: 42px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .luc-container {
        width:
            min(
                calc(100% - 28px),
                var(--luc-container)
            );
    }

    .luc-section {
        padding:
            64px
            0;
    }

    .luc-section-head {
        margin-bottom:
            34px;
    }

    .luc-video-hero__video--desktop {
        display: none;
    }

    .luc-video-hero__video--mobile {
        display: block;
    }

    .luc-video-hero__gradient {
        background:
            linear-gradient(
                180deg,
                rgba(0,0,0,.46) 0%,
                rgba(0,0,0,.72) 48%,
                rgba(0,0,0,.94) 100%
            );
    }

    .luc-video-hero__inner {
        align-items: flex-end;

        padding-top: 120px;
        padding-bottom: 125px;
    }

    .luc-video-hero__content {
        text-align: left;
    }

    .luc-video-hero__title {
        font-size:
            clamp(
                2.65rem,
                13vw,
                4.6rem
            );
    }

    .luc-video-hero__actions {
        display: grid;
    }

    .luc-video-hero__actions .luc-btn {
        width: 100%;
    }

    .luc-video-hero__micro-trust {
        display: grid;
        gap: 7px;
    }

    .luc-trustbar__grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .luc-trustbar__item,
    .luc-trustbar__item:first-child {
        min-height: 100px;

        padding:
            18px
            12px;

        border:
            1px solid rgba(255,255,255,.07);
    }

    .luc-positioning__layout,
    .luc-about-layout,
    .luc-business-layout,
    .luc-core-layout,
    .luc-contact-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .luc-positioning__visual {
        order: -1;

        min-height: 420px;
    }

    .luc-positioning__visual img {
        transform: translateY(28px);
    }

    .luc-core-layout__media,
    .luc-core-layout__media img {
        min-height: 420px;
    }

    .luc-about-media,
    .luc-business-layout__media {
        min-height: 430px;
    }

    .luc-business-layout__media img {
        transform: none;
    }

    .luc-services-grid,
    .luc-feature-grid,
    .luc-steps {
        grid-template-columns: 1fr;
    }

    .luc-location-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .luc-business-highlights {
        grid-template-columns: 1fr;
    }

    .luc-testimonials-grid {
        grid-template-columns: 1fr;
    }

    .luc-testimonial-card {
        min-height: auto;
    }

    .luc-final-cta {
        display: grid;

        padding:
            32px
            24px;
    }

    .luc-final-cta__actions {
        display: grid;
    }

    .luc-final-cta__actions .luc-btn {
        width: 100%;
    }

    .luc-footer__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .luc-footer__bottom-inner {
        flex-direction: column;
        align-items: flex-start;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .luc-location-grid {
        grid-template-columns: 1fr;
    }

    .luc-trustbar__item {
        gap: 10px;
    }

    .luc-trustbar__icon {
        width: 36px;
        height: 36px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    [data-luc-hero-left],
    [data-luc-hero-right],
    [data-luc-hero-up],
    [data-luc-reveal],
    [data-luc-reveal-item],
    [data-luc-reveal-up],
    [data-luc-reveal-left],
    [data-luc-reveal-right] {
        opacity: 1 !important;
        transform: none !important;
    }

}
/* =========================================================
   MOBILE OVERLAY – CONTACT ICONS
========================================================= */

.luc-overlay-menu__contact-icons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 10px;

    margin-bottom: 22px;
}


.luc-overlay-menu__icon-link {
    display: flex;
    flex-direction: column;

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

    gap: 8px;

    min-height: 88px;

    padding: 12px 8px;

    border:
        1px solid
        rgba(255, 255, 255, 0.10);

    border-radius: 16px;

    color:
        var(--luc-silver-light);

    background:
        rgba(255, 255, 255, 0.04);

    transition:
        transform 0.22s ease,
        background 0.22s ease,
        border-color 0.22s ease;
}


.luc-overlay-menu__icon-link:hover {
    transform:
        translateY(-3px);

    border-color:
        rgba(255, 255, 255, 0.23);

    background:
        rgba(255, 255, 255, 0.075);
}


.luc-overlay-menu__icon {
    display: flex;

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

    width: 42px;
    height: 42px;

    border-radius: 50%;

    color:
        #080808;

    background:
        var(--luc-metal);
}


.luc-overlay-menu__icon svg {
    width: 21px;
    height: 21px;
}


.luc-overlay-menu__icon-label {
    color:
        var(--luc-silver-light);

    font-size: 0.73rem;
    font-weight: 800;

    letter-spacing: 0.02em;
}


.luc-overlay-menu__icon-link--whatsapp
.luc-overlay-menu__icon {
    color:
        #ffffff;

    background:
        var(--luc-whatsapp);
}


/* =========================================================
   TEXT LOGO FALLBACK
========================================================= */

.luc-header__logo-text {
    display: flex;
    flex-direction: column;

    line-height: 0.92;

    color:
        #ffffff;

    font-size: 1.55rem;
    font-weight: 900;

    letter-spacing:
        -0.045em;
}


.luc-header__logo-text small {
    margin-top: 5px;

    color:
        var(--luc-silver);

    font-size: 0.48rem;
    font-weight: 700;

    letter-spacing:
        0.18em;
}
/* =========================================================
   FOOTER DETAILS
========================================================= */

.luc-footer__brand {
    display: inline-flex;
    align-items: center;

    margin-bottom: 18px;
}


.luc-footer__brand .custom-logo {
    width: auto;
    max-width: 190px;
    max-height: 72px;
}


.luc-footer__brand-text {
    display: flex;
    flex-direction: column;

    color: var(--luc-white);

    font-size: 1.8rem;
    font-weight: 900;

    line-height: 0.92;

    letter-spacing: -0.045em;
}


.luc-footer__brand-text small {
    margin-top: 7px;

    color: var(--luc-silver);

    font-size: 0.52rem;
    font-weight: 700;

    letter-spacing: 0.18em;
}


.luc-footer__title {
    margin-bottom: 18px;

    color: var(--luc-white);

    font-size: 1.1rem;
}


.luc-footer__description {
    margin-bottom: 20px;

    color: var(--luc-muted);

    line-height: 1.75;
}


.luc-footer__trust {
    display: flex;
    flex-wrap: wrap;

    gap: 8px 14px;
}


.luc-footer__trust span {
    color: var(--luc-silver-mid);

    font-size: 0.82rem;
    font-weight: 700;
}


.luc-footer__legal {
    display: flex;
    flex-wrap: wrap;

    gap: 16px;
}


.luc-footer__legal a,
.luc-footer__credit a {
    transition: color 0.2s ease;
}


.luc-footer__legal a:hover,
.luc-footer__credit a:hover {
    color: var(--luc-white);
}


.luc-footer__copyright p {
    margin: 0;
}


/* =========================================================
   FLOATING WHATSAPP
========================================================= */

.luc-whatsapp-float {
    position: fixed;

    right: 22px;
    bottom: 22px;

    z-index: 950;

    display: flex;

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

    width: 58px;
    height: 58px;

    border-radius: 50%;

    color: #ffffff;

    background: var(--luc-whatsapp);

    box-shadow:
        0 14px 36px
        rgba(37, 211, 102, 0.30);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease;
}


.luc-whatsapp-float:hover {
    transform:
        translateY(-4px)
        scale(1.04);

    background:
        var(--luc-whatsapp-dark);

    box-shadow:
        0 18px 44px
        rgba(37, 211, 102, 0.38);
}


/* =========================================================
   SCROLL TO TOP
========================================================= */

.luc-scroll-top {
    position: fixed;

    right: 24px;
    bottom: 94px;

    z-index: 940;

    display: flex;

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

    width: 44px;
    height: 44px;

    border-radius: 50%;

    color: #080808;

    background: var(--luc-metal);

    box-shadow:
        0 12px 30px
        rgba(0, 0, 0, 0.32);

    opacity: 0;

    visibility: hidden;

    transform:
        translateY(16px);

    pointer-events: none;

    transition:
        opacity 0.22s ease,
        visibility 0.22s ease,
        transform 0.22s ease;
}


.luc-scroll-top.is-visible {
    opacity: 1;

    visibility: visible;

    transform:
        translateY(0);

    pointer-events: auto;
}


.luc-scroll-top:hover {
    transform:
        translateY(-3px);
}


/* =========================================================
   MOBILE FOOTER
========================================================= */

@media (max-width: 767px) {

    .luc-footer__grid {
        text-align: center;
    }


    .luc-footer__brand {
        justify-content: center;
    }


    .luc-footer__description {
        margin-left: auto;
        margin-right: auto;
    }


    .luc-footer__trust {
        justify-content: center;
    }


    .luc-footer__nav {
        align-items: center;
    }


    .luc-footer__bottom-inner {
        align-items: center;

        text-align: center;
    }


    .luc-footer__legal {
        justify-content: center;
    }


    .luc-whatsapp-float {
        right: 16px;
        bottom: 16px;

        width: 54px;
        height: 54px;
    }


    .luc-scroll-top {
        right: 21px;
        bottom: 82px;

        width: 42px;
        height: 42px;
    }

}
/* =========================================================
   LEGAL PAGES
========================================================= */

.luc-legal-hero {
    position: relative;

    display: flex;
    align-items: flex-end;

    min-height: 440px;
    padding: 150px 0 80px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(255,255,255,.08),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #151517 0%,
            #050505 70%
        );

    border-bottom: 1px solid rgba(255,255,255,.10);
}

.luc-legal-hero::after {
    content: "";

    position: absolute;
    right: -140px;
    top: -160px;

    width: 430px;
    height: 430px;

    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.10);

    pointer-events: none;
}

.luc-legal-hero__content {
    position: relative;
    z-index: 2;

    width: min(100%, 800px);
}

.luc-legal-hero__title {
    margin-bottom: 18px;

    color: var(--luc-white);

    font-size:
        clamp(
            3rem,
            7vw,
            5.8rem
        );

    line-height: .98;
    letter-spacing: -.055em;
}

.luc-legal-hero__text {
    margin-bottom: 0;

    color: var(--luc-muted);

    font-size: 1.05rem;
}

.luc-legal-layout {
    width: min(100%, 900px);
    margin-inline: auto;
}

.luc-legal-block {
    margin-bottom: 52px;
}

.luc-legal-block:last-child {
    margin-bottom: 0;
}

.luc-legal-block h2 {
    margin-bottom: 20px;

    font-size:
        clamp(
            1.55rem,
            3vw,
            2.15rem
        );
}

.luc-legal-card {
    padding: 28px 30px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: var(--luc-radius);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,.018)
        );

    box-shadow: var(--luc-shadow-small);
}

.luc-legal-card p {
    margin-bottom: 14px;

    color: var(--luc-muted);

    line-height: 1.75;
}

.luc-legal-card p:last-child {
    margin-bottom: 0;
}

.luc-legal-card strong {
    color: var(--luc-white);
}

.luc-legal-card a {
    color: var(--luc-silver-light);

    text-decoration: underline;
    text-decoration-color: rgba(255,255,255,.28);
    text-underline-offset: 4px;

    transition:
        color .2s ease,
        text-decoration-color .2s ease;
}

.luc-legal-card a:hover {
    color: var(--luc-white);
    text-decoration-color: var(--luc-white);
}

@media (max-width: 767px) {

    .luc-legal-hero {
        min-height: 360px;
        padding: 125px 0 60px;
    }

    .luc-legal-hero__title {
        font-size:
            clamp(
                2.8rem,
                14vw,
                4.3rem
            );
    }

    .luc-legal-block {
        margin-bottom: 38px;
    }

    .luc-legal-card {
        padding: 22px 20px;
    }

}


/* =========================================================
   DATENSCHUTZ / LEGAL LISTEN
========================================================= */

.luc-legal-card h3 {
    margin-bottom: 16px;

    color: var(--luc-white);

    font-size: 1.15rem;
}


.luc-legal-list {
    display: grid;

    gap: 10px;

    margin:
        20px
        0;

    padding: 0;

    list-style: none;
}


.luc-legal-list li {
    position: relative;

    padding-left: 28px;

    color: var(--luc-muted);

    line-height: 1.65;
}


.luc-legal-list li::before {
    content: "✓";

    position: absolute;

    left: 0;
    top: 1px;

    color: var(--luc-silver-light);

    font-weight: 800;
}