/* ========================================================================
   RFL — Page chrome, banners, splits, menu-cards, AYE, jobs, legal, contact
   ======================================================================== */

/* -------- Page Header -------- */
.rfl-pageheader{
    position:sticky; top:0; z-index:50;
    background:rgba(14,14,14,.96);
    color:var(--rfl-paper);
    backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(200,163,90,.18);
    font-family:var(--rfl-sans);
}
.rfl-pageheader__inner{
    display:flex; align-items:center; gap:24px;
    min-height:84px; padding-top:14px; padding-bottom:14px;
}
.rfl-pageheader__brand img{display:block; height:42px; width:auto; filter:invert(1) brightness(1.6);}
.rfl-pageheader__nav{
    display:flex; gap:28px; align-items:center;
    margin-left:auto; margin-right:auto;
    font-size:13px; letter-spacing:.08em; text-transform:uppercase;
}
.rfl-pageheader__nav a{
    color:var(--rfl-paper); text-decoration:none;
    position:relative; padding:6px 2px;
    transition:color .35s var(--rfl-ease);
}
.rfl-pageheader__nav a::after{
    content:""; position:absolute; left:0; bottom:0; width:0; height:1px;
    background:var(--rfl-gold); transition:width .4s var(--rfl-ease);
}
.rfl-pageheader__nav a:hover{color:var(--rfl-gold);}
.rfl-pageheader__nav a:hover::after{width:100%;}

.rfl-pageheader__ctas{display:flex; gap:10px; align-items:center;}
.rfl-pageheader__cta{
    display:inline-flex; align-items:center; gap:8px;
    padding:11px 20px; border-radius:999px;
    font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:500;
    text-decoration:none; transition:all .35s var(--rfl-ease);
    border:1px solid transparent;
}
.rfl-pageheader__cta--ghost{
    color:var(--rfl-paper); border-color:rgba(255,255,255,.3); background:transparent;
}
.rfl-pageheader__cta--ghost:hover{color:var(--rfl-ink); background:var(--rfl-paper);}
.rfl-pageheader__cta--gold{
    color:var(--rfl-ink); background:var(--rfl-gold); border-color:var(--rfl-gold);
}
.rfl-pageheader__cta--gold:hover{background:var(--rfl-gold-soft);}

.rfl-pageheader__toggle{display:none;}
.rfl-pageheader__burger{display:none;}

@media (max-width:1024px){
    .rfl-pageheader__inner{flex-wrap:wrap;}
    .rfl-pageheader__burger{
        display:flex; flex-direction:column; gap:5px;
        margin-left:auto; cursor:pointer;
        padding:10px; background:transparent; border:1px solid rgba(255,255,255,.2); border-radius:8px;
    }
    .rfl-pageheader__burger span{display:block; width:22px; height:1.5px; background:var(--rfl-paper);}
    .rfl-pageheader__nav{
        order:5; width:100%; flex-direction:column; gap:12px; align-items:flex-start;
        padding:16px 0 8px; display:none;
    }
    .rfl-pageheader__toggle:checked ~ .rfl-pageheader__nav{display:flex;}
    .rfl-pageheader__ctas{margin-left:auto;}
}
@media (max-width:520px){
    .rfl-pageheader__cta--ghost{display:none;}
    .rfl-pageheader__brand img{height:34px;}
}

