@import url("css/fonts/site-fonts.css?v=20261108");
/* HOME PAGE STYLES — keep isolated from internal-page CSS */
:root {
  --navy: #062334;
  --navy2: #031823;
  --gold: #c98324;
  --cream: #f7f1e6;
  --paper: #fbf8f2;
  --ink: #0e3150;
  --muted: #68757e
;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: #f7f2e9;
  color: var(--ink);
  font-family: Tahoma,"Segoe UI",Arial,sans-serif;
  overflow-x: hidden;
}
a {
  text-decoration: none;
  color: inherit;
}
img {
  display: block;
  width: 100%;
}
button,input {
  font: inherit;
}
.loader {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: var(--navy2);
  display: grid;
  place-items: center;
  transition: .45s;
}
.loader img {
  width: 105px;
  height: 105px;
  object-fit: contain;
  animation: pulse 1.15s infinite alternate;
}
.loader.hide {
  opacity: 0;
  visibility: hidden;
}
@keyframes pulse {
  to {
    transform: scale(1.08);
    filter: drop-shadow(0 0 18px #b78839);
  }
}
.site-header {
  height: 58px;
  background: #06263a;
  color: #fff;
  border-bottom: 1px solid #c68a2f66;
  position: sticky;
  top: 0;
  z-index: 50;
}
.header-inner {
  height: 100%;
  max-width: 1440px;
  margin: auto;
  padding: 0 22px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.brand {
  margin-right: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 280px;
}
.brand img {
  width: 43px;
  height: 43px;
  object-fit: contain;
}
.brand span {
  display: flex;
  flex-direction: column;
}
.brand strong {
  font-size: 13px;
  line-height: 1.3;
}
.brand small {
  font-size: 6px;
  letter-spacing: .25px;
  margin-top: 3px;
  direction: ltr;
  text-align: right;
}
.main-nav {
  display: flex;
  align-items: center;
  gap: 25px;
  height: 100%;
  font-size: 11px;
}
.main-nav a {
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
  white-space: nowrap;
}
.main-nav a.active {
  color: #d69b42;
}
.main-nav a.active:after {
  content: "";
  position: absolute;
  right: 10%;
  left: 10%;
  bottom: 6px;
  height: 2px;
  background: #d69b42;
}
.search {
  background: none;
  border: 0;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}
.menu-btn {
  display: none;
  background: none;
  border: 0;
  width: 36px;
}
.menu-btn i {
  display: block;
  height: 2px;
  background: white;
  margin: 6px 0;
}
.hero {
  height: 352px;
  background: url('assets/hero.jpg') center 54%/cover no-repeat;
  position: relative;
  color: #fff;
  overflow: hidden;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(0,0,0,.87) 0 33%,rgba(0,0,0,.38) 55%,rgba(0,0,0,.06) 76%),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.1));
}
.hero-copy {
  position: relative;
  z-index: 2;
  width: 48%;
  padding: 46px 0 0 68px;
  text-align: left;
  direction: rtl;
}
.eyebrow {
  font-size: 13px;
  color: #e5a84d;
  margin: 0 0 8px;
}
.hero h1 {
  font-size: 48px;
  line-height: 1.28;
  margin: 0;
  color: #fff6df;
  font-weight: 800;
  letter-spacing: -1px;
}
.ornament {
  width: 150px;
  text-align: center;
  color: #c88a2f;
  position: relative;
  margin: 3px 0 7px;
}
.ornament:before,.ornament:after {
  content: "";
  position: absolute;
  top: 50%;
  height: 1px;
  width: 62px;
  background: linear-gradient(90deg,transparent,#c88a2f);
}
.ornament:before {
  right: 0;
}
.ornament:after {
  left: 0;
  transform: scaleX(-1);
}
.hero-text {
  font-size: 15px;
  line-height: 1.9;
  margin: 0 0 12px;
}
.hero-actions {
  display: flex;
  justify-content: flex-start;
  gap: 12px;
  direction: rtl;
}
.btn {
  height: 39px;
  border-radius: 4px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-size: 12px;
  font-weight: 700;
}
.gold {
  background: #f2ca86;
  color: #1b2f3c;
}
.outline {
  border: 1px solid #fff;
  background: #081a27a8;
  color: #fff;
}
.temple {
  font-size: 18px;
}
.location {
  position: absolute;
  z-index: 3;
  right: 24px;
  bottom: 11px;
  background: #0a3450dd;
  border-radius: 19px;
  padding: 8px 13px;
  font-size: 10px;
}
.location span {
  color: #d99634;
  margin-right: 7px;
}
.quick {
  background: #fbf8f2;
  padding: 15px 30px 12px;
}
.quick-grid {
  max-width: 1220px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(7,1fr);
  gap: 12px;
}
.quick-card {
  background: #fff;
  border: 1px solid #e3ddd3;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 3px 10px #12202a0a;
  transition: .22s;
}
.quick-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px #12202a16;
}
.quick-card>img {
  height: 95px;
  object-fit: cover;
}
.quick-card>div {
  height: 96px;
  padding: 8px 7px;
  text-align: center;
  position: relative;
}
.quick-card .ico {
  display: block;
  color: #bf741d;
  font-size: 19px;
  line-height: 1;
}
.quick-card h3 {
  font-size: 14px;
  margin: 4px 0 5px;
}
.quick-card p {
  font-size: 8px;
  color: #6d777d;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.quick-card span {
  display: block;
  color: #c0761e;
  font-size: 17px;
  margin-top: 2px;
}
.registered {
  height: 220px;
  display: grid;
  grid-template-columns: 44% 40% 16%;
  background: #f8f2e7;
  overflow: hidden;
}
.registered-image {
  background-image: url('assets/background/2.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #080707;
}
.registered-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 35px 18px 28px;
  text-align: right;
}
.registered-copy h2 {
  font-size: 32px;
  margin: 0 0 4px;
  color: #083f69;
}
.registered-copy h3 {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 8px;
}
.registered-copy p {
  font-size: 9px;
  line-height: 1.9;
  color: #54636c;
  margin: 0 0 8px;
}
.registered-btn {
  border: 1px solid #c37e23;
  color: #b56714;
  background: #fff8eb;
  align-self: flex-start;
  height: 34px;
  padding: 0 17px;
}
.registered-sketch {
  background: linear-gradient(90deg,#f8f2e7aa,#f8f2e7bb),url('assets/sabtmeli/2219.jpg') center/cover no-repeat;
  filter: sepia(1) saturate(.35) brightness(1.4);
  opacity: .65;
}
.feature-row {
  background: #062a40;
  padding: 11px 31px 12px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}
.feature-card {
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #90a0aa;
}
.feature-card img {
  height: 150px;
  object-fit: cover;
}
.feature-card div {
  height: 57px;
  position: relative;
  padding: 7px 55px 8px 10px;
  text-align: right;
}
.feature-card div span {
  position: absolute;
  right: 18px;
  top: 7px;
  color: #c4791e;
  font-size: 28px;
}
.feature-card h3 {
  margin: 0 0 3px;
  font-size: 16px;
}
.feature-card p {
  margin: 0;
  font-size: 9px;
  color: #63727b;
}
.gallery {
  background: radial-gradient(circle at 8% 18%,rgba(197,155,102,.10),transparent 24%),
    linear-gradient(180deg,#fbf7ef 0%,#f6efe4 100%);
  color: #0a2e45;
  padding: 38px 5vw 42px;
  border-top: 1px solid rgba(10,46,69,.08);
  border-bottom: 1px solid rgba(10,46,69,.08);
}
.gallery-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px,.72fr) minmax(0,1.55fr);
  gap: 34px;
  align-items: stretch;
}
.gallery-copy {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 390px;
  padding: 34px 38px;
  background: rgba(255,252,246,.78);
  border: 1px solid rgba(185,122,45,.24);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(6,35,52,.07);
  overflow: hidden;
}
.gallery-copy::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 82px;
  height: 3px;
  background: linear-gradient(90deg,#c98324,#e2be7a);
}
.gallery-copy::after {
  content: "";
  position: absolute;
  inset: auto -46px -58px auto;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(201,131,36,.11);
  border-radius: 50%;
}
.gallery-kicker {
  color: #b8731d;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
  margin-bottom: 13px;
}
.gallery-copy h2 {
  margin: 0;
  color: #082d45;
  font-size: 34px;
  line-height: 1.2;
  font-weight: 800;
}
.gallery-rule {
  width: 132px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 16px;
}
.gallery-rule span {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg,transparent,#c58c43);
}
.gallery-rule span:last-child {
  transform: scaleX(-1);
}
.gallery-rule i {
  width: 7px;
  height: 7px;
  border: 1px solid #b87b30;
  transform: rotate(45deg);
}
.gallery-copy p {
  max-width: 320px;
  margin: 0;
  color: #60717b;
  font-size: 11px;
  line-height: 2.05;
}
.gallery-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  direction: ltr;
}
.gallery-controls button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(6,35,52,.12);
  border-radius: 50%;
  background: #fffaf2;
  color: #082d45;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 7px 18px rgba(6,35,52,.08);
  transition: transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease;
}
.gallery-controls button:hover {
  transform: translateY(-2px);
  background: #082d45;
  color: #fff;
  border-color: #082d45;
}
.gallery-controls strong {
  min-width: 74px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 999px;
  background: #082d45;
  color: #f9f2e7;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  direction: rtl;
  box-shadow: 0 7px 18px rgba(6,35,52,.12);
}
.gallery-frame {
  position: relative;
  min-height: 390px;
  padding: 10px;
  border: 1px solid rgba(185,122,45,.28);
  border-radius: 18px;
  background: linear-gradient(145deg,#f3e5cd 0%,#fffaf1 42%,#e4cfaa 100%);
  box-shadow: 0 20px 50px rgba(6,35,52,.12);
  overflow: hidden;
}
.gallery-stage {
  width: 100%;
  height: 100%;
  min-height: 368px;
  border-radius: 11px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: filter .28s ease,transform .38s ease,opacity .22s ease;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}
.gallery-frame::after {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 11px;
  pointer-events: none;
  background: linear-gradient(180deg,rgba(3,24,35,.02),rgba(3,24,35,.12));
}
.gallery-frame-line {
  position: absolute;
  inset: 18px;
  z-index: 2;
  border: 1px solid rgba(255,250,242,.46);
  border-radius: 7px;
  pointer-events: none;
}
.news {
  background: #fbf7ef;
  padding: 12px 29px 14px;
}
.section-head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin-bottom: 8px;
}
.section-head h2 {
  grid-column: 2;
  font-size: 20px;
  margin: 0;
  text-align: center;
}
.section-head h2 span {
  font-size: 12px;
  color: #c47b20;
  margin: 0 24px;
}
.section-head>a {
  grid-column: 1;
  justify-self: start;
  color: #c27419;
  font-size: 9px;
  font-weight: 700;
}
.news-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
}
.news-grid article {
  background: #fff;
  border: 1px solid #ece4d8;
  border-radius: 4px;
  display: grid;
  grid-template-columns: 95px 1fr;
  gap: 10px;
  padding: 7px;
  align-items: center;
  min-height: 88px;
}
.news-grid img {
  height: 72px;
  object-fit: cover;
  border-radius: 2px;
}
.news-grid time {
  font-size: 8px;
  color: #c47b20;
}
.news-grid h3 {
  font-size: 11px;
  margin: 6px 0 3px;
}
.news-grid p {
  font-size: 8px;
  margin: 0;
  color: #62717a;
}
footer {
  background: #06283d;
  color: #fff;
}
.footer-top {
  min-height: 145px;
  max-width: 1280px;
  margin: auto;
  padding: 17px 30px;
  display: grid;
  grid-template-columns: .75fr .8fr .8fr 1.3fr 1.25fr;
  gap: 18px;
}
.footer-top>div {
  border-left: 1px solid #ffffff1c;
  padding-left: 18px;
}
.footer-top>div:first-child {
  border-left: 0;
}
.footer-quote {
  color: #d89a39;
  text-align: center;
  padding-top: 18px;
}
.footer-quote h4,.footer-quote p {
  margin: 0;
}
.footer-quote h4 {
  font-size: 13px;
}
.footer-quote p {
  font-size: 10px;
  line-height: 2;
}
.footer-quote span {
  font-size: 16px;
}
.footer-links h4,.newsletter h4 {
  font-size: 12px;
  margin: 0 0 8px;
}
.footer-links div {
  display: grid;
  gap: 5px;
}
.footer-links a {
  font-size: 9px;
}
.newsletter p {
  font-size: 7px;
  color: #c7d1d6;
  margin: 0 0 8px;
}
.newsletter form {
  display: flex;
  direction: ltr;
  height: 31px;
}
.newsletter input {
  flex: 1;
  min-width: 0;
  background: #ffffff05;
  border: 1px solid #ffffff55;
  color: #fff;
  padding: 0 9px;
  direction: rtl;
}
.newsletter button {
  width: 80px;
  border: 0;
  background: #e6b466;
  color: #173144;
  font-size: 9px;
  font-weight: 700;
}
.social {
  margin-top: 8px;
  letter-spacing: 11px;
  font-size: 15px;
  direction: ltr;
  text-align: center;
}
.brand-row {
  display: flex;
  gap: 9px;
  align-items: center;
}
.brand-row img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}
.brand-row>div {
  display: flex;
  flex-direction: column;
}
.brand-row strong {
  font-size: 10px;
}
.brand-row small {
  font-size: 5px;
  direction: ltr;
  text-align: right;
  margin-top: 3px;
}
.footer-brand>p {
  font-size: 9px;
  margin: 18px 55px 0 0;
}
.footer-brand>p span {
  color: #d89a39;
}
.footer-bottom {
  border-top: 1px solid #ffffff18;
  min-height: 70px;
  padding: 13px 33px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  font-size: 8px;
  color: #b9c6cd;
}
.bottom-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
}
.bottom-brand img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}
.bottom-brand strong {
  font-size: 9px;
}
.footer-bottom>p {
  text-align: center;
}
.footer-bottom>div:last-child {
  text-align: left;
  color: #d99a37;
}
.toast {
  position: fixed;
  left: 22px;
  bottom: 20px;
  background: #0a334c;
  color: white;
  border: 1px solid #d19a44;
  padding: 10px 16px;
  border-radius: 4px;
  opacity: 0;
  transform: translateY(15px);
  transition: .25s;
  z-index: 80;
  font-size: 11px;
}
.toast.show {
  opacity: 1;
  transform: none;
}
@media(max-width:1080px) {
  .main-nav {
    gap: 15px;
    font-size: 9px;
  }
  .brand {
    min-width: 240px;
  }
  .quick-grid {
    gap: 7px;
  }
  .quick-card h3 {
    font-size: 12px;
  }
  .quick-card p {
    font-size: 7px;
  }
  .hero-copy {
    padding-left: 42px;
  }
  .hero h1 {
    font-size: 41px;
  }
}
@media(max-width:850px) {
  .site-header {
    height: 62px;
  }
  .menu-btn {
    display: block;
    margin-right: auto;
  }
  .main-nav {
    position: absolute;
    top: 62px;
    right: 0;
    left: 0;
    background: #051a27;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 0;
    max-height: 0;
    overflow: hidden;
    transition: .3s;
  }
  .main-nav.open {
    max-height: 500px;
  }
  .main-nav a {
    height: 44px;
    padding: 0 20px;
    border-bottom: 1px solid #ffffff0e;
  }
  .main-nav a.active:after {
    display: none;
  }
  .search {
    height: 44px;
  }
  .brand {
    margin-right: 0;
    min-width: 0;
  }
  .hero {
    height: 470px;
    background-position: 60% center;
  }
  .hero-overlay {
    background: linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.88) 70%);
  }
  .hero-copy {
    width: 100%;
    padding: 190px 26px 0;
    text-align: right;
  }
  .hero h1 {
    font-size: 38px;
  }
  .ornament {
    margin-right: 0;
  }
  .hero-actions {
    justify-content: flex-start;
  }
  .quick-grid {
    grid-template-columns: repeat(2,1fr);
  }
  .quick-card:last-child {
    grid-column: span 2;
  }
  .registered {
    height: auto;
    grid-template-columns: 1fr;
  }
  .registered-image {
    height: 280px;
  }
  .registered-sketch {
    display: none;
  }
  .feature-row {
    grid-template-columns: 1fr;
  }
  .gallery {
    height: auto;
    grid-template-columns: 1fr;
  }
  .gallery-copy {
    padding: 18px 24px;
  }
  .gallery-stage {
    height: 130px;
  }
  .gallery-controls {
    padding: 10px;
  }
  .section-head {
    grid-template-columns: 1fr;
  }
  .section-head h2 {
    grid-column: 1;
  }
  .section-head>a {
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
    margin-top: 6px;
  }
  .news-grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
  }
  .footer-top>div {
    border-left: 0;
  }
  .footer-bottom {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 8px;
  }
  .footer-bottom>div:last-child {
    text-align: center;
  }
  .bottom-brand {
    justify-content: center;
  }
}
@media(max-width:560px) {
  .brand span {
    display: none;
  }
  .hero h1 {
    font-size: 31px;
  }
  .hero-text {
    font-size: 12px;
  }
  .hero-actions {
    flex-wrap: wrap;
  }
  .quick {
    padding: 10px;
  }
  .quick-grid {
    grid-template-columns: 1fr 1fr;
  }
  .quick-card>img {
    height: 86px;
  }
  .registered-copy {
    padding: 25px;
  }
  .registered-copy h2 {
    font-size: 27px;
  }
  .news-grid {
    grid-template-columns: 1fr;
  }
  .footer-top {
    grid-template-columns: 1fr;
  }
  .social {
    text-align: right;
  }
  .gallery-copy {
    text-align: right;
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    scroll-behavior: auto!important;
    animation: none!important;
    transition: none!important;
  }
}
/* ===== Fidelity pass: match the supplied reference ===== */
:root {
  --navy: #062a40;
  --navy-deep: #041b29;
  --gold: #c77a1e;
  --gold-soft: #efc77f;
  --cream: #fffaf2;
  --ink: #07375d;
}
body {
  background: #fffaf3;
  color: var(--ink);
  font-family: Tahoma,"Segoe UI",Arial,sans-serif;
}
.site-header {
  height: 57px;
  background: #062a40;
  border-bottom: 1px solid rgba(222,160,63,.7);
  box-shadow: none;
}
.header-inner {
  max-width: none;
  padding: 0 30px;
  gap: 20px;
}
.brand {
  margin: 0 0 0 auto;
  min-width: 270px;
  gap: 10px;
}
.brand img {
  width: 47px;
  height: 47px;
}
.brand strong {
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.brand small {
  font-size: 5.7px;
  letter-spacing: .15px;
  opacity: .9;
}
.main-nav {
  gap: 26px;
  font-size: 10.5px;
  flex: 1;
  justify-content: flex-start;
}
.main-nav a.active:after {
  bottom: 7px;
  height: 2px;
  right: 15%;
  left: 15%;
}
.search {
  font-size: 23px;
  margin-left: 0;
}
.hero {
  height: 354px;
  background-position: center 51%;
}
.hero:before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 150px;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(circle at 12% 30%,rgba(197,126,36,.14),transparent 35%),linear-gradient(90deg,rgba(5,26,39,.34),transparent);
}
.hero-overlay {
  background: linear-gradient(90deg,rgba(0,0,0,.89) 0%,rgba(0,0,0,.84) 23%,rgba(0,0,0,.48) 42%,rgba(0,0,0,.12) 66%,rgba(0,0,0,.03) 100%);
}
.hero-copy {
  width: 44%;
  padding: 45px 0 0 68px;
  text-align: left;
  direction: rtl;
}
.eyebrow {
  font-size: 12px;
  margin-bottom: 8px;
  color: #e3a442;
}
.hero h1 {
  font-size: 45px;
  line-height: 1.3;
  letter-spacing: -1.2px;
  color: #fff6df;
  text-shadow: 0 2px 10px rgba(0,0,0,.18);
}
.ornament {
  width: 152px;
  margin: 2px 0 7px;
}
.hero-text {
  font-size: 15px;
  line-height: 1.85;
  margin-bottom: 13px;
  color: #fff;
}
.hero-actions {
  gap: 13px;
}
.btn {
  height: 38px;
  border-radius: 4px;
  padding: 0 21px;
  font-size: 11px;
  gap: 20px;
}
.gold {
  background: #f2c87f;
}
.outline {
  background: rgba(4,19,28,.72);
  border-color: rgba(255,255,255,.95);
}
.location {
  right: 21px;
  bottom: 11px;
  padding: 7px 13px;
  background: #08334f;
  font-size: 9.5px;
}
.quick {
  padding: 15px 31px 12px;
  background: #fffaf4;
}
.quick-grid {
  max-width: none;
  gap: 12px;
}
.quick-card {
  border: 1px solid #e7dfd4;
  border-radius: 3px;
  box-shadow: 0 3px 9px rgba(10,34,48,.07);
}
.quick-card>img {
  height: 95px;
}
.quick-card>div {
  height: 97px;
  padding: 8px 5px 6px;
}
.quick-card .ico {
  font-size: 20px;
  color: #c47617;
}
.quick-card h3 {
  font-size: 14px;
  margin: 5px 0 4px;
  color: #07375d;
}
.quick-card p {
  font-size: 8.2px;
  color: #6f777b;
}
.quick-card span {
  font-size: 16px;
  margin-top: 4px;
  color: #c87515;
}
.registered {
  height: 220px;
  direction: ltr;
  grid-template-columns: 44% 40% 16%;
  background: #fbf4e8;
}
.registered-image {
  background-position: center 54%;
}
.registered-copy {
  direction: rtl;
  padding: 16px 31px 15px 24px;
  text-align: right;
  background: linear-gradient(90deg,rgba(255,251,244,.94),rgba(255,251,244,.99));
}
.registered-copy h2 {
  font-size: 31px;
  margin: 0 0 5px;
  color: #073f69;
  font-weight: 800;
}
.registered-copy h3 {
  font-size: 16px;
  line-height: 1.45;
  margin: 0 0 8px;
  color: #07375d;
}
.registered-copy p {
  font-size: 8.7px;
  line-height: 1.85;
  color: #5d6b72;
  margin-bottom: 9px;
}
.registered-btn {
  height: 32px;
  font-size: 9.5px;
  border-color: #c57c21;
  color: #b56711;
  background: #fffaf1;
  padding: 0 15px;
  align-self: flex-start;
}
.registered-sketch {
  background: linear-gradient(90deg,rgba(251,244,232,.75),rgba(251,244,232,.22)),url('assets/feature-history.jpg') center/cover no-repeat;
  filter: sepia(1) saturate(.25) brightness(1.45);
  opacity: .58;
}
.feature-row {
  padding: 11px 31px 12px;
  background: #062d44;
  gap: 12px;
}
.feature-card {
  border: 1px solid #9eabb1;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255,255,255,.12);
}
.feature-card img {
  height: 150px;
}
.feature-card div {
  height: 58px;
  padding: 7px 58px 8px 12px;
}
.feature-card div span {
  right: 19px;
  top: 9px;
  font-size: 28px;
  color: #c7791a;
}
.feature-card h3 {
  font-size: 16px;
  margin: 0 0 3px;
  color: #07375d;
}
.feature-card p {
  font-size: 9px;
  color: #607079;
}
/* gallery follows the separate narrow reference, not the old thumbnail grid */
.gallery {
  height: 118px;
  direction: ltr;
  grid-template-columns: 205px minmax(0,1fr) 164px;
  background: #061b28;
  border-top: 1px solid rgba(205,157,91,.34);
  border-bottom: 1px solid rgba(205,157,91,.34);
}
.gallery-copy {
  direction: rtl;
  text-align: right;
  padding: 16px 27px 10px 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.gallery-copy h2 {
  font-size: 17px;
  margin: 0 0 4px;
  color: #fff;
}
.gallery-copy p {
  font-size: 9px;
  margin: 0 0 10px;
  color: #e2e5e7;
}
.gallery-more {
  height: 34px;
  min-width: 141px;
  border-radius: 4px;
  background: #efc47e;
  font-size: 9px;
  gap: 23px;
}
.gallery-stage {
  background-position: center center;
  box-shadow: inset 0 0 35px rgba(0,0,0,.12);
}
.gallery-controls {
  direction: ltr;
  gap: 10px;
  padding-right: 10px;
}
.gallery-controls button {
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.045);
  font-size: 12px;
}
.gallery-controls strong {
  font-size: 8.5px;
  margin-left: 6px;
  color: #fff;
}
.news {
  padding: 11px 29px 14px;
  background: #fffaf4;
}
.section-head {
  margin-bottom: 7px;
}
.section-head h2 {
  font-size: 19px;
  color: #07375d;
}
.section-head h2 span {
  margin: 0 23px;
  color: #c57a1f;
}
.section-head>a {
  font-size: 8.5px;
  color: #c36f14;
}
.news-grid {
  gap: 12px;
}
.news-grid article {
  min-height: 87px;
  border: 1px solid #eee4d6;
  border-radius: 3px;
  padding: 7px;
  grid-template-columns: 92px 1fr;
  box-shadow: 0 2px 7px rgba(13,44,61,.025);
}
.news-grid img {
  height: 70px;
}
.news-grid time {
  font-size: 7.5px;
  color: #d07c25;
}
.news-grid h3 {
  font-size: 10.5px;
  margin: 5px 0 3px;
  color: #07375d;
}
.news-grid p {
  font-size: 7.7px;
  color: #627079;
}
footer {
  background: #062b42;
}
.footer-top {
  min-height: 143px;
  max-width: none;
  padding: 16px 31px;
  grid-template-columns: .78fr .77fr .77fr 1.22fr 1.24fr;
  gap: 17px;
}
.footer-top>div {
  padding-left: 17px;
  border-left-color: rgba(255,255,255,.14);
}
.footer-quote {
  padding-top: 18px;
  color: #d99a37;
}
.footer-quote h4 {
  font-size: 12px;
}
.footer-quote p {
  font-size: 9.5px;
}
.footer-links h4,.newsletter h4 {
  font-size: 11.5px;
}
.footer-links a {
  font-size: 8.5px;
}
.newsletter p {
  font-size: 7px;
  line-height: 1.6;
}
.newsletter form {
  height: 30px;
}
.newsletter button {
  width: 78px;
}
.brand-row img {
  width: 46px;
  height: 46px;
}
.brand-row strong {
  font-size: 9.5px;
}
.brand-row small {
  font-size: 5px;
}
.footer-brand>p {
  font-size: 8.5px;
  margin-top: 15px;
}
.footer-bottom {
  min-height: 67px;
  padding: 12px 32px;
  font-size: 7.5px;
}
.bottom-brand img {
  width: 36px;
  height: 36px;
}
@media(max-width:1080px) and (min-width:851px) {
  .header-inner {
    padding: 0 24px;
    gap: 14px;
  }
  .main-nav {
    gap: 18px;
    font-size: 9.5px;
  }
  .brand {
    min-width: 250px;
  }
  .brand strong {
    font-size: 11.5px;
  }
  .hero-copy {
    width: 46%;
    padding-left: 66px;
  }
  .hero h1 {
    font-size: 43px;
  }
  .quick {
    padding-left: 31px;
    padding-right: 31px;
  }
  .quick-grid {
    gap: 11px;
  }
  .quick-card h3 {
    font-size: 13px;
  }
  .quick-card p {
    font-size: 7.5px;
  }
}
/* ===== Typography system requested by client ===== */
:root {
  --font-title: "Doran", Tahoma, "Segoe UI", Arial, sans-serif;
  --font-body: "Samir", Tahoma, "Segoe UI", Arial, sans-serif;
}
html,body, button,input,textarea,select, .main-nav,.btn,.quick-card,.feature-card, .news-grid,.footer-top,.footer-bottom, .brand,.location,.gallery-more,.gallery-controls {
  font-family: var(--font-body);
}
/* Main page titles / section headings */
.hero h1, .registered-copy h2, .gallery-copy h2, .section-head h2 {
  font-family: var(--font-title);
}
/* Content explicitly stays in Samir, including card titles */
.hero .eyebrow,.hero-text, .quick-card h3,.quick-card p, .registered-copy h3,.registered-copy p, .feature-card h3,.feature-card p, .news-grid h3,.news-grid p,.news-grid time, .footer-quote,.footer-links,.newsletter, .brand strong,.brand small {
  font-family: var(--font-body);
}
/* ===== STEP 2 — HERO FIDELITY ===== */
@media (min-width: 851px) {
  .hero {
    height: 418px;
    background-position: center 54%;
    background-size: cover;
  }
  .hero:before {
    inset: 0 0 0 auto;
    width: 170px;
    opacity: .6;
    background: radial-gradient(circle at 88% 30%,rgba(197,126,36,.14),transparent 35%),linear-gradient(270deg,rgba(5,26,39,.34),transparent);
  }
  .hero-overlay {
    background: linear-gradient(270deg,rgba(2,9,14,.94) 0%,rgba(3,12,18,.86) 20%,rgba(4,15,22,.58) 35%,rgba(4,16,23,.20) 54%,rgba(4,16,23,.03) 73%),       linear-gradient(180deg,rgba(1,7,11,.04) 0%,rgba(1,7,11,.03) 70%,rgba(1,7,11,.17) 100%);
  }
  .hero-copy {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 72px;
    left: auto;
    width: 425px;
    padding: 52px 0 0;
    margin: 0;
    direction: rtl;
    text-align: right;
  }
  .eyebrow {
    font-size: 15px;
    line-height: 1.4;
    margin: 0 0 9px;
    color: #e5a03b;
  }
  .hero h1 {
    font-size: 49px;
    line-height: 1.14;
    letter-spacing: -.4px;
    margin: 0;
    color: #fff4dc;
    font-weight: 800;
    text-shadow: 0 3px 16px rgba(0,0,0,.34);
  }
  .ornament {
    width: 168px;
    height: 17px;
    line-height: 17px;
    margin: 7px auto 8px 0;
    font-size: 10px;
    color: #d1973d;
  }
  .ornament:before,.ornament:after {
    width: 72px;
    background: linear-gradient(90deg,transparent,#d1973d 55%,#d1973d);
  }
  .hero-text {
    font-size: 17px;
    line-height: 1.75;
    margin: 0 0 16px;
    color: #fff;
    text-shadow: 0 2px 10px rgba(0,0,0,.35);
  }
  .hero-actions {
    display: flex;
    flex-direction: row;
    direction: rtl;
    justify-content: flex-start;
    gap: 14px;
  }
  .hero .btn {
    height: 45px;
    min-width: 150px;
    padding: 0 20px;
    border-radius: 5px;
    font-size: 13px;
    gap: 16px;
    box-shadow: none;
  }
  .hero .btn.gold {
    background: #efc77f;
    color: #112d3e;
    border: 1px solid #efc77f;
  }
  .hero .btn.outline {
    min-width: 165px;
    background: rgba(3,17,26,.62);
    color: #fff;
    border: 1px solid rgba(255,255,255,.86);
    backdrop-filter: blur(2px);
  }
  .hero .temple {
    font-size: 17px;
  }
  .location {
    right: 28px;
    bottom: 14px;
    min-width: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 14px;
    border-radius: 18px;
    background: rgba(5,43,67,.92);
    font-size: 11px;
    box-shadow: 0 4px 18px rgba(0,0,0,.15);
  }
  .location span {
    margin: 0;
    color: #d69636;
    font-size: 8px;
  }
}
@media (min-width: 1450px) {
  .hero {
    height: 430px;
    background-position: 40% 62%;
  }
  .hero-copy {
    right: 80px;
    left: auto;
    top: 0;
    width: 455px;
    padding-top: 56px;
  }
  .hero h1 {
    font-size: 54px;
  }
  .hero-text {
    font-size: 17.5px;
  }
}
@media (max-width: 850px) {
  .hero {
    height: 520px;
    background-position: 56% 60%;
  }
  .hero-overlay {
    background: linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.18) 38%,rgba(1,9,14,.92) 75%,rgba(1,9,14,.97) 100%);
  }
  .hero-copy {
    padding: 245px 24px 0;
    text-align: right;
  }
  .hero h1 {
    font-size: 38px;
    line-height: 1.18;
  }
  .eyebrow {
    font-size: 13px;
  }
  .hero-text {
    font-size: 13px;
    line-height: 1.8;
  }
  .hero-actions {
    gap: 10px;
  }
  .hero .btn {
    min-width: 0;
    height: 43px;
    padding: 0 16px;
  }
  .location {
    right: 18px;
    bottom: 13px;
  }
}
/* ===== STEP 5 — HERO MATCH TO REFERENCE ===== */
@media (min-width: 851px) {
  .hero {
    height: 430px;
    background-position: 56% 64%;
    background-size: cover;
    border-top: 1px solid rgba(255,255,255,.22);
  }
  .hero:before {
    inset: 0 auto 0 0;
    width: 116px;
    opacity: 1;
    background: radial-gradient(circle at 22% 16%, rgba(201,133,36,.14), transparent 36%),       linear-gradient(90deg, rgba(4,18,28,.28) 0%, rgba(4,18,28,.10) 62%, transparent 100%);
  }
  .hero-overlay {
    background: linear-gradient(90deg, rgba(2,8,12,.90) 0%, rgba(2,8,12,.84) 16%, rgba(3,10,15,.55) 31%, rgba(5,16,23,.18) 47%, rgba(5,16,23,0) 62%),       linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.06) 100%);
  }
  .hero-copy {
    left: 36px;
    right: auto;
    top: 0;
    width: 440px;
    padding-top: 68px;
    text-align: right;
  }
  .eyebrow {
    font-size: 13px;
    color: #e1a341;
    margin: 0 0 10px;
  }
  .hero h1 {
    font-size: 56px;
    line-height: 1.07;
    letter-spacing: -1.2px;
    color: #fff6e5;
    margin: 0;
    text-shadow: 0 2px 18px rgba(0,0,0,.28);
  }
  .ornament {
    width: 172px;
    margin: 8px 0 10px auto;
    color: #d09538;
  }
  .ornament:before,.ornament:after {
    width: 76px;
    background: linear-gradient(90deg, transparent, #cf9034 60%, #cf9034);
  }
  .hero-text {
    font-size: 17px;
    line-height: 1.82;
    margin: 0 0 18px;
    color: #fff;
    text-shadow: 0 2px 10px rgba(0,0,0,.28);
  }
  .hero-actions {
    direction: ltr;
    justify-content: flex-start;
    gap: 12px;
  }
  .hero .btn {
    direction: rtl;
    height: 42px;
    min-width: 144px;
    padding: 0 18px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    gap: 16px;
  }
  .hero .btn.gold {
    background: #efc981;
    color: #10293b;
    border: 1px solid #efc981;
  }
  .hero .btn.outline {
    min-width: 160px;
    background: rgba(4,18,28,.46);
    color: #fff;
    border: 1px solid rgba(255,255,255,.88);
    backdrop-filter: blur(1.8px);
  }
  .hero .temple {
    font-size: 16px;
  }
  .location {
    right: 20px;
    bottom: 12px;
    min-width: 108px;
    padding: 9px 14px;
    border-radius: 19px;
    background: rgba(8,47,75,.94);
    color: #fff;
    font-size: 11px;
    gap: 8px;
  }
  .location span {
    font-size: 8px;
    color: #d79a39;
  }
}
@media (min-width: 1450px) {
  .hero {
    height: 455px;
    background-position: 56% 65%;
  }
  .hero-copy {
    left: 44px;
    width: 465px;
    padding-top: 72px;
  }
}
@media (max-width: 850px) {
  .hero {
    height: 560px;
    background-position: 60% center;
  }
  .hero-overlay {
    background: linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.18) 35%, rgba(1,9,14,.88) 72%, rgba(1,9,14,.97) 100%);
  }
  .hero-copy {
    left: auto;
    right: auto;
    width: 100%;
    padding: 280px 24px 0;
    text-align: right;
  }
  .hero h1 {
    font-size: 38px;
    line-height: 1.12;
  }
  .hero-text {
    font-size: 14px;
    line-height: 1.85;
  }
  .hero-actions {
    direction: ltr;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .hero .btn {
    direction: rtl;
  }
}
/* ===== STEP 7 — HERO BACKGROUND MATCH ===== */
@media (min-width: 851px) {
  .hero {
    height: 432px;
    background-image: url('assets/hero.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 57% 64%;
  }
  .hero-overlay {
    background: linear-gradient(90deg, rgba(2,8,12,.92) 0%, rgba(2,8,12,.84) 15%, rgba(3,10,15,.58) 30%, rgba(5,16,23,.22) 47%, rgba(5,16,23,.05) 66%, rgba(5,16,23,.02) 100%),       linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.08) 100%);
  }
  .hero-copy {
    padding-top: 54px;
  }
}
@media (min-width: 1450px) {
  .hero {
    height: 446px;
    background-position: 57% 66%;
  }
}
@media (max-width: 850px) {
  .hero {
    background-position: 61% center;
  }
}
/* ===== STEP 8 — HERO FULL IMAGE + LEFT CENTERED TEXT ===== */
@media (min-width: 851px) {
  .hero {
    height: 455px;
    background-image: url('assets/hero.jpg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    background-color: #071d2b;
  }
  .hero:before {
    inset: 0 auto 0 0;
    width: 132px;
    background: radial-gradient(circle at 22% 16%, rgba(201,133,36,.13), transparent 38%),       linear-gradient(90deg, rgba(4,18,28,.34) 0%, rgba(4,18,28,.14) 62%, transparent 100%);
  }
  .hero-overlay {
    background: linear-gradient(90deg, rgba(2,8,12,.88) 0%, rgba(2,8,12,.80) 17%, rgba(3,10,15,.46) 32%, rgba(5,16,23,.12) 49%, rgba(5,16,23,0) 66%),       linear-gradient(180deg, rgba(0,0,0,.03) 0%, rgba(0,0,0,.06) 100%);
  }
  .hero-copy {
    left: 34px;
    right: auto;
    top: 50%;
    transform: translateY(-50%);
    width: 425px;
    padding-top: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .eyebrow {
    width: 100%;
    text-align: center;
    margin: 0 0 12px;
  }
  .hero h1 {
    width: 100%;
    text-align: center;
    font-size: 58px;
    line-height: 1.08;
    margin: 0;
  }
  .ornament {
    margin: 8px auto 12px;
  }
  .hero-text {
    width: 100%;
    text-align: center;
    font-size: 18px;
    line-height: 1.85;
    margin: 0 0 18px;
  }
  .hero-actions {
    width: 100%;
    direction: ltr;
    justify-content: center;
    align-items: center;
    gap: 12px;
  }
  .hero .btn {
    direction: rtl;
  }
  .location {
    right: 24px;
    bottom: 16px;
  }
}
@media (min-width: 1450px) {
  .hero {
    height: 480px;
  }
  .hero-copy {
    left: 44px;
    width: 450px;
  }
}
@media (max-width: 850px) {
  .hero {
    height: 560px;
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;
    background-color: #071d2b;
  }
  .hero-overlay {
    background: linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.10) 28%, rgba(1,9,14,.83) 68%, rgba(1,9,14,.97) 100%);
  }
  .hero-copy {
    left: 0;
    right: 0;
    top: auto;
    transform: none;
    width: 100%;
    padding: 265px 24px 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .eyebrow,   .hero h1,   .hero-text {
    text-align: center;
  }
  .hero-actions {
    width: 100%;
    justify-content: center;
    direction: ltr;
  }
  .hero .btn {
    direction: rtl;
  }
}
/* ===== STEP 9 — NATURAL FULL-HERO IMAGE FIT ===== */
@media (min-width: 851px) {
  .hero {
    height: 470px;
    position: relative;
    overflow: hidden;
    background-color: #0a1f2d;
    background-image: url('assets/hero.jpg');
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center center;
  }
  .hero::after {
    content: "";
    position: absolute;
    inset: -24px;
    z-index: 0;
    background-image: url('assets/hero.jpg');
    background-size: cover;
    background-position: center;
    filter: blur(24px) brightness(.72) saturate(.92);
    transform: scale(1.06);
    opacity: .68;
    pointer-events: none;
  }
  .hero:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(3,10,15,.88) 0%, rgba(3,10,15,.78) 15%, rgba(3,10,15,.45) 30%, rgba(3,10,15,.14) 47%, rgba(3,10,15,.03) 63%, rgba(3,10,15,.02) 100%),       linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.10) 100%);
    pointer-events: none;
  }
  .hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background-image: url('assets/hero.jpg');
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center center;
  }
  .hero-copy {
    z-index: 3;
    left: 42px;
    right: auto;
    top: 50%;
    transform: translateY(-50%);
    width: 440px;
    padding: 0;
    text-align: center;
    align-items: center;
  }
  .location {
    z-index: 4;
  }
}
@media (min-width: 1450px) {
  .hero {
    height: 500px;
  }
  .hero-copy {
    left: 54px;
    width: 460px;
  }
}
@media (max-width: 850px) {
  .hero {
    height: 560px;
    background-color: #0a1f2d;
    background-image: url('assets/hero.jpg');
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center top;
  }
  .hero::after {
    content: "";
    position: absolute;
    inset: -24px;
    z-index: 0;
    background-image: url('assets/hero.jpg');
    background-size: cover;
    background-position: center top;
    filter: blur(22px) brightness(.72);
    transform: scale(1.05);
    opacity: .6;
  }
  .hero:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.10) 30%,rgba(1,9,14,.78) 68%,rgba(1,9,14,.97) 100%);
  }
  .hero-overlay {
    z-index: 2;
    background-image: url('assets/hero.jpg');
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center top;
  }
  .hero-copy {
    z-index: 3;
  }
}
/* ===== Requested layout adjustments ===== */
@media (min-width: 851px) {
  .gallery {
    height: 175px !important;
  }
  .gallery-stage {
    min-height: 175px;
  }
}
.feature-card div {
  padding: 10px 16px !important;
  text-align: center !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.feature-card div span {
  display: none !important;
}
.feature-card h3, .feature-card p {
  width: 100%;
  text-align: center !important;
}
.registered-copy {
  text-align: center !important;
  align-items: center !important;
}
.registered-copy h2, .registered-copy h3, .registered-copy p {
  width: 100%;
  text-align: center !important;
}
.registered-btn {
  align-self: center !important;
}
@media (max-width: 850px) {
  .gallery-stage {
    height: 175px !important;
  }
}
/* ===== FINAL GALLERY HEIGHT + FOOTER REDESIGN ===== */
.gallery {
  min-height: 245px !important;
  height: 245px !important;
  grid-template-columns: 240px minmax(0, 1fr) 185px !important;
  background: linear-gradient(180deg, #071f2f 0%, #051824 100%) !important;
  border-top: 1px solid rgba(215, 163, 76, .34) !important;
  border-bottom: 1px solid rgba(215, 163, 76, .28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02), inset 0 -1px 0 rgba(0,0,0,.22);
}
.gallery-copy {
  padding: 30px 28px 26px !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: right;
}
.gallery-copy h2 {
  font-size: 24px !important;
  line-height: 1.35;
  margin-bottom: 8px !important;
}
.gallery-copy p {
  font-size: 11px !important;
  line-height: 1.9;
  margin-bottom: 16px !important;
}
.gallery-more {
  height: 40px !important;
  min-width: 154px !important;
  font-size: 10.5px !important;
}
.gallery-stage {
  min-height: 245px !important;
  background-size: cover !important;
  background-position: center center !important;
  border-left: 1px solid rgba(255,255,255,.05);
  border-right: 1px solid rgba(255,255,255,.05);
}
.gallery-controls {
  padding: 0 18px !important;
  flex-wrap: wrap;
  align-content: center;
}
.gallery-controls button {
  width: 38px !important;
  height: 38px !important;
  font-size: 14px;
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(255,255,255,.22) !important;
  transition: .2s ease;
}
.gallery-controls button:hover {
  background: #d49a42 !important;
  color: #082235;
  border-color: #d49a42 !important;
}
.gallery-controls strong {
  width: 100%;
  text-align: center;
  margin: 10px 0 0 !important;
  font-size: 10px !important;
  color: #e6c78e !important;
}
footer {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 86% 14%, rgba(205,145,56,.10), transparent 28%),     linear-gradient(180deg, #082b40 0%, #052336 58%, #041c2b 100%) !important;
  color: #fff;
  border-top: 1px solid rgba(208,154,70,.44);
}
footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.018) 48%, transparent 100%);
}
.footer-top {
  position: relative;
  z-index: 1;
  max-width: 1380px !important;
  min-height: 230px !important;
  padding: 38px 42px 30px !important;
  grid-template-columns: .92fr .8fr .8fr 1.35fr 1.25fr !important;
  gap: 30px !important;
  align-items: start;
}
.footer-top > div {
  min-height: 150px;
  padding: 4px 24px 4px 0 !important;
  border-left: 0 !important;
  border-right: 1px solid rgba(255,255,255,.10);
}
.footer-top > div:first-child {
  border-right: 0;
  padding-right: 0 !important;
}
.footer-top > div:last-child {
  padding-left: 0 !important;
}
.footer-quote {
  padding-top: 10px !important;
  text-align: right !important;
  color: #e0a649 !important;
}
.footer-quote h4 {
  font-family: var(--font-title);
  font-size: 24px !important;
  margin: 0 0 9px !important;
}
.footer-quote p {
  max-width: 210px;
  font-size: 11px !important;
  line-height: 2.05 !important;
  color: #e2e7ea;
}
.footer-quote span {
  display: inline-block;
  margin-top: 13px;
  font-size: 20px !important;
  color: #d29a42;
}
.footer-links h4, .newsletter h4 {
  position: relative;
  display: inline-block;
  font-family: var(--font-title);
  font-size: 14px !important;
  color: #f4d299;
  margin: 0 0 15px !important;
}
.footer-links h4::after, .newsletter h4::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -7px;
  width: 28px;
  height: 1px;
  background: #c98c34;
}
.footer-links div {
  gap: 8px !important;
}
.footer-links a {
  position: relative;
  padding-right: 10px;
  font-size: 10px !important;
  line-height: 1.65;
  color: #d7e0e5;
  transition: .18s ease;
}
.footer-links a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 4px;
  height: 4px;
  margin-top: -2px;
  border-radius: 50%;
  background: #b97b28;
}
.footer-links a:hover {
  color: #f3c77e;
  transform: translateX(-2px);
}
.newsletter p {
  max-width: 300px;
  font-size: 9px !important;
  line-height: 1.85;
  color: #bfcbd1 !important;
  margin: 0 0 14px !important;
}
.newsletter form {
  height: 42px !important;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 5px;
  overflow: hidden;
  background: rgba(255,255,255,.035);
}
.newsletter input {
  background: transparent !important;
  border: 0 !important;
  padding: 0 13px !important;
  font-size: 10px;
  outline: none;
}
.newsletter input::placeholder {
  color: #94a7b1;
}
.newsletter button {
  width: 92px !important;
  background: linear-gradient(180deg, #efc77e, #dca657) !important;
  color: #153247 !important;
  font-size: 10px !important;
  cursor: pointer;
  transition: .2s ease;
}
.newsletter button:hover {
  filter: brightness(1.07);
}
.social {
  margin-top: 14px !important;
  letter-spacing: 8px !important;
  font-size: 16px !important;
  color: #d4ad69;
}
.footer-brand {
  text-align: right;
}
.brand-row {
  gap: 12px !important;
  align-items: center !important;
}
.brand-row img {
  width: 58px !important;
  height: 58px !important;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.16));
}
.brand-row strong {
  font-family: var(--font-title);
  font-size: 13px !important;
  line-height: 1.55;
  color: #fff6e4;
}
.brand-row small {
  margin-top: 5px !important;
  font-size: 6px !important;
  color: #aab8c0;
}
.footer-brand > p {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 20px 70px 0 0 !important;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  font-size: 9.5px !important;
  color: #d7e1e6;
}
.footer-bottom {
  position: relative;
  z-index: 1;
  min-height: 76px !important;
  padding: 15px 42px !important;
  grid-template-columns: 1fr auto 1fr !important;
  gap: 25px;
  border-top: 1px solid rgba(255,255,255,.09) !important;
  background: rgba(1,16,25,.20);
  font-size: 8.5px !important;
}
.bottom-brand {
  gap: 10px !important;
}
.bottom-brand img {
  width: 40px !important;
  height: 40px !important;
}
.bottom-brand strong {
  font-size: 10px !important;
  color: #f4ead7;
}
.footer-bottom > p {
  margin: 0;
  color: #9fb0b8;
}
.footer-bottom > div:last-child {
  line-height: 1.7;
  color: #d5a254 !important;
}
@media (max-width: 850px) {
  .gallery {
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
  }
  .gallery-copy {
    padding: 24px 24px 18px !important;
    align-items: center;
    text-align: center;
  }
  .gallery-stage {
    min-height: 230px !important;
  }
  .gallery-controls {
    min-height: 82px;
    padding: 14px !important;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr !important;
    padding: 32px 26px 24px !important;
    gap: 24px !important;
  }
  .footer-top > div {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding: 0 0 22px !important;
    min-height: auto;
  }
  .footer-bottom {
    grid-template-columns: 1fr !important;
    text-align: center;
    padding: 20px 25px !important;
  }
  .bottom-brand {
    justify-content: center;
  }
  .footer-bottom > div:last-child {
    text-align: center !important;
  }
}
@media (max-width: 560px) {
  .gallery-stage {
    min-height: 210px !important;
  }
  .footer-top {
    grid-template-columns: 1fr !important;
    padding: 30px 22px 20px !important;
  }
  .footer-quote,   .footer-brand {
    text-align: center !important;
  }
  .footer-quote p {
    margin: 0 auto;
  }
  .brand-row {
    justify-content: center;
  }
  .footer-brand > p {
    margin: 18px auto 0 !important;
  }
}
/* ===== HEADER CLEAN + CENTERED NAV ===== */
.site-header .header-inner {
  display: grid !important;
  grid-template-columns: 72px minmax(0,1fr) 72px;
  align-items: center;
  gap: 0 !important;
  padding: 0 26px !important;
}
.site-header .brand {
  grid-column: 1;
  justify-self: start;
  margin: 0 !important;
  min-width: 0 !important;
  width: auto;
  gap: 0 !important;
}
.site-header .brand span {
  display: none !important;
}
.site-header .brand img {
  width: 46px !important;
  height: 46px !important;
  object-fit: contain;
}
.site-header .main-nav {
  grid-column: 2;
  justify-self: center;
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center !important;
  gap: 28px;
  margin: 0;
}
.site-header .main-nav a {
  justify-content: center;
  text-align: center;
}
.site-header .menu-btn {
  grid-column: 3;
  justify-self: end;
}
@media (min-width:851px) {
  .site-header .menu-btn {
    display: none !important;
  }
}
@media (max-width:850px) {
  .site-header .header-inner {
    display: flex !important;
    padding: 0 18px !important;
  }
  .site-header .brand {
    margin-left: auto !important;
  }
  .site-header .main-nav {
    justify-self: stretch;
    width: 100%;
    justify-content: stretch !important;
    gap: 0;
  }
}
/* ===== LOGO POSITION + HEADER SIZE ADJUSTMENT ===== */
/* Bigger header logo */
.site-header {
  height: 68px !important;
}
.site-header .brand img {
  width: 58px !important;
  height: 58px !important;
  object-fit: contain;
}
/* Move footer brand/logo block to the right side */
.footer-top {
  direction: rtl;
}
.footer-brand {
  order: -1;
  justify-self: stretch;
  text-align: right !important;
}
.footer-brand .brand-row {
  justify-content: flex-start !important;
  direction: rtl;
}
.footer-brand .brand-row img {
  margin-left: 12px;
  margin-right: 0;
}
/* Also keep the bottom footer brand aligned to the right */
.footer-bottom .bottom-brand {
  justify-content: flex-start !important;
  text-align: right;
}
@media (max-width:850px) {
  .site-header {
    height: 66px !important;
  }
  .site-header .brand img {
    width: 56px !important;
    height: 56px !important;
  }
  .footer-brand {
    order: -1;
  }
}
@media (max-width:560px) {
  .footer-brand {
    text-align: center !important;
  }
  .footer-brand .brand-row {
    justify-content: center !important;
  }
}
/* ===== FOOTER REFINED SPACING + DESIGN ===== */
.footer-top {
  max-width: 1440px !important;
  min-height: 260px !important;
  padding: 46px 56px 38px !important;
  grid-template-columns: 1.05fr .9fr .9fr 1.55fr !important;
  gap: 40px !important;
  align-items: start;
}
.footer-top > div {
  min-height: 165px;
  padding: 0 28px 0 0 !important;
  border-right: 1px solid rgba(255,255,255,.12);
}
.footer-top > div:first-child {
  border-right: 0;
  padding-right: 0 !important;
}
.footer-top > div:last-child {
  padding-left: 0 !important;
}
.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: right !important;
  padding-top: 8px;
}
.footer-brand .brand-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start !important;
  gap: 16px !important;
}
.footer-brand .brand-row img {
  width: 72px !important;
  height: 72px !important;
  margin: 0 0 0 6px;
}
.footer-brand .brand-row strong {
  font-size: 20px !important;
  line-height: 1.55 !important;
}
.footer-brand .brand-row small {
  font-size: 8px !important;
  line-height: 1.8;
  letter-spacing: .35px;
}
.footer-brand > p {
  margin: 26px 0 0 0 !important;
  padding: 10px 18px;
  border-radius: 22px;
  font-size: 11px !important;
}
.footer-links h4, .newsletter h4 {
  font-size: 18px !important;
  margin: 0 0 22px !important;
}
.footer-links h4::after, .newsletter h4::after {
  width: 42px;
  bottom: -10px;
}
.footer-links div {
  display: grid;
  gap: 14px !important;
}
.footer-links a {
  padding-right: 14px;
  font-size: 15px !important;
  line-height: 1.9;
}
.footer-links a::before {
  width: 5px;
  height: 5px;
  margin-top: -2.5px;
}
.newsletter {
  padding-top: 4px;
}
.newsletter p {
  max-width: 410px;
  font-size: 13px !important;
  line-height: 2.1;
  margin: 0 0 20px !important;
}
.newsletter form {
  max-width: 420px;
  height: 54px !important;
  border-radius: 10px;
}
.newsletter input {
  padding: 0 18px !important;
  font-size: 15px;
}
.newsletter button {
  width: 140px !important;
  font-size: 15px !important;
  font-weight: 700;
}
.footer-bottom {
  min-height: 94px !important;
  padding: 24px 56px !important;
  display: grid;
  grid-template-columns: 1fr auto !important;
  align-items: center;
  gap: 26px;
}
.footer-bottom .bottom-brand {
  justify-content: flex-start !important;
  gap: 14px !important;
}
.footer-bottom .bottom-brand img {
  width: 46px !important;
  height: 46px !important;
}
.footer-bottom .bottom-brand strong {
  font-size: 16px !important;
  line-height: 1.7;
}
.footer-bottom > p {
  justify-self: start;
  margin: 0;
  font-size: 12px !important;
  line-height: 2;
  color: #b5c2c8;
}
/* hide empty orphan footer cells if present */
.footer-bottom > div:empty, .footer-top > div:empty {
  display: none !important;
}
@media (max-width: 1100px) {
  .footer-top {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    padding: 38px 34px 30px !important;
  }
  .footer-top > div {
    min-height: auto;
    padding: 0 0 22px !important;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .footer-brand .brand-row strong {
    font-size: 18px !important;
  }
  .newsletter form,   .newsletter p {
    max-width: none;
  }
  .footer-bottom {
    grid-template-columns: 1fr !important;
    text-align: center;
    justify-items: center;
    padding: 20px 30px !important;
  }
  .footer-bottom > p {
    justify-self: center;
  }
  .footer-bottom .bottom-brand {
    justify-content: center !important;
  }
}
@media (max-width: 560px) {
  .footer-top {
    grid-template-columns: 1fr !important;
    padding: 32px 22px 22px !important;
    gap: 22px !important;
  }
  .footer-top > div {
    padding: 0 0 18px !important;
  }
  .footer-brand {
    align-items: center;
    text-align: center !important;
  }
  .footer-brand .brand-row {
    justify-content: center !important;
  }
  .footer-brand > p {
    margin-top: 18px !important;
  }
  .footer-links h4,   .newsletter h4 {
    font-size: 16px !important;
  }
  .footer-links a,   .newsletter p,   .newsletter input,   .newsletter button {
    font-size: 13px !important;
  }
  .newsletter form {
    height: 50px !important;
  }
}
/* ===== FOOTER COMPACT SIZE RESTORE ===== */
.footer-top {
  max-width: 1380px !important;
  min-height: 210px !important;
  padding: 34px 42px 28px !important;
  grid-template-columns: 1fr .85fr .85fr 1.35fr !important;
  gap: 28px !important;
}
.footer-top > div {
  min-height: 135px;
  padding: 0 20px 0 0 !important;
}
.footer-brand .brand-row {
  gap: 12px !important;
}
.footer-brand .brand-row img {
  width: 58px !important;
  height: 58px !important;
}
.footer-brand .brand-row strong {
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.footer-brand .brand-row small {
  font-size: 6px !important;
  line-height: 1.6;
}
.footer-brand > p {
  margin-top: 18px !important;
  padding: 7px 12px;
  font-size: 9.5px !important;
}
.footer-links h4, .newsletter h4 {
  font-size: 14px !important;
  margin-bottom: 16px !important;
}
.footer-links h4::after, .newsletter h4::after {
  width: 30px;
  bottom: -7px;
}
.footer-links div {
  gap: 8px !important;
}
.footer-links a {
  font-size: 10px !important;
  line-height: 1.7;
  padding-right: 10px;
}
.newsletter p {
  max-width: 320px;
  font-size: 9px !important;
  line-height: 1.9;
  margin-bottom: 14px !important;
}
.newsletter form {
  max-width: 360px;
  height: 40px !important;
  border-radius: 6px;
}
.newsletter input {
  padding: 0 12px !important;
  font-size: 10px;
}
.newsletter button {
  width: 92px !important;
  font-size: 10px !important;
}
.footer-bottom {
  min-height: 72px !important;
  padding: 14px 42px !important;
  gap: 20px;
}
.footer-bottom .bottom-brand {
  gap: 10px !important;
}
.footer-bottom .bottom-brand img {
  width: 38px !important;
  height: 38px !important;
}
.footer-bottom .bottom-brand strong {
  font-size: 10px !important;
}
.footer-bottom > p {
  font-size: 8.5px !important;
}
@media (max-width: 1100px) {
  .footer-top {
    padding: 30px 28px 24px !important;
    gap: 22px !important;
  }
}
@media (max-width: 560px) {
  .footer-top {
    padding: 26px 20px 18px !important;
  }
  .footer-brand .brand-row img {
    width: 52px !important;
    height: 52px !important;
  }
  .footer-links h4,   .newsletter h4 {
    font-size: 13px !important;
  }
}
/* ===== GALLERY LAYOUT REDESIGN ===== */
.gallery {
  min-height: 255px !important;
  height: 255px !important;
  display: grid !important;
  grid-template-columns: 34% 66% !important;
  direction: ltr !important;
  align-items: stretch !important;
  background: #061b28 !important;
  border-top: 1px solid rgba(207,157,89,.35) !important;
  border-bottom: 1px solid rgba(207,157,89,.35) !important;
  overflow: hidden;
}
.gallery-copy {
  direction: rtl !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 28px 34px !important;
  background: radial-gradient(circle at 20% 20%, rgba(194,126,40,.12), transparent 34%),     linear-gradient(135deg, #08283a 0%, #061b28 100%) !important;
}
.gallery-copy h2 {
  font-size: 24px !important;
  margin: 0 0 8px !important;
  color: #fff6e7 !important;
}
.gallery-copy p {
  font-size: 12px !important;
  margin: 0 0 15px !important;
  color: #dce5e9 !important;
}
.gallery-more {
  height: 38px !important;
  min-width: 145px !important;
  margin: 0 auto 17px !important;
  font-size: 10px !important;
  border-radius: 5px !important;
}
.gallery-controls {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  direction: ltr !important;
  padding: 0 !important;
  min-height: 0 !important;
}
.gallery-controls button {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  background: rgba(255,255,255,.055) !important;
  color: #fff !important;
  cursor: pointer;
  transition: .2s ease;
}
.gallery-controls button:hover {
  background: #d49a43 !important;
  color: #092132 !important;
  border-color: #d49a43 !important;
}
.gallery-controls strong {
  font-size: 10px !important;
  color: #f1e8da !important;
  margin-left: 5px !important;
  letter-spacing: 1px;
}
.gallery-stage {
  min-height: 255px !important;
  height: 255px !important;
  width: 100% !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
/* ===== FOOTER COMPLETE REDESIGN ===== */
.site-footer {
  position: relative;
  background: radial-gradient(circle at 10% 0%, rgba(183,117,34,.10), transparent 30%),     linear-gradient(180deg, #08283a 0%, #061d2b 100%) !important;
  color: #fff;
  border-top: 1px solid rgba(211,158,82,.32);
  overflow: hidden;
}
.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.018), transparent);
}
.footer-shell {
  position: relative;
  z-index: 1;
  max-width: 1380px;
  margin: 0 auto;
  padding: 34px 34px 30px;
  display: grid;
  grid-template-columns: 1.15fr .8fr .8fr 1.3fr;
  gap: 18px;
  direction: rtl;
}
.footer-panel {
  min-height: 150px;
  padding: 20px 22px !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 10px;
  background: rgba(255,255,255,.028);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.footer-panel:hover {
  border-color: rgba(207,153,72,.20) !important;
}
.footer-brand {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: right !important;
}
.footer-brand .brand-row {
  display: flex;
  align-items: center;
  gap: 13px !important;
  justify-content: flex-start !important;
}
.footer-brand .brand-row img {
  width: 58px !important;
  height: 58px !important;
  margin: 0 !important;
  object-fit: contain;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.20));
}
.footer-brand .brand-row strong {
  font-family: var(--font-title);
  font-size: 14px !important;
  line-height: 1.55;
  color: #fff5e1;
}
.footer-brand .brand-row small {
  display: block;
  margin-top: 4px;
  font-size: 6px !important;
  line-height: 1.6;
  color: #9fb0b9;
}
.footer-location {
  align-self: flex-start;
  margin: 18px 0 0 !important;
  padding: 7px 12px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  font-size: 9.5px !important;
  color: #d9e2e6;
}
.footer-location span {
  color: #d29a42;
  margin-right: 6px;
}
.footer-links h4, .newsletter h4 {
  position: relative;
  display: inline-block;
  margin: 0 0 17px !important;
  font-family: var(--font-title);
  font-size: 14px !important;
  color: #f0c982;
}
.footer-links h4::after, .newsletter h4::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -8px;
  width: 30px;
  height: 1px;
  background: #c78a34;
}
.footer-links > div {
  display: grid;
  gap: 8px !important;
}
.footer-links a {
  position: relative;
  padding-right: 11px;
  font-size: 10px !important;
  line-height: 1.8;
  color: #d5dfe4;
  transition: .18s ease;
}
.footer-links a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 4px;
  height: 4px;
  margin-top: -2px;
  border-radius: 50%;
  background: #c18431;
}
.footer-links a:hover {
  color: #f2c77e;
  transform: translateX(-2px);
}
.newsletter p {
  margin: 0 0 14px !important;
  font-size: 9px !important;
  line-height: 1.9;
  color: #b8c5cb !important;
}
.newsletter form {
  display: flex;
  height: 42px !important;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 6px;
  overflow: hidden;
  background: rgba(255,255,255,.035);
}
.newsletter input {
  flex: 1;
  min-width: 0;
  border: 0 !important;
  outline: none;
  background: transparent !important;
  color: #fff;
  padding: 0 12px !important;
  font-size: 10px !important;
  direction: rtl;
}
.newsletter input::placeholder {
  color: #8fa2ac;
}
.newsletter button {
  width: 92px !important;
  border: 0 !important;
  background: linear-gradient(180deg, #efc67c, #d7a354) !important;
  color: #153246 !important;
  font-size: 10px !important;
  font-weight: 700;
  cursor: pointer;
}
.footer-bottom-new {
  position: relative;
  z-index: 1;
  min-height: 62px;
  padding: 13px 34px;
  border-top: 1px solid rgba(255,255,255,.075);
  background: rgba(2,16,24,.26);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  direction: rtl;
  color: #aebcc3;
  font-size: 8.5px;
}
.footer-bottom-new span {
  color: #eee4d2;
  font-size: 10px;
  font-weight: 700;
}
.footer-bottom-new p {
  margin: 0;
}
@media (max-width: 850px) {
  .gallery {
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
  }
  .gallery-copy {
    order: 2;
    padding: 24px !important;
  }
  .gallery-stage {
    order: 1;
    height: 230px !important;
    min-height: 230px !important;
  }
  .footer-shell {
    grid-template-columns: 1fr 1fr;
    padding: 28px 24px 24px;
  }
  .footer-bottom-new {
    padding: 16px 24px;
  }
}
@media (max-width: 560px) {
  .gallery-stage {
    height: 200px !important;
    min-height: 200px !important;
  }
  .footer-shell {
    grid-template-columns: 1fr;
    padding: 24px 18px 20px;
    gap: 14px;
  }
  .footer-panel {
    min-height: auto;
  }
  .footer-bottom-new {
    flex-direction: column;
    text-align: center;
  }
}
/* ===== SITE-WIDE FADE IN / FADE OUT ===== */
@keyframes pageSoftFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
body {
  animation: pageSoftFadeIn .7s ease-out both;
}
.fade-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .72s cubic-bezier(.22,.61,.36,1) var(--fade-delay, 0ms),     transform .72s cubic-bezier(.22,.61,.36,1) var(--fade-delay, 0ms);
  will-change: opacity, transform;
}
.fade-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.fade-child {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .58s ease var(--child-delay, 0ms),     transform .58s ease var(--child-delay, 0ms);
  will-change: opacity, transform;
}
.fade-child.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.hero-copy, .news-hero > * {
  animation: heroContentFade .9s cubic-bezier(.22,.61,.36,1) .12s both;
}
@keyframes heroContentFade {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  body,   .hero-copy,   .news-hero > *,   .fade-reveal,   .fade-child {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
/* ===== FOOTER HEIGHT REDUCTION ===== */
.footer-top {
  min-height: 0 !important;
  padding-top: 24px !important;
  padding-bottom: 20px !important;
}
.footer-top > div {
  min-height: 0 !important;
}
.footer-brand {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
  justify-content: center !important;
}
.footer-brand .brand-row {
  min-height: 0 !important;
  gap: 10px !important;
}
.footer-brand .brand-row img {
  width: 52px !important;
  height: 52px !important;
}
.footer-brand .brand-row strong {
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.footer-brand .brand-row small {
  margin-top: 2px !important;
  line-height: 1.35 !important;
}
.footer-brand > p {
  margin-top: 12px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}
.footer-bottom {
  min-height: 58px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.footer-bottom .bottom-brand img {
  width: 34px !important;
  height: 34px !important;
}
@media(max-width:850px) {
  .footer-top {
    padding-top: 22px !important;
    padding-bottom: 18px !important;
  }
  .footer-bottom {
    min-height: 54px !important;
  }
}
/* ===== FOOTER LOGO LARGER ===== */
.footer-brand .brand-row img {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain;
}
.footer-bottom .bottom-brand img {
  width: 46px !important;
  height: 46px !important;
  object-fit: contain;
}
@media(max-width:560px) {
  .footer-brand .brand-row img {
    width: 64px !important;
    height: 64px !important;
  }
}
/* ===== FINAL HERO + CARD SPACING + STRIP GALLERY ===== */
/* Hero: remove conflicting previous layers and keep one predictable composition */
.hero {
  position: relative !important;
  height: 470px !important;
  min-height: 470px !important;
  overflow: hidden !important;
  background-color: #071d2b !important;
  background-image: url('assets/hero.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center 58% !important;
}
.hero::after {
  display: none !important;
  content: none !important;
}
.hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(3,12,18,.82) 0%, rgba(3,12,18,.66) 17%, rgba(3,12,18,.30) 34%, rgba(3,12,18,.06) 55%, rgba(3,12,18,0) 72%) !important;
}
.hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.11)) !important;
  pointer-events: none !important;
}
.hero-copy {
  position: absolute !important;
  z-index: 3 !important;
  left: 56px !important;
  right: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 440px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  direction: rtl !important;
}
.hero .eyebrow, .hero h1, .hero-text {
  width: 100% !important;
  text-align: center !important;
}
.hero h1 {
  margin: 0 !important;
  font-size: 54px !important;
  line-height: 1.12 !important;
}
.hero .ornament {
  margin: 8px auto 10px !important;
}
.hero-text {
  margin: 0 0 18px !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
}
.hero-actions {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  direction: ltr !important;
}
.hero-actions .btn {
  direction: rtl !important;
}
.hero .location {
  z-index: 4 !important;
  right: 24px !important;
  bottom: 16px !important;
}
/* More breathing room between cards/boxes */
.quick {
  padding: 22px 34px 18px !important;
}
.quick-grid {
  gap: 18px !important;
}
.feature-row {
  gap: 18px !important;
  padding: 18px 34px !important;
}
.news {
  padding: 20px 34px 22px !important;
}
.news-grid {
  gap: 18px !important;
}
.quick-card, .feature-card, .news-grid article {
  margin: 0 !important;
}
/* Gallery: slimmer horizontal strip, image right / copy + controls left */
.gallery {
  position: relative !important;
  height: 205px !important;
  min-height: 205px !important;
  display: grid !important;
  grid-template-columns: 32% 68% !important;
  direction: ltr !important;
  overflow: hidden !important;
  background: #061b28 !important;
  border-top: 1px solid rgba(207,157,89,.48) !important;
  border-bottom: 1px solid rgba(207,157,89,.48) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}
