@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700;800&family=Source+Sans+3:wght@400;600;700;800&display=swap");:root{--burgundy:#6b1c1c;--burgundy-deep:#4a1010;--forest:#3d5a2a;--forest-deep:#2a3f1c;--gold:#e3b23c;--cream:#f6efe3;--cream-dark:#ece2d0;--ink:#2a1a12;--muted:#6b5748;--paper:#fffdf8;--closed:#9b3a3a;--partial:#b8892a;}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Source Sans 3","Segoe UI",sans-serif;background:var(--cream);color:var(--ink);line-height:1.55}img{max-width:100%;display:block}a{color:inherit}.font-display{font-family:Cinzel,serif}.site-header{position:sticky;top:0;z-index:40;background:#5c1518;color:var(--paper)}.header-row{max-width:88rem;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding:.85rem 2rem .7rem}.header-row>a:first-child{justify-self:start}.header-row>a:nth-child(2){justify-self:center}.header-actions{justify-self:end;display:flex;gap:.5rem;align-items:center}.logo{width:92px;height:92px;object-fit:contain}.wordmark{height:96px;width:auto;max-width:min(420px,46vw);object-fit:contain}.pets-bar{background:#d7b14a;color:#4a1010;text-align:center;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;padding:.5rem .75rem}.desk-nav{background:var(--paper);border-bottom:1px solid var(--cream-dark)}.desk-nav .inner{max-width:72rem;margin:0 auto;display:flex;justify-content:center;gap:.5rem;padding:.65rem .75rem;overflow-x:auto}.desk-nav a{flex-shrink:0;border-radius:999px;padding:.5rem .9rem;font-size:.9rem;font-weight:600;text-decoration:none;background:var(--cream-dark);color:var(--forest-deep)}.desk-nav a.active{background:var(--forest);color:var(--paper)}.mob-toggle{display:none;border:1px solid rgba(255,253,248,.3);background:transparent;color:var(--paper);border-radius:999px;padding:.45rem .6rem}.mob-nav{display:none;background:var(--paper);border-bottom:1px solid var(--cream-dark);padding:.5rem}.mob-nav a{display:block;padding:.7rem .75rem;text-decoration:none;font-weight:600;border-radius:.6rem}.mob-nav.open{display:block}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.btn-gold{background:var(--gold);color:var(--burgundy-deep);padding:.7rem 1.2rem;font-size:.9rem}.btn-burgundy{background:var(--burgundy);color:var(--paper);padding:.7rem 1.2rem;font-size:.9rem}.btn-forest{background:var(--forest);color:var(--paper);padding:.55rem 1rem;font-size:.9rem}.btn-ghost{border:1px solid rgba(255,253,248,.5);color:var(--paper);padding:.7rem 1.2rem;font-size:.9rem}.hero{position:relative;min-height:calc(100svh - 14rem);overflow:hidden;background:var(--ink);color:var(--paper)}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,26,18,.8),rgba(42,26,18,.4),transparent)}.hero-copy{position:relative;max-width:72rem;margin:0 auto;min-height:calc(100svh - 14rem);display:flex;flex-direction:column;justify-content:center;padding:2.5rem 1rem 4rem}.eyebrow{width:fit-content;background:var(--gold);color:var(--burgundy-deep);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding:.28rem .7rem;border-radius:.25rem}.hero h1{font-family:Cinzel,serif;max-width:10ch;font-size:clamp(2.2rem,6vw,4.75rem);line-height:.95;margin:1rem 0 0}.hero p.lede{max-width:36rem;font-size:1.15rem;color:#f6efe3;margin-top:1rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem}.gp{position:relative;overflow:hidden;background:var(--forest);color:var(--paper)}.gp-inner{max-width:72rem;margin:0 auto;padding:3rem 1rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:1rem}.gp h2{font-family:Cinzel,serif;color:var(--gold);font-size:clamp(2rem,4vw,3rem);line-height:.95;margin:.3rem 0}.gp .watermark{position:absolute;right:-2%;top:50%;transform:translateY(-50%);font-family:Cinzel,serif;font-size:7rem;line-height:.86;color:rgba(255,253,248,.09);text-align:right;pointer-events:none}.gp-photos{position:relative;height:320px}.gp-photos .c1,.gp-photos .c2{position:absolute;overflow:hidden;border-radius:999px;box-shadow:0 16px 40px rgba(0,0,0,.28)}.gp-photos .c1{top:0;right:18%;width:208px;height:208px;border:10px solid #4e6d38}.gp-photos .c2{right:0;bottom:0;width:256px;height:256px;border:12px solid #5a7a42}.gp-photos img{width:100%;height:100%;object-fit:cover}.wrap{max-width:72rem;margin:0 auto;padding:3.5rem 1rem}.kicker{font-size:.75rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy)}.cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2.2rem}.card{background:var(--paper);border-radius:1rem;overflow:hidden;box-shadow:0 10px 24px rgba(42,26,18,.08);display:flex;flex-direction:column}.card .media{height:13rem;overflow:hidden}.card .media img,.card .media video,video.fill{width:100%;height:100%;object-fit:cover;display:block}.card .body{padding:1.2rem;display:flex;flex-direction:column;gap:.55rem;flex:1}.card h3{font-family:Cinzel,serif;font-size:1.4rem;margin:0}.muted{color:var(--muted)}.page-title{font-family:Cinzel,serif;font-size:clamp(1.7rem,3vw,2.4rem);color:var(--burgundy);margin:0}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.act .media{height:12rem}.badge{display:inline-block;background:var(--gold);color:var(--burgundy-deep);font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.15rem .45rem}.note{background:rgba(227,178,60,.2);border-radius:.9rem;padding:1rem}.night-page{background:#070203;color:#f6efe3}.night-hero{text-align:center;padding:2.6rem 1rem 1.4rem}.night-hero img.brand{width:min(880px,90vw);height:auto;margin:0 auto 1.1rem;filter:drop-shadow(0 18px 40px rgba(0,0,0,.7))}.night-hero p{color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}.night-grid{max-width:72rem;margin:0 auto;padding:0 1rem 3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.haunt{overflow:hidden;border-radius:1rem;border:1px solid rgba(127,29,29,.5);background:rgba(0,0,0,.75)}.haunt .media{height:18rem}.haunt .body{padding:1.4rem}.haunt h2{font-family:Cinzel,serif;color:var(--gold);margin:.2rem 0}.logo-slot{height:8.5rem;display:flex;align-items:center;justify-content:center;margin:.15rem 0 1rem}.logo-slot img{max-height:8.5rem;max-width:20rem;width:auto;height:auto;object-fit:contain}.combo{max-width:72rem;margin:0 auto 3rem;padding:0 1rem}table{width:100%;border-collapse:collapse;background:var(--paper)}th,td{padding:.8rem;text-align:left}thead.forest{background:var(--forest);color:var(--paper)}thead.burgundy{background:var(--burgundy);color:var(--paper)}thead.ink{background:var(--ink);color:var(--gold)}tbody tr{border-top:1px solid var(--cream-dark)}.pill{display:inline-block;border-radius:999px;padding:.25rem .65rem;font-size:.75rem;font-weight:700}.pill.open{background:var(--cream-dark);color:var(--forest)}.pill.closed{background:var(--cream);color:var(--closed)}.pill.partial{background:rgba(227,178,60,.3);color:var(--partial)}.table-card{overflow:hidden;border-radius:1rem;box-shadow:0 8px 20px rgba(42,26,18,.08)}.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.panel{border-radius:1rem;overflow:hidden;color:var(--paper);display:flex;flex-direction:column}.panel .pad{padding:1.4rem;flex:1}.panel .foot{background:var(--ink);text-align:center;padding:.6rem;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.panel.day{background:var(--forest)}.panel.night{background:var(--burgundy)}footer{background:var(--ink);color:#f6efe3;padding:2rem 1rem 1.2rem}.foot-grid{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}footer a{color:rgba(246,239,227,.9);text-decoration:none;display:block;padding:.2rem 0}footer a:hover{color:var(--gold)}.foot-bar{font-family:Cinzel,serif;background:var(--burgundy-deep);color:var(--gold);text-align:center;letter-spacing:.28em;font-size:.75rem;padding:.8rem;margin-top:1.6rem}.promo-back{position:fixed;inset:0;z-index:50;background:rgba(42,26,18,.75);display:flex;align-items:center;justify-content:center;padding:1rem}.promo-card{position:relative;width:min(100%,28rem)}.promo-card img{width:100%;border-radius:1rem}.promo-x{position:absolute;top:-12px;right:-12px;width:34px;height:34px;border:0;border-radius:999px;background:var(--paper)}@media(max-width:900px){.logo{width:64px;height:64px}.wordmark{height:56px;max-width:52vw}.desk-nav{display:none}.mob-toggle{display:inline-flex}.hero,.hero-copy{min-height:calc(100svh - 8rem)}.hero p.lede{display:none}.gp-inner,.cards-3,.grid-3,.grid-2,.grid-4,.night-grid,.split,.foot-grid{grid-template-columns:1fr}.gp-photos,.watermark{display:none}.header-row{gap:.35rem;padding:.55rem .8rem}}



/* CHANGE 09 — Correct Home Day/Night button colors */
body[data-page="home"] .hero-actions .btn-burgundy{
  background:var(--forest);
  border-color:var(--forest);
  color:var(--paper);
}
body[data-page="home"] .hero-actions .btn-ghost{
  background:var(--burgundy);
  border-color:var(--burgundy);
  color:var(--paper);
}


/* CHANGE 10 — Home mobile audit */
@media(max-width:600px){
  .header-row{
    grid-template-columns:auto 1fr auto;
    gap:.45rem;
    padding:.55rem .8rem;
  }
  .logo{width:52px;height:52px}
  .wordmark{
    height:54px;
    max-width:38vw;
    justify-self:center;
  }
  .header-actions{gap:.4rem}
  .header-actions .btn-gold{
    min-height:40px;
    padding:.58rem .8rem;
    font-size:.72rem;
  }
  .mob-toggle{
    width:40px;
    height:40px;
    padding:0;
    align-items:center;
    justify-content:center;
    font-size:1rem;
  }
  .pets-bar{
    padding:.5rem .65rem;
    font-size:.74rem;
    line-height:1.15rem;
    letter-spacing:.07em;
  }
  .mob-nav{padding:.45rem .7rem}
  .mob-nav a{
    padding:.68rem .7rem;
    font-size:.95rem;
  }

  .hero,.hero-copy{
    min-height:540px;
  }
  .hero-copy{
    padding:2rem 1rem 2.5rem;
  }
  .hero h1{
    font-size:2.7rem;
    line-height:1;
    margin-top:.8rem;
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.5rem;
    width:100%;
    max-width:360px;
    margin-top:1.25rem;
  }
  .hero-actions .btn{
    min-height:44px;
    padding:.65rem .7rem;
    font-size:.78rem;
  }
  .hero-actions .btn:first-child{
    grid-column:1/-1;
  }

  .gp-inner{
    padding:2rem 1rem;
  }
  .gp h2{
    font-size:2.1rem;
    line-height:1;
  }
  .gp-inner>div>p:not(.font-display):not(:first-child){
    font-size:1rem;
    line-height:1.5rem;
  }
  .gp .font-display{
    font-size:1.35rem!important;
    line-height:1.7rem;
  }
  .gp .btn{
    width:100%;
    max-width:340px;
    min-height:44px;
    font-size:.8rem;
  }

  .wrap{
    padding:2.35rem 1rem;
  }
  .wrap>h2{
    font-size:1.9rem!important;
    line-height:1.2;
  }
  .wrap>.muted{
    font-size:1rem;
    line-height:1.5rem;
  }
  .cards-3{
    gap:1rem;
    margin-top:1.5rem;
  }
  .card .media{
    height:11rem;
  }
  .card .body{
    padding:1rem;
    gap:.5rem;
  }
  .card h3{
    font-size:1.3rem;
    line-height:1.7rem;
  }
  .card .body .muted{
    font-size:1rem;
    line-height:1.5rem;
  }
  .card .body>a:not(.btn){
    font-size:.95rem;
    line-height:1.4rem;
  }
  .card .btn{
    width:100%;
    min-height:44px;
    margin-top:.35rem;
    font-size:.8rem;
  }

  footer{
    padding:1.8rem 1rem 1rem;
  }
  .foot-grid{
    grid-template-columns:1fr 1fr;
    gap:1.25rem 1rem;
  }
  .foot-grid>div:first-child{
    grid-column:1/-1;
  }
  footer a{
    font-size:.92rem;
    line-height:1.35rem;
  }
  .foot-bar{
    margin-top:1.25rem;
    font-size:.65rem;
    line-height:1rem;
    letter-spacing:.14em;
  }
}


/* CHANGE 11 — Home mobile compact header and hero controls */
@media(max-width:600px){
  /* Compact sticky header to reveal more of the hero */
  .site-header .header-row{
    min-height:68px;
    padding:.38rem .65rem;
    gap:.35rem;
  }
  .site-header .logo{
    width:42px;
    height:42px;
  }
  .site-header .wordmark{
    height:44px;
    max-width:34vw;
  }
  .site-header .header-actions{
    gap:.3rem;
  }
  .site-header .header-actions .btn-gold{
    min-height:34px;
    padding:.45rem .68rem;
    font-size:.66rem;
    letter-spacing:.035em;
  }
  .site-header .mob-toggle{
    width:34px;
    height:34px;
    min-width:34px;
    padding:0;
    font-size:.92rem;
  }
  .site-header .pets-bar{
    padding:.34rem .55rem;
    font-size:.66rem;
    line-height:1rem;
    letter-spacing:.055em;
  }

  /* Compact hero actions without sacrificing touch targets too much */
  .hero-actions{
    gap:.38rem;
    max-width:340px;
    margin-top:1rem;
  }
  .hero-actions .btn{
    min-height:38px;
    padding:.48rem .58rem;
    font-size:.70rem;
    letter-spacing:.03em;
  }
  .hero-actions .btn:first-child{
    min-height:40px;
  }

  /* Use reclaimed vertical space for the video itself */
  .hero,
  .hero-copy{
    min-height:570px;
  }
  .hero-copy{
    padding-top:1.55rem;
    padding-bottom:2rem;
  }
}


/* CHANGE 12 — Home mobile shorter hero */
@media(max-width:600px){
  .hero,
  .hero-copy{
    min-height:470px;
  }

  .hero-copy{
    justify-content:center;
    padding:1.15rem 1rem 1.25rem;
  }

  .hero h1{
    font-size:2.45rem;
    line-height:.98;
    margin-top:.62rem;
  }

  .hero-actions{
    max-width:325px;
    gap:.32rem;
    margin-top:.72rem;
  }

  .hero-actions .btn{
    min-height:34px;
    padding:.38rem .48rem;
    font-size:.66rem;
    letter-spacing:.025em;
  }

  .hero-actions .btn:first-child{
    min-height:36px;
  }
}


/* CHANGE 13 — Home mobile bottom-left hero overlay */
@media(max-width:600px){
  body[data-page="home"] .hero{
    min-height:470px;
  }

  body[data-page="home"] .hero-copy{
    position:absolute;
    left:0;
    bottom:18px;
    width:84%;
    max-width:350px;
    min-height:0;
    margin:0;
    padding:.80rem .80rem 1.08rem;
    justify-content:flex-end;
    align-items:flex-start;
  }

  body[data-page="home"] .hero-copy .eyebrow{
    font-size:.58rem;
    line-height:.86rem;
    letter-spacing:.12em;
    padding:.22rem .57rem;
    border-radius:.20rem;
  }

  body[data-page="home"] .hero h1{
    max-width:9.5ch;
    margin-top:.52rem;
    font-size:2.02rem;
    line-height:.96;
  }

  body[data-page="home"] .hero-actions{
    width:100%;
    max-width:268px;
    gap:.26rem;
    margin-top:.59rem;
  }

  body[data-page="home"] .hero-actions .btn{
    min-height:31px;
    padding:.32rem .40rem;
    font-size:.55rem;
    line-height:.79rem;
    letter-spacing:.02em;
  }

  body[data-page="home"] .hero-actions .btn:first-child{
    min-height:33px;
  }
}


/* CHANGE 14 — Match Home header to shared site header */
body[data-page="home"] .site-header{
  background:var(--deep);
  color:var(--paper);
}

body[data-page="home"] .header-row{
  max-width:72rem;
  margin:auto;
  padding:12px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:108px;
}

body[data-page="home"] .header-row>a:first-child,
body[data-page="home"] .header-row>a:nth-child(2){
  justify-self:auto;
}

body[data-page="home"] .header-actions{
  justify-self:auto;
  display:flex;
  gap:10px;
  align-items:center;
}

body[data-page="home"] .logo{
  width:80px;
  height:80px;
  object-fit:contain;
}

body[data-page="home"] .wordmark{
  width:auto;
  height:84px;
  max-width:40vw;
  object-fit:contain;
}

body[data-page="home"] .header-actions .btn-gold{
  min-height:40px;
  padding:10px 20px;
  font-size:14px;
  letter-spacing:.04em;
}

body[data-page="home"] .pets-bar{
  margin:0;
  background:var(--gold);
  color:var(--deep);
  padding:7px 12px;
  font-size:14px;
  line-height:20px;
  letter-spacing:.04em;
}

body[data-page="home"] .mob-toggle{
  border:1px solid #b9a99b;
  background:transparent;
  color:var(--paper);
  border-radius:999px;
  height:38px;
  width:38px;
}

@media(max-width:900px){
  body[data-page="home"] .header-row{
    padding:10px 16px;
    min-height:82px;
    gap:10px;
  }

  body[data-page="home"] .logo{
    width:58px;
    height:58px;
  }

  body[data-page="home"] .wordmark{
    height:58px;
    max-width:34vw;
  }

  body[data-page="home"] .header-actions .btn-gold{
    min-height:36px;
    padding:8px 12px;
    font-size:11px;
  }

  body[data-page="home"] .pets-bar{
    padding:6px 8px;
    font-size:11px;
    line-height:20px;
    letter-spacing:.025em;
  }

  body[data-page="home"] .mob-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
  }
}

