
:root{
    --rbtm-navy:#0A1A2F;
    --rbtm-midnight:#12233F;
    --rbtm-gold:#CF9F55;
    --rbtm-warm-gold:#C8A55A;
    --rbtm-champagne:#E6DCC1;
    --rbtm-stone:#F5F2EC;
    --rbtm-white:#FFFFFF;
    --rbtm-ink:#1A1A1A;
    --rbtm-serif:"Cormorant Garamond",Georgia,serif;
    --rbtm-sans:"Barlow",system-ui,sans-serif;
}

[class*="rbtm-"]{box-sizing:border-box}

.rbtm-section{
    padding:110px 0!important;
}

.rbtm-eyebrow{
    margin-bottom:20px!important;
}

.rbtm-eyebrow p,
.rbtm-role p{
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    margin:0!important;
    padding:0!important;
    color:var(--rbtm-warm-gold)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:12px!important;
    line-height:1.35!important;
    font-weight:500!important;
    letter-spacing:3.5px!important;
    text-transform:uppercase!important;
}

.rbtm-eyebrow p::before{
    content:"";
    width:38px;
    height:1px;
    background:currentColor;
    flex:none;
    opacity:.75;
}

.rbtm-heading-row{
    margin-bottom:54px!important;
}

.rbtm-section-heading h2{
    margin:0!important;
    padding:0!important;
    color:var(--rbtm-navy)!important;
    font-family:var(--rbtm-serif)!important;
    font-size:clamp(30px,4vw,44px)!important;
    line-height:1.15!important;
    font-weight:600!important;
    letter-spacing:-.01em!important;
}

.rbtm-section-intro{
    margin-top:14px!important;
    max-width:720px!important;
}

.rbtm-section-intro p{
    margin:0!important;
    padding:0!important;
    color:#555!important;
    font-family:var(--rbtm-sans)!important;
    font-size:16px!important;
    line-height:1.75!important;
    font-weight:300!important;
}

.rbtm-body-copy p{
    margin:0 0 16px!important;
    color:#555!important;
    font-family:var(--rbtm-sans)!important;
    font-size:16px!important;
    line-height:1.72!important;
    font-weight:300!important;
}

/* =========================================================
   HERO
   ========================================================= */
.rbtm-hero{
    position:relative!important;
    min-height:60vh!important;
    overflow:hidden!important;
    background:var(--rbtm-navy)!important;
    display:flex!important;
    align-items:flex-end!important;
}

.rbtm-hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(rgba(10,26,47,.44),rgba(10,26,47,.80));
}

.rbtm-bg-row{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    z-index:0!important;
}

.rbtm-bg-row>.et_pb_column{
    width:100%!important;
    height:100%!important;
    margin:0!important;
}

.rbtm-bg-image,
.rbtm-bg-image .et_pb_image_wrap,
.rbtm-bg-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
}

.rbtm-bg-image img{
    object-fit:cover!important;
}

.rbtm-hero-content{
    position:relative!important;
    z-index:2!important;
    padding-bottom:74px!important;
}

.rbtm-hero-content>.et_pb_column{
    max-width:700px!important;
}

.rbtm-hero-heading h1{
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    font-family:var(--rbtm-serif)!important;
    font-size:clamp(40px,6vw,68px)!important;
    line-height:1.08!important;
    font-weight:600!important;
}

.rbtm-hero-copy{
    margin-top:20px!important;
    max-width:600px!important;
}

.rbtm-hero-copy p{
    margin:0!important;
    color:var(--rbtm-champagne)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:18px!important;
    line-height:1.7!important;
    font-weight:300!important;
}

/* =========================================================
   DIRECTOR
   ========================================================= */
.rbtm-director-row{
    display:grid!important;
    grid-template-columns:.85fr 1.15fr!important;
    gap:70px!important;
    align-items:start!important;
}

.rbtm-director-row>.et_pb_column{
    width:auto!important;
    max-width:none!important;
    margin:0!important;
}

