.fixedContainer { width:; }
#headerImage { max-height:; }
#topNavMenu { font-family:Raleway; font-weight:normal; font-size:inherit; text-transform:none; }
#topNav { background-color:rgb(17, 17, 17); border-top-width:0; border-top-style:none; border-bottom-width:0; border-bottom-style:none; border-color:rgb(255, 255, 255); }
#topNav #topNavMenu li, #topNav #topNavMenu a, #topNav #topNavMenu li a { background-color:rgb(17, 17, 17); color:rgb(238, 248, 247); }
#topNav #topNavMenu li ul li:hover a { background-color:rgb(45, 45, 45); color:rgb(238, 248, 247); }
#mainNav { font-family:Raleway; font-weight:normal; font-size:inherit; text-transform:capitalize; border-top-width:0; border-top-style:none; border-bottom-width:0; border-bottom-style:none; border-color:rgb(227, 95, 33); }
#mainNav ul ul { font-family:Raleway; font-weight:normal; }
#mainNav, #mainNav li, #subNav .nav li a
                 { background-color:rgb(5, 9, 9); }
#mainNavMenu ul li, .smallScreen #mainNavMenu
                 { background-color:rgb(17, 17, 17); }
.smallScreen #mainNav { background-color:rgb(5, 9, 9); }
#mainNavMenu li:hover, #mainNavMenu ul li:hover, #subNav .nav li a:hover
             { background-color:rgb(45, 45, 45); }
#mainNav a, #mainNav a:before, #mainNav .touch-button:after, #subNav .nav li a
                 { color:rgb(238, 248, 247); }
#mainNavMenu ul a, #mainNavMenu li:hover ul a, #mainNavMenu li ul li:hover li a,  #mainNavMenu ul .touch-button:after, #mainNavMenu li:hover ul .touch-button:after
                 { color:rgb(238, 248, 247); }
#mainNavMenu li:hover a, #mainNavMenu li ul li:hover a, #mainNavMenu li ul li li:hover a, #mainNavMenu li:hover .touch-button:after, #mainNavMenu li ul li:hover .touch-button:after, #mainNavMenu li ul li li:hover .touch-button:after, #subNav .nav li a:hover
                 { color:rgb(227, 95, 33); }
#mainNavMenu ul li, #mainNavMenu ul li:hover { border-bottom-width:0; border-bottom-style:none; border-color:rgb(204, 204, 204); }
#mainNavMenu ul { border-width:0; border-style:none; border-color:rgb(204, 204, 204); }
#subNav { float:left; }
body { font-family:Raleway; font-size:0.8em; color:rgb(34, 34, 34); background-color:rgb(242, 242, 242); background-image:url(/images/default/images/body-bg.jpg); background-position:center; background-size:auto; background-repeat:no-repeat; background-attachment:initial; }
h1, h2, h3, h4, h5 { font-family:Oswald; font-weight:normal; }
h1 { color:rgb(17, 17, 17); }
h2 { color:rgb(17, 17, 17); }
h3 { color:rgb(17, 17, 17); }
h4 { color:rgb(17, 17, 17); }
h5 { color:rgb(17, 17, 17); }
.greeting, .currencyColor , .smallScreen .mobileHighlight, .largeSelector.selected
             { color:rgb(34, 34, 34); }
.altBG { color:rgb(102, 102, 102); }
.altBG h1, .altBG h2, .altBG h3, .altBG h4 { color:rgb(68, 68, 68); }
a, a:visited, body.smallScreen #sideMenu.dropMenu:hover h1, #categories .jstree li a, 
            .linkStyle
             { color:rgb(227, 95, 33); }
a:hover, #categories .jstree li.jstree-open > a, #categories .jstree li:hover > a, .linkStyle:hover, .linkHoverStyle:hover
             { color:rgb(17, 17, 17); }
#content a, #content a:visited { text-decoration:none; }
button, input[type="reset"], input[type="button"], input[type="submit"], .btnAction,
                a.btnAction, #category_tabs .category.tab.selected h2.title, #category_tabs h2.title:hover,
                .ui-accordion.ui-widget .ui-accordion-header:hover, .horizontalTabs .tab:hover, .verticalTabs
                .tab:hover, .horizontalTabs .tab:hover a, .verticalTabs .tab:hover a, .actionBGStyle
             { background-color:rgb(17, 17, 17); }
