/* Rock Solid Business Solution colour skin for services9 (Fulcra design), 4 Nov 2026.
   Loaded after fulcra.css by layouts/header.blade.php only while this file exists:
   rename or delete this file to go straight back to the Fulcra colours.
   Palette sampled from the client's logo: maroon #4b0000, amber #fca115, cream centre. */

:root{
  --ink:#2a0806;--ink-2:#360b09;--ink-3:#47100c;--ink-4:#66221a;
  --bone:#f8ecd8;--bone-2:#efdcbd;--paper:#fdf6ea;
  --muted-d:#c9ab8f;--muted-l:#6b5243;
  --line-d:rgba(248,236,216,.14);--line-l:rgba(42,8,6,.14);
  --signal:#fca115;      /* amber: buttons, dots, bars (dark text on it) */
  --signal-l:#a8500a;    /* burnt amber: large accent text on cream */
  --signal-ink:#8a3a04;  /* small accent text on cream */
}

/* The logo is an oval emblem, so it needs more height than the old wordmark */
.f-logo img{height:62px}
@media (max-width:575.98px){.f-logo img{height:50px}}
.f-loader-top img{height:72px}

/* Fixed colours in fulcra.css that do not use the variables above (generated from fulcra.css) */
.f-header.is-solid{background-color:rgba(42,8,6,0.96)}
@supports (backdrop-filter:blur(10px)){.f-header.is-solid{background-color:rgba(42,8,6,0.9)}}
.f-nav a:hover{background-color:rgba(248,236,216,0.08)}
.f-cursor{border-top-color:rgba(248,236,216,0.45);border-right-color:rgba(248,236,216,0.45);border-bottom-color:rgba(248,236,216,0.45);border-left-color:rgba(248,236,216,0.45)}
.f-cursor.is-link{background-color:rgba(248,236,216,0.08);border-top-color:rgba(248,236,216,0.7);border-right-color:rgba(248,236,216,0.7);border-bottom-color:rgba(248,236,216,0.7);border-left-color:rgba(248,236,216,0.7)}
.f-cursor.on-light{border-top-color:rgba(42,8,6,0.45);border-right-color:rgba(42,8,6,0.45);border-bottom-color:rgba(42,8,6,0.45);border-left-color:rgba(42,8,6,0.45)}
.f-cursor.on-light.is-link{background-color:rgba(42,8,6,0.06);border-top-color:rgba(42,8,6,0.6);border-right-color:rgba(42,8,6,0.6);border-bottom-color:rgba(42,8,6,0.6);border-left-color:rgba(42,8,6,0.6)}
.f-toast button:hover{background-color:rgba(248,236,216,0.1)}
.f-hero-bg::after{background-image:linear-gradient(rgba(42,8,6,0.55) 0%, rgba(42,8,6,0.35) 35%, rgba(42,8,6,0.78) 72%, rgba(42,8,6,0.96) 100%)}
.f-hero-foot p{color:rgb(226, 207, 174)}
.f-hcard-num{background-color:rgba(42,8,6,0.6)}
.f-voice{box-shadow:rgba(42,8,6,0.35) 0px -24px 60px -40px}
.f-light .f-field input, .f-light .f-field select, .f-light .f-field textarea, .f-paper .f-field input, .f-paper .f-field select, .f-paper .f-field textarea, .f-card--light .f-field input, .f-card--light .f-field select, .f-card--light .f-field textarea{border-bottom-color:rgba(42,8,6,0.28)}
.f-field ::placeholder{color:rgba(201,171,143,0.75)}
.f-light .f-field ::placeholder, .f-paper .f-field ::placeholder, .f-card--light .f-field ::placeholder{color:rgba(107,82,67,0.7)}
.f-alert--ok{background-color:rgba(252,161,21,0.1);border-top-color:rgba(252,161,21,0.45);border-right-color:rgba(252,161,21,0.45);border-bottom-color:rgba(252,161,21,0.45);border-left-color:rgba(252,161,21,0.45)}
.f-straddle .f-cover{box-shadow:rgba(42,8,6,0.55) 0px 40px 90px -50px}
.f-duo a::after{background-image:linear-gradient(rgba(42,8,6,0.1), rgba(42,8,6,0.8))}
.f-dialog::backdrop{background-color:rgba(42,8,6,0.74)}
.f-lightbox{background-color:rgba(30,5,4,0.96)}
.f-signal .f-stats, .f-signal .f-stat + .f-stat, .f-signal .f-stat:nth-child(n+3){border-top-color:rgba(42,8,6,0.22);border-right-color:rgba(42,8,6,0.22);border-bottom-color:rgba(42,8,6,0.22);border-left-color:rgba(42,8,6,0.22)}
.f-card--signal .f-btn--ghost{border-top-color:rgba(42,8,6,0.35);border-right-color:rgba(42,8,6,0.35);border-bottom-color:rgba(42,8,6,0.35);border-left-color:rgba(42,8,6,0.35)}
.f-field input, .f-field select, .f-field textarea{border-bottom-color:rgba(248,236,216,0.3)}
.f-card:not(.f-card--light) .f-field input:hover, .f-card:not(.f-card--light) .f-field textarea:hover, .f-card:not(.f-card--light) .f-field select:hover{border-bottom-color:rgba(248,236,216,0.55)}
.f-light .f-field input:hover, .f-light .f-field textarea:hover, .f-light .f-field select:hover, .f-paper .f-field input:hover, .f-paper .f-field textarea:hover{border-bottom-color:rgba(42,8,6,0.55)}
.f-light .f-card:not(.f-card--light):not(.f-card--signal) .f-field input, .f-light .f-card:not(.f-card--light):not(.f-card--signal) .f-field select, .f-light .f-card:not(.f-card--light):not(.f-card--signal) .f-field textarea{border-bottom-color:rgba(248,236,216,0.3)}
.f-light .f-card:not(.f-card--light):not(.f-card--signal) .f-field ::placeholder{color:rgba(201,171,143,0.75)}
.f-topbar{background-color:rgba(42,8,6,0.35)}
.f-topbar-social a:hover{background-color:rgba(248,236,216,0.08)}
.f-nav-toggle:hover, .f-nav-item.is-open > .f-nav-toggle, .f-nav-item:focus-within > .f-nav-toggle{background-color:rgba(248,236,216,0.08)}
.f-nav .f-drop a:hover, .f-nav .f-drop a:focus-visible{background-color:rgba(248,236,216,0.06)}
.f-nav .f-drop a.is-active{background-color:rgba(252,161,21,0.12)}
.f-nav .f-drop a.f-drop-all:hover{background-color:rgba(252,161,21,0.08)}
.f-nav .f-drop .f-drop-foot a.f-drop-all.is-active{background-color:rgba(252,161,21,0.12)}