.rbtm-portrait-placeholder{
    min-height:560px!important;
    padding:40px!important;
    background:linear-gradient(150deg,#12233F,#0A1A2F)!important;
    border:1px solid rgba(207,159,85,.35)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:14px!important;
}

.rbtm-portrait-logo,
.rbtm-portrait-logo .et_pb_image_wrap,
.rbtm-portrait-logo img{
    width:76px!important;
    height:auto!important;
}

.rbtm-portrait-copy p{
    margin:0!important;
    color:var(--rbtm-champagne)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:13px!important;
    line-height:1.6!important;
    font-weight:300!important;
}

.rbtm-portrait-copy strong{
    display:block!important;
    margin-bottom:6px!important;
    color:var(--rbtm-gold)!important;
    font-size:11px!important;
    letter-spacing:2.6px!important;
    text-transform:uppercase!important;
    font-weight:600!important;
}

.rbtm-portrait-copy span{
    opacity:.72!important;
}

.rbtm-role{
    margin-bottom:14px!important;
}

.rbtm-role p{
    letter-spacing:2px!important;
    font-size:13px!important;
}

.rbtm-director-heading h2{
    margin:0 0 8px!important;
    padding:0!important;
    color:var(--rbtm-navy)!important;
    font-family:var(--rbtm-serif)!important;
    font-size:clamp(30px,4vw,44px)!important;
    line-height:1.15!important;
    font-weight:600!important;
}

.rbtm-director-sub{
    margin-bottom:24px!important;
}

.rbtm-director-sub p{
    margin:0!important;
    color:var(--rbtm-gold)!important;
    font-family:var(--rbtm-serif)!important;
    font-size:19px!important;
    line-height:1.45!important;
    font-style:italic!important;
}

.rbtm-director-quote{
    margin-top:26px!important;
    border-left:2px solid var(--rbtm-gold)!important;
    padding-left:22px!important;
}

.rbtm-director-quote blockquote{
    margin:0!important;
    padding:0!important;
    border:0!important;
    color:var(--rbtm-navy)!important;
    font-family:var(--rbtm-serif)!important;
    font-size:19px!important;
    line-height:1.55!important;
    font-style:italic!important;
    font-weight:400!important;
}

.rbtm-quals{
    margin-top:34px!important;
    padding-top:28px!important;
    border-top:1px solid rgba(10,26,47,.12)!important;
}

.rbtm-quals-heading{
    margin-bottom:16px!important;
}

.rbtm-quals-heading h3{
    margin:0!important;
    padding:0!important;
    color:var(--rbtm-warm-gold)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:11px!important;
    line-height:1.4!important;
    letter-spacing:2.6px!important;
    text-transform:uppercase!important;
    font-weight:600!important;
}

.rbtm-quals-list ul{
    columns:2!important;
    column-gap:34px!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}

.rbtm-quals-list li{
    position:relative!important;
    break-inside:avoid!important;
    margin:0 0 9px!important;
    padding-left:16px!important;
    color:#555!important;
    font-family:var(--rbtm-sans)!important;
    font-size:14px!important;
    line-height:1.55!important;
    font-weight:300!important;
}

.rbtm-quals-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:9px;
    width:6px;
    height:1px;
    background:var(--rbtm-gold);
}

/* =========================================================
   JOURNEY TIMELINE
   ========================================================= */
.rbtm-journey-section{
    position:relative!important;
}