button:hover, input[type="reset"]:hover, input[type="button"]:hover,
                input[type="submit"]:hover, .btnAction:hover, .ui-multiselect-menu li:hover,
                .ui-accordion.ui-widget
                .accordion-header-active, .listDropdown .menuClickTarget:hover, .horizontalTabs .tab.selected,
                .verticalTabs .tab.selected, .horizontalTabs .tab.selected a, .verticalTabs .tab.selected a, 
                .actionBGStyle:hover, .actionBGHoverStyle:hover
             { background-color:rgb(45, 45, 45); }
button, input[type="reset"], input[type="button"], input[type="submit"], .btnAction,
                    a.btnAction, #category_tabs .category.tab.selected h2.title, #category_tabs h2.title:hover,
                    .ui-accordion.ui-widget .ui-accordion-header:hover, .horizontalTabs .tab:hover,
                    .verticalTabs
                    .tab:hover, .horizontalTabs .tab:hover a, .verticalTabs .tab:hover a
                 { color:rgb(238, 248, 247); }
button, input[type="reset"]:hover, input[type="button"]:hover, input[type="submit"]:hover, .btnAction:hover,
                    a.btnAction:hover, #category_tabs .category.tab.selected h2.title, #category_tabs h2.title:hover,
                    .ui-accordion.ui-widget .ui-accordion-header:hover, .horizontalTabs .tab:hover,
                    .verticalTabs
                    .tab:hover, .horizontalTabs .tab:hover a, .verticalTabs .tab:hover a
                 { color:rgb(255, 255, 255); }
.altBG button, .altBG input[type="reset"], .altBG input[type="button"], .altBG input[type="submit"], 
                .altBG .btnAction, .altBG a.btnAction
             { background-color:rgb(227, 95, 33); }
.altBG button:hover, .altBG input[type="reset"]:hover, .altBG input[type="button"]:hover,
                .altBG input[type="submit"]:hover, .altBG .btnAction:hover, .altBG a.btnAction:hover
             { background-color:rgb(200, 76, 18); }
.altBG button, .altBG input[type="reset"], .altBG input[type="button"], .altBG input[type="submit"], 
                .altBG .btnAction, .altBG a.btnAction
                 { color:rgb(17, 17, 17); }
.altBG button:hover, .altBG input[type="reset"]:hover, .altBG input[type="button"]:hover,
                .altBG input[type="submit"]:hover, .altBG .btnAction:hover, .altBG a.btnAction:hover
                 { color:rgb(17, 17, 17); }

                input, select, textarea, button, .btnAction, 
                input[type="submit"], input[type="button"], input[type="submit"], input.btnAction
                .iconFieldContainer, .inputIconWrapper, .iconBtn, .fieldStyle, 
                .ui-multiselect.ui-widget, .ui-multiselect-menu, .ui-multiselect-menu.ui-widget
             { border-radius:0; }
.altBG, #content .altBG .fixedContainer { background-color:rgb(242, 242, 242); }
.attentionMsg { color:rgb(17, 17, 17); background-color:rgb(255, 244, 232); }
.stepper li { color:rgb(34, 34, 34); background-color:rgb(242, 242, 242); }
.stepper li.active { background-color:rgb(227, 95, 33); color:rgb(17, 17, 17); }
.orderTotal { color:rgb(17, 17, 17); }
.grandTotal th, .orderTotal { background-color:rgb(242, 242, 242); }
.subHeaderTitle { color:rgb(238, 248, 247); background-color:rgb(17, 17, 17); }
#footer .fixedContainer { color:rgb(238, 248, 247); }
.sponsorBar .fixedContainer, #footer .fixedContainer { background-color:rgb(5, 9, 9); }
#footer a { color:rgb(238, 248, 247); }
/* =========================================================
   MARITIME JIBBERS — COMPLETE UPLIFTER APPEND CSS
   Paste this entire file into:
   Theme > Global > Public CSS Override — Append

   IMPORTANT:
   - Prepend can remain blank.
   - Do NOT add <style> tags around this.
   - This is intentionally scoped to Maritime Jibbers custom
     page classes so Uplifter registration/cart/login styling
     remains controlled by the native theme.
   ========================================================= */