/* ---------- Rock Solid content (4 Nov 2026) ---------- */
/* Founder band on the home page: a short profile, not a quote */
.f-quote .f-quote-text{margin:0;font:600 clamp(1.5rem,.95rem + 2.2vw,3.2rem)/1.12 var(--display);letter-spacing:-.035em;max-width:30ch}
/* Initials instead of a photo until the founder's photo is supplied */
.f-initials{display:grid;place-items:center;width:100%;max-width:380px;aspect-ratio:4/5;border-radius:8px;background:var(--ink-3);color:var(--signal);font:700 clamp(4rem,2.4rem + 6vw,8.5rem)/1 var(--display);letter-spacing:-.05em}
.f-initials--sm{width:64px;height:64px;max-width:none;aspect-ratio:auto;border-radius:50%;background:var(--ink);font-size:1.35rem;letter-spacing:-.02em}
.f-light .f-initials,.f-paper .f-initials{background:var(--ink-2)}
/* Footer wordmark: "rock solid" is longer than "fulcra" */
.f-wordmark{font-size:clamp(3.4rem,0rem + 20.5vw,38rem)}


/* Projects page + home Projects rows (4 Nov 2026) */
.rs-note{color:var(--muted-d);max-width:68ch;margin:0 0 clamp(2rem,1.5rem + 2vw,3.5rem)}
.f-head-side .rs-note{margin:0}
.rs-projects + .rs-projects{margin-top:clamp(4rem,3rem + 4vw,7.5rem)}
.f-row.rs-project{grid-template-columns:minmax(150px,.9fr) minmax(0,4fr);align-items:start;scroll-margin-top:120px}
.f-row.rs-project:hover{padding-left:0}
.f-row.rs-project:hover h3{color:inherit}
.rs-project .f-mono{padding-top:.4rem}
.f-row.rs-project p{max-width:72ch}
.f-row p.rs-project-client{color:inherit;font-weight:500;margin-top:.45rem}
.f-light .rs-note,.f-paper .rs-note{color:var(--muted-l)}
.f-light .rs-projects-end a,.f-paper .rs-projects-end a{color:var(--signal-ink)}
.f-row.rs-project.rs-project--link{grid-template-columns:minmax(150px,.9fr) minmax(0,4fr) auto;align-items:center}
.f-row.rs-project.rs-project--link:hover{padding-left:1rem}
.f-row.rs-project.rs-project--link:hover h3{color:var(--signal)}
.rs-projects-end{margin:clamp(3rem,2rem + 3vw,5rem) 0 0;max-width:62ch;font-size:1.15rem;line-height:1.6}
.rs-projects-end a{color:var(--signal);text-decoration:underline;text-underline-offset:.2em}
@media (max-width:767.98px){
.f-row.rs-project{grid-template-columns:1fr;gap:.5rem}
.f-row.rs-project.rs-project--link{grid-template-columns:1fr auto;gap:.5rem 1rem}
.rs-project--link .f-mono{grid-column:1 / -1}
.rs-project .f-mono{padding-top:0}
}