.gallery::before {
  content: "";
  position: absolute;
  left: 32%;
  top: 26px;
  bottom: 26px;
  width: 1px;
  z-index: 3;
  background: linear-gradient(180deg, transparent, rgba(223,175,101,.32), transparent);
}
.gallery-copy {
  order: 1 !important;
  direction: rtl !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  padding: 24px 28px !important;
  background: radial-gradient(circle at 12% 12%, rgba(192,125,39,.11), transparent 38%),     linear-gradient(135deg, #08283a 0%, #061b28 70%) !important;
}
.gallery-copy h2 {
  margin: 0 0 6px !important;
  font-size: 22px !important;
  color: #fff4df !important;
}
.gallery-copy p {
  margin: 0 0 12px !important;
  font-size: 11px !important;
  line-height: 1.8 !important;
  color: #d7e1e5 !important;
}
.gallery-more {
  height: 34px !important;
  min-width: 132px !important;
  margin: 0 0 13px !important;
  border-radius: 3px !important;
  font-size: 9.5px !important;
  background: #e9bd72 !important;
  color: #102c3c !important;
}
.gallery-controls {
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  direction: ltr !important;
}
.gallery-controls button {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  background: transparent !important;
  color: #fff !important;
  transition: .2s ease !important;
}
.gallery-controls button:hover {
  background: #d29a43 !important;
  border-color: #d29a43 !important;
  color: #092132 !important;
}
.gallery-controls strong {
  margin-left: 5px !important;
  font-size: 9px !important;
  color: #eadfce !important;
  letter-spacing: 1px !important;
}
.gallery-stage {
  order: 2 !important;
  width: 100% !important;
  height: 205px !important;
  min-height: 205px !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  box-shadow: inset 18px 0 30px rgba(3,17,25,.20) !important;
}
@media (max-width: 1080px) and (min-width: 851px) {
  .hero {
    height: 435px !important;
    min-height: 435px !important;
    background-position: 56% 58% !important;
  }
  .hero-copy {
    left: 34px !important;
    width: 390px !important;
  }
  .hero h1 {
    font-size: 47px !important;
  }
  .quick-grid,   .feature-row,   .news-grid {
    gap: 14px !important;
  }
}
@media (max-width: 850px) {
  .hero {
    height: 520px !important;
    min-height: 520px !important;
    background-position: 60% center !important;
  }
  .hero::before {
    background: linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.12) 35%, rgba(1,9,14,.82) 70%, rgba(1,9,14,.96) 100%) !important;
  }
  .hero-copy {
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: 48px !important;
    transform: none !important;
    width: 100% !important;
    padding: 0 24px !important;
  }
  .hero h1 {
    font-size: 38px !important;
  }
  .hero-text {
    font-size: 13px !important;
  }
  .quick,   .feature-row,   .news {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .quick-grid,   .feature-row,   .news-grid {
    gap: 14px !important;
  }
  .gallery {
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
  }
  .gallery::before {
    display: none !important;
  }
  .gallery-stage {
    order: 1 !important;
    height: 220px !important;
    min-height: 220px !important;
  }
  .gallery-copy {
    order: 2 !important;
    padding: 22px 20px 24px !important;
  }
}
@media (max-width: 560px) {
  .quick-grid {
    gap: 12px !important;
  }
  .hero h1 {
    font-size: 33px !important;
  }
  .hero-actions {
    flex-wrap: wrap !important;
  }
  .gallery-stage {
    height: 190px !important;
    min-height: 190px !important;
  }
}
/* ===== GALLERY TOTAL REDESIGN ===== */
.gallery {
  position: relative !important;
  max-width: 1260px !important;
  margin: 28px auto 34px !important;
  padding: 14px !important;
  height: 268px !important;
  min-height: 268px !important;
  display: grid !important;
  grid-template-columns: 35% 65% !important;
  direction: ltr !important;
  overflow: hidden !important;
  background: radial-gradient(circle at 12% 20%, rgba(214,154,71,.16), transparent 34%),     linear-gradient(135deg, #0b2c3e 0%, #061c28 48%, #0a2434 100%) !important;
  border: 1px solid rgba(215,164,86,.32) !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 42px rgba(5,22,32,.20), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.gallery::before {
  content: "";
  position: absolute;
  inset: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.05);
  pointer-events: none;
}
.gallery-copy {
  order: 1 !important;
  direction: rtl !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0 !important;
  padding: 26px 28px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)),     linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.01)) !important;
  border-radius: 18px !important;
  margin-left: 6px !important;
}
.gallery-copy h2 {
  margin: 0 0 9px !important;
  font-size: 26px !important;
  line-height: 1.35 !important;
  color: #fff4df !important;
}
.gallery-copy p {
  max-width: 310px;
  margin: 0 0 18px !important;
  font-size: 12.5px !important;
  line-height: 2.05 !important;
  color: #d8e1e6 !important;
}
.gallery-more {
  height: 38px !important;
  min-width: 144px !important;
  padding: 0 16px !important;
  margin: 0 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: linear-gradient(180deg, #efca83, #dbab5a) !important;
  color: #0f2b3c !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 18px rgba(207,157,89,.20) !important;
}
.gallery-controls {
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin-top: 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  direction: ltr !important;
}
.gallery-controls button {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  background: rgba(255,255,255,.05) !important;
  color: #f6ead4 !important;
  backdrop-filter: blur(4px);
  transition: .22s ease !important;
}
.gallery-controls button:hover {
  transform: translateY(-2px) !important;
  background: #e1b265 !important;
  border-color: #e1b265 !important;
  color: #092133 !important;
  box-shadow: 0 10px 16px rgba(219,171,90,.18) !important;
}
.gallery-controls strong {
  min-width: 72px;
  margin-left: 4px !important;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  font-size: 10px !important;
  color: #eadfce !important;
  letter-spacing: 1px !important;
}
.gallery-stage {
  order: 2 !important;
  position: relative !important;
  width: 100% !important;
  height: 240px !important;
  min-height: 240px !important;
  margin: 0 !important;
  border-radius: 18px !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  overflow: hidden !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07), inset 40px 0 40px rgba(6,23,33,.10) !important;
}
.gallery-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6,21,31,.18), rgba(6,21,31,0) 28%);
  pointer-events: none;
}
@media (max-width: 1080px) and (min-width: 851px) {
  .gallery {
    height: 246px !important;
    min-height: 246px !important;
    grid-template-columns: 37% 63% !important;
  }
  .gallery-copy h2 {
    font-size: 23px !important;
  }
  .gallery-stage {
    height: 218px !important;
    min-height: 218px !important;
  }
}
@media (max-width: 850px) {
  .gallery {
    height: auto !important;
    min-height: 0 !important;
    margin: 24px 18px 28px !important;
    padding: 12px !important;
    grid-template-columns: 1fr !important;
    border-radius: 22px !important;
  }
  .gallery::before {
    inset: 12px;
  }
  .gallery-stage {
    order: 1 !important;
    height: 226px !important;
    min-height: 226px !important;
    border-radius: 16px !important;
  }
  .gallery-copy {
    order: 2 !important;
    margin-left: 0 !important;
    margin-top: 12px !important;
    padding: 22px 18px 20px !important;
  }
  .gallery-copy p {
    max-width: none;
  }
}
@media (max-width: 560px) {
  .gallery {
    margin: 20px 12px 26px !important;
  }
  .gallery-copy h2 {
    font-size: 21px !important;
  }
  .gallery-copy p {
    font-size: 11.5px !important;
    line-height: 1.95 !important;
  }
  .gallery-stage {
    height: 190px !important;
    min-height: 190px !important;
  }
  .gallery-controls {
    gap: 8px !important;
  }
  .gallery-controls button {
    width: 34px !important;
    height: 34px !important;
  }
}
/* ===== EXTRA GALLERY SPACING + BIGGER LOGOS ===== */
.gallery {
  margin-top: 46px !important;
  margin-bottom: 46px !important;
}
/* Header logo slightly larger */
.site-header .brand img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
}
/* Footer main logo slightly larger */
.footer-brand .brand-row img {
  width: 68px !important;
  height: 68px !important;
  object-fit: contain !important;
}
/* Bottom footer logo slightly larger */
.footer-bottom .bottom-brand img {
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
}
@media (max-width: 850px) {
  .gallery {
    margin-top: 34px !important;
    margin-bottom: 34px !important;
  }
  .site-header .brand img {
    width: 60px !important;
    height: 60px !important;
  }
  .footer-brand .brand-row img {
    width: 62px !important;
    height: 62px !important;
  }
}
/* ===== UNIFIED NAVY PALETTE ===== */
:root {
  --site-navy: #062a40;
  --site-navy-deep: #062a40;
}
/* Main dark surfaces use one navy tone */
.site-header, .feature-row, footer, .gallery, .gallery-copy, .footer-bottom, .main-nav {
  background-color: var(--site-navy) !important;
}
/* Remove mismatched blue gradients while keeping subtle depth */
.gallery {
  background: radial-gradient(circle at 12% 20%, rgba(214,154,71,.12), transparent 34%),     linear-gradient(135deg, var(--site-navy) 0%, var(--site-navy) 100%) !important;
}
.gallery-copy {
  background: rgba(255,255,255,.025) !important;
}
footer {
  background: var(--site-navy) !important;
}
.footer-bottom {
  background: rgba(0,0,0,.08) !important;
}
/* Image-contain backdrops also use the same navy */
.quick-card > img, .feature-card img, .news-grid img, .archive-image {
  background-color: var(--site-navy) !important;
}
@media (max-width:850px) {
  .main-nav {
    background: var(--site-navy) !important;
  }
}
/* ===== REGISTERED SPACING + SQUARE GALLERY CORNERS ===== */
.registered {
  margin-bottom: 0 !important;
}
.feature-row {
  margin-top: 0 !important;
}
.gallery, .gallery::before, .gallery-copy, .gallery-stage, .gallery-more, .gallery-controls strong {
  border-radius: 0 !important;
}
@media (max-width: 850px) {
  .registered {
    margin-bottom: 0 !important;
  }
}
/* ===== GALLERY TEXT VERTICAL SPACING TIGHTER ===== */
.gallery-copy {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}
.gallery-copy h2 {
  margin-bottom: 6px !important;
}
.gallery-copy p {
  margin-bottom: 12px !important;
}
.gallery-more {
  margin-bottom: 10px !important;
}
.gallery-controls {
  margin-top: 0 !important;
}
@media (max-width: 850px) {
  .gallery-copy {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
}
/* ===== GALLERY LEFT PANEL ALIGN WITH IMAGE ===== */
@media (min-width: 851px) {
  .gallery {
    align-items: stretch !important;
  }
  .gallery-copy,   .gallery-stage {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
    box-sizing: border-box !important;
  }
  .gallery-copy {
    align-self: stretch !important;
    justify-self: stretch !important;
    overflow: hidden !important;
    padding: 16px 24px !important;
    justify-content: center !important;
  }
  .gallery-copy h2 {
    margin: 0 0 5px !important;
  }
  .gallery-copy p {
    margin: 0 0 10px !important;
  }
  .gallery-more {
    margin: 0 0 8px !important;
  }
  .gallery-controls {
    margin: 0 !important;
  }
}
/* ===== REGISTERED SECTION LAYOUT FIX ===== */
.registered {
  height: 340px !important;
  display: grid !important;
  grid-template-columns: 44% 56% !important;
  direction: ltr !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 18px 24px 18px 28px !important;
  background: #fbf4e8 !important;
  overflow: hidden !important;
}
.registered-image {
  grid-column: 1 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  border-radius: 0 !important;
}
.registered-copy {
  grid-column: 2 !important;
  direction: rtl !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: right !important;
  padding: 24px 42px 24px 34px !important;
  background: transparent !important;
}
.registered-copy h2, .registered-copy h3, .registered-copy p {
  width: 100% !important;
  text-align: right !important;
}
.registered-copy h2 {
  margin-bottom: 8px !important;
}
.registered-copy h3 {
  margin-bottom: 12px !important;
}
.registered-copy p {
  max-width: 720px !important;
  margin: 0 0 16px auto !important;
}
.registered-btn {
  align-self: flex-start !important;
  margin: 0 !important;
}
.registered-sketch {
  display: none !important;
}
@media (max-width: 850px) {
  .registered {
    height: auto !important;
    grid-template-columns: 1fr !important;
    padding: 16px !important;
  }
  .registered-image {
    grid-column: 1 !important;
    min-height: 260px !important;
  }
  .registered-copy {
    grid-column: 1 !important;
    padding: 24px 8px 10px !important;
  }
}
/* ===== HERO RIGHT DARK LAYER REMOVED ===== */
.hero::before {
  inset: 0 auto 0 0 !important;
  width: 44% !important;
  background: linear-gradient(90deg, rgba(3,12,18,.84) 0%, rgba(3,12,18,.67) 32%, rgba(3,12,18,.30) 68%, rgba(3,12,18,0) 100%) !important;
}
.hero-overlay {
  background: none !important;
}
@media (max-width: 850px) {
  .hero::before {
    inset: 0 !important;
    width: auto !important;
    background: linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.12) 35%, rgba(1,9,14,.82) 70%, rgba(1,9,14,.96) 100%) !important;
  }
}
/* ===== GALLERY ENLARGED FOR BETTER IMAGE VISIBILITY ===== */
@media (min-width: 851px) {
  .gallery {
    grid-template-columns: 29% 71% !important;
    min-height: 360px !important;
    height: 360px !important;
    padding: 18px !important;
    gap: 14px !important;
    align-items: stretch !important;
  }
  .gallery-copy,   .gallery-stage {
    min-height: 324px !important;
    height: 324px !important;
    max-height: 324px !important;
  }
  .gallery-copy {
    padding: 22px 24px !important;
  }
  .gallery-stage {
    background-size: cover !important;
    background-position: center center !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.07), inset 28px 0 28px rgba(6,23,33,.08) !important;
  }
}
@media (max-width: 1080px) and (min-width: 851px) {
  .gallery {
    grid-template-columns: 32% 68% !important;
    min-height: 330px !important;
    height: 330px !important;
  }
  .gallery-copy,   .gallery-stage {
    min-height: 294px !important;
    height: 294px !important;
    max-height: 294px !important;
  }
}
@media (max-width: 850px) {
  .gallery {
    padding: 14px !important;
    gap: 12px !important;
  }
  .gallery-stage {
    height: 270px !important;
    min-height: 270px !important;
  }
}
@media (max-width: 560px) {
  .gallery-stage {
    height: 230px !important;
    min-height: 230px !important;
  }
}
/* ===== FULL-SITE FADE IN / FADE OUT ===== */
.motion-ready body {
  opacity: 0;
  transition: opacity .42s ease;
}
.motion-ready body.page-visible {
  opacity: 1;
}
.motion-ready body.page-leaving {
  opacity: 0 !important;
  pointer-events: none;
}
.fade-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .72s cubic-bezier(.22,.61,.36,1) var(--fade-delay, 0ms),     transform .72s cubic-bezier(.22,.61,.36,1) var(--fade-delay, 0ms);
  will-change: opacity, transform;
}
.fade-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.fade-child {
  opacity: 0;
  transform: translateY(12px) scale(.992);
  transition: opacity .58s ease var(--child-delay, 0ms),     transform .58s ease var(--child-delay, 0ms);
  will-change: opacity, transform;
}
.fade-child.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.site-header.fade-reveal, .hero.fade-reveal, .hero-copy.fade-reveal {
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .motion-ready body,   .fade-reveal,   .fade-child {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
/* ===== 3.5s LOADER + START PAGE AT TOP ===== */
html.site-loading, html.site-loading body {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}
.loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  overflow: hidden;
  opacity: 1 !important;
  visibility: visible !important;
  background: radial-gradient(circle at center, rgba(255,255,255,.03), rgba(255,255,255,0) 42%),     linear-gradient(90deg, var(--navy2) 0%, var(--navy) 50%, var(--navy2) 100%);
  transition: opacity .7s ease, visibility .7s ease !important;
}
.loader::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(201, 162, 90, .22);
  pointer-events: none;
}
.loader::after {
  content: none;
}
.loader.hide {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.loader-inner {
  position: relative;
  z-index: 2;
  width: min(460px, calc(100vw - 56px));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.loader-emblem {
  position: relative;
  width: 220px;
  height: 220px;
  display: grid;
  place-items: center;
  margin-bottom: 14px;
}
.loader-diamond {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  border: 1px solid rgba(201, 162, 90, .18);
}
.loader-diamond-outer {
  width: 150px;
  height: 150px;
}
.loader-diamond-inner {
  width: 118px;
  height: 118px;
  border-color: rgba(201, 162, 90, .12);
}
.loader .loader-inner > img {
  display: none;
}
.loader-emblem > img {
  width: 114px !important;
  height: 114px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 10px rgba(212, 175, 106, .1));
}
.loader-title {
  color: #f1d18f;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 800;
  line-height: 1.45;
  margin-bottom: 28px;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .28);
}
.loader-progress-wrap {
  width: min(400px, 76vw);
}
.loader-progress {
  width: 100%;
  height: 4px;
  overflow: hidden;
  position: relative;
  direction: ltr;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.loader-progress-bar {
  width: 0%;
  height: 100%;
  display: block;
  margin-left: 0;
  margin-right: auto;
  transform-origin: left center;
  border-radius: inherit;
  background: linear-gradient(90deg, #c99645 0%, #f0cc84 55%, #f7deb1 100%);
  box-shadow: 0 0 10px rgba(236, 193, 113, .28);
  transition: width .08s linear;
}
.loader-percent {
  min-width: 68px;
  margin-top: 10px;
  color: rgba(241, 209, 143, .86);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2px;
  text-align: center;
  direction: ltr;
}
@media (max-width: 560px) {
  .loader::before {
    inset: 10px;
  }
  .loader-inner {
    width: min(300px, calc(100vw - 34px));
  }
  .loader-emblem {
    width: 176px;
    height: 176px;
    margin-bottom: 10px;
  }
  .loader-diamond-outer {
    width: 120px;
    height: 120px;
  }
  .loader-diamond-inner {
    width: 95px;
    height: 95px;
  }
  .loader-emblem > img {
    width: 94px !important;
    height: 94px !important;
  }
  .loader-title {
    font-size: 20px;
    margin-bottom: 22px;
  }
  .loader-progress-wrap {
    width: 100%;
  }
}
/* ===== FINAL LOADER CLEANUP: NO CROSS LINES / NO PERCENT ===== */
.loader::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
}
.loader-inner::before, .loader-inner::after, .loader-emblem::before, .loader-emblem::after {
  content: none !important;
  display: none !important;
}
.loader-percent {
  display: none !important;
}
/* ===== EXHIBITIONS PAGE — synced with homepage ===== */
.exhibitions-page {
  background: #f7f2e9;
  color: #0e3150;
}
.exhibitions-main {
  overflow: hidden;
}
.exhibitions-hero {
  position: relative;
  min-height: 470px;
  background: #062a40;
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(340px,44%);
  align-items: stretch;
  overflow: hidden;
  border-bottom: 1px solid rgba(201,131,36,.35);
}
.exhibitions-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 18% 20%,rgba(201,131,36,.16),transparent 35%),linear-gradient(90deg,rgba(3,24,35,.96),rgba(6,42,64,.68) 55%,rgba(6,42,64,.16));
  pointer-events: none;
}
.exhibitions-hero-art {
  grid-column: 2;
  background: url('https://jondishapourmuseum.org/img/IMG_9370%281%29.JPG') center 42%/cover no-repeat;
  filter: saturate(.78) contrast(1.04);
  min-height: 470px;
}
.exhibitions-hero-content {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  padding: 74px 7vw 54px 5vw;
  align-self: center;
  max-width: 780px;
}
.exhibitions-breadcrumb {
  display: flex;
  gap: 9px;
  align-items: center;
  font-size: 11px;
  color: #d6dde1;
  margin-bottom: 34px;
}
.exhibitions-breadcrumb a {
  color: #e3b96d;
}
.exhibitions-breadcrumb strong {
  font-weight: 500;
}
.exhibitions-kicker {
  margin: 0 0 10px;
  color: #e2aa51;
  font-size: 13px;
  letter-spacing: .2px;
}
.exhibitions-hero h1 {
  font-family: var(--font-title);
  font-size: clamp(44px,5vw,74px);
  line-height: 1.12;
  margin: 0 0 18px;
  color: #fff4df;
  font-weight: 800;
}
.exhibitions-hero-content>p:not(.exhibitions-kicker) {
  max-width: 630px;
  margin: 0 0 25px;
  color: #e3eaed;
  font-size: 15px;
  line-height: 2;
}
.exhibitions-scroll {
  height: 44px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  gap: 20px;
  border: 1px solid rgba(242,202,134,.7);
  color: #f2ca86;
  font-size: 11px;
  font-weight: 700;
  transition: .25s;
}
.exhibitions-scroll:hover {
  background: #f2ca86;
  color: #092638;
}
.exhibitions-hero-stats {
  position: absolute;
  z-index: 3;
  left: 5vw;
  right: auto;
  bottom: 28px;
  display: flex;
  direction: rtl;
  background: rgba(3,24,35,.76);
  border: 1px solid rgba(242,202,134,.22);
  backdrop-filter: blur(8px);
}
.exhibitions-hero-stats div {
  min-width: 128px;
  padding: 11px 18px;
  border-left: 1px solid rgba(255,255,255,.08);
  text-align: center;
}
.exhibitions-hero-stats div:last-child {
  border-left: 0;
}
.exhibitions-hero-stats strong {
  display: block;
  color: #efc77e;
  font-size: 18px;
  margin-bottom: 2px;
}
.exhibitions-hero-stats span {
  font-size: 9px;
  color: #d8e0e4;
}
.exhibition-intro,.exhibition-archive {
  max-width: 1320px;
  margin: 0 auto;
  padding: 62px 34px;
}
.exhibition-section-mark {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: #c0791e;
  font-size: 11px;
}
.exhibition-section-mark span {
  width: 38px;
  height: 1px;
  background: #c0791e;
}
.exhibition-section-mark b {
  font-weight: 700;
}
.exhibition-featured {
  display: grid;
  grid-template-columns: minmax(300px,38%) 1fr;
  background: #fff;
  border: 1px solid #e4dbcf;
  box-shadow: 0 18px 45px rgba(12,34,48,.08);
}
.exhibition-featured-poster {
  position: relative;
  min-height: 530px;
  background: #08283b;
  overflow: hidden;
}
.exhibition-featured-poster img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #08283b;
}
.poster-year {
  position: absolute;
  top: 20px;
  left: 20px;
  background: #e6b86b;
  color: #102c3c;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 800;
}
.exhibition-featured-copy {
  padding: 52px 52px 46px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.eyeline {
  margin: 0 0 10px;
  color: #b66d18;
  font-size: 11px;
}
.exhibition-featured-copy h2 {
  font-family: var(--font-title);
  font-size: clamp(27px,3vw,43px);
  line-height: 1.45;
  margin: 0 0 17px;
  color: #083751;
}
.feature-lead {
  font-size: 13px;
  line-height: 2.1;
  color: #56656e;
  margin: 0 0 26px;
  max-width: 720px;
}
.exhibition-facts {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border-top: 1px solid #eadfd1;
  border-bottom: 1px solid #eadfd1;
  margin-bottom: 22px;
}
.exhibition-facts div {
  padding: 16px 14px;
  border-left: 1px solid #eadfd1;
}
.exhibition-facts div:last-child {
  border-left: 0;
}
.exhibition-facts span {
  display: block;
  color: #b87927;
  font-size: 9px;
  margin-bottom: 7px;
}
.exhibition-facts strong {
  display: block;
  color: #173b50;
  font-size: 10px;
  line-height: 1.8;
}
.exhibition-featured-note {
  padding: 15px 18px;
  background: #f8f0e4;
  border-right: 3px solid #c98324;
  color: #596970;
  font-size: 10px;
  line-height: 1.95;
}
.exhibition-archive {
  padding-top: 36px;
}
.exhibition-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 24px;
  border-bottom: 1px solid #ded4c7;
  padding-bottom: 18px;
}
.exhibition-section-head p {
  margin: 0 0 4px;
  color: #bd741e;
  font-size: 10px;
}
.exhibition-section-head h2 {
  font-family: var(--font-title);
  font-size: 30px;
  margin: 0;
  color: #0a3b5b;
}
.section-number {
  color: #b89a75;
  font-size: 11px;
  direction: ltr;
}
.exhibition-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}
.exhibition-card {
  background: #fff;
  border: 1px solid #e6ddd1;
  min-width: 0;
  transition: .28s ease;
  overflow: hidden;
}
.exhibition-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 30px rgba(6,42,64,.12);
}
.exhibition-card-image {
  position: relative;
  height: 390px;
  background: #062a40;
  overflow: hidden;
}
.exhibition-card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #062a40;
  transition: transform .5s ease;
}
.exhibition-card:hover .exhibition-card-image img {
  transform: scale(1.025);
}
.exhibition-card-image span {
  position: absolute;
  right: 14px;
  bottom: 14px;
  background: #f0c77f;
  color: #0b3045;
  padding: 7px 12px;
  font-size: 11px;
  font-weight: 800;
}
.exhibition-card-body {
  padding: 22px 22px 18px;
}
.exhibition-card-body small {
  color: #b77220;
  font-size: 9px;
}
.exhibition-card-body h3 {
  font-size: 17px;
  line-height: 1.75;
  margin: 8px 0 9px;
  color: #0a3a59;
}
.exhibition-card-body p {
  font-size: 10px;
  line-height: 2;
  color: #647179;
  margin: 0 0 16px;
  min-height: 60px;
}
.exhibition-card-meta {
  border-top: 1px solid #eee5da;
  padding-top: 13px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.exhibition-card-meta b {
  font-size: 9px;
  color: #8c6a42;
}
.exhibition-card-meta i {
  font-style: normal;
  font-size: 20px;
  color: #d7c5ad;
  font-family: Georgia,serif;
}
.exhibition-timeline {
  position: relative;
  max-width: 1000px;
  margin: 8px auto 66px;
  padding: 0 30px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  text-align: center;
}
.timeline-line {
  position: absolute;
  top: 18px;
  right: 16%;
  left: 16%;
  height: 1px;
  background: linear-gradient(90deg,transparent,#c98a33,#c98a33,transparent);
}
.timeline-item {
  position: relative;
}
.timeline-item::before {
  content: "";
  position: absolute;
  top: 13px;
  right: 50%;
  width: 9px;
  height: 9px;
  background: #f7f2e9;
  border: 2px solid #c98324;
  transform: translateX(50%) rotate(45deg);
  z-index: 1;
}
.timeline-item b {
  display: block;
  padding-top: 39px;
  color: #0a3b5b;
  font-size: 15px;
}
.timeline-item span {
  font-size: 9px;
  color: #69777e;
}
.exhibition-cta {
  margin: 0 34px 54px;
  background: #062a40;
  color: #fff;
  min-height: 180px;
  padding: 34px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  border-top: 1px solid rgba(217,159,66,.55);
}
.exhibition-cta p {
  margin: 0 0 5px;
  color: #d89b42;
  font-size: 10px;
}
.exhibition-cta h2 {
  font-family: var(--font-title);
  font-size: 28px;
  margin: 0 0 6px;
  color: #fff2dd;
}
.exhibition-cta span {
  font-size: 10px;
  color: #d9e1e5;
}
.exhibition-cta>a {
  height: 46px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  gap: 26px;
  background: #efc77f;
  color: #0c2d40;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
@media(max-width:1050px) {
  .exhibitions-hero {
    grid-template-columns: 1fr 42%;
  }
  .exhibitions-hero-content {
    padding-right: 40px;
  }
  .exhibition-featured-copy {
    padding: 38px 34px;
  }
  .exhibition-facts {
    grid-template-columns: 1fr;
  }
  .exhibition-facts div {
    border-left: 0;
    border-bottom: 1px solid #eadfd1;
  }
  .exhibition-facts div:last-child {
    border-bottom: 0;
  }
  .exhibition-grid {
    gap: 14px;
  }
  .exhibition-card-image {
    height: 330px;
  }
}
@media(max-width:850px) {
  .exhibitions-hero {
    display: block;
    min-height: auto;
  }
  .exhibitions-hero-art {
    height: 300px;
    min-height: 0;
    background-position: center 35%;
  }
  .exhibitions-hero::after {
    background: linear-gradient(180deg,rgba(6,42,64,.15),rgba(6,42,64,.98) 52%);
  }
  .exhibitions-hero-content {
    padding: 36px 22px 118px;
    margin-top: -155px;
  }
  .exhibitions-hero h1 {
    font-size: 43px;
  }
  .exhibitions-hero-stats {
    left: 18px;
    right: 18px;
    bottom: 24px;
    justify-content: stretch;
  }
  .exhibitions-hero-stats div {
    min-width: 0;
    flex: 1;
    padding: 9px 8px;
  }
  .exhibition-intro,.exhibition-archive {
    padding: 44px 18px;
  }
  .exhibition-featured {
    grid-template-columns: 1fr;
  }
  .exhibition-featured-poster {
    min-height: 420px;
  }
  .exhibition-featured-copy {
    padding: 30px 24px;
  }
  .exhibition-grid {
    grid-template-columns: 1fr;
  }
  .exhibition-card {
    display: grid;
    grid-template-columns: 38% 1fr;
  }
  .exhibition-card-image {
    height: 300px;
  }
  .exhibition-card-body p {
    min-height: 0;
  }
  .exhibition-cta {
    margin: 0 18px 38px;
    padding: 28px;
    display: block;
  }
  .exhibition-cta>a {
    margin-top: 20px;
  }
}
@media(max-width:560px) {
  .exhibitions-hero-art {
    height: 250px;
  }
  .exhibitions-hero-content {
    margin-top: -130px;
    padding-bottom: 150px;
  }
  .exhibitions-hero-stats {
    display: grid;
    grid-template-columns: repeat(3,1fr);
  }
  .exhibitions-hero-stats span {
    font-size: 7px;
  }
  .exhibition-featured-poster {
    min-height: 360px;
  }
  .exhibition-featured-copy h2 {
    font-size: 26px;
  }
  .exhibition-card {
    display: block;
  }
  .exhibition-card-image {
    height: 330px;
  }
  .exhibition-section-head h2 {
    font-size: 24px;
  }
  .exhibition-timeline {
    padding: 0 12px;
  }
  .timeline-item span {
    font-size: 7px;
  }
  .exhibition-cta h2 {
    font-size: 23px;
  }
}
/* ===== EXHIBITIONS V2 — ORIGINAL MUSEUM EDITORIAL DESIGN ===== */
.exhibitions-v2 {
  background: #f7f2e9;
  color: #0d334b;
}
.exv2-main {
  overflow: hidden;
}
.exv2-hero {
  position: relative;
  min-height: 610px;
  background: #062a40;
  color: #fff;
  display: grid;
  grid-template-columns: minmax(420px,44%) 1fr;
  direction: ltr;
  overflow: hidden;
  border-bottom: 1px solid rgba(205,151,70,.42);
}
.exv2-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 78% 20%,rgba(215,158,70,.13),transparent 34%),linear-gradient(110deg,#041d2c 0%,#062a40 55%,#092f45 100%);
  pointer-events: none;
}
.exv2-hero::after {
  content: "";
  position: absolute;
  left: 44%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg,transparent,rgba(222,177,102,.28),transparent);
  pointer-events: none;
}
.exv2-hero-copy {
  position: relative;
  z-index: 3;
  direction: rtl;
  padding: 88px 58px 74px 6vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: right;
}
.exv2-breadcrumb {
  display: flex;
  gap: 9px;
  align-items: center;
  margin-bottom: 42px;
  color: #cdd8dd;
  font-size: 10px;
}
.exv2-breadcrumb a {
  color: #e5b76a;
}
.exv2-breadcrumb strong {
  font-weight: 500;
}
.exv2-eyebrow {
  margin: 0 0 10px;
  color: #d9983b;
  font-size: 12px;
}
.exv2-hero h1 {
  font-family: var(--font-title);
  font-size: clamp(58px,6vw,92px);
  line-height: 1;
  margin: 0 0 24px;
  color: #fff2d9;
  font-weight: 800;
  letter-spacing: -2px;
}
.exv2-lead {
  max-width: 560px;
  margin: 0 0 30px;
  color: #dce5e8;
  font-size: 14px;
  line-height: 2.15;
}
.exv2-primary {
  height: 46px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  gap: 24px;
  background: #efc77e;
  color: #0b2b3e;
  font-size: 10px;
  font-weight: 800;
  transition: .25s;
}
.exv2-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(0,0,0,.18);
}
.exv2-hero-index {
  position: absolute;
  left: 24px;
  bottom: 22px;
  z-index: 3;
  color: rgba(255,255,255,.24);
  font-size: 8px;
  letter-spacing: 3px;
  direction: ltr;
}
.exv2-hero-gallery {
  position: relative;
  z-index: 2;
  grid-column: 2;
  display: block;
  min-height: 610px;
  direction: ltr;
}
.exv2-frame {
  position: absolute;
  margin: 0;
  background: #071e2d;
  border: 1px solid rgba(230,190,125,.24);
  box-shadow: 0 24px 48px rgba(0,0,0,.24);
  overflow: hidden;
}
.exv2-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #061f30;
  display: block;
}
.exv2-frame figcaption {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  height: 54px;
  background: linear-gradient(180deg,transparent,rgba(2,15,23,.95));
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0 14px 10px;
  color: #fff;
  direction: rtl;
}
.exv2-frame figcaption b {
  color: #efc477;
  font-size: 11px;
}
.exv2-frame figcaption span {
  font-size: 8px;
  color: #e4eaec;
}
.exv2-frame-a {
  width: 43%;
  height: 72%;
  right: 7%;
  top: 9%;
  z-index: 3;
  transform: rotate(-1.2deg);
}
.exv2-frame-b {
  width: 31%;
  height: 54%;
  left: 8%;
  top: 15%;
  z-index: 2;
  transform: rotate(2.5deg);
}
.exv2-frame-c {
  width: 29%;
  height: 48%;
  left: 27%;
  bottom: 5%;
  z-index: 4;
  transform: rotate(-2deg);
}
.exv2-intro {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 42px 62px;
  display: grid;
  grid-template-columns: 70px 390px 1fr;
  gap: 24px;
  align-items: start;
  border-bottom: 1px solid #dfd5c8;
}
.exv2-intro-mark {
  width: 54px;
  height: 54px;
  border: 1px solid #d6b279;
  display: grid;
  place-items: center;
  color: #c98324;
  font-size: 16px;
}
.exv2-intro>div:nth-child(2)>p {
  margin: 0 0 8px;
  color: #ba721e;
  font-size: 10px;
}
.exv2-intro h2 {
  font-family: var(--font-title);
  font-size: 34px;
  line-height: 1.4;
  margin: 0;
  color: #093a58;
}
.exv2-intro-text {
  margin: 0;
  color: #627178;
  font-size: 12px;
  line-height: 2.15;
  max-width: 650px;
  padding-top: 5px;
}
.exv2-route {
  max-width: 1280px;
  margin: 0 auto;
  padding: 74px 42px 86px;
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.exv2-showcase {
  display: grid;
  grid-template-columns: minmax(380px,48%) 1fr;
  min-height: 500px;
  background: #fff;
  border: 1px solid #e2d8ca;
  box-shadow: 0 12px 32px rgba(7,38,55,.06);
  overflow: hidden;
  direction: ltr;
}
.exv2-showcase-reverse {
  grid-template-columns: 1fr minmax(380px,48%);
}
.exv2-showcase-reverse .exv2-showcase-media {
  grid-column: 2;
}
.exv2-showcase-reverse .exv2-showcase-copy {
  grid-column: 1;
  grid-row: 1;
}
.exv2-showcase-media {
  position: relative;
  background: transparent;
  min-height: 500px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.exv2-showcase-media::after {
  display: none;
}
.exv2-showcase-media img {
  width: auto;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
  background: transparent;
  display: block;
  transition: transform .55s ease,filter .55s ease;
}
.exv2-showcase:hover .exv2-showcase-media img {
  transform: scale(1.02);
  filter: brightness(1.04);
}
.exv2-photo-tag {
  position: absolute;
  left: 18px;
  bottom: 18px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: #efc77e;
  color: #0b2c3e;
  font: 700 12px/1 Georgia,serif;
}
.exv2-showcase-copy {
  direction: rtl;
  text-align: right;
  padding: 54px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.exv2-showcase-copy::before {
  content: "";
  position: absolute;
  top: 52px;
  right: 0;
  width: 4px;
  height: 62px;
  background: #c98324;
}
.exv2-year {
  font-family: Georgia,serif;
  font-size: 54px;
  line-height: 1;
  color: #d9c5a8;
  margin-bottom: 10px;
  direction: ltr;
  text-align: right;
}
.exv2-type {
  margin: 0 0 10px;
  color: #b36b18;
  font-size: 10px;
}
.exv2-showcase h2 {
  font-family: var(--font-title);
  font-size: clamp(26px,2.4vw,39px);
  line-height: 1.48;
  color: #083a59;
  margin: 0 0 18px;
}
.exv2-showcase-copy>p:not(.exv2-type) {
  margin: 0 0 26px;
  color: #5f6f77;
  font-size: 11.5px;
  line-height: 2.1;
  max-width: 620px;
}
.exv2-meta {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #e7ddd0;
}
.exv2-meta div {
  padding: 16px 0 0 18px;
}
.exv2-meta dt {
  color: #b97828;
  font-size: 8px;
  margin-bottom: 6px;
}
.exv2-meta dd {
  margin: 0;
  color: #23465a;
  font-size: 9.5px;
  line-height: 1.8;
}
.exv2-archive-band {
  margin: 0 34px 58px;
  padding: 38px 48px;
  background: #062a40;
  color: #fff;
  display: grid;
  grid-template-columns: 1.1fr 1.2fr auto;
  gap: 36px;
  align-items: center;
  border-top: 1px solid rgba(230,177,94,.5);
}
.exv2-archive-copy>span {
  display: block;
  color: #d99b42;
  font-size: 8px;
  letter-spacing: 3px;
  direction: ltr;
  text-align: right;
  margin-bottom: 8px;
}
.exv2-archive-copy h2 {
  font-family: var(--font-title);
  font-size: 29px;
  margin: 0 0 8px;
  color: #fff2db;
}
.exv2-archive-copy p {
  font-size: 9px;
  line-height: 1.9;
  color: #cfdbdf;
  margin: 0;
  max-width: 420px;
}
.exv2-years {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border-right: 1px solid rgba(255,255,255,.1);
  border-left: 1px solid rgba(255,255,255,.1);
}
.exv2-years a {
  padding: 10px 18px;
  text-align: center;
  border-left: 1px solid rgba(255,255,255,.08);
}
.exv2-years a:last-child {
  border-left: 0;
}
.exv2-years b {
  display: block;
  color: #efc77e;
  font-size: 18px;
  margin-bottom: 3px;
}
.exv2-years span {
  font-size: 8px;
  color: #d8e1e4;
}
.exv2-news-link {
  height: 44px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  gap: 22px;
  background: #efc77e;
  color: #0b2d40;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}
@media(max-width:1100px) {
  .exv2-hero {
    grid-template-columns: 44% 1fr;
  }
  .exv2-hero-copy {
    padding-right: 38px;
  }
  .exv2-frame-a {
    width: 48%;
  }
  .exv2-frame-b {
    width: 35%;
    left: 5%;
  }
  .exv2-frame-c {
    width: 32%;
    left: 25%;
  }
  .exv2-intro {
    grid-template-columns: 60px 320px 1fr;
  }
  .exv2-showcase-copy {
    padding: 42px 36px;
  }
  .exv2-archive-band {
    grid-template-columns: 1fr 1fr;
  }
  .exv2-news-link {
    grid-column: 1/-1;
    justify-self: start;
  }
}
@media(max-width:850px) {
  .exv2-hero {
    display: block;
    min-height: auto;
  }
  .exv2-hero::after {
    display: none;
  }
  .exv2-hero-copy {
    padding: 52px 24px 44px;
  }
  .exv2-hero-gallery {
    height: 470px;
    min-height: 0;
  }
  .exv2-frame-a {
    width: 47%;
    height: 74%;
    right: 7%;
    top: 5%;
  }
  .exv2-frame-b {
    width: 36%;
    height: 52%;
    left: 5%;
    top: 12%;
  }
  .exv2-frame-c {
    width: 34%;
    height: 46%;
    left: 28%;
    bottom: 3%;
  }
  .exv2-intro {
    padding: 50px 20px;
    grid-template-columns: 50px 1fr;
  }
  .exv2-intro-text {
    grid-column: 1/-1;
    padding-right: 74px;
  }
  .exv2-route {
    padding: 50px 18px 64px;
    gap: 34px;
  }
  .exv2-showcase,.exv2-showcase-reverse {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .exv2-showcase-reverse .exv2-showcase-media,.exv2-showcase-reverse .exv2-showcase-copy {
    grid-column: 1;
    grid-row: auto;
  }
  .exv2-showcase-media {
    height: 390px;
    min-height: 0;
  }
  .exv2-showcase-copy {
    padding: 34px 26px;
  }
  .exv2-showcase-copy::before {
    top: 34px;
    height: 50px;
  }
  .exv2-meta {
    grid-template-columns: 1fr;
  }
  .exv2-meta div {
    padding-left: 0;
  }
  .exv2-archive-band {
    margin: 0 18px 38px;
    padding: 30px 24px;
    grid-template-columns: 1fr;
  }
  .exv2-years {
    border: 0;
  }
  .exv2-news-link {
    grid-column: auto;
  }
}
@media(max-width:560px) {
  .exv2-hero-copy {
    padding-top: 38px;
  }
  .exv2-hero h1 {
    font-size: 54px;
  }
  .exv2-lead {
    font-size: 12px;
  }
  .exv2-hero-gallery {
    height: 390px;
  }
  .exv2-frame-a {
    width: 50%;
    height: 72%;
    right: 4%;
  }
  .exv2-frame-b {
    width: 38%;
    left: 3%;
  }
  .exv2-frame-c {
    width: 36%;
    left: 28%;
  }
  .exv2-intro {
    grid-template-columns: 42px 1fr;
    padding: 42px 16px;
  }
  .exv2-intro-mark {
    width: 42px;
    height: 42px;
  }
  .exv2-intro h2 {
    font-size: 27px;
  }
  .exv2-intro-text {
    padding-right: 0;
  }
  .exv2-route {
    padding-left: 12px;
    padding-right: 12px;
  }
  .exv2-showcase-media {
    height: 330px;
  }
  .exv2-year {
    font-size: 44px;
  }
  .exv2-showcase h2 {
    font-size: 26px;
  }
  .exv2-years a {
    padding: 8px;
  }
  .exv2-archive-band {
    margin-left: 12px;
    margin-right: 12px;
  }
}
/* ===== EXHIBITIONS V2 COMPACT REFINEMENT ===== */
@media (min-width: 851px) {
  .exv2-hero {
    min-height: 470px !important;
  }
  .exv2-hero-gallery {
    min-height: 470px !important;
  }
  .exv2-hero-copy {
    padding-top: 58px !important;
    padding-bottom: 50px !important;
  }
  .exv2-breadcrumb {
    margin-bottom: 26px !important;
  }
  .exv2-hero h1 {
    font-size: clamp(50px, 5vw, 76px) !important;
    margin-bottom: 18px !important;
  }
  .exv2-lead {
    margin-bottom: 22px !important;
    line-height: 1.95 !important;
  }
  .exv2-frame-a {
    height: 68% !important;
    top: 7% !important;
  }
  .exv2-frame-b {
    height: 50% !important;
    top: 13% !important;
  }
  .exv2-frame-c {
    height: 44% !important;
    bottom: 6% !important;
  }
  .exv2-route {
    padding-top: 54px !important;
    padding-bottom: 62px !important;
    gap: 40px !important;
  }
  .exv2-showcase,   .exv2-showcase-reverse {
    min-height: 390px !important;
  }
  .exv2-showcase-media {
    min-height: 390px !important;
    height: 390px !important;
  }
  .exv2-showcase-copy {
    padding: 38px 40px !important;
  }
  .exv2-showcase-copy::before {
    top: 38px !important;
    height: 48px !important;
  }
  .exv2-year {
    font-size: 44px !important;
    margin-bottom: 7px !important;
  }
  .exv2-showcase h2 {
    font-size: clamp(24px, 2.1vw, 33px) !important;
    margin-bottom: 13px !important;
  }
  .exv2-showcase-copy > p:not(.exv2-type) {
    margin-bottom: 18px !important;
    line-height: 1.95 !important;
  }
  .exv2-meta div {
    padding-top: 12px !important;
  }
  .exv2-photo-tag {
    width: 36px !important;
    height: 36px !important;
    left: 14px !important;
    bottom: 14px !important;
  }
  .exv2-archive-band {
    margin-bottom: 42px !important;
    padding: 22px 34px !important;
    gap: 26px !important;
  }
  .exv2-archive-copy > span {
    margin-bottom: 5px !important;
  }
  .exv2-archive-copy h2 {
    font-size: 24px !important;
    margin-bottom: 5px !important;
  }
  .exv2-archive-copy p {
    line-height: 1.7 !important;
  }
  .exv2-years a {
    padding: 7px 12px !important;
  }
  .exv2-years b {
    font-size: 16px !important;
  }
  .exv2-news-link {
    height: 38px !important;
    padding: 0 16px !important;
  }
}
@media (max-width: 850px) {
  .exv2-hero-gallery {
    height: 360px !important;
  }
  .exv2-hero-copy {
    padding-top: 38px !important;
    padding-bottom: 34px !important;
  }
  .exv2-route {
    padding-top: 38px !important;
    padding-bottom: 48px !important;
    gap: 26px !important;
  }
  .exv2-showcase-media {
    height: 315px !important;
  }
  .exv2-showcase-copy {
    padding: 26px 22px !important;
  }
  .exv2-archive-band {
    padding: 22px 20px !important;
    margin-bottom: 30px !important;
  }
}
@media (max-width: 560px) {
  .exv2-hero-gallery {
    height: 315px !important;
  }
  .exv2-showcase-media {
    height: 280px !important;
  }
  .exv2-year {
    font-size: 38px !important;
  }
  .exv2-archive-copy h2 {
    font-size: 22px !important;
  }
}
/* ===== EXHIBITIONS TRUE IMAGE FIT: NO SIDE BARS, FULL IMAGE VISIBLE ===== */
.exv2-showcase, .exv2-showcase-reverse {
  align-items: stretch !important;
  min-height: 0 !important;
}
.exv2-showcase-media {
  min-height: 0 !important;
  height: auto !important;
  background: transparent !important;
  overflow: hidden !important;
  display: block !important;
}
.exv2-showcase-media img {
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  object-fit: initial !important;
  object-position: center center !important;
  background: transparent !important;
  display: block !important;
}
.exv2-showcase-copy {
  height: auto !important;
  min-height: 100% !important;
}
@media (max-width: 850px) {
  .exv2-showcase-media,   .exv2-showcase-media img {
    height: auto !important;
    min-height: 0 !important;
  }
}
/* ===== EXHIBITIONS HERO TRUE FIT + INTRO COMPACT ===== */
.exv2-hero-gallery {
  min-height: 470px !important;
}
.exv2-frame {
  height: auto !important;
  background: transparent !important;
  overflow: hidden !important;
}
.exv2-frame img {
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  object-fit: initial !important;
  object-position: center center !important;
  background: transparent !important;
  display: block !important;
}
.exv2-frame-a {
  width: 38% !important;
  height: auto !important;
  right: 7% !important;
  top: 7% !important;
}
.exv2-frame-b {
  width: 27% !important;
  height: auto !important;
  left: 9% !important;
  top: 13% !important;
}
.exv2-frame-c {
  width: 25% !important;
  height: auto !important;
  left: 29% !important;
  bottom: 6% !important;
}
.exv2-intro {
  padding: 36px 42px 30px !important;
  grid-template-columns: 64px 360px 1fr !important;
  gap: 20px !important;
}
.exv2-intro-mark {
  width: 48px !important;
  height: 48px !important;
}
.exv2-intro > div:nth-child(2) > p {
  margin-bottom: 6px !important;
}
.exv2-intro h2 {
  font-size: 28px !important;
  line-height: 1.35 !important;
}
.exv2-intro-text {
  font-size: 11px !important;
  line-height: 2 !important;
  padding-top: 2px !important;
}
@media (max-width: 1100px) {
  .exv2-frame-a {
    width: 42% !important;
  }
  .exv2-frame-b {
    width: 31% !important;
    left: 7% !important;
  }
  .exv2-frame-c {
    width: 29% !important;
    left: 27% !important;
  }
  .exv2-intro {
    padding: 32px 30px 26px !important;
    grid-template-columns: 58px 320px 1fr !important;
  }
}
@media (max-width: 850px) {
  .exv2-hero-gallery {
    height: 360px !important;
    min-height: 360px !important;
  }
  .exv2-frame-a {
    width: 42% !important;
    right: 6% !important;
    top: 6% !important;
  }
  .exv2-frame-b {
    width: 32% !important;
    left: 4% !important;
    top: 11% !important;
  }
  .exv2-frame-c {
    width: 30% !important;
    left: 27% !important;
    bottom: 4% !important;
  }
  .exv2-intro {
    padding: 26px 20px 22px !important;
    grid-template-columns: 48px 1fr !important;
    gap: 16px !important;
  }
  .exv2-intro h2 {
    font-size: 24px !important;
  }
  .exv2-intro-text {
    grid-column: 1 / -1 !important;
    padding-right: 64px !important;
  }
}
@media (max-width: 560px) {
  .exv2-hero-gallery {
    height: 315px !important;
    min-height: 315px !important;
  }
  .exv2-frame-a {
    width: 44% !important;
  }
  .exv2-frame-b {
    width: 34% !important;
    left: 3% !important;
  }
  .exv2-frame-c {
    width: 32% !important;
    left: 26% !important;
  }
  .exv2-intro {
    padding: 22px 16px 18px !important;
    grid-template-columns: 42px 1fr !important;
  }
  .exv2-intro-mark {
    width: 40px !important;
    height: 40px !important;
  }
  .exv2-intro h2 {
    font-size: 22px !important;
  }
  .exv2-intro-text {
    padding-right: 0 !important;
    font-size: 10px !important;
    line-height: 1.95 !important;
  }
}
/* ===== EXHIBITIONS: ONLY CARDS 01/02/03 SMALLER + INTRO SHORTER ===== */
@media (min-width: 851px) {
  .exv2-route {
    max-width: 1080px !important;
    padding-left: 34px !important;
    padding-right: 34px !important;
  }
  .exv2-intro {
    padding-top: 22px !important;
    padding-bottom: 18px !important;
    min-height: 0 !important;
  }
}
@media (max-width: 850px) {
  .exv2-route {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .exv2-intro {
    padding-top: 20px !important;
    padding-bottom: 16px !important;
    min-height: 0 !important;
  }
}
@media (max-width: 560px) {
  .exv2-route {
    max-width: 100% !important;
  }
  .exv2-intro {
    padding-top: 16px !important;
    padding-bottom: 14px !important;
  }
}
/* ===== Final exhibitions page redesign ===== */
.ex3-main {
  background: #f7f2e9;
  color: #0e3150;
  min-height: 100vh;
}
.ex3-hero {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(360px,40%) 1fr;
  min-height: 430px;
  background: #f7f2e9;
  overflow: hidden;
  direction: rtl;
}
.ex3-hero-copy {
  padding: 66px 54px 54px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: right;
  position: relative;
  z-index: 2;
}
.ex3-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  color: #69777e;
  margin-bottom: 22px;
}
.ex3-breadcrumb strong {
  color: #0b3653;
  font-weight: 700;
}
.ex3-kicker {
  margin: 0 0 8px;
  color: #bd7a28;
  font-size: 10px;
  letter-spacing: 3px;
  direction: ltr;
  text-align: right;
}
.ex3-hero h1 {
  margin: 0;
  color: #0a3551;
  font-size: clamp(48px,5vw,76px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -1.5px;
}
.ex3-rule {
  width: 170px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 9px;
  margin: 16px 0 20px auto;
}
.ex3-rule span {
  height: 1px;
  background: #d7aa68;
}
.ex3-rule i {
  font-style: normal;
  color: #c98324;
  font-size: 10px;
}
.ex3-lead {
  max-width: 500px;
  margin: 0;
  color: #65747c;
  font-size: 13px;
  line-height: 2.15;
}
.ex3-hero-media {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border-bottom-right-radius: 72px;
}
.ex3-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.ex3-hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(247,242,233,.96) 0%,rgba(247,242,233,.55) 20%,rgba(247,242,233,.05) 50%,rgba(0,0,0,.03) 100%);
  pointer-events: none;
}
.ex3-grid {
  max-width: 1320px;
  margin: 0 auto;
  padding: 56px 34px 24px;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
  direction: rtl;
}
.ex3-card {
  background: #fffdf9;
  border: 1px solid #e7ded1;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(22,47,63,.06);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition: transform .28s ease,box-shadow .28s ease;
}
.ex3-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 36px rgba(22,47,63,.1);
}
.ex3-card-image {
  height: 220px;
  display: block;
  overflow: hidden;
  background: #0a2233;
}
.ex3-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .45s ease,filter .45s ease;
}
.ex3-card:hover .ex3-card-image img {
  transform: scale(1.025);
  filter: brightness(1.02);
}
.ex3-card-body {
  padding: 24px 24px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
  text-align: right;
}
.ex3-year {
  color: #b9873f;
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 12px;
}
.ex3-card h2 {
  margin: 0 0 12px;
  color: #0a3551;
  font-size: 20px;
  line-height: 1.65;
  font-weight: 800;
}
.ex3-card-body>p {
  margin: 0 0 18px;
  color: #6a777e;
  font-size: 11px;
  line-height: 2;
}
.ex3-card-meta {
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px solid #e8dfd3;
  display: grid;
  gap: 7px;
  color: #5e6e76;
  font-size: 10px;
}
.ex3-card-meta span {
  position: relative;
  padding-right: 18px;
}
.ex3-card-meta span::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border: 1px solid #c58a36;
  transform: translateY(-50%) rotate(45deg);
}
.ex3-card-link {
  margin-top: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #0a3551;
  font-size: 11px;
  font-weight: 700;
}
.ex3-card-link b {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #0a3551;
  color: #fff;
  font-size: 16px;
  transition: transform .25s ease,background .25s ease;
}
.ex3-card-link:hover b {
  transform: translateX(-3px);
  background: #c98324;
}
.ex3-footer-cta {
  max-width: 1320px;
  margin: 0 auto;
  padding: 14px 34px 64px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
}
.ex3-footer-cta>span {
  height: 1px;
  background: linear-gradient(90deg,transparent,#d3a05d);
}
.ex3-footer-cta>span:last-child {
  transform: scaleX(-1);
}
.ex3-footer-cta a {
  height: 44px;
  padding: 0 24px;
  border: 1px solid #c99b59;
  border-radius: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #0b3653;
  background: #fffaf2;
  font-size: 11px;
  font-weight: 700;
  transition: background .25s ease,color .25s ease;
}
.ex3-footer-cta a:hover {
  background: #0b3653;
  color: #fff;
}
.ex3-anchors {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
@media(max-width:980px) {
  .ex3-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .ex3-hero-copy {
    padding: 48px 28px 34px;
  }
  .ex3-hero-media {
    min-height: 320px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 48px;
  }
  .ex3-hero-shade {
    background: linear-gradient(180deg,rgba(247,242,233,.08),rgba(0,0,0,.12));
  }
  .ex3-grid {
    grid-template-columns: 1fr 1fr;
    padding: 40px 22px 22px;
  }
  .ex3-card:first-child {
    grid-column: 1/-1;
  }
  .ex3-card:first-child .ex3-card-image {
    height: 300px;
  }
}
@media(max-width:640px) {
  .ex3-hero-copy {
    padding: 38px 18px 28px;
  }
  .ex3-breadcrumb {
    margin-bottom: 16px;
  }
  .ex3-hero h1 {
    font-size: 48px;
  }
  .ex3-lead {
    font-size: 11px;
    line-height: 2;
  }
  .ex3-hero-media {
    min-height: 240px;
    border-radius: 0;
  }
  .ex3-grid {
    grid-template-columns: 1fr;
    padding: 28px 12px 18px;
    gap: 18px;
  }
  .ex3-card:first-child {
    grid-column: auto;
  }
  .ex3-card-image,.ex3-card:first-child .ex3-card-image {
    height: 220px;
  }
  .ex3-card-body {
    padding: 20px 18px 18px;
  }
  .ex3-card h2 {
    font-size: 18px;
  }
  .ex3-footer-cta {
    padding: 8px 12px 42px;
    grid-template-columns: 36px auto 36px;
    gap: 10px;
  }
  .ex3-footer-cta a {
    padding: 0 16px;
    font-size: 10px;
  }
}
/* ===== Selected exhibitions page design (ex4) ===== */
.exhibitions-page .ex4-main {
  background: #f8f3ea;
  color: #0b3552;
  min-height: 100vh;
}
.ex4-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(380px,38%) 1fr;
  min-height: 360px;
  background: #f8f3ea;
  overflow: hidden;
  direction: ltr;
}
.ex4-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 17%;
  pointer-events: none;
  opacity: .15;
  background: linear-gradient(90deg,transparent,rgba(189,138,64,.16)),     repeating-linear-gradient(90deg,transparent 0 36px,rgba(189,138,64,.18) 37px 38px,transparent 39px 72px);
  clip-path: polygon(0 0,100% 0,66% 100%,0 100%);
}
.ex4-hero-copy {
  direction: rtl;
  position: relative;
  z-index: 3;
  padding: 48px 54px 42px 58px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: right;
}
.ex4-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #6d797f;
  font-size: 11px;
  margin-bottom: 20px;
}
.ex4-breadcrumb strong {
  color: #0b3552;
}
.ex4-hero h1 {
  margin: 0;
  color: #0a3552;
  font-size: clamp(46px,5vw,70px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -1px;
}
.ex4-title-rule {
  width: 230px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  margin: 16px 0 17px auto;
}
.ex4-title-rule span {
  height: 1px;
  background: #d1a66e;
}
.ex4-title-rule i {
  font-style: normal;
  color: #b98136;
  font-size: 10px;
}
.ex4-hero-copy>p {
  max-width: 500px;
  margin: 0;
  color: #536978;
  font-size: 13px;
  line-height: 2.1;
}
.ex4-hero-media {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border-bottom-right-radius: 72px;
  direction: rtl;
}
.ex4-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  display: block;
}
.ex4-hero-fade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,#f8f3ea 0%,rgba(248,243,234,.74) 13%,rgba(248,243,234,.16) 38%,transparent 58%);
  pointer-events: none;
}
.ex4-cards {
  max-width: 1420px;
  margin: 0 auto;
  padding: 42px 48px 18px;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
  direction: rtl;
}
.ex4-card {
  background: #fffdf9;
  border: 1px solid #e6ded2;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(25,49,64,.055);
  display: flex;
  flex-direction: column;
  transition: transform .28s ease,box-shadow .28s ease;
}
.ex4-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 17px 34px rgba(25,49,64,.09);
}
.ex4-card-media {
  position: relative;
  height: 190px;
  overflow: hidden;
  background: #122637;
}
.ex4-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .42s ease,filter .42s ease;
}
.ex4-card:hover .ex4-card-media img {
  transform: scale(1.02);
  filter: brightness(1.03);
}
.ex4-badge {
  position: absolute;
  right: 18px;
  bottom: 14px;
  background: #f3dca8;
  color: #263c49;
  border-radius: 18px;
  padding: 7px 14px 6px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 3px 10px rgba(0,0,0,.08);
}
.ex4-card-content {
  flex: 1;
  padding: 20px 22px 18px;
  display: flex;
  flex-direction: column;
  text-align: right;
}
.ex4-year {
  color: #b1813d;
  font-size: 27px;
  line-height: 1;
  font-weight: 800;
  margin-bottom: 11px;
}
.ex4-card h2 {
  color: #0a3552;
  font-size: 19px;
  line-height: 1.62;
  font-weight: 800;
  margin: 0 0 9px;
}
.ex4-card-content>p {
  color: #6a777e;
  font-size: 11px;
  line-height: 1.95;
  margin: 0 0 16px;
}
.ex4-meta {
  margin-top: auto;
  border-top: 1px solid #e8dfd2;
  padding-top: 13px;
  display: grid;
  gap: 8px;
  color: #566b77;
  font-size: 10px;
}
.ex4-meta>div {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ex4-meta-icon {
  color: #bb8439;
  font-size: 13px;
  width: 16px;
  text-align: center;
  flex: 0 0 16px;
}
.ex4-details {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  color: #0b3552;
  font-size: 10px;
  font-weight: 700;
}
.ex4-details b {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #0b3552;
  color: #fff;
  font-size: 16px;
  transition: transform .25s ease,background .25s ease;
}
.ex4-details:hover b {
  transform: translateX(-3px);
  background: #b77c2d;
}
.ex4-all {
  max-width: 700px;
  margin: 0 auto;
  padding: 8px 24px 54px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  align-items: center;
}
.ex4-all>span {
  height: 1px;
  background: linear-gradient(90deg,transparent,#c99a58);
}
.ex4-all>span:last-child {
  transform: scaleX(-1);
}
.ex4-all a {
  height: 46px;
  padding: 0 25px;
  border: 1px solid #c79553;
  border-radius: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: #fffaf2;
  color: #0b3552;
  font-size: 11px;
  font-weight: 700;
  transition: background .25s ease,color .25s ease;
}
.ex4-all a:hover {
  background: #0b3552;
  color: #fff;
}
/* Hide legacy exhibitions page layouts on this version. */
.exhibitions-page .exv2-main, .exhibitions-page .ex3-main {
  display: none !important;
}
@media(max-width:1000px) {
  .ex4-hero {
    grid-template-columns: 1fr;
    direction: rtl;
  }
  .ex4-hero-copy {
    padding: 42px 28px 30px;
  }
  .ex4-hero-media {
    min-height: 300px;
    border-radius: 0 0 0 48px;
  }
  .ex4-hero-fade {
    background: linear-gradient(180deg,rgba(248,243,234,.02),rgba(11,53,82,.06));
  }
  .ex4-cards {
    grid-template-columns: 1fr 1fr;
    padding: 34px 24px 18px;
  }
  .ex4-card:first-child {
    grid-column: 1/-1;
  }
  .ex4-card:first-child .ex4-card-media {
    height: 280px;
  }
}
@media(max-width:640px) {
  .ex4-hero-copy {
    padding: 34px 18px 26px;
  }
  .ex4-hero h1 {
    font-size: 46px;
  }
  .ex4-hero-copy>p {
    font-size: 11px;
    line-height: 2;
  }
  .ex4-hero-media {
    min-height: 230px;
    border-radius: 0;
  }
  .ex4-cards {
    grid-template-columns: 1fr;
    padding: 26px 12px 16px;
    gap: 18px;
  }
  .ex4-card:first-child {
    grid-column: auto;
  }
  .ex4-card-media,.ex4-card:first-child .ex4-card-media {
    height: 210px;
  }
  .ex4-card-content {
    padding: 18px 17px 16px;
  }
  .ex4-card h2 {
    font-size: 18px;
  }
  .ex4-all {
    padding: 8px 12px 38px;
    grid-template-columns: 30px auto 30px;
    gap: 9px;
  }
  .ex4-all a {
    padding: 0 15px;
    font-size: 10px;
  }
}
/* ===== REMOVE ALL GAP BETWEEN REGISTERED + FEATURE ROW ===== */
.registered {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.feature-row {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.registered + .feature-row {
  margin-top: 0 !important;
  border-top: 0 !important;
}
/* ===== ZERO OUTER GAP BETWEEN ALL HOMEPAGE SECTIONS ===== */
#home, #home > section, #home > .hero, #home > .quick, #home > .registered, #home > .feature-row, #home > .gallery, #home > .news {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Remove any legacy vertical spacer behavior between adjacent homepage sections. */
#home > section + section {
  margin-top: 0 !important;
}
/* Gallery previously had explicit outer spacing in desktop/tablet/mobile overrides. */
#home > .gallery {
  margin: 0 !important;
}
/* Keep footer flush with the final homepage section as well. */
#home + .site-footer, .site-footer {
  margin-top: 0 !important;
}
@media (max-width: 850px) {
  #home > section,   #home > .gallery {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media (max-width: 560px) {
  #home > .gallery {
    margin: 0 !important;
  }
}
/* ===== HARD ZERO-GAP HOMEPAGE LAYOUT ===== */
#home {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#home > section {
  flex: 0 0 auto !important;
  margin-block: 0 !important;
}
/* Remove every remaining outer strip between these homepage blocks. */
#home > .registered, #home > .feature-row, #home > .gallery, #home > .news {
  margin: 0 !important;
}
/* Registered section ends exactly where the feature row begins. */
#home > .registered {
  padding-bottom: 0 !important;
}
/* Feature row touches both neighboring sections. */
#home > .feature-row {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* Gallery must span the full page width; old max-width + auto margin created a visible strip. */
#home > .gallery {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
}
/* News and footer also stay flush. */
#home > .news {
  margin: 0 !important;
}
#home + .site-footer {
  margin-top: 0 !important;
}
/* ===== FINAL HOMEPAGE SECTION SPACING: SMALL + CONSISTENT ===== */
/* Keep a modest gap between sections instead of zero or oversized white bands. */
#home {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}
#home > section, #home > .hero, #home > .quick, #home > .registered, #home > .feature-row, #home > .gallery, #home > .news {
  margin: 0 !important;
}
/* Restore the sections' own internal breathing room that was removed by the zero-gap patch. */
#home > .registered {
  padding-bottom: 18px !important;
}
#home > .feature-row {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}
/* Gallery remains full-width, but spacing is now controlled only by #home gap. */
#home > .gallery {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
/* Small separation before the footer as well. */
#home + .site-footer {
  margin-top: 12px !important;
}
@media (max-width: 850px) {
  #home {
    gap: 10px !important;
  }
  #home > .registered {
    padding-bottom: 14px !important;
  }
  #home > .feature-row {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  #home + .site-footer {
    margin-top: 10px !important;
  }
}
@media (max-width: 560px) {
  #home {
    gap: 8px !important;
  }
  #home + .site-footer {
    margin-top: 8px !important;
  }
}
/* ===== RESEARCH & ARTICLES PAGE ===== */
.research-page {
  background: #f6f0e6;
  color: #12344e;
}
.research-page .site-header {
  display: none!important;
}
.research-main {
  width: 100%;
  overflow: hidden;
}
.research-hero {
  min-height: 235px;
  display: grid;
  grid-template-columns: 47% 53%;
  direction: ltr;
  background: #f7f1e6;
  border-top: 4px solid #062a40;
  overflow: hidden;
}
.research-hero-copy {
  direction: rtl;
  padding: 24px 6vw 22px 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  z-index: 2;
}
.research-breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  color: #45606f;
  margin-bottom: 8px;
}
.research-breadcrumb a {
  font-weight: 700;
  color: #12344e;
}
.research-breadcrumb span {
  color: #b67a2e;
}
.research-eyebrow {
  margin: 0 0 8px;
  color: #b67a2e;
  font-size: 12px;
  font-weight: 700;
}
.research-hero h1 {
  font-size: 42px;
  line-height: 1.04;
  margin: 0;
  color: #12344e;
  letter-spacing: -1px;
}
.research-title-rule {
  width: 275px;
  display: grid;
  grid-template-columns: 1fr 12px 1fr;
  gap: 6px;
  align-items: center;
  margin: 8px 0 8px;
}
.research-title-rule span {
  height: 1px;
  background: #c49a5c;
}
.research-title-rule i {
  width: 8px;
  height: 8px;
  background: #b98942;
  transform: rotate(45deg);
  justify-self: center;
}
.research-lead {
  max-width: 620px;
  margin: 0;
  color: #516875;
  font-size: 11.5px;
  line-height: 1.72;
}
.research-hero-art {
  position: relative;
  overflow: hidden;
  background: #ece4d7;
  min-height: 235px;
}
.research-hero-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 14%;
  filter: blur(3px) saturate(.86) brightness(.94);
  transform: scale(1.045);
}
.research-hero-art:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,#f7f1e6 0%,rgba(247,241,230,.88) 13%,rgba(247,241,230,.48) 30%,rgba(247,241,230,.15) 46%,rgba(247,241,230,0) 60%),linear-gradient(180deg,rgba(6,42,64,.04),rgba(6,42,64,.08));
}
.research-featured,.research-list {
  padding: 28px 4vw;
}
.research-section-head {
  max-width: 1220px;
  margin: 0 auto 18px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
}
.research-section-head span {
  height: 1px;
  background: linear-gradient(90deg,transparent,#c18c45);
}
.research-section-head span:last-child {
  transform: scaleX(-1);
}
.research-section-head h2 {
  margin: 0;
  font-size: 20px;
  color: #12344e;
}
.research-feature-card {
  max-width: 1080px;
  margin: auto;
  display: grid;
  grid-template-columns: 43% 57%;
  background: #fff;
  border: 1px solid #ddd5c8;
  box-shadow: 0 12px 30px rgba(21,46,62,.09);
  overflow: hidden;
}
.research-poster,.research-card-media {
  position: relative;
  border: 0;
  padding: 0;
  background: #0b2b3f;
  cursor: pointer;
  overflow: hidden;
}
.research-poster {
  min-height: 450px;
}
.research-poster img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}
.research-poster span,.research-card-media span {
  position: absolute;
  right: 18px;
  bottom: 18px;
  background: #f2ca86;
  color: #14364c;
  border: 1px solid rgba(119,74,18,.25);
  padding: 9px 14px;
  font-size: 10px;
  font-weight: 700;
  box-shadow: 0 5px 14px rgba(0,0,0,.12);
}
.research-feature-copy {
  padding: 30px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.research-badge {
  align-self: flex-start;
  background: #0b3552;
  color: #fff5e5;
  padding: 7px 13px;
  font-size: 10px;
  margin-bottom: 15px;
}
.research-feature-copy h2,.research-card-body h2 {
  margin: 0;
  color: #12344e;
  font-size: 25px;
  line-height: 1.5;
}
.research-subtitle {
  color: #b1762d;
  font-size: 12px;
  line-height: 1.9;
  margin: 12px 0 20px;
}
.research-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 22px;
  margin: 0 0 18px;
}
.research-meta-grid div,.research-card-meta div {
  padding: 11px 0;
  border-bottom: 1px solid #e4ddd2;
}
.research-meta-grid dt,.research-card-meta dt {
  font-size: 9px;
  color: #a06d2c;
  font-weight: 700;
  margin-bottom: 4px;
}
.research-meta-grid dd,.research-card-meta dd {
  margin: 0;
  font-size: 11px;
  color: #304e60;
  line-height: 1.7;
}
.research-summary,.research-card-body>p {
  font-size: 11px;
  line-height: 2;
  color: #566a75;
  margin: 0;
}
.research-list {
  max-width: 1080px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding-top: 8px;
  padding-bottom: 28px;
}
.research-card {
  background: #fff;
  border: 1px solid #ddd5c8;
  display: grid;
  grid-template-rows: 330px auto;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(18,43,57,.07);
}
.research-card-navy {
  border-top: 5px solid #0b3552;
}
.research-card:not(.research-card-navy) {
  border-top: 5px solid #b98238;
}
.research-card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f8f8f6;
}
.research-card-body {
  padding: 22px 24px 24px;
}
.research-card-kicker {
  font-size: 9px;
  color: #b3782d;
  font-weight: 800;
  letter-spacing: .2px;
  margin-bottom: 8px;
}
.research-card-body h2 {
  font-size: 19px;
}
.research-card-en {
  direction: ltr;
  text-align: left;
  font-size: 10px!important;
  line-height: 1.6!important;
  color: #84909a!important;
  margin: 5px 0 14px!important;
}
.research-card-meta {
  margin: 0 0 15px;
}
.research-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 16px;
  direction: ltr;
}
.research-tags span {
  border: 1px solid #c8a66f;
  color: #6e512d;
  background: #fffaf2;
  padding: 5px 8px;
  font-size: 9px;
}
.research-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(2,13,20,.94);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 38px;
}
.research-lightbox.open {
  display: flex;
}
.research-lightbox img {
  max-width: min(1100px,92vw);
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
}
.research-lightbox-close {
  position: fixed;
  top: 18px;
  right: 22px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 28px;
  cursor: pointer;
}
@media(max-width:900px) {
  .research-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .research-hero-copy {
    padding: 30px 24px 24px;
  }
  .research-hero-art {
    height: 190px;
    min-height: 190px;
  }
  .research-feature-card {
    grid-template-columns: 1fr;
    max-width: 760px;
  }
  .research-poster {
    min-height: 360px;
  }
  .research-list {
    grid-template-columns: 1fr;
    max-width: 760px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .research-card {
    grid-template-rows: 320px auto;
  }
}
@media(max-width:560px) {
  .research-hero h1 {
    font-size: 38px;
  }
  .research-title-rule {
    width: 236px;
  }
  .research-lead {
    font-size: 11px;
  }
  .research-featured {
    padding: 22px 14px;
  }
  .research-feature-copy {
    padding: 27px 20px;
  }
  .research-feature-copy h2 {
    font-size: 22px;
  }
  .research-meta-grid {
    grid-template-columns: 1fr;
  }
  .research-poster {
    min-height: 300px;
  }
  .research-card {
    grid-template-rows: 280px auto;
  }
  .research-card-body {
    padding: 22px 18px;
  }
  .research-card-body h2 {
    font-size: 18px;
  }
  .research-lightbox {
    padding: 18px;
  }
}
/* ===== SITE-WIDE MOTION POLISH ===== */
:root {
  --motion-ease: cubic-bezier(.22,.61,.36,1);
  --motion-fast: .26s;
  --motion-med: .58s;
}
/* Page entrance/exit remains subtle and consistent. */
.motion-ready body {
  transition: opacity .38s ease!important;
}
/* Current page sections: no layout shift, only soft rise/fade. */
.ex-showcase-hero.fade-reveal, .research-hero.fade-reveal, .news-hero.fade-reveal, .site-footer.fade-reveal, .footer-shell.fade-reveal {
  transform: translateY(0);
}
/* Hero media gets a gentle visual settle without changing its crop. */
.ex-showcase-hero-image img, .research-hero-art img, .hero {
  transition: filter .7s var(--motion-ease), transform .8s var(--motion-ease);
}
/* Cards across the whole site share the same restrained hover language. */
.quick-card, .feature-card, .news-grid article, .archive-card, .ex-showcase-card, .research-feature-card, .research-card {
  transition: transform var(--motion-fast) var(--motion-ease),              box-shadow var(--motion-fast) ease,              border-color var(--motion-fast) ease!important;
}
@media (hover:hover) and (pointer:fine) {
  .quick-card:hover,   .feature-card:hover,   .news-grid article:hover,   .archive-card:hover,   .ex-showcase-card:hover,   .research-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 34px rgba(9,35,50,.13)!important;
  }
  .research-feature-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(9,35,50,.13)!important;
  }
  .quick-card img,   .feature-card img,   .news-grid article img,   .archive-card img,   .ex-card-media img,   .research-poster img,   .research-card-media img {
    transition: transform .65s var(--motion-ease), filter .45s ease!important;
  }
  .quick-card:hover img,   .feature-card:hover img,   .news-grid article:hover img,   .archive-card:hover img,   .ex-showcase-card:hover .ex-card-media img,   .research-feature-card:hover .research-poster img,   .research-card:hover .research-card-media img {
    transform: scale(1.025);
  }
  .btn,   .gallery-more,   .ex-photo-more,   .research-open,   .newsletter button {
    transition: transform .22s var(--motion-ease), box-shadow .22s ease, background-color .22s ease, color .22s ease!important;
  }
  .btn:hover,   .gallery-more:hover,   .ex-photo-more:hover,   .newsletter button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(9,35,50,.12);
  }
}
/* Keep scroll reveal smooth but avoid expensive long-lived will-change. */
.fade-reveal, .fade-child {
  backface-visibility: hidden;
}
.fade-reveal.is-visible, .fade-child.is-visible {
  will-change: auto;
}
/* Mobile gets fade motion without hover-like movement. */
@media (max-width:850px) {
  .fade-reveal {
    transform: translateY(12px);
  }
  .fade-child {
    transform: translateY(8px);
  }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior: auto!important;
    animation-duration: .001ms!important;
    animation-iteration-count: 1!important;
    transition-duration: .001ms!important;
  }
}
/* ===== HOME FEATURE CARDS — LARGER IMAGE AREA ===== */
#home > .feature-row .feature-card > img {
  width: 100%;
  height: 220px;
  display: block;
  object-fit: cover;
}
@media (max-width: 1100px) {
  #home > .feature-row .feature-card > img {
    height: 200px;
  }
}
@media (max-width: 850px) {
  #home > .feature-row .feature-card > img {
    height: 190px;
  }
}
/* ===== HOME FEATURE CARDS — MUCH LARGER IMAGE AREA (FINAL FIX) ===== */
#home > .feature-row .feature-card > img {
  width: 100% !important;
  height: 300px !important;
  min-height: 300px !important;
  display: block !important;
  object-fit: cover !important;
}
#home > .feature-row .feature-card > div {
  min-height: 72px;
}
@media (max-width: 1200px) {
  #home > .feature-row .feature-card > img {
    height: 270px !important;
    min-height: 270px !important;
  }
}
@media (max-width: 900px) {
  #home > .feature-row .feature-card > img {
    height: 230px !important;
    min-height: 230px !important;
  }
}
@media (max-width: 640px) {
  #home > .feature-row .feature-card > img {
    height: 210px !important;
    min-height: 210px !important;
  }
}
/* ===== HOME FEATURE CARDS — TALLER CARDS + LARGER IMAGE AREA ===== */
#home > .feature-row .feature-card {
  min-height: 430px !important;
  display: flex !important;
  flex-direction: column !important;
}
#home > .feature-row .feature-card > img {
  height: 340px !important;
  min-height: 340px !important;
  width: 100% !important;
  object-fit: cover !important;
  flex: 0 0 auto !important;
}
#home > .feature-row .feature-card > div {
  min-height: 88px !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