/* =========================================================
   MARITIME JIBBERS — CONTENT PAGE COMPONENTS
   APPEND this to your existing Public CSS Override — Append.
   Everything is scoped to .mj-page so Uplifter system pages
   (registration/cart/login) stay untouched.
   ========================================================= */

.mj-page,
.mj-page * { box-sizing: border-box; }

.mj-page {
  --mj-orange:#E35F21;
  --mj-orange-dark:#C84C12;
  --mj-black:#050909;
  --mj-charcoal:#111111;
  --mj-grey:#2D2D2D;
  --mj-white:#EEF8F7;
  --mj-paper:#FFFFFF;
  --mj-light:#F2F2F2;
  --mj-text:#222222;
  --mj-border:#D9D9D9;
  color:var(--mj-text);
  font-family:Raleway,Arial,sans-serif;
  font-size:17px;
  line-height:1.6;
  overflow:hidden;
}

.mj-page h1,.mj-page h2,.mj-page h3 {
  margin-top:0;
  color:var(--mj-black);
  font-family:Oswald,"Arial Narrow",Arial,sans-serif;
  font-weight:600;
  line-height:1.06;
}

.mj-page h1 {
  margin-bottom:18px;
  font-size:clamp(3rem,7vw,5.8rem);
  text-transform:uppercase;
  letter-spacing:-.02em;
}

.mj-page h2 {
  margin-bottom:18px;
  font-size:clamp(2rem,4.5vw,3.2rem);
  text-transform:uppercase;
}

.mj-page h3 { margin-bottom:9px; font-size:1.55rem; }
.mj-page p { margin-top:0; }

.mj-page a:focus-visible {
  outline:3px solid var(--mj-orange);
  outline-offset:4px;
}

/* Prevent page-level hover outlines from our own content.
   If a thin blue line still appears only while logged in,
   that is Uplifter's editor boundary and is not public styling. */
.mj-page section:hover,
.mj-page article:hover { outline:none !important; }

.mj-page__wrap {
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}

.mj-page__section { padding:72px 0; }
.mj-page__section--white { background:var(--mj-paper); }
.mj-page__section--light { background:var(--mj-light); }
.mj-page__section--dark { color:var(--mj-white); background:var(--mj-black); }
.mj-page__section--dark h2,
.mj-page__section--dark h3 { color:var(--mj-white); }

.mj-page__eyebrow {
  display:inline-block;
  margin-bottom:14px;
  padding:6px 10px;
  color:var(--mj-black);
  background:var(--mj-orange);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.mj-page__intro {
  max-width:820px;
  margin-bottom:32px;
  font-size:1.13rem;
}

.mj-page__hero {
  position:relative;
  min-height:500px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:var(--mj-white);
  background:
    linear-gradient(0deg,rgba(5,9,9,.94) 0%,rgba(5,9,9,.64) 48%,rgba(5,9,9,.15) 100%),
    var(--hero-image, none) center center/cover no-repeat,
    var(--mj-charcoal);
  border-bottom:6px solid var(--mj-orange);
}

.mj-page__hero-inner {
  width:100%;
  padding:110px 0 54px;
}

.mj-page__hero h1 { color:var(--mj-white); max-width:950px; }
.mj-page__hero p { max-width:760px; font-size:1.18rem; }

.mj-page__grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.mj-page__grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mj-page__grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }

.mj-page__card {
  position:relative;
  min-height:100%;
  padding:25px;
  background:var(--mj-paper);
  border:1px solid var(--mj-border);
  border-top:5px solid var(--mj-orange);
  transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease;
}

.mj-page__card h3 { transition:color .3s ease; }

@media (hover:hover) {
  .mj-page__card:hover,
  .mj-page__card:focus-within {
    transform:translateY(-6px);
    box-shadow:0 16px 34px rgba(5,9,9,.13);
  }
}

.mj-page__photo-card {
  position:relative;
  min-height:340px;
  overflow:hidden;
  color:var(--mj-white);
  background:var(--mj-charcoal);
  border-bottom:5px solid var(--mj-orange);
  isolation:isolate;
}

