

:root {
  --v2-emerald: #054239;
  --v2-shadow: #002623;
  --v2-ink: #072b28;
  --v2-gold: #b9a779;
  --v2-gold-alt: #c5a059;
  --v2-page: #fbfbfb;
  --v2-panel: #f3f3f3;
  --v2-muted: #9caaa9;
  --v2-rule: #92a2a1;
  --v2-ease: cubic-bezier(.2, .75, .25, 1);
}

.layout-wide .v2-page {
  font-family: 'Qomra', sans-serif;
  background: var(--v2-page);
  position: relative;
  width: 120rem;
  min-width: 120rem;
  color: var(--v2-emerald);
}
.layout-wide .v2-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url(/assets/v2/page-pattern.png);
  background-repeat: repeat;
  background-size: 40rem auto;
  opacity: 1;
}
.layout-wide .v2-main {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
}

.layout-wide .v2-footer { order: 99; }

.layout-wide .v2-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 10.5625rem;
  height: 3.75rem;
  padding: 0 1.625rem;
  border-radius: 0.625rem;
  font-weight: 700;
  font-size: 1.125rem;
  border: 0;
  cursor: pointer;
  transition: background-color .18s var(--v2-ease), color .18s var(--v2-ease), transform .16s var(--v2-ease);
}
.layout-wide .v2-btn:hover { transform: translateY(-0.125rem); }
.layout-wide .v2-btn-primary { background: var(--v2-emerald); color: #fff; }
.layout-wide .v2-btn-primary:hover { background: var(--v2-ink); color: #fff; }
.layout-wide .v2-btn-gold { background: var(--v2-gold); color: #fff; }
.layout-wide .v2-btn-gold:hover { background: #a89264; color: #fff; }
.layout-wide .v2-btn-outline {
  background: transparent;
  border: 1px solid var(--v2-emerald);
  color: var(--v2-emerald);
}
.layout-wide .v2-eyebrow {
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--v2-gold);
  margin-bottom: 0.5rem;
}
.layout-wide .v2-eyebrow-line {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
  color: var(--v2-gold-alt);
  margin-bottom: 0;
}
.layout-wide .v2-eyebrow-line::before {
  content: "";
  width: 2rem;
  height: 2px;
  background: #0b1b3d;
}
.layout-wide .v2-eyebrow-on-dark { color: var(--v2-gold); }
.layout-wide .v2-section-title {
  margin: 0;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.25;
  color: var(--v2-emerald);
  width: 100%;
}
.layout-wide .v2-section-body {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--v2-emerald);
  font-weight: 400;
}

.layout-wide .v2-hero {
  position: relative;
  height: min(50rem, calc(100svh - 10.5rem));
  overflow: hidden;
  /* Fixed site-header sits over the hero; reserve header height so kicker/title
     stay below the nav (top padding on the header was tightened). */
  padding-top: 9.75rem;
  box-sizing: border-box;
}
.layout-wide .v2-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

/* Multi-slide hero: stacked layers cross-fade. Shared by wide + compact. */
.v2-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.v2-hero-media > [data-hero-slide] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.25s ease;
  pointer-events: none;
  z-index: 0;
}
.v2-hero-media > [data-hero-slide].is-active {
  opacity: 1;
  z-index: 1;
}
.v2-hero-veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(5, 66, 57, 0.65);
  backdrop-filter: blur(2.5px);
  -webkit-backdrop-filter: blur(2.5px);
  pointer-events: none;
}
.layout-wide .v2-header {
  position: relative;
  z-index: 3;
  direction: ltr;
  max-width: 120rem;
  margin: 0 auto;
  padding: 3.125rem 7.5rem 0;
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}
.layout-wide .v2-brand { flex: 0 0 auto; }
.layout-wide .v2-crest {
  width: 12.28rem;
  height: 7.45rem;
  object-fit: contain;
  display: block;
}
.layout-wide .v2-nav {
  direction: rtl;
  display: flex;
  gap: 3.3125rem;
  margin: 3.5rem auto 0;
  align-items: baseline;
}
.layout-wide .v2-nav-link {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  transition: color .18s ease;
}
.layout-wide .v2-nav-link.is-active { font-weight: 700; font-size: 1.375rem; }
.layout-wide .v2-nav-link:hover { color: var(--v2-gold); }
.layout-wide .v2-ministry {
  direction: ltr;
  display: flex;
  align-items: center;
  gap: 0;
  flex: 0 0 auto;
  margin-top: 1.4rem;
}
.layout-wide .v2-ministry-text {
  direction: rtl;
  width: 9.75rem;
  text-align: center;
  color: #fff;
  line-height: 1.5;
}
.layout-wide .v2-ministry-text span:first-child {
  display: block;
  font-weight: 700;
  font-size: 1.125rem;
}
.layout-wide .v2-ministry-text span:last-child {
  display: block;
  font-weight: 700;
  font-size: 1rem;
  color: var(--v2-gold);
  margin-top: 0.5rem;
}
.layout-wide .v2-ministry-icon {
  width: 7.23rem;
  height: 5.5rem;
  object-fit: contain;
}
.layout-wide .v2-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 65.9375rem;
  margin: 5.875rem auto 0;
  text-align: center;
  animation: sussRise .8s var(--v2-ease) .1s both;
}
.layout-wide .v2-hero-kicker {
  margin: 0 0 1.25rem;
  font-size: 1.25rem;
  line-height: 1.9;
  color: #fff;
  font-weight: 400;
}
.layout-wide .v2-hero-title {
  margin: 0;
  font-weight: 700;
  font-size: clamp(3.25rem, 4.6vw, 6rem);
  line-height: 1.27;
  color: #fff;
  white-space: nowrap;
}
.layout-wide .v2-search-wrap {
  position: relative;
  z-index: 2;
  max-width: 55.9375rem;
  margin: 1.875rem auto 0;
  animation: sussRise .8s var(--v2-ease) .24s both;
}
.layout-wide .v2-search {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  height: 3.9375rem;
  background: #fff;
  border-radius: 0.625rem;
  padding: 0 1.25rem;
  box-shadow: 0 8px 28px -16px rgba(0, 0, 0, .35);
}
.layout-wide .v2-search-input {
  flex: 1;
  align-self: stretch;
  border: 0;
  background: transparent;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--v2-ink);
  outline: none;
}
.layout-wide .v2-hero-ctas {
  position: relative;
  z-index: 5;
  display: flex;
  gap: 0.9375rem;
  justify-content: center;
  margin-top: 1.75rem;
  padding-bottom: 0.75rem;
  animation: sussRise .8s var(--v2-ease) .36s both;
}

