:root{
  --forest:#103c2a;
  --forest-2:#1c4d36;
  --cream:#fbf4e5;
  --cream-2:#fffaf0;
  --brown:#7a4d24;
  --copper:#a65d28;
  --ink:#17291f;
  --line:#d4c1a2;
  --shadow:0 18px 48px rgba(61,42,20,.15);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:radial-gradient(circle at 50% 0%, #fffaf1 0, var(--cream) 45%, #f2e6ce 100%);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.topbar{
  background:linear-gradient(90deg,#0b2d20,#16442f,#0b2d20);
  color:#fff4d7;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.25em;
  font-weight:900;
  font-size:clamp(.72rem,1.4vw,.95rem);
  padding:.75rem 1rem;
}
.page-shell{max-width:1360px;margin:0 auto;padding:clamp(1rem,2.4vw,2.2rem) clamp(1rem,3vw,3rem) 1.4rem;}
.hero{
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(460px,1.35fr);
  gap:clamp(1.2rem,2.5vw,3rem);
  align-items:center;
  min-height:calc(100vh - 150px);
}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;max-width:510px;}
.brand{display:inline-flex;margin-bottom:clamp(1rem,2vw,1.8rem)}
.brand img{width:clamp(130px,16vw,210px);height:auto;filter:drop-shadow(0 12px 20px rgba(86,57,25,.16));}
.eyebrow{
  margin:.2rem 0 .5rem;
  color:#8d412b;
  text-transform:uppercase;
  letter-spacing:.29em;
  font-weight:900;
  font-size:clamp(.72rem,1.2vw,.95rem);
}
h1{
  margin:0;
  max-width:560px;
  font-family:Georgia, "Times New Roman", serif;
  color:var(--forest);
  text-transform:uppercase;
  font-size:clamp(3.3rem,6.1vw,7.1rem);
  line-height:.84;
  letter-spacing:.015em;
}
h1 span{
  display:block;
  margin-top:.38rem;
  font-family:"Brush Script MT","Segoe Script",cursive;
  color:var(--copper);
  font-size:clamp(1.55rem,2.75vw,3.1rem);
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  line-height:1.05;
}
.intro-text{margin:1.1rem 0 0;max-width:520px;font-size:clamp(.95rem,1.25vw,1.16rem);line-height:1.58;color:#21382b;}
.hero-media{align-self:center;display:flex;flex-direction:column;gap:.9rem;position:relative;}
.social-panel{display:flex;justify-content:flex-end;gap:clamp(.65rem,1.5vw,1.15rem);align-items:center;}
.social-card{
  min-width:clamp(170px,17vw,240px);
  border-radius:18px;
  padding:clamp(.85rem,1.25vw,1.15rem) clamp(.9rem,1.5vw,1.3rem);
  color:#fff;text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.05em;
  display:flex;align-items:center;gap:.8rem;box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .15s ease;
}
.social-card:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(61,42,20,.23)}
.instagram{background:linear-gradient(135deg,#ff7b21,#d82d6a 50%,#4c42c9)}
.facebook{background:linear-gradient(135deg,#2d73c8,#123f83)}
.social-icon{font-size:2.65rem;line-height:1;min-width:2.85rem;text-align:center}.facebook-mark{font-family:Arial,sans-serif;font-size:2.9rem}
.social-card strong{display:block;font-size:clamp(.88rem,1.18vw,1.2rem)}.social-card small{display:block;margin-top:.18rem;text-transform:none;letter-spacing:0;font-size:clamp(.7rem,1vw,.9rem);font-weight:750;opacity:.96}
.campfire-art{width:112%;max-width:none;max-height:54vh;object-fit:contain;object-position:center;filter:drop-shadow(0 18px 34px rgba(56,40,24,.10));mix-blend-mode:multiply;margin-left:-7%;}
.coming{margin:clamp(.8rem,1vw,1.5rem) auto 0;text-align:center;border-top:1px solid rgba(122,77,36,.35);padding-top:1rem;}
.progress{margin:0 0 .2rem;color:var(--forest);text-transform:uppercase;letter-spacing:.24em;font-size:clamp(.68rem,1.15vw,.9rem);font-weight:900;}
.coming h2{font-family:Impact,"Arial Black",sans-serif;margin:0 0 .9rem;color:var(--forest);font-size:clamp(3rem,7vw,6.6rem);line-height:.9;text-transform:uppercase;letter-spacing:.09em;text-shadow:0 2px 0 rgba(122,77,36,.12);}
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(.55rem,1.3vw,1rem)}
.coming-card{background:rgba(255,250,240,.75);border:1.5px solid rgba(122,77,36,.45);border-radius:15px;padding:clamp(.65rem,1.2vw,1rem);box-shadow:0 8px 20px rgba(61,42,20,.07);}
.coming-card span{display:block;font-size:clamp(1.6rem,2.5vw,2.4rem);margin-bottom:.18rem}.coming-card h3{margin:0;color:var(--forest);font-size:clamp(.78rem,1vw,.98rem);text-transform:uppercase;letter-spacing:.05em}.coming-card p{margin:.18rem 0 0;font-family:Impact,"Arial Black",sans-serif;text-transform:uppercase;color:var(--forest);font-size:clamp(1rem,1.7vw,1.75rem);line-height:.95;letter-spacing:.04em}
footer{background:linear-gradient(90deg,#0b2d20,#16442f,#0b2d20);color:#fff7e3;text-align:center;padding:.7rem 1rem;font-size:.88rem}
footer p{margin:0}
@media (max-width: 920px){
  .page-shell{padding:1rem .9rem 1rem}.hero{min-height:auto;grid-template-columns:1fr;gap:1rem;text-align:center}.hero-copy{align-items:center;max-width:none}.brand{margin-bottom:.8rem}.brand img{width:128px}h1{font-size:clamp(3.1rem,15vw,5rem);max-width:680px}h1 span{font-size:clamp(1.45rem,7vw,2.35rem)}.intro-text{max-width:630px}.hero-media{gap:.8rem}.social-panel{order:-1;justify-content:center;flex-wrap:wrap}.social-card{min-width:min(45vw,235px);justify-content:center;padding:.8rem 1rem}.social-icon{font-size:2rem;min-width:2.1rem}.campfire-art{max-height:none;max-width:100%;width:100%;margin-left:0}.cards{grid-template-columns:repeat(2,1fr)}.coming-card:last-child{grid-column:1/-1;max-width:360px;margin:0 auto;width:100%}
}
@media (max-width: 560px){
  .topbar{letter-spacing:.13em;font-size:.68rem}.brand img{width:112px}.eyebrow{font-size:.68rem;letter-spacing:.16em}h1{font-size:3rem}h1 span{font-size:1.4rem}.intro-text{font-size:.95rem;line-height:1.45}.social-panel{display:grid;grid-template-columns:1fr;gap:.5rem;width:100%}.social-card{min-width:0;width:100%;border-radius:12px;padding:.65rem 1rem}.campfire-art{width:108%;margin-left:-4%;max-width:none}.coming h2{font-size:3.4rem}.cards{gap:.55rem}.coming-card{padding:.65rem .35rem;border-radius:12px}.coming-card span{font-size:1.55rem}.coming-card h3{font-size:.7rem}.coming-card p{font-size:1.05rem}
}
@media (min-width: 921px) and (max-height: 800px){
  .page-shell{padding-top:1rem}.hero{min-height:calc(100vh - 118px);grid-template-columns:minmax(290px,.72fr) minmax(520px,1.45fr)}.brand img{width:145px}.eyebrow{font-size:.78rem}h1{font-size:clamp(3.7rem,5vw,5.2rem)}h1 span{font-size:clamp(1.7rem,2vw,2.2rem)}.intro-text{font-size:.96rem;line-height:1.45}.campfire-art{max-height:48vh;width:116%;margin-left:-8%;max-width:none}.social-card{padding:.7rem .9rem;border-radius:13px}.social-icon{font-size:2rem;min-width:2.1rem}.coming{padding-top:.55rem}.progress{font-size:.7rem}.coming h2{font-size:clamp(3.5rem,5.5vw,4.8rem);margin-bottom:.55rem}.coming-card{padding:.55rem}.coming-card span{font-size:1.65rem}.coming-card p{font-size:1.15rem}
}
