/*
Theme Name: Rudi Harst Quiet Stage
Theme URI: https://rudiharst.com/
Author: Good Creative Media
Description: An editorial performance theme for Rudi Harst, Ready or Not, and Rudi & The Rudiments.
Version: 1.5.3
Text Domain: rudi-quiet-stage
*/

:root {
  --paper: #eee8de;
  --paper-deep: #ddd4c6;
  --ink: #1d1d1a;
  --muted: #726b61;
  --sage: #7d8574;
  --sage-dark: #4f584b;
  --teal: #456c70;
  --gold: #b89551;
  --clay: #84695d;
  --night: #202420;
  --line: rgba(29, 29, 26, .18);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pad: clamp(1.5rem, 5vw, 6rem);
  --measure: 76rem;
  --shadow: 0 28px 70px rgba(25, 25, 20, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
section[id], article[id] { scroll-margin-top: 9rem; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
  overflow-x: hidden;
}
body.admin-bar .site-header { top: 32px; }
img { display: block; width: 100%; height: auto; }
img[src*="rudi-wise.jpg"] { object-position: 84% 42%; }
img[src*="rudi-guitar.jpg"] { object-position: 50% 6%; }
img[src*="rudi-concert.jpg"] { object-position: 50% 18%; }
img[src*="rudi-stage.jpg"], img[src*="rudi-speaker.jpg"] { object-position: 50% 22%; }
img[src*="rudi-hero.jpeg"] { object-position: 44% 20%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }
button, input, textarea { font: inherit; }
h1, h2, h3, p, figure, blockquote { margin-top: 0; }
h1, h2, h3 { line-height: .98; text-wrap: balance; overflow-wrap: normal; word-break: normal; }
h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; }
h1 { font-size: clamp(4rem, 10vw, 9.5rem); }
h2 { font-size: clamp(2.7rem, 6vw, 6.4rem); }
h3 { font-size: clamp(1.25rem, 2vw, 2rem); }
em { font-weight: 400; }
::selection { color: var(--paper); background: var(--sage-dark); }

.screen-reader-text, .skip-link:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link:focus { position: fixed; z-index: 10000; top: 1rem; left: 1rem; padding: .8rem 1rem; background: white; }

.site-utility {
  min-height: 3.1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: .35rem var(--pad);
  background: var(--teal);
  color: var(--paper);
}
.site-utility-authority, .site-utility-tools, .site-social { display: flex; align-items: center; }
.site-utility-authority { gap: .72rem; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.site-utility-authority strong { padding: .28rem .52rem; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; font-size: .58rem; letter-spacing: .13em; }
.site-utility-authority span { color: rgba(255,255,255,.76); }
.site-utility-tools { gap: .42rem; }
.site-utility-action {
  min-height: 2.25rem;
  display: inline-flex;
  align-items: center;
  gap: .34rem;
  padding: .34rem .72rem;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.site-utility-action svg { width: .9rem; height: .9rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.site-utility-action { border-color: var(--gold); background: var(--gold); color: var(--night); }
.site-utility a:hover, .site-utility a:focus-visible { color: white; outline: 1px solid rgba(255,255,255,.72); outline-offset: 3px; }
.site-social { gap: .32rem; }
.site-social a { width: 2.15rem; height: 2.15rem; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }
.site-social a:hover, .site-social a:focus-visible { background: var(--paper); color: var(--teal); }
.site-social svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  min-height: 5.25rem;
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) auto;
  align-items: center;
  gap: clamp(.85rem, 1.8vw, 2rem);
  padding: 1rem var(--pad);
  background: rgba(238, 232, 222, .94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
}
.site-brand { display: inline-flex; flex-direction: column; width: max-content; text-decoration: none; }
.site-brand strong { font-family: var(--serif); font-size: 1.7rem; font-weight: 400; letter-spacing: -.04em; }
.site-brand small { color: var(--muted); font-size: .66rem; letter-spacing: .15em; text-transform: uppercase; }
.primary-nav ul { display: flex; align-items: center; gap: clamp(.38rem, 1.15vw, 1.3rem); margin: 0; padding: 0; list-style: none; }
.primary-nav li { position: relative; }
.primary-nav a { display: block; padding: .7rem .1rem; font-size: .78rem; font-weight: 700; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.primary-nav > div > ul > li > a::after { content: ""; display: block; width: 0; height: 1px; margin-top: .25rem; background: currentColor; transition: width .25s ease; }
.primary-nav > div > ul > li:hover > a::after, .primary-nav .current-menu-item > a::after, .primary-nav .current-menu-ancestor > a::after { width: 100%; }
.primary-nav .sub-menu {
  position: absolute;
  top: calc(100% + .3rem);
  left: -.9rem;
  min-width: 16rem;
  display: grid;
  gap: .15rem;
  padding: .75rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(.5rem);
  background: var(--night);
  color: var(--paper);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: var(--shadow);
  transition: .2s ease;
}
.primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu, .primary-nav li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.primary-nav .sub-menu a { padding: .62rem .7rem; }
.primary-nav .sub-menu a:hover { background: rgba(255,255,255,.08); }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  padding: .88rem 1.25rem;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--ink);
  color: var(--paper);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.button:hover { transform: translateY(-2px); background: var(--gold); color: var(--ink); }
.button-line { background: transparent; color: var(--ink); }
.button-light { border-color: var(--paper); background: var(--paper); color: var(--ink); }
.menu-toggle { min-height: 2.75rem; display: none; align-items: center; border: 0; background: none; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.content-shell { width: min(var(--measure), calc(100% - (var(--pad) * 2))); margin-inline: auto; }
.kicker, .section-number { margin-bottom: 1rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.section-number { display: flex; align-items: center; gap: .9rem; }
.section-number::after { content: ""; width: 3.2rem; height: 1px; background: currentColor; opacity: .45; }
.lede { max-width: 44rem; font-family: var(--serif); font-size: clamp(1.4rem, 2.4vw, 2.2rem); line-height: 1.35; }
.eyebrow { color: var(--gold); font-size: .74rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }

.home-hero {
  position: relative;
  min-height: calc(100svh - 5.25rem);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 7rem);
  padding: clamp(4rem, 8vw, 8rem) var(--pad);
}
.home-hero-copy { padding-left: clamp(0rem, 2vw, 2rem); }
.home-hero h1 { margin-bottom: 1.5rem; }
.home-hero h1 span {
  display: block;
  width: max-content;
  max-width: 100%;
  margin: .06em 0 0 clamp(.5rem, 2vw, 2rem);
  color: var(--teal);
  font-size: .56em;
  font-style: italic;
  line-height: 1.04;
  white-space: nowrap;
}
.home-hero .lede { max-width: 38rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.home-hero figure { position: relative; margin: 0; }
.home-hero figure::before { content: ""; position: absolute; z-index: -1; inset: -1.5rem 2rem 2rem -1.5rem; border: 1px solid var(--gold); }
.home-hero figure img { min-height: 34rem; object-fit: cover; filter: saturate(.78) contrast(.98); box-shadow: var(--shadow); }
.home-hero figcaption { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; color: var(--muted); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }

.marquee { overflow: hidden; padding: .8rem 0; background: var(--teal); color: var(--paper); font-size: .72rem; font-weight: 800; letter-spacing: .18em; white-space: nowrap; }
.marquee div { width: max-content; animation: marquee 34s linear infinite; }
@keyframes marquee { to { transform: translateX(-50%); } }

.intro { display: grid; grid-template-columns: .35fr 1.65fr; gap: 4rem; padding-block: clamp(5rem, 10vw, 10rem); }
.intro[data-media-row] { grid-template-columns: .25fr minmax(0, 1.15fr) minmax(14rem, .6fr); align-items: end; }
.intro-copy { max-width: 54rem; }
.intro-copy p:first-child { font-family: var(--serif); font-size: clamp(2rem, 4.4vw, 4.7rem); line-height: 1.1; letter-spacing: -.035em; }

.portrait-band { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 40rem; background: var(--sage-dark); color: var(--paper); }
.portrait-band > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 9vw, 9rem) var(--pad); }
.portrait-band figure { margin: 0; min-height: 38rem; }
.portrait-band img { height: 100%; object-fit: cover; filter: grayscale(.25) sepia(.12); }

.section { padding-block: clamp(5rem, 10vw, 10rem); }
.section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.section-heading h2 { margin-bottom: 0; }
.section-heading p { max-width: 38rem; }
.designed-title span, .journal-title span { display: block; }

.role-list { border-top: 1px solid var(--line); }
.role-row { display: grid; grid-template-columns: 4rem minmax(12rem, .6fr) 1fr auto; gap: 2rem; align-items: center; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.role-row h3 { margin: 0; font-family: var(--serif); font-size: clamp(2rem, 4vw, 4.4rem); font-weight: 400; }
.role-row p { margin: 0; }
.role-row-link { min-height: 2.75rem; display: inline-flex; align-items: center; gap: .4rem; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.role-row-link span { font-size: 1.35rem; transition: transform .2s ease; }
.role-row:hover .role-row-link span { transform: translate(4px, -4px); }

.showcase { display: grid; grid-template-columns: 1fr 1fr; background: var(--paper-deep); }
.showcase-media { position: relative; min-height: 52rem; }
.showcase-media img { height: 100%; object-fit: cover; }
.showcase-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 8vw, 8rem); }
.showcase-copy h2 em { color: var(--clay); }
.fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 2rem; background: var(--line); }
.fact-grid > div { padding: 1rem; background: var(--paper-deep); }
.fact-grid strong, .fact-grid span { display: block; }
.fact-grid span { color: var(--muted); font-size: .75rem; }

.album-grid, .card-grid, .journal-grid, .photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem; }
.album-card, .journal-card { text-decoration: none; }
.album-card img, .journal-card img { aspect-ratio: 1 / .78; object-fit: cover; filter: saturate(.8); transition: transform .45s ease, filter .45s ease; }
.album-card:hover img, .journal-card:hover img { transform: scale(1.025); filter: saturate(1); }
.album-card h3, .journal-card h3 { margin: .7rem 0; font-family: var(--serif); font-weight: 400; }
.album-card small, .journal-card small { color: var(--muted); }
.shop-product { display: grid; grid-template-columns: minmax(16rem, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.shop-product img { aspect-ratio: 4 / 5; max-height: 40rem; object-fit: contain; background: var(--paper-deep); box-shadow: var(--shadow); }
.shop-card { padding: 1rem; border: 1px solid var(--line); }
.shop-card img { aspect-ratio: 1 / .82; object-fit: contain; background: var(--paper-deep); }
.shop-card h3 { margin: 1.2rem 0 .65rem; font-family: var(--serif); font-weight: 400; }

.dimension { padding: clamp(5rem, 10vw, 10rem) var(--pad); background: #263e40; color: var(--paper); perspective: 1400px; }
.dimension-copy { max-width: 58rem; }
.dimension-stage { position: relative; min-height: 42rem; margin-top: 4rem; }
.dimension-card { position: absolute; width: min(30rem, 44vw); padding: 1rem; background: var(--paper); color: var(--ink); box-shadow: 0 40px 90px rgba(0,0,0,.42); text-decoration: none; transform-style: preserve-3d; transition: transform .5s cubic-bezier(.2,.8,.2,1), z-index 0s; }
.dimension-card img { aspect-ratio: 1.35; object-fit: cover; }
.dimension-card h3 { margin: .9rem 0 .4rem; font-family: var(--serif); font-size: 2.2rem; font-weight: 400; }
.dimension-card p { color: var(--muted); }
.dimension-card:nth-child(1) { left: 4%; top: 4rem; transform: rotateY(12deg) rotateZ(-4deg); }
.dimension-card:nth-child(2) { left: 34%; top: 0; z-index: 2; transform: translateZ(80px) rotateZ(2deg); }
.dimension-card:nth-child(3) { right: 3%; top: 6rem; transform: rotateY(-12deg) rotateZ(5deg); }
.dimension-card:hover { z-index: 5; transform: translateY(-1.2rem) translateZ(130px) rotate(0); }

.service-card, .proof-card, .support-card { padding: 2rem; border: 1px solid var(--line); background: rgba(255,255,255,.18); }
.service-card:nth-child(2), .service-card:nth-child(5) { border-color: rgba(69,108,112,.36); background: rgba(69,108,112,.1); }
.service-card span, .proof-card span, .support-card > span { color: var(--gold); font-size: .75rem; font-weight: 800; letter-spacing: .14em; }
.service-card h3, .proof-card h3, .support-card h3 { margin: 2.8rem 0 1rem; font-family: var(--serif); font-weight: 400; }
.service-card a, .section-heading a { min-height: 2.75rem; display: inline-flex; align-items: center; }

.story { display: grid; grid-template-columns: .82fr 1.18fr; background: var(--paper-deep); }
.story-intro { position: sticky; top: 5rem; align-self: start; padding: clamp(4rem, 8vw, 8rem) var(--pad); }
.story-intro img { max-width: 26rem; margin-top: 2rem; }
.timeline { padding: 4rem var(--pad) 4rem 2rem; }
.timeline-row { display: grid; grid-template-columns: 3rem .55fr 1fr; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.timeline-row h3 { margin: 0; font-family: var(--serif); font-weight: 400; }

.gallery-track { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; padding-inline: var(--pad); }
.gallery-track figure { margin: 0; }
.gallery-track figure:nth-child(1), .gallery-track figure:nth-child(4) { grid-column: span 5; }
.gallery-track figure:nth-child(2), .gallery-track figure:nth-child(5) { grid-column: span 4; margin-top: 4rem; }
.gallery-track figure:nth-child(3), .gallery-track figure:nth-child(6) { grid-column: span 3; margin-top: 8rem; }
.gallery-track img { aspect-ratio: .82; object-fit: cover; filter: saturate(.75); }
.gallery-track figcaption { padding-top: .45rem; color: var(--muted); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }

.book-band { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; align-items: center; padding: clamp(5rem, 10vw, 10rem) var(--pad); background: var(--sage); color: white; }
.book-band figure { max-width: 29rem; margin: auto; transform: rotate(-3deg); box-shadow: var(--shadow); }
.book-band dl { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.3); border-bottom: 1px solid rgba(255,255,255,.3); }
.book-band dl div { padding: 1rem; }
.book-band dt { font-size: .68rem; letter-spacing: .13em; text-transform: uppercase; }
.book-band dd { margin: .3rem 0 0; font-family: var(--serif); font-size: 1.4rem; }

.faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem, 8vw, 8rem); }
.faq details { border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { display: grid; grid-template-columns: 3rem 1fr auto; gap: 1rem; align-items: center; padding: 1.35rem 0; cursor: pointer; font-family: var(--serif); font-size: 1.3rem; }
.faq details p { padding: 0 3rem 1.5rem; }

.support-band { padding: clamp(5rem, 9vw, 8rem) var(--pad); background: var(--teal); color: white; }
.support-band header { max-width: 50rem; }
.support-band .card-grid { margin-top: 3rem; }
.support-card { display: flex; flex-direction: column; color: white; text-decoration: none; border-color: rgba(255,255,255,.25); }
.support-card b { margin-top: auto; padding-top: 2rem; }

.contact-band { text-align: center; padding: clamp(5rem, 10vw, 10rem) var(--pad); background: var(--night); color: var(--paper); }
.contact-band > * { max-width: 56rem; margin-inline: auto; }
.contact-band .hero-actions { justify-content: center; }

.page-hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 7vw, 8rem); align-items: center; min-height: 42rem; padding: clamp(4rem, 8vw, 8rem) var(--pad); }
.page-hero h1 { margin-bottom: 1.5rem; }
.page-hero figure { margin: 0; }
.page-hero figure img { max-height: 42rem; object-fit: cover; box-shadow: var(--shadow); }
.page-content > section { padding: clamp(4rem, 8vw, 8rem) var(--pad); }
.page-content > section:nth-child(even) { background: var(--paper-deep); }
.copy-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2rem, 7vw, 8rem); }
.copy-grid .prose { max-width: 49rem; }
.copy-grid .prose p { margin-bottom: 1.2rem; }
.video-frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #111; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fact-strip { display: grid; grid-template-columns: repeat(5, 1fr); padding: 0 !important; background: var(--night) !important; color: white; }
.fact-strip div { padding: 1.5rem; border-right: 1px solid rgba(255,255,255,.2); text-align: center; }
.fact-strip strong, .fact-strip span { display: block; }
.fact-strip strong { font-family: var(--serif); font-size: 2rem; }
.fact-strip span { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.press-photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 3rem; }
.press-photo-grid img { aspect-ratio: .85; object-fit: cover; }
.press-photo-grid a { text-decoration: none; }
.press-photo-grid strong, .press-photo-grid small { display: block; margin-top: .55rem; }
.press-photo-grid small { color: var(--muted); }
.map-frame { aspect-ratio: 16 / 10; }
.map-frame iframe { width: 100%; height: 100%; border: 0; }
.contact-card { padding: 2rem; background: var(--night); color: var(--paper); box-shadow: var(--shadow); }
.contact-card a, .contact-card span { display: block; }
.contact-card label { display: block; margin-bottom: .35rem; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contact-card input, .contact-card textarea { width: 100%; padding: .85rem 1rem; border: 1px solid rgba(255,255,255,.3); border-radius: 0; background: rgba(255,255,255,.08); color: white; }
.contact-card input:focus, .contact-card textarea:focus { outline: 2px solid var(--gold); outline-offset: 2px; }
.booking-list { counter-reset: booking; margin: 0; padding: 0; list-style: none; }
.booking-list li { counter-increment: booking; display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.booking-list li::before { content: "0" counter(booking); color: var(--gold); font-weight: 800; }
.post-list { display: grid; gap: 1rem; }
.post-list article { display: grid; grid-template-columns: minmax(15rem, .72fr) 1.28fr; gap: clamp(1.5rem, 4vw, 4rem); align-items: center; padding: 1.25rem; border: 1px solid var(--line); }
.post-list-image { align-self: stretch; overflow: hidden; }
.post-list img { aspect-ratio: 4 / 3; height: 100%; object-fit: cover; transition: transform .45s ease; }
.post-list article:hover img { transform: scale(1.025); }
.post-list h2 { font-size: 2.3rem; }
.post-list a { text-decoration: none; }

.journal-page-hero .journal-title { font-size: clamp(4rem, 9vw, 8.5rem); }
.journal-page-hero .journal-title span { width: max-content; max-width: 100%; white-space: nowrap; }
.journal-page-hero .journal-title span:nth-child(2) { margin-left: clamp(.4rem, 2vw, 1.5rem); font-size: .84em; }
.journal-page-hero figure img { aspect-ratio: 4 / 5; width: min(34rem, 100%); margin-left: auto; }
.journal-page-hero figcaption { padding-top: .7rem; color: var(--muted); font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; }

.journal-article { padding-top: clamp(4rem, 8vw, 8rem); }
.article-header { width: min(72rem, calc(100% - (var(--pad) * 2))); margin-inline: auto; }
.article-breadcrumb { display: flex; gap: .65rem; margin-bottom: 3rem; color: var(--muted); font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.article-breadcrumb a { text-decoration: none; }
.article-title { max-width: 70rem; margin-bottom: 2rem; font-size: clamp(4.4rem, 8vw, 8.25rem); }
.article-title span { display: block; width: max-content; max-width: 100%; white-space: nowrap; }
.article-deck { max-width: 56rem; margin-bottom: 2rem; font-family: var(--serif); font-size: clamp(1.55rem, 2.65vw, 2.45rem); line-height: 1.3; text-wrap: pretty; }
.article-meta { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; padding-block: 1.1rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: .78rem; font-weight: 700; letter-spacing: .06em; }
.article-share { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.3rem; }
.article-share a, .article-share button { padding: .55rem .82rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink); font-size: .7rem; font-weight: 800; letter-spacing: .08em; line-height: 1; text-decoration: none; text-transform: uppercase; cursor: pointer; transition: background .2s ease, color .2s ease; }
.article-share a:hover, .article-share button:hover { background: var(--ink); color: var(--paper); }
.article-hero { width: min(82rem, calc(100% - (var(--pad) * 2))); margin: clamp(3rem, 6vw, 6rem) auto clamp(4rem, 8vw, 8rem); }
.article-hero img { aspect-ratio: 3 / 2; max-height: 52rem; object-fit: cover; box-shadow: var(--shadow); }
.article-hero figcaption, .article-inline-media figcaption { padding-top: .72rem; color: var(--muted); font-size: .72rem; letter-spacing: .06em; }
.article-layout { width: min(74rem, calc(100% - (var(--pad) * 2))); display: grid; grid-template-columns: 12rem minmax(0, 52rem); justify-content: center; gap: clamp(2rem, 6vw, 6rem); margin-inline: auto; }
.article-rail { position: sticky; top: 8rem; align-self: start; padding-top: 1rem; border-top: 1px solid var(--ink); color: var(--muted); font-size: .82rem; }
.article-rail p { margin-bottom: 1.2rem; }
.article-rail a { color: var(--ink); font-weight: 800; text-decoration: none; }
.article-body { min-width: 0; }
.article-body > p { font-family: var(--serif); font-size: clamp(1.16rem, 1.65vw, 1.32rem); line-height: 1.8; text-wrap: pretty; }
.article-body > p:first-child::first-letter { float: left; margin: .1em .12em 0 0; color: var(--sage-dark); font-family: var(--serif); font-size: 5.3em; line-height: .72; }
.article-body h2 { max-width: 50rem; margin: clamp(3.5rem, 7vw, 6rem) 0 2rem; color: var(--sage-dark); font-size: clamp(2.15rem, 4vw, 3.75rem); line-height: 1.04; }
.article-body ul { margin: 0 0 2.5rem; padding: 1.6rem 1.6rem 1.6rem 3rem; border: 1px solid var(--line); background: rgba(255,255,255,.2); }
.article-body li { margin-bottom: .7rem; font-family: var(--serif); font-size: 1.14rem; line-height: 1.6; }
.article-inline-media { margin: 2.5rem 0 3.2rem; }
.article-inline-media img { aspect-ratio: 3 / 2; object-fit: cover; box-shadow: var(--shadow); }
.article-end { width: min(66rem, calc(100% - (var(--pad) * 2))); margin: clamp(5rem, 10vw, 10rem) auto 0; padding: clamp(3rem, 7vw, 6rem); background: var(--sage-dark); color: var(--paper); }
.article-end h2 { font-size: clamp(2.5rem, 5vw, 5rem); }
.article-end h2 span { display: block; }
.article-end p:not(.kicker) { max-width: 45rem; font-family: var(--serif); font-size: 1.2rem; }
.article-end .button-line { border-color: var(--paper); color: var(--paper); }
.related-journal { margin-top: clamp(5rem, 10vw, 10rem); padding-block: clamp(5rem, 9vw, 8rem); background: var(--night); color: var(--paper); }
.related-journal h2 { max-width: 55rem; font-size: clamp(3rem, 6vw, 6rem); }
.related-journal h2 span { display: block; }
.related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; margin-top: 3rem; }
.related-card { display: grid; align-content: start; padding: 1rem; border: 1px solid rgba(255,255,255,.18); color: var(--paper); text-decoration: none; }
.related-card img { aspect-ratio: 4 / 3; margin-bottom: 1.2rem; object-fit: cover; }
.related-card h3 { margin: .4rem 0 .8rem; font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 400; text-wrap: balance; }
.related-card p { max-width: 36rem; color: rgba(255,255,255,.72); }
.related-card b { margin-top: 1rem; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.legal { max-width: 52rem; }

.logos-page-hero {
  min-height: 44rem;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(22rem, .9fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
  padding: clamp(5rem, 9vw, 9rem) var(--pad);
}
.logos-page-hero h1 { margin-bottom: 1.4rem; }
.logo-review-board {
  position: relative;
  min-height: 34rem;
  display: grid;
  align-content: start;
  gap: .55rem;
  padding: clamp(2rem, 4vw, 4rem);
  overflow: hidden;
  background: var(--teal);
  color: var(--paper);
  box-shadow: var(--shadow);
}
.logo-review-board::before {
  content: "";
  position: absolute;
  inset: 1.2rem;
  border: 1px solid rgba(255,255,255,.3);
  pointer-events: none;
}
.logo-review-board span {
  position: relative;
  z-index: 1;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.logo-review-board svg {
  position: absolute;
  right: -2.5rem;
  bottom: 1rem;
  width: 88%;
  color: var(--gold);
}
.logo-review-board strong {
  position: absolute;
  z-index: 1;
  left: clamp(2rem, 4vw, 4rem);
  bottom: clamp(2rem, 4vw, 4rem);
  font-family: var(--serif);
  font-size: clamp(2.4rem, 4vw, 4.4rem);
  font-weight: 400;
  line-height: .92;
}
.logo-decision-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.logo-decision-grid article {
  min-height: 29rem;
  padding: clamp(2rem, 4vw, 4rem);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.logo-decision-grid article:nth-child(2) { background: var(--sage-dark); color: var(--paper); }
.logo-decision-grid span {
  display: block;
  margin-bottom: 5rem;
  color: var(--gold);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.logo-decision-grid h2 { font-size: clamp(2.6rem, 4.2vw, 4.8rem); }
.logo-review-instructions {
  padding: clamp(5rem, 9vw, 9rem) var(--pad);
  background: var(--night);
  color: var(--paper);
}
.logo-review-instructions > .content-shell {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(2rem, 7vw, 8rem);
}
.logo-review-instructions h2 { font-size: clamp(3rem, 6vw, 6rem); }
.logo-turn-nav {
  width: min(var(--measure), calc(100% - (var(--pad) * 2)));
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin: 4rem auto 0;
}
.logo-turn-nav button {
  min-height: 3rem;
  padding: .75rem 1rem;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  background: transparent;
  color: var(--paper);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.logo-turn-nav button:hover, .logo-turn-nav button:focus-visible {
  outline: 0;
  border-color: var(--gold);
  background: var(--gold);
  color: var(--night);
}
.logo-study-section { padding: clamp(5rem, 9vw, 9rem) 0 0; background: #efeae0; }
.logo-study-heading {
  display: grid;
  grid-template-columns: 1fr .7fr;
  gap: 3rem;
  align-items: end;
  padding-bottom: 4rem;
}
.logo-study-heading h2 { margin-bottom: 0; }
.logo-study-viewport { border-top: 1px solid var(--line); background: #efeae0; }
.logo-study-viewport iframe {
  width: 100%;
  min-height: 60rem;
  display: block;
  border: 0;
  background: #efeae0;
}

.site-footer { display: grid; grid-template-columns: 1.2fr .8fr .8fr .9fr; gap: clamp(2rem, 4vw, 4rem); padding: 5rem var(--pad) 2rem; background: #151714; color: var(--paper); }
.site-footer h2 { font-size: 3rem; }
.site-footer .footer-home-link { display: inline-block; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.site-footer .footer-home-link:hover, .site-footer .footer-home-link:focus-visible { color: var(--gold); outline: 0; transform: translateY(-2px); }
.site-footer nav { display: grid; gap: .5rem; }
.site-footer a { text-decoration: none; }
.site-footer nav a { min-height: 2.75rem; display: inline-flex; align-items: center; }
.site-footer .footer-base { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 2rem; padding: 2rem 10.5rem 0 0; border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.65); font-size: .75rem; }
.site-footer .footer-legal { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .3rem 1rem; }
.site-footer .footer-legal a:hover { color: var(--gold); }
.back-to-top { position: fixed; left: 1.2rem; right: auto; bottom: 1.2rem; z-index: 900; width: 3.2rem; height: 3.2rem; display: grid; place-items: center; border: 1px solid var(--paper); border-radius: 50%; background: var(--night); color: white; text-decoration: none; box-shadow: 0 10px 30px rgba(0,0,0,.2); opacity: 0; transform: translateY(1rem); pointer-events: none; transition: .2s ease; }
.back-to-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }

[data-media-row] {
  --row-shift-x: 0px;
  --row-shift-y: 0px;
  position: relative;
  isolation: isolate;
}
[data-media-row] > *:not(.media-row-graphic) { position: relative; z-index: 1; }
.media-row-graphic {
  position: absolute;
  top: clamp(1rem, 3vw, 3rem);
  right: clamp(1rem, 3vw, 3rem);
  z-index: 0;
  width: clamp(5rem, 8vw, 8.5rem);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--gold) 62%, transparent);
  border-radius: 50%;
  color: color-mix(in srgb, currentColor 38%, transparent);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(1.5rem, 1rem, 0) rotate(-14deg) scale(.82);
  transition: opacity .7s ease, transform 1s cubic-bezier(.17,.9,.25,1.15);
}
.media-row-graphic::before, .media-row-graphic::after {
  content: "";
  position: absolute;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.media-row-graphic::before { inset: 15%; opacity: .55; }
.media-row-graphic::after { inset: 32%; background: currentColor; opacity: .2; }
.portrait-band .media-row-graphic, .dimension .media-row-graphic, .contact-band .media-row-graphic { color: rgba(238,232,222,.42); }
[data-media-row].is-media-active .media-row-graphic { opacity: .72; transform: translate3d(var(--row-shift-x), var(--row-shift-y), 0) rotate(8deg) scale(1); }
[data-media-row].is-media-active .media-row-graphic::before { animation: mediaRowOrbit 12s linear infinite; }
@keyframes mediaRowOrbit { to { transform: rotate(360deg) scale(.9); } }

.row-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 2.75rem;
  margin-top: 1rem;
  padding-bottom: .25rem;
  border-bottom: 1px solid currentColor;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}
.row-link span { font-size: 1.15rem; transition: transform .2s ease; }
.row-link:hover span, .row-link:focus-visible span { transform: translate(4px, -4px); }
.row-link-light { color: var(--paper); }

.media-row-inset {
  display: block;
  width: min(100%, 23rem);
  margin: 0 0 3rem auto;
  color: inherit;
  text-decoration: none;
  perspective: 900px;
}
.media-row-inset figure { position: relative; margin: 0; padding: .65rem; border: 1px solid var(--line); background: rgba(255,255,255,.23); box-shadow: 9px 9px 0 rgba(69,108,112,.17); transition: transform .35s cubic-bezier(.17,.9,.25,1.15), box-shadow .35s ease; }
.media-row-inset img { aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.76) contrast(.98); transform: translate3d(calc(var(--row-shift-x) * .2), calc(var(--row-shift-y) * .2), 0); transition: filter .35s ease, transform .35s ease; }
.media-row-inset figcaption { padding: .65rem .2rem .1rem; color: var(--muted); font-size: .68rem; font-weight: 750; letter-spacing: .06em; line-height: 1.4; }
.media-row-inset figure::after { content: "View"; position: absolute; top: 1.1rem; right: 1.1rem; padding: .3rem .45rem; background: rgba(29,29,26,.84); color: var(--paper); font-size: .58rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.media-row-inset:hover figure, .media-row-inset:focus-visible figure { outline: 0; transform: translateY(-5px) rotateX(1deg) rotateY(-1deg); box-shadow: 13px 15px 0 rgba(69,108,112,.25); }
.media-row-inset:hover img, .media-row-inset:focus-visible img { filter: saturate(1) contrast(1); transform: scale(1.025); }
.media-row-inset:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.media-row-inset-wide { width: min(100%, 35rem); }
.media-row-inset-wide figure { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(9rem, .75fr); align-items: end; gap: .7rem; }
.media-row-inset-wide img { aspect-ratio: 4 / 3; }
.media-row-inset-wide img[src*="rudi-guitar.jpg"], .media-row-inset-wide img[src*="rudi-concert.jpg"] { aspect-ratio: 1; }
.intro .media-row-inset { width: 100%; margin: 0; align-self: end; }
.intro .media-row-inset img { aspect-ratio: 4 / 5; min-height: 22rem; }
.faq header .media-row-inset { width: 100%; margin: 2rem 0 0; }
.support-band .media-row-inset { margin: 2rem 0 0; color: white; }
.support-band .media-row-inset figure { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.08); }
.support-band .media-row-inset figcaption { color: rgba(255,255,255,.78); }
.media-row-inset-center { margin: 3rem auto 0; text-align: left; }
.contact-band .media-row-inset figure { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.06); }
.contact-band .media-row-inset figcaption { color: rgba(255,255,255,.75); }
.press-feature-row { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .75fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.press-feature-row .media-row-inset { margin: 0; }

.rh-buddy-launch {
  position: fixed;
  right: 1.2rem;
  bottom: 1.2rem;
  z-index: 1101;
  min-height: 3.25rem;
  display: inline-flex;
  align-items: center;
  gap: .58rem;
  padding: .48rem .95rem .48rem .52rem;
  border: 1px solid rgba(238,232,222,.45);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--sage-dark), var(--night));
  color: var(--paper);
  box-shadow: 0 18px 42px rgba(29,29,26,.26);
  cursor: pointer;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease;
}
.rh-buddy-launch:hover, .rh-buddy-launch:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; transform: translateY(-2px); box-shadow: 0 22px 48px rgba(29,29,26,.34); }
.rh-buddy-launch-icon { width: 2.15rem; height: 2.15rem; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: var(--ink); }
.rh-buddy-launch-icon svg { width: 1.15rem; height: 1.15rem; }

.rh-buddy-panel {
  position: fixed;
  right: 1.2rem;
  bottom: 5.25rem;
  z-index: 1102;
  width: min(25rem, calc(100vw - 1.5rem));
  max-height: min(40rem, calc(100svh - 7rem));
  display: grid;
  grid-template-rows: auto auto minmax(12rem, 1fr) auto auto;
  overflow: hidden;
  border: 1px solid rgba(29,29,26,.22);
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 32px 82px rgba(29,29,26,.34), 9px 9px 0 rgba(184,149,81,.24);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(.7rem) scale(.985);
  transform-origin: right bottom;
  transition: opacity .18s ease, transform .22s ease, visibility .18s ease;
}
.rh-buddy-panel.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.rh-buddy-head { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: .7rem; padding: .82rem .9rem; background: linear-gradient(100deg, var(--clay), var(--sage-dark) 55%, var(--night)); color: var(--paper); }
.rh-buddy-avatar { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: var(--ink); font-family: var(--serif); font-size: 1.45rem; line-height: 1; }
.rh-buddy-title { min-width: 0; display: grid; gap: .08rem; }
.rh-buddy-title strong { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; line-height: 1; }
.rh-buddy-title span { color: rgba(238,232,222,.78); font-size: .69rem; font-weight: 750; letter-spacing: .04em; }
.rh-buddy-icon-button, .rh-buddy-quick, .rh-buddy-send, .rh-buddy-mic, .rh-buddy-mic-off { appearance: none; cursor: pointer; }
.rh-buddy-icon-button { width: 2rem; height: 2rem; display: grid; place-items: center; padding: 0; border: 0; background: rgba(238,232,222,.12); color: var(--paper); }
.rh-buddy-icon-button svg { width: 1rem; height: 1rem; }
.rh-buddy-icon-button:hover, .rh-buddy-icon-button:focus-visible, .rh-buddy-icon-button.is-on { outline: 0; background: var(--gold); color: var(--ink); }
.rh-buddy-quick-row { display: flex; flex-wrap: wrap; gap: .4rem; padding: .65rem .72rem; border-bottom: 1px solid var(--line); background: var(--paper-deep); }
.rh-buddy-quick { min-height: 2rem; padding: .4rem .52rem; border: 1px solid var(--line); background: rgba(255,255,255,.42); color: var(--ink); font-size: .67rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.rh-buddy-quick:hover, .rh-buddy-quick:focus-visible { outline: 0; background: var(--gold); }
.rh-buddy-messages { display: flex; flex-direction: column; gap: .65rem; overflow-y: auto; padding: .9rem; background: radial-gradient(circle at 12% 8%, rgba(184,149,81,.16), transparent 30%), linear-gradient(90deg, rgba(29,29,26,.035) 1px, transparent 1px), var(--paper); background-size: auto, 30px 30px, auto; }
.rh-buddy-message { max-width: 88%; padding: .7rem .78rem; border: 1px solid var(--line); box-shadow: 0 10px 24px rgba(29,29,26,.07); font-size: .9rem; line-height: 1.46; white-space: pre-wrap; }
.rh-buddy-message.is-bot { align-self: flex-start; border-left: 4px solid var(--gold); background: rgba(255,255,255,.72); }
.rh-buddy-message.is-user { align-self: flex-end; border-color: var(--sage-dark); background: var(--sage-dark); color: var(--paper); }
.rh-buddy-message a { color: var(--clay); font-weight: 850; }
.rh-buddy-typing span { width: .4rem; height: .4rem; display: inline-block; margin-right: .17rem; border-radius: 50%; background: var(--gold); animation: rhBuddyBlink 1.1s infinite; }
.rh-buddy-typing span:nth-child(2) { animation-delay: .18s; }
.rh-buddy-typing span:nth-child(3) { animation-delay: .36s; }
@keyframes rhBuddyBlink { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-2px); } }
.rh-buddy-form { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: .45rem; padding: .72rem; border-top: 1px solid var(--line); background: #f8f4ed; }
.rh-buddy-input { width: 100%; min-height: 2.75rem; padding: .58rem .68rem; border: 2px solid var(--line); border-radius: 0; background: white; color: var(--ink); font-size: .9rem; font-weight: 650; }
.rh-buddy-input:focus { outline: 2px solid rgba(184,149,81,.38); outline-offset: 1px; border-color: var(--gold); }
.rh-buddy-send, .rh-buddy-mic { min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; padding: .5rem .72rem; border: 1px solid var(--clay); background: var(--clay); color: var(--paper); font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.rh-buddy-mic { width: 2.75rem; padding: .5rem; border-color: var(--sage-dark); background: var(--sage-dark); }
.rh-buddy-mic svg { width: 1.1rem; height: 1.1rem; }
.rh-buddy-mic.is-listening { border-color: var(--gold); background: var(--gold); color: var(--ink); }
.rh-buddy-mic-controls { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.rh-buddy-mic-status { color: var(--muted); font-size: .67rem; font-weight: 700; line-height: 1.25; }
.rh-buddy-mic-off { min-height: 1.9rem; padding: .32rem .48rem; border: 1px solid var(--line); background: rgba(29,29,26,.06); color: var(--muted); font-size: .62rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.rh-buddy-mic-off.is-active { border-color: var(--clay); background: var(--clay); color: var(--paper); }
.rh-buddy-send:hover, .rh-buddy-send:focus-visible, .rh-buddy-mic:hover, .rh-buddy-mic:focus-visible, .rh-buddy-mic-off:hover, .rh-buddy-mic-off:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-color: var(--night); background: var(--night); color: var(--paper); }
.rh-buddy-fine { margin: 0; padding: 0 .8rem .72rem; background: #f8f4ed; color: var(--muted); font-size: .66rem; font-weight: 650; line-height: 1.35; text-align: center; }

.reveal { opacity: 0; transform: translateY(2rem); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1160px) {
  .site-header { grid-template-columns: 1fr auto; }
  .primary-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 1rem var(--pad) 2rem; background: var(--paper); border-bottom: 1px solid var(--line); }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { align-items: stretch; display: grid; gap: 0; }
  .primary-nav a { padding: .8rem 0; }
  .primary-nav .sub-menu { position: static; min-width: 0; display: none; padding: .4rem 1rem; opacity: 1; visibility: visible; transform: none; box-shadow: none; }
  .primary-nav li.is-open > .sub-menu { display: grid; }
  .menu-toggle { display: inline-flex; }
}

@media (max-width: 1080px) {
  .home-hero, .page-hero, .logos-page-hero, .showcase, .portrait-band, .story, .book-band, .shop-product { grid-template-columns: 1fr; }
  .intro[data-media-row], .press-feature-row { grid-template-columns: 1fr; }
  .intro[data-media-row] .media-row-inset { width: min(100%, 32rem); margin-left: auto; }
  .press-feature-row .media-row-inset { width: min(100%, 32rem); margin-left: 0; }
  .home-hero { min-height: auto; }
  .home-hero figure img { min-height: 28rem; }
  .story-intro { position: static; }
  .fact-grid { grid-template-columns: 1fr; }
  .dimension-stage { min-height: 60rem; }
  .dimension-card { width: min(30rem, 68vw); }
  .dimension-card:nth-child(1) { left: 2%; }
  .dimension-card:nth-child(2) { left: 24%; top: 15rem; }
  .dimension-card:nth-child(3) { right: 1%; top: 31rem; }
  .article-layout { grid-template-columns: 1fr; }
  .article-rail { position: static; display: grid; grid-template-columns: 1fr auto; gap: 1rem 2rem; align-items: start; }
  .article-rail .kicker { grid-column: 1 / -1; margin-bottom: 0; }
  .logo-decision-grid { grid-template-columns: 1fr; }
  .logo-decision-grid article { min-height: 0; }
  .logo-decision-grid span { margin-bottom: 2.5rem; }
  .logo-review-instructions > .content-shell, .logo-study-heading { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body { font-size: 16px; }
  body.admin-bar .site-header { top: 46px; }
  .site-utility { justify-content: center; gap: 0; padding: .38rem .75rem; }
  .site-utility-authority { display: none; }
  .site-utility-tools { width: 100%; justify-content: center; gap: .16rem; }
  .site-utility-action { min-height: 2rem; gap: .22rem; padding: .28rem .45rem; font-size: .52rem; letter-spacing: .06em; }
  .site-utility-action svg { width: .78rem; height: .78rem; }
  .site-social { gap: .16rem; }
  .site-social a { width: 1.88rem; height: 1.88rem; }
  .site-social svg { width: .88rem; height: .88rem; }
  .site-utility-action { margin-left: .1rem; }
  .site-header { min-height: 4.5rem; gap: .75rem; }
  .site-brand small { display: none; }
  .intro, .section-heading, .copy-grid, .faq { grid-template-columns: 1fr; gap: 2rem; }
  .role-row, .timeline-row { grid-template-columns: 2.5rem 1fr; }
  .role-row > p, .timeline-row > p { grid-column: 2; }
  .role-row .role-row-link { grid-column: 2; justify-self: start; }
  .album-grid, .card-grid, .journal-grid, .photo-grid, .press-photo-grid { grid-template-columns: 1fr; }
  .gallery-track { display: flex; overflow-x: auto; padding-bottom: 1rem; }
  .gallery-track figure { flex: 0 0 75vw; margin-top: 0 !important; }
  .dimension-stage { min-height: auto; display: grid; gap: 1rem; }
  .dimension-card, .dimension-card:nth-child(n) { position: relative; inset: auto; width: 100%; transform: none; }
  .fact-strip { grid-template-columns: repeat(2, 1fr); }
  .post-list article { grid-template-columns: 1fr; }
  .article-header, .article-hero, .article-layout, .article-end { width: min(100% - 2rem, 46rem); }
  .article-title { font-size: clamp(2.1rem, 9.6vw, 3.6rem); }
  .article-title span { white-space: nowrap; }
  .article-deck { font-size: clamp(1.28rem, 5.8vw, 1.7rem); }
  .article-meta { display: grid; gap: .25rem; }
  .article-hero { margin-block: 2.5rem 4rem; }
  .article-layout { gap: 3rem; }
  .article-rail { display: block; }
  .article-body > p { font-size: 1.1rem; line-height: 1.72; }
  .article-body h2 { font-size: clamp(2rem, 9vw, 3rem); }
  .article-end { padding: 2rem; }
  .related-grid { grid-template-columns: 1fr; }
  .journal-page-hero .journal-title { font-size: clamp(3.4rem, 16vw, 5rem); }
  .site-footer { grid-template-columns: 1fr; gap: 2rem; }
  .site-footer .footer-base { grid-column: auto; display: grid; padding-right: 0; }
  .site-footer .footer-legal { justify-content: flex-start; }
  .logos-page-hero { min-height: 0; }
  .logo-review-board { min-height: 27rem; }
  .logo-turn-nav { width: 100%; }
  .logo-turn-nav button { width: 100%; justify-content: center; }
  .logo-study-heading { padding-inline: 1rem; }
  .media-row-graphic { top: 1rem; right: 1rem; width: 4.6rem; }
  .media-row-inset, .media-row-inset-wide { width: 100%; margin: 1.5rem 0 2.5rem; }
  .media-row-inset-wide figure { grid-template-columns: 1fr; }
  .intro .media-row-inset img { min-height: 0; aspect-ratio: 4 / 3; }
  .rh-buddy-launch { right: .85rem; bottom: .85rem; }
  .rh-buddy-launch-label { display: none; }
  .rh-buddy-panel { right: .75rem; bottom: 4.75rem; width: calc(100vw - 1.5rem); max-height: calc(100svh - 5.75rem); }
  .rh-buddy-form { grid-template-columns: minmax(0,1fr) auto; }
  .rh-buddy-send { grid-column: 1 / -1; }
  .back-to-top { left: .85rem; right: auto; bottom: .85rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .rh-buddy-launch, .rh-buddy-panel, .rh-buddy-quick, .rh-buddy-typing span, .media-row-graphic, .media-row-graphic::before { animation: none !important; transition: none !important; }
  [data-media-row].is-media-active .media-row-graphic { transform: none; }
}

@media print {
  .rh-buddy-launch, .rh-buddy-panel, .back-to-top { display: none !important; }
}





/* shape-aware-gallery */
.rudi-gallery-section { padding-block: clamp(3rem, 7vw, 6rem); }
.rudi-gallery-section + .rudi-gallery-section { border-top: 1px solid rgba(34, 31, 26, .18); }
.rudi-gallery-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(15rem, .85fr); gap: 2rem; align-items: end; margin-bottom: 2rem; }
.rudi-gallery-heading h2, .rudi-gallery-heading p { margin: 0; }
.rudi-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.75rem, 1.6vw, 1.25rem); }
.rudi-gallery-item { display: block; overflow: hidden; background: #171512; border-radius: 2px; }
.rudi-gallery-grid.is-vertical .rudi-gallery-item { aspect-ratio: 2 / 3; }
.rudi-gallery-grid.is-square .rudi-gallery-item { aspect-ratio: 1 / 1; }
.rudi-gallery-grid.is-horizontal .rudi-gallery-item { aspect-ratio: 3 / 2; }
.rudi-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease, opacity .35s ease; }
.rudi-gallery-item:hover img, .rudi-gallery-item:focus-visible img { transform: scale(1.025); opacity: .88; }
body.gallery-open { overflow: hidden; }
.rudi-gallery-lightbox { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: clamp(1rem, 3vw, 3rem); }
.rudi-gallery-lightbox[aria-hidden="true"] { display: none; }
.rudi-lightbox-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(9, 8, 7, .96); cursor: zoom-out; }
.rudi-lightbox-frame { position: relative; z-index: 1; width: min(92vw, 1200px); height: min(86vh, 860px); display: grid; grid-template-rows: minmax(0, 1fr) auto; background: #111; box-shadow: 0 1.5rem 5rem rgba(0, 0, 0, .55); }
.rudi-lightbox-frame > img { width: 100%; height: 100%; min-height: 0; object-fit: contain; display: block; }
.rudi-lightbox-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; background: #171512; color: #fff; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.rudi-lightbox-bar nav { display: flex; gap: .35rem; }
.rudi-lightbox-bar button { color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, .38); padding: .45rem .65rem; cursor: pointer; }
.rudi-lightbox-bar button:hover, .rudi-lightbox-bar button:focus-visible { background: #fff; color: #111; }
@media (max-width: 760px) { .rudi-gallery-heading { grid-template-columns: 1fr; gap: .65rem; } .rudi-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rudi-lightbox-frame { width: 96vw; height: 82vh; } .rudi-lightbox-bar { align-items: flex-start; flex-direction: column; } .rudi-lightbox-bar nav { width: 100%; justify-content: space-between; } }
@media (max-width: 430px) { .rudi-gallery-grid { grid-template-columns: 1fr; } }


/* rudi-wordmark-and-readable-labels */
.site-brand { gap: .45rem; }
.brand-wordmark { display: inline-flex; align-items: baseline; gap: .5rem; line-height: .78; white-space: nowrap; }
.brand-rudi { font-family: var(--sans); font-size: 2.15rem; font-weight: 900; letter-spacing: -.085em; color: var(--ink); }
.brand-harst { font-family: var(--serif); font-size: 2rem; font-weight: 500; font-style: italic; letter-spacing: -.055em; color: var(--gold); }
.site-brand small { font-size: .73rem; font-weight: 800; letter-spacing: .13em; line-height: 1.35; }
.rock-home .rock-section-header .kicker,
.rock-home .rock-video-copy .kicker,
.rock-home .rock-world-copy span,
main .section-number,
main .kicker { font-size: clamp(.94rem, 1.15vw, 1.08rem) !important; font-weight: 800 !important; line-height: 1.4; }
.primary-nav a { font-size: .82rem; }
@media (max-width: 760px) {
  .brand-wordmark { gap: .34rem; }
  .brand-rudi { font-size: 1.7rem; }
  .brand-harst { font-size: 1.58rem; }
  .site-brand small { max-width: 15rem; font-size: .65rem; letter-spacing: .105em; }
}


/* mobile-drawer-and-accordion-v2 */
.menu-toggle {
  width: 3rem;
  height: 3rem;
  min-height: 3rem;
  padding: 0;
  justify-content: center;
  color: var(--ink);
  border-radius: 50%;
  cursor: pointer;
  appearance: none;
  -webkit-tap-highlight-color: rgba(201, 154, 74, .22);
}
.menu-toggle-lines {
  position: relative;
  width: 1.55rem;
  height: 1.1rem;
  display: block;
}
.menu-toggle-lines span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transform-origin: center;
  transition: transform .18s ease, opacity .18s ease, top .18s ease;
}
.menu-toggle-lines span:nth-child(1) { top: 0; }
.menu-toggle-lines span:nth-child(2) { top: calc(50% - 1px); }
.menu-toggle-lines span:nth-child(3) { top: calc(100% - 2px); }
.menu-toggle[aria-expanded="true"] .menu-toggle-lines span:nth-child(1) { top: calc(50% - 1px); transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-lines span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle-lines span:nth-child(3) { top: calc(50% - 1px); transform: rotate(-45deg); }
.menu-toggle:focus-visible,
.submenu-toggle:focus-visible,
.nav-accordion-all:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
.submenu-toggle,
.nav-accordion-tools { display: none; }
.back-to-top { transition: opacity .12s ease, transform .12s ease, background .12s ease; }

@media (max-width: 1160px) {
  body.nav-open { overflow: hidden; }
  body.nav-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 998;
    background: rgba(17, 16, 14, .52);
    backdrop-filter: blur(2px);
  }
  .site-header { grid-template-columns: minmax(0, 1fr) auto; }
  .menu-toggle {
    position: relative;
    z-index: 1003;
    display: inline-grid;
    place-items: center;
    justify-self: end;
  }
  .primary-nav {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 1002;
    width: min(22rem, 88vw);
    height: 100dvh;
    display: block;
    padding: 6.75rem 1.2rem 2rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--paper);
    color: var(--ink);
    border: 0;
    border-left: 1px solid var(--line);
    box-shadow: -22px 0 50px rgba(0, 0, 0, .24);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(104%);
    transition: transform .24s ease, opacity .18s ease, visibility .24s ease;
  }
  .primary-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }
  .primary-nav > div > ul {
    display: grid;
    align-items: stretch;
    gap: 0;
  }
  .primary-nav > div > ul > li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.8rem;
    align-items: center;
    border-bottom: 1px solid var(--line);
  }
  .primary-nav a {
    min-height: 3rem;
    padding: .8rem .25rem;
    display: flex;
    align-items: center;
    color: var(--ink);
    background: transparent;
    font-size: .86rem;
    line-height: 1.3;
    -webkit-tap-highlight-color: rgba(201, 154, 74, .22);
  }
  .primary-nav a:hover,
  .primary-nav a:focus-visible { color: var(--teal); background: transparent; }
  .primary-nav > div > ul > li > a::after { display: none; }
  .primary-nav .sub-menu {
    grid-column: 1 / -1;
    position: static;
    min-width: 0;
    max-height: 0;
    display: grid;
    gap: .05rem;
    margin: 0;
    padding: 0 0 0 .85rem;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: none;
    background: transparent;
    color: var(--ink);
    border: 0;
    box-shadow: none;
    transition: max-height .25s ease, opacity .18s ease, padding .25s ease;
  }
  .primary-nav li:not(.is-open):hover > .sub-menu,
  .primary-nav li:not(.is-open):focus-within > .sub-menu {
    max-height: 0;
    padding-bottom: 0;
    opacity: 0;
    visibility: hidden;
  }
  .primary-nav li.is-open > .sub-menu {
    max-height: 32rem;
    padding-bottom: .75rem;
    opacity: 1;
    visibility: visible;
  }
  .primary-nav .sub-menu li { display: block; border: 0; }
  .primary-nav .sub-menu a {
    min-height: 2.6rem;
    padding: .58rem .65rem;
    font-size: .76rem;
    font-weight: 750;
    letter-spacing: .07em;
    border-left: 1px solid var(--paper-deep);
  }
  .submenu-toggle {
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--ink);
    background: transparent;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    appearance: none;
    -webkit-tap-highlight-color: rgba(201, 154, 74, .22);
  }
  .submenu-toggle span {
    width: .62rem;
    height: .62rem;
    display: block;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .18s ease;
  }
  .submenu-toggle[aria-expanded="true"] span { transform: translateY(2px) rotate(225deg); }
  .nav-accordion-tools {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 .75rem;
    padding: 0 3.4rem .75rem 0;
    border-bottom: 1px solid var(--line);
  }
  .nav-accordion-all {
    min-height: 2.4rem;
    padding: .55rem .9rem;
    color: var(--ink);
    background: transparent;
    border: 1px solid var(--ink);
    border-radius: 999px;
    font: 800 .7rem/1 var(--sans);
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    appearance: none;
  }
  .nav-accordion-all:hover { background: var(--ink); color: var(--paper); }
  body.admin-bar .primary-nav { top: 32px; height: calc(100dvh - 32px); }
}

