/*
Theme Name: Registri Akashici
Theme URI: https://dlmdesign.it/
Author: DLM Design
Author URI: https://dlmdesign.it/
Description: Tema editoriale custom “Archivio interiore” per registriakashici.it.
Version: 2.5.0
Requires at least: 7.0
Requires PHP: 8.2
Text Domain: registri-akashici
*/

:root {
  color-scheme: light;
  --ra-canvas: #f6f1e8;
  --ra-paper: #fffdf8;
  --ra-ink: #1c2430;
  --ra-midnight: #17283e;
  --ra-plum: #5b3b68;
  --ra-gold: #c08a38;
  --ra-sage: #477c78;
  --ra-muted: #667085;
  --ra-line: #ded4c5;
  --ra-shadow-sm: 0 10px 30px rgba(28, 36, 48, .07);
  --ra-shadow-lg: 0 28px 80px rgba(23, 40, 62, .14);
  --ra-radius-sm: .75rem;
  --ra-radius: 1.25rem;
  --ra-radius-lg: 2rem;
  --ra-content: 750px;
  --ra-wide: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--ra-canvas); color: var(--ra-ink); text-rendering: optimizeLegibility; }
a { color: var(--ra-plum); text-underline-offset: .2em; text-decoration-thickness: .075em; }
a:hover { text-decoration-thickness: .13em; }
:focus-visible { outline: 3px solid var(--ra-sage); outline-offset: 4px; }
img { max-width: 100%; height: auto; }
.wp-site-blocks { overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }

/* Header */
.ra-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 50;
  border-block-end: 1px solid rgba(222, 212, 197, .8);
  background: rgba(255, 253, 248, .94);
  backdrop-filter: blur(20px) saturate(140%);
}
.admin-bar .ra-header { inset-block-start: 32px; }
.ra-header__inner { min-height: 92px; gap: 2rem; }
.ra-logo { flex: 0 0 auto; margin: 0; }
.ra-logo img { display: block; width: auto; max-height: 66px; border-radius: 0; }
.ra-header .wp-block-navigation { flex: 1 1 auto; }
.ra-header .wp-block-navigation__container { gap: clamp(.8rem, 1.6vw, 1.6rem); }
.ra-header .wp-block-navigation-item__content {
  color: var(--ra-midnight);
  font-size: .82rem;
  font-weight: 750;
  letter-spacing: .055em;
  line-height: 1.25;
  text-transform: uppercase;
  text-decoration: none;
}
.ra-header .wp-block-navigation-item__content:hover { color: var(--ra-plum); }
.ra-header .wp-block-navigation__submenu-container {
  min-width: 270px !important;
  padding: .65rem !important;
  border: 1px solid var(--ra-line) !important;
  border-radius: var(--ra-radius-sm);
  background: var(--ra-paper) !important;
  box-shadow: var(--ra-shadow-lg);
}
.ra-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: .7rem .85rem !important;
  border-radius: .5rem;
  font-size: .78rem;
  letter-spacing: .025em;
  text-transform: none;
}
.ra-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: rgba(192, 138, 56, .12); }
.ra-contact-link > a {
  min-height: 44px;
  padding: .75rem 1.1rem !important;
  border-radius: 999px;
  background: var(--ra-plum);
  color: white !important;
}
.ra-contact-link > a:hover { background: var(--ra-midnight); }

/* Main and editorial headings */
.ra-main { min-height: 65vh; }
.ra-kicker {
  margin: 0 0 .9rem;
  color: var(--ra-gold);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.ra-display {
  max-width: 900px;
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.65rem, 7vw, 6.4rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .98;
}
.ra-section-title {
  max-width: 800px;
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 4.6vw, 4.15rem);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.04;
}
.ra-lead { max-width: 680px; color: rgba(255, 255, 255, .82); font-size: clamp(1.05rem, 1.6vw, 1.28rem); line-height: 1.75; }

/* Homepage */
.ra-home { background: var(--ra-canvas); }
.ra-home-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: min(820px, 88vh);
  display: grid;
  align-items: center;
  background:
    radial-gradient(circle at 75% 22%, rgba(192, 138, 56, .2), transparent 25%),
    linear-gradient(118deg, rgba(23, 40, 62, .98) 0%, rgba(23, 40, 62, .94) 52%, rgba(42, 39, 58, .86) 100%);
  color: white;
}
.ra-home-hero::before {
  content: '';
  position: absolute;
  inset: 0 0 0 auto;
  z-index: -2;
  width: min(56vw, 850px);
  background: linear-gradient(90deg, var(--ra-midnight), transparent 40%), url('/wp-content/uploads/2021/01/slide1.png') 48% 50% / cover no-repeat;
  opacity: .48;
  mix-blend-mode: screen;
}
.ra-home-hero::after {
  content: '';
  position: absolute;
  inset: auto -10vw -20vw auto;
  z-index: -1;
  width: 45vw;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  box-shadow: 0 0 0 60px rgba(255,255,255,.025), 0 0 0 120px rgba(255,255,255,.018);
}
.ra-home-hero__inner { width: min(100% - 2rem, var(--ra-wide)); margin-inline: auto; padding-block: clamp(5rem, 11vw, 9rem); }
.ra-home-hero__content { max-width: 790px; }
.ra-home-hero .ra-display, .ra-home-video .ra-section-title, .ra-home-cta .ra-section-title { color: white; }
.ra-home-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-block-start: 2rem; }
.ra-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .85rem 1.3rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 750;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.ra-btn:hover { transform: translateY(-2px); text-decoration: none; }
.ra-btn--gold { background: var(--ra-gold); color: var(--ra-ink); }
.ra-btn--gold:hover { background: #d39a45; color: var(--ra-ink); }
.ra-btn--ghost { border-color: rgba(255,255,255,.45); color: white; }
.ra-btn--ghost:hover { border-color: white; background: white; color: var(--ra-midnight); }
.ra-btn--plum { background: var(--ra-plum); color: white; }
.ra-btn--plum:hover { background: var(--ra-midnight); color: white; }

.ra-home-section { padding-block: clamp(4.5rem, 9vw, 8rem); }
.ra-home-section__inner { width: min(100% - 2rem, var(--ra-wide)); margin-inline: auto; }
.ra-section-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(280px, 1.2fr); gap: 2rem 5rem; align-items: end; margin-block-end: clamp(2rem,5vw,4rem); }
.ra-section-intro { max-width: 620px; margin: 0; color: var(--ra-muted); font-size: 1.06rem; line-height: 1.75; }