/* Team cards + profile popup (4 Nov 2026) */
.rs-person{position:relative;display:flex;flex-direction:column}
.rs-person-text{margin-bottom:1rem}
.rs-person .f-person-photo img{filter:none}
.rs-person .f-person-photo .f-initials{max-width:none;width:100%;height:100%;border-radius:0}
.rs-person .rs-person-name{font-size:1.35rem;letter-spacing:-.02em;margin:0 0 .35rem}
.rs-person-open{display:inline-flex;align-items:center;align-self:flex-start;gap:.45rem;margin-top:auto;padding:0 0 .15rem;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer}
.rs-person-open::after{content:"";position:absolute;inset:0;z-index:1;border-radius:6px}
.rs-person-open .f-ico{width:1em;height:1em;transition:transform .4s var(--ease)}
.rs-person:hover .rs-person-open,.rs-person-open:focus-visible{color:var(--signal)}
.f-light .rs-person:hover .rs-person-open,.f-paper .rs-person:hover .rs-person-open{color:var(--signal-ink)}
.rs-person:hover .rs-person-open .f-ico{transform:translate(2px,-2px)}
.rs-person-open:focus-visible{outline:none}
.rs-person-open:focus-visible::after{outline:2px solid var(--signal);outline-offset:6px}
.f-dialog.rs-profile{width:min(1060px,calc(100vw - 2rem))}
.rs-profile-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);gap:clamp(1.6rem,1rem + 2.2vw,3.2rem);align-items:start}
.rs-profile-photo{position:sticky;top:clamp(1.6rem,1rem + 2.5vw,3.2rem);border-radius:8px;overflow:hidden;aspect-ratio:4/5;background:var(--bone-2)}
.rs-profile-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.rs-profile-photo .f-initials{max-width:none;width:100%;height:100%;border-radius:0}
.rs-profile-body{padding-top:.2rem}
.rs-profile h2{margin-top:.9rem}
.rs-profile-text{font-size:1.02rem;line-height:1.7}
.rs-profile-text p{margin:0 0 1rem}
.rs-profile-text h3{font-family:var(--mono,monospace);font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--signal-ink);margin:2rem 0 .6rem}
.rs-profile-text ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-l)}
.rs-profile-text li{position:relative;padding:.7rem 0 .7rem 1.3rem;border-bottom:1px solid var(--line-l);line-height:1.5}
.rs-profile-text li::before{content:"";position:absolute;left:0;top:1.25rem;width:.42rem;height:.42rem;border-radius:50%;background:var(--signal)}
@media (max-width:767.98px){
.rs-profile-inner{grid-template-columns:1fr;gap:1.4rem}
.rs-profile-photo{position:static;width:min(240px,62%);aspect-ratio:4/5}
.rs-profile-text{font-size:1rem}
}