@media (max-width: 782px) {
  body.admin-bar .primary-nav { top: 46px; height: calc(100dvh - 46px); }
}

@media (max-width: 430px) {
  .primary-nav { width: min(20.5rem, 86vw); padding-inline: 1rem; }
  .nav-accordion-tools { padding-right: 3.1rem; }
}

/* utility-action-redesign-v1 */
.site-utility-donate {
  min-height: 2.25rem;
  display: inline-flex;
  align-items: center;
  padding: .34rem .48rem;
  color: rgba(255,255,255,.82);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,.38);
  text-underline-offset: .3em;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-utility-donate:hover,
.site-utility-donate:focus-visible {
  color: white;
  text-decoration-color: var(--gold);
}

@media (min-width: 1161px) {
  .primary-nav .sub-menu .sub-menu {
    top: -.75rem;
    left: calc(100% + .7rem);
  }
}

@media (max-width: 760px) {
  .site-utility-donate {
    min-height: 2rem;
    padding: .28rem .3rem;
    font-size: .5rem;
    letter-spacing: .07em;
  }
}


/* booking-art-system-v1 */
.site-masthead {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(8.25rem, 10.5vw, 9.5rem);
  grid-template-rows: auto auto;
  background: var(--paper);
  box-shadow: 0 8px 24px rgba(24, 27, 23, .08);
}
body.admin-bar .site-masthead { top: 32px; }
body.admin-bar .site-header { top: auto; }
.site-masthead .site-utility {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}
.site-masthead .site-header {
  position: static;
  top: auto;
  z-index: auto;
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
}
.site-booking-block {
  grid-column: 2;
  grid-row: 1 / 3;
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  place-items: center;
  padding: .42rem;
  overflow: hidden;
  background: #252b27;
  border: 0;
  border-left: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(20,20,18,.3);
  color: var(--paper);
  text-decoration: none;
  transition: filter .2s ease, transform .2s ease;
}
.site-booking-block::after {
  content: '';
  position: absolute;
  inset: .38rem;
  border: 1px solid rgba(201,154,74,.28);
  border-radius: 10%;
  pointer-events: none;
}
.site-booking-block img {
  position: relative;
  z-index: 1;
  width: 100%;
  max-height: 8.35rem;
  object-fit: contain;
  filter: drop-shadow(0 .45rem .55rem rgba(0,0,0,.38));
}
.site-booking-block:hover,
.site-booking-block:focus-visible {
  outline: 0;
  filter: brightness(1.08) saturate(1.08);
}
.site-booking-block:focus-visible::after { border-color: var(--gold); box-shadow: inset 0 0 0 2px var(--gold); }
.site-utility-action.site-utility-donate {
  min-height: 2.25rem;
  gap: .34rem;
  margin-left: 0;
  padding: .34rem .72rem;
  border: 1px solid var(--gold);
  border-radius: 999px;
  background: var(--gold);
  color: var(--night);
  font-size: .61rem;
  letter-spacing: .1em;
  text-decoration: none;
}
.site-utility-action.site-utility-donate:hover,
.site-utility-action.site-utility-donate:focus-visible {
  background: #c9a45a;
  color: var(--night);
  text-decoration: none;
  outline: 2px solid rgba(255,255,255,.72);
  outline-offset: 2px;
}
.rh-action-sign-wrap {
  width: min(100%, 44rem);
  margin: 0 auto clamp(1.35rem, 3vw, 2.4rem);
}
.rh-action-sign-wrap--date { width: min(100%, 48rem); margin-bottom: clamp(1.5rem, 3vw, 2.75rem); }
.rh-action-sign-wrap--program { width: min(100%, 38rem); }
.rh-action-sign-wrap--venue { grid-column: 1 / -1; width: min(100%, 38rem); margin-top: .4rem; }
.rh-action-sign-wrap--submit { width: min(100%, 36rem); margin-top: 1.4rem; margin-bottom: 1rem; }
.rh-action-sign {
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 .7rem .7rem rgba(30, 26, 20, .24));
}
.footer-booking-sign {
  grid-column: 1 / -1;
  justify-self: center;
  width: min(100%, 58rem);
  display: block;
  margin: 1.25rem auto .5rem;
  padding: .25rem;
  border-radius: 1.15rem;
  color: var(--paper);
  text-decoration: none;
  transition: filter .2s ease, transform .2s ease;
}
.footer-booking-sign img {
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 .85rem .9rem rgba(0,0,0,.5));
}
.footer-booking-sign:hover,
.footer-booking-sign:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: .35rem;
  filter: brightness(1.08) saturate(1.08);
  transform: translateY(-2px);
}
@media (max-width: 782px) {
  body.admin-bar .site-masthead { top: 46px; }
}
@media (max-width: 760px) {
  .site-masthead { grid-template-columns: minmax(0, 1fr) 5.9rem; }
  .site-booking-block { padding: .25rem; }
  .site-booking-block::after { inset: .22rem; }
  .site-booking-block img { max-height: 7.15rem; }
  .site-utility-action.site-utility-donate {
    min-height: 2rem;
    gap: .22rem;
    padding: .28rem .46rem;
    font-size: .52rem;
    letter-spacing: .06em;
  }
  .site-footer .footer-booking-sign { grid-column: 1; width: 100%; margin-top: .5rem; }
  .rh-action-sign-wrap { margin-bottom: 1.35rem; }
}
@media (max-width: 430px) {
  .site-masthead { grid-template-columns: minmax(0, 1fr) 5.35rem; }
  .site-utility { padding-inline: .35rem; }
  .site-social { gap: .08rem; }
  .site-social a { width: 1.7rem; height: 1.7rem; }
  .site-utility-action.site-utility-donate { padding-inline: .36rem; }
}