@media (max-width: 1200px) {
  #home > .feature-row .feature-card {
    min-height: 390px !important;
  }
  #home > .feature-row .feature-card > img {
    height: 305px !important;
    min-height: 305px !important;
  }
}
@media (max-width: 900px) {
  #home > .feature-row .feature-card {
    min-height: 345px !important;
  }
  #home > .feature-row .feature-card > img {
    height: 255px !important;
    min-height: 255px !important;
  }
}
@media (max-width: 640px) {
  #home > .feature-row .feature-card {
    min-height: 320px !important;
  }
  #home > .feature-row .feature-card > img {
    height: 230px !important;
    min-height: 230px !important;
  }
}
/* History feature card link */
.feature-card-link {
  color: inherit;
  text-decoration: none;
  display: block;
  cursor: pointer;
}
/* ===== HOME GALLERY — FINAL SYNCED DESIGN ===== */
#home > .gallery {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  height: 390px !important;
  min-height: 390px !important;
  margin: 0 !important;
  padding: 34px clamp(28px, 5vw, 76px) !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 31%) minmax(0, 69%) !important;
  gap: clamp(24px, 3vw, 48px) !important;
  align-items: stretch !important;
  direction: ltr !important;
  overflow: hidden !important;
  background: radial-gradient(circle at 8% 18%, rgba(201,131,36,.10), transparent 30%),
    linear-gradient(180deg, #fbf8f2 0%, #f7f1e6 100%) !important;
  border: 0 !important;
  border-top: 1px solid rgba(6,35,52,.10) !important;
  border-bottom: 1px solid rgba(6,35,52,.10) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#home > .gallery::before {
  content: "" !important;
  position: absolute !important;
  width: 150px !important;
  height: 2px !important;
  inset: 28px auto auto clamp(28px, 5vw, 76px) !important;
  background: linear-gradient(90deg, #c98324, rgba(201,131,36,0)) !important;
  border: 0 !important;
  border-radius: 0 !important;
  pointer-events: none !important;
}
#home > .gallery .gallery-copy {
  order: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 34px 8px 28px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  direction: rtl !important;
  text-align: right !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}