/* -------- Page Hero -------- */
.rfl-pagehero{
    position:relative; min-height:64vh; padding:140px 0 100px;
    background:#0e0e0e; color:var(--rfl-paper);
    display:flex; align-items:center;
    overflow:hidden;
}
.rfl-pagehero__bg{
    position:absolute; inset:0;
    background-image:var(--rfl-pagehero-bg, none);
    background-size:cover; background-position:center;
    transform:scale(1.05);
    filter:saturate(.88);
}
.rfl-pagehero__overlay{
    position:absolute; inset:0;
    background:
        linear-gradient(120deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.5) 45%, rgba(0,0,0,.25) 100%),
        linear-gradient(0deg, rgba(0,0,0,.55), transparent 40%);
}
.rfl-pagehero__inner{position:relative; z-index:2; max-width:920px;}
.rfl-pagehero__eyebrow{color:var(--rfl-gold); margin-bottom:30px;}
.rfl-pagehero__eyebrow::before{box-shadow:0 14px 26px -12px rgba(196,58,44,.7), inset 0 0 0 1px rgba(0,0,0,.25);}
.rfl-pagehero__title{
    color:var(--rfl-paper);
    font-size:clamp(48px,7vw,108px);
    margin-bottom:28px;
}
.rfl-pagehero__title em{
    color:var(--rfl-gold); font-style:italic;
    display:block; font-weight:300;
}
.rfl-pagehero__lead{
    font-size:clamp(17px,1.6vw,21px);
    line-height:1.7; color:rgba(244,237,225,.86);
    max-width:680px; margin:0 0 36px;
    font-family:var(--rfl-sans); font-weight:300;
}
.rfl-pagehero__cta{align-self:flex-start;}
.rfl-pagehero__scroll{
    position:absolute; right:32px; bottom:32px; z-index:3;
    display:flex; flex-direction:column; align-items:center; gap:10px;
    color:rgba(244,237,225,.65); font-size:10px; letter-spacing:.4em; text-transform:uppercase;
}
.rfl-pagehero__scroll-line{
    width:1px; height:48px; background:var(--rfl-gold);
    position:relative; overflow:hidden;
}
.rfl-pagehero__scroll-line::after{
    content:""; position:absolute; top:-100%; left:0; right:0;
    height:50%; background:var(--rfl-paper);
    animation:rfl-scroll-pulse 2.4s var(--rfl-ease) infinite;
}
@keyframes rfl-scroll-pulse{
    0%{top:-50%;} 100%{top:100%;}
}
@media (max-width:768px){
    .rfl-pagehero{min-height:520px; padding:110px 0 90px;}
    .rfl-pagehero__scroll{display:none;}
}

/* -------- Feature Split -------- */
.rfl-feature-split{padding:120px 0;}
.rfl-feature-split__head{margin-bottom:80px; max-width:780px;}
.rfl-feature-split__sectitle{margin-top:18px;}
.rfl-feature-split__sectitle em{color:var(--rfl-gold); font-style:italic;}

.rfl-feature-split__list{display:flex; flex-direction:column; gap:120px;}
.rfl-feature-split__row{
    display:grid; grid-template-columns:1fr 1fr;
    gap:90px; align-items:center;
}
.rfl-feature-split__row.is-reverse{direction:rtl;}
.rfl-feature-split__row.is-reverse > *{direction:ltr;}

.rfl-feature-split__media{
    position:relative; margin:0;
    aspect-ratio:5/4;
    border-radius:var(--rfl-radius-m); overflow:hidden;
    box-shadow:var(--rfl-shadow);
}
.rfl-feature-split__media img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform 1.2s var(--rfl-ease);
}
.rfl-feature-split__media:hover img{transform:scale(1.04);}
.rfl-feature-split__no{
    position:absolute; top:16px; left:16px;
    font-family:var(--rfl-serif); font-size:48px; font-style:italic;
    color:rgba(255,255,255,.85); line-height:1;
    text-shadow:0 4px 16px rgba(0,0,0,.4);
}
.rfl-feature-split__copy > .rfl-eyebrow{margin-bottom:20px;}
.rfl-feature-split__title{margin:0 0 24px;}
.rfl-feature-split__text{
    color:var(--rfl-ink-60); line-height:1.8; font-size:16px;
    margin-bottom:28px;
}
.rfl-feature-split__text p{margin:0 0 14px;}
.rfl-feature-split__text strong{color:var(--rfl-ink);}

@media (max-width:1024px){
    .rfl-feature-split{padding:90px 0;}
    .rfl-feature-split__list{gap:80px;}
    .rfl-feature-split__row,
    .rfl-feature-split__row.is-reverse{
        grid-template-columns:1fr; gap:36px; direction:ltr;
    }
    .rfl-feature-split__head{margin-bottom:50px;}
    .rfl-feature-split__media{aspect-ratio:16/10; max-width:680px;}
}
@media (max-width:560px){
    .rfl-feature-split{padding:70px 0;}
    .rfl-feature-split__list{gap:60px;}
    .rfl-feature-split__media{aspect-ratio:4/3;}
    .rfl-feature-split__no{font-size:36px; top:12px; left:12px;}
}

/* -------- Menu Cards -------- */
.rfl-menucards{padding:120px 0; background:var(--rfl-cream);}
.rfl-menucards__head{max-width:760px; margin:0 auto 70px; text-align:center;}
.rfl-menucards__head > .rfl-eyebrow{justify-content:center;}
.rfl-menucards__title{margin:18px 0 22px;}
.rfl-menucards__title em{color:var(--rfl-gold); font-style:italic;}
.rfl-menucards__lead{margin:0 auto;}