/* booking-sticky-overflow-fix */
body { overflow-x: clip; }

/* booking-sticky-overflow-fix-v2 */
html, body { overflow-x: clip !important; }


/* booking-art-float-v1 */
.site-booking-block {
  overflow: visible;
  padding: .36rem;
  background: linear-gradient(to bottom, var(--teal) 0 37.5%, rgba(238, 232, 222, .94) 37.5% 100%);
  border: 0;
  box-shadow: none;
}
.site-booking-block::after { display: none; }
.footer-booking-sign {
  overflow: visible;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.footer-booking-sign:hover,
.footer-booking-sign:focus-visible {
  outline: 0;
  outline-offset: 0;
}
.site-booking-block:focus-visible img,
.footer-booking-sign:focus-visible img {
  filter: drop-shadow(0 0 .38rem var(--gold)) drop-shadow(0 .8rem .85rem rgba(0,0,0,.46));
}


/* booking-art-header-spacing-v1 */
.site-booking-block {
  padding: 1.2rem 1.2rem .36rem .36rem;
}
@media (max-width: 760px) {
  .site-booking-block { padding: .85rem .85rem .25rem .25rem; }
}


/* enterprise-nav-system-v1 */
@media (min-width: 1161px) {
  .primary-nav > div > ul { gap: clamp(.45rem, 1.05vw, 1.15rem); }
  .primary-nav > div > ul > li > a {
    min-height: 3rem;
    display: flex;
    align-items: center;
    position: relative;
    padding: .72rem .08rem;
  }
  .primary-nav li.menu-item-has-children > a { padding-right: 1.05rem; }
  .primary-nav li.menu-item-has-children > a::before {
    content: '';
    position: absolute;
    top: 50%;
    right: .1rem;
    width: .34rem;
    height: .34rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-68%) rotate(45deg);
    opacity: .72;
  }
  .primary-nav .sub-menu {
    z-index: 1010;
    top: calc(100% + .55rem);
    left: -.8rem;
    min-width: 18rem;
    gap: .1rem;
    padding: .55rem;
    background: #f5f0e7;
    color: var(--ink);
    border: 1px solid rgba(29,29,26,.14);
    border-top: 3px solid var(--gold);
    border-radius: .7rem;
    box-shadow: 0 22px 55px rgba(21,23,20,.22);
    transform: translateY(.65rem) scale(.985);
    transform-origin: top left;
  }
  .primary-nav li:hover > .sub-menu,
  .primary-nav li:focus-within > .sub-menu,
  .primary-nav li.is-open > .sub-menu { transform: none; }
  .primary-nav .sub-menu a {
    min-height: 2.75rem;
    display: flex;
    align-items: center;
    padding: .68rem .75rem;
    border-radius: .42rem;
    color: var(--ink);
    font-size: .82rem;
    font-weight: 680;
    letter-spacing: .018em;
    line-height: 1.25;
    text-transform: none;
    transition: background .16s ease, color .16s ease, padding .16s ease;
  }
  .primary-nav .sub-menu a:hover,
  .primary-nav .sub-menu a:focus-visible {
    outline: 0;
    padding-left: .92rem;
    background: var(--teal);
    color: var(--paper);
  }
  .primary-nav .sub-menu .sub-menu {
    top: -.65rem;
    left: calc(100% + .65rem);
    border-top-color: var(--teal);
    transform-origin: top left;
  }
  .primary-nav > div > ul > li:nth-last-child(-n+3) > .sub-menu {
    right: -.75rem;
    left: auto;
    transform-origin: top right;
  }
  .primary-nav .current-menu-item > a,
  .primary-nav .current-menu-ancestor > a { color: var(--teal); }
}