.layout-wide .v2-highlight {
  position: relative;
  z-index: 4;
  width: 100%;
  max-width: 120rem;
  margin: -3.25rem auto 0;
  padding: 0 7.5rem;
}
@media (max-height: 900px) {
  .layout-wide .v2-hero { height: min(46rem, calc(100svh - 9.5rem)); }
  .layout-wide .v2-hero-copy { margin-top: 2.75rem; }
  .layout-wide .v2-hero-title { font-size: clamp(2.85rem, 4vw, 4.75rem); }
  .layout-wide .v2-hero-ctas { margin-top: 1.35rem; padding-bottom: 0.5rem; }
  .layout-wide .v2-highlight { margin-top: -2.75rem; }
}
@media (max-height: 780px) {
  .layout-wide .v2-hero { height: min(42rem, calc(100svh - 8.5rem)); }
  .layout-wide .v2-hero-copy { margin-top: 1.75rem; }
  .layout-wide .v2-hero-kicker { margin-bottom: 0.75rem; font-size: 1.125rem; }
  .layout-wide .v2-hero-title { font-size: clamp(2.4rem, 3.5vw, 3.75rem); }
  .layout-wide .v2-search-wrap { margin-top: 1.25rem; }
  .layout-wide .v2-hero-ctas { margin-top: 1rem; padding-bottom: 0.35rem; }
  .layout-wide .v2-highlight { margin-top: -2.25rem; }
}
.layout-wide .v2-highlight-card {
  direction: ltr;
  display: grid;
  grid-template-columns: minmax(30rem, 38%) 1fr;
  height: auto;
  min-height: 14.875rem;
  border-radius: 0.375rem;
  overflow: hidden;
  background: var(--v2-panel);
  box-shadow: 0 18px 44px -26px rgba(5, 66, 57, .4);
  align-items: stretch;
}
.layout-wide .v2-hl-announcement {
  direction: rtl;
  background: var(--v2-shadow);
  padding: 2.15rem 2.35rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.layout-wide .v2-hl-date {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  font-size: 1rem;
  color: #fff;
}
.layout-wide .v2-hl-date img { flex: 0 0 auto; filter: brightness(0) invert(1); }
.layout-wide .v2-hl-title {
  font-weight: 500;
  font-size: 1.35rem;
  line-height: 1.4;
  margin-bottom: 0.65rem;
}
.layout-wide .v2-hl-body {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #c9d6d1;
  font-weight: 400;
}
.layout-wide .v2-stats {
  direction: rtl;
  display: grid;
  gap: 0;
  background: var(--v2-panel);
}
.layout-wide .v2-stat {
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  text-align: center;
  border-inline-start: 1px solid #e8ebe9;
}
.layout-wide .v2-stat-value {
  font-weight: 700;
  font-size: 3.5rem;
  color: var(--v2-emerald);
  line-height: 1;
}
.layout-wide .v2-stat-rule {
  display: block;
  width: 8.25rem;
  height: 0.375rem;
  margin: 0.875rem 0;
  background: var(--v2-gold);
  border-radius: 1px;
}
.layout-wide .v2-stat-label {
  font-weight: 500;
  font-size: 1.125rem;
  color: var(--v2-emerald);
  line-height: 1.4;
}

/* About — Figma proportions scaled ~80% so the band isn’t oversized. */
.layout-wide .v2-about {
  width: 100%;
  max-width: 120rem;
  height: 41rem; /* photo 820×0.8 */
  margin: 5rem auto 3rem;
  padding: 0;
  background: transparent;
  position: relative;
  z-index: 2;
  overflow: visible;
  scroll-margin-top: 2.5rem;
}
.layout-wide .v2-about::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 1.5rem; /* overhang ×0.8 */
  height: 38rem; /* green 760×0.8 */
  background-color: #002623;
  background-image: none;
  background-repeat: no-repeat;
  background-position: right 6% center;
  background-size: 28rem auto;
  z-index: 0;
  pointer-events: none;
}
.layout-wide .v2-about-mark {
  display: none;
}
.layout-wide .v2-about-inner {
  position: relative;
  z-index: 1;
  direction: ltr;
  height: 100%;
  padding: 0 7.5rem;
  display: grid;
  grid-template-columns: 32.2rem minmax(0, 1fr);
  gap: 4rem;
  align-items: start;
  box-sizing: border-box;
}
.layout-wide .v2-about-media {
  position: relative;
  z-index: 2;
  width: 32.2rem; /* 644×0.8 */
  height: 41rem; /* 820×0.8 */
  margin: 0;
  overflow: visible;
  background: transparent;
  flex-shrink: 0;
  border: 0;
  box-shadow: none;
}
.layout-wide .v2-about-media::after {
  content: "";
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 100%;
  height: 100%;
  border: 0.375rem solid #c9ba9a;
  border-radius: 10.45rem 0 0 0; /* 209×0.8 */
  box-sizing: border-box;
  z-index: 0;
  pointer-events: none;
}
.layout-wide .v2-about-media > [data-about-slide] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.1s ease;
  z-index: 1;
  border-radius: 10.45rem 0 0 0;
  background: #001714;
}
.layout-wide .v2-about-media > [data-about-slide].is-active {
  opacity: 1;
  z-index: 2;
}

/* Decree — Figma 369:1342: 1680×756, 50/50 photo | dark panel + gold mark. */
.layout-wide .v2-decree-sec {
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
  padding: 2rem 7.5rem 2.75rem;
  background: transparent;
  position: relative;
  z-index: 2;
  scroll-margin-top: 2.5rem;
  box-sizing: border-box;
}
.layout-wide .v2-decree-sec-inner {
  direction: ltr;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  width: 100%;
  aspect-ratio: 1680 / 756;
  height: auto;
  box-sizing: border-box;
  border: none;
  border-radius: 0.6875rem; /* 11px */
  overflow: hidden;
  background: #002623;
  box-shadow: 5px 5px 14.1px rgba(0, 0, 0, 0.25);
}
.layout-wide .v2-decree-sec-media {
  position: relative;
  width: 100%;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  background: #001714;
  border-radius: 0.6875rem 0 0 0.6875rem;
}
.layout-wide .v2-decree-sec-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Match Figma crop (shifted to show desk + signing). */
  object-position: 62% 42%;
  display: block;
}
.layout-wide .v2-decree-sec-copy {
  direction: rtl;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 3.75rem 4.5rem 3.75rem 3.6rem;
  color: #fff;
  box-sizing: border-box;
  overflow: hidden;
  background: #002623;
  height: 100%;
  min-height: 0;
}
.layout-wide .v2-decree-sec-mark {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: min(78%, 39.5rem); /* ~632px of 840 half */
  height: auto;
  opacity: 1; /* gold SVG already carries fill-opacity */
  pointer-events: none;
  z-index: 0;
}
.layout-wide .v2-decree-sec-title {
  position: relative;
  z-index: 1;
  margin: 0 0 1.2rem;
  font-weight: 700;
  font-size: 2.5rem; /* 40px */
  line-height: 1.25;
  color: #fff;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.layout-wide .v2-decree-sec-rule {
  display: inline-block;
  width: 0.375rem; /* 6px */
  height: 3.25rem; /* 52px */
  background: var(--v2-gold);
  flex: 0 0 auto;
  border-radius: 0.3125rem;
}
.layout-wide .v2-decree-sec-colon {
  color: var(--v2-gold);
  font-weight: 700;
}
.layout-wide .v2-decree-sec-body {
  position: relative;
  z-index: 1;
  margin: 0 0 1.25rem;
  font-size: 1.5rem; /* 24px */
  line-height: 2.083; /* ~50px */
  color: #fff;
  font-weight: 400;
  width: 100%;
  max-width: 43.75rem;
}
.layout-wide .v2-decree-sec-rows {
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6875rem; /* 11px */
  width: 100%;
  max-width: 37.25rem; /* 596px */
}
.layout-wide .v2-decree-sec-rows li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.5rem 1.5rem;
  align-items: center;
  font-size: 1.5rem; /* 24px */
  line-height: 1.8;
}
.layout-wide .v2-decree-sec-rows .v2-diamond {
  color: var(--v2-gold);
  font-size: 1.25rem;
  line-height: 1;
}
.layout-wide .v2-decree-sec-k {
  font-weight: 500;
  color: var(--v2-gold);
  text-align: start;
}
.layout-wide .v2-decree-sec-v {
  font-weight: 700;
  color: #fff;
  text-align: end;
}
.layout-wide .v2-decree-sec-note {
  position: relative;
  z-index: 1;
  margin: 0.625rem 0 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.72);
  font-weight: 600;
}
.layout-wide .v2-decree-sec-dl {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-width: 12.1875rem; /* 195px */
  height: 3.75rem; /* 60px */
  padding: 0.625rem;
  background: var(--v2-gold);
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem; /* 20px */
  border-radius: 0.625rem; /* 10px */
  text-decoration: none;
  align-self: flex-start;
  margin-top: auto;
  transition: background-color .18s ease, transform .16s ease;
}
.layout-wide .v2-decree-sec-dl:hover {
  background: #a89264;
  color: #fff;
  transform: translateY(-0.1rem);
}
.layout-wide .v2-decree-sec-dl img,
.layout-wide .v2-decree-sec-dl svg {
  flex: 0 0 auto;
  width: 1.625rem;
  height: 1.625rem;
  display: block;
}