.mj-page__photo-card img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-3;
  transition:transform .55s ease,opacity .55s ease,filter .55s ease;
}

.mj-page__photo-card::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,9,9,.04),rgba(5,9,9,.93));
  z-index:-2;
}

.mj-page__photo-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(227,95,33,.70),rgba(5,9,9,.15));
  opacity:0;
  z-index:-1;
  transition:opacity .42s ease;
}

.mj-page__photo-card-content {
  min-height:340px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:26px;
}

.mj-page__photo-card h3 {
  color:var(--mj-white);
  font-size:2rem;
  text-transform:uppercase;
}

@media (hover:hover) {
  .mj-page__photo-card:hover img,
  .mj-page__photo-card:focus-within img {
    transform:scale(1.075);
    opacity:.86;
    filter:saturate(1.08) contrast(1.04);
  }
  .mj-page__photo-card:hover::after,
  .mj-page__photo-card:focus-within::after { opacity:.65; }
}

.mj-page__split {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);
  gap:42px;
  align-items:center;
}

.mj-page__media {
  min-height:410px;
  overflow:hidden;
  background:var(--mj-charcoal);
  border-bottom:5px solid var(--mj-orange);
}

.mj-page__media img {
  display:block;
  width:100%;
  height:100%;
  min-height:410px;
  object-fit:cover;
  transition:transform .55s ease,opacity .55s ease;
}

@media (hover:hover) {
  .mj-page__media:hover img { transform:scale(1.035); opacity:.92; }
}

.mj-page__button {
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:13px 22px;
  border:2px solid transparent;
  font-weight:800;
  text-decoration:none !important;
  transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
}

.mj-page__button:hover { transform:translateY(-2px); }

.mj-page__button--orange {
  color:var(--mj-black) !important;
  background:var(--mj-orange);
  border-color:var(--mj-orange);
}

.mj-page__button--orange:hover {
  color:var(--mj-white) !important;
  background:var(--mj-orange-dark);
  border-color:var(--mj-orange-dark);
}

.mj-page__button--black {
  color:var(--mj-white) !important;
  background:var(--mj-black);
  border-color:var(--mj-black);
}

.mj-page__button--black:hover {
  color:var(--mj-white) !important;
  background:var(--mj-grey);
  border-color:var(--mj-grey);
}

.mj-page__button--outline {
  color:var(--mj-white) !important;
  background:transparent;
  border-color:var(--mj-white);
}

.mj-page__button--outline:hover {
  color:var(--mj-black) !important;
  background:var(--mj-white);
}