.ra-path-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; }
.ra-path-card {
  grid-column: span 4;
  position: relative;
  display: block;
  overflow: hidden;
  border: 1px solid var(--ra-line);
  border-radius: var(--ra-radius);
  background: var(--ra-paper);
  box-shadow: var(--ra-shadow-sm);
  color: var(--ra-ink);
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.ra-path-card:hover { transform: translateY(-6px); border-color: rgba(192,138,56,.65); box-shadow: var(--ra-shadow-lg); text-decoration: none; }
.ra-path-card__media { display: block; overflow: hidden; aspect-ratio: 16 / 10; background: var(--ra-midnight); }
.ra-path-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.ra-path-card:hover .ra-path-card__media img { transform: scale(1.035); }
.ra-path-card__body { position: relative; display: flex; min-height: 280px; flex-direction: column; padding: 1.35rem; }
.ra-path-card__number { color: var(--ra-gold); font-size: .75rem; font-weight: 800; letter-spacing: .14em; }
.ra-path-card h3 { margin: 1.6rem 3rem .8rem 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.45rem,2vw,2rem); font-weight: 400; line-height: 1.1; text-transform: none; }
.ra-path-card p { margin: 0; color: var(--ra-muted); line-height: 1.65; }
.ra-path-card__arrow { position: absolute; inset: 1.05rem 1.15rem auto auto; display: grid; place-items: center; width: 42px; aspect-ratio: 1; border: 1px solid var(--ra-line); border-radius: 50%; color: var(--ra-midnight); font-size: 1.25rem; }
.ra-path-card:hover .ra-path-card__arrow { background: var(--ra-midnight); color: white; }

.ra-home-about { background: var(--ra-paper); }
.ra-about-grid { display: grid; grid-template-columns: minmax(280px,.82fr) minmax(0,1.18fr); gap: clamp(2rem,7vw,7rem); align-items: center; }
.ra-about-media { position: relative; min-height: 560px; }
.ra-about-media::before { content: ''; position: absolute; inset: 3rem -1rem -1rem 3rem; border-radius: var(--ra-radius-lg); background: var(--ra-gold); opacity: .2; }
.ra-about-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; border-radius: var(--ra-radius-lg); box-shadow: var(--ra-shadow-lg); }
.ra-about-copy { max-width: 660px; }
.ra-about-copy p { color: var(--ra-muted); font-size: 1.06rem; line-height: 1.8; }

.ra-home-video { background: var(--ra-midnight); color: white; }
.ra-video-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(280px,.95fr); gap: clamp(2rem,6vw,6rem); align-items: center; }
.ra-video-media { position: relative; }
.ra-video-media img { display: block; width: 100%; border-radius: var(--ra-radius-lg); box-shadow: 0 30px 80px rgba(0,0,0,.28); }
.ra-video-copy p { color: rgba(255,255,255,.72); font-size: 1.05rem; line-height: 1.75; }