@media (max-width: 1160px) {
  body.nav-open { overflow: hidden; }
  body.nav-open::before {
    z-index: 1200;
    background: rgba(20,23,20,.64);
    backdrop-filter: blur(5px);
  }
  .site-header {
    grid-template-columns: minmax(0, 1fr) auto;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .menu-toggle {
    width: 2.85rem;
    height: 2.85rem;
    min-height: 2.85rem;
    border-radius: 50%;
  }
  body.nav-open .menu-toggle {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 1301;
    background: var(--night);
    color: var(--paper);
    box-shadow: 0 12px 30px rgba(20,22,19,.28);
  }
  body.admin-bar.nav-open .menu-toggle { top: calc(32px + 1rem); }
  .primary-nav {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 1300;
    width: min(28rem, 92vw);
    height: 100dvh;
    display: flex;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    overscroll-behavior: contain;
    background: #f3eee4;
    color: var(--ink);
    border: 0;
    border-left: 1px solid rgba(29,29,26,.16);
    box-shadow: -28px 0 70px rgba(12,14,12,.3);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(104%);
    transition: transform .28s cubic-bezier(.2,.75,.25,1), opacity .18s ease, visibility .28s ease;
  }
  body.admin-bar .primary-nav { top: 32px; height: calc(100dvh - 32px); }
  .primary-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }
  .nav-accordion-tools {
    flex: 0 0 auto;
    min-height: 5.9rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    margin: 0;
    padding: 1.1rem 5rem 1.1rem 1.5rem;
    background: #ebe4d8;
    border-bottom: 1px solid rgba(29,29,26,.14);
  }
  .nav-accordion-title {
    color: var(--muted);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .16em;
    line-height: 1.25;
    text-transform: uppercase;
  }
  .nav-accordion-all {
    min-height: 2.55rem;
    padding: .62rem .75rem;
    border: 1px solid var(--teal);
    border-radius: .45rem;
    background: rgba(255,255,255,.34);
    color: var(--teal);
    font: 850 .66rem/1 var(--sans);
    letter-spacing: .08em;
  }
  .nav-accordion-all:hover,
  .nav-accordion-all:focus-visible {
    outline: 0;
    background: var(--teal);
    color: var(--paper);
    box-shadow: 0 0 0 3px rgba(184,149,81,.28);
  }
  .primary-nav > div:last-child {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: .35rem 1.5rem 2rem;
    scrollbar-width: thin;
    scrollbar-color: rgba(69,108,112,.55) transparent;
  }
  .primary-nav > div > ul {
    display: grid;
    align-items: stretch;
    gap: 0;
  }
  .primary-nav > div > ul > li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.85rem;
    align-items: center;
    border-bottom: 1px solid rgba(29,29,26,.14);
  }
  .primary-nav > div > ul > li > a {
    min-height: 4rem;
    padding: 1rem .2rem;
    color: var(--ink);
    font-size: .84rem;
    font-weight: 850;
    letter-spacing: .11em;
    line-height: 1.25;
    text-transform: uppercase;
  }
  .primary-nav li.menu-item-has-children > a::before { display: none; }
  .primary-nav > div > ul > li.is-open > a { color: var(--teal); }
  .submenu-toggle {
    width: 2.5rem;
    height: 2.5rem;
    justify-self: end;
    border: 1px solid transparent;
    border-radius: .5rem;
    color: var(--ink);
    background: transparent;
    transition: background .16s ease, color .16s ease, border-color .16s ease;
  }
  .submenu-toggle:hover,
  .submenu-toggle:focus-visible {
    outline: 0;
    border-color: rgba(69,108,112,.45);
    background: rgba(69,108,112,.1);
  }
  .menu-item-has-children.is-open > .submenu-toggle {
    background: var(--teal);
    color: var(--paper);
  }
  .primary-nav .sub-menu {
    grid-column: 1 / -1;
    position: static;
    min-width: 0;
    max-height: 0;
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: none;
    background: #dfe7e2;
    color: #2d494b;
    border: 0;
    border-left: 3px solid var(--gold);
    border-radius: .55rem;
    box-shadow: inset 0 0 0 1px rgba(69,108,112,.1);
    transition: max-height .3s ease, opacity .2s ease, padding .3s ease, margin .3s ease;
  }
  .primary-nav li:not(.is-open):hover > .sub-menu,
  .primary-nav li:not(.is-open):focus-within > .sub-menu {
    max-height: 0;
    margin-bottom: 0;
    padding-block: 0;
    opacity: 0;
    visibility: hidden;
  }
  .primary-nav li.is-open > .sub-menu {
    max-height: 80rem;
    margin-bottom: .8rem;
    padding: .48rem .55rem .62rem;
    opacity: 1;
    visibility: visible;
  }
  .primary-nav .sub-menu li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.5rem;
    align-items: center;
    border: 0;
    border-bottom: 1px solid rgba(45,73,75,.13);
  }
  .primary-nav .sub-menu li:last-child { border-bottom: 0; }
  .primary-nav .sub-menu li:not(.menu-item-has-children) > a { grid-column: 1 / -1; }
  .primary-nav .sub-menu a {
    min-height: 2.85rem;
    padding: .7rem .65rem;
    color: #2d494b;
    background: transparent;
    border: 0;
    border-radius: .35rem;
    font-size: .8rem;
    font-weight: 720;
    letter-spacing: .025em;
    line-height: 1.3;
    text-transform: none;
  }
  .primary-nav .sub-menu a:hover,
  .primary-nav .sub-menu a:focus-visible {
    outline: 0;
    background: rgba(255,255,255,.55);
    color: var(--night);
  }
  .primary-nav .sub-menu .submenu-toggle {
    width: 2.25rem;
    height: 2.25rem;
    margin-right: .15rem;
  }
  .primary-nav .sub-menu .sub-menu {
    grid-column: 1 / -1;
    margin-inline: .2rem;
    background: var(--teal);
    color: var(--paper);
    border-left: 0;
    box-shadow: none;
  }
  .primary-nav .sub-menu li.is-open > .sub-menu { margin-bottom: .6rem; }
  .primary-nav .sub-menu .sub-menu a {
    color: var(--paper);
    font-weight: 760;
  }
  .primary-nav .sub-menu .sub-menu a:hover,
  .primary-nav .sub-menu .sub-menu a:focus-visible {
    background: rgba(255,255,255,.14);
    color: white;
  }
}

