/* Reylan About page (v2) widgets — self-contained, same visual language as the Service page.
   Loads after the theme's theme.css. Every rule is scoped to .rab / .rab-* and the
   service widgets' Elementor wrappers, so nothing else on the site changes. */

.elementor-widget[class*="elementor-widget-reylan-about2-"] > .elementor-widget-container { max-width: none; width: 100%; padding: 0 !important; }
.elementor-element[class*="elementor-widget-reylan-about2-"] { width: 100%; max-width: 100%; margin-bottom: 0 !important; }
.e-con:has(> .elementor-widget[class*="elementor-widget-reylan-about2-"]),
.e-con > .e-con-inner:has(> .elementor-widget[class*="elementor-widget-reylan-about2-"]) { --gap: 0px; --row-gap: 0px; --column-gap: 0px; }
.e-con > .e-con-inner:has(> .elementor-widget[class*="elementor-widget-reylan-about2-"]) { max-width: none; padding-inline: 0; overflow: visible; }

/* ---------- Shared base ---------- */
.rab {
  --rab-blue: var(--blue, #1d2d3b);
  --rab-cream: var(--cream, #ffebcb);
  --rab-red: var(--red, #d83d00);
  --rab-line: var(--line, #c6cace);
  --rab-stage-left: var(--stage-left, max(24px, calc((100% - 1440px) / 2 + 160px)));
  --rab-stage-right: var(--stage-right, max(0px, calc((100% - 1440px) / 2)));
  --rab-band-w: var(--band-w, min(100%, calc(max(0px, (100% - 1440px) / 2) + 1280px)));
  --rab-to-edge: calc(50% - 50vw);
  --rab-to-page: calc(-1 * min(160px, max(0px, (100vw - 1120px) / 2)));
  position: relative;
  overflow: visible;
  color: var(--rab-blue);
  background: var(--white, #fff);
  /* break out of any boxed Elementor container so bands line up with the homepage */
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.rab figure { margin: 0; }
.rab .media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rab .body,
.rab .lede { font-size: var(--type-body, 18px); line-height: 1.5; }
.rab .display-sm { line-height: 1.17; }
.rab-stage {
  position: relative;
  z-index: 1;
  width: min(1280px, calc(100% - var(--rab-stage-left) - var(--rab-stage-right)));
  max-width: 100%;
  margin-left: var(--rab-stage-left);
  margin-right: var(--rab-stage-right);
  box-sizing: border-box;
}
.rab-actions { display: flex; flex-wrap: wrap; gap: 20px; }
.rab-actions .btn { flex: 1 1 auto; min-height: 58px; }
.rab-pattern { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.rab-pattern img { width: 120%; height: 120%; max-width: none; object-fit: cover; object-position: left top; animation: patternDrift 36s linear infinite reverse; }
@media (prefers-reduced-motion: reduce) { .rab-pattern img { animation: none; } }

/* The theme's scroll reveal (theme.js) leaves clip-path: inset(0) on every revealed element,
   which cuts off anything that hangs outside it (the red badge, card shadows). Inside the
   About v2 sections, keep the fade/slide animation but drop that clip once revealed. */
.rab [data-reveal]:not([data-reveal="clip"]).is-in,
.rab[data-reveal]:not([data-reveal="clip"]).is-in { clip-path: none; }
@media (max-width: 1100px) { .rab-stage { width: calc(100% - 48px); margin-left: 24px; margin-right: 24px; } }
@media (max-width: 767px) { .rab-actions .btn { flex: 1 1 100%; white-space: normal; } .rab .display-sm { font-size: 36px; } }

/* =====================================================================
   1 · HERO — navy from the gutter, big photo straddling its edge, red badge on the photo
   ===================================================================== */
.rab-hero { color: var(--rab-cream); }
.rab-hero-panel { position: absolute; top: 0; bottom: 0; left: var(--rab-stage-left); right: 0; background: var(--rab-blue); overflow: hidden; z-index: 0; }
.rab-hero-panel .rab-pattern img { animation-duration: 28s; }
.rab-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 660fr) minmax(0, 563fr);
  column-gap: 80px;
  align-items: center;
  width: min(calc(100% - 80px), 1360px);
  margin: 0 auto;
  padding: 120px 0 130px;
}
.rab-hero-media { position: relative; }
.rab-hero-photo { aspect-ratio: 660 / 600; width: 100%; }
.rab-badge {
  position: absolute;
  right: -40px;
  bottom: -56px;
  width: min(330px, 70%);
  padding: 26px 28px;
  background: var(--rab-red);
  color: var(--rab-cream);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.28);
}
.rab-badge-kicker {
  display: block;
  margin-bottom: 8px;
  font-family: var(--font-display, "Roboto Condensed", sans-serif);
  font-weight: var(--type-label-weight, 500);
  font-size: var(--type-label, 20px);
  text-transform: uppercase;
}
.rab-badge p { margin: 0; font-size: 17px; line-height: 1.45; }
.rab-hero-copy { max-width: 563px; justify-self: end; }
.rab-crumbs { display: flex; gap: 10px; margin-bottom: 26px; font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--rab-cream); opacity: 0.8; }
.rab-crumbs a { color: var(--rab-cream); text-decoration: underline; text-underline-offset: 3px; }
.rab-hero-copy .eyebrow { color: var(--rab-cream); }
.rab-hero-copy h1,
.rab-hero-copy .display-sm { margin: 0 0 20px; font-size: var(--type-hero, 54px); line-height: 1.12; color: var(--rab-cream); }
.rab-hero-copy .accent { color: var(--rab-red); }
.rab-hero-copy .lede { margin: 0 0 36px; line-height: 1.5; color: var(--rab-cream); }
.rab-hero-facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 36px 0 0; padding: 0; list-style: none; }
.rab-hero-facts li {
  padding: 8px 14px;
  border: 1px solid rgba(255, 235, 203, 0.4);
  font-family: var(--font-display, "Roboto Condensed", sans-serif);
  font-weight: var(--type-label-weight, 500);
  font-size: 15px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rab-cream);
}

/* =====================================================================
   2 · REPAIR OR REPLACEMENT — red band, two big cards hang off it with an OR badge
   ===================================================================== */
.rab-split { padding: 0 0 140px; }
.rab-split-head { position: relative; padding: 120px 0 64px; color: var(--rab-cream); }
.rab-split-head::before,
.rab-split-cards::before {
  content: "";
  position: absolute;
  left: var(--rab-to-edge);
  right: var(--rab-to-page);
  background: var(--rab-red);
  z-index: 0;
}
.rab-split-head::before { top: 0; bottom: 0; }
.rab-split-head .rab-pattern { left: var(--rab-to-edge); right: var(--rab-to-page); opacity: 0.4; }
.rab-split-head-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: end; }
.rab-split-head .eyebrow { color: var(--rab-cream); }
.rab-split-head .display-sm { margin: 0; color: var(--rab-cream); }
.rab-split-head .accent { color: var(--rab-blue); }
.rab-split-head .body { margin: 0; color: var(--rab-cream); max-width: 520px; }
.rab-split-cards { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.rab-split-cards::before { top: 0; height: 160px; }
.rab-card { position: relative; z-index: 1; display: flex; flex-direction: column; padding: 48px 44px 44px; min-height: 520px; }
.rab-card.is-light { background: var(--white, #fff); border: 1px solid var(--rab-line); box-shadow: 0 30px 60px rgba(29, 45, 59, 0.14); color: var(--rab-blue); }
.rab-card.is-dark { background: var(--rab-blue); color: var(--rab-cream); box-shadow: 0 30px 60px rgba(29, 45, 59, 0.3); }
.rab-card-num { font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: 700; font-size: 88px; line-height: 0.9; color: var(--rab-red); }
.rab-card-title { margin: 18px 0 16px; font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: var(--type-display-weight, 500); font-size: 40px; line-height: 1.05; text-transform: uppercase; }
.rab-card .body { margin: 0; color: inherit; }
.rab-checks { margin: auto 0 0; padding: 28px 0 0; list-style: none; display: flex; flex-direction: column; gap: 14px; border-top: 1px solid var(--rab-line); }
.rab-card .rab-checks { margin-top: 32px; }
.rab-checks li { position: relative; padding-left: 36px; font-size: var(--type-body, 18px); line-height: 1.4; }
.rab-checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  background: var(--rab-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 8'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.rab-included-label { margin: 32px 0 14px; padding-top: 28px; border-top: 1px solid rgba(255, 235, 203, 0.3); font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: var(--type-label-weight, 500); font-size: 16px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--rab-red); }
.rab-included { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.rab-included li { padding: 16px 14px; background: rgba(255, 235, 203, 0.08); border: 1px solid rgba(255, 235, 203, 0.25); font-size: 15px; line-height: 1.35; color: var(--rab-cream); }
.rab-included strong { display: block; margin-bottom: 4px; font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: 700; font-size: 22px; line-height: 1.05; text-transform: uppercase; }
.rab-or {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 236px;
  width: 76px;
  height: 76px;
  margin-left: -38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--rab-cream);
  border: 6px solid #fff;
  font-family: var(--font-display, "Roboto Condensed", sans-serif);
  font-weight: 700;
  font-size: 24px;
  text-transform: uppercase;
  color: var(--rab-red);
  box-shadow: 0 10px 24px rgba(29, 45, 59, 0.2);
}

/* =====================================================================
   3 · UNDER THE TILE — cream band with the cutaway diagram
   ===================================================================== */
.rab-layers { padding: 0 0 40px; }
.rab-layers-grid { position: relative; display: grid; grid-template-columns: minmax(0, 420fr) minmax(0, 660fr); gap: 40px; align-items: center; padding: 100px 0; }
.rab-layers-grid::before { content: ""; position: absolute; top: 0; bottom: 0; left: var(--rab-to-edge); right: var(--rab-to-edge); background: var(--rab-cream); z-index: 0; }
.rab-layers-grid > * { position: relative; z-index: 1; }
.rab-layers-copy .eyebrow { color: var(--rab-red); }
.rab-layers-copy .display-sm { margin: 0 0 20px; color: var(--rab-blue); }
.rab-layers-copy .body { margin: 0; color: var(--rab-blue); }
.rab-legend { margin: 32px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0; border-top: 1px solid rgba(29, 45, 59, 0.2); }
.rab-legend li { display: grid; grid-template-columns: 22px 150px minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(29, 45, 59, 0.2); }
.rab-legend strong { font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: var(--type-label-weight, 500); font-size: 18px; text-transform: uppercase; color: var(--rab-blue); }
.rab-legend em { font-style: normal; font-size: 16px; color: var(--rab-blue); opacity: 0.8; }
.rab-dot { width: 18px; height: 18px; }
.rab-dot.is-tile { background: #c8693a; }
.rab-dot.is-under { background: var(--rab-red); box-shadow: inset 0 0 0 4px var(--rab-blue); }
.rab-dot.is-deck { background: #dcb88d; }
.rab-diagram { margin: 0; padding: 32px 32px 24px; background: #fff; box-shadow: 0 30px 60px rgba(29, 45, 59, 0.14); }
.rab-diagram svg { display: block; width: 100%; height: auto; }
.rab-diagram figcaption { margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--rab-line); font-size: 15px; color: var(--rab-blue); }

/* =====================================================================
   4 · WALKING A TILE ROOF — navy band, photo hangs above it
   ===================================================================== */
.rab-walk { color: var(--rab-cream); padding-top: 60px; }
.rab-walk-fill { position: absolute; top: 160px; bottom: 0; left: 0; width: var(--rab-band-w); background: var(--rab-blue); overflow: hidden; z-index: 0; }
.rab-walk-grid { display: grid; grid-template-columns: minmax(0, 633fr) minmax(0, 547fr); gap: clamp(32px, 6vw, 100px); align-items: start; padding-bottom: 120px; }
.rab-walk-copy { padding-top: 180px; }
.rab-walk-copy .eyebrow { margin: 0 0 18px; color: var(--rab-red); }
.rab-walk-line { margin: 0 0 24px; font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: var(--type-display-weight, 500); font-size: clamp(44px, 4.4vw, 64px); line-height: 1; text-transform: uppercase; color: var(--rab-cream); }
.rab-walk-line .accent { color: var(--rab-red); }
.rab-walk-copy .body { margin: 0 0 36px; max-width: 460px; color: var(--rab-cream); }
.rab-walk-copy .body strong { color: #fff; }
.rab-walk-copy .rab-actions .btn { flex: 0 0 auto; }
.rab-walk-photo { width: 100%; max-width: 547px; aspect-ratio: 547 / 660; justify-self: end; }

/* =====================================================================
   Tablet / phone
   ===================================================================== */
@media (max-width: 1100px) {
  .rab-hero-grid,
  .rab-split-head-grid,
  .rab-split-cards,
  .rab-layers-grid,
  .rab-walk-grid,
  .rab-projects-grid { grid-template-columns: minmax(0, 1fr); }
  .rab-hero-panel { left: 0; }
  .rab-hero-grid { width: calc(100% - 48px); padding: 80px 0 90px; row-gap: 90px; }
  .rab-hero-copy { justify-self: start; }
  .rab-badge { right: 16px; }
  .rab-split-head::before,
  .rab-split-head .rab-pattern,
  .rab-split-cards::before { right: var(--rab-to-edge); }
  .rab-or { position: relative; left: auto; top: auto; margin: -38px auto; }
  .rab-card { min-height: 0; }
  .rab-diagram { margin-bottom: 0; }
  .rab-walk-fill { width: 100%; }
  .rab-walk-copy { padding-top: 140px; }
  .rab-walk-photo { justify-self: start; }
  .rab-project.is-offset { margin-top: 0; }
}
@media (max-width: 767px) {
  .rab-hero-copy h1,
  .rab-hero-copy .display-sm { font-size: 38px; }
  .rab-badge { position: relative; right: auto; bottom: auto; width: auto; margin: -40px 16px 0; }
  .rab-hero-grid { row-gap: 40px; }
  .rab-split,
  .rab-layers { padding-bottom: 80px; }
  .rab-split-head { padding-top: 64px; }
  .rab-card { padding: 32px 24px; }
  .rab-card-num { font-size: 64px; }
  .rab-card-title { font-size: 32px; }
  .rab-included { grid-template-columns: minmax(0, 1fr); }
  .rab-layers-grid { padding: 64px 0; }
  .rab-legend li { grid-template-columns: 22px minmax(0, 1fr); }
  .rab-legend em { grid-column: 2; }
  .rab-diagram { padding: 16px; }
  .rab-diagram svg text { font-size: 26px; }
  .rab-walk { padding-top: 64px; }
  .rab-walk-fill { top: 160px; }
  .rab-projects { padding: 80px 0; }
}

/* ---------- About v2 sections ---------- */

/* 2 · name cards */
.rab-name .rab-split-cards::before { height: 140px; }
.rab-word-card { min-height: 0; }
.rab-word { font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: 700; font-size: 128px; line-height: 0.85; text-transform: uppercase; color: var(--rab-red); }
.rab-card.is-dark .rab-word { color: var(--rab-cream); }
.rab-word-card .rab-card-title { font-size: 30px; margin: 22px 0 12px; }
.rab-plus { top: 120px; font-size: 40px; line-height: 1; }
.rab-give {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: 40px !important;
  padding: 36px 40px;
  background: var(--rab-cream);
  border-left: 6px solid var(--rab-red);
}
.rab-give-icon { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; background: var(--rab-red); color: #fff; }
.rab-give-title { margin: 0 0 6px; font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: var(--type-display-weight, 500); font-size: 30px; line-height: 1.1; text-transform: uppercase; color: var(--rab-blue); }
.rab-give .body { margin: 0; color: var(--rab-blue); }

/* 3 · Darby */
.rab-darby .rab-layers-grid { grid-template-columns: minmax(0, 560fr) minmax(0, 520fr); }
.rab-standards li { grid-template-columns: 40px minmax(0, 1fr); }
.rab-standards strong { font-size: 22px; }
.rab-num { font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: 700; font-size: 20px; color: var(--rab-red); }
/* "rotate" (not transform) so the theme's reveal animation (transform: none) can't undo the tilt */
.rab-portrait { padding: 16px 16px 20px; rotate: 1.5deg; }
.rab-portrait-photo { aspect-ratio: 520 / 600; }
.rab-portrait figcaption { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.rab-portrait figcaption strong { font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: 500; font-size: 20px; text-transform: uppercase; }

/* 5 · what we're not */
.rab-not { padding: 140px 0 140px; }
.rab-not-grid { display: grid; grid-template-columns: minmax(0, 420fr) minmax(0, 660fr); gap: 40px; align-items: start; }
.rab-not-head { position: sticky; top: 120px; }
.rab-not-head .eyebrow { color: var(--rab-red); }
.rab-not-head .display-sm { margin: 0 0 20px; color: var(--rab-blue); font-size: 58px; }
.rab-not-head .body { margin: 0; color: var(--rab-blue); max-width: 380px; }
.rab-not-list { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--rab-blue); }
.rab-not-list li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 6px 20px; padding: 32px 0; border-bottom: 1px solid var(--rab-line); }
.rab-not-list .rab-num { grid-row: span 2; padding-top: 14px; }
.rab-strike {
  position: relative;
  justify-self: start;
  font-family: var(--font-display, "Roboto Condensed", sans-serif);
  font-weight: 700;
  font-size: 60px;
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--rab-blue);
}
.rab-strike::after { content: ""; position: absolute; left: -4px; right: -4px; top: 50%; height: 5px; margin-top: -2px; background: var(--rab-red); transform: rotate(-1.5deg); }
.rab-not-list .body { margin: 10px 0 0; color: var(--rab-blue); max-width: 520px; }

/* 6 · formerly nassau */
.rab-nassau { padding: 0 0 140px; }
.rab-nassau-grid { position: relative; display: grid; grid-template-columns: minmax(0, 520fr) minmax(0, 560fr); gap: 40px; align-items: center; padding: 100px 0; }
.rab-nassau-grid::before { content: ""; position: absolute; top: 0; bottom: 0; left: var(--rab-to-edge); right: var(--rab-to-edge); background: var(--rab-cream); z-index: 0; }
.rab-nassau-grid > * { position: relative; z-index: 1; }
.rab-swap { display: flex; flex-direction: column; gap: 14px; font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: 700; text-transform: uppercase; line-height: 0.92; }
.rab-swap-old { font-size: 64px; color: var(--rab-blue); opacity: 0.4; text-decoration: line-through; text-decoration-thickness: 4px; text-decoration-color: var(--rab-red); }
.rab-swap-arrow { color: var(--rab-red); }
.rab-swap-new { font-size: 104px; color: var(--rab-red); }
.rab-nassau-copy .display-sm { margin: 0 0 20px; color: var(--rab-blue); }
.rab-nassau-copy .body { margin: 0 0 32px; color: var(--rab-blue); }
.rab-nassau-copy .rab-actions .btn { flex: 0 0 auto; }
.rab-trust { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; }
.rab-trust li { padding: 8px 14px; border: 1px solid rgba(29, 45, 59, 0.3); font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: 500; font-size: 15px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--rab-blue); }

@media (max-width: 1100px) {
  .rab-darby .rab-layers-grid,
  .rab-not-grid,
  .rab-nassau-grid { grid-template-columns: minmax(0, 1fr); }
  .rab-not-head { position: static; }
  .rab-plus { top: auto; }
  .rab-portrait { rotate: none; max-width: 520px; }
}
@media (max-width: 767px) {
  .rab-word { font-size: 96px; }
  .rab-give { grid-template-columns: minmax(0, 1fr); padding: 28px 24px; }
  .rab-standards li { grid-template-columns: 36px minmax(0, 1fr); }
  .rab-standards em { grid-column: 2; }
  .rab-not { padding: 80px 0; }
  .rab-not-head .display-sm { font-size: 40px; }
  .rab-strike { font-size: 42px; }
  .rab-swap-old { font-size: 44px; }
  .rab-swap-new { font-size: 64px; }
}

/* statement line: longer copy than the service page, so a step smaller */
.rab-statement .rab-walk-line { font-size: clamp(38px, 3.6vw, 52px); line-height: 1.04; }

/* ===== 5 v2 · What we're not: red band, stepped cards hang off it ===== */
.rab-not2 { padding: 0px 0 180px; }
.rab-not2-head { position: relative; padding: 110px 0 200px; color: var(--rab-cream); }
.rab-not2-head::before { content: ""; position: absolute; top: 0; bottom: 0; left: var(--rab-to-edge); right: var(--rab-to-page); background: var(--rab-red); z-index: 0; }
.rab-not2-head .rab-pattern { left: var(--rab-to-edge); right: var(--rab-to-page); opacity: 0.4; }
.rab-not2-head-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: end; }
.rab-not2-head .eyebrow { color: var(--rab-cream); }
.rab-not2-head .display-sm { margin: 0; font-size: 58px; color: var(--rab-cream); }
.rab-not2-head .accent { color: var(--rab-blue); }
.rab-not2-head .body { margin: 0; color: var(--rab-cream); }
.rab-not2-cards { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: -140px auto 0; padding: 0; list-style: none; align-items: start; }
.rab-not2-card { position: relative; padding: 64px 32px 36px; background: #fff; border: 1px solid var(--rab-line); box-shadow: 0 30px 60px rgba(29, 45, 59, 0.16); }
.rab-not2-card:nth-child(2) { margin-top: 60px; }
.rab-not2-card:nth-child(3) { margin-top: 120px; }
.rab-x { position: absolute; top: -32px; left: 32px; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; background: var(--rab-blue); color: var(--rab-cream); box-shadow: 0 12px 24px rgba(29, 45, 59, 0.25); }
.rab-not2-card .rab-num { position: absolute; top: 20px; right: 28px; font-size: 44px; line-height: 1; color: var(--rab-line); }
.rab-not2-card .rab-strike { display: inline-block; font-size: clamp(30px, 2.6vw, 38px); white-space: nowrap; margin-bottom: 18px; }
.rab-not2-card .body { margin: 0; color: var(--rab-blue); }

/* ===== 6 v2 · Formerly Nassau: cream panel + navy card overlapping it ===== */
.rab-nassau2 { padding: 0 0 160px; }
.rab-nassau2-stage { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); }
.rab-nassau2-panel { position: relative; width: 72%; min-height: 520px; padding: 90px 60px 90px 0; box-sizing: border-box; }
.rab-nassau2-panel::before { content: ""; position: absolute; top: 0; bottom: 0; left: var(--rab-to-edge); right: 0; background: var(--rab-cream); z-index: 0; }
.rab-nassau2-panel > * { position: relative; z-index: 1; }
.rab-nassau2-panel .rab-swap-old { font-size: 52px; }
.rab-nassau2-panel .rab-swap-new { font-size: 120px; }
.rab-nassau2-note { margin: 32px 0 0; max-width: 340px; font-family: var(--font-display, "Roboto Condensed", sans-serif); font-weight: 500; font-size: 22px; line-height: 1.3; text-transform: uppercase; color: var(--rab-blue); }
.rab-nassau2-card {
  position: absolute;
  right: 0;
  top: 120px;
  width: 56%;
  padding: 56px 52px 48px;
  box-sizing: border-box;
  background: var(--rab-blue);
  color: var(--rab-cream);
  overflow: hidden;
  box-shadow: 0 40px 80px rgba(29, 45, 59, 0.35);
}
.rab-nassau2-card .rab-pattern { opacity: 0.22; }
.rab-nassau2-card > *:not(.rab-pattern) { position: relative; z-index: 1; }
.rab-nassau2-card .display-sm { margin: 0 0 20px; color: var(--rab-cream); }
.rab-nassau2-card .accent { color: var(--rab-red); }
.rab-nassau2-card .body { margin: 0 0 32px; color: var(--rab-cream); }
.rab-nassau2-card .rab-actions .btn { flex: 0 0 auto; }
.rab-nassau2-card .rab-trust li { border-color: rgba(255, 235, 203, 0.4); color: var(--rab-cream); }
.rab-nassau2 { --rab-overhang: 90px; }
.rab-nassau2-stage { padding-bottom: var(--rab-overhang); }

@media (max-width: 1100px) {
  .rab-not2-head-grid { grid-template-columns: minmax(0, 1fr); }
  .rab-not2-head::before, .rab-not2-head .rab-pattern { right: var(--rab-to-edge); }
  .rab-not2-cards { grid-template-columns: minmax(0, 1fr); gap: 56px; margin-top: -120px; }
  .rab-not2-card:nth-child(2), .rab-not2-card:nth-child(3) { margin-top: 0; }
  .rab-nassau2-panel { width: auto; padding: 64px 0 160px; }
  .rab-nassau2-panel::before { right: var(--rab-to-edge); }
  .rab-nassau2-card { position: relative; top: auto; width: auto; margin: -110px 0 0; }
  .rab-nassau2-stage { padding-bottom: 0; }
}
@media (max-width: 767px) {
  .rab-not2-head .display-sm { font-size: 40px; }
  .rab-not2-card .rab-strike { font-size: 36px; }
  .rab-nassau2-panel .rab-swap-old { font-size: 36px; }
  .rab-nassau2-panel .rab-swap-new { font-size: 64px; }
  .rab-nassau2-card { padding: 36px 24px; }
}

/* ---------- widget options ---------- */
.rab-portrait.is-straight { rotate: none; }
.rab-not2.is-flat .rab-not2-card:nth-child(2),
.rab-not2.is-flat .rab-not2-card:nth-child(3) { margin-top: 0; }
p.rab-swap { margin: 0; }
.rab .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