#home > .gallery .gallery-copy::before {
  content: "گالری موزه" !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 27px !important;
  margin: 0 0 12px !important;
  padding: 4px 11px !important;
  border: 1px solid rgba(201,131,36,.32) !important;
  background: rgba(201,131,36,.08) !important;
  color: #9c641b !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
}
#home > .gallery .gallery-copy h2 {
  margin: 0 0 10px !important;
  color: #062334 !important;
  font-size: clamp(27px, 2.4vw, 38px) !important;
  line-height: 1.3 !important;
  font-weight: 850 !important;
}
#home > .gallery .gallery-copy p {
  max-width: 330px !important;
  margin: 0 0 25px !important;
  color: #68757e !important;
  font-size: 13px !important;
  line-height: 2 !important;
}
#home > .gallery .gallery-controls {
  width: auto !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  direction: ltr !important;
  background: #fff !important;
  border: 1px solid rgba(6,35,52,.11) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 26px rgba(6,35,52,.07) !important;
}
#home > .gallery .gallery-controls button {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid rgba(6,35,52,.12) !important;
  border-radius: 9px !important;
  background: #f8f3e9 !important;
  color: #062334 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease !important;
}
#home > .gallery .gallery-controls button:hover {
  transform: translateY(-2px) !important;
  background: #062334 !important;
  border-color: #062334 !important;
  color: #f7f1e6 !important;
  box-shadow: none !important;
}
#home > .gallery .gallery-controls strong {
  min-width: 80px !important;
  margin: 0 !important;
  padding: 0 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid rgba(6,35,52,.10) !important;
  border-radius: 0 !important;
  color: #68757e !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}
