 :root{
   --fth-navy:#002d62; --fth-red:#ee1f24;
   --cell:240px;
   /* modal width/height knobs */
   --lb-w: clamp(520px, 54vw, 980px);
   --lb-h: min(82vh, 900px);
 }

@media (min-width: 1400px){
  :root{ --lb-w: 48vw; }
}
	

/* ===== HERO ===== */
.ppc-hero{ position:relative; min-height:56vh; display:flex; align-items:center; justify-content:center; }


.ppc-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.35)); }
.ppc-hero .inner{ position:relative; z-index:1; text-align:center; color:#fff; }
.ppc-hero h1{ font-weight:900; letter-spacing:.3px; text-shadow:0 6px 22px rgba(0,0,0,.5); font-size: clamp(30px, 4.2vw, 60px); line-height:1.15; margin:0 0 8px; }
.ppc-hero .sub{ font-size: clamp(18px, 2.2vw, 26px); color:#e9eef8; max-width: 1100px; margin: 0 auto; }

/* ===== FORM ===== */
#ppc-form .ftx-form{ border-radius:14px; background:#fff; border:1px solid #e5e7eb; box-shadow:0 12px 28px rgba(0,0,0,.06); }
#ppc-form .ftx-title{ margin:0; padding:14px 18px; font-weight:800; background:#fff; color:var(--fth-navy); border-bottom:1px solid #eef2f7; }
#ppc-form .ftx-fields{ padding:18px; }
#ppc-form label{ font-weight:600; color:#0f172a; }
#ppc-form input, #ppc-form select, #ppc-form textarea{ width:100%; border-radius:8px; border:1px solid #cbd5e1; padding:10px 12px; background:#fff; }
#ppc-form textarea{ height:120px; resize:vertical; }
.captcha-card{ border:1px solid #cbd5e1; border-radius:8px; padding:12px; background:#fff; min-height:120px; display:flex; align-items:center; justify-content:center; }

/* ===== PANEL ===== */
.communities-panel{ background:#002d62; border-radius:14px; box-shadow:0 16px 48px rgba(0,0,0,.18); }
.communities-panel-inner{ color:#fff; padding:28px; }
.communities-panel .fancy-title h3{ color:#fff; }
.communities-panel-inner a, .communities-panel-inner li::marker{ color:#fff; }
.communities-panel-inner b, .communities-panel-inner strong{ color:#fff !important; } /* keep bold white */
.ppc-panel-wrap{ position:relative; min-height:0; }
#communities-hero .ppc-panel-wrap{ align-items: stretch; }
#communities-hero .ppc-panel-wrap > [class*="col-"]{ display: flex; }
#communities-hero .communities-panel, #communities-hero .ppc-panel-img{ flex:1 1 auto; }

.ppc-panel-img{ position:relative; width:100%; height:100%; min-height:480px; border-radius:8px; overflow:hidden; background:#000; }

/* ===== GALLERY ===== (1/2, 2/1, 1/2, 2/1) */
#ppc-grid{ display:grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: var(--cell); gap:18px; }
.ppc-tile{ display:block; width:100%; height:100%; border-radius:14px; overflow:hidden; border:1px solid #e8edf5; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.05); }
.ppc-tile img{ width:100%; height:100%; object-fit:cover; display:block; }
.span-1{ grid-row-end: span 1; } .span-2{ grid-row-end: span 2; }
@media (min-width:1400px){ :root{ --cell:260px; } }
@media (min-width:992px) and (max-width:1399.98px){ :root{ --cell:230px; } }
@media (min-width:768px) and (max-width:991.98px){ :root{ --cell:220px; } }

/* ===== Mobile Owl ===== */
#ppcMobileCarousel .item img{ width:100%; height:auto; border-radius:14px; display:block; }
#ppcMobileCarousel .owl-nav button{
position:absolute; top:45%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%;
background:#002d62 !important; border:2px solid rgba(255,255,255,.35) !important; box-shadow:0 6px 18px rgba(0,0,0,.45);
color:#fff !important; opacity:1 !important;
}
#ppcMobileCarousel .owl-nav button.owl-prev{ left:10px; } #ppcMobileCarousel .owl-nav button.owl-next{ right:10px; }
#ppcMobileCarousel .owl-nav button span{ font-size:0; }

/* ===== Lightbox (navy, compact) ===== */
.lb-modal .modal-content{ background:transparent; border:none; }
.lb-modal .modal-dialog{ max-width: var(--lb-w); }
.lb-modal .modal-body{ display:flex; align-items:center; justify-content:center; min-height: var(--lb-h); padding:0; background:#0b1628; }
.lb-img{
position:relative; width:100%; max-width:100%;
display:flex; align-items:center; justify-content:center;
padding:0 16px;
}
.lb-img img{
max-width:100%;
height:auto;
max-height: calc(var(--lb-h) - 32px); /* minus padding */
object-fit:contain; border-radius:8px;
}

.lb-nav{
position:absolute; top:50%; transform:translateY(-50%);
width:44px; height:44px; border-radius:50%; background:#002d62; border:2px solid rgba(255,255,255,.35);
box-shadow:0 6px 18px rgba(0,0,0,.45); color:#fff; display:flex; align-items:center; justify-content:center; z-index:5;
}
.lb-prev{ left:12px; } .lb-next{ right:12px; }

/* spacing helpers */
.mt-section{ margin-top: 3rem; } .mb-section{ margin-bottom: 3rem; }
ul{margin:0 0 0 20px}


	