.rfl-hero{
    position:relative;
    min-height:100vh;
    min-height:100svh;
    color:var(--rfl-paper);
    background:var(--rfl-bg);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:0;
}

.rfl-hero__bg{
    position:absolute;
    inset:-8%;
    z-index:0;
    background-image:var(--rfl-hero-bg);
    background-size:cover;
    background-position:center;
    will-change:transform;
    animation:rflHeroZoom 26s ease-in-out infinite alternate;
}
.rfl-hero__overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:
        radial-gradient(70% 90% at 25% 35%, rgba(0,0,0,.35), transparent 70%),
        linear-gradient(180deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.35) 35%, rgba(0,0,0,.85) 100%);
}
.rfl-hero__grain{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    opacity:.16;
    mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.55'/></svg>");
}

.rfl-hero__est{
    position:absolute;
    top:50%;
    left:24px;
    z-index:4;
    transform:translateY(-50%) rotate(-90deg);
    transform-origin:left center;
    display:inline-flex;
    gap:14px;
    font-family:var(--rfl-sans);
    font-size:11px;
    letter-spacing:.42em;
    text-transform:uppercase;
    color:rgba(255,255,255,.55);
    pointer-events:none;
    white-space:nowrap;
}
.rfl-hero__est span:nth-child(1),
.rfl-hero__est span:nth-child(4){color:var(--rfl-gold-soft);}