#home > .gallery .gallery-stage {
  order: 2 !important;
  position: relative !important;
  width: 100% !important;
  height: 322px !important;
  min-height: 322px !important;
  max-height: 322px !important;
  margin: 0 !important;
  align-self: center !important;
  overflow: hidden !important;
  background-color: #062334 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  border: 1px solid rgba(6,35,52,.16) !important;
  border-radius: 4px !important;
  box-shadow: 0 20px 42px rgba(6,35,52,.14) !important;
  filter: none !important;
}
#home > .gallery .gallery-stage::before {
  content: "" !important;
  position: absolute !important;
  inset: 11px !important;
  border: 1px solid rgba(247,241,230,.46) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
#home > .gallery .gallery-stage::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(6,35,52,.12), transparent 28%, transparent 100%) !important;
  pointer-events: none !important;
}
/* The old “مشاهده بیشتر” CTA is intentionally removed from the gallery. */
#home > .gallery .gallery-more {
  display: none !important;
}
@media (max-width: 900px) {
  #home > .gallery {
    height: auto !important;
    min-height: 0 !important;
    padding: 30px 24px 34px !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  #home > .gallery::before {
    inset: 22px auto auto 24px !important;
  }
  #home > .gallery .gallery-stage {
    order: 1 !important;
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }
  #home > .gallery .gallery-copy {
    order: 2 !important;
    padding: 4px 2px 0 !important;
    align-items: flex-start !important;
  }
  #home > .gallery .gallery-copy p {
    max-width: 560px !important;
    margin-bottom: 18px !important;
  }
}
@media (max-width: 560px) {
  #home > .gallery {
    padding: 24px 14px 28px !important;
    gap: 16px !important;
  }
  #home > .gallery::before {
    width: 100px !important;
    inset: 18px auto auto 14px !important;
  }
  #home > .gallery .gallery-stage {
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
  }
  #home > .gallery .gallery-copy h2 {
    font-size: 27px !important;
  }
  #home > .gallery .gallery-controls {
    min-height: 44px !important;
  }
  #home > .gallery .gallery-controls button {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }
}
/* Shop card link on the home page */
.feature-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.feature-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}
/* Gallery responsive — synced with the Home visual system */
@media(max-width:900px) {
  .gallery {
    padding: 28px 4vw 32px;
  }
  .gallery-inner {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .gallery-copy {
    min-height: auto;
    padding: 26px 28px;
    border-radius: 15px;
  }
  .gallery-copy h2 {
    font-size: 29px;
  }
  .gallery-copy p {
    max-width: 520px;
  }
  .gallery-controls {
    margin-top: 20px;
  }
  .gallery-frame {
    min-height: 300px;
    border-radius: 15px;
  }
  .gallery-stage {
    min-height: 278px;
  }
}
@media(max-width:560px) {
  .gallery {
    padding: 20px 12px 24px;
  }
  .gallery-inner {
    gap: 12px;
  }
  .gallery-copy {
    padding: 23px 20px;
    text-align: right;
    align-items: flex-start;
  }
  .gallery-copy h2 {
    font-size: 26px;
  }
  .gallery-copy p {
    font-size: 10px;
  }
  .gallery-controls button {
    width: 38px;
    height: 38px;
    font-size: 21px;
  }
  .gallery-controls strong {
    height: 38px;
    min-width: 68px;
  }
  .gallery-frame {
    min-height: 230px;
    padding: 7px;
    border-radius: 12px;
  }
  .gallery-stage {
    min-height: 214px;
    border-radius: 8px;
  }
  .gallery-frame::after {
    inset: 7px;
    border-radius: 8px;
  }
  .gallery-frame-line {
    inset: 13px;
    border-radius: 5px;
  }
}
/* ===== HOME GALLERY — STRUCTURE FIX ===== */
#home > .gallery {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
#home > .gallery .gallery-inner {
  position: relative !important;
  width: 100% !important;
  max-width: 1440px !important;
  min-height: 390px !important;
  margin: 0 auto !important;
  padding: 34px clamp(28px, 5vw, 76px) !important;
  display: grid !important;
  grid-template-columns: minmax(270px, 31%) minmax(0, 69%) !important;
  gap: clamp(28px, 3.2vw, 52px) !important;
  align-items: center !important;
  direction: ltr !important;
  box-sizing: border-box !important;
}
#home > .gallery .gallery-copy {
  grid-column: 1 !important;
  grid-row: 1 !important;
  order: initial !important;
  min-width: 0 !important;
  padding: 26px 0 22px !important;
  align-self: center !important;
  direction: rtl !important;
  text-align: right !important;
}
#home > .gallery .gallery-kicker {
  display: none !important;
}
#home > .gallery .gallery-rule {
  width: 150px !important;
  height: 18px !important;
  margin: 0 0 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