.layout-compact .v2-decree-sec {
  padding: 1.5rem 1.25rem 2rem;
}
.layout-compact .v2-decree-sec-inner {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: none;
  border-radius: 0.6875rem;
  overflow: hidden;
  background: #002623;
  box-shadow: 5px 5px 14.1px rgba(0, 0, 0, 0.25);
}
.layout-compact .v2-decree-sec-media {
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #001714;
}
.layout-compact .v2-decree-sec-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 42%;
}
.layout-compact .v2-decree-sec-copy {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: start;
  padding: 1.25rem 1.25rem 1.375rem;
  background: #002623;
  color: #fff;
  overflow: hidden;
}
.layout-compact .v2-decree-sec-mark {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: min(90%, 18rem);
  height: auto;
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}
.layout-compact .v2-decree-sec-title {
  position: relative;
  z-index: 1;
  margin: 0 0 0.75rem;
  font-weight: 700;
  font-size: 1.375rem;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.layout-compact .v2-decree-sec-rule {
  display: inline-block;
  width: 0.25rem;
  height: 1.5rem;
  background: var(--v2-gold);
  flex: 0 0 auto;
  border-radius: 0.25rem;
}
.layout-compact .v2-decree-sec-colon { color: var(--v2-gold); font-weight: 700; }
.layout-compact .v2-decree-sec-body {
  position: relative;
  z-index: 1;
  margin: 0 0 0.875rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #fff;
  font-weight: 400;
}
.layout-compact .v2-decree-sec-rows {
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.layout-compact .v2-decree-sec-rows li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.5rem 0.625rem;
  font-size: 0.875rem;
  line-height: 1.45;
}
.layout-compact .v2-decree-sec-rows .v2-diamond { color: var(--v2-gold); }
.layout-compact .v2-decree-sec-k { font-weight: 500; color: var(--v2-gold); }
.layout-compact .v2-decree-sec-v { font-weight: 700; color: #fff; text-align: end; }
.layout-compact .v2-decree-sec-dl {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  align-self: flex-start;
  margin-top: 1rem;
  min-height: 2.75rem;
  padding: 0.625rem 1.125rem;
  background: var(--v2-gold);
  color: #fff;
  font-weight: 700;
  border-radius: 0.625rem;
  text-decoration: none;
}
.layout-compact .v2-decree-sec-dl img {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
}

.layout-wide .v2-about-copy {
  direction: rtl;
  padding: 4.5rem 0 2rem;
  text-align: start;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
  color: #fff;
  min-height: 0;
}
.layout-wide .v2-about-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--v2-gold);
  color: #fff;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.4;
  padding: 0.25rem 1.125rem;
  border-radius: 0.75rem;
  margin-bottom: 1.75rem;
}
.layout-wide .v2-about-title {
  margin: 0 0 1rem;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1.45;
  color: #fff;
  text-align: start;
  width: 100%;
}
.layout-wide .v2-about-body {
  margin: 0 0 1.5rem;
  font-size: 1.25rem;
  line-height: 1.9;
  color: #fff;
  font-weight: 400;
  width: 100%;
}
.layout-wide .v2-about-bullets {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  width: 100%;
}
.layout-wide .v2-about-bullets li {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.75rem;
  font-size: 1.25rem;
  line-height: 1.55;
  color: #fff;
}
.layout-wide .v2-diamond { color: var(--v2-gold); font-size: 1.25rem; line-height: 1.55; flex: 0 0 auto; }
.layout-wide .v2-about-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 9.5rem;
  height: 3.25rem;
  padding: 0 1.375rem;
  background: var(--v2-gold);
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  border-radius: 0.625rem;
  text-decoration: none;
  transition: background-color .18s ease, transform .16s ease;
  align-self: flex-start;
  margin-top: 0;
}
.layout-wide .v2-about-cta:hover {
  background: #a89264;
  color: #fff;
  transform: translateY(-0.125rem);
}

/* Compact about — stacked; keep frame + TL radius, lighter overhang. */
.layout-compact .v2-about {
  background: transparent;
  color: #fff;
  padding: 1.25rem 0 2rem;
  position: relative;
  overflow: visible;
  margin: 3.5rem 0 2rem;
}
.layout-compact .v2-about::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  bottom: 1.25rem;
  left: 0;
  right: 0;
  background-color: #002623;
  background-image: none;
  background-repeat: no-repeat;
  background-position: center 70%;
  background-size: 16rem auto;
  z-index: 0;
  pointer-events: none;
}
.layout-compact .v2-about-mark {
  display: none;
}
.layout-compact .v2-about-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  padding: 0 1.25rem;
}
.layout-compact .v2-about-media {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 0 0.75rem;
  aspect-ratio: 644 / 820;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.layout-compact .v2-about-media::after {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  width: 100%;
  height: 100%;
  border: 0.375rem solid #c9ba9a;
  border-radius: 6rem 0 0 0;
  box-sizing: border-box;
  z-index: 0;
  pointer-events: none;
}
.layout-compact .v2-about-media > [data-about-slide] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.1s ease;
  z-index: 1;
  border-radius: 6rem 0 0 0;
  background: #001714;
}
.layout-compact .v2-about-media > [data-about-slide].is-active {
  opacity: 1;
  z-index: 2;
}
.layout-compact .v2-about-copy {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: start;
}
.layout-compact .v2-about-badge {
  align-self: flex-start;
  display: inline-flex;
  background: var(--v2-gold);
  color: #fff;
  font-weight: 700;
  font-size: 0.9375rem;
  padding: 0.35rem 1rem;
  border-radius: 0.75rem;
  margin-bottom: 1rem;
}
.layout-compact .v2-about-title {
  margin: 0 0 0.875rem;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.45;
  color: #fff;
}
.layout-compact .v2-about-body {
  margin: 0 0 1.25rem;
  font-size: 1rem;
  line-height: 1.75;
  color: #fff;
}
.layout-compact .v2-about-bullets {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.layout-compact .v2-about-bullets li {
  display: flex;
  gap: 0.625rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: #fff;
}
.layout-compact .v2-about-bullets .v2-diamond { color: var(--v2-gold); }
.layout-compact .v2-about-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-height: 3rem;
  padding: 0.75rem 1.5rem;
  background: var(--v2-gold);
  color: #fff;
  font-weight: 700;
  border-radius: 0.625rem;
  text-decoration: none;
}
.layout-compact .v2-about-cta:hover {
  background: #a89264;
  color: #fff;
}

.layout-wide .v2-gallery {
  width: 100%;
  max-width: 120rem;
  margin: 4.6875rem auto 0;
  padding: 3.125rem 7.5rem 4.5rem;
  background: #fff;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  box-shadow: 5px 5px 14.1px rgba(0, 0, 0, .18);
}
.layout-wide .v2-gallery-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 2.5rem;
  text-align: start;
}
.layout-wide .v2-gallery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.1875rem;
  filter: drop-shadow(3px 8px 5.55px rgba(0, 0, 0, .25));
}
.layout-wide .v2-gallery-tall {
  position: relative;
  height: 31.875rem;
  border-radius: 0.3125rem;
  overflow: hidden;
  margin: 0;
}
.layout-wide .v2-gallery-tall img,
.layout-wide .v2-gallery-mid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.layout-wide .v2-gallery-tall::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(11, 27, 61, .15);
  pointer-events: none;
}
.layout-wide .v2-gallery-mid {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}
.layout-wide .v2-gallery-mid figure {
  margin: 0;
  height: 14.875rem;
  border-radius: 0.3125rem;
  overflow: hidden;
}

/* The programmes band is light in the redesign (Figma rect 373), so the pattern
 * and the crest that were drawn to sit on #002623 are turned down with it and
 * the headings flip to emerald. The band no longer has a drawn height either:
 * the accordion is one fixed-height row, not three rows of cards. */
.layout-wide .v2-colleges {
  background: #f6f7f5;
  margin-top: 1.5625rem;
  padding: 5.3125rem 0 4.75rem;
  position: relative;
  overflow: hidden;
  scroll-margin-top: 0;
  box-sizing: border-box;
}
.layout-wide .v2-colleges-pattern {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  opacity: .09;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 0;
}
/* Drawn white, to read against the dark band this section used to be. There is
 * no light-ground version of the crest lockup, so it is dropped rather than
 * shown as a pale smear over the cards. */