.mj-page__actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.mj-page__link {
  color:#A9431F !important;
  font-weight:800;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

.mj-page__profile {
  overflow:hidden;
  background:var(--mj-paper);
  border:1px solid var(--mj-border);
  border-bottom:5px solid var(--mj-orange);
  transition:transform .3s ease,box-shadow .3s ease;
}

.mj-page__profile img {
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}

.mj-page__profile-body { padding:20px; }
.mj-page__profile h3 { margin-bottom:3px; }
.mj-page__meta { color:#666; font-weight:700; font-size:.9rem; }

@media (hover:hover) {
  .mj-page__profile:hover {
    transform:translateY(-6px);
    box-shadow:0 16px 34px rgba(5,9,9,.13);
  }
}

/* LuCrew */
.mj-page__lucrew {
  --lu-purple:#704890;
  --lu-purple-light:#8458A6;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(120deg,rgba(17,17,17,.96),rgba(112,72,144,.92)),
    var(--lu-image, none) center center/cover no-repeat;
}

.mj-page__lucrew h2,
.mj-page__lucrew h3 { color:#fff; }

.mj-page__lucrew-logo {
  display:block;
  width:min(520px,100%);
  max-height:170px;
  object-fit:contain;
  object-position:left center;
  margin:0 0 24px;
}

.mj-page__button--lu {
  color:#fff !important;
  background:#704890;
  border-color:#8458A6;
}

.mj-page__button--lu:hover {
  color:#fff !important;
  background:#8458A6;
  border-color:#9B72BC;
}

.mj-page__lu-card {
  padding:24px;
  background:rgba(5,9,9,.62);
  border:1px solid rgba(255,255,255,.18);
  border-top:5px solid #8458A6;
  transition:transform .3s ease,background-color .3s ease;
}

.mj-page__lu-card h3 { color:#fff; }

@media (hover:hover) {
  .mj-page__lu-card:hover {
    transform:translateY(-6px);
    background:rgba(112,72,144,.88);
  }
}

.mj-page__band {
  padding:34px 0;
  color:var(--mj-black);
  background:var(--mj-orange);
}

.mj-page__band-inner {
  display:flex;
  gap:24px;
  align-items:center;
  justify-content:space-between;
}

.mj-page__band h2 { color:var(--mj-black); margin-bottom:4px; }
.mj-page__band p { margin-bottom:0; max-width:720px; font-weight:600; }

@media (prefers-reduced-motion:reduce) {
  .mj-page *,
  .mj-page *::before,
  .mj-page *::after {
    transition:none !important;
    animation:none !important;
    scroll-behavior:auto !important;
  }
  .mj-page *:hover { transform:none !important; }
}

@media (max-width:900px) {
  .mj-page__grid,
  .mj-page__grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mj-page__split { grid-template-columns:1fr; gap:28px; }
}

@media (max-width:650px) {
  .mj-page__wrap { width:min(100% - 28px,1180px); }
  .mj-page__section { padding:52px 0; }
  .mj-page__grid,
  .mj-page__grid--2,
  .mj-page__grid--4 { grid-template-columns:1fr; }
  .mj-page__actions { flex-direction:column; }
  .mj-page__button { width:100%; }
  .mj-page__band-inner { flex-direction:column; align-items:stretch; }
  .mj-page__hero { min-height:440px; }
  .mj-page__hero-inner { padding:120px 0 44px; }
}

/* =========================================================
   MARITIME JIBBERS — UPDATE PATCH V2
   Paste at the VERY END of Public CSS Override — Append.
   Fixes: editor-content alignment, equal hill-card heights,
   text contrast over photography, registration-top layouts.
   ========================================================= */

/* Keep our custom content aligned inside Uplifter editable/banner regions */
.mj-home,
.mj-page,
.mj-hill,
.mj-reg-top {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mj-home > section:first-child,
.mj-page > section:first-child,
.mj-hill > section:first-child,
.mj-reg-top:first-child {
  margin-top: 0 !important;
}

/* The blue/cyan line seen while editing is an Uplifter editor boundary.
   These rules prevent OUR elements from adding hover outlines.
   Keyboard focus remains visible. */
.mj-home section:hover,
.mj-home article:hover,
.mj-page section:hover,
.mj-page article:hover,
.mj-hill section:hover,
.mj-hill article:hover,
.mj-reg-top:hover {
  outline: 0 !important;
}

/* ---------- HOME: equal-size hill cards + readable text ---------- */
.mj-home .mj-location-grid {
  align-items: stretch !important;
}

.mj-home .mj-location-card,
.mj-home .mj-location-card-content {
  height: 380px !important;
  min-height: 380px !important;
}

.mj-home .mj-location-card-content {
  position: relative;
  z-index: 3;
  background:
    linear-gradient(
      180deg,
      rgba(5,9,9,0) 0%,
      rgba(5,9,9,.18) 24%,
      rgba(5,9,9,.78) 62%,
      rgba(5,9,9,.97) 100%
    );
  text-shadow: 0 2px 8px rgba(0,0,0,.72);
}

.mj-home .mj-location-card::before {
  background: linear-gradient(
    180deg,
    rgba(5,9,9,.12) 0%,
    rgba(5,9,9,.36) 52%,
    rgba(5,9,9,.82) 100%
  ) !important;
}

.mj-home .mj-location-card::after {
  opacity: 0 !important;
}

@media (hover:hover) {
  .mj-home .mj-location-card:hover::after,
  .mj-home .mj-location-card:focus-within::after {
    opacity: .26 !important;
  }
}

.mj-home .mj-photo-card-content {
  position: relative;
  z-index: 3;
  background:
    linear-gradient(
      180deg,
      rgba(5,9,9,0) 0%,
      rgba(5,9,9,.16) 24%,
      rgba(5,9,9,.80) 64%,
      rgba(5,9,9,.97) 100%
    );
  text-shadow: 0 2px 8px rgba(0,0,0,.72);
}

.mj-home .mj-photo-card::after {
  opacity: 0 !important;
}

@media (hover:hover) {
  .mj-home .mj-photo-card:hover::after,
  .mj-home .mj-photo-card:focus-within::after {
    opacity: .24 !important;
  }
}

/* ---------- HILL LANDING/BANNER CONTENT ---------- */
.mj-hill {
  --mj-orange:#E35F21;
  --mj-black:#050909;
  --mj-charcoal:#111111;
  --mj-white:#EEF8F7;
  --mj-light:#F2F2F2;
  --mj-border:#D9D9D9;
  --mj-text:#222;
  color:var(--mj-text);
  font-family:Raleway,Arial,sans-serif;
}

.mj-hill__hero {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  min-height:360px;
  background:var(--mj-black);
  border-bottom:6px solid var(--mj-orange);
}

.mj-hill__hero-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:42px clamp(26px,4vw,54px);
  color:var(--mj-white);
}

.mj-hill__hero-copy h1,
.mj-hill__programs h2,
.mj-hill__program-card h3 {
  font-family:Oswald,"Arial Narrow",Arial,sans-serif;
  line-height:1.05;
}

.mj-hill__hero-copy h1 {
  margin:0 0 14px;
  color:var(--mj-white);
  font-size:clamp(3rem,6vw,5.2rem);
  text-transform:uppercase;
}

.mj-hill__hero-copy p {
  margin:0;
  max-width:720px;
  font-size:1.08rem;
  line-height:1.6;
}

.mj-hill__eyebrow {
  align-self:flex-start;
  display:inline-block;
  margin-bottom:14px;
  padding:6px 10px;
  color:var(--mj-black);
  background:var(--mj-orange);
  font-weight:800;
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.mj-hill__hero-photo {
  min-height:360px;
  overflow:hidden;
  background:var(--mj-charcoal);
}

.mj-hill__hero-photo img {
  width:100%;
  height:100%;
  min-height:360px;
  display:block;
  object-fit:cover;
}

.mj-hill__programs {
  padding:46px clamp(26px,4vw,54px) 52px;
  background:#fff;
}

.mj-hill__programs h2 {
  margin:0 0 22px;
  color:var(--mj-black);
  font-size:clamp(2rem,4vw,3rem);
  text-transform:uppercase;
}

.mj-hill__program-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.mj-hill__program-card {
  position:relative;
  height:365px;
  overflow:hidden;
  color:var(--mj-white);
  background:var(--mj-charcoal);
  border-bottom:5px solid var(--mj-orange);
  isolation:isolate;
}

.mj-hill__program-card > img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-3;
  transition:transform .45s ease,filter .45s ease;
}

.mj-hill__program-card::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(5,9,9,.18) 0%,
    rgba(5,9,9,.32) 42%,
    rgba(5,9,9,.92) 77%,
    rgba(5,9,9,.98) 100%
  );
  z-index:-2;
}

.mj-hill__program-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:#E35F21;
  opacity:0;
  z-index:-1;
  transition:opacity .35s ease;
}

.mj-hill__program-card-content {
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px;
  text-shadow:0 2px 8px rgba(0,0,0,.76);
}

.mj-hill__program-card h3 {
  margin:0 0 8px;
  color:var(--mj-white);
  font-size:1.8rem;
  text-transform:uppercase;
}

.mj-hill__program-card p {
  margin:0 0 16px;
  line-height:1.48;
}

.mj-hill__program-link {
  align-self:flex-start;
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  color:var(--mj-white) !important;
  border:2px solid var(--mj-white);
  font-weight:800;
  text-decoration:none !important;
  text-shadow:none;
}

@media (hover:hover) {
  .mj-hill__program-card:hover > img {
    transform:scale(1.06);
    filter:saturate(1.05) contrast(1.04);
  }
  .mj-hill__program-card:hover::after {
    opacity:.22;
  }
  .mj-hill__program-link:hover {
    color:var(--mj-black) !important;
    background:var(--mj-white);
  }
}

/* ---------- INDIVIDUAL REGISTRATION PAGE INTRO ---------- */
.mj-reg-top {
  --mj-orange:#E35F21;
  --mj-black:#050909;
  --mj-charcoal:#111111;
  --mj-white:#EEF8F7;
  --mj-light:#F2F2F2;
  --mj-border:#D9D9D9;
  --mj-text:#222;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
  overflow:hidden;
  background:var(--mj-black);
  border-bottom:6px solid var(--mj-orange);
  font-family:Raleway,Arial,sans-serif;
}

.mj-reg-top__copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:310px;
  padding:36px clamp(24px,4vw,48px);
  color:var(--mj-white);
}

