.elementor-169 .elementor-element.elementor-element-13bf5210 > .elementor-background-overlay{background-color:#272727;opacity:0.2;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-169 .elementor-element.elementor-element-13bf5210{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-169 .elementor-element.elementor-element-496fe907 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}.elementor-169 .elementor-element.elementor-element-496fe907 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-169 .elementor-element.elementor-element-3f87a10b > .elementor-container{max-width:1170px;}.elementor-169 .elementor-element.elementor-element-3f87a10b{margin-top:0px;margin-bottom:0px;padding:279px 0px 317px 0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-169 .elementor-element.elementor-element-3f87a10b{padding:120px 30px 120px 30px;}}@media(max-width:767px){.elementor-169 .elementor-element.elementor-element-3f87a10b{padding:70px 20px 70px 20px;}}/* Start custom CSS *//* Load Playfair Display (kept in CSS since HTML is separate) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800&display=swap');

:root{
  --black:#0B0B0B;
  --white:#FFFFFF;
  --soft:#F2F2F2;
  --muted:#C9C9C9;
  --orange:#d7711d;
  --orange-dark:#E56800;
}

/* Canvas base */
html, body { background: transparent; margin: 0; padding: 0; }

/* Hub section */
.hub{
  position: relative;            /* for overlays/slideshow layering */
  background: transparent;
  padding: 48px 20px;
}
.hub-wrap{ max-width:1200px; margin:0 auto; }

/* Headings (Playfair Display) */
.hub-title{
  color:var(--white);
  text-align:center;
  font-size:clamp(36px, 6vw, 64px);
  letter-spacing:.3px;
  margin:0 0 6px;
  line-height:1.08;
  text-shadow:0 2px 4px rgba(0,0,0,.5);
  font-family:"Playfair Display", ui-serif, Georgia, "Times New Roman", serif;
  font-weight:700;
}
.hub-sub{
  color:var(--white);
  text-align:center;
  margin:0 0 32px;
  font-size:clamp(14px,2.2vw,16px);
  text-shadow:0 1px 3px rgba(0,0,0,.4);
  font-family:"Playfair Display", ui-serif, Georgia, "Times New Roman", serif;
  font-weight:500;
}

/* Grid */
.hub-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr); /* updated to 4 columns */
  gap:22px;
}
@media (max-width:980px){
  .hub-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .hub-grid{ grid-template-columns:1fr; }
}

/* Card */
.hub-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  background:rgba(0,0,0,.35);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.15);
  border-radius:16px;
  padding:16px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  text-decoration:none;
  color:inherit;
}
.hub-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,122,0,.6);
  box-shadow:0 6px 20px rgba(0,0,0,.4);
}

/* Kill underline & visited color on card links */
.hub-card:link,
.hub-card:visited,
.hub-card:hover,
.hub-card:active{
  text-decoration:none !important;
  color:inherit !important;
}

/* Media */
.hub-media{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:12px;
  background:transparent;
}
.hub-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

/* Card text */
.hub-card h3{
  color:var(--white);
  margin:4px 4px 0;
  font-size:20px;
  text-shadow:0 1px 3px rgba(0,0,0,.4);
}
.hub-card p{
  color:var(--soft);
  margin:0 4px 8px;
  line-height:1.5;
  font-size:15px;
  text-shadow:0 1px 2px rgba(0,0,0,.3);
}

/* Button chip */
.hub-btn{
  align-self:flex-start;
  margin:4px;
  padding:10px 14px;
  border-radius:999px;
  background:var(--orange);
  color:var(--black) !important;
  font-weight:600;
  font-size:14px;
  border:1px solid transparent;
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
.hub-card:hover .hub-btn{
  background:var(--orange-dark);
  transform:translateY(-1px);
}
.hub-card .hub-btn{ color:var(--black) !important; }

/* Focus */
.hub-card:focus,
.hub-card:focus-visible{
  outline:3px solid var(--orange);
  outline-offset:2px;
}

/* ===== Mobile polish (≤ 640px) ===== */
@media (max-width:640px){
  .hub{
    padding:32px 16px;
    padding-left:max(16px, env(safe-area-inset-left));
    padding-right:max(16px, env(safe-area-inset-right));
    padding-top:max(24px, env(safe-area-inset-top));
  }
  .hub::before{
    content:"";
    position:absolute; inset:0;
    pointer-events:none; z-index:0;
    background:linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.55) 50%, rgba(0,0,0,.35) 100%);
  }
  .hub-wrap{ position:relative; z-index:1; }

  .hub-title{
    font-size:clamp(28px, 8vw, 44px);
    line-height:1.1;
    margin-bottom:6px;
  }
  .hub-sub{
    font-size:clamp(14px,3.8vw,16px);
    opacity:.95;
    margin-bottom:18px;
  }

  .hub-grid{
    grid-template-columns:1fr !important;
    gap:14px;
  }

  .hub-card{
    background:rgba(0,0,0,.5);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,.18);
    border-radius:18px;
    padding:16px;
    box-shadow:0 10px 24px rgba(0,0,0,.35);
    transform:translateZ(0);
  }
  @supports not (backdrop-filter: blur(1px)){
    .hub-card{ background:rgba(0,0,0,.65); }
  }

  .hub-media{
    aspect-ratio:auto;
    height:160px;
    display:flex; align-items:center; justify-content:center;
    border-radius:14px;
    background:rgba(255,255,255,.04);
  }
  .hub-media img{
    width:90%; height:90%;
    object-fit:contain;
  }

  .hub-card h3{ font-size:18px; margin-top:6px; }
  .hub-card p{ font-size:14px; line-height:1.45; color:var(--soft); opacity:.95; }

  .hub-btn{
    width:100%;
    text-align:center;
    padding:12px 16px;
    font-size:15px;
    border-width:1px;
  }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .hub-card, .hub-card:hover, .hub-btn{ transition:none !important; }
}

/* ===== Elementor Canvas + Background Slideshow compatibility ===== */
.hub > .elementor-background-slideshow,
.hub > .elementor-background-overlay{
  z-index: 0 !important; /* slides behind */
}
/* Desktop/tablet readability veil (mobile veil defined above) */
@media (min-width:641px){
  .hub::before{
    content:"";
    position: absolute; inset: 0;
    z-index: 1; pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.25));
  }
  .hub-wrap{ position: relative; z-index: 2; }
}

/* ===== Page-only: style Elementor widgets inside .hub to your brand ===== */
.hub .elementor-button,
.hub .elementor-button:visited{
  background-color: var(--orange);
  border-color: var(--orange);
  color: var(--black);
}
.hub .elementor-button:hover{
  background-color: var(--orange-dark);
  border-color: var(--orange-dark);
  color: var(--black);
}
.hub h1, .hub h2, .hub h3, .hub .elementor-heading-title{ color: var(--white); }
.hub .elementor-widget-text-editor, .hub p{ color: var(--soft); }/* End custom CSS */