.layout-wide .v2-colleges-mark {
  display: none;
}
.layout-wide .v2-colleges-inner {
  position: relative;
  z-index: 1;
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 7.375rem;
}
.layout-wide .v2-colleges-head {
  text-align: center;
  margin-bottom: 3.125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.layout-wide .v2-colleges-head .v2-eyebrow {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 3.125rem;
  color: var(--v2-gold);
  margin-bottom: 0.9375rem;
}
.layout-wide .v2-colleges-title {
  margin: 0;
  font-weight: 700;
  font-size: 3rem;
  line-height: 4.6875rem;
  color: var(--v2-emerald);
}
.layout-wide .v2-colleges-body {
  margin: 0.75rem auto 0;
  max-width: 55.375rem;
  font-size: 1.125rem;
  line-height: 1.6;
  font-weight: 400;
  color: var(--v2-ink);
}

/* ── programme accordion ──────────────────────────────────────────────────
 * Six tall image cards in one row. Hovering one takes width from its siblings
 * rather than from the page, so the row's height and the section below it never
 * move — which is the whole reason this is `flex` on a fixed height and not a
 * grid of cards that grow.
 *
 * `min-width: 0` on the card is load-bearing: a flex item's default
 * `min-width: auto` is its content's intrinsic width, and the long Arabic
 * programme names would refuse to shrink, so no card could ever give up room.
 */
.layout-wide .v2-programs {
  display: flex;
  gap: 0.75rem;
  height: 36rem;
}
.layout-wide .v2-program-card {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
  overflow: hidden;
  border-radius: 0.6875rem;
  text-decoration: none;
  color: #fff;
  background: var(--v2-emerald);
  transition: flex-grow .45s var(--v2-ease);
}
.layout-wide .v2-program-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.layout-wide .v2-program-veil {
  position: absolute;
  inset: 0;
  background: rgba(5, 66, 57, .4);
  backdrop-filter: blur(2.5px);
}
.layout-wide .v2-program-copy {
  position: absolute;
  inset-inline: 1.25rem;
  bottom: 1.5rem;
  z-index: 1;
  text-align: start;
}
.layout-wide .v2-program-badge {
  display: inline-block;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.6;
  padding-bottom: 0.25rem;
  border-bottom: 2px solid var(--v2-gold);
  margin-bottom: 0.875rem;
}
.layout-wide .v2-program-card h3 {
  margin: 0;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.45;
  color: #fff;
}
.layout-wide .v2-program-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--v2-gold);
}
.layout-wide .v2-program-cta img {
  width: 0.875rem;
  height: 1.1875rem;
  /* The arrow points up in the file; the design has it pointing along the
   * reading direction, so it is turned rather than shipped twice. */
  transform: rotate(90deg);
}
html[dir="rtl"] .layout-wide .v2-program-cta img,
html[dir="rtl"] .layout-compact .v2-program-cta img {
  transform: rotate(-90deg);
}

/* Behind a hover query: a :hover on a touch screen sticks until the reader taps
 * something else, which would leave one card expanded and the rest squeezed. */
@media (hover: hover) and (pointer: fine) {
  .layout-wide .v2-program-card:hover,
  .layout-wide .v2-program-card:focus-visible {
    flex-grow: 2.4;
  }
}
.layout-wide .v2-program-card:focus-visible {
  outline: 2px solid var(--v2-gold);
  outline-offset: 3px;
}

.layout-wide .v2-news {
  max-width: 120rem;
  margin: 0 auto;
  padding: 4.6875rem 7.5rem 0;
}
.layout-wide .v2-news-head {
  text-align: start;
  margin-bottom: 2.5rem;
}
.layout-wide .v2-news-head .v2-eyebrow {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 3.125rem;
  color: var(--v2-gold);
  margin-bottom: 0;
}
.layout-wide .v2-news-head .v2-section-title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 4.6875rem;
  margin: 0;
}
.layout-wide .v2-news-standfirst {
  max-width: 105rem;
  margin: 1.25rem 0 0;
  margin-inline-end: auto;
  font-size: 1.5rem;
  line-height: 3.125rem;
  font-weight: 400;
  color: var(--v2-emerald);
}
.layout-wide .v2-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 33.4375rem);
  gap: 2.25rem;
  justify-content: start;
}
.layout-wide .v2-news-grid:has(> :only-child) {
  grid-template-columns: 33.4375rem;
}
.layout-wide .v2-news-card {
  width: 33.4375rem;
  height: 42.5rem;
  min-height: 42.5rem;
  background: #fff;
  border-radius: 0.8125rem;
  overflow: hidden;
  box-shadow: 0.5rem 0.5rem 1.11875rem rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  transition: none;
}
.layout-wide .v2-news-card:hover {
  transform: none;
  box-shadow: 0.5rem 0.5rem 1.11875rem rgba(0, 0, 0, 0.25);
}
.layout-wide .v2-news-media {
  position: relative;
  width: 100%;
  height: 18rem;
  min-height: 18rem;
  flex: 0 0 18rem;
  background: #eef1ef;
  overflow: visible;
}
.layout-wide .v2-news-media img {
  width: 100%;
  height: 18rem;
  object-fit: cover;
  display: block;
  border-radius: 0.8125rem 0.8125rem 0 0;
}
.layout-wide .v2-news-badge {
  position: absolute;
  top: 16.8125rem;
  inset-inline-end: 0;
  width: 10.375rem;
  min-width: 10.375rem;
  height: 3.125rem;
  padding: 0;
  background: var(--v2-emerald);
  color: #fff;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 0.8125rem 0.8125rem 0;
  z-index: 2;
}
.layout-wide .v2-news-body {
  padding: 2.8125rem 1.875rem 1.875rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
.layout-wide .v2-news-title {
  position: relative;
  margin: 0;
  padding-inline-start: 1.125rem;
  border-inline-start: 0;
  font-size: 1.625rem;
  line-height: 2.35rem;
  font-weight: 500;
  color: var(--v2-emerald);
  min-height: 4.7rem;
}
.layout-wide .v2-news-title::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  width: 0.4375rem;
  height: 4.85rem;
  background: var(--v2-gold);
  border-radius: 999px;
}
.layout-wide .v2-news-excerpt {
  margin: 0.9375rem 0 0;
  font-size: 1.5rem;
  line-height: 3.125rem;
  font-weight: 400;
  color: var(--v2-emerald);
  flex: 1;
}
.layout-wide .v2-news-cta {
  width: 15rem;
  height: 3.75rem;
  min-width: 15rem;
  margin-top: 1.875rem;
  margin-inline-start: 0;
  margin-inline-end: auto;
  align-self: flex-start;
  border-radius: 0.625rem;
  font-size: 1.125rem;
  font-weight: 700;
}