/* Top notice bar — small USP strip above the main topbar */
.rfl-hero__topnotice{
    position:relative;
    z-index:3;
}
.rfl-hero__topnotice-list{
    list-style:none;
    margin:0;padding:9px 48px;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 28px;
}
.rfl-hero__topnotice-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:var(--rfl-sans);
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:rgba(255,255,255,.78);
    position:relative;
}
.rfl-hero__topnotice-item + .rfl-hero__topnotice-item::before{
    content:"";
    position:absolute;
    left:-15px;
    top:50%;
    width:3px;height:3px;
    border-radius:50%;
    background:var(--rfl-gold);
    transform:translateY(-50%);
    opacity:.7;
}
.rfl-hero__topnotice-item svg{
    width:14px;height:14px;
    color:var(--rfl-gold-soft);
    flex-shrink:0;
}
.rfl-hero__topnotice-item a{
    color:#fff;
    text-decoration:none;
    transition:color .35s var(--rfl-ease);
}
.rfl-hero__topnotice-item a:hover{color:var(--rfl-gold);}
.rfl-hero__topnotice-dot{
    width:8px;height:8px;
    border-radius:50%;
    background:#3aa663;
    box-shadow:0 0 0 0 rgba(58,166,99,.5);
    animation:rflNoticePulse 1.8s ease-out infinite;
    flex-shrink:0;
}
.rfl-hero__topnotice-item--closed .rfl-hero__topnotice-dot{
    background:#e25555;
    animation:none;
    box-shadow:none;
}
.rfl-hero__topnotice-item--open span:last-child{color:#fff;}
@keyframes rflNoticePulse{
    0%{box-shadow:0 0 0 0 rgba(58,166,99,.55);}
    70%{box-shadow:0 0 0 10px rgba(58,166,99,0);}
    100%{box-shadow:0 0 0 0 rgba(58,166,99,0);}
}

.rfl-hero__topbar{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:32px;
    padding:28px 48px;
}
.rfl-hero__brand img{height:46px;width:auto;filter:brightness(0) invert(1);}
.rfl-hero__nav{
    display:flex;
    justify-content:flex-end;
    gap:34px;
    font-size:12px;
    font-weight:500;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.rfl-hero__nav a{
    color:rgba(255,255,255,.78);
    text-decoration:none;
    position:relative;
    padding:6px 0;
    transition:color .35s var(--rfl-ease);
}
.rfl-hero__nav a::after{
    content:"";
    position:absolute;
    left:0;right:100%;bottom:0;
    height:1px;
    background:var(--rfl-gold);
    transition:right .45s var(--rfl-ease);
}
.rfl-hero__nav a:hover{color:#fff;}
.rfl-hero__nav a:hover::after{right:0;}
.rfl-hero__cta-top{display:none;} /* deprecated — moved into nav */

/* Bestellen — uses rfl-btn rfl-btn--gold styling.
   Specificity must beat `.rfl-hero__nav a` (1 class + 1 element),
   which would otherwise wipe out padding/color. */
.rfl-hero__nav a.rfl-hero__nav-order{
    padding:14px 24px;
    font-size:11px;
    margin-left:6px;
    color:var(--rfl-ink);
    background:var(--rfl-gold);
    border:1px solid var(--rfl-gold);
    border-radius:999px;
}
.rfl-hero__nav a.rfl-hero__nav-order:hover{
    color:var(--rfl-paper);
    border-color:var(--rfl-ink);
}
.rfl-hero__nav a.rfl-hero__nav-order::after{display:none;}

/* Burger toggle — visually hidden (sr-only) so the theme's checkbox styling can't leak through */
.rfl-hero__nav-toggle{
    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;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
    border:0 !important;
    background:transparent !important;
    opacity:0 !important;
    pointer-events:none !important;
    appearance:none !important;
    -webkit-appearance:none !important;
}
.rfl-hero__burger{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:42px;height:42px;
    padding:0;
    background:transparent;
    border:1px solid rgba(255,255,255,.25);
    border-radius:10px;
    cursor:pointer;
    transition:border-color .35s var(--rfl-ease), background .35s var(--rfl-ease);
}
.rfl-hero__burger span{
    display:block;
    width:18px;height:1.5px;margin:0 auto;
    background:#fff;
    transform-origin:center;
    transition:transform .35s var(--rfl-ease), opacity .25s var(--rfl-ease);
}
.rfl-hero__burger:hover{border-color:var(--rfl-gold); background:rgba(255,255,255,.04);}
.rfl-hero__nav-toggle:checked + .rfl-hero__burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.rfl-hero__nav-toggle:checked + .rfl-hero__burger span:nth-child(2){opacity:0;}
.rfl-hero__nav-toggle:checked + .rfl-hero__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.rfl-hero__nav-cta{display:none;}

.rfl-hero__inner{
    position:relative;
    z-index:2;
    flex:1;
    display:grid;
    grid-template-columns:1.15fr 1.85fr;
    align-items:center;
    gap:80px;
    padding-block:60px 50px;
}

.rfl-hero__content{
    display:flex;
    flex-direction:column;
    justify-content:center;
}
/* Unique Asian-themed eyebrow — hanko seal + kanji + brushstroke */
.rfl-hero__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:18px;
    color:rgba(255,255,255,.85);
    font-family:var(--rfl-sans);
    line-height:1;
    animation:rflEyebrowIn 1.4s var(--rfl-ease) .2s both;
}
@keyframes rflEyebrowIn{
    from{opacity:0;transform:translateY(8px);}
    to{opacity:1;transform:none;}
}
.rfl-hero__eyebrow-seal{
    position:relative;
    flex-shrink:0;
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    background:#c43a2c;
    border-radius:6px;
    box-shadow:
        0 18px 30px -12px rgba(196,58,44,.6),
        inset 0 0 0 1px rgba(0,0,0,.15);
    transform:rotate(-6deg);
    transition:transform .8s var(--rfl-ease);
}
.rfl-hero__eyebrow-seal::before{
    content:"";
    position:absolute;
    inset:4px;
    border-radius:3px;
    background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), transparent 50%),
        repeating-linear-gradient(135deg, rgba(0,0,0,.04) 0 1px, transparent 1px 5px);
    pointer-events:none;
}
.rfl-hero__eyebrow:hover .rfl-hero__eyebrow-seal{transform:rotate(0deg) scale(1.06);}
.rfl-hero__eyebrow-seal-char{
    position:relative;
    z-index:1;
    font-family:"Cormorant Garamond","Songti SC","STSong",serif;
    font-weight:600;
    font-size:30px;
    color:#fff;
    line-height:1;
    text-shadow:0 1px 0 rgba(0,0,0,.25);
}
.rfl-hero__eyebrow-seal-frame{
    position:absolute;
    inset:-5px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:8px;
    pointer-events:none;
}