.rfl-menucards__grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:36px;
}
.rfl-menucards__card{
    background:var(--rfl-paper);
    border-radius:var(--rfl-radius-m); overflow:hidden;
    display:flex; flex-direction:column;
    box-shadow:0 24px 50px -28px rgba(0,0,0,.25);
    transition:transform .55s var(--rfl-ease), box-shadow .55s var(--rfl-ease);
}
.rfl-menucards__card:hover{
    transform:translateY(-8px);
    box-shadow:0 36px 70px -28px rgba(0,0,0,.35);
}
.rfl-menucards__img{
    margin:0; aspect-ratio:4/3; overflow:hidden;
}
.rfl-menucards__img img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 1s var(--rfl-ease);}
.rfl-menucards__card:hover .rfl-menucards__img img{transform:scale(1.06);}

.rfl-menucards__body{padding:32px 30px 36px; display:flex; flex-direction:column; gap:14px; flex:1;}
.rfl-menucards__eyebrow{
    font-size:10px; letter-spacing:.3em; text-transform:uppercase;
    color:var(--rfl-gold); font-weight:500;
}
.rfl-menucards__name{
    font-family:var(--rfl-serif); font-size:30px; line-height:1.1;
    color:var(--rfl-ink); margin:0;
}
.rfl-menucards__desc{
    color:var(--rfl-ink-60); line-height:1.65; font-size:14.5px;
    flex:1;
}
.rfl-menucards__meta{
    font-size:11px; letter-spacing:.18em; text-transform:uppercase;
    color:var(--rfl-ink-60);
    padding-top:14px; border-top:1px solid var(--rfl-line);
}
.rfl-menucards__cta{
    display:inline-flex; align-items:center; gap:10px;
    color:var(--rfl-ink); text-decoration:none; font-weight:500;
    letter-spacing:.14em; font-size:12px; text-transform:uppercase;
    padding:14px 24px; background:var(--rfl-gold);
    border-radius:999px; align-self:flex-start;
    transition:background .35s var(--rfl-ease), transform .35s var(--rfl-ease);
}
.rfl-menucards__cta:hover{background:var(--rfl-gold-soft); transform:translateX(4px);}

@media (max-width:1100px){
    .rfl-menucards__grid{grid-template-columns:repeat(2, 1fr); gap:24px;}
    .rfl-menucards__card:nth-child(3){grid-column:1 / -1; max-width:520px; margin:0 auto;}
}
@media (max-width:680px){
    .rfl-menucards{padding:80px 0;}
    .rfl-menucards__grid{grid-template-columns:1fr; gap:24px;}
    .rfl-menucards__card:nth-child(3){max-width:none;}
    .rfl-menucards__body{padding:26px 24px 28px;}
    .rfl-menucards__name{font-size:26px;}
}

/* -------- AYE Info -------- */
.rfl-aye{padding:120px 0; background:var(--rfl-paper);}
.rfl-aye__head{max-width:780px; margin:0 auto 70px; text-align:center;}
.rfl-aye__head > .rfl-eyebrow{justify-content:center;}
.rfl-aye__title{margin:18px 0 22px;}
.rfl-aye__title em{color:var(--rfl-gold); font-style:italic;}
.rfl-aye__lead{margin:0 auto;}