.ra-home-original { background: var(--ra-canvas); }
.ra-home-original__content { max-width: 1120px; margin-inline: auto; }
.ra-home-original__content > h2 { margin-block: 5rem 1.2rem; padding-block-start: 3rem; border-block-start: 1px solid var(--ra-line); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem,4vw,3.6rem); font-weight: 400; }
.ra-home-original__content > h2:first-child { margin-block-start: 0; padding-block-start: 0; border: 0; }
.ra-home-original__content > h2:first-child + p { padding: clamp(1.5rem,4vw,2.5rem); border-inline-start: 4px solid var(--ra-gold); border-radius: 0 var(--ra-radius) var(--ra-radius) 0; background: var(--ra-paper); box-shadow: var(--ra-shadow-sm); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.08rem,2vw,1.3rem); line-height: 1.75; }
.ra-home-original__content > h3 { display: inline-flex; margin: 1rem .5rem 1rem 0; padding: .7rem 1rem; border: 1px solid var(--ra-line); border-radius: 999px; background: var(--ra-paper); font-size: 1rem; }
.ra-home-original__content > h4 { margin-block: 2.5rem .5rem; color: var(--ra-plum); font-family: Georgia, 'Times New Roman', serif; font-size: 1.45rem; }
.ra-home-original__content > ul { padding: 1.4rem 1.4rem 1.4rem 2.8rem; border: 1px solid var(--ra-line); border-radius: var(--ra-radius); background: var(--ra-paper); box-shadow: var(--ra-shadow-sm); }
.ra-home-original__content > .ra-courses-title { display: block; margin: clamp(4.5rem,9vw,7.5rem) 0 2rem; padding: clamp(2.5rem,5vw,4rem) 0 0; border-block-start: 1px solid var(--ra-line); border-radius: 0; background: transparent; color: var(--ra-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.2rem,4vw,3.4rem); font-weight: 400; }
.ra-courses-gallery { display: grid; grid-template-columns: 1.35fr .825fr .825fr; gap: clamp(1rem,2vw,1.5rem); margin-block-end: clamp(4.5rem,8vw,7rem); }
.ra-courses-gallery img { display: block; width: 100%; height: clamp(300px,32vw,440px); padding: .55rem; object-fit: cover; object-position: center; border: 1px solid var(--ra-line); border-radius: var(--ra-radius); background: #eee5d8; box-shadow: var(--ra-shadow-sm); }
.ra-courses-gallery img:first-child { grid-column: auto; height: clamp(300px,32vw,440px); max-height: none; aspect-ratio: auto; }
.ra-home-original__content > .ra-testimonial-avatar { display: block; width: 104px; height: 104px; margin-block: 2.5rem .8rem; object-fit: cover; border: 4px solid var(--ra-paper); border-radius: 50%; box-shadow: var(--ra-shadow-sm); }
.ra-practices-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-block: 3rem 1rem; }
.ra-practice-card { padding: 1.4rem; border: 1px solid var(--ra-line); border-radius: var(--ra-radius); background: var(--ra-paper); box-shadow: var(--ra-shadow-sm); }
.ra-practice-card h3 { margin: 0 0 .8rem; color: var(--ra-plum); font-family: Georgia, 'Times New Roman', serif; font-size: 1.5rem; font-weight: 400; }
.ra-practice-card p { margin: 0; color: var(--ra-muted); line-height: 1.65; }
.ra-home-original__content > .ra-testimonials-title { margin-block: 0 2rem; padding-block-start: clamp(2.5rem,5vw,4rem); border-block-start: 1px solid var(--ra-line); }
.ra-testimonials-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(1rem,2vw,1.5rem); align-items: stretch; }
.ra-testimonial-card { position: relative; min-width: 0; padding: clamp(1.35rem,2vw,1.8rem); border: 1px solid var(--ra-line); border-radius: var(--ra-radius); background: var(--ra-paper); box-shadow: var(--ra-shadow-sm); }
.ra-testimonial-card .ra-testimonial-avatar { width: 84px; height: 84px; margin: 0 0 1rem; object-fit: cover; border: 3px solid var(--ra-canvas); border-radius: 50%; box-shadow: 0 8px 24px rgba(28,36,48,.12); }
.ra-testimonial-card h4 { margin: 0 0 1rem; color: var(--ra-plum); font-family: Georgia, 'Times New Roman', serif; font-size: 1.55rem; font-weight: 400; }
.ra-testimonial-card__body { color: var(--ra-muted); line-height: 1.7; }
.ra-testimonial-card__body > :first-child { margin-block-start: 0; }
.ra-testimonial-card__body > :last-child { margin-block-end: 0; }
.ra-testimonial-card__body ul { margin: 0; padding-inline-start: 1.2rem; }
.ra-testimonial-details summary { cursor: pointer; color: var(--ra-plum); font-weight: 750; }
.ra-testimonial-details[open] summary { margin-block-end: 1rem; }
.ra-testimonial-details summary::marker { color: var(--ra-gold); }
.ra-mission { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(2.5rem,5vw,5rem); align-items: center; margin-block-start: clamp(4.5rem,9vw,7.5rem); padding: clamp(2.2rem,5vw,4.5rem); border-radius: var(--ra-radius-lg); background: radial-gradient(circle at 100% 0,rgba(192,138,56,.2),transparent 42%),var(--ra-midnight); color: white; box-shadow: var(--ra-shadow-lg); }
.ra-mission__copy h2 { margin: 0 0 1rem; color: white; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem,4vw,3.3rem); font-weight: 400; line-height: 1.05; }
.ra-mission__copy > p:not(.ra-kicker) { margin: 0 0 1.5rem; color: rgba(255,255,255,.74); font-size: 1.05rem; line-height: 1.7; }
.ra-mission__stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(.75rem,1.5vw,1.15rem); min-width: 0; }
.ra-mission-stat { display: flex; min-width: 0; min-height: 158px; flex-direction: column; justify-content: center; padding: 1.15rem .75rem; border: 1px solid rgba(255,255,255,.15); border-radius: var(--ra-radius); background: rgba(255,255,255,.055); text-align: center; }
.ra-mission-stat strong { color: #e3b968; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem,3.2vw,3.25rem); font-weight: 400; line-height: 1; white-space: nowrap; }
.ra-mission-stat span { margin-block-start: .65rem; color: rgba(255,255,255,.72); font-size: clamp(.66rem,.72vw,.76rem); font-weight: 700; letter-spacing: .045em; line-height: 1.4; text-transform: none; overflow-wrap: anywhere; }

.ra-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.ra-news-card { display: grid; grid-template-rows: auto 1fr; overflow: hidden; border: 1px solid var(--ra-line); border-radius: var(--ra-radius-lg); background: var(--ra-paper); box-shadow: var(--ra-shadow-sm); transition: transform .25s ease,box-shadow .25s ease; }
.ra-news-card:hover { transform: translateY(-5px); box-shadow: var(--ra-shadow-lg); }
.ra-news-card__media { display: block; aspect-ratio: 16/10; overflow: hidden; background: #e9e1d5; }
.ra-news-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ra-news-card__media--placeholder { display: grid; place-items: center; background: radial-gradient(circle at 50% 40%,rgba(192,138,56,.2),transparent 45%),var(--ra-midnight); }
.ra-news-card__media--placeholder img { width: 42%; height: 42%; object-fit: contain; filter: saturate(.85); }
.ra-news-card:hover img { transform: scale(1.035); }
.ra-news-card__body { display: flex; flex-direction: column; padding: clamp(1.35rem,2.5vw,2rem); }
.ra-news-card time { color: var(--ra-sage); font-size: .78rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ra-news-card h3 { margin: .75rem 0 0; font-family: Georgia, 'Times New Roman', serif; font-size: 1.45rem; font-weight: 400; line-height: 1.2; }
.ra-news-card h3 a { color: var(--ra-ink); text-decoration: none; }
.ra-news-card h3 a:hover { color: var(--ra-plum); }
.ra-news-card__body p { margin: 1rem 0 1.4rem; color: var(--ra-muted); line-height: 1.65; }
.ra-news-card__link { margin-block-start: auto; color: var(--ra-plum); font-weight: 800; text-decoration: none; }
.ra-news-card__link span { display: inline-block; margin-inline-start: .35rem; transition: transform .2s ease; }
.ra-news-card__link:hover span { transform: translateX(4px); }

.ra-home-cta { padding-block: clamp(4rem,8vw,7rem); background: linear-gradient(135deg,#4d315a,var(--ra-plum) 55%,#382742); color: white; }
.ra-home-cta__inner { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: clamp(2rem,7vw,7rem); align-items: center; width: min(100% - 2rem,var(--ra-wide)); margin-inline: auto; padding: clamp(2rem,5vw,4.5rem); border: 1px solid rgba(255,255,255,.14); border-radius: var(--ra-radius-lg); background: rgba(255,255,255,.045); box-shadow: 0 30px 80px rgba(24,15,29,.22); }
.ra-home-cta__copy { max-width: 720px; }
.ra-home-cta p:not(.ra-kicker) { margin: 1.3rem 0 2rem; color: rgba(255,255,255,.78); font-size: 1.1rem; line-height: 1.75; }
.ra-home-cta__details { display: grid; gap: .85rem; }
.ra-home-cta__details a { display: block; min-width: 0; padding: 1.25rem 1.4rem; border: 1px solid rgba(255,255,255,.13); border-radius: var(--ra-radius); background: rgba(17,29,45,.28); color: white; text-decoration: none; transition: background .2s ease,border-color .2s ease; }
.ra-home-cta__details a:hover { border-color: rgba(227,185,104,.6); background: rgba(17,29,45,.48); }
.ra-home-cta__details span { display: block; margin-block-end: .4rem; color: #e3b968; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ra-home-cta__details strong { display: block; overflow-wrap: anywhere; font-family: Georgia,'Times New Roman',serif; font-size: clamp(1.05rem,1.8vw,1.35rem); font-weight: 400; }

/* Internal pages */
.ra-page-hero { position: relative; padding-block: clamp(4rem,9vw,8rem); overflow: hidden; background: var(--ra-midnight); color: white; }
.ra-page-hero::after { content: ''; position: absolute; inset: auto -8vw -18vw auto; width: 36vw; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.02), 0 0 0 110px rgba(255,255,255,.018); }
.ra-page-hero__inner { position: relative; z-index: 1; width: min(100% - 2rem, var(--ra-wide)); margin-inline: auto; }
.ra-page-hero .wp-block-post-title { max-width: 1000px; margin: 0; color: white; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.5rem,6vw,5.4rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.02; }
.ra-breadcrumb { margin-block-end: 1.2rem; color: rgba(255,255,255,.62); font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.ra-breadcrumb a { color: #e3b968; text-decoration-color: rgba(227,185,104,.5); }
.ra-breadcrumb a:hover { color: white; }
.ra-article-shell { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: clamp(2rem,6vw,6rem); align-items: start; width: min(100% - 2rem, 1080px); margin-inline: auto; padding-block: clamp(3rem,7vw,7rem); }
.ra-content { min-width: 0; color: #374151; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.08rem,1.4vw,1.22rem); line-height: 1.82; }
.ra-content > * { max-width: var(--ra-content); margin-inline: auto; }
.ra-content > * + * { margin-block-start: 1.35em; }
.ra-content > h2, .ra-content > h3, .ra-content > h4 { color: var(--ra-ink); font-family: Georgia, 'Times New Roman', serif; line-height: 1.12; }
.ra-content > h2 { margin-block-start: 2.4em; font-size: clamp(1.8rem,3vw,2.65rem); font-weight: 400; }
.ra-content > h3 { margin-block-start: 2em; font-size: clamp(1.4rem,2.3vw,2rem); }
.ra-content > h4 { font-size: 1.25rem; }
.ra-content a { overflow-wrap: anywhere; }
.ra-content img { display: block; border-radius: var(--ra-radius); box-shadow: var(--ra-shadow-sm); }
.ra-content figure { margin-block: 2.2rem; }
.ra-content > figure.wp-block-image { padding: clamp(.5rem,2vw,1rem); border: 1px solid var(--ra-line); border-radius: var(--ra-radius); background: var(--ra-paper); box-shadow: var(--ra-shadow-sm); }
.ra-content > figure.wp-block-image img { width: min(100%,680px) !important; height: auto !important; max-height: 760px; margin-inline: auto; object-fit: contain; border-radius: calc(var(--ra-radius) - .35rem); box-shadow: none; }
.ra-content > img { width: min(100%,680px); height: auto; max-height: 760px; margin: 2.2rem auto; object-fit: contain; }
.ra-content .wp-block-gallery { gap: 1rem; }
.ra-content .wp-block-gallery figure { overflow: hidden; border-radius: var(--ra-radius-sm); background: var(--ra-paper); }
.ra-content .wp-block-gallery img { width: 100%; height: 100%; object-fit: cover; }
.ra-content blockquote { padding: 1.2rem 0 1.2rem 1.5rem; border-inline-start: 4px solid var(--ra-gold); color: var(--ra-midnight); font-size: 1.25em; }
.ra-content ul, .ra-content ol { padding-inline-start: 1.4em; }
.ra-content li + li { margin-block-start: .55em; }
.ra-content iframe { width: 100%; max-width: 100%; border: 0; border-radius: var(--ra-radius); }
.ra-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.ra-content td, .ra-content th { padding: .7rem; border: 1px solid var(--ra-line); }
.ra-reading-aside { position: sticky; top: 120px; padding: 1.2rem; border: 1px solid var(--ra-line); border-radius: var(--ra-radius); background: var(--ra-paper); box-shadow: var(--ra-shadow-sm); }
.ra-reading-aside p { margin: 0 0 1rem; color: var(--ra-muted); font-size: .9rem; line-height: 1.55; }
.ra-post-navigation { gap: 1rem; margin-block-start: 4rem; padding-block-start: 2rem; border-block-start: 1px solid var(--ra-line); }
.ra-post-navigation .wp-block-post-navigation-link { flex: 1 1 260px; }
.ra-post-navigation a { display: block; min-height: 100%; padding: 1rem 1.2rem; border: 1px solid var(--ra-line); border-radius: var(--ra-radius-sm); background: var(--ra-paper); color: var(--ra-midnight); font-family: Georgia, 'Times New Roman', serif; line-height: 1.4; text-decoration: none; box-shadow: var(--ra-shadow-sm); transition: transform .2s ease,border-color .2s ease; }
.ra-post-navigation a:hover { border-color: var(--ra-gold); transform: translateY(-2px); }
.ra-post-date { margin-block-start: 1.25rem; color: rgba(255,255,255,.7); }

/* Archives and pagination */
.ra-archive { width: min(100% - 2rem, var(--ra-wide)); margin-inline: auto; padding-block: clamp(4rem,8vw,7rem); }
.ra-archive-title { margin-block-end: 3rem; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.5rem,6vw,5rem); font-weight: 400; letter-spacing: -.04em; }
.wp-block-post-template { gap: 1rem; }
.wp-block-post-template > li { padding: 1.5rem; border: 1px solid var(--ra-line); border-radius: var(--ra-radius); background: var(--ra-paper); box-shadow: var(--ra-shadow-sm); }

.ra-about-page { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: 1.25rem clamp(2.5rem,6vw,6rem); align-items: start; }
.page-id-613 .ra-article-shell { grid-template-columns: 1fr; width: min(100% - 2rem, 1180px); }
.page-id-613 .ra-reading-aside { display: none; }
.page-id-613 .ra-content > * { max-width: none; }
.ra-about-page__portrait { grid-row: 1 / span 3; margin: 0; position: relative; align-self: start; }
.ra-about-page__portrait img { display: block; width: 100%; max-height: 680px; object-fit: cover; object-position: center 20%; border-radius: var(--ra-radius-lg); box-shadow: var(--ra-shadow-lg); }
.ra-about-page > p { grid-column: 2; margin: 0; color: var(--ra-muted); font-size: 1.08rem; line-height: 1.85; }
.ra-about-page > p:nth-of-type(3) { margin-block-start: 1rem; padding: 1.35rem 1.5rem; border-inline-start: 3px solid var(--ra-gold); border-radius: 0 var(--ra-radius) var(--ra-radius) 0; background: var(--ra-paper); color: var(--ra-ink); }
.ra-about-page__quote { grid-column: 1 / -1; clear: both; position: relative; z-index: 1; display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr); gap: clamp(2rem,5vw,5rem); align-items: center; margin: clamp(3rem,7vw,6rem) 0 0; padding: clamp(1rem,2.5vw,2rem); border: 0; border-radius: var(--ra-radius-lg); background: var(--ra-midnight); color: #fff; text-align: center; box-shadow: var(--ra-shadow-lg); }
.ra-about-page__quote .ra-about-page__quote-media { margin: 0; overflow: hidden; border-radius: calc(var(--ra-radius-lg) - .4rem); }
.ra-about-page__quote-media img { display: block; width: 100%; height: min(52vw,560px); object-fit: cover; object-position: center; border-radius: inherit; box-shadow: none; }
.ra-about-page__quote-copy { min-width: 0; padding: clamp(1rem,3vw,2.5rem); }
.ra-about-page__quote p { max-width: 680px; margin: 0 auto; color: #fff; font-family: Georgia,'Times New Roman',serif; font-size: clamp(1.45rem,3vw,2.4rem); line-height: 1.45; white-space: pre-line; }
.ra-about-page__quote cite { display: block; margin-block-start: 1.25rem; color: #e3b968; font-style: normal; font-weight: 750; letter-spacing: .08em; }

.ra-archive > .ra-kicker { margin-block-end: .75rem; }
.ra-archive-title { margin: 0; }
.ra-archive-intro { max-width: 680px; margin: 1.2rem 0 clamp(2.5rem,6vw,4.5rem); color: var(--ra-muted); font-size: 1.1rem; line-height: 1.75; }
.ra-news-archive .wp-block-post-template { gap: clamp(1.2rem,2.4vw,2rem); }
.ra-news-archive .wp-block-post-template > li { padding: 0; overflow: hidden; border-radius: var(--ra-radius-lg); }
.ra-archive-card { height: 100%; }
.ra-archive-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #e9e1d5; }
.ra-archive-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ra-archive-card:hover .ra-archive-card__media img { transform: scale(1.035); }
.ra-archive-card__body { padding: clamp(1.25rem,2.5vw,1.8rem); }
.ra-archive-card__body .wp-block-post-date { color: var(--ra-sage); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ra-archive-card__body .wp-block-post-title { margin: .8rem 0 1rem; font-family: Georgia,'Times New Roman',serif; font-size: clamp(1.35rem,2vw,1.8rem) !important; line-height: 1.2; }
.ra-archive-card__body .wp-block-post-title a { color: var(--ra-ink); text-decoration: none; }
.ra-archive-card__body .wp-block-post-excerpt { color: var(--ra-muted); line-height: 1.65; }
.ra-archive-card__body .wp-block-post-excerpt__more-link { display: inline-flex; margin-block-start: .5rem; color: var(--ra-plum); font-weight: 750; text-underline-offset: .2em; }
.ra-news-archive .wp-block-query-pagination { gap: .65rem; margin-block-start: clamp(3rem,7vw,5rem); }
.wp-block-post-title a { color: var(--ra-ink); text-decoration: none; }
.wp-block-post-title a:hover { color: var(--ra-plum); }
.wp-block-query-pagination { gap: .45rem; margin-block-start: 3rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: .6rem .85rem;
  border: 1px solid var(--ra-line);
  border-radius: 999px;
  background: var(--ra-paper);
  color: var(--ra-midnight);
  font-weight: 750;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}
.wp-block-query-pagination a:hover { transform: translateY(-2px); border-color: var(--ra-midnight); background: var(--ra-midnight); color: white; }
.wp-block-query-pagination .page-numbers.current { border-color: var(--ra-gold); background: var(--ra-gold); color: var(--ra-ink); box-shadow: inset 0 0 0 2px rgba(255,255,255,.45); }
.wp-block-query-pagination-previous, .wp-block-query-pagination-next { min-width: 110px !important; }

/* Contact form */
.ra-form { display: grid; gap: 1.15rem; max-width: 760px; padding: clamp(1.4rem,4vw,2.8rem); border: 1px solid var(--ra-line); border-radius: var(--ra-radius-lg); background: var(--ra-paper); box-shadow: var(--ra-shadow-lg); font-family: 'Segoe UI', system-ui, sans-serif; }
.ra-form__row { display: grid; gap: .45rem; }
.ra-form label { color: var(--ra-midnight); font-weight: 700; }
.ra-form input:not([type='checkbox']), .ra-form textarea { width: 100%; min-height: 48px; padding: .85rem 1rem; border: 1px solid #b8b1a7; border-radius: var(--ra-radius-sm); background: #fff; color: var(--ra-ink); font: inherit; }
.ra-form input:focus, .ra-form textarea:focus { border-color: var(--ra-sage); outline: 3px solid rgba(71,124,120,.2); }
.ra-form textarea { min-height: 180px; resize: vertical; }
.ra-form button { justify-self: start; min-height: 48px; padding: .85rem 1.4rem; border: 0; border-radius: 999px; background: var(--ra-plum); color: #fff; font: inherit; font-weight: 750; cursor: pointer; }
.ra-form button:hover { background: var(--ra-midnight); }
.ra-form__status { padding: .9rem 1rem; border-radius: var(--ra-radius-sm); }
.ra-form__status--success { background: #e8f4ed; color: #155e36; }
.ra-form__status--error { background: #fff0f0; color: #8b1d1d; }
.ra-honeypot { position: absolute !important; inset-inline-start: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Footer */
.ra-footer { padding-block: clamp(3rem,7vw,6rem) 2rem; background: #111d2d; color: rgba(255,255,255,.72); }
.ra-footer__grid { display: grid; grid-template-columns: 1.1fr 1.4fr; gap: 3rem 6rem; align-items: start; width: min(100% - 2rem,var(--ra-wide)); margin-inline: auto; }
.ra-footer .wp-block-site-title { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 2rem; }
.ra-footer .wp-block-site-title a { color: white; text-decoration: none; }
.ra-footer .wp-block-navigation__container { align-items: flex-start; gap: .65rem 1.4rem; }
.ra-footer .wp-block-navigation-item__content { color: rgba(255,255,255,.78); font-size: .85rem; text-decoration: none; }
.ra-footer .wp-block-navigation-item__content:hover { color: white; }
.ra-footer__meta { width: min(100% - 2rem,var(--ra-wide)); margin: 3rem auto 0; padding-block-start: 1.2rem; border-block-start: 1px solid rgba(255,255,255,.12); font-size: .82rem; }
.ra-footer__credit { width: min(100% - 2rem,var(--ra-wide)); margin: .65rem auto 0; color: rgba(255,255,255,.56); font-size: .82rem; letter-spacing: .02em; }
.ra-footer__credit a { color: #e3b968; font-weight: 750; text-decoration: none; }
.ra-footer__credit a:hover { color: white; text-decoration: underline; text-underline-offset: .2em; }

.ra-back-to-top { position: fixed; z-index: 80; right: clamp(1rem,2.5vw,2rem); bottom: clamp(1rem,2.5vw,2rem); display: grid; place-items: center; width: 52px; height: 52px; transform: translateY(18px); visibility: hidden; opacity: 0; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: var(--ra-midnight); color: white; cursor: pointer; font: 800 1.25rem/1 'Segoe UI',system-ui,sans-serif; box-shadow: 0 14px 36px rgba(10,27,45,.3); transition: opacity .2s ease,transform .2s ease,visibility .2s ease,background .2s ease; }
.ra-back-to-top.is-visible { transform: translateY(0); visibility: visible; opacity: 1; }
.ra-back-to-top:hover { background: var(--ra-plum); }
.ra-back-to-top:focus-visible { outline: 3px solid var(--ra-gold); outline-offset: 3px; }
.has-modal-open .ra-back-to-top { display: none; }

@media (max-width: 1050px) {
  .ra-header { backdrop-filter: none; }
  .ra-header__inner { min-height: 80px; }
  .ra-header .wp-block-navigation__responsive-container-open { display: flex !important; }
  .ra-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .ra-header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed;
    inset: 0;
    z-index: 100000;
    width: 100vw;
    min-height: 100vh;
    min-height: 100dvh;
    max-height: 100dvh;
    padding: 0 !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    background:
      radial-gradient(circle at 110% -10%, rgba(192,138,56,.2), transparent 38%),
      var(--ra-midnight) !important;
    color: white !important;
  }
  .ra-header .wp-block-navigation__responsive-container.is-menu-open::before {
    content: 'Registri Akashici';
    position: absolute;
    inset: 1.65rem 5.5rem auto 1.25rem;
    color: #e3b968;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.38rem;
    letter-spacing: -.015em;
  }
  .ra-header .wp-block-navigation__responsive-container-close {
    inset: 1rem 1rem auto auto;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    color: white;
  }
  .ra-header .wp-block-navigation__responsive-container-close:hover { border-color: #e3b968; background: #e3b968; color: var(--ra-midnight); }
  .ra-header .wp-block-navigation__responsive-container-content {
    width: 100%;
    padding: 5.8rem 1.25rem 2rem !important;
  }
  .ra-header .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
  .ra-header .wp-block-navigation-item { position: relative; align-items: stretch !important; width: 100%; border-block-end: 1px solid rgba(255,255,255,.12); }
  .ra-header .wp-block-navigation-item__content {
    display: flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    padding: .8rem .15rem !important;
    color: rgba(255,255,255,.92);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.12rem;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
  }
  .ra-header .wp-block-navigation-item__content:hover { color: #e3b968; }
  .ra-header .wp-block-navigation-item__content:focus-visible { outline-color: #e3b968; outline-offset: -3px; border-radius: .45rem; }
  .ra-header .wp-block-navigation-submenu > .wp-block-navigation-item__content { padding-inline-end: 3.5rem !important; }
  .ra-header .wp-block-navigation-submenu__toggle {
    position: absolute;
    inset: .3rem 0 auto auto;
    z-index: 2;
    display: grid !important;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: .55rem;
    border: 0;
    color: #e3b968;
    font-family: 'Segoe UI', system-ui, sans-serif;
    font-size: 1.65rem;
    font-weight: 300;
    line-height: 1;
  }
  .ra-header .wp-block-navigation-submenu__toggle:hover { background: rgba(227,185,104,.13); }
  .ra-header .wp-block-navigation-submenu__toggle:focus-visible { outline-color: #e3b968; outline-offset: 2px; }
  .ra-header .wp-block-navigation__submenu-icon svg { display: none; }
  .ra-header .wp-block-navigation-submenu__toggle::before { content: '+'; }
  .ra-header .wp-block-navigation-submenu__toggle[aria-expanded="true"]::before { content: '−'; }
  .ra-header .wp-block-navigation__submenu-container {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 0 .8rem !important;
    padding: .35rem .7rem .35rem 1rem !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    border: 0 !important;
    border-inline-start: 2px solid #e3b968 !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.045) !important;
    box-shadow: none;
  }
  .ra-header .wp-block-navigation-submenu__toggle[aria-expanded="false"] ~ .wp-block-navigation__submenu-container { display: none !important; }
  .ra-header .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container { display: flex !important; }
  .ra-header .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
  .ra-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 44px; padding: .58rem .7rem !important; font-family: 'Segoe UI', system-ui, sans-serif; font-size: .84rem; font-weight: 650; }
  .ra-header .ra-contact-link { margin-block-start: 1rem; border: 0; }
  .ra-header .ra-contact-link > a { justify-content: center; min-height: 54px; background: #d29a3e; color: var(--ra-midnight) !important; font-family: 'Segoe UI', system-ui, sans-serif; font-size: .9rem; font-weight: 800; }
  .ra-header .ra-contact-link > a:hover { background: #e3b968; }
  .ra-path-card { grid-column: span 6; }
  .ra-mission { grid-template-columns: 1fr; }
  .ra-testimonials-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ra-courses-gallery { grid-template-columns: 1.2fr .8fr; }
  .ra-courses-gallery img:last-child { grid-column: 1 / -1; width: min(100%,620px); justify-self: center; }
  .ra-article-shell { grid-template-columns: 1fr; }
  .ra-reading-aside { position: static; max-width: var(--ra-content); margin-inline: auto; }
}

@media (max-width: 780px) {
  .admin-bar .ra-header { inset-block-start: 46px; }
  .ra-logo img { max-height: 56px; }
  .ra-home-hero { min-height: auto; }
  .ra-home-hero::before { inset: auto 0 0; width: 100%; height: 45%; opacity: .22; }
  .ra-section-head, .ra-about-grid, .ra-video-grid, .ra-footer__grid { grid-template-columns: 1fr; }
  .ra-about-media { min-height: 430px; }
  .ra-path-card { grid-column: 1 / -1; }
  .ra-courses-gallery { grid-template-columns: 1fr; }
  .ra-courses-gallery img, .ra-courses-gallery img:first-child, .ra-courses-gallery img:last-child { grid-column: auto; width: 100%; height: auto; max-height: 520px; object-fit: contain; }
  .ra-news-grid { grid-template-columns: 1fr; }
  .ra-home-cta__inner { grid-template-columns: 1fr; }
  .ra-practices-grid { grid-template-columns: 1fr; }
  .ra-mission { grid-template-columns: 1fr; }
  .ra-mission__stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ra-mission-stat { min-height: 130px; }
  .ra-content { font-size: 1.06rem; line-height: 1.74; }
  .ra-footer .wp-block-navigation__container { flex-direction: column; }
  .ra-footer .wp-block-navigation { width: 100%; }
  .ra-footer .wp-block-navigation__container { align-items: stretch; width: 100%; gap: 0; }
  .ra-footer .wp-block-navigation-item { width: 100%; }
  .ra-footer .wp-block-navigation-item__content { display: flex; min-height: 46px; align-items: center; width: 100%; padding: .55rem 0; border-block-end: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.84); white-space: normal; }
  .ra-footer .wp-block-navigation-submenu { display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%; }
  .ra-footer .wp-block-navigation-submenu > .wp-block-navigation-item__content { grid-column: 1; grid-row: 1; border: 0; }
  .ra-footer .wp-block-navigation-submenu__toggle { grid-column: 2; grid-row: 1; display: grid; place-items: center; width: 44px; height: 44px; margin: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; color: white; }
  .ra-footer .wp-block-navigation-submenu__toggle svg { width: 14px; height: 14px; }
  .ra-footer .wp-block-navigation__submenu-container { grid-column: 1 / -1; position: static !important; inset: auto !important; min-width: 0 !important; width: 100% !important; height: auto !important; margin: .2rem 0 .8rem !important; padding: .35rem 0 .35rem 1rem !important; overflow: visible !important; visibility: visible !important; opacity: 1 !important; border: 0 !important; border-inline-start: 2px solid var(--ra-gold) !important; background: rgba(255,255,255,.035) !important; box-shadow: none !important; }
  .ra-footer .wp-block-navigation-submenu__toggle[aria-expanded="false"] ~ .wp-block-navigation__submenu-container { display: none !important; }
  .ra-footer .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container { display: flex !important; }
  .ra-footer .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 42px; padding: .45rem .7rem; border: 0; color: rgba(255,255,255,.72); font-size: .9rem; line-height: 1.35; }
  .ra-footer .wp-block-navigation-submenu__toggle svg { display: none; }
  .ra-footer .wp-block-navigation-submenu__toggle::before { content: '+'; font-size: 1.45rem; font-weight: 400; line-height: 1; }
  .ra-footer .wp-block-navigation-submenu__toggle[aria-expanded="true"]::before { content: '−'; }
  .ra-footer .ra-contact-link { margin-block-start: 1.2rem; }
  .ra-footer .ra-contact-link .wp-block-navigation-item__content { border-block-end: 0; }
  .ra-footer__meta { line-height: 1.8; }
  .ra-about-page { grid-template-columns: 1fr; }
  .ra-about-page__portrait { grid-row: auto; position: static; }
  .ra-about-page > p, .ra-about-page__quote { grid-column: 1; }
  .ra-about-page__quote { grid-template-columns: 1fr; gap: 0; }
  .ra-about-page__quote-media img { height: auto; max-height: 560px; aspect-ratio: 4 / 5; }
}

@media (max-width: 480px) {
  .ra-home-hero__inner, .ra-home-section__inner, .ra-page-hero__inner, .ra-archive, .ra-article-shell { width: min(100% - 1.25rem, var(--ra-wide)); }
  .ra-display { font-size: clamp(2.45rem,14vw,4.2rem); }
  .ra-home-actions { align-items: stretch; flex-direction: column; }
  .ra-btn { width: 100%; }
  .ra-about-media { min-height: 360px; }
  .ra-path-card__body { min-height: 0; }
  .ra-courses-gallery { grid-template-columns: 1fr; }
  .ra-testimonials-grid { grid-template-columns: 1fr; }
  .ra-mission { padding: 1.5rem; border-radius: var(--ra-radius); }
  .ra-mission__stats { grid-template-columns: 1fr; }
  .ra-mission-stat { min-height: 104px; }
  .ra-courses-gallery img, .ra-courses-gallery img:first-child { grid-column: auto; height: auto; max-height: 520px; aspect-ratio: auto; }
  .ra-form { gap: 1rem; padding: 1.15rem; border-radius: var(--ra-radius); }
  .ra-form textarea { min-height: 150px; }
  .ra-form button { justify-self: stretch; width: 100%; }
  .wp-block-query-pagination { justify-content: center; }
  .wp-block-query-pagination-previous, .wp-block-query-pagination-next { width: 100%; }
}

.ra-videos__intro { max-width: 720px; margin: 0 0 clamp(2rem,5vw,3.5rem); color: var(--ra-muted); font-size: 1.08rem; line-height: 1.75; }
.ra-videos__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.2rem,2.5vw,2rem); }
.ra-video-card { overflow: hidden; border: 1px solid var(--ra-line); border-radius: var(--ra-radius-lg); background: var(--ra-paper); box-shadow: var(--ra-shadow-sm); }
.ra-video-card:first-child { grid-column: 1 / -1; }
.ra-video-card__player { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ra-midnight); }
.ra-video-card__player img, .ra-video-card__player iframe { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }
.ra-video-card__player::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 45%,rgba(10,27,45,.38)); pointer-events: none; }
.ra-video-card__player.is-playing::after { display: none; }
.ra-video-card__play { position: absolute; z-index: 1; inset: 50% auto auto 50%; display: grid; place-items: center; width: clamp(64px,7vw,86px); aspect-ratio: 1; padding: 0 0 0 .25rem; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.72); border-radius: 50%; background: rgba(10,27,45,.86); color: white; cursor: pointer; font-size: 1.35rem; box-shadow: 0 16px 40px rgba(0,0,0,.3); transition: transform .2s ease,background .2s ease; }
.ra-video-card__play:hover { transform: translate(-50%,-50%) scale(1.06); background: var(--ra-plum); }
.ra-video-card__play:focus-visible { outline: 3px solid var(--ra-gold); outline-offset: 4px; }
.ra-video-card__body { padding: clamp(1.35rem,3vw,2rem); }
.ra-video-card__body h2 { margin: .35rem 0 1.2rem; font-family: Georgia,'Times New Roman',serif; font-size: clamp(1.45rem,2.3vw,2rem); font-weight: 400; line-height: 1.2; }
.ra-video-card__body a { color: var(--ra-plum); font-weight: 750; text-underline-offset: .2em; }
.ra-videos__privacy { margin: 2rem 0 0; padding: 1rem 1.2rem; border-inline-start: 3px solid var(--ra-gold); color: var(--ra-muted); font-size: .92rem; line-height: 1.6; }

@media (max-width: 780px) {
  .ra-videos__grid { grid-template-columns: 1fr; }
  .ra-video-card:first-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.ra-form__privacy {
  align-items: flex-start;
  display: flex;
  gap: .65rem;
  line-height: 1.5;
}

.ra-form__privacy input { flex: 0 0 22px; width: 22px; height: 22px; margin: .08rem 0 0; accent-color: var(--ra-plum); }
.ra-form__privacy span { min-width: 0; font-weight: 600; }
.ra-form__privacy a { text-decoration: underline; text-underline-offset: .16em; }