.rbtm-journey-section::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:120px;
    pointer-events:none;
    background-image:repeating-linear-gradient(90deg,rgba(207,159,85,.07) 0 1px,transparent 1px 40px);
    -webkit-mask-image:linear-gradient(to bottom,#000,transparent);
    mask-image:linear-gradient(to bottom,#000,transparent);
}

.rbtm-timeline{
    --year:118px;
    --rail:40px;
    --dot:11px;
    --x:calc(var(--year) + (var(--rail)/2));
    position:relative!important;
    margin-top:10px!important;
}

.rbtm-timeline::before{
    content:"";
    position:absolute;
    left:var(--x);
    top:8px;
    bottom:8px;
    width:1px;
    margin-left:-.5px;
    background:linear-gradient(var(--rbtm-gold),rgba(207,159,85,.15));
}

.rbtm-timeline-item{
    position:relative!important;
    display:grid!important;
    grid-template-columns:var(--year) var(--rail) minmax(0,1fr)!important;
    padding-bottom:34px!important;
    align-items:start!important;
}

.rbtm-timeline-item:last-child{
    padding-bottom:0!important;
}

.rbtm-timeline-item::after{
    content:"";
    position:absolute;
    left:var(--x);
    top:8px;
    width:var(--dot);
    height:var(--dot);
    margin-left:calc(var(--dot)/-2);
    box-sizing:border-box;
    border-radius:50%;
    background:var(--rbtm-stone);
    border:1px solid var(--rbtm-gold);
    box-shadow:0 0 0 6px #fff;
}

.rbtm-timeline-mark{
    --dot:14px;
}

.rbtm-timeline-mark::after{
    background:var(--rbtm-gold);
    border-color:var(--rbtm-gold);
}

.rbtm-timeline-year{
    grid-column:1!important;
    padding-top:3px!important;
    padding-right:14px!important;
    text-align:right!important;
}

.rbtm-timeline-year p{
    margin:0!important;
    color:var(--rbtm-warm-gold)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:12px!important;
    line-height:1.4!important;
    letter-spacing:1.6px!important;
    text-transform:uppercase!important;
    font-weight:500!important;
}

.rbtm-timeline-copy{
    grid-column:3!important;
    padding-left:14px!important;
}

.rbtm-timeline-heading h3{
    margin:0 0 5px!important;
    padding:0!important;
    color:var(--rbtm-navy)!important;
    font-family:var(--rbtm-serif)!important;
    font-size:20px!important;
    line-height:1.35!important;
    font-weight:500!important;
}

.rbtm-timeline-mark .rbtm-timeline-heading h3{
    color:var(--rbtm-gold)!important;
}

.rbtm-timeline-text p{
    margin:0!important;
    max-width:620px!important;
    color:#666!important;
    font-family:var(--rbtm-sans)!important;
    font-size:14.5px!important;
    line-height:1.7!important;
    font-weight:300!important;
}

/* =========================================================
   DEPARTMENTS
   ========================================================= */
.rbtm-department-rail{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:26px!important;
    align-items:stretch!important;
}

.rbtm-department-card{
    min-width:0!important;
    height:100%!important;
    padding:38px 30px!important;
    background:#fff!important;
    border-top:2px solid var(--rbtm-gold)!important;
    display:flex!important;
    flex-direction:column!important;
}

.rbtm-dept-number{
    margin-bottom:14px!important;
}

.rbtm-dept-number p{
    margin:0!important;
    color:var(--rbtm-warm-gold)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:11px!important;
    line-height:1.35!important;
    letter-spacing:2.4px!important;
    font-weight:600!important;
}

.rbtm-dept-heading{
    margin-bottom:12px!important;
}

.rbtm-dept-heading h3{
    margin:0!important;
    color:var(--rbtm-navy)!important;
    font-family:var(--rbtm-serif)!important;
    font-size:21px!important;
    line-height:1.25!important;
    font-weight:600!important;
}

.rbtm-dept-description{
    margin-bottom:18px!important;
}

.rbtm-dept-description p{
    margin:0!important;
    color:#666!important;
    font-family:var(--rbtm-sans)!important;
    font-size:14px!important;
    line-height:1.7!important;
    font-weight:300!important;
}

.rbtm-dept-list{
    margin-top:auto!important;
}

.rbtm-dept-list ul{
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}

.rbtm-dept-list li{
    margin:0!important;
    padding:7px 0!important;
    border-top:1px solid rgba(10,26,47,.07)!important;
    color:#555!important;
    font-family:var(--rbtm-sans)!important;
    font-size:13px!important;
    line-height:1.55!important;
}

.rbtm-dept-link{
    margin-top:20px!important;
}

.rbtm-dept-link p{
    margin:0!important;
}

.rbtm-dept-link a{
    color:var(--rbtm-gold)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:11px!important;
    line-height:1.5!important;
    letter-spacing:1.8px!important;
    text-transform:uppercase!important;
    font-weight:500!important;
}

/* =========================================================
   WORKING TOGETHER
   ========================================================= */
.rbtm-working-section{
    position:relative!important;
    overflow:hidden!important;
}

.rbtm-working-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(to right,rgba(230,220,193,.07) 1px,transparent 1px),
        linear-gradient(to bottom,rgba(230,220,193,.07) 1px,transparent 1px);
    background-size:88px 88px;
    -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 78%);
    mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 78%);
}