.rfl-aye__pricing{
    display:grid; grid-template-columns:repeat(3,1fr); gap:30px;
    margin-bottom:120px;
}
.rfl-aye__card{
    position:relative; background:var(--rfl-cream);
    padding:48px 38px; border-radius:var(--rfl-radius-m);
    display:flex; flex-direction:column; gap:14px;
    border:1px solid transparent;
    transition:all .55s var(--rfl-ease);
}
.rfl-aye__card.is-featured{
    background:var(--rfl-ink); color:var(--rfl-paper);
    transform:scale(1.04);
    box-shadow:0 36px 70px -28px rgba(0,0,0,.5);
}
.rfl-aye__card.is-featured .rfl-aye__card-eyebrow{color:var(--rfl-gold);}
.rfl-aye__card.is-featured .rfl-aye__card-desc{color:rgba(244,237,225,.75);}
.rfl-aye__badge{
    position:absolute; top:-13px; right:30px;
    background:var(--rfl-gold); color:var(--rfl-ink);
    padding:6px 14px; border-radius:999px;
    font-size:10px; letter-spacing:.22em; text-transform:uppercase; font-weight:600;
}
.rfl-aye__card-eyebrow{
    font-size:11px; letter-spacing:.26em; text-transform:uppercase;
    color:var(--rfl-gold); font-weight:500;
}
.rfl-aye__card-title{
    font-family:var(--rfl-serif); font-size:34px;
    line-height:1.1; margin:0;
}
.rfl-aye__price{
    display:flex; align-items:baseline; gap:6px;
    margin:18px 0 6px;
}
.rfl-aye__price-cur{font-family:var(--rfl-serif); font-size:28px; color:var(--rfl-gold);}
.rfl-aye__price-amt{font-family:var(--rfl-serif); font-size:64px; font-weight:500; line-height:1;}
.rfl-aye__price-unit{font-size:12px; letter-spacing:.2em; text-transform:uppercase; opacity:.7;}
.rfl-aye__card-desc{line-height:1.7; font-size:14.5px; flex:1;}
.rfl-aye__card-cta{
    display:inline-flex; align-items:center; gap:8px;
    color:inherit; text-decoration:none;
    font-size:12px; letter-spacing:.2em; text-transform:uppercase; font-weight:500;
    padding-top:18px; margin-top:auto;
    border-top:1px solid currentColor;
    transition:gap .35s var(--rfl-ease);
}
.rfl-aye__card-cta:hover{gap:16px;}

.rfl-aye__split{
    display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:stretch;
}
.rfl-aye__steps-title{margin:18px 0 36px;}
.rfl-aye__steps-title em{color:var(--rfl-gold); font-style:italic;}
.rfl-aye__steps-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:30px;}
.rfl-aye__step{
    display:flex; gap:22px;
    padding-bottom:30px; border-bottom:1px solid var(--rfl-line);
}
.rfl-aye__step:last-child{border-bottom:none; padding-bottom:0;}
.rfl-aye__step-no{
    font-family:var(--rfl-serif); font-size:36px; font-style:italic;
    color:var(--rfl-gold); line-height:1; flex-shrink:0; width:54px;
}
.rfl-aye__step-title{
    font-family:var(--rfl-serif); font-size:22px;
    margin:0 0 8px; color:var(--rfl-ink);
}
.rfl-aye__step p{margin:0; color:var(--rfl-ink-60); line-height:1.65;}

.rfl-aye__included{
    position:relative; border-radius:var(--rfl-radius-m); overflow:hidden;
    background-size:cover; background-position:center;
    min-height:540px;
    display:flex; align-items:flex-end;
}
.rfl-aye__included::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(14,14,14,.95) 0%, rgba(14,14,14,.55) 55%, rgba(14,14,14,.2) 100%);
}
.rfl-aye__included-inner{
    position:relative; padding:50px 44px; color:var(--rfl-paper);
}
.rfl-aye__included-inner .rfl-eyebrow{color:var(--rfl-gold);}
.rfl-aye__included-title{color:var(--rfl-paper); margin:18px 0 28px;}
.rfl-aye__included-title em{color:var(--rfl-gold); font-style:italic;}
.rfl-aye__included-list{
    list-style:none; padding:0; margin:0 0 36px;
    display:grid; grid-template-columns:1fr 1fr; gap:14px 24px;
}
.rfl-aye__included-list li{
    display:flex; gap:12px; align-items:center;
    font-size:14px; color:rgba(244,237,225,.9);
}
.rfl-aye__check{
    width:22px; height:22px; flex-shrink:0;
    background:var(--rfl-gold); color:var(--rfl-ink);
    border-radius:50%; display:grid; place-items:center;
    font-size:12px; font-weight:700;
}

@media (max-width:1100px){
    .rfl-aye__pricing{grid-template-columns:repeat(2, 1fr); gap:24px;}
    .rfl-aye__card{padding:38px 28px;}
    .rfl-aye__card.is-featured{transform:none; grid-column:1 / -1; max-width:520px; margin:0 auto;}
    .rfl-aye__price-amt{font-size:52px;}
}
@media (max-width:760px){
    .rfl-aye{padding:80px 0;}
    .rfl-aye__pricing{grid-template-columns:1fr; gap:20px; margin-bottom:70px;}
    .rfl-aye__card.is-featured{max-width:none;}
    .rfl-aye__split{grid-template-columns:1fr; gap:40px;}
    .rfl-aye__included-list{grid-template-columns:1fr;}
    .rfl-aye__included{min-height:auto;}
    .rfl-aye__included-inner{padding:38px 28px;}
    .rfl-aye__step-no{font-size:30px; width:42px;}
}