.rfl-hero__eyebrow-brush{
    width:60px;
    height:8px;
    color:var(--rfl-gold);
    flex-shrink:0;
    opacity:.9;
}
.rfl-hero__eyebrow-brush svg{width:100%;height:100%;display:block;}
.rfl-hero__eyebrow-brush path{
    stroke-dasharray:130;
    stroke-dashoffset:130;
    animation:rflBrushDraw 1.6s var(--rfl-ease) .8s forwards;
}
@keyframes rflBrushDraw{to{stroke-dashoffset:0;}}

.rfl-hero__eyebrow-text{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.rfl-hero__eyebrow-kanji{
    font-family:var(--rfl-serif);
    font-style:italic;
    font-size:14px;
    letter-spacing:.4em;
    color:var(--rfl-gold);
    line-height:1;
}
.rfl-hero__eyebrow-line{
    font-family:var(--rfl-sans);
    font-size:11px;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:rgba(255,255,255,.7);
}
.rfl-hero__eyebrow-line em{
    font-family:var(--rfl-serif);
    font-style:italic;
    font-size:14px;
    letter-spacing:0;
    text-transform:none;
    color:var(--rfl-gold-soft);
}
.rfl-hero__eyebrow-sub{
    display:block;
    margin-top:4px;
    font-size:9px;
    letter-spacing:.4em;
    color:rgba(255,255,255,.4);
}

.rfl-hero__title{
    margin-top:34px;
    color:#fff;
}
.rfl-hero__line{display:block;overflow:hidden;}
.rfl-hero__line > span{display:inline-block;transform:translateY(105%);will-change:transform;}
.rfl-hero__line--accent em{font-style:italic;color:var(--rfl-gold-soft);letter-spacing:.01em;}

.rfl-hero__lead{
    margin-top:34px;
    max-width:520px;
    font-size:18px;
    line-height:1.7;
    color:rgba(255,255,255,.78);
    font-weight:300;
}
.rfl-hero__lead strong{color:#fff;font-weight:500;}

.rfl-hero__actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center;
    justify-content:flex-start;
    gap:18px;
    margin-top:48px;
}
.rfl-hero__actions > .rfl-btn{
    flex:0 0 auto !important;
    width:auto !important;
    white-space:nowrap;
}

.rfl-hero__chips{
    list-style:none;margin:50px 0 0;padding:0;
    display:flex;flex-wrap:wrap;gap:10px;
}
.rfl-hero__chips li{
    padding:8px 16px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:rgba(255,255,255,.78);
    backdrop-filter:blur(6px);
    background:rgba(255,255,255,.04);
    animation:rflHeroChip .9s var(--rfl-ease) calc(1.6s + var(--i)*.1s) both;
}
@keyframes rflHeroChip{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* Video right column */
.rfl-hero__video{
    position:relative;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:18px;
    transform:translateY(0);
}
.rfl-hero__video-frame{
    position:relative;
    aspect-ratio:9/13;
    width:100%;
    max-width:430px;
    margin-left:auto;
    border-radius:var(--rfl-radius-l);
    overflow:hidden;
    background:#0a0a0a;
    box-shadow:
        0 60px 100px -40px rgba(0,0,0,.7),
        0 0 0 1px rgba(255,255,255,.06);
    transform:perspective(1400px) rotateY(-3deg) rotateX(2deg);
    transition:transform 1s var(--rfl-ease);
}
.rfl-hero__video-frame:hover{
    transform:perspective(1400px) rotateY(0) rotateX(0);
}
.rfl-hero__video-el{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.rfl-hero__video-shine{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,transparent 60%,rgba(0,0,0,.55) 100%),
        linear-gradient(120deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%);
    pointer-events:none;
    mix-blend-mode:screen;
}
.rfl-hero__video-tag{
    position:absolute;
    top:18px;
    left:18px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 14px;
    background:rgba(0,0,0,.65);
    backdrop-filter:blur(10px);
    color:#fff;
    border-radius:999px;
    font-size:10px;
    font-weight:600;
    letter-spacing:.22em;
    text-transform:uppercase;
}
.rfl-hero__video-dot{
    width:8px;height:8px;
    border-radius:50%;
    background:#ff4d4d;
    box-shadow:0 0 0 0 rgba(255,77,77,.6);
    animation:rflHeroDot 1.6s ease-out infinite;
}
@keyframes rflHeroDot{
    0%{box-shadow:0 0 0 0 rgba(255,77,77,.6);}
    70%{box-shadow:0 0 0 14px rgba(255,77,77,0);}
    100%{box-shadow:0 0 0 0 rgba(255,77,77,0);}
}
.rfl-hero__video-corner{
    position:absolute;
    width:28px;height:28px;
    border:1px solid var(--rfl-gold);
    pointer-events:none;
}
.rfl-hero__video-corner--tl{top:14px;left:14px;border-right:0;border-bottom:0;}
.rfl-hero__video-corner--tr{top:14px;right:14px;border-left:0;border-bottom:0;}
.rfl-hero__video-corner--bl{bottom:14px;left:14px;border-right:0;border-top:0;}
.rfl-hero__video-corner--br{bottom:14px;right:14px;border-left:0;border-top:0;}

.rfl-hero__video-caption{
    margin-left:auto;
    max-width:430px;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.12);
}
.rfl-hero__video-key{
    font-size:10px;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:rgba(255,255,255,.45);
}
.rfl-hero__video-caption a{
    font-family:var(--rfl-serif);
    font-size:18px;
    color:#fff;
    text-decoration:none;
}

.rfl-hero__meta{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:20px;
    padding-block:30px 40px;
    font-size:11px;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:rgba(255,255,255,.6);
    border-top:1px solid rgba(255,255,255,.12);
}
.rfl-hero__meta-block--center{text-align:center;}
.rfl-hero__meta-block--right{text-align:right;}
.rfl-hero__meta-key{
    display:block;
    font-size:9px;
    color:rgba(255,255,255,.4);
    margin-bottom:4px;
}
.rfl-hero__meta-val{font-family:var(--rfl-serif);font-size:18px;letter-spacing:.04em;text-transform:none;color:#fff;}
.rfl-hero__rating{display:inline-flex;align-items:center;gap:14px;color:rgba(255,255,255,.7);}
.rfl-hero__rating span:first-child{color:var(--rfl-gold);letter-spacing:2px;font-size:14px;}
.rfl-hero__scroll{display:inline-flex;align-items:center;gap:14px;}
.rfl-hero__scroll-line{
    width:54px;height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.7));
    position:relative;overflow:hidden;
}
.rfl-hero__scroll-line::after{
    content:"";
    position:absolute;
    top:0;left:-30%;
    width:30%;height:100%;
    background:var(--rfl-gold);
    animation:rflScrollDash 2.6s var(--rfl-ease) infinite;
}