.rbtm-heading-on-dark{
    position:relative!important;
    z-index:1!important;
}

.rbtm-white-heading h2{
    color:#fff!important;
}

.rbtm-light-copy p{
    color:var(--rbtm-champagne)!important;
    opacity:.85!important;
}

.rbtm-working-rail{
    position:relative!important;
    z-index:1!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:26px!important;
}

.rbtm-working-card{
    min-width:0!important;
    overflow:hidden!important;
    background:var(--rbtm-midnight)!important;
    border:1px solid rgba(207,159,85,.22)!important;
}

.rbtm-working-image,
.rbtm-working-image .et_pb_image_wrap{
    display:block!important;
    width:100%!important;
    aspect-ratio:3/2!important;
    overflow:hidden!important;
}

.rbtm-working-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transition:transform .8s cubic-bezier(.2,.7,.3,1)!important;
}

.rbtm-working-card:hover .rbtm-working-image img{
    transform:scale(1.04)!important;
}

.rbtm-working-body{
    padding:34px 34px 38px!important;
}

.rbtm-working-kicker{
    margin-bottom:18px!important;
}

.rbtm-working-kicker p{
    margin:0!important;
    color:var(--rbtm-gold)!important;
    font-family:var(--rbtm-serif)!important;
    font-size:15px!important;
    line-height:1.35!important;
    letter-spacing:2px!important;
}

.rbtm-working-heading{
    margin-bottom:18px!important;
}

.rbtm-working-heading h3{
    margin:0!important;
    color:#fff!important;
    font-family:var(--rbtm-serif)!important;
    font-size:24px!important;
    line-height:1.25!important;
    font-weight:600!important;
}

.rbtm-working-copy p{
    margin:0!important;
    color:var(--rbtm-champagne)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:15px!important;
    line-height:1.7!important;
    font-weight:300!important;
    opacity:.8!important;
}

/* =========================================================
   PEOPLE CARDS
   ========================================================= */
.rbtm-people-group-row + .rbtm-people-group-row{
    margin-top:54px!important;
}

.rbtm-people-group-heading{
    margin-bottom:30px!important;
    padding-bottom:14px!important;
    border-bottom:1px solid rgba(207,159,85,.28)!important;
}

.rbtm-people-group-heading h3{
    margin:0!important;
    color:var(--rbtm-warm-gold)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:12px!important;
    line-height:1.4!important;
    letter-spacing:3px!important;
    text-transform:uppercase!important;
    font-weight:600!important;
}

.rbtm-people-rail{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:26px!important;
}

.rbtm-person-card{
    min-width:0!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 8px 34px rgba(10,26,47,.06)!important;
    transition:transform .45s ease,box-shadow .45s ease!important;
}

.rbtm-person-card:hover{
    transform:translateY(-5px)!important;
    box-shadow:0 18px 48px rgba(10,26,47,.13)!important;
}

.rbtm-person-image,
.rbtm-person-image .et_pb_image_wrap{
    display:block!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    overflow:hidden!important;
    background:var(--rbtm-stone)!important;
}

.rbtm-person-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transition:transform .7s ease!important;
}

.rbtm-person-card:hover .rbtm-person-image img{
    transform:scale(1.04)!important;
}