/* -------- Jobs List -------- */
.rfl-jobs{padding:120px 0; background:var(--rfl-cream);}
.rfl-jobs__head{max-width:780px; margin:0 auto 60px; text-align:center;}
.rfl-jobs__head > .rfl-eyebrow{justify-content:center;}
.rfl-jobs__title{margin:18px 0 22px;}
.rfl-jobs__title em{color:var(--rfl-gold); font-style:italic;}
.rfl-jobs__lead{margin:0 auto 24px;}
.rfl-jobs__meta{
    display:inline-flex; align-items:center; gap:14px;
    font-size:13px; color:var(--rfl-ink-60);
    padding:10px 22px; background:var(--rfl-paper); border-radius:999px;
}
.rfl-jobs__meta strong{color:var(--rfl-ink);}
.rfl-jobs__meta-dot{width:5px; height:5px; background:var(--rfl-gold); border-radius:50%;}

.rfl-jobs__list{display:flex; flex-direction:column; gap:28px; margin-bottom:80px;}
.rfl-jobs__item{
    display:grid; grid-template-columns:340px 1fr; gap:0;
    background:var(--rfl-paper); border-radius:var(--rfl-radius-m); overflow:hidden;
    box-shadow:0 18px 38px -24px rgba(0,0,0,.22);
    transition:transform .55s var(--rfl-ease), box-shadow .55s var(--rfl-ease);
}
.rfl-jobs__item:hover{
    transform:translateY(-4px);
    box-shadow:0 28px 56px -24px rgba(0,0,0,.32);
}
.rfl-jobs__img{margin:0; overflow:hidden;}
.rfl-jobs__img img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 1s var(--rfl-ease);}
.rfl-jobs__item:hover .rfl-jobs__img img{transform:scale(1.06);}

.rfl-jobs__body{padding:34px 38px; display:flex; flex-direction:column; gap:14px;}
.rfl-jobs__row{display:flex; flex-wrap:wrap; gap:8px;}
.rfl-jobs__tag{
    display:inline-flex; padding:6px 14px; border-radius:999px;
    background:var(--rfl-ink); color:var(--rfl-paper);
    font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
}
.rfl-jobs__tag--soft{background:var(--rfl-cream); color:var(--rfl-ink); border:1px solid var(--rfl-line);}
.rfl-jobs__name{
    font-family:var(--rfl-serif); font-size:30px; line-height:1.1;
    color:var(--rfl-ink); margin:4px 0 0;
}
.rfl-jobs__excerpt{color:var(--rfl-ink-60); line-height:1.7; margin:0; font-size:15px;}
.rfl-jobs__foot{
    display:flex; align-items:center; justify-content:space-between;
    padding-top:16px; border-top:1px solid var(--rfl-line); margin-top:auto;
    gap:16px; flex-wrap:wrap;
}
.rfl-jobs__pay{font-size:13px; color:var(--rfl-ink-60);}
.rfl-jobs__cta{
    display:inline-flex; align-items:center; gap:8px;
    color:var(--rfl-ink); text-decoration:none; font-weight:500;
    font-size:12px; letter-spacing:.18em; text-transform:uppercase;
    transition:color .35s var(--rfl-ease), gap .35s var(--rfl-ease);
}
.rfl-jobs__cta:hover{color:var(--rfl-gold); gap:14px;}

.rfl-jobs__open{}
.rfl-jobs__open-inner{
    display:flex; align-items:center; justify-content:space-between; gap:32px;
    padding:50px 56px; background:var(--rfl-ink); color:var(--rfl-paper);
    border-radius:var(--rfl-radius-m); flex-wrap:wrap;
}
.rfl-jobs__open-inner .rfl-eyebrow{color:var(--rfl-gold); margin-bottom:14px;}
.rfl-jobs__open-inner h3{margin:0 0 10px; color:var(--rfl-paper);}
.rfl-jobs__open-inner h3 em{color:var(--rfl-gold); font-style:italic;}
.rfl-jobs__open-inner p{margin:0; opacity:.78; max-width:560px;}
/* Inline links inside the copy — but NOT the .rfl-btn button (it has its own color). */
.rfl-jobs__open-inner a:not(.rfl-btn){color:var(--rfl-gold);}