/* Projects timeline v2: filter chips, "led by" tags, project page strip (4 Nov 2026) */
.rs-filter{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 clamp(1.4rem,1rem + 1.5vw,2.4rem)}
.rs-chip{display:inline-flex;align-items:center;gap:.55rem;padding:.62rem 1.05rem;border:1px solid var(--line-l);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.92rem;font-weight:500;line-height:1.2;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s}
.rs-chip span{font-family:var(--mono,monospace);font-size:.74rem;opacity:.75}
.rs-chip:hover{border-color:var(--ink)}
.rs-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.rs-chip:focus-visible{outline:2px solid var(--signal-ink);outline-offset:3px}
.rs-timeline>li[hidden]{display:none}
.rs-tag{display:inline-block;margin-top:.75rem;padding:.3rem .62rem;border-radius:999px;font-family:var(--mono,monospace);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.3;background:rgba(42,8,6,.07);color:var(--muted-l)}
.rs-tag--company{background:rgba(252,161,21,.2);color:var(--signal-ink)}
.f-light .f-row.rs-project.rs-project--link:hover h3{color:var(--signal-ink)}
.f-strip.rs-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:767.98px){
.f-strip.rs-strip{grid-template-columns:1fr}
.f-strip.rs-strip>div{padding-left:0}
.f-strip.rs-strip>div+div{border-left:0;border-top:1px solid var(--line-l)}
}


/* Project page photos: lead photo + masonry gallery, both open the lightbox (4 Nov 2026) */
.rs-lead{margin:0 0 2rem}
.rs-lead a{display:block;border-radius:8px;overflow:hidden;cursor:zoom-in;background:var(--bone-2)}
.rs-lead img{display:block;width:100%;height:auto;transition:transform 1.2s var(--ease)}
.rs-lead a:hover img{transform:scale(1.02)}
.rs-gallery-wrap{margin-top:clamp(3rem,2rem + 3vw,5rem);padding-top:clamp(2rem,1.5rem + 2vw,3rem);border-top:1px solid var(--line-l)}
.rs-gallery-wrap>.f-label{display:block;margin-bottom:1.4rem}
.rs-gallery{list-style:none;margin:0;padding:0;columns:3 260px;column-gap:1rem}
.rs-gallery li{break-inside:avoid;margin:0 0 1rem}
.rs-gallery a{display:block;border-radius:6px;overflow:hidden;cursor:zoom-in;background:var(--bone-2)}
.rs-gallery img{display:block;width:100%;height:auto;transition:transform 1s var(--ease)}
.rs-gallery a:hover img{transform:scale(1.03)}
.rs-lead a:focus-visible,.rs-gallery a:focus-visible{outline:2px solid var(--signal-ink);outline-offset:3px}
.rs-tag+.rs-tag{margin-left:.4rem}
.rs-tag--photos{background:transparent;border:1px solid var(--line-l)}

@media (max-width:575.98px){.rs-gallery{columns:2;column-gap:.6rem}.rs-gallery li{margin-bottom:.6rem}}

/* Project page without the enquiry column (4 Nov 2026) */
.rs-project-body{max-width:900px}
.rs-project-body .f-prose{max-width:none}
.rs-project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2rem;margin-top:2.2rem}