.mj-reg-top__eyebrow {
  align-self:flex-start;
  display:inline-block;
  margin-bottom:12px;
  padding:5px 9px;
  color:var(--mj-black);
  background:var(--mj-orange);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.mj-reg-top h1 {
  margin:0 0 12px;
  color:var(--mj-white);
  font-family:Oswald,"Arial Narrow",Arial,sans-serif;
  font-size:clamp(2.5rem,5vw,4.5rem);
  font-weight:600;
  line-height:1.04;
  text-transform:uppercase;
}

.mj-reg-top__lead {
  max-width:720px;
  margin:0 0 16px;
  font-size:1.06rem;
  line-height:1.55;
}

.mj-reg-top__note {
  margin:0;
  color:#dfe8e7;
  font-size:.9rem;
  line-height:1.5;
}

.mj-reg-top__photo {
  min-height:310px;
  position:relative;
  overflow:hidden;
  background:var(--mj-charcoal);
}

.mj-reg-top__photo img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.mj-reg-top__photo::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,9,9,.30),rgba(5,9,9,.02));
  pointer-events:none;
}

/* LuCrew variant */
.mj-reg-top--lu {
  --mj-orange:#8458A6;
  background:linear-gradient(120deg,#111,#5D3A78);
  border-bottom-color:#8458A6;
}

.mj-reg-top--lu .mj-reg-top__eyebrow {
  color:#fff;
  background:#704890;
}

.mj-reg-top--lu .mj-reg-top__logo {
  display:block;
  width:min(430px,100%);
  max-height:112px;
  object-fit:contain;
  object-position:left center;
  margin:0 0 14px;
}

@media (max-width:850px) {
  .mj-hill__hero,
  .mj-reg-top {
    grid-template-columns:1fr;
  }
  .mj-hill__hero-photo {
    order:-1;
    min-height:250px;
    height:250px;
  }
  .mj-hill__hero-photo img { min-height:250px; }
  .mj-hill__program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mj-reg-top__photo {
    order:-1;
    min-height:230px;
    height:230px;
  }
}

@media (max-width:600px) {
  .mj-home .mj-location-card,
  .mj-home .mj-location-card-content {
    height:330px !important;
    min-height:330px !important;
  }
  .mj-hill__program-grid { grid-template-columns:1fr; }
  .mj-hill__program-card { height:350px; }
  .mj-hill__hero-copy { padding:30px 22px 34px; }
  .mj-hill__programs { padding:38px 22px 44px; }
  .mj-reg-top__copy { min-height:auto; padding:28px 22px 32px; }
}

/* Preserve accessible focus indicators */
.mj-hill a:focus-visible,
.mj-reg-top a:focus-visible,
.mj-home a:focus-visible {
  outline:3px solid #E35F21 !important;
  outline-offset:4px !important;
}

/* =========================================================
   MOBILE HEADER / LOGO FIX — V4
   Minimal fix: leave Uplifter's header/nav layout alone.
   Only replace and size the mobile logo image.
   ========================================================= */

@media screen and (max-width: 768px) {

  /* Use the known-good full wordmark instead of the mobile source. */
  #headerImage {
    content: url('/sites/images/top_header.png') !important;
    display: block !important;
    width: 230px !important;
    height: auto !important;
    max-width: calc(100vw - 105px) !important;
    max-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
  }

  /* Give the image enough room without changing Uplifter's nav structure. */
  #clubLogo > a {
    width: auto !important;
    max-width: calc(100vw - 105px) !important;
    overflow: visible !important;
  }
}

@media screen and (max-width: 430px) {
  #headerImage {
    width: 215px !important;
    max-width: calc(100vw - 100px) !important;
    max-height: 54px !important;
  }

  #clubLogo > a {
    max-width: calc(100vw - 100px) !important;
  }
}