@media(max-width:600px){
  body[data-page="home"] .header-row{
    min-height:86px;
    padding:10px 14px;
    gap:8px;
  }

  body[data-page="home"] .logo{
    width:52px;
    height:52px;
  }

  body[data-page="home"] .wordmark{
    height:54px;
    max-width:34vw;
  }

  body[data-page="home"] .header-actions{
    gap:7px;
  }

  body[data-page="home"] .header-actions .btn-gold{
    min-height:40px;
    padding:9px 12px;
    font-size:11.5px;
  }

  body[data-page="home"] .mob-toggle{
    width:40px;
    height:40px;
    min-width:40px;
    font-size:18px;
  }

  body[data-page="home"] .pets-bar{
    padding:8px 10px;
    font-size:12px;
    line-height:18px;
    letter-spacing:.035em;
  }
}


/* CHANGE 15 — Home sticky header opaque on scroll */
body[data-page="home"] .site-header,
body[data-page="home"] .site-header .header-row{
  background-color:#4a1010 !important;
  background-image:none !important;
}

body[data-page="home"] .site-header{
  isolation:isolate;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}

body[data-page="home"] .site-header .header-row{
  position:relative;
  z-index:1;
}

body[data-page="home"] .site-header .pets-bar{
  position:relative;
  z-index:2;
  background-color:#e3b23c !important;
}