#home > .gallery .gallery-rule span {
  flex: 1 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, #c98324) !important;
}
#home > .gallery .gallery-rule span:last-child {
  transform: scaleX(-1) !important;
}
#home > .gallery .gallery-rule i {
  width: 7px !important;
  height: 7px !important;
  border: 1px solid #c98324 !important;
  transform: rotate(45deg) !important;
}
#home > .gallery .gallery-frame {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 322px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#home > .gallery .gallery-stage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  border-radius: 10px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 18px 44px rgba(6,35,52,.16) !important;
  transition: opacity .28s ease, transform .35s ease !important;
}
#home > .gallery .gallery-frame-line {
  position: absolute !important;
  inset: 12px !important;
  z-index: 3 !important;
  border: 1px solid rgba(247,241,230,.58) !important;
  border-radius: 6px !important;
  pointer-events: none !important;
}
#home > .gallery .gallery-controls {
  margin-top: 2px !important;
  padding: 5px !important;
  gap: 6px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(6,35,52,.10) !important;
  box-shadow: 0 10px 24px rgba(6,35,52,.07) !important;
  backdrop-filter: blur(8px) !important;
}
#home > .gallery .gallery-controls button {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 50% !important;
  background: #062334 !important;
  color: #f7f1e6 !important;
  border: 1px solid #062334 !important;
}
#home > .gallery .gallery-controls button:hover {
  transform: translateY(-1px) scale(1.03) !important;
  background: #c98324 !important;
  border-color: #c98324 !important;
  color: #fff !important;
}
#home > .gallery .gallery-controls strong {
  min-width: 86px !important;
  border: 0 !important;
  color: #062334 !important;
  font-size: 12px !important;
}
@media (max-width: 900px) {
  #home > .gallery .gallery-inner {
    min-height: 0 !important;
    padding: 28px 24px 34px !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  #home > .gallery .gallery-frame {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 300px !important;
  }
  #home > .gallery .gallery-copy {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 4px 2px 0 !important;
  }
}
@media (max-width: 560px) {
  #home > .gallery .gallery-inner {
    padding: 22px 14px 28px !important;
    gap: 16px !important;
  }
  #home > .gallery .gallery-frame {
    height: 230px !important;
  }
  #home > .gallery .gallery-controls button {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }
}
/* ===== Home gallery — refined clean frame, new controls, zoom and fullscreen lightbox ===== */
#home > .gallery {
  position: relative !important;
  padding: clamp(34px, 5vw, 64px) clamp(20px, 5vw, 72px) !important;
  background: radial-gradient(circle at 8% 18%, rgba(201,131,36,.08), transparent 30%),
    linear-gradient(180deg, #fbf8f2 0%, #f7f1e6 100%) !important;
  border-top: 1px solid rgba(6,35,52,.08) !important;
  border-bottom: 1px solid rgba(6,35,52,.08) !important;
  overflow: hidden !important;
}
#home > .gallery::before {
  content: "" !important;
  position: absolute !important;
  top: 26px !important;
  left: clamp(24px, 4vw, 72px) !important;
  width: 160px !important;
  height: 2px !important;
  background: linear-gradient(90deg, #c98324, rgba(201,131,36,0)) !important;
}
#home > .gallery .gallery-shell {
  display: grid !important;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(24px, 4vw, 42px) !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  position: relative !important;
}
#home > .gallery .gallery-copy {
  direction: rtl !important;
  text-align: right !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#home > .gallery .gallery-copy::before,