@media (max-width: 782px) {
  body.admin-bar .primary-nav { top: 46px; height: calc(100dvh - 46px); }
  body.admin-bar.nav-open .menu-toggle { top: calc(46px + .8rem); }
}

@media (max-width: 600px) {
  .primary-nav { width: 100vw; }
  .primary-nav > div:last-child { padding-inline: 1.15rem; }
  .nav-accordion-tools { padding: 1rem 4.8rem 1rem 1.15rem; }
}


/* enterprise-nav-layer-fix-v2 */
@media (max-width: 1160px) {
  .nav-accordion-tools {
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding: 1.1rem 1.25rem 1.1rem 1.5rem;
  }
  body.nav-open .menu-toggle,
  body.admin-bar.nav-open .menu-toggle {
    position: static;
    top: auto;
    right: auto;
    z-index: auto;
    justify-self: end;
    flex: 0 0 auto;
  }
}
@media (max-width: 600px) {
  .nav-accordion-tools { padding: 1rem 1rem 1rem 1.15rem; gap: .7rem; }
  .nav-accordion-title { font-size: .64rem; letter-spacing: .13em; }
  .nav-accordion-all { padding-inline: .62rem; font-size: .62rem; }
}


/* enterprise-nav-scroll-fix-v3 */
@media (max-width: 1160px) {
  .primary-nav.is-open { display: flex; }
  .primary-nav > div:last-child { flex: 1 1 auto; }
}


/* booking-chat-centerline-v1 */
.site-booking-block img { transform: translateX(-1rem); }
@media (max-width: 760px) {
  .site-booking-block img { transform: translateX(.25rem); }
}