/* News carousel — one window of three cards; the rest stay off-screen. */
.layout-wide .v2-news-carousel-main {
  position: relative;
}
.layout-wide .v2-news-carousel-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 0.625rem;
  margin-bottom: 1.25rem;
}
.layout-wide .v2-news-carousel-btn {
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 999px;
  background: var(--v2-emerald);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color .18s ease, transform .16s ease;
}
.layout-wide .v2-news-carousel-btn:hover { background: #04352e; }
.layout-wide .v2-news-carousel-btn:active { transform: scale(0.96); }
.layout-wide .v2-news-carousel-btn:focus-visible {
  outline: 2px solid var(--v2-gold);
  outline-offset: 3px;
}
.layout-wide .v2-news-carousel-main .v2-news-carousel-viewport {
  /* Padding keeps the card drop-shadow inside the clip; without it the
     overflow:hidden that hides off-screen slides also shaves the designed
     shadow off the bottom and trailing edge of every visible card. */
  overflow: hidden;
  width: 100%;
  max-width: calc(3 * 33.4375rem + 2 * 2.25rem);
  padding: 0.5rem 1.25rem 1.35rem 0.5rem;
  margin-inline: -0.5rem -1.25rem;
  box-sizing: content-box;
}
.layout-wide .v2-news-carousel-main:not(.is-static) .v2-news-carousel-track {
  display: flex;
  gap: 2.25rem;
  width: max-content;
  max-width: none;
  min-width: 0;
  will-change: transform;
  transition: transform .45s cubic-bezier(.2, .75, .25, 1);
}
.layout-wide .v2-news-carousel-main:not(.is-static) .v2-news-carousel-slide {
  flex: 0 0 33.4375rem;
  width: 33.4375rem;
}
.layout-wide .v2-news-carousel-main.is-static .v2-news-carousel-viewport {
  overflow: visible;
  max-width: none;
  padding: 0;
  margin-inline: 0;
}
.layout-wide .v2-news-carousel-main.is-static .v2-news-carousel-track.v2-news-grid {
  width: auto;
  max-width: none;
  transition: none;
  transform: none !important;
}
.layout-wide .v2-news-carousel-dots {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  margin-bottom: 0.5rem;
}
.layout-wide .v2-news-carousel-dot {
  width: 0.625rem;
  height: 0.625rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #c9d4cf;
  cursor: pointer;
  transition: width .2s ease, background-color .2s ease;
}
.layout-wide .v2-news-carousel-dot[aria-selected="true"] {
  width: 1.75rem;
  background: var(--v2-gold);
}
.layout-wide .v2-news-carousel-dot:focus-visible {
  outline: 2px solid var(--v2-emerald);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .layout-wide .v2-news-carousel-main:not(.is-static) .v2-news-carousel-track {
    transition: none;
  }
  .layout-wide .v2-news-carousel-btn { transition: none; }
}

/* Compact: one card at a time */
.v2-news-carousel-c { margin-top: 0.25rem; }
.v2-news-carousel-c .v2-news-carousel-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-bottom: 0.875rem;
}
.v2-news-carousel-c .v2-news-carousel-btn {
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  border-radius: 999px;
  background: #054239;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.v2-news-carousel-c .v2-news-carousel-viewport {
  overflow: hidden;
  width: 100%;
  padding: 0.35rem 0.75rem 1rem 0.35rem;
  margin-inline: -0.35rem -0.75rem;
  box-sizing: content-box;
}
.v2-news-carousel-c:not(.is-static) .v2-news-carousel-track {
  display: flex;
  gap: 1rem;
  width: max-content;
  will-change: transform;
  transition: transform .4s cubic-bezier(.2, .75, .25, 1);
}
.v2-news-carousel-c:not(.is-static) .v2-news-carousel-slide {
  flex: 0 0 auto;
  width: min(100%, 22rem);
  box-sizing: border-box;
}
.v2-news-carousel-c.is-static .v2-news-carousel-viewport {
  overflow: visible;
  padding: 0;
  margin-inline: 0;
}
.v2-news-carousel-c.is-static .v2-news-carousel-track {
  width: auto;
  transform: none !important;
  transition: none;
}
.v2-news-carousel-c .v2-news-carousel-dots {
  display: flex;
  justify-content: center;
  gap: 0.375rem;
}
.v2-news-carousel-c .v2-news-carousel-dot {
  width: 0.5rem;
  height: 0.5rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #c9d4cf;
  cursor: pointer;
}
.v2-news-carousel-c .v2-news-carousel-dot[aria-selected="true"] {
  width: 1.25rem;
  background: #b9a779;
}

@media (prefers-reduced-motion: reduce) {
  .v2-news-carousel-c:not(.is-static) .v2-news-carousel-track { transition: none; }
}

.layout-wide .v2-identity-intro {
  background: var(--v2-shadow);
  margin-top: 4.6875rem;
  position: relative;
  overflow: hidden;
}
.layout-wide .v2-identity-intro-inner {
  direction: ltr;
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 7.5rem;
  display: flex;
  align-items: center;
  gap: 1.625rem;
  min-height: 23.25rem;
}
.layout-wide .v2-identity-crest {
  width: 13.8125rem;
  height: 23.25rem;
  object-fit: contain;
  flex: 0 0 auto;
  filter: drop-shadow(0 0.875rem 2rem rgba(0, 0, 0, .45));
}
.layout-wide .v2-identity-intro-copy {
  direction: rtl;
  color: #fff;
  flex: 1;
}
.layout-wide .v2-identity-title {
  margin: 0 0 1.25rem;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.55;
  color: #fff;
}
.layout-wide .v2-identity-intro-copy p {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.6;
  color: #fff;
}
.layout-wide .v2-identity-symbols {
  background: #fff;
  position: relative;
  box-shadow: 0 5px 14px rgba(0, 0, 0, .06);
}
.layout-wide .v2-identity-symbols-inner {
  max-width: 120rem;
  margin: 0 auto;
  padding: 4rem 7.5rem 4.375rem;
  display: flex;
  flex-direction: column;
}
.layout-wide .v2-sym-divider {
  width: 105rem;
  max-width: 100%;
  height: 0.125rem;
  background: var(--v2-gold);
  margin: 2.5rem 0;
}
.layout-wide .v2-sym-row {
  direction: ltr;
  display: flex;
  align-items: center;
  gap: 2rem;
  min-height: 14.1875rem;
}
.layout-wide .v2-sym-copy {
  direction: rtl;
  flex: 1;
}
.layout-wide .v2-sym-copy h3 {
  margin: 0 0 0.75rem;
  font-size: 2rem;
  color: var(--v2-emerald);
}
.layout-wide .v2-sym-copy p {
  margin: 0 0 1.25rem;
  font-size: 1.25rem;
  line-height: 1.7;
  color: var(--v2-emerald);
}
.layout-wide .v2-sym-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-start;
}
.layout-wide .v2-sym-chips span {
  background: var(--v2-shadow);
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  padding: 0.875rem 1.625rem;
  border-radius: 1.6875rem;
}
.layout-wide .v2-sym-art {
  width: 20.4375rem;
  height: 14.1875rem;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.layout-wide .v2-sym-art img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.layout-wide .v2-contact {
  position: relative;
  margin-top: 0;
  padding: 4.25rem 0;
  min-height: 63.125rem;
  overflow: hidden;
}
.layout-wide .v2-contact-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.layout-wide .v2-contact-veil {
  display: none;
}
.layout-wide .v2-contact-inner {
  direction: ltr;
  position: relative;
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 7.5rem;
  display: grid;
  grid-template-columns: 48.9375rem 1fr;
  gap: 3.625rem;
  align-items: center;
}
.layout-wide .v2-contact-form-card {
  direction: rtl;
  width: 48.9375rem;
  background: #fff;
  border-radius: 0.8125rem;
  overflow: hidden;
  position: relative;
  box-shadow: 0.375rem 0.4375rem 1.875rem rgba(0, 0, 0, 0.25);
}
.layout-wide .v2-contact-form-head {
  position: relative;
  z-index: 2;
  height: 7.0625rem;
  background: var(--v2-shadow);
  display: flex;
  align-items: center;
  padding: 0 2.4375rem;
}
.layout-wide .v2-contact-form-head h3 {
  margin: 0;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.2;
  color: #fff;
  width: 100%;
  text-align: start;
}
.layout-wide .v2-contact-mark {
  position: absolute;
  left: 0;
  right: 0;
  top: 7.0625rem;
  bottom: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  opacity: 0.07;
  pointer-events: none;
  object-fit: cover;
  object-position: center top;
  z-index: 0;
}
.layout-wide .v2-contact-form-body {
  position: relative;
  z-index: 1;
  padding: 1.5625rem 2.4375rem;
}
.layout-wide .v2-fields-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.625rem;
  margin-bottom: 1.25rem;
}
.layout-wide .v2-label {
  display: block;
  margin-bottom: 0.5625rem;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.2;
  color: var(--v2-emerald);
}
.layout-wide .v2-input,
.layout-wide .v2-textarea {
  width: 100%;
  height: 4.125rem;
  background: #fff;
  border: 0;
  box-shadow: 0.0625rem 0.125rem 0.25625rem rgba(0, 0, 0, 0.25);
  border-radius: 0.25rem;
  padding: 0 1.9375rem;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--v2-emerald);
  margin-bottom: 1.25rem;
  transition: box-shadow .18s ease;
}
.layout-wide .v2-input::placeholder,
.layout-wide .v2-textarea::placeholder {
  color: rgba(5, 66, 57, 0.26);
  opacity: 1;
}
.layout-wide .v2-textarea {
  height: auto;
  min-height: 10.0625rem;
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
  resize: vertical;
  line-height: 1.6;
  margin-bottom: 1.25rem;
}
.layout-wide .v2-form-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.875rem;
  margin-top: 1.25rem;
}
.layout-wide .v2-form-actions .v2-btn,
.layout-wide .v2-contact-submit {
  width: 10.5625rem;
  min-width: 10.5625rem;
  height: 3.75rem;
  margin-top: 0;
  border-radius: 0.625rem;
  font-size: 1.125rem;
  font-weight: 700;
  align-self: flex-start;
}
.layout-wide .v2-turnstile-box {
  width: 18.875rem;
  min-width: 18.875rem;
  height: 4.75rem;
  min-height: 4.75rem;
  display: flex;
  align-items: center;
  background: #f9f9f9;
  border: 0;
  border-radius: 0.3125rem;
  padding: 0 0.625rem;
}
.layout-wide .v2-form-error {
  display: flex;
  align-items: center;
  gap: 0.5625rem;
  background: #fdeeee;
  border: 1px solid #e6bcbc;
  border-radius: 0.5rem;
  padding: 0.8125rem 1.0625rem;
  font-size: 1rem;
  color: #9c3535;
  margin-top: 1.125rem;
  font-weight: 500;
}
.layout-wide .v2-form-success {
  text-align: center;
  padding: 3rem 1rem;
}
.layout-wide .v2-success-icon {
  width: 4.875rem;
  height: 4.875rem;
  border-radius: 50%;
  background: var(--v2-emerald);
  color: #fff;
  font-size: 2.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.625rem;
}
.layout-wide .v2-contact-aside {
  direction: rtl;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5625rem;
}
.layout-wide .v2-contact-aside-crest {
  display: block;
  width: 28.5625rem;
  max-width: 100%;
  height: 16.875rem;
  object-fit: contain;
  margin: 0;
}
.layout-wide .v2-contact-aside h2 {
  margin: 0;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.55;
  color: #fff;
}
.layout-wide .v2-contact-aside p {
  margin: 0;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.6875rem;
  color: #fff;
  max-width: 52.4375rem;
}

