:root{
  --accent:#0b78a2;
  --bg:#f7f9fb;
  --text:#1b1b1b;
}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial;color:var(--text);background:var(--bg);margin:0}
.container{max-width:960px;margin:0 auto;padding:20px}
.site-header{  background: linear-gradient(90deg, #b91c1c, #ef4444);;
    padding:18px 0;border-bottom:1px solid #f31111}
.site-header h1{margin:0;font-size:1.6rem}
.tagline{color:#555;margin:6px 0 0}
.nav-row{display:flex;justify-content:space-between;align-items:center;gap:16px}
.main-nav{display:flex;gap:12px;align-items:center}
.nav-link{color:var(--text);text-decoration:none;padding:8px 10px;border-radius:4px}
.nav-link:hover{background:#f0f6f9}
.hero{display:flex;gap:20px;align-items:center;margin:24px 0}
.hero-img{width:40%;height:auto;border-radius:6px;object-fit:cover}

/* Slideshow */
.slideshow{position:relative;width:100%;max-width:520px;height:320px;overflow:hidden;border-radius:6px;background:#ddd}
.slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 600ms ease}
.slideshow img.active{opacity:1;position:relative}
.slideshow-indicators{position:absolute;left:50%;transform:translateX(-50%);bottom:10px;display:flex;gap:6px}
.slideshow-indicators button{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.6);border:0;padding:0}
.slideshow-indicators button.active{background:var(--accent)}
.hero-copy h2{margin:0 0 8px}
.signup{background:white;padding:18px;border-radius:6px;margin:18px 0}
form label{display:block;margin-top:12px;font-weight:600}
input,textarea{width:100%;padding:10px;margin-top:6px;border:1px solid #d3d3d3;border-radius:4px}
button{margin-top:12px;background:var(--accent);color:white;border:none;padding:10px 14px;border-radius:4px;cursor:pointer}
#status{margin-top:10px;color:#005f73}
.values{background:white;padding:16px;border-radius:6px;margin:18px 0}
.card a{color:inherit;text-decoration:none}
.card a:hover,.card a:focus{color:var(--accent);text-decoration:none}
.site-footer{color:#666;font-size:0.9rem;margin:24px 0}
@media(max-width:720px){.hero{flex-direction:column}.hero-img{width:100%}}

/* Make Bootstrap carousel fill a large portion of the viewport and keep images covered */
.carousel-inner{height:60vh}
.carousel-item img{height:100%;object-fit:cover}

@media (max-width:768px){
  .carousel-inner{height:40vh}
}

/* About page background image overlay */
.about-page::before{
  content: "";
  position: fixed;
  inset: 0;
  background-image: url('../images/about-bg.jpg');
  background-size: cover;
  background-position: center;
  opacity: 0.3;
  z-index: 0;
  pointer-events: none;
}
.about-page > *{position:relative;z-index:1}
.about-page .values{
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,0.4);
}

.ck-page::before{
  content: "";
  position: fixed;
  inset: 0;
  background-image: url('../images/ck-bg.jpg');
  background-size: cover;
  background-position: center;
  opacity: 0.3;
  z-index: 0;
  pointer-events: none;
}
.ck-page > *{position:relative;z-index:1}
.ck-page .values{
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,0.4);
}


/* Use Bootstrap navbar defaults; add spacing for menu items on wide screens */
@media (min-width:992px) {
  .navbar .nav-link,
  .navbar .btn {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
}

@media(max-width:991px){
  /* keep mobile/navbar collapse default spacing */
}

/* Make the navbar container span full viewport width with 10px side padding */
.site-navbar.container{
  max-width: none;
  width: 100%;
  margin: 0;
  padding-left: 10px;
  padding-right: 10px;
}

/* Home page background image overlay */
.home-page::before{
  content: "";
  position: fixed;
  inset: 0;
  background-image: url('../images/home-bg.jpg');
  background-size: cover;
  background-position: center;
  opacity: 0.3;
  z-index: 0;
  pointer-events: none;
}
.home-page > *{position:relative;z-index:1}

/* Navbar icon sizing: limit SVG height and make responsive for phones */
.navbar .nav-link svg,
.navbar .btn svg{
  height: 3rem;
  width: auto;
  max-height: 110px;
  max-width: 110px;
  display: inline-block;
  vertical-align: middle;
}

@media (max-width: 576px){
  .navbar .nav-link svg,
  .navbar .btn svg{
    height: 3rem;
    max-height: 110px;
    max-width: 110px;
  }
}

/* Thanksgiving turkey giveaway */
.event-page{
  --event-ink:#213b31;
  --event-green:#315847;
  --event-red:#b94f39;
  --event-gold:#e5a84c;
  --event-paper:#fbf6eb;
  --event-line:#d8d1c1;
  background:var(--event-paper);
  color:var(--event-ink);
  font-family:'DM Sans',sans-serif;
}
.contact-signup-section{
  --event-ink:#213b31;
  --event-green:#315847;
  --event-red:#b94f39;
  --event-gold:#e5a84c;
  --event-paper:#fbf6eb;
  --event-line:#d8d1c1;
  background:#dce5d8;
  color:var(--event-ink);
  font-family:'DM Sans',sans-serif;
}
.contact-signup-aside h1{margin:0;color:var(--event-ink);font-family:'Fraunces',Georgia,serif;font-size:clamp(2.4rem,4vw,3.55rem);font-weight:600;line-height:1.05}
.contact-signup-aside>p:not(.event-kicker){max-width:360px;margin:18px 0 28px;color:#5c6e60;line-height:1.75}
.contact-team-image{display:block;width:min(100%,360px);max-height:250px;object-fit:cover;object-position:center 35%;border:5px solid rgba(255,253,248,.8)}
.contact-form{align-self:start}
.contact-form .form-heading h2{margin:0;color:var(--event-ink);font-family:'Fraunces',Georgia,serif;font-size:1.65rem;font-weight:600;letter-spacing:0}
.contact-form .form-field textarea{width:100%;min-height:110px;margin:0;padding:10px 12px;border:1px solid #d5d9cf;border-radius:0;background:#fff;color:#20392e;font:inherit;font-size:.94rem;resize:vertical}
.contact-form .form-field textarea:focus{border-color:var(--event-green);outline:3px solid rgba(49,88,71,.15)}
.contact-form .state-field{grid-column:2}
.optional-label{color:#788076;font-weight:400}
.giveaway-hero{position:relative;overflow:hidden;background:#e8ede1;min-height:500px}
.giveaway-hero-inner{max-width:1180px;min-height:500px;margin:0 auto;padding:68px 34px 86px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:40px}
.giveaway-copy{position:relative;z-index:2;max-width:560px;animation:event-rise .7s ease-out both}
.event-kicker{margin:0 0 16px;color:var(--event-red);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.event-kicker span{margin-right:5px;color:var(--event-gold)}
.giveaway-copy h1,.gathering-heading h2,.signup-aside h2{font-family:'Fraunces',Georgia,serif;letter-spacing:0;font-weight:600}
.giveaway-copy h1{max-width:580px;margin:0;color:var(--event-ink);font-size:clamp(3rem,5vw,5.25rem);line-height:.98}
.giveaway-intro{max-width:450px;margin:22px 0 25px;color:#52675a;font-size:1.05rem;line-height:1.7}
.giveaway-cta{display:inline-flex;align-items:center;gap:28px;padding:13px 18px;background:var(--event-red);color:white;text-decoration:none;font-weight:700}
.giveaway-cta:hover,.giveaway-cta:focus{background:#963b2b;color:white}
.giveaway-cta span{font-size:1.25rem}
.giveaway-note{margin:14px 0 0;color:#6b756d;font-size:.82rem}
.turkey-scene{position:relative;min-height:340px;overflow:hidden;background:#d6e0d0;isolation:isolate}
.sun-disc{position:absolute;width:116px;height:116px;right:17%;top:13%;border-radius:50%;background:#e8b968;opacity:.85}
.hill{position:absolute;left:-10%;width:125%;border-radius:50% 50% 0 0/100% 100% 0 0}
.hill-back{height:66%;bottom:-22%;background:#91a487;transform:rotate(-7deg)}
.hill-front{height:48%;bottom:-27%;background:#4f7159;transform:rotate(5deg)}
.running-turkey{position:absolute;z-index:2;left:16%;bottom:22%;font-size:clamp(5rem,10vw,8rem);line-height:1;filter:drop-shadow(0 10px 5px rgba(32,50,37,.16));animation:turkey-dash 5.2s ease-in-out infinite,turkey-bounce .42s ease-in-out infinite alternate}
.scene-leaf{position:absolute;z-index:2;color:#b94f39;font-size:2rem}
.leaf-one{left:16%;top:25%;transform:rotate(-16deg)}
.leaf-two{right:13%;bottom:24%;color:#e5a84c;transform:rotate(18deg)}
.scene-caption{position:absolute;z-index:2;right:18px;top:18px;color:var(--event-green);font-family:'Fraunces',Georgia,serif;font-size:1rem}
.hero-edge{position:absolute;left:-3%;right:-3%;bottom:-28px;height:52px;background:var(--event-paper);border-radius:50% 50% 0 0/80% 80% 0 0}
.gathering-section{background:var(--event-paper)}
.gathering-inner{max-width:1180px;margin:0 auto;padding:70px 34px 76px;display:grid;grid-template-columns:.85fr 1.15fr;column-gap:90px;row-gap:16px;align-items:center}
.gathering-heading h2,.signup-aside h2{margin:0;color:var(--event-ink);font-size:clamp(2.2rem,4vw,3.55rem);line-height:1.05}
.gathering-heading>p:last-child{max-width:350px;margin:16px 0 0;color:#687469;line-height:1.7}
.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;margin:0;padding:0;list-style:none;border-top:1px solid var(--event-line)}
.menu-list li{display:flex;align-items:center;gap:13px;min-height:59px;border-bottom:1px solid var(--event-line);font-weight:600}
.menu-list li span{color:var(--event-red);font-size:.72rem;font-weight:700}
.menu-footnote{grid-column:2;margin:0;color:#7a8178;font-size:.79rem;line-height:1.5}
.signup-section{background:#dce5d8;border-top:1px solid #cbd6c9}
.signup-inner{max-width:1180px;margin:0 auto;padding:78px 34px 86px;display:grid;grid-template-columns:.78fr 1.22fr;gap:82px;align-items:start}
.signup-aside{position:sticky;top:28px;padding-top:8px}
.signup-aside>p:not(.event-kicker){max-width:360px;margin:18px 0 32px;color:#5c6e60;line-height:1.75}
.address-mark{display:flex;align-items:center;gap:12px;color:var(--event-green);font-size:.75rem;font-weight:700;letter-spacing:.1em}
.address-mark-line{width:48px;height:1px;background:var(--event-red)}
.giveaway-form{padding:30px 32px 28px;background:#fffdf8;border:1px solid #d5dccf;box-shadow:8px 8px 0 rgba(49,88,71,.09)}
.form-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e8e4da}
.form-heading h3{margin:0;color:var(--event-ink);font-family:'Fraunces',Georgia,serif;font-size:1.65rem;letter-spacing:0}
.form-heading p{margin:0;color:#788076;font-size:.76rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}
.form-field{min-width:0}
.field-wide{grid-column:1/-1}
.form-field label{display:block;margin:0 0 6px;color:#31483a;font-size:.82rem;font-weight:700}
.form-field input{width:100%;min-height:46px;margin:0;padding:10px 12px;border:1px solid #d5d9cf;border-radius:0;background:#fff;color:#20392e;font:inherit;font-size:.94rem}
.form-field input:focus{border-color:var(--event-green);outline:3px solid rgba(49,88,71,.15)}
.form-field input[readonly]{width:88px;background:#edf1e9;color:var(--event-green);font-weight:700;cursor:default}
.marketing-consent{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:10px;margin-top:3px}
.marketing-consent input{width:18px;height:18px;min-height:18px;margin:2px 0 0;accent-color:var(--event-green)}
.marketing-consent label{color:#52675a;font-size:.8rem;line-height:1.55}
.state-field{grid-column:1}
.zip-field{grid-column:2;grid-row:auto}
.privacy-note{margin:20px 0 14px;color:#737b72;font-size:.75rem;line-height:1.5}
.giveaway-submit{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:50px;margin:0;padding:12px 16px;border:0;border-radius:0;background:var(--event-red);color:white;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.giveaway-submit:hover,.giveaway-submit:focus-visible{background:#963b2b}
.giveaway-submit:disabled{opacity:.68;cursor:wait}
.giveaway-submit span{font-size:1.3rem}
.form-status{min-height:1.5em;margin:12px 0 0;color:var(--event-green);font-size:.88rem;font-weight:600}
.form-status.is-error{color:#a5362b}
.event-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px max(34px,calc((100vw - 1112px)/2));background:linear-gradient(90deg,#b91c1c,#ef4444);color:#fff;font-size:.8rem}
.event-footer a{color:#f2bd66;text-decoration:none}
.event-footer a:hover{text-decoration:underline}
@keyframes turkey-dash{0%,100%{left:15%;transform:scaleX(1)}48%{left:64%;transform:scaleX(1)}50%{left:64%;transform:scaleX(-1)}98%{left:15%;transform:scaleX(-1)}}
@keyframes turkey-bounce{from{margin-bottom:0}to{margin-bottom:9px}}
@keyframes event-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){
  .giveaway-hero-inner{min-height:0;padding:54px 24px 70px;grid-template-columns:1fr;gap:30px}
  .giveaway-copy h1{max-width:620px;font-size:clamp(3rem,12vw,4.7rem)}
  .turkey-scene{min-height:260px}
  .gathering-inner{padding:58px 24px;grid-template-columns:1fr;gap:28px}
  .menu-footnote{grid-column:1}
  .signup-inner{padding:60px 24px;grid-template-columns:1fr;gap:34px}
  .signup-aside{position:static}
  .contact-team-image{width:min(100%,420px);max-height:220px}
}
@media(max-width:520px){
  .giveaway-hero-inner{padding-left:19px;padding-right:19px}
  .turkey-scene{min-height:220px}
  .gathering-inner,.signup-inner{padding-left:19px;padding-right:19px}
  .menu-list{grid-template-columns:1fr;gap:0}
  .giveaway-form{padding:23px 18px 20px;box-shadow:5px 5px 0 rgba(49,88,71,.09)}
  .form-heading{display:block}
  .form-heading p{margin-top:5px}
  .form-grid{grid-template-columns:1fr;gap:15px}
  .field-wide,.state-field,.zip-field{grid-column:1;grid-row:auto}
  .zip-field input{max-width:150px}
  .contact-form .state-field{grid-column:1}
  .event-footer{flex-wrap:wrap;padding:20px;gap:10px 20px}
}
@media(prefers-reduced-motion:reduce){
  .giveaway-copy,.running-turkey{animation:none}
}