@keyframes rflHeroZoom{
    0%{transform:scale(1.06) translate3d(0,0,0);}
    100%{transform:scale(1.16) translate3d(-1.5%,-1%,0);}
}
@keyframes rflScrollDash{
    0%{left:-30%;}
    100%{left:130%;}
}

@media (max-width:1280px){.rfl-hero__est{display:none;}}
@media (max-width:880px){
    .rfl-hero__topnotice-list{padding:9px 22px;justify-content:center;gap:6px 18px;}
    .rfl-hero__topnotice-item{font-size:10px;letter-spacing:.14em;}
    .rfl-hero__topnotice-item + .rfl-hero__topnotice-item::before{left:-10px;}
}
@media (max-width:560px){
    .rfl-hero__topnotice{display:none;}
}

@media (max-width:1100px){
    .rfl-hero__inner{grid-template-columns:1fr;gap:50px;padding-block:50px;}
    .rfl-hero__video{max-width:380px;margin-inline:auto;}
    .rfl-hero__video-frame,
    .rfl-hero__video-caption{margin-left:0;}
}
@media (max-width:1024px){
    .rfl-hero__topbar{
        grid-template-columns:1fr auto;
        padding:22px 28px;
        gap:14px;
        position:relative;
    }
    .rfl-hero__burger{display:flex; place-items:center;}
    .rfl-hero__chips{margin-top:38px;}

    .rfl-hero__nav{
        position:absolute;
        top:100%; left:0; right:0;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        margin:0;
        background:rgba(10, 10, 10, 0.97);
        border-top:1px solid rgba(200,163,90,.18);
        border-bottom:1px solid rgba(200,163,90,.18);
        max-height:0;
        overflow:hidden;
        transition:max-height .45s var(--rfl-ease);
        backdrop-filter:blur(12px);
        z-index:10;
    }
    .rfl-hero__nav-toggle:checked ~ .rfl-hero__nav{
        max-height:620px;
    }
    .rfl-hero__nav a{
        padding:18px 28px;
        font-size:13px;
        letter-spacing:.22em;
        color:#fff;
        border-bottom:1px solid rgba(255,255,255,.06);
    }
    .rfl-hero__nav a::after{display:none;}
    .rfl-hero__nav a:hover{background:rgba(200,163,90,.08); color:var(--rfl-gold);}

    /* Bestellen pill — full-width inside the flyout, keeps the gold look.
       Need the same specificity boost as desktop. */
    .rfl-hero__nav a.rfl-hero__nav-order{
        display:inline-flex;
        margin:18px 22px 10px;
        padding:16px 24px;
        font-size:12px;
        border-radius:999px;
        justify-content:center;
        border:1px solid var(--rfl-gold);
        background:var(--rfl-gold);
        color:var(--rfl-ink);
        border-bottom:1px solid var(--rfl-gold);
    }
    .rfl-hero__nav a.rfl-hero__nav-order:hover{
        background:var(--rfl-gold-soft);
        color:var(--rfl-ink);
    }
    .rfl-hero__nav a.rfl-hero__nav-order::after{display:none;}

    .rfl-hero__nav-cta{
        display:block;
        background:var(--rfl-gold) !important;
        color:var(--rfl-ink) !important;
        text-align:center;
        font-weight:500;
        border-bottom:none !important;
    }
    .rfl-hero__nav-cta:hover{background:var(--rfl-gold-soft) !important; color:var(--rfl-ink) !important;}
}
@media (max-width:768px){
    .rfl-hero__topbar{padding:18px 22px;}
    .rfl-hero__brand img{height:38px;}
    .rfl-hero__inner{padding-block:40px;}
    .rfl-hero__lead{font-size:16px; margin-top:24px;}
    .rfl-hero__actions{
        flex-direction:column !important;
        flex-wrap:wrap !important;
        align-items:stretch;
        gap:12px;
        margin-top:32px;
    }
    .rfl-hero__actions > .rfl-btn{
        width:100% !important;
        justify-content:center;
    }
    .rfl-hero__chips{margin-top:28px;}
    .rfl-hero__chips li{padding:6px 12px; font-size:11px; letter-spacing:.14em;}
    .rfl-hero__meta{grid-template-columns:1fr;text-align:center;gap:8px;padding-block:24px 32px;}
    .rfl-hero__meta-block,
    .rfl-hero__meta-block--right,
    .rfl-hero__meta-block--center{text-align:center;}
    .rfl-hero__scroll{justify-content:center;}
    .rfl-hero__video-frame{aspect-ratio:4/5;max-width:300px;}
    .rfl-hero__eyebrow{gap:12px;}
    .rfl-hero__eyebrow-seal{width:44px;height:44px;}
    .rfl-hero__eyebrow-seal-char{font-size:24px;}
    .rfl-hero__eyebrow-brush{display:none;}
    .rfl-hero__title{margin-top:24px;}
}
@media (max-width:420px){
    .rfl-hero__topbar{padding:16px 18px; gap:10px;}
    .rfl-hero__brand img{height:32px;}
    .rfl-hero__actions .rfl-btn{padding:14px 22px; font-size:11px;}
    .rfl-hero__video-frame{max-width:260px;}
    .rfl-hero__video-tag{font-size:9px; padding:6px 10px;}
    .rfl-hero__video-corner{width:20px; height:20px;}
    .rfl-hero__meta-val{font-size:15px;}
}