.layout-wide .see4814f {
  position: absolute;
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.layout-wide .v2-location {
  width: 100%;
  max-width: 120rem;
  margin: 4.6875rem auto 0;
  padding: 6.25rem 7.5rem;
  background: #fff;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  box-shadow: 5px 5px 7px rgba(0, 0, 0, .25);
}
.layout-wide .v2-location-inner {
  display: grid;
  grid-template-columns: 51.25rem 1fr;
  gap: 2.5rem;
  align-items: center;
  direction: ltr;
}
.layout-wide .v2-location-map {
  height: 28.125rem;
  border-radius: 0.5rem;
  overflow: hidden;
  border: 1px solid #e1e6ee;
  box-shadow: 4px 4px 14.9px rgba(0, 0, 0, .25);
}
.layout-wide .v2-location-map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.layout-wide .v2-location-copy {
  direction: rtl;
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
  align-items: flex-start;
  text-align: start;
}
.layout-wide .v2-location-list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.layout-wide .v2-location-list li {
  display: flex;
  align-items: center;
  gap: 1rem;
  direction: rtl;
}
.layout-wide .v2-loc-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 1.25rem;
  background: #f0e9dc;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.layout-wide .v2-loc-icon img { width: 1.125rem; height: 1.125rem; }
.layout-wide .v2-loc-text { flex: 1; text-align: start; }
.layout-wide .v2-loc-label {
  margin: 0;
  font-size: 0.8125rem;
  color: rgba(5, 66, 57, .6);
}
.layout-wide .v2-loc-value {
  margin: 0.25rem 0 0;
  font-size: 1rem;
  color: var(--v2-emerald);
  font-weight: 500;
}

.layout-wide .v2-footer {
  background: #fff;
  position: relative;
  margin-top: 4.6875rem;
  padding-top: 3.625rem;
  padding-bottom: 0;
  box-shadow: 6px 7px 30px rgba(0, 0, 0, .25);

}
.layout-wide .v2-footer-panel {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: auto;
  min-height: 29.8125rem;
  margin: 0 6.25rem;
  padding: 5.4375rem 4.875rem 3.5rem;
  border: 0.3125rem solid var(--v2-gold);
  border-radius: 1.75rem;
  background: #fff;
  overflow: visible;
}
.layout-wide .v2-footer-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: url(/assets/v2/page-pattern.png);
  background-repeat: repeat;
  background-size: 40rem auto;
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}
.layout-wide .v2-footer-panel > * {
  position: relative;
  z-index: 1;
}

.layout-wide .v2-footer-social {
  position: absolute;
  top: -1.5rem;
  left: 3.625rem;
  z-index: 3;
  display: flex;
  gap: 1.3125rem;
  align-items: center;
  width: fit-content;
  padding: 0 1.25rem;
  background: #fff;
  box-shadow: 0 0.4375rem 0 0 #fff;
}
.layout-wide .v2-social {
  width: 3.375rem;
  height: 3.375rem;
  border-radius: 50%;
  background: var(--v2-emerald);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, .25);
  transition: background-color .18s ease;
}
.layout-wide .v2-social:hover { background: var(--v2-gold); }
.layout-wide .v2-footer-row {
  direction: ltr;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3rem;
}
.layout-wide .v2-footer-cols {

  direction: ltr;
  display: flex;
  gap: 9.375rem;
  align-items: flex-start;
  flex: 1 1 auto;
  justify-content: flex-start;
  padding-top: 0.25rem;
}
.layout-wide .v2-footer-col {
  direction: rtl;
  flex: 0 0 auto;
  text-align: start;
}
.layout-wide .v2-footer-col-title {
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 3.125rem;
  margin: 0;
  color: var(--v2-emerald);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: from-font;
}
.layout-wide .v2-footer-links {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.layout-wide .v2-footer-links a {
  color: var(--v2-emerald);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 3.125rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}
.layout-wide .v2-footer-links a:hover { color: var(--v2-gold); }
.layout-wide .v2-footer-logo {
  width: 23.8125rem;
  max-width: 38%;
  height: auto;
  aspect-ratio: 381 / 221;
  object-fit: contain;
  flex: 0 0 auto;
  align-self: center;
  margin-top: 1.5rem;
}

/* Arabic desktop footer — links sit beside the logo, not pushed to the far edge. */
html[lang="ar"] .layout-wide .v2-footer-row {
  justify-content: flex-end;
  gap: clamp(2rem, 3.5vw, 4rem);
}
html[lang="ar"] .layout-wide .v2-footer-cols {
  flex: 0 1 auto;
  justify-content: flex-end;
}

.layout-wide .v2-footer-bar {
  margin-top: 2.5rem;
  height: 6rem;
  background: var(--v2-shadow);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 1.1875rem;
  position: relative;
  z-index: 1;
}

/* Light band, matching the desktop redesign. The generated .ca4f5c26 that draws
 * this section is #002623 and is regenerated from the handoff, so the override
 * hangs off a hand class on the same element rather than being edited there. */
.layout-compact .v2-colleges-c {
  background: #f6f7f5;
}
.layout-compact .v2-colleges-title-c {
  color: var(--v2-emerald);
}
.layout-compact .v2-colleges-body-c {
  margin: 0.75rem 0 0;
  color: var(--v2-ink);
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400;
}

/* Compact programmes: the same card, scrolled sideways. No accordion — there is
 * no spare width to redistribute, and a card that grew would shift the rest of
 * the page down under the reader's finger. */
.layout-compact .v2-programs-c {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.75rem;
  /* Cancels the band's inline padding so the first and last card can reach the
   * edge of the viewport, the way a scrollable rail should read. */
  margin-inline: -3rem;
  padding-inline: 3rem;
}
.layout-compact .v2-program-card {
  position: relative;
  flex: 0 0 auto;
  width: min(17rem, 74vw);
  height: 24rem;
  border-radius: 0.6875rem;
  overflow: hidden;
  scroll-snap-align: start;
  text-decoration: none;
  color: #fff;
  background: var(--v2-emerald);
  transition: transform .2s var(--v2-ease);
}
.layout-compact .v2-program-card:active {
  transform: scale(.98);
}
.layout-compact .v2-program-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.layout-compact .v2-program-veil {
  position: absolute;
  inset: 0;
  background: rgba(5, 66, 57, .4);
  backdrop-filter: blur(2.5px);
}
.layout-compact .v2-program-copy {
  position: absolute;
  inset-inline: 1rem;
  bottom: 1.25rem;
  z-index: 1;
  text-align: start;
}
.layout-compact .v2-program-badge {
  display: inline-block;
  font-weight: 700;
  font-size: 0.8125rem;
  padding-bottom: 0.1875rem;
  border-bottom: 2px solid var(--v2-gold);
  margin-bottom: 0.625rem;
}
.layout-compact .v2-program-card h3 {
  margin: 0;
  font-weight: 700;
  font-size: 1.1875rem;
  line-height: 1.4;
  color: #fff;
}
.layout-compact .v2-program-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4375rem;
  margin-top: 0.75rem;
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--v2-gold);
}
.layout-compact .v2-program-cta img {
  width: 0.75rem;
  height: 1rem;
  transform: rotate(90deg);
}
/* The band's own inline padding drops to 1.25rem on a phone, and the bleed has
 * to match it or the rail starts off-screen. */
