/* Rajtjel homepage – only the opening, specification strip and programme selector. */
.rr-site .rjh-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    min-height: 510px;
    color: white;
    background: #131412;
}
.rr-site .rjh-story {
    position: relative;
    z-index: 1;
    align-self: center;
    max-width: 44%;
    padding: 36px 0 44px max(4.1vw, calc((100vw - 1440px)/2));
}
.rr-site .rjh-story .rr-eyebrow { color: #d4d5ce; font-size: 10px; }
.rr-site .rjh-story h1 {
    margin: 30px 0 22px;
    color: white;
    font-size: clamp(74px, 8.2vw, 118px);
    font-weight: 850;
    line-height: .88;
    letter-spacing: -.063em;
}
.rr-site .rjh-story h1 em {
    display: inline-block;
    color: var(--rr-yellow);
    font-style: normal;
    transform: skew(-8deg);
    transform-origin: left bottom;
}
.rr-site .rjh-intro { max-width: 356px; margin: 0 0 20px; font: 15px/1.6 Arial, sans-serif; color: #e4e5df; }
.rr-site .rjh-story .rr-button { min-height: 54px; font-size: 13px; }
.rr-site .rjh-outline {
    position: absolute;
    z-index: -1;
    left: -.08em;
    bottom: -.19em;
    color: transparent;
    -webkit-text-stroke: 1px #ffffff12;
    font: 900 410px/.9 'Roboto Condensed', Arial, sans-serif;
    letter-spacing: -.08em;
    pointer-events: none;
}
.rr-site .rjh-feature { position: absolute; inset: 0 0 0 32%; display: block; overflow: hidden; color: white; }
.rr-site .rjh-feature::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,#131412,rgba(19,20,18,.94) 6%,rgba(19,20,18,.66) 14%,transparent 30%),
                linear-gradient(0deg,#111210e8,transparent 30%,transparent 84%,#11121059);
    pointer-events: none;
}
.rr-site .rjh-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 56%; }
.rr-site .rjh-cutout { display: grid; align-items: center; height: 100%; background: #62645e; }
.rr-site .rjh-badge, .rr-site .rjh-caption { position: absolute; z-index: 1; right: max(3.4vw,calc((100vw - 1440px)/2)); }
.rr-site .rjh-badge, .rr-site .rjh-caption small, .rr-site .rjh-data-label, .rr-site .rjh-program small {
    font: 700 10px/1.4 Arial,sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.rr-site .rjh-badge { top: 30px; padding: 9px 12px; background: #11130fe6; }
.rr-site .rjh-badge::before { content:''; display:inline-block; width:6px; height:6px; margin-right:10px; background:var(--rr-yellow); border-radius:50%; }
.rr-site .rjh-caption { bottom: 20px; display:flex; align-items:end; gap:18px; color:white; text-shadow:0 1px 4px #000; }
.rr-site .rjh-caption>span { border-left: 3px solid var(--rr-yellow); padding-left:15px; }
.rr-site .rjh-caption small { display:block; color:#e0e0d5; margin-bottom:4px; }
.rr-site .rjh-caption strong { font:650 28px/1 'Roboto Condensed',Arial,sans-serif; letter-spacing:-.03em; }
.rr-site .rjh-caption b { font:900 48px/.85 'Roboto Condensed',Arial,sans-serif; letter-spacing:-.05em; }
.rr-site .rjh-data {
    display:flex; flex-wrap:wrap; align-items:stretch; min-height:64px;
    border-block:1px solid #151614; background:var(--rr-yellow); color:#151614;
}
.rr-site .rjh-data-label {
    display:flex; align-items:center; gap:13px; max-width:40%; margin:0 10px 0 0;
    padding:12px 42px 12px max(4.1vw,calc((100vw - 1440px)/2));
    background:#151614; color:white; clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%);
}
.rr-site .rjh-data-label i { display:block; flex:none; width:28px; height:14px; transform:skew(-22deg); background:repeating-linear-gradient(90deg,var(--rr-yellow) 0 5px,transparent 5px 9px); }
.rr-site .rjh-data .dd-data-specs { display:flex; flex-wrap:wrap; margin:0; }
.rr-site .rjh-data .dd-data-spec {
    display:flex; align-items:center; gap:8px; position:relative; border:0; padding:12px clamp(14px,2vw,32px);
}
.rr-site .rjh-data .dd-data-spec+.dd-data-spec::before { content:'';position:absolute;left:0;width:1px;height:30px;background:#15161440;transform:rotate(12deg); }
.rr-site .rjh-data .dd-data-spec dt {
    min-height:0; color:inherit; font:700 10px/1.4 Arial,sans-serif; letter-spacing:.01em; max-width:110px;
}
.rr-site .rjh-data .dd-data-spec dd { order:-1; display:flex; align-items:baseline; gap:4px; margin:0; }
.rr-site .rjh-data .dd-data-spec dd strong { font:800 29px/1 'Roboto Condensed',Arial,sans-serif; letter-spacing:-.045em; }
.rr-site .rjh-data .dd-data-spec dd span { font:700 11px Arial,sans-serif; color:inherit; }
.rr-site .rjh-data .dd-data-ruler { display:none; }
.rr-site .rjh-ticks { margin-left:auto; align-self:center; width:clamp(40px,7vw,100px); margin-right:4%; height:10px; border-top:1px solid #15161470; background:repeating-linear-gradient(90deg,#15161470 0 1px,transparent 1px 8px); }
.rr-site .rr-container.rjh-programs { padding-block:32px 25px; }
.rr-site .rjh-program-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:18px; }
.rr-site .rjh-program-heading .rr-eyebrow { font-size:10px; margin-bottom:10px; }
.rr-site .rjh-program-heading h2 { margin:0; font-size:clamp(42px,4vw,58px); letter-spacing:-.055em; }
.rr-site .rjh-program-heading>p { color:var(--rr-muted); margin:0 0 3px; font-size:13px; }
.rr-site .rjh-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rr-site .rjh-program {
    position:relative; isolation:isolate; display:flex; align-items:center; min-height:154px;
    border:1px solid #cbcec4; background:white; color:#151614; overflow:hidden; padding:22px 25px;
}
.rr-site .rjh-program:hover { border-color:var(--rr-ink); }
.rr-site .rjh-program-track { color:white; background:#1a1c18; border-color:#1a1c18; }
.rr-site .rjh-program-copy { width:62%; }
.rr-site .rjh-program small { font-size:9px; color:#585c52; display:block; }
.rr-site .rjh-program-track small, .rr-site .rjh-program-track .rjh-arrow { color:var(--rr-yellow); }
.rr-site .rjh-program h3 { margin:12px 0 6px; font-size:clamp(29px,2.75vw,40px); font-weight:790; letter-spacing:-.05em; }
.rr-site .rjh-program p { font:13px/1.5 Arial,sans-serif; margin:0; color:#565b51; }
.rr-site .rjh-program-track p { color:#d9dbd3; }
.rr-site .rjh-program svg { position:absolute; z-index:-1; right:6%; top:50%; width:30%; max-height:132px; transform:translateY(-50%); }
.rr-site .rjh-arrow { position:absolute; bottom:12px; right:14px; font:23px/1 Arial; }
@media(max-width:1150px){
    .rr-site .rjh-data-label { max-width:30%; padding-right:26px; }
    .rr-site .rjh-data .dd-data-spec { gap:6px; padding:12px 15px; }
    .rr-site .rjh-ticks { display:none; }
}
@media(max-width:800px){
    .rr-site .rjh-hero { display:block; min-height:0; }
    .rr-site .rjh-story { max-width:100%; padding:30px 20px 24px; }
    .rr-site .rjh-story h1 { font-size:clamp(63px,12vw,88px); margin:23px 0 19px; }
    .rr-site .rjh-outline { display:none; }
    .rr-site .rjh-feature { position:relative; inset:auto; width:100%; aspect-ratio:1.88; }
    .rr-site .rjh-feature::after { background:linear-gradient(0deg,#111210bd,transparent 35%); }
    .rr-site .rjh-badge { right:18px; top:13px; padding:5px 8px; font-size:8px; }
    .rr-site .rjh-caption { right:18px; bottom:13px; gap:10px; }
    .rr-site .rjh-caption small { font-size:8px; margin:0 0 2px; }
    .rr-site .rjh-caption strong { font-size:22px; }
    .rr-site .rjh-caption b { font-size:32px; }
    .rr-site .rjh-data { display:block; }
    .rr-site .rjh-data-label { max-width:none; clip-path:none; padding:6px 20px; margin:0; font-size:8px; }
    .rr-site .rjh-data-label i { width:19px; height:9px; }
    .rr-site .rjh-data .dd-data-specs { display:grid; grid-auto-columns:minmax(0,1fr); grid-auto-flow:column; }
    .rr-site .rjh-data .dd-data-spec { flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:3px; padding:12px; }
    .rr-site .rjh-data .dd-data-spec+.dd-data-spec::before { top:15px; transform:none; }
    .rr-site .rjh-data .dd-data-spec dd strong { font-size:25px; }
    .rr-site .rjh-data .dd-data-spec dt { font-size:9px; }
    .rr-site .rr-container.rjh-programs { padding-block:27px 18px; }
    .rr-site .rjh-program-heading>p { display:none; }
    .rr-site .rjh-cards { grid-template-columns:1fr; gap:10px; }
    .rr-site .rjh-program { min-height:130px; padding:19px 17px; }
    .rr-site .rjh-program svg { right:3%; width:29%; }
    .rr-site .rjh-program-copy { width:66%; }
}
