@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&family=Great+Vibes&display=swap');
html, body, #page, .site, .site-content, .elementor-page {
  background-color: #000000 !important;
  color: #ffffff !important;
}
.elementor-location-header,
.elementor-location-header .e-con,
.elementor-location-footer,
.elementor-location-footer .e-con {
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffffff !important;
}
.elementor-location-header .elementor-heading-title,
.elementor-location-header .elementor-icon-list-text,
.elementor-location-footer .elementor-heading-title,
.elementor-location-footer p,
.elementor-location-footer a,
.elementor-location-header a { color: #ffffff !important; }
.pc-card {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 128px;
  padding: 32px 16px !important;
  background: #111 !important;
  color: #f4f4f4 !important;
  text-decoration: none !important;
  border: 1px solid #444 !important;
  border-top: 3px solid #3B82F6 !important;
  border-radius: 10px !important;
  font-family: "Great Vibes", "Palatino Linotype", cursive !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
}
.pc-card:hover { color: #9ec9ff !important; }
@media (max-width: 782px) {
  .pc-grid { grid-template-columns: 1fr !important; }
}

/* Header scrolls away with the page. Do not overlay a black box on content. */
.elementor-location-header,
.elementor-location-header.elementor-sticky,
.elementor-location-header.elementor-sticky--active,
.elementor-location-header .elementor-sticky,
.elementor-location-header .elementor-sticky--active {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: 100% !important;
	transform: none !important;
	
}
.elementor-sticky__spacer {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	
}

/* Hide legacy Photos link from header */
.elementor-location-header a[href*="/photos/"] { display: none !important; }

/* Main nav + collapse empty sticky header row. Do not restyle logo or .pc-card. */
.elementor-element-7cefe466 { display: none !important; min-height: 0 !important; height: 0 !important; padding: 0 !important; }
.elementor-element-53372ee { display: none !important; } /* old lone About heading; About is in .pc-main-nav */
.pc-main-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px 22px;
  background: #000;
  color: #fff;
  padding: 8px 16px 12px;
  font-family: Cinzel, Georgia, serif;
  letter-spacing: 1px;
  font-size: 15px;
}
.pc-main-nav a { color: #fff !important; text-decoration: none; }
.pc-main-nav a:hover { color: #9ec9ff !important; }
.pc-menus { position: relative; }
.pc-menus-btn {
  background: none; border: 0; color: #fff; font: inherit; letter-spacing: 1px; cursor: pointer; padding: 0;
}
.pc-drop {
  display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  background: #111; border: 1px solid #444; min-width: 220px; z-index: 40; padding: 8px 0; text-align: left;
}
.pc-menus.is-open .pc-drop, .pc-menus:hover .pc-drop { display: block; }
.pc-drop a { display: block; padding: 8px 16px; white-space: nowrap; }
.pc-nav-quote {
  display: inline-block !important;
  background: #3B82F6 !important;
  color: #fff !important;
  padding: 8px 16px !important;
  border-radius: 6px;
}
/* Smaller first-screen hero. Same logo file, no stretch; hide black padding around the mark. */
.pc-logo-wrap {
  width: 240px;
  height: 240px;
  overflow: hidden;
  margin: 0 auto 8px;
}
.pc-logo-wrap img {
  width: 304px;
  max-width: none !important;
  height: auto;
  display: block;
  margin: -31px 0 0 -32px;
  border: 0;
}
.pc-home { padding: 6px 16px 20px !important; }
.pc-home h1 {
  font-size: 22px !important;
  margin: 0 auto 8px !important;
  line-height: 1.25 !important;
}
.pc-home p { font-size: 15px !important; line-height: 1.4 !important; }
.pc-home p:has(.pc-quote-btn),
.pc-home a.pc-quote-btn { margin-bottom: 8px !important; }
.pc-quote-btn { padding: 10px 22px !important; }
html { scroll-padding-bottom: 96px; }
body.home, .home #page, .pc-home { padding-bottom: 24px; }
@media (max-width: 782px) {
  .pc-logo-wrap { width: 168px; height: 168px; margin-bottom: 6px; }
  .pc-logo-wrap img { width: 213px; margin: -22px 0 0 -23px; }
  .pc-home h1 { font-size: 18px !important; letter-spacing: 0.5px !important; }
  .pc-home p { font-size: 14px !important; }
}
/* Compact Cookiez banner at the bottom; do not cover hero */
[class*="cookiez-banner"], [class*="Cookiez"], #cookiez-banner, .cookiez-banner {
  top: auto !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  max-height: 88px !important;
  transform: none !important;
}
/* Hide leftover Elementor header nav widget (do not open Header 243) */
.elementor-element-fbe2b10 { display: none !important; }

/* Sign-up / drawing page (/win/) */
.pc-ff .gform_wrapper, .pc-ff .gform_wrapper label, .pc-ff .gform_wrapper .gfield_label, .pc-ff .gform_wrapper legend, .pc-ff .gform_confirmation_message { color:#fff !important; font-family:Georgia,serif; }
.pc-ff .gform_wrapper input[type=text], .pc-ff .gform_wrapper input[type=email], .pc-ff .gform_wrapper input[type=tel] { width:100% !important; font-size:16px !important; padding:12px !important; background:#fff; color:#000; border-radius:6px; box-sizing:border-box; }
.pc-ff .gform_wrapper input[type=checkbox] { width:22px; height:22px; }
.pc-ff .gform_wrapper .gform_footer input[type=submit], .pc-ff .gform_wrapper .gform_button { width:100%; background:#3B82F6 !important; color:#fff !important; border:0; border-radius:6px; padding:14px !important; font-size:18px !important; font-family:Cinzel,Georgia,serif; letter-spacing:1px; }
.pc-ff .gform_confirmation_message { font-size:18px; text-align:center; padding:12px 0; }
@media (max-width:600px){ .pc-ff h1{font-size:22px !important;} }