@media (max-width: 767px) {
  .layout-compact .v2-programs-c {
    margin-inline: -1.25rem;
    padding-inline: 1.25rem;
  }
}
.layout-compact .v2-gallery { padding: 2.5rem 1.5rem 3rem; background: #fff; }
.layout-compact .v2-gallery-head {
  display: flex; flex-direction: column; align-items: flex-start; gap: .75rem;
  margin-bottom: 1.5rem; text-align: start;
}
.layout-compact .v2-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  color: var(--v2-gold-alt); font-weight: 700; font-size: .8125rem;
}
.layout-compact .v2-eyebrow::before,
.layout-compact .v2-eyebrow-line::before {
  content: ""; width: 1.5rem; height: 2px; background: #0b1b3d;
}
.layout-compact .v2-gallery-title,
.layout-compact .v2-section-title,
.layout-compact .v2-location-title {
  margin: 0; color: var(--v2-emerald); font-weight: 700;
  font-size: 1.75rem; line-height: 1.35; width: 100%;
}
.layout-compact .v2-gallery-body,
.layout-compact .v2-section-body,
.layout-compact .v2-location-body {
  margin: 0; color: var(--v2-emerald); font-size: .9375rem; line-height: 1.6;
}
.layout-compact .v2-gallery-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: .75rem;
}
.layout-compact .v2-gallery-tall,
.layout-compact .v2-gallery-mid figure {
  margin: 0; border-radius: .5rem; overflow: hidden; aspect-ratio: 4/5;
}
.layout-compact .v2-gallery-mid { display: contents; }
.layout-compact .v2-gallery-tall img,
.layout-compact .v2-gallery-mid img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.layout-compact .v2-location { padding: 2.5rem 1.5rem 3rem; background: #fff; }
.layout-compact .v2-location-inner { display: flex; flex-direction: column; gap: 1.75rem; }
.layout-compact .v2-location-map {
  height: 14rem; border-radius: .5rem; overflow: hidden;
  border: 1px solid #e1e6ee; box-shadow: 0 8px 24px -12px rgba(0,0,0,.3);
}
.layout-compact .v2-location-map img { width: 100%; height: 100%; object-fit: cover; }
.layout-compact .v2-location-copy {
  display: flex; flex-direction: column; gap: 1.25rem;
  align-items: flex-start; text-align: start;
}
.layout-compact .v2-location-list {
  list-style: none; margin: 0; padding: 0; width: 100%;
  display: flex; flex-direction: column; gap: 1rem;
}
.layout-compact .v2-location-list li {
  display: flex; align-items: center; gap: .75rem; direction: rtl;
}
.layout-compact .v2-loc-icon {
  width: 2.25rem; height: 2.25rem; border-radius: 1.125rem;
  background: #f0e9dc; display: flex; align-items: center; justify-content: center;
  flex: 0 0 auto;
}
.layout-compact .v2-loc-icon img { width: 1rem; height: 1rem; }
.layout-compact .v2-loc-text { flex: 1; text-align: start; }
.layout-compact .v2-loc-label { margin: 0; font-size: .75rem; color: rgba(5,66,57,.6); }
.layout-compact .v2-loc-value {
  margin: .2rem 0 0; font-size: .9375rem; color: var(--v2-emerald); font-weight: 500;
}

html[lang="en"] .layout-wide .v2-nav, html[lang="tr"] .layout-wide .v2-nav,
html[lang="en"] .layout-wide .v2-ministry-text, html[lang="tr"] .layout-wide .v2-ministry-text,
html[lang="en"] .layout-wide .v2-hl-announcement, html[lang="tr"] .layout-wide .v2-hl-announcement,
html[lang="en"] .layout-wide .v2-stats, html[lang="tr"] .layout-wide .v2-stats,
html[lang="en"] .layout-wide .v2-about-copy, html[lang="tr"] .layout-wide .v2-about-copy,
html[lang="en"] .layout-wide .v2-decree-sec-copy, html[lang="tr"] .layout-wide .v2-decree-sec-copy,
html[lang="en"] .layout-wide .v2-college-card, html[lang="tr"] .layout-wide .v2-college-card,
html[lang="en"] .layout-wide .v2-identity-intro-copy, html[lang="tr"] .layout-wide .v2-identity-intro-copy,
html[lang="en"] .layout-wide .v2-sym-copy, html[lang="tr"] .layout-wide .v2-sym-copy,
html[lang="en"] .layout-wide .v2-contact-form-card, html[lang="tr"] .layout-wide .v2-contact-form-card,
html[lang="en"] .layout-wide .v2-contact-aside, html[lang="tr"] .layout-wide .v2-contact-aside,
html[lang="en"] .layout-wide .v2-location-copy, html[lang="tr"] .layout-wide .v2-location-copy,
html[lang="en"] .layout-wide .v2-location-list li, html[lang="tr"] .layout-wide .v2-location-list li,
html[lang="en"] .layout-wide .v2-footer-col, html[lang="tr"] .layout-wide .v2-footer-col,
html[lang="en"] .layout-compact .v2-location-list li , html[lang="tr"] .layout-compact .v2-location-list li {
  direction: ltr;
}

html[lang="en"] .layout-wide .v2-footer-cols , html[lang="tr"] .layout-wide .v2-footer-cols {
  direction: ltr !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
}
html[lang="en"] .layout-wide .v2-footer-cols > :nth-child(1) , html[lang="tr"] .layout-wide .v2-footer-cols > :nth-child(1) { order: 3; }
html[lang="en"] .layout-wide .v2-footer-cols > :nth-child(2) , html[lang="tr"] .layout-wide .v2-footer-cols > :nth-child(2) { order: 2; }
html[lang="en"] .layout-wide .v2-footer-cols > :nth-child(3) , html[lang="tr"] .layout-wide .v2-footer-cols > :nth-child(3) { order: 1; }
html[lang="en"] .layout-compact .d-footer-groups > :nth-child(1) , html[lang="tr"] .layout-compact .d-footer-groups > :nth-child(1) { order: 3; }
html[lang="en"] .layout-compact .d-footer-groups > :nth-child(2) , html[lang="tr"] .layout-compact .d-footer-groups > :nth-child(2) { order: 2; }
html[lang="en"] .layout-compact .d-footer-groups > :nth-child(3) , html[lang="tr"] .layout-compact .d-footer-groups > :nth-child(3) { order: 1; }
html[lang="en"] .layout-wide .v2-footer-row , html[lang="tr"] .layout-wide .v2-footer-row {
  justify-content: flex-start;
  gap: clamp(2rem, 4vw, 5rem);
}
html[lang="en"] .layout-wide .v2-footer-logo--ltr , html[lang="tr"] .layout-wide .v2-footer-logo--ltr {
  order: -1;
  width: min(20rem, 34%);
  max-width: none;
  aspect-ratio: 385 / 221;
  margin-top: 0;
  align-self: center;
}
html[lang="en"] .layout-compact .v2-footer-c-panel , html[lang="tr"] .layout-compact .v2-footer-c-panel {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 1.5rem;
  text-align: start;
}
html[lang="en"] .layout-compact .v2-footer-logo--ltr , html[lang="tr"] .layout-compact .v2-footer-logo--ltr {
  order: -1;
  width: min(12.5rem, 34vw);
  height: auto;
  margin: 0 !important;
  flex: 0 0 auto;
}
html[lang="en"] .layout-compact .d-footer-groups , html[lang="tr"] .layout-compact .d-footer-groups {
  direction: ltr;
  text-align: start;
  flex: 1 1 auto;
}
html[lang="en"] .layout-compact .d-footer-groups a , html[lang="tr"] .layout-compact .d-footer-groups a {
  justify-content: flex-start;
}
@media (max-width: 767px) {
  html[lang="en"] .layout-compact .v2-footer-c-panel , html[lang="tr"] .layout-compact .v2-footer-c-panel {
    flex-direction: column;
    align-items: flex-start;
  }
}
html[lang="en"] .layout-wide .v2-footer-col-title , html[lang="tr"] .layout-wide .v2-footer-col-title {
  font-size: 1.35rem;
  line-height: 1.4;
  white-space: nowrap;
}
html[lang="en"] .layout-compact .c7b23104 , html[lang="tr"] .layout-compact .c7b23104 {
  font-size: 0.78rem;
  white-space: nowrap;
}

html[lang="en"] .layout-wide .v2-college-en, html[lang="tr"] .layout-wide .v2-college-en,
html[lang="en"] .layout-compact .c6973c35 , html[lang="tr"] .layout-compact .c6973c35 {
  display: none;
}

html[lang="en"] .layout-wide .v2-college-card h3 , html[lang="tr"] .layout-wide .v2-college-card h3 {
  font-size: 1.5rem;
  line-height: 1.35;
}
html[lang="en"] .layout-compact .ce8ab04d , html[lang="tr"] .layout-compact .ce8ab04d {
  font-size: 1.2rem;
  line-height: 1.3;
}

html[lang="en"] .layout-wide .v2-hero-title , html[lang="tr"] .layout-wide .v2-hero-title {
  font-size: clamp(2.35rem, 3.6vw, 4rem);
  line-height: 1.2;
  white-space: nowrap;
}
html[lang="en"] .layout-compact .cdd7261f, html[lang="tr"] .layout-compact .cdd7261f,
html[lang="en"] .layout-compact .m94e394d , html[lang="tr"] .layout-compact .m94e394d {
  font-size: clamp(1.05rem, 5.2vw, 2.1rem);
  line-height: 1.2;
  white-space: normal;
  max-width: 100%;
}
@media (max-height: 900px) {
  html[lang="en"] .layout-wide .v2-hero-title , html[lang="tr"] .layout-wide .v2-hero-title {
    font-size: clamp(2.1rem, 3.2vw, 3.5rem);
  }
}
@media (max-height: 780px) {
  html[lang="en"] .layout-wide .v2-hero-title , html[lang="tr"] .layout-wide .v2-hero-title {
    font-size: clamp(1.9rem, 2.9vw, 3rem);
  }
}

html[lang="en"] .layout-wide .v2-highlight-card , html[lang="tr"] .layout-wide .v2-highlight-card {
  height: auto;
  min-height: 14.875rem;
  align-items: stretch;
  grid-template-columns: minmax(30rem, 42%) 1fr;
}
html[lang="en"] .layout-wide .v2-hl-announcement , html[lang="tr"] .layout-wide .v2-hl-announcement {
  padding: 2.15rem 2.35rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
html[lang="en"] .layout-wide .v2-hl-date , html[lang="tr"] .layout-wide .v2-hl-date {
  margin-bottom: 0.75rem;
  font-size: 0.9375rem;
}
html[lang="en"] .layout-wide .v2-hl-title , html[lang="tr"] .layout-wide .v2-hl-title {
  font-size: 1.25rem;
  line-height: 1.35;
  margin-bottom: 0.65rem;
}
html[lang="en"] .layout-wide .v2-hl-body , html[lang="tr"] .layout-wide .v2-hl-body {
  font-size: 1rem;
  line-height: 1.45;
}

html[lang="en"] .layout-wide .v2-decree-sec-rows li , html[lang="tr"] .layout-wide .v2-decree-sec-rows li {
  align-items: flex-start;
}
html[lang="en"] .layout-wide .v2-decree-sec-k , html[lang="tr"] .layout-wide .v2-decree-sec-k,
html[lang="en"] .layout-wide .v2-decree-sec-v , html[lang="tr"] .layout-wide .v2-decree-sec-v {
  font-size: 1.125rem;
  line-height: 1.35;
}

html[lang="ar"] .v2-input:not([dir="ltr"]),
html[lang="ar"] .v2-textarea:not([dir="ltr"]),
html[lang="ar"] .v2-search-input,
html[lang="ar"] .c3c221b1,
html[lang="ar"] .ca6fe02f,
html[lang="ar"] .ce864436 {
  direction: rtl;
  text-align: right;
}
html[lang="en"] .v2-input:not([dir="ltr"]), html[lang="tr"] .v2-input:not([dir="ltr"]),
html[lang="en"] .v2-textarea:not([dir="ltr"]), html[lang="tr"] .v2-textarea:not([dir="ltr"]),
html[lang="en"] .v2-search-input, html[lang="tr"] .v2-search-input,
html[lang="en"] .c3c221b1, html[lang="tr"] .c3c221b1,
html[lang="en"] .ca6fe02f, html[lang="tr"] .ca6fe02f,
html[lang="en"] .ce864436 , html[lang="tr"] .ce864436 {
  direction: ltr;
  text-align: left;
}

html.decree-open { overflow: hidden; }

.decree-viewer {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  box-sizing: border-box;
}
.decree-viewer[hidden] { display: none !important; }

.decree-viewer-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(0, 38, 35, 0.78);
  backdrop-filter: blur(4px);
  cursor: pointer;
}

.decree-viewer-panel {
  position: relative;
  z-index: 1;
  width: min(72rem, 100%);
  max-height: calc(100vh - 2.5rem);
  display: flex;
  flex-direction: column;
  background: #f7f4ee;
  border: 1px solid var(--v2-gold);
  border-radius: 1rem;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.45);
  overflow: hidden;
}