#home > .gallery .gallery-copy::after,
#home > .gallery .gallery-frame-line {
  display: none !important;
  content: none !important;
}
#home > .gallery .gallery-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  margin: 0 0 12px !important;
  padding: 4px 12px !important;
  background: rgba(201,131,36,.08) !important;
  border: 1px solid rgba(201,131,36,.26) !important;
  color: #9c641b !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
}
#home > .gallery .gallery-copy h2 {
  margin: 0 0 10px !important;
  color: #062334 !important;
  font-size: clamp(32px, 2.7vw, 54px) !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}
#home > .gallery .gallery-rule {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
}
#home > .gallery .gallery-rule span {
  width: 38px !important;
  height: 1px !important;
  background: rgba(201,131,36,.55) !important;
  display: block !important;
}
#home > .gallery .gallery-rule i {
  width: 8px !important;
  height: 8px !important;
  border: 1px solid rgba(201,131,36,.9) !important;
  transform: rotate(45deg) !important;
  display: block !important;
}
#home > .gallery .gallery-copy p {
  max-width: 370px !important;
  margin: 0 0 26px !important;
  color: #68757e !important;
  font-size: 14px !important;
  line-height: 2 !important;
}
#home > .gallery .gallery-controls {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(6,35,52,.10) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 38px rgba(6,35,52,.08) !important;
  backdrop-filter: blur(8px) !important;
}
#home > .gallery .gallery-controls strong {
  min-width: 96px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  color: #062334 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
}
#home > .gallery .gallery-nav {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(6,35,52,.10) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #062334 !important;
  cursor: pointer !important;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease !important;
}
#home > .gallery .gallery-nav:hover {
  transform: translateY(-2px) !important;
  background: #062334 !important;
  color: #f7f1e6 !important;
  border-color: #062334 !important;
  box-shadow: 0 14px 30px rgba(6,35,52,.15) !important;
}
#home > .gallery .gallery-nav-label {
  font-size: 13px !important;
  font-weight: 700 !important;
}
#home > .gallery .gallery-nav-icon {
  width: 26px !important;
  height: 26px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: rgba(201,131,36,.13) !important;
  color: #9c641b !important;
  font-size: 14px !important;
}
#home > .gallery .gallery-nav:hover .gallery-nav-icon {
  background: rgba(247,241,230,.14) !important;
  color: #f7f1e6 !important;
}
#home > .gallery .gallery-visual {
  min-width: 0 !important;
}
#home > .gallery .gallery-stage {
  position: relative !important;
  width: 100% !important;
  min-height: 390px !important;
  padding: 0 !important;
  display: block !important;
  border: 1px solid rgba(6,35,52,.12) !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #0b2941 0%, #173a52 100%) !important;
  box-shadow: 0 24px 52px rgba(6,35,52,.16) !important;
  overflow: hidden !important;
  cursor: zoom-in !important;
  transition: transform .25s ease, box-shadow .25s ease, opacity .18s ease !important;
}
#home > .gallery .gallery-stage:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 30px 56px rgba(6,35,52,.2) !important;
}
#home > .gallery .gallery-stage.is-switching {
  opacity: .78 !important;
}
#home > .gallery #galleryStageImage {
  display: block !important;
  width: 100% !important;
  height: clamp(390px, 44vw, 560px) !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .3s ease !important;
}
#home > .gallery .gallery-stage:hover #galleryStageImage {
  transform: scale(1.03) !important;
}
#home > .gallery .gallery-stage::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(6,35,52,.02) 0%, rgba(6,35,52,.1) 100%) !important;
  pointer-events: none !important;
}
#home > .gallery .gallery-stage-frame {
  position: absolute !important;
  inset: 14px !important;
  border: 1px solid rgba(247,241,230,.45) !important;
  border-radius: 16px !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
