.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-item--open span:last-child{color:#fff;}

.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;}
.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 */
.rfl-hero__nav-usp{display:none;} /* alleen zichtbaar in het mobiele menupaneel */

/* 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;
}
/* Burger — eigen icoon in plaats van drie balkjes: twee eetstokjes die op een
   komrand rusten, met stoom die opstijgt bij hover. Gesloten leest het als een
   menu-icoon, geopend kruisen de stokjes tot een X. */
.rfl-hero__burger{
    display:none;
    align-items:center;
    justify-content:center;
    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:hover{border-color:var(--rfl-gold); background:rgba(255,255,255,.04);}
.rfl-hero__nav-toggle:focus-visible + .rfl-hero__burger{
    border-color:var(--rfl-gold);
    outline:2px solid var(--rfl-gold);
    outline-offset:3px;
}

.rfl-hero__burger-icon{
    width:26px;height:26px;
    display:block;
    overflow:visible;
}
.rfl-hero__burger-icon *{
    transform-box:fill-box;
    transform-origin:center;
}

/* Eetstokjes: taps toelopende vormen, dus geen stroke maar een gevulde polygon. */
.rfl-hero__burger-stick{
    fill:#fff;
    transition:transform .45s var(--rfl-ease), fill .35s var(--rfl-ease);
}
.rfl-hero__burger:hover .rfl-hero__burger-stick{fill:var(--rfl-gold-soft, #fff);}

/* Komrand: gouden boog die het derde "balkje" vervangt. */
.rfl-hero__burger-bowl{
    fill:none;
    stroke:var(--rfl-gold);
    stroke-width:1.6;
    stroke-linecap:round;
    transition:transform .45s var(--rfl-ease), opacity .3s var(--rfl-ease);
}

/* Stoom: getekend met stroke-dash zodat de wolkjes bij hover omhoog "koken". */
.rfl-hero__burger-steam path{
    fill:none;
    stroke:var(--rfl-gold);
    stroke-width:1.4;
    stroke-linecap:round;
    stroke-dasharray:9;
    stroke-dashoffset:9;
    opacity:0;
    transition:stroke-dashoffset .5s var(--rfl-ease), opacity .3s var(--rfl-ease), transform .5s var(--rfl-ease);
    transform:translateY(3px);
}
.rfl-hero__burger:hover .rfl-hero__burger-steam path,
.rfl-hero__nav-toggle:focus-visible + .rfl-hero__burger .rfl-hero__burger-steam path{
    opacity:.9;
    stroke-dashoffset:0;
    transform:translateY(0);
}
.rfl-hero__burger:hover .rfl-hero__burger-steam path:nth-child(2){transition-delay:.09s;}

/* Open staat: stokjes kruisen in het midden, kom en stoom verdwijnen. */
.rfl-hero__nav-toggle:checked + .rfl-hero__burger .rfl-hero__burger-stick--top{
    transform:translateY(5.2px) rotate(30deg);
}
.rfl-hero__nav-toggle:checked + .rfl-hero__burger .rfl-hero__burger-stick--bottom{
    transform:translateY(1.4px) rotate(-30deg);
}
.rfl-hero__nav-toggle:checked + .rfl-hero__burger .rfl-hero__burger-bowl{
    opacity:0;
    transform:translateY(4px) scale(.6);
}
.rfl-hero__nav-toggle:checked + .rfl-hero__burger .rfl-hero__burger-steam path{
    opacity:0;
    stroke-dashoffset:9;
}

@media (prefers-reduced-motion:reduce){
    .rfl-hero__burger-stick,
    .rfl-hero__burger-bowl,
    .rfl-hero__burger-steam path{transition-duration:.01ms;}
}

/* Reserveren — ghost pill naast de gouden Bestellen-knop.
   Zelfde specificity-boost als .rfl-hero__nav-order, anders wint `.rfl-hero__nav a`. */
.rfl-hero__nav a.rfl-hero__nav-cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:14px 24px;
    font-size:11px;
    color:#fff;
    background:transparent;
    border:1px solid rgba(255,255,255,.32);
    border-radius:999px;
    transition:color .35s var(--rfl-ease), background .35s var(--rfl-ease), border-color .35s var(--rfl-ease);
}
.rfl-hero__nav a.rfl-hero__nav-cta:hover{
    color:var(--rfl-ink);
    background:var(--rfl-paper);
    border-color:var(--rfl-paper);
}
.rfl-hero__nav a.rfl-hero__nav-cta::after{display:none;}
.rfl-hero__nav-cta-arrow{transition:transform .35s var(--rfl-ease);}
.rfl-hero__nav a.rfl-hero__nav-cta:hover .rfl-hero__nav-cta-arrow{transform:translateX(4px);}

.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-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 (min-width:1025px) and (max-width:1240px){.rfl-hero__nav{gap:20px;}}
@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:inline-flex;}
    .rfl-hero__chips{margin-top:38px;}

    /* Logo en burger blijven boven het paneel liggen — het paneel is een
       kind van .rfl-hero__topbar, dus dit speelt binnen die stacking context. */
    .rfl-hero__topbar{z-index:80;}
    .rfl-hero__brand,
    .rfl-hero__burger{position:relative; z-index:2;}

    /* Mobiel menu = wit sheet dat onder de topbar begint en tot de onderrand
       doorloopt: links bovenin, USP's en CTA's verankerd aan de onderkant.
       Door het paneel onder de topbar te starten blijven het witte logo en de
       burger leesbaar op de donkere hero. --rfl-nav-top wordt door
       rfl-hero.js op de exacte topbar-hoogte gezet; de fallback dekt no-JS. */
    .rfl-hero__nav{
        position:fixed;
        top:var(--rfl-nav-top, 96px); left:0; right:0;
        height:calc(100vh - var(--rfl-nav-top, 96px));
        height:calc(100dvh - var(--rfl-nav-top, 96px));
        z-index:1;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:0;
        margin:0;
        padding:14px 0 calc(18px + env(safe-area-inset-bottom, 0px));
        max-height:none;
        overflow-y:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
        background:linear-gradient(180deg, #ffffff 0%, #ffffff 55%, var(--rfl-paper) 100%);
        border:0;
        border-radius:26px 26px 0 0;
        box-shadow:0 -24px 60px -20px rgba(0,0,0,.55);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-10px);
        transition:opacity .3s var(--rfl-ease),
                   transform .45s var(--rfl-ease),
                   visibility 0s linear .45s;
    }
    .rfl-hero__nav-toggle:checked ~ .rfl-hero__nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:none;
        transition:opacity .3s var(--rfl-ease),
                   transform .5s var(--rfl-ease),
                   visibility 0s linear 0s;
    }

    /* Gestaffelde reveal van de paneelinhoud. */
    .rfl-hero__nav > *{
        opacity:0;
        transform:translateY(14px);
        transition:opacity .4s var(--rfl-ease), transform .5s var(--rfl-ease);
    }
    .rfl-hero__nav-toggle:checked ~ .rfl-hero__nav > *{opacity:1; transform:none;}
    .rfl-hero__nav-toggle:checked ~ .rfl-hero__nav > *:nth-child(1){transition-delay:.08s;}
    .rfl-hero__nav-toggle:checked ~ .rfl-hero__nav > *:nth-child(2){transition-delay:.13s;}
    .rfl-hero__nav-toggle:checked ~ .rfl-hero__nav > *:nth-child(3){transition-delay:.18s;}
    .rfl-hero__nav-toggle:checked ~ .rfl-hero__nav > *:nth-child(4){transition-delay:.23s;}
    .rfl-hero__nav-toggle:checked ~ .rfl-hero__nav > *:nth-child(5){transition-delay:.28s;}
    .rfl-hero__nav-toggle:checked ~ .rfl-hero__nav > *:nth-child(6){transition-delay:.34s;}
    .rfl-hero__nav-toggle:checked ~ .rfl-hero__nav > *:nth-child(7){transition-delay:.39s;}
    .rfl-hero__nav-toggle:checked ~ .rfl-hero__nav > *:nth-child(8){transition-delay:.43s;}

    .rfl-hero__nav a{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:16px;
        padding:15px 26px;
        font-size:12px;
        letter-spacing:.24em;
        color:var(--rfl-ink);
        border-bottom:0;
    }
    .rfl-hero__nav a::after{display:none;}

    /* Gouden chevron op de gewone menulinks. */
    .rfl-hero__nav > a:not(.rfl-hero__nav-order):not(.rfl-hero__nav-cta)::after{
        content:"→";
        display:block;
        position:static;
        width:auto; height:auto;
        background:none;
        color:var(--rfl-gold);
        font-size:13px;
        opacity:.8;
        transform:translateX(0);
        transition:transform .35s var(--rfl-ease), opacity .35s var(--rfl-ease);
    }
    .rfl-hero__nav > a:not(.rfl-hero__nav-order):not(.rfl-hero__nav-cta):hover::after,
    .rfl-hero__nav > a:not(.rfl-hero__nav-order):not(.rfl-hero__nav-cta):focus-visible::after{
        transform:translateX(5px);
        opacity:1;
    }
    .rfl-hero__nav a:hover,
    .rfl-hero__nav a:focus-visible{color:var(--rfl-gold);}

    /* USP-kaart — margin-top:auto duwt dit blok én de CTA's naar de onderkant. */
    .rfl-hero__nav .rfl-hero__nav-usp{
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:12px 14px;
        margin:auto 22px 16px;
        padding:16px 18px;
        border:1px solid rgba(200,163,90,.35);
        border-radius:18px;
        background:rgba(200,163,90,.07);
    }
    .rfl-hero__nav .rfl-hero__nav-usp-item{
        display:inline-flex;
        align-items:center;
        gap:8px;
        min-width:0;
        padding:0;
        border:0;
        background:none;
        font-family:var(--rfl-sans);
        font-size:10.5px;
        font-weight:500;
        letter-spacing:.12em;
        text-transform:uppercase;
        line-height:1.35;
        color:rgba(17,17,17,.68);
    }
    .rfl-hero__nav .rfl-hero__nav-usp-item svg{
        width:14px; height:14px;
        flex-shrink:0;
        color:var(--rfl-gold);
    }
    .rfl-hero__nav .rfl-hero__nav-usp-item--tel{
        color:var(--rfl-ink);
        font-weight:600;
        justify-content:flex-start;
    }
    .rfl-hero__nav .rfl-hero__nav-usp-item--tel::after{display:none;}
    .rfl-hero__nav .rfl-hero__nav-usp-item--tel:hover{background:none; color:var(--rfl-gold);}
    .rfl-hero__nav .rfl-hero__nav-usp-item--open{color:var(--rfl-ink); font-weight:600;}
    .rfl-hero__nav .rfl-hero__nav-usp-item--closed{color:#b4442f;}
    .rfl-hero__nav .rfl-hero__nav-usp-item--closed svg{color:#b4442f;}

    /* CTA's onderaan — full width, grote tapdoelen. */
    .rfl-hero__nav a.rfl-hero__nav-order{
        display:inline-flex;
        margin:0 22px 10px;
        padding:17px 24px;
        font-size:12px;
        letter-spacing:.18em;
        border-radius:999px;
        justify-content:center;
        gap:10px;
        border:1px solid var(--rfl-gold);
        background:var(--rfl-gold);
        color:var(--rfl-ink);
        box-shadow:0 16px 32px -18px rgba(200,163,90,.85);
    }
    .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 a.rfl-hero__nav-cta{
        display:inline-flex;
        justify-content:center;
        gap:10px;
        margin:0 22px;
        padding:17px 24px;
        font-size:12px;
        letter-spacing:.18em;
        border-radius:999px;
        background:transparent;
        color:var(--rfl-ink);
        border:1px solid rgba(17,17,17,.22);
        text-align:center;
        font-weight:500;
    }
    .rfl-hero__nav a.rfl-hero__nav-cta::after{display:none;}
    .rfl-hero__nav a.rfl-hero__nav-cta:hover{
        background:var(--rfl-ink);
        color:var(--rfl-paper);
        border-color:var(--rfl-ink);
    }
}

/* Achtergrond niet mee laten scrollen zolang het menu open staat. */
html.rfl-nav-open,
html.rfl-nav-open body{overflow:hidden;}

@media (max-width:1024px) and (prefers-reduced-motion:reduce){
    .rfl-hero__nav,
    .rfl-hero__nav > *{transition-duration:.01ms !important; transition-delay:0s !important;}
}
@media (max-width:768px){
    .rfl-hero__topbar{padding:18px 22px;}
    .rfl-hero__brand img{height:38px;}
    .rfl-hero__nav a{padding:14px 22px;}
    .rfl-hero__nav .rfl-hero__nav-usp{margin-inline:18px; padding:15px 16px;}
    .rfl-hero__nav a.rfl-hero__nav-order,
    .rfl-hero__nav a.rfl-hero__nav-cta{margin-inline:18px;}
    .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;}
    /* Video mag op mobiel de volle kolombreedte pakken i.p.v. vast 300px */
    .rfl-hero__video{max-width:480px;}
    .rfl-hero__video-frame{aspect-ratio:4/5;max-width:100%;}
    .rfl-hero__video-caption{max-width:100%;}
    .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:100%;}
    .rfl-hero__video-corner{width:20px; height:20px;}
    .rfl-hero__meta-val{font-size:15px;}
    .rfl-hero__nav a{padding:13px 18px; font-size:11.5px; letter-spacing:.2em;}
    .rfl-hero__nav .rfl-hero__nav-usp{margin-inline:14px; gap:10px 12px;}
    .rfl-hero__nav a.rfl-hero__nav-order,
    .rfl-hero__nav a.rfl-hero__nav-cta{margin-inline:14px; padding:16px 20px;}
}

/* Lage viewports (landscape telefoon, kleine toestellen): comprimeer het
   menupaneel zodat links, USP's en CTA's zonder scrollen in beeld blijven. */
/* Ruimere schermen: iets meer lucht per link, maar de linkstapel blijft
   strak bovenaan — de vrije ruimte valt als één rustpunt boven het
   actieblok onderaan. */
@media (max-width:1024px) and (min-height:760px){
    .rfl-hero__nav a{padding:19px 26px; font-size:13px;}
}

@media (max-width:1024px) and (max-height:680px){
    .rfl-hero__nav a{padding:11px 22px; font-size:11.5px;}
    .rfl-hero__nav .rfl-hero__nav-usp{
        margin-bottom:12px;
        padding:12px 14px;
        gap:9px 12px;
    }
    .rfl-hero__nav a.rfl-hero__nav-order{margin-bottom:8px; padding:14px 22px;}
    .rfl-hero__nav a.rfl-hero__nav-cta{padding:14px 22px;}
}