/* interactive-photo-art-system-v1 */
.rh-art-section {
  position: relative;
  padding-block: clamp(4rem, 8vw, 7rem);
  overflow: clip;
}
.rh-art-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .85fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}
.rh-art-intro h2,
.rh-art-intro p { margin: 0; }
.rh-art-intro h2 { font-size: clamp(2.8rem, 6vw, 6.2rem); line-height: .92; letter-spacing: -.045em; }
.rh-art-intro > p { max-width: 38rem; font-size: 1.05rem; line-height: 1.7; }
.rh-art-gallery-link {
  display: inline-flex;
  margin-top: 2rem;
  color: currentColor;
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
  text-decoration-thickness: 1px;
  text-underline-offset: .35rem;
}
.rh-art-control {
  min-height: 2.8rem;
  padding: .7rem .9rem;
  border: 1px solid currentColor;
  border-radius: .35rem;
  background: rgba(255,255,255,.26);
  color: inherit;
  font: 850 .7rem/1 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.rh-art-control:hover,
.rh-art-control:focus-visible { outline: 0; background: var(--teal); border-color: var(--teal); color: var(--paper); box-shadow: 0 0 0 3px rgba(184,149,81,.32); }
.rh-art-count { margin: 0; font: 850 .68rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }

.rh-art-section--polaroid { background: #dce5df; color: var(--ink); }
.rh-polaroid-experience {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 1rem 1.5rem;
  align-items: center;
  width: min(100%, 58rem);
  margin-inline: auto;
}
.rh-polaroid-stack { position: relative; height: clamp(27rem, 58vw, 42rem); min-width: 0; }
.rh-polaroid-card {
  --stack-shift-x: 0px;
  --stack-shift-y: 0px;
  --stack-scale: 1;
  --stack-depth: 1;
  --display-tilt: var(--tilt);
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: var(--stack-depth);
  width: min(78%, 30rem);
  display: block;
  padding: clamp(.65rem, 1.5vw, 1rem) clamp(.65rem, 1.5vw, 1rem) clamp(3.25rem, 7vw, 4.7rem);
  background: #fbf8ef;
  color: #211e19;
  box-shadow: 0 1.2rem 3.2rem rgba(25,28,24,.26);
  text-decoration: none;
  opacity: .72;
  pointer-events: none;
  transform: translate(-50%, -50%) translate(var(--stack-shift-x), var(--stack-shift-y)) rotate(var(--display-tilt)) scale(var(--stack-scale));
  transition: transform .42s cubic-bezier(.2,.75,.25,1), opacity .25s ease, box-shadow .25s ease;
}
.rh-polaroid-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; filter: saturate(.9) contrast(1.03); }
.rh-polaroid-card span { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; font: 600 clamp(.78rem, 1.6vw, 1rem)/1.25 var(--serif); text-align: center; }
.rh-polaroid-card.is-active { --display-tilt: 0deg; opacity: 1; pointer-events: auto; box-shadow: 0 1.8rem 4.5rem rgba(22,25,21,.34); }
.rh-polaroid-card.is-active:hover,
.rh-polaroid-card.is-active:focus-visible { outline: 0; transform: translate(-50%, -50%) translate(var(--stack-shift-x), calc(var(--stack-shift-y) - .45rem)) rotate(0deg) scale(1.015); box-shadow: 0 2.2rem 5rem rgba(22,25,21,.4), 0 0 0 4px var(--gold); }
.rh-polaroid-experience > .rh-art-control--prev { grid-column: 1; grid-row: 1; }
.rh-polaroid-experience > .rh-polaroid-stack { grid-column: 2; grid-row: 1; }
.rh-polaroid-experience > .rh-art-control--next { grid-column: 3; grid-row: 1; }
.rh-polaroid-experience > .rh-art-count { grid-column: 2; grid-row: 2; justify-self: center; }

.rh-art-section--book { background: #181713; color: var(--paper); }
.rh-photo-book {
  position: relative;
  width: min(100%, 68rem);
  margin-inline: auto;
  padding: clamp(1rem, 2.5vw, 2rem);
  background: linear-gradient(135deg, #6a4832, #3b271f 55%, #6b4930);
  border: 1px solid rgba(218,176,94,.55);
  border-radius: .85rem;
  box-shadow: 0 2rem 5rem rgba(0,0,0,.42), inset 0 0 0 .35rem rgba(30,19,14,.28);
  perspective: 1400px;
}
.rh-book-binding { position: absolute; z-index: 5; top: 1rem; bottom: 5.6rem; left: 50%; width: 1.25rem; transform: translateX(-50%); background: linear-gradient(90deg, rgba(0,0,0,.32), rgba(255,255,255,.12), rgba(0,0,0,.38)); box-shadow: 0 0 1.2rem rgba(0,0,0,.35); pointer-events: none; }
.rh-book-spreads { min-height: clamp(24rem, 52vw, 39rem); }
.rh-book-spread { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: inherit; transform-origin: center; }
.rh-book-spread[hidden] { display: none; }
.rh-book-page { min-width: 0; margin: 0; padding: clamp(1rem, 2.5vw, 2.2rem); background: #f3ecda; color: #242019; box-shadow: inset 0 0 2rem rgba(111,84,47,.13); }
.rh-book-page:first-child { border-radius: .25rem 0 0 .25rem; }
.rh-book-page:last-child { border-radius: 0 .25rem .25rem 0; }
.rh-book-page a { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #161411; box-shadow: 0 .65rem 1.6rem rgba(50,36,20,.22); }
.rh-book-page img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease, filter .35s ease; }
.rh-book-page a:hover img,
.rh-book-page a:focus-visible img { transform: scale(1.025); filter: brightness(.9); }
.rh-book-page a:focus-visible { outline: 4px solid var(--gold); outline-offset: 4px; }
.rh-book-page figcaption { display: flex; gap: .75rem; align-items: baseline; margin-top: 1rem; font: 650 clamp(.88rem, 1.5vw, 1.05rem)/1.35 var(--serif); }
.rh-book-page figcaption span { color: #936b2f; font: 900 .65rem/1 var(--sans); letter-spacing: .12em; }
.rh-book-controls { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 1rem; margin-top: 1.2rem; }
.rh-book-controls .rh-art-count { justify-self: center; }
.rh-photo-book.is-turning .rh-book-spread.is-active { animation: rhBookTurn .4s ease both; }
@keyframes rhBookTurn { 0% { opacity: .35; transform: rotateY(-8deg) scale(.985); } 100% { opacity: 1; transform: none; } }

.rh-art-section--mosaic { background: #eee8de; color: var(--ink); }
.rh-photo-mosaic { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(9rem, 15vw, 13.5rem); gap: clamp(.55rem, 1.2vw, .9rem); }
.rh-mosaic-tile { position: relative; z-index: 1; display: block; min-width: 0; overflow: hidden; background: #151411; color: #fff; border-radius: .25rem; box-shadow: 0 .4rem 1.2rem rgba(35,31,25,.12); transition: transform .28s cubic-bezier(.2,.75,.25,1), box-shadow .28s ease, filter .28s ease; }
.rh-mosaic-tile.is-wide { grid-column: span 2; }
.rh-mosaic-tile.is-tall { grid-row: span 2; }
.rh-mosaic-tile img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.rh-mosaic-tile span { position: absolute; inset: auto .7rem .7rem; z-index: 2; padding: .35rem .45rem; background: rgba(17,16,14,.76); font: 850 .62rem/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.rh-mosaic-tile:hover,
.rh-mosaic-tile:focus-visible { z-index: 10; outline: 0; transform: translateY(-.7rem) scale(1.045); box-shadow: 0 1.6rem 3rem rgba(28,25,20,.34), 0 0 0 4px var(--gold); }
.rh-mosaic-tile:hover img,
.rh-mosaic-tile:focus-visible img { transform: scale(1.035); }

.rock-photo-ticker-section { background: #171512; color: #fff; }
.rock-photo-ticker-section .rock-section-header .kicker { color: var(--gold); }
.rh-photo-ticker-frame { width: 100%; height: clamp(22rem, 34vw, 30rem); display: block; border: 1px solid rgba(207,155,73,.5); border-radius: .65rem; background: #151411; box-shadow: 0 1.5rem 4rem rgba(0,0,0,.38); }
.rock-ticker-links { display: flex; justify-content: flex-end; margin-top: 1rem; }
.rock-ticker-links a { color: #fff; font: 850 .72rem/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; text-underline-offset: .3rem; }

html:has(body.page-id-2372) { margin-top: 0 !important; background: #151411; }
body.page-id-2372 { min-height: 0; margin: 0; background: #151411; overflow: hidden; }
body.page-id-2372 #wpadminbar,
body.page-id-2372 .site-masthead,
body.page-id-2372 .site-footer,
body.page-id-2372 .back-to-top,
body.page-id-2372 .rh-buddy-launch,
body.page-id-2372 .rh-buddy-panel { display: none !important; }
body.page-id-2372 main,
body.page-id-2372 .site-main,
body.page-id-2372 article,
body.page-id-2372 .entry-content { width: 100%; max-width: none; min-height: 0; margin: 0; padding: 0; }
.rh-ticker-embed { min-height: 100vh; display: grid; grid-template-rows: minmax(0,1fr) auto; gap: .7rem; padding: clamp(.65rem, 1.6vw, 1rem); background: radial-gradient(circle at 50% -20%, #34302a, #151411 55%); color: #fff; }
.rh-ticker-viewport { min-width: 0; overflow: hidden; }
.rh-ticker-track { --ticker-gap: .75rem; width: 100%; height: 100%; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (3 * var(--ticker-gap))) / 4); gap: var(--ticker-gap); transition: transform .58s cubic-bezier(.2,.75,.25,1); will-change: transform; }
.rh-ticker-card { position: relative; min-width: 0; height: 100%; display: block; overflow: hidden; border-radius: .3rem; background: #27231d; color: #fff; box-shadow: 0 .65rem 1.4rem rgba(0,0,0,.28); }
.rh-ticker-card img { width: 100%; height: 100%; min-height: 0; display: block; object-fit: cover; filter: saturate(.86) contrast(1.04); transition: transform .35s ease, filter .35s ease; }
.rh-ticker-card span { position: absolute; right: .55rem; bottom: .5rem; padding: .3rem .38rem; background: rgba(12,11,10,.72); font: 850 .6rem/1 var(--sans); letter-spacing: .1em; }
.rh-ticker-card:hover img,
.rh-ticker-card:focus-visible img { transform: scale(1.045); filter: saturate(1) contrast(1.04); }
.rh-ticker-card:focus-visible { outline: 3px solid var(--gold); outline-offset: -3px; }
.rh-ticker-controls { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: .55rem; }
.rh-ticker-controls button { min-height: 2.4rem; padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.42); border-radius: .3rem; background: transparent; color: #fff; font: 800 .62rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.rh-ticker-controls button:hover,
.rh-ticker-controls button:focus-visible { outline: 0; background: var(--gold); border-color: var(--gold); color: #171512; }
.rh-ticker-controls p { justify-self: center; margin: 0; font: 850 .62rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 760px) {
  .rh-art-intro { grid-template-columns: 1fr; gap: .8rem; }
  .rh-polaroid-experience { grid-template-columns: repeat(2, minmax(0,1fr)); grid-template-rows: auto auto; }
  .rh-polaroid-experience > .rh-polaroid-stack { grid-column: 1 / -1; grid-row: 1; }
  .rh-polaroid-experience > .rh-art-control--prev { grid-column: 1; grid-row: 2; }
  .rh-polaroid-experience > .rh-art-control--next { grid-column: 2; grid-row: 2; }
  .rh-polaroid-experience > .rh-art-count { grid-column: 1 / -1; grid-row: 3; }
  .rh-polaroid-experience .rh-art-control { width: 100%; }
  .rh-polaroid-stack { height: clamp(24rem, 112vw, 34rem); }
  .rh-polaroid-card { width: min(82%, 26rem); }
  .rh-photo-book { padding: .7rem; }
  .rh-book-binding { display: none; }
  .rh-book-spreads { min-height: 0; }
  .rh-book-spread { grid-template-columns: 1fr; }
  .rh-book-page { padding: 1rem; }
  .rh-book-page:last-child { border-top: 1px solid rgba(80,57,31,.18); }
  .rh-book-controls { grid-template-columns: 1fr 1fr; }
  .rh-book-controls .rh-art-count { grid-column: 1 / -1; grid-row: 1; }
  .rh-book-controls .rh-art-control { width: 100%; }
  .rh-photo-mosaic { grid-template-columns: repeat(2, minmax(0,1fr)); grid-auto-rows: clamp(9rem, 42vw, 13rem); }
  .rh-photo-ticker-frame { height: 30rem; }
  .rock-ticker-links { justify-content: flex-start; }
  .rh-ticker-track { grid-auto-columns: calc((100% - var(--ticker-gap)) / 2); }
  .rh-ticker-controls { grid-template-columns: 1fr 1fr; }
  .rh-ticker-controls p { grid-column: 1 / -1; grid-row: 1; }
  .rh-ticker-controls button { width: 100%; }
}
@media (max-width: 430px) {
  .rh-polaroid-card { width: 88%; }
  .rh-photo-mosaic { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .rh-mosaic-tile,
  .rh-mosaic-tile.is-wide,
  .rh-mosaic-tile.is-tall { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }
}
@media (prefers-reduced-motion: reduce) {
  .rh-polaroid-card,
  .rh-mosaic-tile,
  .rh-mosaic-tile img,
  .rh-ticker-track,
  .rh-ticker-card img { transition: none !important; animation: none !important; }
}


/* photo-art-repair-v2 */
.rh-polaroid-experience { display: block; width: min(100%, 62rem); }
.rh-polaroid-stack { height: clamp(25rem, 48vw, 35rem); }
.rh-polaroid-card { width: min(82%, 29rem); }
.rh-polaroid-card img { object-fit: contain !important; object-position: center center !important; background: #e8e2d5; }

.rh-art-controls { display: grid; grid-template-columns: minmax(7.5rem, auto) minmax(5rem, 1fr) minmax(7.5rem, auto); align-items: center; gap: 1rem; width: 100%; margin-top: 1.2rem; }
.rh-art-controls > p:empty { display: none; }
.rh-art-controls .rh-control-slot { display: flex; align-items: center; min-width: 0; }
.rh-art-controls .rh-control-slot--previous { justify-content: flex-start; }
.rh-art-controls .rh-control-slot--next { justify-content: flex-end; }
.rh-art-controls .rh-art-count { justify-self: center; grid-column: 2; margin: 0; white-space: nowrap; }
.rh-art-controls .rh-art-control { width: auto; min-width: 7.4rem; }

.rh-book-note { width: min(100%, 50rem); margin: 0 auto 1.7rem; padding: 1.2rem 1.5rem; border-left: .28rem solid var(--gold); background: #f4ecd9; color: #46392b; box-shadow: 0 .8rem 2rem rgba(0,0,0,.18); font-family: Mynerve, "Comic Sans MS", cursive; font-size: clamp(1.35rem, 2.35vw, 2rem); line-height: 1.35; transform: rotate(-.35deg); }
.rh-book-note em { font-style: normal; text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .12em; }
.rh-book-controls { display: grid; grid-template-columns: minmax(7.5rem, auto) minmax(5rem, 1fr) minmax(7.5rem, auto); }
.rh-book-page img { object-fit: contain !important; object-position: center center !important; background: #211e19; }

.rh-photo-mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: auto; grid-auto-flow: row; }
.rh-mosaic-tile,
.rh-mosaic-tile.is-wide,
.rh-mosaic-tile.is-tall { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }
.rh-mosaic-tile img { object-fit: contain !important; object-position: center center !important; background: #151411; }

.rh-ticker-controls { display: grid; grid-template-columns: minmax(7rem, auto) minmax(5rem, 1fr) auto; align-items: center; gap: .75rem; }
.rh-ticker-controls > p:empty { display: none; }
.rh-ticker-controls > p[data-ticker-count] { justify-self: center; margin: 0; white-space: nowrap; }
.rh-ticker-controls .rh-control-slot { display: flex; justify-content: flex-start; }
.rh-ticker-actions { display: flex; justify-content: flex-end; gap: .5rem; }
.rh-ticker-card img { object-fit: contain !important; object-position: center center !important; background: #191714; }

@media (max-width: 760px) {
  .rh-polaroid-experience { display: block; }
  .rh-polaroid-stack { height: clamp(23rem, 112vw, 34rem); }
  .rh-art-controls,
  .rh-book-controls { grid-template-columns: minmax(6.5rem, 1fr) auto minmax(6.5rem, 1fr); }
  .rh-art-controls .rh-art-count { grid-column: 2; grid-row: 1; }
  .rh-art-controls .rh-art-control { width: auto; min-width: 0; }
  .rh-book-note { font-size: clamp(1.3rem, 6vw, 1.75rem); transform: none; }
  .rh-photo-mosaic { grid-template-columns: repeat(2, minmax(0,1fr)); grid-auto-rows: auto; }
  .rh-ticker-controls { grid-template-columns: auto minmax(3.5rem,1fr) auto; }
  .rh-ticker-controls button { width: auto; }
}
@media (max-width: 430px) {
  .rh-art-controls,
  .rh-book-controls { grid-template-columns: 1fr auto 1fr; gap: .55rem; }
  .rh-art-controls .rh-art-control { padding-inline: .72rem; font-size: .62rem; }
  .rh-photo-mosaic { grid-template-columns: 1fr; }
  .rh-ticker-actions { gap: .35rem; }
  .rh-ticker-controls button { padding-inline: .5rem; font-size: .56rem; }
}


/* ready-or-not-conversion-redesign-v1 */
body.page-id-7 .entry-content { margin: 0; }
body.page-id-7 .ron-page { --ron-ink:#171613; --ron-paper:#f3ede1; --ron-cream:#fbf7ef; --ron-teal:#416f70; --ron-gold:#bd9040; color:var(--ron-ink); background:var(--ron-cream); overflow:hidden; }
body.page-id-7 .ron-page h1,
body.page-id-7 .ron-page h2,
body.page-id-7 .ron-page h3,
body.page-id-7 .ron-page p { margin-top:0; }
body.page-id-7 .ron-hero { width:min(100% - 3rem,82rem); margin:0 auto; padding:clamp(3.5rem,7vw,6.5rem) 0 clamp(3rem,6vw,5.5rem); display:grid; grid-template-columns:minmax(0,.9fr) minmax(28rem,1.1fr); align-items:center; gap:clamp(2.5rem,5vw,5.5rem); }
body.page-id-7 .ron-hero-copy { max-width:42rem; }
body.page-id-7 .ron-hero .kicker { margin-bottom:1.25rem; color:var(--ron-teal); }
body.page-id-7 .ron-hero h1 { margin:0 0 1.35rem; font-size:clamp(4.1rem,8vw,7.6rem); line-height:.82; letter-spacing:-.055em; }
body.page-id-7 .ron-hero h1 em { display:block; padding-left:.55em; color:var(--ron-gold); font-weight:400; }
body.page-id-7 .ron-hero-lede { max-width:36rem; margin-bottom:1rem; font-family:var(--font-display,Newsreader,Georgia,serif); font-size:clamp(1.65rem,2.5vw,2.45rem); line-height:1.05; }
body.page-id-7 .ron-hero-summary { max-width:38rem; color:#4d4941; font-size:1.08rem; line-height:1.7; }
body.page-id-7 .ron-hero-actions,
body.page-id-7 .ron-inline-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; margin:1.7rem 0 .9rem; }
body.page-id-7 .ron-primary { background:var(--ron-gold); border-color:var(--ron-gold); color:#17130d; }
body.page-id-7 .ron-primary:hover { background:#d0a758; border-color:#d0a758; color:#17130d; }
body.page-id-7 .ron-text-link { display:inline-flex; color:inherit; font-size:.73rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; border-bottom:1px solid currentColor; }
body.page-id-7 .ron-hero-facts { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; margin:2rem 0 0; padding:1.35rem 0 0; border-top:1px solid rgba(23,22,19,.16); list-style:none; }
body.page-id-7 .ron-hero-facts li { display:grid; gap:.1rem; }
body.page-id-7 .ron-hero-facts strong { font-family:var(--font-display,Newsreader,Georgia,serif); font-size:1.45rem; line-height:1; }
body.page-id-7 .ron-hero-facts span { color:#656057; font-size:.68rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
body.page-id-7 .ron-hero-media { margin:0; min-width:0; }
body.page-id-7 .ron-hero-photo { position:relative; aspect-ratio:3/2; border:1px solid rgba(189,144,64,.65); border-radius:1.1rem; overflow:hidden; background:#243738; box-shadow:0 1.6rem 4rem rgba(23,22,19,.2); }
body.page-id-7 .ron-hero-photo:after { content:""; position:absolute; inset:.75rem; border:1px solid rgba(255,255,255,.34); border-radius:.65rem; pointer-events:none; }
body.page-id-7 .ron-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 45%; display:block; }
body.page-id-7 .ron-hero-media figcaption { margin:.7rem .25rem 0; color:#6c665c; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
body.page-id-7 .ron-proof-ribbon { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); background:var(--ron-teal); color:#fff; }
body.page-id-7 .ron-proof-ribbon p { min-height:7.75rem; margin:0; padding:1.6rem clamp(1.5rem,5vw,5rem); display:flex; flex-direction:column; justify-content:center; gap:.35rem; }
body.page-id-7 .ron-proof-ribbon p + p { border-left:1px solid rgba(255,255,255,.22); }
body.page-id-7 .ron-proof-ribbon strong { font-family:var(--font-display,Newsreader,Georgia,serif); font-size:1.45rem; font-weight:500; }
body.page-id-7 .ron-proof-ribbon span { color:rgba(255,255,255,.72); font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
body.page-id-7 .ron-reasons { padding-block:clamp(4.5rem,8vw,7rem); }
body.page-id-7 .ron-section-heading { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:1.5rem 4rem; align-items:end; margin-bottom:2.7rem; }
body.page-id-7 .ron-section-heading .section-number { grid-column:1/-1; margin-bottom:0; }
body.page-id-7 .ron-section-heading h2 { margin-bottom:0; font-size:clamp(2.55rem,5vw,4.8rem); line-height:.95; }
body.page-id-7 .ron-section-heading > p:last-child { margin-bottom:.35rem; color:#575249; font-size:1.05rem; line-height:1.75; }
body.page-id-7 .ron-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(23,22,19,.2); border-bottom:1px solid rgba(23,22,19,.2); }
body.page-id-7 .ron-benefit-grid article { min-height:21rem; padding:2rem clamp(1.4rem,2.5vw,2.5rem) 2.4rem 0; }
body.page-id-7 .ron-benefit-grid article + article { padding-left:clamp(1.4rem,2.5vw,2.5rem); border-left:1px solid rgba(23,22,19,.2); }
body.page-id-7 .ron-benefit-grid span,
body.page-id-7 .ron-proof-cards span { display:block; margin-bottom:3.5rem; color:var(--ron-gold); font-size:.68rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
body.page-id-7 .ron-benefit-grid h3 { font-size:clamp(1.6rem,2.4vw,2.2rem); line-height:1.05; }
body.page-id-7 .ron-benefit-grid p { margin-bottom:0; color:#5a554c; line-height:1.7; }
body.page-id-7 .ron-booking-widget { margin-block:clamp(1rem,3vw,2rem) clamp(4.5rem,8vw,7rem); padding:clamp(2.25rem,5vw,4.2rem); display:grid; grid-template-columns:minmax(0,1.2fr) auto; gap:2rem 4rem; align-items:center; border-radius:1rem; background:#1b2424; color:#fff; box-shadow:0 1.25rem 3.5rem rgba(18,22,22,.16); }
body.page-id-7 .ron-booking-widget h2 { max-width:42rem; margin-bottom:.75rem; font-size:clamp(2.3rem,4vw,4rem); line-height:.95; }
body.page-id-7 .ron-booking-widget p:last-child { max-width:45rem; margin-bottom:0; color:rgba(255,255,255,.72); line-height:1.65; }
body.page-id-7 .ron-booking-actions { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:flex-end; }
body.page-id-7 .ron-booking-widget .button-line { color:#fff; border-color:rgba(255,255,255,.55); }
body.page-id-7 .ron-trailer { padding-block:clamp(4rem,7vw,6.5rem); background:#12110f; color:#fff; }
body.page-id-7 .ron-trailer-grid { display:grid; grid-template-columns:minmax(18rem,.65fr) minmax(30rem,1.35fr); gap:clamp(2.5rem,6vw,6rem); align-items:center; }
body.page-id-7 .ron-trailer h2 { font-size:clamp(2.55rem,4.7vw,4.7rem); line-height:.94; }
body.page-id-7 .ron-trailer p:not(.section-number) { color:rgba(255,255,255,.7); line-height:1.65; }
body.page-id-7 .ron-text-link--light { color:#fff; }
body.page-id-7 .ron-video-wrap { width:100%; aspect-ratio:16/9; border:1px solid rgba(189,144,64,.55); border-radius:.8rem; overflow:hidden; background:#000; box-shadow:0 1.4rem 3.5rem rgba(0,0,0,.38); }
body.page-id-7 .ron-video-wrap iframe { width:100%; height:100%; border:0; display:block; }
body.page-id-7 .ron-proof { padding-block:clamp(4.5rem,8vw,7rem); display:grid; grid-template-columns:minmax(18rem,.7fr) minmax(0,1.3fr); gap:clamp(2.5rem,6vw,6rem); }
body.page-id-7 .ron-quote blockquote { margin:2rem 0 0; padding:0; border:0; }
body.page-id-7 .ron-quote blockquote p { font-family:var(--font-display,Newsreader,Georgia,serif); font-size:clamp(2.2rem,4vw,4rem); line-height:1.02; }
body.page-id-7 .ron-quote cite { color:var(--ron-teal); font-size:.72rem; font-style:normal; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
body.page-id-7 .ron-proof-cards { display:grid; gap:0; border-top:1px solid rgba(23,22,19,.2); }
body.page-id-7 .ron-proof-cards article { display:grid; grid-template-columns:6rem minmax(0,.65fr) minmax(0,1fr); gap:1.5rem; align-items:start; padding:1.65rem 0; border-bottom:1px solid rgba(23,22,19,.2); }
body.page-id-7 .ron-proof-cards span { margin:0; }
body.page-id-7 .ron-proof-cards h3 { margin:0; font-size:1.35rem; line-height:1.1; }
body.page-id-7 .ron-proof-cards p { margin:0; color:#5d584f; line-height:1.55; }
body.page-id-7 .rh-art-section--book { padding-block:clamp(3.8rem,7vw,6rem); }
body.page-id-7 .rh-art-section--book .rh-art-intro { margin-bottom:1.25rem; }
body.page-id-7 .rh-art-section--book .rh-art-intro h2 { font-size:clamp(2.7rem,5vw,4.8rem); }
body.page-id-7 .rh-book-note { max-width:48rem; margin:0 auto 1.4rem; padding:.85rem 1.1rem; font-family:Mynerve,cursive; font-size:clamp(1.15rem,2vw,1.55rem); line-height:1.35; transform:rotate(-.5deg); }
body.page-id-7 .rh-photo-book { max-width:64rem; margin-inline:auto; padding:1rem 1rem .85rem; }
body.page-id-7 .rh-book-spreads { min-height:0 !important; }
body.page-id-7 .rh-book-spread { min-height:0 !important; }
body.page-id-7 .rh-book-page { min-height:0 !important; padding:1rem 1rem .7rem; }
body.page-id-7 .rh-book-page > a { display:block; aspect-ratio:4/3; overflow:hidden; background:#171613; }
body.page-id-7 .rh-book-page img { width:100%; height:100%; object-fit:contain !important; object-position:center !important; }
body.page-id-7 .rh-book-page figcaption { margin-top:.6rem; min-height:1.5rem; }
body.page-id-7 .rh-book-binding { top:1rem; bottom:4.55rem; }
body.page-id-7 .rh-book-controls { margin-top:.8rem; padding-top:.8rem; }
body.page-id-7 .ron-final-cta { padding-block:clamp(4.5rem,8vw,7.5rem); text-align:center; background:var(--ron-paper); }
body.page-id-7 .ron-final-cta .content-shell { max-width:58rem; }
body.page-id-7 .ron-final-cta h2 { margin-bottom:1rem; font-size:clamp(3rem,6vw,5.8rem); line-height:.9; }
body.page-id-7 .ron-final-cta p:not(.kicker) { max-width:42rem; margin-inline:auto; color:#5b564e; font-size:1.08rem; line-height:1.7; }
body.page-id-7 .ron-final-cta .ron-hero-actions { justify-content:center; }
@media (max-width: 980px) {
 body.page-id-7 .ron-hero { grid-template-columns:1fr; width:min(100% - 2rem,48rem); }
 body.page-id-7 .ron-hero-copy { max-width:none; }
 body.page-id-7 .ron-proof-ribbon,
 body.page-id-7 .ron-section-heading,
 body.page-id-7 .ron-booking-widget,
 body.page-id-7 .ron-trailer-grid,
 body.page-id-7 .ron-proof { grid-template-columns:1fr; }
 body.page-id-7 .ron-booking-actions { justify-content:flex-start; }
 body.page-id-7 .ron-video-wrap { max-width:52rem; }
 body.page-id-7 .ron-proof-cards article { grid-template-columns:5rem minmax(0,.6fr) minmax(0,1fr); }
}
@media (max-width: 700px) {
 body.page-id-7 .ron-hero { width:min(100% - 1.5rem,42rem); padding-top:2.7rem; }
 body.page-id-7 .ron-hero h1 { font-size:clamp(3.8rem,21vw,6.1rem); }
 body.page-id-7 .ron-hero h1 em { padding-left:.2em; }
 body.page-id-7 .ron-hero-actions .button,
 body.page-id-7 .ron-booking-actions .button { width:100%; justify-content:center; text-align:center; }
 body.page-id-7 .ron-proof-ribbon { grid-template-columns:1fr; }
 body.page-id-7 .ron-proof-ribbon p + p { border-left:0; border-top:1px solid rgba(255,255,255,.22); }
 body.page-id-7 .ron-section-heading { display:block; }
 body.page-id-7 .ron-benefit-grid { grid-template-columns:1fr; }
 body.page-id-7 .ron-benefit-grid article { min-height:0; padding:1.7rem 0 1.9rem; }
 body.page-id-7 .ron-benefit-grid article + article { padding-left:0; border-left:0; border-top:1px solid rgba(23,22,19,.2); }
 body.page-id-7 .ron-benefit-grid span { margin-bottom:1.2rem; }
 body.page-id-7 .ron-booking-widget { margin-inline:.75rem; padding:2rem 1.25rem; }
 body.page-id-7 .ron-proof-cards article { grid-template-columns:1fr; gap:.5rem; }
 body.page-id-7 .ron-proof-cards span { margin-bottom:.35rem; }
 body.page-id-7 .rh-art-section--book .rh-art-intro { display:block; }
 body.page-id-7 .rh-book-note { font-size:1.18rem; transform:none; }
 body.page-id-7 .rh-photo-book { padding:.7rem; }
 body.page-id-7 .rh-book-spread { grid-template-columns:1fr !important; gap:.7rem; }
 body.page-id-7 .rh-book-page:nth-child(2) { display:none; }
 body.page-id-7 .rh-book-binding { display:none; }
 body.page-id-7 .rh-book-page { padding:.7rem; }
 body.page-id-7 .rh-book-page > a { aspect-ratio:4/3; }
}


/* traditional-lightbox-layout-v2 */
body.page-id-831 .rh-photo-mosaic { grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:auto; gap:.85rem; }
body.page-id-831 .rh-mosaic-tile { aspect-ratio:4/3; border-radius:.28rem; overflow:hidden; background:#181613; }
body.page-id-831 .rh-mosaic-tile img { width:100%; height:100%; object-fit:cover; object-position:center; }
body.page-id-831 .rh-mosaic-tile:nth-child(4) img,
body.page-id-831 .rh-mosaic-tile:nth-child(5) img,
body.page-id-831 .rh-mosaic-tile:nth-child(9) img { object-position:center 24%; }
body.page-id-831 .rh-mosaic-tile:nth-child(10) img { object-position:center 18%; }
body.gallery-open { overflow:hidden; }
.rudi-gallery-lightbox { position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; padding:clamp(.75rem,2.4vw,2.5rem); }
.rudi-gallery-lightbox[aria-hidden="true"] { display:none; }
.rudi-lightbox-backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(7,7,6,.96); cursor:zoom-out; }
.rudi-lightbox-frame { position:relative; z-index:1; width:min(95vw,78rem); height:min(92vh,56rem); display:grid; grid-template-rows:auto minmax(0,1fr); overflow:hidden; border:1px solid rgba(189,144,64,.5); border-radius:.6rem; background:#0e0e0d; box-shadow:0 2rem 6rem rgba(0,0,0,.65); }
.rudi-lightbox-header { min-height:4rem; padding:.7rem .75rem .7rem 1.15rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid rgba(255,255,255,.13); color:#fff; background:#171512; }
.rudi-lightbox-count { font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.72); }
.rudi-lightbox-close { width:2.7rem; height:2.7rem; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.42); border-radius:50%; color:#fff; background:transparent; cursor:pointer; }
.rudi-lightbox-close span { display:block; font-family:Arial,sans-serif; font-size:2rem; font-weight:200; line-height:1; transform:translateY(-1px); }
.rudi-lightbox-close:hover,
.rudi-lightbox-close:focus-visible { color:#171512; background:#fff; outline:none; }
.rudi-lightbox-stage { min-height:0; display:grid; grid-template-columns:clamp(3.3rem,6vw,5.75rem) minmax(0,1fr) clamp(3.3rem,6vw,5.75rem); align-items:stretch; }
.rudi-lightbox-media { min-width:0; min-height:0; margin:0; padding:1rem 0 .7rem; display:grid; grid-template-rows:minmax(0,1fr) auto; align-items:center; justify-items:center; }
.rudi-lightbox-media img { max-width:100%; max-height:100%; width:auto; height:auto; min-height:0; object-fit:contain; display:block; opacity:.2; transform:scale(.985); transition:opacity .2s ease,transform .2s ease; }
.rudi-lightbox-media img.is-loaded { opacity:1; transform:none; }
.rudi-lightbox-caption { min-height:1.8rem; margin:.45rem 0 0; padding:.25rem 1rem 0; color:rgba(255,255,255,.78); font-family:Mynerve,cursive; font-size:clamp(1rem,1.7vw,1.35rem); line-height:1.2; text-align:center; }
.rudi-lightbox-arrow { align-self:stretch; width:100%; display:grid; place-items:center; padding:0; border:0; color:#fff; background:transparent; cursor:pointer; }
.rudi-lightbox-arrow span { width:3.25rem; height:3.25rem; display:grid; place-items:center; border:1px solid rgba(255,255,255,.42); border-radius:50%; font-family:Arial,sans-serif; font-size:2.5rem; font-weight:200; line-height:1; background:rgba(0,0,0,.24); transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease; }
.rudi-lightbox-arrow:hover span,
.rudi-lightbox-arrow:focus-visible span { color:#171512; border-color:#fff; background:#fff; transform:scale(1.06); }
.rudi-lightbox-arrow:focus-visible { outline:0; }
.rudi-lightbox-arrow--previous { grid-column:1; }
.rudi-lightbox-media { grid-column:2; }
.rudi-lightbox-arrow--next { grid-column:3; }
@media (max-width: 900px) {
 body.page-id-831 .rh-photo-mosaic { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rudi-lightbox-frame { width:97vw; height:90vh; }
 .rudi-lightbox-stage { grid-template-columns:3.6rem minmax(0,1fr) 3.6rem; }
 .rudi-lightbox-arrow span { width:2.65rem; height:2.65rem; font-size:2.1rem; }
}
@media (max-width: 520px) {
 body.page-id-831 .rh-photo-mosaic { grid-template-columns:1fr; gap:.7rem; }
 .rudi-gallery-lightbox { padding:.35rem; }
 .rudi-lightbox-frame { width:calc(100vw - .7rem); height:calc(100dvh - .7rem); border-radius:.35rem; }
 .rudi-lightbox-header { min-height:3.5rem; padding:.45rem .5rem .45rem .75rem; }
 .rudi-lightbox-count { max-width:70%; font-size:.58rem; }
 .rudi-lightbox-stage { position:relative; display:block; }
 .rudi-lightbox-media { width:100%; height:100%; padding:3.5rem .45rem 1rem; }
 .rudi-lightbox-arrow { position:absolute; z-index:2; top:50%; width:3.35rem; height:4.5rem; transform:translateY(-50%); }
 .rudi-lightbox-arrow--previous { left:.2rem; }
 .rudi-lightbox-arrow--next { right:.2rem; }
 .rudi-lightbox-arrow span { width:2.75rem; height:2.75rem; background:rgba(0,0,0,.7); }
 .rudi-lightbox-caption { font-size:1rem; }
}
@media (prefers-reduced-motion:reduce) {
 .rudi-lightbox-media img,
 .rudi-lightbox-arrow span { transition:none; }
}


/* wpautop-layout-cleanup-v1 */
body.page-id-7 .ron-page > p:empty,
body.page-id-7 .ron-page article > p:empty,
body.page-id-831 .rh-photo-mosaic > p:empty { display:none !important; }
@media (min-width: 901px) {
 .primary-nav > ul > li > a,
 .primary-nav .menu > li > a { white-space:nowrap; }
}
body.page-id-7 .ron-section-heading { grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr); }
body.page-id-7 .ron-section-heading h2 { font-size:clamp(2.5rem,4.2vw,4.25rem); }


/* mosaic-autop-break-cleanup-v1 */
body.page-id-831 .rh-photo-mosaic > br { display:none !important; }
body.page-id-831 .rh-mosaic-tile:nth-of-type(4) img,
body.page-id-831 .rh-mosaic-tile:nth-of-type(5) img,
body.page-id-831 .rh-mosaic-tile:nth-of-type(9) img { object-position:center 24%; }
body.page-id-831 .rh-mosaic-tile:nth-of-type(10) img { object-position:center 18%; }


/* Codex masthead booking alignment 2026-08-28 */
.site-masthead .site-utility {
  grid-column: 1 / -1;
  grid-row: 1;
}
.site-masthead .site-header {
  grid-column: 1;
  grid-row: 2;
  padding-right: var(--pad);
}
.site-booking-block {
  grid-column: 2;
  grid-row: 2;
  overflow: hidden;
  background: rgba(238, 232, 222, .94);
  padding: .6rem;
}
.site-booking-block img {
  width: auto;
  height: auto;
  max-height: 7rem;
  object-fit: contain;
  transform: none;
}
@media (max-width: 760px) {
  .site-booking-block {
    padding: .3rem;
  }
  .site-booking-block img {
    max-height: 4.75rem;
    transform: none;
  }
}


/* Codex site completion 2026-08-29 */
body .site-utility-authority {
  display: block !important;
  min-width: 0;
  line-height: 1;
  white-space: nowrap !important;
}
body .site-utility-authority strong {
  display: block;
  margin: 0;
  color: #fff;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(.82rem, .9vw, .98rem);
  font-weight: 400;
  letter-spacing: .055em;
  text-transform: uppercase;
}
main section + section:not(.rh-month) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.footer-booking-sign {
  width: 25% !important;
  min-width: 0 !important;
  max-width: 5.5rem !important;
  margin-top: .75rem !important;
}
.footer-booking-sign img {
  display: block;
  width: 100% !important;
  height: auto !important;
}
.service-card > span:first-child,
body.page-id-7 .ron-reasons article > span:first-child {
  display: none !important;
}
.service-card > p:empty {
  display: none !important;
}
.rh-day:not(.is-open) {
  color: #4f4a42;
}
body.page-id-7 .rh-art-section--book .rh-art-control {
  border-color: #6f1d2b !important;
  background: #6f1d2b !important;
  color: #fff !important;
}
@media (max-width: 1160px) {
  .site-header { position: relative; }
  .primary-nav.is-open {
    position: absolute !important;
    inset: 100% 0 auto 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - 7rem) !important;
    overflow-y: auto !important;
    border-top: 3px solid #6f1d2b !important;
    border-bottom: 1px solid rgba(111, 29, 43, .35) !important;
    background: #f4eee5 !important;
    box-shadow: 0 1rem 2.5rem rgba(43, 31, 27, .28) !important;
  }
  .primary-nav.is-open .nav-accordion-tools {
    gap: .65rem !important;
    padding: .7rem 1rem !important;
    border-bottom: 1px solid rgba(111, 29, 43, .22) !important;
    background: #ece2d5 !important;
  }
  .primary-nav.is-open .nav-accordion-title {
    color: #6f1d2b !important;
    font-family: "Bebas Neue", Impact, sans-serif !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
  }
  .primary-nav.is-open .nav-accordion-all {
    min-height: 0 !important;
    padding: .42rem .72rem !important;
    border: 1px solid #6f1d2b !important;
    border-radius: .2rem !important;
    background: #6f1d2b !important;
    color: #fff !important;
    font-family: "Bebas Neue", Impact, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    letter-spacing: .06em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
  }
  .primary-nav.is-open > div:last-child { padding: .25rem 0 .45rem !important; }
  .primary-nav.is-open .menu > li > a,
  .primary-nav.is-open .menu > li > button {
    min-height: 3.2rem !important;
    padding-top: .65rem !important;
    padding-bottom: .65rem !important;
  }
  .primary-nav.is-open .sub-menu a {
    min-height: 2.8rem !important;
    padding-top: .55rem !important;
    padding-bottom: .55rem !important;
  }
  .primary-nav.is-open .submenu-toggle { color: #6f1d2b !important; }
}
@media (max-width: 760px) {
  body .site-utility {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: .35rem !important;
    padding: .48rem .7rem !important;
  }
  body .site-utility-authority {
    display: block !important;
    width: 100%;
    text-align: center;
    white-space: nowrap !important;
  }
  body .site-utility-authority strong {
    font-size: clamp(.6rem, 2.65vw, .74rem) !important;
    letter-spacing: .035em !important;
  }
  body .site-utility-tools {
    width: 100%;
    justify-content: center !important;
  }
  .primary-nav.is-open { max-height: calc(100dvh - 6rem) !important; }
}


/* Codex section spacing correction 2026-08-29 */
body main > section:not(.rock-hero):not(.rh-month),
body main > article > section:not(.rh-month),
body main > article > div > section:not(.rh-month),
body .rock-home > .rock-section,
body .ron-page > section:not(.rh-month) {
  margin-block: 0 !important;
  padding-block: 0 !important;
}


/* Codex mobile menu position correction 2026-08-29 */
@media (max-width: 1160px) {
  .site-header {
    position: relative !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
  }
  .site-header .site-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .site-header .menu-toggle {
    position: relative !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    place-self: center end !important;
  }
  .site-header .primary-nav.is-open {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    inset: 100% auto auto 0 !important;
    width: 100vw !important;
  }
}


/* Codex mobile panel anchor 2026-08-29 */
@media (max-width: 1160px) {
  body.nav-open .primary-nav.is-open {
    position: fixed !important;
    inset: 0 0 auto auto !important;
    width: min(100%, 24rem) !important;
    height: auto !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
  }
  body.admin-bar.nav-open .primary-nav.is-open {
    top: 46px !important;
    max-height: calc(100dvh - 46px) !important;
  }
  body.nav-open .primary-nav.is-open .nav-accordion-tools {
    min-height: 0 !important;
    height: auto !important;
  }
}
@media (min-width: 783px) and (max-width: 1160px) {
  body.admin-bar.nav-open .primary-nav.is-open {
    top: 32px !important;
    max-height: calc(100dvh - 32px) !important;
  }
}


/* Full-column footer booking sign — 2026-08-29 */
html body .site-footer > section:first-of-type > a.footer-booking-sign {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 1.5rem 0 0 !important;
  justify-self: stretch !important;
}
html body .site-footer > section:first-of-type > a.footer-booking-sign > img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
}