/* Videos page (4 Nov 2026) */
.rs-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.6rem,1.6rem + 3vw,4.2rem) clamp(1.4rem,1rem + 2vw,2.6rem)}
.rs-video-frame{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--ink);margin-bottom:1.2rem}
.rs-video-frame iframe,.rs-video-play,.rs-video-play img{position:absolute;inset:0;width:100%;height:100%;border:0}
.rs-video-play{display:block}
.rs-video-play img{object-fit:cover;transition:transform 1s var(--ease)}
.rs-video-play::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(42,8,6,.5),rgba(42,8,6,0) 55%);pointer-events:none}
.rs-video-btn{position:absolute;left:50%;top:50%;z-index:1;width:clamp(64px,3.6rem + 2vw,92px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--signal);color:var(--ink);display:grid;place-items:center;box-shadow:0 18px 40px -18px rgba(0,0,0,.6);transition:transform .4s var(--ease)}
.rs-video-btn svg{width:40%;height:40%;fill:currentColor;margin-left:8%}
.rs-video-play:hover img{transform:scale(1.04)}
.rs-video-play:hover .rs-video-btn{transform:translate(-50%,-50%) scale(1.08)}
.rs-video-play:focus-visible{outline:3px solid var(--signal);outline-offset:-3px}
.rs-video>.f-label{display:block;margin-bottom:.6rem}
.f-body .rs-video-title{font-size:clamp(1.3rem,1.1rem + .8vw,1.75rem);line-height:1.2;letter-spacing:-.02em;margin:0 0 .8rem}
.rs-video-text{color:var(--muted-l);margin:0 0 1rem;max-width:62ch}
@media (max-width:767.98px){.rs-videos{grid-template-columns:1fr}}


/* Article cards: home, About Us, Articles page (4 Nov 2026) */
.rs-articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,1rem + 2vw,3rem) clamp(1rem,.5rem + 1.5vw,2rem)}
.rs-articles--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rs-articles-more{margin-top:clamp(3rem,2rem + 3vw,5rem);padding-top:clamp(2.4rem,1.6rem + 2.5vw,4rem);border-top:1px solid var(--line-l)}
.rs-acard{position:relative;display:flex;flex-direction:column}
.rs-acard-media{aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:var(--bone-2);margin-bottom:1.2rem}
.rs-acard-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.rs-acard:hover .rs-acard-media img{transform:scale(1.04)}
.rs-acard>.f-label{display:block;margin-bottom:.7rem}
.rs-acard .rs-acard-title{font-size:clamp(1.15rem,1rem + .55vw,1.45rem);line-height:1.25;letter-spacing:-.02em;margin:0 0 .7rem}
.rs-acard-title a{color:inherit;text-decoration:none}
.rs-acard-title a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:8px}
.rs-acard>p{margin:0 0 1.1rem;color:var(--muted-l)}
.rs-acard-more{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.45rem;padding-bottom:.15rem;border-bottom:1px solid currentColor;font-weight:600;font-size:.95rem}
.rs-acard-more .f-ico{width:1em;height:1em}
.rs-acard:hover .rs-acard-title,.rs-acard:hover .rs-acard-more{color:var(--signal-ink)}
.rs-acard-title a:focus-visible{outline:none}
.rs-acard-title a:focus-visible::after{outline:2px solid var(--signal-ink);outline-offset:6px}
@media (max-width:991.98px){.rs-articles,.rs-articles--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599.98px){.rs-articles,.rs-articles--2{grid-template-columns:1fr}}


/* Downloads page (5 Nov 2026) */
.f-row.rs-download{grid-template-columns:auto minmax(0,1fr) auto;gap:1rem 1.6rem;align-items:center}
.f-row.rs-download:hover{padding-left:0}
.rs-download h2{margin:0}
.rs-download p{margin:.45rem 0 0;max-width:68ch}
.rs-download-meta{display:block;margin-top:.55rem;font-size:.74rem;letter-spacing:.08em}
.rs-pdf{position:relative;display:grid;place-items:center;width:56px;height:70px;border-radius:6px;background:var(--ink);color:var(--signal);font:700 .78rem/1 var(--mono,monospace);letter-spacing:.08em;overflow:hidden}
.rs-pdf::before{content:"";position:absolute;top:0;right:0;width:16px;height:16px;background:linear-gradient(225deg,var(--bone) 50%,var(--ink-3) 50%)}
.rs-download-actions{display:flex;align-items:center;justify-content:flex-end;gap:1.4rem;flex-wrap:wrap}
@media (max-width:767.98px){
.f-row.rs-download{grid-template-columns:auto minmax(0,1fr)}
.rs-download-actions{grid-column:1 / -1;justify-content:flex-start}
}


