/* BUILD 28 | Shared Roving Bricks design system on all interior pages.
   Home remains exactly as approved in Build 27. Brick Legacy retains its
   museum colours, collection layout and stories, with the common site masthead. */

.rbh-interior {
  --rbh-panel:#17181a;
  --rbh-panel-2:#202124;
  --rbh-edge:#303136;
  background:#050505;
  color:#f4f4f4;
  padding:10px 0 24px;
}
.rbh-interior .wrap {width:min(1200px,calc(100% - 28px));}

/* Interior hero: the homepage's textured yellow, black, charcoal, and framed
   photographic language, instead of the old giant bright-yellow billboard. */
.rbh-interior .yellow-hero {
  width:min(1200px,calc(100% - 28px));
  min-height:0;
  margin:3px auto 12px;
  border:1px solid var(--rbh-edge);
  border-radius:22px;
  background:#17181a;
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.rbh-interior .yellow-hero::before {
  content:"";
  display:block;
  position:absolute;
  z-index:-1;
  inset:25% 0 18%;
  background:#ffe400 url('/assets/yellow-texture.webp') center/850px auto repeat;
  opacity:.95;
  pointer-events:none;
}
.rbh-interior .hero-inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.95fr);
  align-items:center;
  gap:25px;
  min-height:0;
  padding:23px 28px;
}
.rbh-interior .hero-copy {
  background:rgba(13,13,14,.80);
  border:1px solid #33343a;
  border-radius:17px;
  padding:22px 25px;
  min-width:0;
  max-width:none;
}
.rbh-interior .hero-eyebrow {
  background:#f01929;
  color:#fff;
  border-radius:7px;
  padding:6px 11px;
  font-size:clamp(11px,1.1vw,14px);
  font-weight:800;
  letter-spacing:.035em;
  transform:none;
}
.rbh-interior .hero-copy h1 {
  font:italic 900 clamp(30px,3.75vw,53px)/1.03 var(--display);
  margin:13px 0 11px;
  letter-spacing:.005em;
  color:#fff;
  -webkit-text-stroke:.5px #060606;
  paint-order:stroke fill;
  text-shadow:3px 4px 0 #050505;
  transform:none;
  overflow-wrap:break-word;
}
.rbh-interior .hero-copy .hero-sub {
  font:900 clamp(17px,1.65vw,23px)/1.16 var(--display);
  color:#ffe400;
  margin:0 0 9px;
}
.rbh-interior .hero-copy p {
  font-size:clamp(14px,1.15vw,16px);
  color:#ededed;
  line-height:1.45;
  font-weight:400;
  margin:0;
}
.rbh-interior .hero-page-icon-wrap {
  color:#ffe400;
  max-width:54px;
  max-height:54px;
  margin-bottom:8px;
}
.rbh-interior .hero-page-icon-wrap svg {width:54px;height:54px;}
.rbh-interior .hero-photo {
  min-height:0;
  height:245px;
  width:calc(100% - 14px);
  margin-inline:7px;
  background:#fff;
  border:0;
  border-radius:13px;
  padding:7px;
  transform:skewX(-6deg);
  filter:none;
  clip-path:none;
  overflow:hidden;
  box-shadow:4px 5px 0 #0c0c0c;
}
.rbh-interior .hero-photo img {
  width:100%;height:100%;
  border-radius:8px;
  object-fit:cover;
  object-position:center;
  clip-path:none;
  transform:skewX(6deg) scale(1.13);
}
.rbh-interior .hero-photo .red-brick {display:none!important;}