@media (max-width:1000px){
    .rfl-jobs__item{grid-template-columns:260px 1fr;}
    .rfl-jobs__body{padding:28px 30px;}
}
@media (max-width:780px){
    .rfl-jobs{padding:80px 0;}
    .rfl-jobs__item{grid-template-columns:1fr;}
    .rfl-jobs__img{aspect-ratio:16/9;}
    .rfl-jobs__open-inner{padding:36px 28px; align-items:flex-start;}
    .rfl-jobs__open-inner .rfl-btn{align-self:flex-start;}
    .rfl-jobs__name{font-size:26px;}
}
@media (max-width:420px){
    .rfl-jobs__body{padding:24px 22px;}
    .rfl-jobs__open-inner{padding:28px 22px;}
    .rfl-jobs__foot{flex-direction:column; align-items:flex-start; gap:14px;}
}

/* -------- Job Detail -------- */
.rfl-job{padding:80px 0 120px; background:var(--rfl-paper);}
.rfl-job__head{margin-bottom:60px; max-width:1100px;}
.rfl-job__back{
    display:inline-block; margin-bottom:30px;
    color:var(--rfl-ink-60); text-decoration:none;
    font-size:12px; letter-spacing:.18em; text-transform:uppercase;
    transition:color .35s var(--rfl-ease);
}
.rfl-job__back:hover{color:var(--rfl-gold);}
.rfl-job__title{margin:18px 0 36px;}

.rfl-job__facts{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
    gap:18px 32px; margin:0;
    padding-top:30px; border-top:1px solid var(--rfl-line);
}
.rfl-job__facts > div{display:flex; flex-direction:column; gap:6px;}
.rfl-job__facts dt{
    font-size:11px; letter-spacing:.22em; text-transform:uppercase;
    color:var(--rfl-gold); font-weight:500; margin:0;
}
.rfl-job__facts dd{margin:0; color:var(--rfl-ink); font-weight:500;}

.rfl-job__grid{
    display:grid; grid-template-columns:1.6fr .8fr; gap:60px; align-items:start;
}
.rfl-job__body{font-size:16px; line-height:1.8; color:var(--rfl-ink);}
.rfl-job__body p{margin:0 0 16px; color:var(--rfl-ink-60);}
.rfl-job__h2{
    font-family:var(--rfl-serif); font-size:30px; font-weight:400;
    margin:40px 0 18px; color:var(--rfl-ink);
}
.rfl-job__intro .rfl-job__h2{margin-top:0;}
.rfl-job__list{list-style:none; padding:0; margin:0;}
.rfl-job__list li{
    position:relative; padding:14px 0 14px 24px;
    border-bottom:1px solid var(--rfl-line);
    color:var(--rfl-ink-60);
}
.rfl-job__list li::before{
    content:""; position:absolute; left:0; top:24px;
    width:8px; height:1px; background:var(--rfl-gold);
}
.rfl-job__list--checks li{padding-left:36px;}
.rfl-job__list--checks li::before{display:none;}
.rfl-job__check{
    position:absolute; left:0; top:14px;
    width:22px; height:22px; background:var(--rfl-gold); color:var(--rfl-ink);
    border-radius:50%; display:grid; place-items:center;
    font-size:12px; font-weight:700;
}

.rfl-job__apply{position:sticky; top:110px;}
.rfl-job__apply-inner{
    background:var(--rfl-ink); color:var(--rfl-paper);
    padding:42px 38px; border-radius:var(--rfl-radius-m);
    display:flex; flex-direction:column; gap:14px;
}
.rfl-job__apply-title{
    font-family:var(--rfl-serif); font-size:30px; font-weight:400; margin:0;
}
.rfl-job__apply-inner p{opacity:.78; line-height:1.7; margin:0 0 6px;}
.rfl-job__apply-cta{align-self:flex-start; margin:14px 0 18px;}
.rfl-job__apply-phone{
    color:var(--rfl-gold); font-family:var(--rfl-serif); font-size:30px;
    text-decoration:none;
}
.rfl-job__apply-email{font-size:14px; opacity:.7;}
.rfl-job__apply-addr{
    margin-top:18px; padding-top:18px; border-top:1px solid rgba(244,237,225,.18);
    font-size:14px; opacity:.85; line-height:1.7;
}
.rfl-job__apply-addr-label{
    display:block; font-size:11px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--rfl-gold);
    margin-bottom:6px;
}