.rbtm-person-placeholder{
    width:100%!important;
    aspect-ratio:1/1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    background:linear-gradient(160deg,#f3f1ec,#e9e6de)!important;
}

.rbtm-person-placeholder-logo,
.rbtm-person-placeholder-logo .et_pb_image_wrap,
.rbtm-person-placeholder-logo img{
    width:52px!important;
    height:auto!important;
    opacity:.55!important;
}

.rbtm-person-placeholder-copy p{
    margin:0!important;
    color:#9aa4b1!important;
    font-family:var(--rbtm-sans)!important;
    font-size:11px!important;
    line-height:1.4!important;
    letter-spacing:2px!important;
    text-transform:uppercase!important;
}

.rbtm-person-caption{
    padding:20px 22px 24px!important;
    border-top:2px solid var(--rbtm-gold)!important;
}

.rbtm-person-name{
    margin-bottom:4px!important;
}

.rbtm-person-name h3{
    margin:0!important;
    color:var(--rbtm-navy)!important;
    font-family:var(--rbtm-serif)!important;
    font-size:19px!important;
    line-height:1.3!important;
    font-weight:600!important;
}

.rbtm-person-role p{
    margin:0!important;
    color:var(--rbtm-warm-gold)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:13px!important;
    line-height:1.45!important;
    letter-spacing:1.4px!important;
    text-transform:uppercase!important;
    font-weight:300!important;
}

/* =========================================================
   COMMITMENT
   ========================================================= */
.rbtm-commitment-row{
    text-align:center!important;
}

.rbtm-commitment-heading{
    margin-bottom:28px!important;
}

.rbtm-commitment-heading h2{
    margin:0!important;
    color:var(--rbtm-navy)!important;
    font-family:var(--rbtm-serif)!important;
    font-size:clamp(30px,4vw,46px)!important;
    line-height:1.15!important;
    font-weight:600!important;
}

.rbtm-commitment-quote blockquote{
    margin:0!important;
    padding:0!important;
    border:0!important;
    color:var(--rbtm-navy)!important;
    font-family:var(--rbtm-serif)!important;
    font-size:clamp(24px,3.2vw,36px)!important;
    line-height:1.35!important;
    font-style:italic!important;
    font-weight:400!important;
}

.rbtm-commitment-rule{
    width:60px!important;
    height:1px!important;
    margin:36px auto 0!important;
    background:var(--rbtm-gold)!important;
}

/* =========================================================
   CTA
   ========================================================= */
.rbtm-cta-section{
    position:relative!important;
    overflow:hidden!important;
    color:#fff!important;
    text-align:center!important;
}

.rbtm-cta-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:repeating-linear-gradient(
        24deg,
        rgba(230,220,193,.08) 0 1px,
        transparent 1px 26px,
        rgba(230,220,193,.08) 26px 27px,
        transparent 27px 96px
    );
    -webkit-mask-image:linear-gradient(105deg,#000 0 34%,transparent 74%);
    mask-image:linear-gradient(105deg,#000 0 34%,transparent 74%);
}

.rbtm-cta-row{
    position:relative!important;
    z-index:1!important;
    text-align:center!important;
}

.rbtm-cta-heading{
    margin-bottom:26px!important;
}

.rbtm-cta-heading h2{
    margin:0 auto!important;
    max-width:720px!important;
    color:#fff!important;
    font-family:var(--rbtm-serif)!important;
    font-size:clamp(32px,4.5vw,50px)!important;
    line-height:1.15!important;
    font-weight:600!important;
}

.rbtm-cta-copy{
    margin-bottom:40px!important;
}

.rbtm-cta-copy p{
    margin:0!important;
    color:var(--rbtm-champagne)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:18px!important;
    line-height:1.7!important;
    font-weight:300!important;
}

.rbtm-cta-button{
    text-align:center!important;
}

.rbtm-cta-button .et_pb_button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:58px!important;
    padding:0 38px!important;
    background:var(--rbtm-gold)!important;
    color:var(--rbtm-navy)!important;
    border:1px solid var(--rbtm-gold)!important;
    border-radius:0!important;
    font-family:var(--rbtm-sans)!important;
    font-size:13px!important;
    letter-spacing:2px!important;
    text-transform:uppercase!important;
}

.rbtm-cta-button .et_pb_button::after{
    display:none!important;
}

/* =========================================================
   PROOF
   ========================================================= */
.rbtm-proof-section{
    padding:64px 0!important;
    text-align:center!important;
}

.rbtm-proof-stars{
    margin-bottom:14px!important;
}

.rbtm-proof-stars p{
    margin:0!important;
    color:var(--rbtm-gold)!important;
    font-family:var(--rbtm-sans)!important;
    font-size:22px!important;
    line-height:1!important;
    letter-spacing:4px!important;
}

.rbtm-proof-copy{
    margin-bottom:28px!important;
}

.rbtm-proof-copy p{
    margin:0!important;
    color:#555!important;
    font-family:var(--rbtm-sans)!important;
    font-size:15px!important;
    line-height:1.6!important;
    font-weight:300!important;
}

.rbtm-proof-copy a{
    color:var(--rbtm-navy)!important;
    border-bottom:1px solid var(--rbtm-gold)!important;
}

.rbtm-proof-badges{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:14px!important;
}

.rbtm-proof-badge{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:58px!important;
    padding:8px 14px!important;
    background:#fff!important;
    border-radius:8px!important;
    box-shadow:0 4px 18px rgba(10,26,47,.08)!important;
}

.rbtm-proof-badge .et_pb_image_wrap{
    height:42px!important;
}

.rbtm-proof-badge img{
    width:auto!important;
    height:42px!important;
    max-width:120px!important;
    object-fit:contain!important;
}

/* =========================================================
   TABLET
   ========================================================= */
@media (min-width:601px) and (max-width:980px){

    .rbtm-section{
        padding:80px 0!important;
    }

    .rbtm-director-row{
        grid-template-columns:1fr!important;
        gap:46px!important;
    }

    .rbtm-portrait-placeholder{
        min-height:380px!important;
    }

    .rbtm-timeline{
        --year:92px;
        --rail:34px;
    }

    .rbtm-timeline-year{
        padding-right:10px!important;
    }

    .rbtm-timeline-copy{
        padding-left:10px!important;
    }

    /* same behaviour as supplied prototype: horizontally swipeable rails */
    .rbtm-rail-sm{
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:stretch!important;
        gap:20px!important;
        overflow-x:auto!important;
        overflow-y:visible!important;
        scroll-snap-type:x mandatory!important;
        -webkit-overflow-scrolling:touch!important;
        scrollbar-width:none!important;
        padding-bottom:10px!important;
    }

    .rbtm-rail-sm::-webkit-scrollbar{
        display:none!important;
    }

    .rbtm-rail-card{
        flex:0 0 46%!important;
        width:46%!important;
        max-width:46%!important;
        min-width:46%!important;
        scroll-snap-align:start!important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width:600px){

    .rbtm-section{
        padding:64px 0!important;
    }

    .rbtm-heading-row{
        margin-bottom:38px!important;
    }

    .rbtm-hero{
        min-height:auto!important;
        padding:132px 0 52px!important;
        align-items:flex-start!important;
    }

    .rbtm-hero-content{
        padding-bottom:0!important;
    }

    .rbtm-hero-heading h1{
        font-size:42px!important;
    }

    .rbtm-hero-copy p{
        font-size:16px!important;
    }

    .rbtm-director-row{
        grid-template-columns:1fr!important;
        gap:36px!important;
    }

    .rbtm-portrait-placeholder{
        min-height:340px!important;
    }

    .rbtm-quals-list ul{
        columns:1!important;
    }

    .rbtm-timeline{
        --year:0px;
        --rail:36px;
        --x:18px;
    }

    .rbtm-timeline-item{
        display:block!important;
        padding-left:36px!important;
        padding-bottom:30px!important;
    }

    .rbtm-timeline-year{
        padding:0!important;
        text-align:left!important;
    }

    .rbtm-timeline-copy{
        padding:5px 0 0!important;
    }

    .rbtm-timeline-text p{
        font-size:14px!important;
    }

    .rbtm-rail-sm{
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:stretch!important;
        gap:14px!important;
        overflow-x:auto!important;
        overflow-y:visible!important;
        scroll-snap-type:x mandatory!important;
        -webkit-overflow-scrolling:touch!important;
        scrollbar-width:none!important;
        margin-left:-6.82vw!important;
        margin-right:-6.82vw!important;
        padding-left:6.82vw!important;
        padding-right:6.82vw!important;
        padding-bottom:10px!important;
    }

    .rbtm-rail-sm::-webkit-scrollbar{
        display:none!important;
    }

    .rbtm-rail-card{
        flex:0 0 84%!important;
        width:84%!important;
        max-width:84%!important;
        min-width:84%!important;
        scroll-snap-align:center!important;
    }

    .rbtm-working-body{
        padding:28px 26px 32px!important;
    }

    .rbtm-person-caption{
        padding:18px 20px 22px!important;
    }

    .rbtm-cta-button .et_pb_button{
        width:100%!important;
    }

    .rbtm-proof-badges{
        gap:10px!important;
    }

    .rbtm-proof-badge{
        height:48px!important;
        padding:6px 10px!important;
    }

    .rbtm-proof-badge .et_pb_image_wrap,
    .rbtm-proof-badge img{
        height:34px!important;
    }
}

/* =========================================================
   0.1.1 — DIVI 5 MOBILE RAIL FIX
   Reproduces the supplied static prototype's mobile rail:
   margin-left/right:-24px; padding-left/right:24px; 84% cards.
   Desktop/tablet remain unchanged.
   ========================================================= */
@media (max-width:600px){

    /* Divi 5 Group modules introduce internal wrapper elements.
       The JS marks the actual common wrapper that must scroll. */
    .rbtm-mobile-live-rail{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        align-items:flex-start!important;
        justify-content:flex-start!important;
        gap:14px!important;

        overflow-x:auto!important;
        overflow-y:hidden!important;
        scroll-snap-type:x mandatory!important;
        -webkit-overflow-scrolling:touch!important;
        overscroll-behavior-x:contain!important;
        touch-action:pan-x pan-y!important;
        scrollbar-width:none!important;

        width:auto!important;
        max-width:none!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;

        /* Exact behaviour used by the supplied original prototype. */
        margin-left:-24px!important;
        margin-right:-24px!important;
        padding-left:24px!important;
        padding-right:24px!important;
        padding-bottom:10px!important;
    }

    .rbtm-mobile-live-rail::-webkit-scrollbar{
        display:none!important;
    }

    .rbtm-mobile-live-root{
        flex:0 0 84%!important;
        width:84%!important;
        min-width:84%!important;
        max-width:84%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        align-self:flex-start!important;
        scroll-snap-align:center!important;
        margin:0!important;
    }

    /* Working Together: keep the image/card proportions from the original. */
    .rbtm-working-section .rbtm-mobile-live-card,
    .rbtm-working-section .rbtm-working-card{
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        align-self:flex-start!important;
        margin:0!important;
    }

    .rbtm-working-section .rbtm-working-image,
    .rbtm-working-section .rbtm-working-image .et_pb_image_wrap{
        width:100%!important;
        aspect-ratio:3/2!important;
        height:auto!important;
        min-height:0!important;
    }

    .rbtm-working-section .rbtm-working-image img{
        display:block!important;
        width:100%!important;
        height:100%!important;
        aspect-ratio:3/2!important;
        object-fit:cover!important;
    }

    /* The People: every Office/Management and Site/Trades group is
       its own horizontal rail. Prevent Divi wrappers from stretching
       cards into the very tall blank blocks seen on staging. */
    .rbtm-people-section .rbtm-mobile-live-card,
    .rbtm-people-section .rbtm-person-card{
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        align-self:flex-start!important;
        margin:0!important;
    }

    .rbtm-people-section .rbtm-person-image,
    .rbtm-people-section .rbtm-person-image .et_pb_image_wrap,
    .rbtm-people-section .rbtm-person-placeholder{
        display:block!important;
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        aspect-ratio:1/1!important;
        overflow:hidden!important;
    }

    .rbtm-people-section .rbtm-person-placeholder{
        display:flex!important;
    }

    .rbtm-people-section .rbtm-person-image img{
        display:block!important;
        width:100%!important;
        height:100%!important;
        aspect-ratio:1/1!important;
        object-fit:cover!important;
    }

    .rbtm-people-section .rbtm-person-caption{
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
    }

    /* Keep section titles and subgroup headings fixed; only card rails move. */
    .rbtm-working-section .rbtm-heading-row,
    .rbtm-people-section .rbtm-heading-row,
    .rbtm-people-section .rbtm-people-group-heading{
        position:relative!important;
        overflow:visible!important;
    }
}