/* Short header alternative for Gallery, Events, Links, and archives. */
.rbh-interior .page-banner {
  width:min(1200px,calc(100% - 28px));
  margin:3px auto 12px;
  padding:0;
  min-height:0;
  border-radius:21px;
  border:1px solid var(--rbh-edge);
  overflow:hidden;
  background:#17181a;
}
.rbh-interior .page-banner .wrap {
  width:100%;
  max-width:none;
  padding:23px 30px 22px;
  border-left:6px solid #ed172b;
  background:linear-gradient(100deg,#18191b 0%,#18191b 70%,#28220d 100%);
}
.rbh-interior .page-banner h1 {
  font:italic 900 clamp(30px,4.1vw,53px)/1.03 var(--display);
  color:#ffe400;
  text-transform:uppercase;
  letter-spacing:.012em;
  margin:0 0 7px;
}
.rbh-interior .page-banner p {margin:0;color:#e2e2e2;font-size:clamp(14px,1.25vw,17px);line-height:1.42;}

/* Content becomes a continuous family of the homepage's quiet squircle panels. */
.rbh-interior > .section.wrap,
.rbh-interior > .intro-statement {
  margin:0 auto 12px;
  width:min(1200px,calc(100% - 28px));
  border:1px solid var(--rbh-edge);
  border-radius:20px;
  background:var(--rbh-panel);
  padding:25px 28px;
  color:#e5e5e5;
  box-shadow:none;
}
.rbh-interior .section-lined {border-top:1px solid var(--rbh-edge)!important;}
.rbh-interior .section-head {
  margin:0 0 23px;
  display:flex;
  gap:16px;
  align-items:center;
}
.rbh-interior .section-head h2 {
  --brickwidth:24px;
  display:inline-block;
  margin:0 0 0 var(--brickwidth);
  padding:7px 19px 8px 13px;
  max-width:calc(100% - var(--brickwidth));
  background:#ffe400;
  color:#111;
  font:italic 900 clamp(18px,2.3vw,29px)/1.06 var(--display);
  text-transform:uppercase;
  transform:skewX(-17deg);
  border-radius:0 7px 7px 0;
  white-space:normal;
  letter-spacing:.005em;
  isolation:isolate;
}
.rbh-interior .section-head h2::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:calc(-1 * var(--brickwidth) + 1px);
  width:var(--brickwidth);
  height:auto;
  border-right:2px solid #050505;
  background:#ed172b url('/assets/ribbon-brick-vertical.png') center/100% 100% no-repeat;
  transform:none;
}
.rbh-interior .section-head p {
  color:#bbbfc1;
  font-size:clamp(13px,1.2vw,16px);
  line-height:1.35;
}
.rbh-interior .section p {color:#e0e0e2;}
.rbh-interior .intro-statement {
  padding:18px 23px;
  border-color:var(--rbh-edge);
}
.rbh-interior .intro-statement p {
  color:#f0f0f0;
  font:normal clamp(15px,1.5vw,19px)/1.48 var(--copy);
  max-width:1000px;
}
.rbh-interior .intro-statement .spark {color:#ffe400;}
.rbh-interior a:not(.btn):not(.photo-open):not(.rove-stop):not(.rbh-quick-links a):hover {color:#ffe400;}

/* Thin yellow keylines, black inner trim and modest rounded photo corners. */
.rbh-interior .photo-frame {
  transform:none!important;
  border:2px solid #ffe400;
  border-radius:13px;
  padding:4px;
  background:#050505;
  box-shadow:0 2px 0 #0b0b0c;
  overflow:hidden;
}
.rbh-interior .photo-frame img {border-radius:8px;object-fit:cover;}
.rbh-interior .photo-open {
  border:2px solid #ffe400;
  box-shadow:inset 0 0 0 4px #050505;
  border-radius:13px;
  background:#111;
  padding:4px;
  overflow:hidden;
}
.rbh-interior .photo-open img {border-radius:8px;}
.rbh-interior .photo-open:hover,
.rbh-interior .photo-open:focus-visible {
  box-shadow:0 0 0 2px #ffe40088;
}
.rbh-interior .btn,
.rbh-interior .rbh-quick-links a,
.rbh-interior .simple-link {border-radius:999px;}
.rbh-interior .btn {box-shadow:none;font:italic 900 clamp(13px,1.2vw,17px)/1.15 var(--display);text-transform:none;gap:14px;}

/* Activity, service, gallery and travel cards share the same surfaces. */
.rbh-interior :is(.step,.fit-grid>div,.archive-card,.event-card,.rove-stop,.gallery-category,.contact-sidebar,.latest-tile,.rbh-quick-links a) {
  background:var(--rbh-panel-2);
  border:1px solid #3b3c40;
  border-radius:16px;
  box-shadow:none;
}
.rbh-interior .step {padding:20px 16px;}
.rbh-interior .step h3 {color:#ffe400;}
.rbh-interior .step-num {color:#ffe400;}
.rbh-interior .step-icon {color:#f12030;}
.rbh-interior .fit-grid>div {padding:18px 12px;}
.rbh-interior .fit-grid>div span {color:#ffe400;}
.rbh-interior .gallery-category {padding:18px;margin:19px 0;}
.rbh-interior .gallery-category .section-head {margin-bottom:18px;}
.rbh-interior .gallery-category .section-head h2 {font-size:clamp(17px,2vw,24px);}
.rbh-interior .gallery-category .simple-link {display:inline-flex;margin-top:14px;padding:7px 14px;background:#ffe400;color:#111;font-weight:800;}
.rbh-interior .rove-stop {padding:4px 4px 12px;border-radius:13px;overflow:hidden;}
.rbh-interior .rove-stop img {border-radius:9px 9px 2px 2px;}
.rbh-interior .rove-stop span {color:#ffe400;}
.rbh-interior .event-note,
.rbh-interior .empty-event {background:#202124;border:1px solid #414248;border-radius:15px;padding:22px;}
.rbh-interior .empty-event {border-left:5px solid #ffe400;}
.rbh-interior .event-note {color:#d8d8d8;}
.rbh-interior .event-card img {border-radius:11px;}
.rbh-interior .latest-tile {padding:18px;overflow:hidden;}
.rbh-interior .latest-tile img {border-radius:12px;}
.rbh-interior .archive-card {overflow:hidden;padding:12px;}
.rbh-interior .archive-card .photo-frame {transform:none!important;}
.rbh-interior .archive-card h3 {color:#ffe400;}
.rbh-interior .story-row,
.rbh-interior .rove-feature {gap:32px;}
.rbh-interior .about-person blockquote {color:#ffe400;}
.rbh-interior .golden-teaser {background:#202124;border:1px solid #3b3c40;border-radius:16px;padding:16px;}
.rbh-interior .contact-layout {gap:24px;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);}
.rbh-interior .contact-sidebar {padding:22px;border:1px solid #3b3c40;}
.rbh-interior .contact-sidebar h2 {color:#ffe400;}
.rbh-interior .contact-form {gap:15px;}
.rbh-interior .contact-form input,
.rbh-interior .contact-form select,
.rbh-interior .contact-form textarea {
  border:1px solid #4e5055;border-radius:10px;
  color:#f4f4f4;background:#0f1012;
  padding:11px 12px;
}
.rbh-interior .contact-form input:focus,
.rbh-interior .contact-form select:focus,
.rbh-interior .contact-form textarea:focus {outline:2px solid #ffe400;outline-offset:0;}
.rbh-interior .rbh-links-page .rbh-quick-links a {border-radius:14px;}
.rbh-interior .rbh-links-page {max-width:min(960px,calc(100% - 28px));}

/* Museum maintains its separate vintage display identity, while using the
   unified masthead from all other pages. */
.rbh-museum-shell {background:#100e0c;min-width:0;}
.rbh-museum-shell .museum-page {margin-top:0;}
.rbh-museum-shell .museum-hero {border-top:1px solid #3b2c19;}

@media(max-width:900px){
  .rbh-interior .hero-inner {gap:13px;padding:16px;}
  .rbh-interior .hero-copy {padding:17px;}
  .rbh-interior .hero-copy h1 {font-size:clamp(26px,3.8vw,39px);}
  .rbh-interior .hero-photo {height:210px;}
  .rbh-interior > .section.wrap {padding:19px;}
  .rbh-interior .section-head {align-items:flex-start;}
  .rbh-interior .contact-layout {gap:15px;}
}
@media(max-width:640px){
  .rbh-interior {padding-top:7px;padding-bottom:14px;}
  .rbh-interior .wrap {width:calc(100% - 22px);}
  .rbh-interior .yellow-hero,
  .rbh-interior .page-banner,
  .rbh-interior > .section.wrap,
  .rbh-interior > .intro-statement {width:calc(100% - 22px);border-radius:17px;margin-bottom:9px;}
  .rbh-interior .hero-inner {display:grid;grid-template-columns:1fr;gap:9px;padding:12px;}
  .rbh-interior .yellow-hero::before {inset:30% 0 10%;background-size:auto 245px;}
  .rbh-interior .hero-copy {padding:14px 15px;border-radius:12px;}
  .rbh-interior .hero-copy h1 {font-size:clamp(27px,7.7vw,37px);margin:9px 0 9px;letter-spacing:-.005em;}
  .rbh-interior .hero-copy .hero-sub {font-size:clamp(16px,4.3vw,20px);}
  .rbh-interior .hero-copy p {font-size:14px;}
  .rbh-interior .hero-page-icon-wrap {display:none;}
  .rbh-interior .hero-photo {width:calc(100% - 18px);height:175px;margin:0 9px 2px; border-radius:10px; padding:5px;box-shadow:3px 3px 0 #050505;}
  .rbh-interior .hero-photo img {border-radius:7px;}
  .rbh-interior .page-banner .wrap {padding:18px 18px 16px;border-left-width:5px;}
  .rbh-interior .page-banner h1 {font-size:clamp(26px,8vw,35px);}
  .rbh-interior > .section.wrap {padding:17px 14px;}
  .rbh-interior > .intro-statement {padding:14px;}
  .rbh-interior .intro-statement .wrap {width:100%;}
  .rbh-interior .intro-statement p {font-size:14px;}
  .rbh-interior .intro-statement .spark {font-size:16px;}
  .rbh-interior .section-head {gap:7px;margin-bottom:15px;}
  .rbh-interior .section-head h2 {--brickwidth:19px;font-size:clamp(17px,5vw,23px);padding:6px 11px 7px 9px;}
  .rbh-interior .section-head p {font-size:13px;line-height:1.4;}
  .rbh-interior .step-grid {gap:10px;}
  .rbh-interior .step {padding:14px;}
  .rbh-interior .gallery-category {padding:12px;margin:13px 0;}
  .rbh-interior .photo-strip-gallery {gap:9px;}
  .rbh-interior .photo-open {padding:3px;}
  .rbh-interior .fit-grid {gap:9px;}
  .rbh-interior .fit-grid>div {padding:12px;}
  .rbh-interior .contact-layout {grid-template-columns:1fr;gap:18px;}
  .rbh-interior .contact-sidebar {border:1px solid #3b3c40;padding:16px;}
  .rbh-interior .form-row {gap:13px;}
  .rbh-interior .rove-feature,.rbh-interior .story-row {gap:17px;}
  .rbh-interior .rove-grid {margin-top:19px;gap:10px;}
  .rbh-interior .rove-stop span {font-size:clamp(12px,3.4vw,15px);}
  .rbh-interior .rove-stop small {font-size:11px;}
  .rbh-interior .btn {font-size:14px;min-height:39px;}
  .rbh-interior .golden-teaser {padding:13px;}
  .rbh-interior .rbh-links-page {max-width:calc(100% - 22px);}
}

/* Preserve layout without an overlapping decorative floating mascot. */
.rbh-interior .floating-rove {display:none!important;}