@media (max-width:900px){
    .rfl-job__grid{grid-template-columns:1fr; gap:40px;}
    .rfl-job__apply{position:static;}
    .rfl-job__apply-inner{padding:32px 26px;}
    .rfl-job__h2{font-size:24px; margin-top:32px;}
    .rfl-job__facts{gap:14px 24px;}
}

/* -------- Legal / Privacy -------- */
.rfl-legal{padding:100px 0 120px; background:var(--rfl-paper);}
.rfl-legal__inner{
    display:grid; grid-template-columns:1.6fr .8fr; gap:70px; align-items:start;
}
.rfl-legal__body{font-size:16px; line-height:1.8; color:var(--rfl-ink-60); max-width:780px;}
.rfl-legal__body h2{
    font-family:var(--rfl-serif); font-size:42px; font-weight:400;
    margin:0 0 28px; color:var(--rfl-ink);
}
.rfl-legal__body h3{
    font-family:var(--rfl-serif); font-size:24px; font-weight:500;
    margin:34px 0 12px; color:var(--rfl-ink);
}
.rfl-legal__body p{margin:0 0 16px;}
.rfl-legal__body ul{padding-left:22px; margin:0 0 18px;}
.rfl-legal__body li{margin-bottom:6px;}
.rfl-legal__body a{color:var(--rfl-gold); text-decoration:underline;}

.rfl-legal__aside{
    position:sticky; top:110px;
    background:var(--rfl-cream); padding:38px 32px;
    border-radius:var(--rfl-radius-m);
    display:flex; flex-direction:column; gap:14px;
}
.rfl-legal__aside h3{margin:8px 0;}
.rfl-legal__aside p{color:var(--rfl-ink-60); margin:0 0 8px;}
.rfl-legal__quick{
    list-style:none; padding:18px 0 0; margin:18px 0 0;
    border-top:1px solid var(--rfl-line);
    display:flex; flex-direction:column; gap:8px;
    font-size:14px; color:var(--rfl-ink-60);
}
.rfl-legal__quick a{color:var(--rfl-ink); text-decoration:none;}
.rfl-legal__quick a:hover{color:var(--rfl-gold);}

@media (max-width:900px){
    .rfl-legal__inner{grid-template-columns:1fr; gap:40px;}
    .rfl-legal__aside{position:static;}
    .rfl-legal__body h2{font-size:34px;}
    .rfl-legal__body h3{font-size:22px;}
}

/* -------- Contact Page -------- */
.rfl-contactpage{padding:120px 0; background:var(--rfl-paper);}
.rfl-contactpage__inner{
    display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:start;
}
.rfl-contactpage__title{margin:18px 0 22px;}
.rfl-contactpage__title em{color:var(--rfl-gold); font-style:italic;}
.rfl-contactpage__lead{font-size:16px; line-height:1.75; color:var(--rfl-ink-60); margin:0 0 36px; max-width:480px;}
.rfl-contactpage__blocks{display:flex; flex-direction:column; gap:24px;}
.rfl-contactpage__block{
    padding:24px 26px; background:var(--rfl-cream); border-radius:var(--rfl-radius-m);
    display:flex; flex-direction:column; gap:6px;
}
.rfl-contactpage__block-title{
    font-size:11px; letter-spacing:.22em; text-transform:uppercase;
    color:var(--rfl-gold); font-weight:500;
}
.rfl-contactpage__block p{margin:0; color:var(--rfl-ink); line-height:1.65;}
.rfl-contactpage__block a{color:var(--rfl-ink); text-decoration:none;}
.rfl-contactpage__block a:hover{color:var(--rfl-gold);}
.rfl-contactpage__muted{font-size:12px; color:var(--rfl-ink-60);}

.rfl-contactpage__formwrap{
    position:relative; padding:0;
    border-radius:var(--rfl-radius-m); overflow:hidden;
}
.rfl-contactpage__formwrap::before{
    content:""; position:absolute; inset:0;
    background-image:var(--rfl-cp-bg, none);
    background-size:cover; background-position:center;
    opacity:.18;
}
@media (max-width:900px){
    .rfl-contactpage{padding:80px 0;}
    .rfl-contactpage__inner{grid-template-columns:1fr; gap:50px;}
    .rfl-contactpage__formwrap{order:2;}
    .rfl-contactpage__info{order:1;}
}