/* Trusted by: heading + client names as two drifting rows of pills (5 Nov 2026) */
.rs-trusted{background:var(--ink-2);border-block:1px solid var(--line-d)}
.rs-trusted-rows{display:grid;gap:.9rem;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.rs-trusted-row .f-marquee-track{align-items:center}
.rs-trusted-chip{display:inline-flex;align-items:center;gap:.65rem;flex:none;height:3.25rem;margin-right:.9rem;padding:0 1.35rem;border:1px solid var(--line-d);border-radius:999px;background:rgba(248,236,216,.035);color:var(--bone);font:600 clamp(.95rem,.88rem + .25vw,1.08rem)/1 var(--display);letter-spacing:-.01em;white-space:nowrap}
.rs-trusted-chip::before{content:"";flex:none;width:.42rem;height:.42rem;border-radius:50%;background:var(--signal)}
.rs-trusted-chip.has-logo::before{display:none}
.rs-trusted-chip img{height:26px;width:auto;filter:brightness(0) invert(.92)}
@media (max-width:767.98px){.rs-trusted-rows{gap:.6rem}.rs-trusted-chip{height:2.85rem;margin-right:.6rem;padding:0 1.05rem;font-size:.92rem}}
@media (prefers-reduced-motion:reduce){.rs-trusted-rows{-webkit-mask-image:none;mask-image:none;padding-inline:var(--gutter)}.rs-trusted-row{white-space:normal}.rs-trusted-row .f-marquee-track{display:flex;flex-wrap:wrap;row-gap:.9rem}}


/* Home page spacing made consistent (5 Nov 2026): every section label sits 1.4rem above its heading,
   phone label-to-content gaps match the rest, and the pinned "What we do" section fills the screen
   with its content centred (its bottom gap was much smaller than the other sections').
   The stats row under "Who we are" sits the same distance below the statement as content sits below a section heading,
   and the article cards use the same gutters as the team cards. */
.f-hintro .f-label,.f-sticky > .f-label{margin-bottom:1.4rem}
.f-statement + .f-mt-lg{margin-top:clamp(2.6rem,1.8rem + 3.5vw,5.5rem)}
@media (max-width:991.98px){.f-statement{row-gap:1.1rem}}
@media (max-width:767.98px){.f-quote{row-gap:1.1rem}}
@media (min-width:992px){.f-hscroll{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(3.5rem,1.5rem + 7vh,8rem)}}

/* Client voices / testimonials (5 Nov 2026): services9's stacking cards (.f-stack / .f-voice in fulcra.css).
   Long testimonials get a reading text size so a card fits on screen while it is stuck; an optional photo sits beside the name.
   fulcra.js ("voicesFit") gives the cards in a stack the height of the tallest card that fits on screen, so each card fully covers
   the one underneath like services9, and lets a card taller than the screen stick only once its bottom is in view (--stick).
   On phones and short screens a stack that holds a long testimonial scrolls as a normal list, so no text is hidden under the next card. */
.f-voice blockquote p{margin:0 0 .8em}
.f-voice blockquote p:last-child{margin-bottom:0}
.rs-voices-sec .f-voice blockquote{flex:1 0 auto}
.f-voice.rs-voice-long blockquote{font-size:clamp(1.08rem,.92rem + .6vw,1.4rem);font-weight:450;line-height:1.5;letter-spacing:-.01em;max-width:64ch}
.rs-voice-person{display:flex;align-items:center;gap:.9rem}
.rs-voice-person img{flex:none;width:48px;height:48px;border-radius:50%;object-fit:cover}
.rs-voices-sec .f-voice{top:var(--stick,calc(var(--header-h) + 3vh + var(--i,0) * 1.4rem))}
@media (max-width:767.98px),(max-height:660px){
  .rs-stack-long .f-voice{position:relative;top:auto}
}
@media (max-width:767.98px){
  .rs-voices-sec .f-voice{margin-inline:0}
}

/* Home banner title one size smaller (5 Nov 2026, DB: "looks too big"). Was fulcra's .f-mega clamp(3.1rem,1.1rem + 8.6vw,10.6rem): 135px at 1366. */
.f-hero-title{font-size:clamp(2.6rem,1rem + 5.6vw,7rem)}

/* Tables in page text (5 Nov 2026, About page: approach frameworks and clients by sector), styled like the company profile PDF.
   On phones each row becomes its own small card. Edit them in Admin > Pages > About Us. */
.f-prose table{width:100%;border-collapse:collapse;margin:1.2em 0 1.6em;font-size:.95rem;line-height:1.5}
.f-prose th,.f-prose td{padding:.85em 1em;border:1px solid var(--line-l);text-align:left;vertical-align:top}
.f-prose thead th{background:var(--ink);border-color:var(--ink);color:var(--bone);font:500 .74rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.f-prose tbody th{width:27%;background:rgba(42,8,6,.05);color:var(--ink);font-weight:600}
@media (max-width:640px){
  .f-prose table,.f-prose tbody,.f-prose tr,.f-prose th,.f-prose td{display:block;width:auto}
  .f-prose thead{display:none}
  .f-prose tr{margin-bottom:.8rem;border:1px solid var(--line-l);border-radius:8px;overflow:hidden}
  .f-prose th,.f-prose td{border:0}
  .f-prose tbody th{width:auto;padding-bottom:.5em}
  .f-prose tbody td{padding-top:.4em}
  .f-prose tbody td + td{color:var(--muted-l)}
}

/* Our People page (6 Nov 2026): jump links to each group; a long short-profile is cut to a few lines on the card (full text in the popup) */
.rs-people-group{scroll-margin-top:calc(var(--header-h,72px) + 1rem)}
.rs-people-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 clamp(2.4rem,1.6rem + 2.5vw,4rem)}
.rs-people-nav a{display:inline-flex;align-items:center;gap:.55rem;padding:.6rem 1.05rem;border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:999px;color:inherit;text-decoration:none;font-weight:600;font-size:.95rem;line-height:1.2;transition:border-color .3s,color .3s}
.rs-people-nav a:hover,.rs-people-nav a:focus-visible{border-color:var(--signal);color:var(--signal)}
.f-light .rs-people-nav a:hover,.f-paper .rs-people-nav a:hover,.f-light .rs-people-nav a:focus-visible,.f-paper .rs-people-nav a:focus-visible{color:var(--signal-ink)}
.rs-people-nav small{font-family:var(--mono,monospace);font-size:.72rem;font-weight:500;opacity:.7}
.rs-person--long .f-person-bio{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;line-clamp:8;overflow:hidden}
.rs-person--long .f-person-bio p{display:inline}
@media (max-width:479.98px){.rs-person--long .f-person-bio{-webkit-line-clamp:7;line-clamp:7}}

/* Partners & Associates (6 Nov 2026): logos sit whole on a white panel instead of being cropped like portraits */
.rs-person--logo .f-person-photo{aspect-ratio:4/3;background:#fff}
.rs-person--logo .f-person-photo img{object-fit:contain;object-position:50% 50%;padding:10% 12%;box-sizing:border-box}
.rs-person--logo:hover .f-person-photo img{transform:scale(1.03)}
.rs-profile--logo .rs-profile-photo{aspect-ratio:4/3;background:#fff;border:1px solid var(--line-l)}
.rs-profile--logo .rs-profile-photo img{object-fit:contain;object-position:50% 50%;padding:10% 12%;box-sizing:border-box}

/* About: vision, mission and core values (6 Nov 2026), lifted out of the About text by App\Support\AboutSections and shown highlighted */
.rs-straddle-dark{background:var(--ink)}
.rs-vm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,.6rem + 1.4vw,1.8rem);margin-top:clamp(2.6rem,1.8rem + 3vw,4.5rem)}
.rs-vm--one{grid-template-columns:minmax(0,1fr)}
.rs-vm-card{position:relative;display:flex;flex-direction:column;gap:clamp(2.2rem,1.4rem + 3vw,4.5rem);min-height:clamp(15rem,11rem + 12vw,23rem);padding:clamp(1.6rem,1.1rem + 1.8vw,2.8rem);border-radius:10px;overflow:hidden}
.rs-vm-card--vision{background:var(--signal);color:var(--ink)}
.rs-vm-card--mission{background:var(--ink-2);color:var(--bone);border:1px solid var(--line-d)}
.rs-vm-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.rs-vmv .rs-vm-tag{margin:0;font:500 .76rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:inherit}
.rs-vm-tag b{font-weight:400;margin-right:.35em}
.rs-vm-card--mission .rs-vm-tag b{color:var(--signal)}
.rs-vm-no{font:600 clamp(2.6rem,1.8rem + 2.6vw,4.4rem)/.8 var(--display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.2px var(--ink);opacity:.45}
.rs-vm-card--mission .rs-vm-no{-webkit-text-stroke-color:var(--bone);opacity:.3}
.rs-vm-text{margin-top:auto}
.rs-vm-text p{margin:0;font:600 clamp(1.45rem,1rem + 1.55vw,2.3rem)/1.18 var(--display);letter-spacing:-.025em;max-width:24ch}
.rs-vm-text p + p{margin-top:.8em}
.rs-cv{margin-top:clamp(3.5rem,2.4rem + 4vw,6.5rem)}
.rs-vmv .rs-cv-head{display:flex;align-items:center;gap:1.2rem;margin:0 0 clamp(.4rem,.2rem + .6vw,1rem);font:500 .76rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal)}
.rs-cv-head::after{content:"";flex:1;height:1px;background:var(--line-d)}
.rs-cv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.rs-cv-item{padding:clamp(1.4rem,1rem + 1.2vw,2.2rem) clamp(1.1rem,.7rem + 1vw,2rem) .4rem;border-left:1px solid var(--line-d)}
.rs-cv-item:first-child{border-left:0;padding-left:0}
.rs-cv-mark{display:block;font:italic 400 clamp(3.6rem,2.6rem + 3vw,5.8rem)/.8 var(--serif);color:var(--signal);margin-bottom:clamp(1rem,.7rem + 1.2vw,1.9rem);transition:transform .6s var(--ease)}
.rs-cv-item:hover .rs-cv-mark{transform:translateX(.18em)}
.rs-cv-item h4{font:600 clamp(1.25rem,1.05rem + .6vw,1.65rem)/1.15 var(--display);letter-spacing:-.02em;margin:0 0 .6rem}
.rs-cv-item p{margin:0;color:var(--muted-d);font-size:.97rem;line-height:1.55}
@media (max-width:991.98px){.rs-cv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-cv-item:nth-child(odd){border-left:0;padding-left:0}.rs-cv-item:nth-child(n+3){border-top:1px solid var(--line-d);margin-top:1.4rem}}
@media (max-width:767.98px){.rs-vm{grid-template-columns:minmax(0,1fr)}.rs-vm-card{min-height:0}}
@media (max-width:479.98px){.rs-cv-grid{grid-template-columns:minmax(0,1fr)}.rs-cv-item{border-left:0;padding-left:0}.rs-cv-item:nth-child(n+2){border-top:1px solid var(--line-d);margin-top:1.2rem}}

/* Contact form (6 Nov 2026): spam trap hidden, success message, directions link */
.rs-hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.rs-sent{margin:1.2rem 0 .4rem;background:rgba(252,161,21,.16);border:1px solid rgba(168,80,10,.45);color:inherit;font-weight:500}
.rs-map-link{margin-top:.9rem}
#contact-form{scroll-margin-top:calc(var(--header-h,72px) + 1rem)}
.f-form button[disabled]{opacity:.7;cursor:progress}