#home > .gallery .gallery-zoom-hint {
  position: absolute !important;
  left: 18px !important;
  bottom: 18px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: rgba(6,35,52,.72) !important;
  color: #f7f1e6 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 26px rgba(6,35,52,.16) !important;
  opacity: 0 !important;
  transform: translateY(10px) !important;
  transition: opacity .22s ease, transform .22s ease !important;
  pointer-events: none !important;
}
#home > .gallery .gallery-stage:hover .gallery-zoom-hint,
#home > .gallery .gallery-stage:focus-visible .gallery-zoom-hint {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
#home > .gallery .gallery-zoom-hint svg {
  width: 16px !important;
  height: 16px !important;
}
body.lightbox-open {
  overflow: hidden !important;
}
.gallery-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
  padding: clamp(18px, 4vw, 36px) !important;
  background: rgba(4, 19, 30, .9) !important;
  backdrop-filter: blur(8px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .22s ease !important;
}
.gallery-lightbox.open {
  opacity: 1 !important;
  pointer-events: auto !important;
}
.gallery-lightbox-figure {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.gallery-lightbox img {
  max-width: min(88vw, 1400px) !important;
  max-height: 88vh !important;
  border-radius: 18px !important;
  box-shadow: 0 30px 70px rgba(0,0,0,.35) !important;
  background: #0b2941 !important;
}
.gallery-lightbox .lightbox-close,
.gallery-lightbox .lightbox-nav {
  border: 1px solid rgba(247,241,230,.16) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: background .22s ease, transform .22s ease, border-color .22s ease !important;
}
.gallery-lightbox .lightbox-close:hover,
.gallery-lightbox .lightbox-nav:hover {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.28) !important;
  transform: translateY(-2px) !important;
}
.gallery-lightbox .lightbox-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  font-size: 30px !important;
  line-height: 1 !important;
}
.gallery-lightbox .lightbox-nav {
  width: 52px !important;
  height: 52px !important;
  border-radius: 999px !important;
  font-size: 34px !important;
  line-height: 1 !important;
}
@media (max-width: 991px) {
  #home > .gallery .gallery-shell {
    grid-template-columns: 1fr !important;
  }
  #home > .gallery .gallery-copy {
    order: 1 !important;
  }
  #home > .gallery .gallery-visual {
    order: 2 !important;
  }
  #home > .gallery #galleryStageImage {
    height: min(62vw, 460px) !important;
  }
}
@media (max-width: 767px) {
  #home > .gallery {
    padding: 28px 16px 34px !important;
  }
  #home > .gallery::before {
    left: 16px !important;
    width: 110px !important;
  }
  #home > .gallery .gallery-copy p {
    max-width: none !important;
  }
  #home > .gallery .gallery-controls {
    width: 100% !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }
  #home > .gallery .gallery-nav {
    min-width: 108px !important;
    justify-content: center !important;
    padding: 0 14px !important;
  }
  #home > .gallery .gallery-controls strong {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    padding: 0 4px !important;
  }
  #home > .gallery .gallery-stage {
    border-radius: 18px !important;
  }
  #home > .gallery #galleryStageImage {
    height: min(74vw, 360px) !important;
  }
  #home > .gallery .gallery-zoom-hint {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    justify-content: center !important;
    font-size: 11px !important;
  }
  .gallery-lightbox {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    justify-items: center !important;
  }
  .gallery-lightbox .lightbox-prev {
    order: 2 !important;
    justify-self: flex-start !important;
  }
  .gallery-lightbox .gallery-lightbox-figure {
    order: 1 !important;
  }
  .gallery-lightbox .lightbox-next {
    order: 3 !important;
    justify-self: flex-end !important;
  }
  .gallery-lightbox img {
    max-width: 92vw !important;
    max-height: 74vh !important;
  }
}
/* ===== Gallery polish v3 — final clean controls and frame ===== */
#home > .gallery .gallery-shell {
  grid-template-columns: minmax(300px, 390px) minmax(0, 1fr) !important;
  gap: clamp(34px, 4.5vw, 70px) !important;
  max-width: 1420px !important;
}
#home > .gallery .gallery-copy {
  padding: 10px 0 !important;
}
#home > .gallery .gallery-copy h2 {
  font-size: clamp(36px, 3vw, 56px) !important;
  letter-spacing: -.02em !important;
}
#home > .gallery .gallery-copy p {
  max-width: 360px !important;
  margin-bottom: 24px !important;
  font-size: 13px !important;
  line-height: 2.15 !important;
}
#home > .gallery .gallery-controls {
  width: max-content !important;
  max-width: 100% !important;
  min-height: 46px !important;
  display: grid !important;
  grid-template-columns: 104px 86px 104px !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fbf8f2 !important;
  border: 1px solid rgba(201,131,36,.38) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  direction: ltr !important;
}
#home > .gallery .gallery-controls button,
#home > .gallery .gallery-nav {
  position: static !important;
  inset: auto !important;
  width: 104px !important;
  min-width: 104px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #062334 !important;
  font: inherit !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer !important;
  transition: background .2s ease,color .2s ease !important;
}
#home > .gallery .gallery-controls button:first-child {
  border-right: 1px solid rgba(201,131,36,.22) !important;
}
#home > .gallery .gallery-controls button:last-child {
  border-left: 1px solid rgba(201,131,36,.22) !important;
}
#home > .gallery .gallery-controls button:hover,
#home > .gallery .gallery-nav:hover {
  background: #062334 !important;
  color: #f7f1e6 !important;
  transform: none !important;
  box-shadow: none !important;
}
#home > .gallery .gallery-controls strong {
  width: 86px !important;
  min-width: 86px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  background: rgba(201,131,36,.055) !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #a36a1f !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
#home > .gallery .gallery-visual {
  padding: 8px !important;
  background: rgba(255,255,255,.54) !important;
  border: 1px solid rgba(6,35,52,.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 48px rgba(6,35,52,.10) !important;
}
#home > .gallery .gallery-stage {
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  background: #0a293c !important;
}
#home > .gallery .gallery-stage:hover {
  transform: none !important;
  box-shadow: none !important;
}
#home > .gallery #galleryStageImage {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 10px !important;
}
#home > .gallery .gallery-stage:hover #galleryStageImage {
  transform: scale(1.015) !important;
}
#home > .gallery .gallery-stage-frame {
  inset: 10px !important;
  border-radius: 7px !important;
  border-color: rgba(255,255,255,.42) !important;
}
#home > .gallery .gallery-zoom-hint {
  left: 16px !important;
  bottom: 16px !important;
  opacity: 1 !important;
  transform: none !important;
  padding: 9px 12px !important;
  background: rgba(6,35,52,.82) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.14) !important;
}
#home > .gallery .gallery-stage:hover .gallery-zoom-hint {
  background: #062334 !important;
}
@media (max-width: 991px) {
  #home > .gallery .gallery-shell {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  #home > .gallery .gallery-copy {
    align-items: center !important;
    text-align: center !important;
  }
  #home > .gallery .gallery-copy p {
    max-width: 560px !important;
  }
  #home > .gallery .gallery-controls {
    margin-inline: auto !important;
  }
}
@media (max-width: 560px) {
  #home > .gallery .gallery-controls {
    width: 100% !important;
    grid-template-columns: 1fr 74px 1fr !important;
  }
  #home > .gallery .gallery-controls button,
  #home > .gallery .gallery-nav {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 8px !important;
  }
  #home > .gallery .gallery-controls strong {
    width: 74px !important;
    min-width: 74px !important;
  }
  #home > .gallery .gallery-zoom-hint {
    left: 10px !important;
    bottom: 10px !important;
    padding: 8px 10px !important;
  }
}
/* ===== Gallery lightbox quality protection ===== */
.gallery-lightbox-figure {
  width: min(92vw, 1500px) !important;
  height: 88vh !important;
  max-width: 92vw !important;
  max-height: 88vh !important;
  overflow: hidden !important;
}
.gallery-lightbox img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: min(92vw, var(--lb-natural-width, 1500px)) !important;
  max-height: min(88vh, var(--lb-natural-height, 1000px)) !important;
  object-fit: contain !important;
  object-position: center !important;
  aspect-ratio: auto !important;
  transform: none !important;
  image-rendering: auto !important;
  border-radius: 12px !important;
}
@media (max-width: 767px) {
  .gallery-lightbox-figure {
    width: 94vw !important;
    height: 76vh !important;
    max-width: 94vw !important;
    max-height: 76vh !important;
  }
  .gallery-lightbox img {
    max-width: min(94vw, var(--lb-natural-width, 1200px)) !important;
    max-height: min(76vh, var(--lb-natural-height, 900px)) !important;
  }
}
/* ===== Museum type hierarchy (home) ===== */
:root {
  --font-title: "Doran", Tahoma, "Segoe UI", Arial, sans-serif;
  --font-body: "Samir", Tahoma, "Segoe UI", Arial, sans-serif;
}
html, body, button, input, textarea, select {
  font-family: var(--font-body);
}
/* Doran is reserved for prominent headings, not compact cards or controls. */
h1, h2, .hero h1, .section-head h2, .registered-copy h2, .gallery-copy h2,
.footer-quote h4, .footer-links h4, .newsletter h4 {
  font-family: var(--font-title);
}
h3, h4, h5, h6, p, li, label, .main-nav, .btn, .quick-card,
.feature-card, .news-grid, .footer-shell {
  font-family: var(--font-body);
}
/* Navigation and brand microcopy should remain readable at existing breakpoints. */
button, input, textarea, select {
  font: inherit;
  font-family: var(--font-body);
}