.decree-viewer-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1.25rem;
  background: var(--v2-shadow);
  color: #fff;
}

.decree-viewer-heading {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
.decree-viewer-heading p {
  margin: 0;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.3;
}
.decree-viewer-pages {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.75);
  font-weight: 500;
}

.decree-viewer-actions {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex: 0 0 auto;
}
.decree-viewer-download {
  display: inline-flex;
  align-items: center;
  height: 2.25rem;
  padding: 0 0.9rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(185, 167, 121, 0.7);
  color: #fff;
  font-weight: 700;
  font-size: 0.875rem;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.06);
}
.decree-viewer-download:hover {
  background: var(--v2-gold);
  border-color: var(--v2-gold);
  color: #fff;
}
.decree-viewer-close {
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.decree-viewer-close:hover { background: rgba(255, 255, 255, 0.2); }

.decree-viewer-body {
  position: relative;
  display: block;
  flex: 1;
  min-height: 0;
  background:
    radial-gradient(circle at 20% 0%, rgba(185, 167, 121, 0.12), transparent 40%),
    #efeae0;
  padding: 1rem 1rem 1rem;
}

.decree-viewer-stage {
  position: relative;
  min-height: min(70vh, 52rem);
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 10px 30px rgba(5, 66, 57, 0.18);
  overflow: hidden;
  transition: transform .22s var(--v2-ease), opacity .22s var(--v2-ease);
}
.decree-viewer-stage.is-flip {
  animation: decreeFlip .28s var(--v2-ease);
}
@keyframes decreeFlip {
  from { opacity: .55; transform: translateX(0.4rem) scale(0.992); }
  to   { opacity: 1; transform: none; }
}

.decree-viewer-frame {
  width: 100%;
  height: 100%;
  min-height: min(70vh, 52rem);
  border: 0;
  background: #fff;
}

@media (max-width: 767px) {
  .decree-viewer { padding: 0.5rem; }
  .decree-viewer-body {
    padding: 0.65rem;
  }
  .decree-viewer-stage,
  .decree-viewer-frame {
    min-height: min(68vh, 36rem);
  }
  .decree-viewer-bar {
    flex-wrap: wrap;
    gap: 0.65rem;
  }
  .decree-viewer-download {
    font-size: 0.75rem;
    height: 2rem;
    padding: 0 0.65rem;
  }
}
