
@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Raleway:wght@300;400;500;600;700&display=swap');

:root{
  --red:#bd0909;
  --dark:#171717;
  --nav:rgba(26,26,26,.96);
  --white:#fff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--dark);color:#fff}
body{font-family:Raleway,Arial,sans-serif;line-height:1.45}
a{color:inherit}
h1,h2,.header-brand{font-family:"Abril Fatface",Georgia,serif;font-weight:400}
h1,h2{margin:0}
.red{background:var(--red)}
.black{background:var(--dark)}

/* Sticky header seen in the original screenshots */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  height:60px;
  background:var(--nav);
  backdrop-filter:blur(2px);
}
.header-inner{
  height:60px;
  width:100%;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 48px;
  gap:30px;
}
.header-left,.header-right{
  display:flex;
  align-items:center;
  gap:34px;
}
.header-right{justify-content:flex-end}
.site-header a{text-decoration:none}
.header-left a,.header-right a{
  text-transform:uppercase;
  font-size:14px;
  letter-spacing:.09em;
}
.header-brand{
  color:#ef3333;
  font-size:30px;
  white-space:nowrap;
}

/* HERO */
.hero{
  position:relative;
  width:100%;
  height:clamp(470px,32.3vw,680px);
  overflow:hidden;
  background:#000;
}
.hero>img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.hero-roundel{
  position:absolute;
  left:50%;
  bottom:-26px;
  transform:translateX(-50%);
  width:clamp(180px,12.8vw,270px);
  aspect-ratio:1;
  border-radius:50%;
  background:#bd0909;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  z-index:3;
}
.hero-roundel strong{
  font-family:"Abril Fatface",Georgia,serif;
  font-size:clamp(28px,2.25vw,46px);
  line-height:1.02;
}
.hero-roundel a{
  margin-top:12px;
  background:#fff;
  color:#111;
  text-decoration:none;
  padding:11px 24px;
  font-size:12px;
  letter-spacing:.08em;
}

/* SOCIAL BAR */
.socialbar{
  height:75px;
  background:#171717;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:60px;
  padding-top:6px;
}
.socialbar a{
  text-decoration:none;
  color:#ef3333;
  font-family:"Abril Fatface",Georgia,serif;
  font-size:31px;
}

/* INTRO */
.intro{
  min-height:250px;
  padding:48px 20px 54px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.intro .narrow{
  width:min(620px,90vw);
  margin:auto;
  font-size:22px;
  line-height:1.4;
}
.intro p{margin:8px 0}

/* GALLERY */
.gallery-section{
  padding:42px 0 58px;
  background:#171717;
}
.gallery-section h2{
  text-align:center;
  font-size:33px;
  margin-bottom:34px;
}
.masonry-gallery{
  width:min(62vw,1280px);
  margin:0 auto;
  columns:3;
  column-gap:4px;
}
.masonry-gallery img{
  display:block;
  width:100%;
  height:auto;
  margin:0 0 4px;
  break-inside:avoid;
}

/* CONTACT */
.contact-section,
.direct-contact{
  padding:52px 20px 48px;
}
.contact-section h2,
.direct-contact h2{
  text-align:center;
  font-size:31px;
  margin-bottom:32px;
}
.contact-grid{
  width:min(840px,64vw);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
}
.smallcaps{
  font-size:13px;
  font-weight:500;
  letter-spacing:.11em;
  margin-bottom:14px;
}
.fake-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.fake-form input,
.fake-form textarea{
  background:#a80606;
  border:0;
  color:#fff;
  font:inherit;
  padding:12px 14px;
}
.fake-form input{height:38px}
.fake-form textarea{height:116px;resize:none}
.sendbtn{
  display:block;
  text-align:center;
  text-decoration:none;
  background:#fff;
  color:#111;
  padding:11px;
  font-size:12px;
  letter-spacing:.12em;
}
.contact-copy p{
  margin:8px 0 18px;
  font-size:13px;
  line-height:1.5;
}
.contact-copy a,.redtext{color:#ff4040}

/* EVENTS / CAMPS */
.events-section{
  text-align:center;
  padding:54px 20px 58px;
  min-height:470px;
}
.events-section h2{
  font-size:31px;
  margin:0 0 22px;
}
.events-section>p{
  margin:0;
  font-size:13px;
  letter-spacing:.08em;
}
.camp-title{
  margin-top:78px !important;
  font-size:43px !important;
}
.camp-sub{
  font-size:15px !important;
  color:#bdbdbd;
  margin-top:14px !important;
}
.camp-buttons{
  width:min(550px,80vw);
  margin:30px auto 0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.camp-buttons a{
  background:#c80a0a;
  text-decoration:none;
  padding:13px 16px;
  font-size:12px;
  letter-spacing:.08em;
}

/* FOOTER */
.site-footer{
  background:#bd0909;
  text-align:center;
  padding:38px 20px 42px;
}
.footer-icons{margin-bottom:16px}
.site-footer p{
  margin:0 auto 22px;
  font-size:11px;
}
.footer-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:18px;
}
.footer-links a{
  text-decoration:none;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.08em;
}

/* Mystery page */
.quote{
  padding:52px 20px 0;
  text-align:center;
}
.quote h1{
  font-size:36px;
  margin-bottom:28px;
}
.quote-card{
  width:min(820px,75vw);
  margin:0 auto;
  background:#fff;
  color:#333;
  border-radius:12px 12px 0 0;
  padding:20px;
  text-align:left;
}
.quote-head{display:flex;justify-content:space-between;align-items:center;color:#50126d}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.quote-grid label{font-size:11px;font-weight:600}
.quote-grid input{display:block;width:100%;height:36px;border:1px solid #ccc;margin-top:6px;border-radius:3px}
.continue-btn{display:block;background:#5e008f;color:#fff;text-align:center;text-decoration:none;padding:10px;margin-top:18px;border-radius:3px;font-size:11px;font-weight:700}
.dark-form .fake-form input,.dark-form .fake-form textarea{background:#050505}
.redsend{background:#c80808;color:#fff}

/* Reviews */
.written-reviews{padding:60px 20px 70px;text-align:center}
.written-reviews h1{font-size:31px;margin-bottom:34px}
.reviews-two{width:min(920px,75vw);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px}
.reviews-two article{font-size:12px;color:#ccc;line-height:1.55}
.review-title{font-size:14px;letter-spacing:.14em;color:#fff;margin-bottom:14px}
.gigsalad-reviews{text-align:center;padding:48px 20px 0}
.gigsalad-reviews h2{font-size:31px;margin-bottom:28px}
.gs-card{width:min(310px,90vw);margin:auto;background:#fff;border-radius:10px 10px 0 0;color:#3f0a66;padding:18px 14px}
.gs-logo{font-size:24px;font-weight:700}
.gs-small{font-size:10px;margin:5px 0 14px}
.gs-review{background:#f5eff9;color:#333;text-align:left;padding:12px;font-size:9px;margin:9px 0;border-radius:4px}
.gs-actions{display:flex;justify-content:center;gap:8px}
.gs-actions a{border:1px solid #6b1692;border-radius:16px;padding:6px 13px;font-size:9px}

/* Ghost editor support */
.generic{min-height:70vh;padding:70px 30px;max-width:900px;margin:auto}
.gh-content{max-width:760px;margin:auto}
.kg-width-wide{width:min(1200px,calc(100vw - 40px));max-width:1200px;margin-left:50%;transform:translateX(-50%)}
.kg-width-full{width:100vw;max-width:100vw;margin-left:50%;transform:translateX(-50%)}

@media(max-width:1100px){
  .header-inner{padding:0 24px}
  .header-left,.header-right{gap:18px}
  .header-left a,.header-right a{font-size:11px}
  .header-brand{font-size:25px}
  .socialbar{gap:34px}
  .socialbar a{font-size:24px}
  .intro .narrow{font-size:18px}
  .contact-grid{width:min(80vw,840px)}
}
@media(max-width:760px){
  .site-header{height:auto;position:relative}
  .header-inner{
    height:auto;
    min-height:92px;
    grid-template-columns:1fr;
    gap:8px;
    padding:12px 16px;
    text-align:center;
  }
  .header-brand{grid-row:1}
  .header-left,.header-right{justify-content:center;flex-wrap:wrap}
  .hero{height:56vw;min-height:320px}
  .socialbar{height:auto;min-height:64px;gap:20px;flex-wrap:wrap;padding:14px}
  .socialbar a{font-size:20px}
  .intro{min-height:220px}
  .intro .narrow{font-size:16px}
  .masonry-gallery{width:88vw;columns:2}
  .contact-grid{width:88vw;grid-template-columns:1fr}
  .reviews-two,.quote-grid{grid-template-columns:1fr}
  .reviews-two{width:88vw}
}


/* ===== v0.5 Reviews page scale correction ===== */
.page-reviews-template .written-reviews{
    padding: 48px 20px 86px;
}
.page-reviews-template .written-reviews h1{
    font-size: 38px;
    margin-bottom: 42px;
}
.page-reviews-template .reviews-two{
    width: min(1040px, 82vw);
    gap: 72px;
}
.page-reviews-template .review-title{
    font-size: 17px;
    letter-spacing: .12em;
    margin-bottom: 18px;
}
.page-reviews-template .reviews-two article{
    font-size: 15px;
    line-height: 1.58;
}
.page-reviews-template .reviews-two article p{
    margin: 0 0 22px;
}
.page-reviews-template .gigsalad-reviews{
    padding: 56px 20px 0;
}
.page-reviews-template .gigsalad-reviews h2{
    font-size: 38px;
    margin-bottom: 34px;
}
.page-reviews-template .gs-card{
    width: min(360px, 90vw);
    padding: 22px 16px;
}
.page-reviews-template .gs-logo{
    font-size: 28px;
}
.page-reviews-template .gs-small{
    font-size: 11px;
}
.page-reviews-template .gs-review{
    font-size: 10px;
    padding: 14px;
}
.page-reviews-template .direct-contact{
    padding-top: 54px;
}
.page-reviews-template .direct-contact h2{
    font-size: 34px;
}
.page-reviews-template .contact-grid{
    width: min(920px, 74vw);
}
.page-reviews-template .contact-copy p{
    font-size: 14px;
}
.page-reviews-template .smallcaps{
    font-size: 13px;
}

@media (max-width: 1100px){
    .page-reviews-template .reviews-two{
        width: min(920px, 88vw);
        gap: 46px;
    }
}
@media (max-width: 760px){
    .page-reviews-template .written-reviews h1{
        font-size: 32px;
    }
    .page-reviews-template .reviews-two{
        width: 90vw;
        grid-template-columns: 1fr;
    }
    .page-reviews-template .reviews-two article{
        font-size: 14px;
    }
    .page-reviews-template .contact-grid{
        width: 90vw;
    }
}


/* ===== v0.6 Reviews page: larger desktop scale ===== */
.page-reviews-template .written-reviews{
    padding: 64px 24px 110px;
}
.page-reviews-template .written-reviews h1{
    font-size: 50px;
    margin-bottom: 54px;
}
.page-reviews-template .reviews-two{
    width: min(1220px, 84vw);
    gap: 86px;
}
.page-reviews-template .review-title{
    font-size: 22px;
    letter-spacing: .10em;
    margin-bottom: 24px;
}
.page-reviews-template .reviews-two article{
    font-size: 18px;
    line-height: 1.62;
}
.page-reviews-template .reviews-two article p{
    margin: 0 0 28px;
}

.page-reviews-template .gigsalad-reviews{
    padding: 72px 20px 0;
}
.page-reviews-template .gigsalad-reviews h2{
    font-size: 48px;
    margin-bottom: 42px;
}
.page-reviews-template .gs-card{
    width: min(430px, 92vw);
    padding: 26px 20px 20px;
    border-radius: 14px 14px 0 0;
}
.page-reviews-template .gs-logo{
    font-size: 34px;
}
.page-reviews-template .gs-small{
    font-size: 13px;
    margin-bottom: 18px;
}
.page-reviews-template .gs-review{
    font-size: 12px;
    line-height: 1.45;
    padding: 16px;
    margin: 12px 0;
}
.page-reviews-template .gs-actions a{
    font-size: 11px;
    padding: 8px 16px;
}

.page-reviews-template .direct-contact{
    padding: 68px 24px 82px;
}
.page-reviews-template .direct-contact h2{
    font-size: 44px;
    margin-bottom: 44px;
}
.page-reviews-template .contact-grid{
    width: min(1120px, 80vw);
    gap: 70px;
}
.page-reviews-template .smallcaps{
    font-size: 15px;
    margin-bottom: 16px;
}
.page-reviews-template .fake-form{
    gap: 14px;
}
.page-reviews-template .fake-form input{
    height: 48px;
    font-size: 16px;
    padding: 14px 16px;
}
.page-reviews-template .fake-form textarea{
    height: 150px;
    font-size: 16px;
    padding: 14px 16px;
}
.page-reviews-template .sendbtn{
    padding: 14px;
    font-size: 14px;
}
.page-reviews-template .contact-copy p{
    font-size: 16px;
    line-height: 1.58;
    margin: 10px 0 22px;
}

/* Slightly enlarge the footer on Reviews only */
.page-reviews-template ~ .site-footer{
    padding-top: 46px;
    padding-bottom: 48px;
}
.page-reviews-template ~ .site-footer p,
.page-reviews-template ~ .site-footer .footer-links a{
    font-size: 12px;
}

@media (max-width: 1100px){
    .page-reviews-template .reviews-two{
        width: 90vw;
        gap: 50px;
    }
    .page-reviews-template .reviews-two article{
        font-size: 16px;
    }
    .page-reviews-template .contact-grid{
        width: 90vw;
        gap: 42px;
    }
}
@media (max-width: 760px){
    .page-reviews-template .written-reviews h1{
        font-size: 38px;
    }
    .page-reviews-template .reviews-two{
        grid-template-columns: 1fr;
    }
    .page-reviews-template .review-title{
        font-size: 19px;
    }
    .page-reviews-template .reviews-two article{
        font-size: 15px;
    }
    .page-reviews-template .direct-contact h2{
        font-size: 36px;
    }
    .page-reviews-template .contact-grid{
        grid-template-columns: 1fr;
    }
}


/* ===== v0.7 Reviews page: match large original desktop scale ===== */

/* Written reviews */
.page-reviews-template .written-reviews{
    padding: 82px 30px 135px;
}
.page-reviews-template .written-reviews h1{
    font-size: 58px;
    margin-bottom: 62px;
}
.page-reviews-template .reviews-two{
    width: min(1320px, 86vw);
    gap: 100px;
}
.page-reviews-template .review-title{
    font-size: 26px;
    letter-spacing: .10em;
    margin-bottom: 28px;
}
.page-reviews-template .reviews-two article{
    font-size: 21px;
    line-height: 1.64;
}
.page-reviews-template .reviews-two article p{
    margin: 0 0 32px;
}

/* GigSalad section */
.page-reviews-template .gigsalad-reviews{
    min-height: 920px;
    padding: 78px 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.page-reviews-template .gigsalad-reviews h2{
    font-size: 56px;
    margin-bottom: 48px;
}
.page-reviews-template .gs-card{
    width: min(520px, 92vw);
    padding: 34px 28px 28px;
    border-radius: 16px 16px 0 0;
}
.page-reviews-template .gs-logo{
    font-size: 42px;
}
.page-reviews-template .gs-small{
    font-size: 15px;
    line-height: 1.4;
    margin: 8px 0 24px;
}
.page-reviews-template .gs-review{
    font-size: 15px;
    line-height: 1.5;
    padding: 20px;
    margin: 16px 0;
}
.page-reviews-template .gs-actions{
    margin-top: 18px;
    gap: 14px;
}
.page-reviews-template .gs-actions a{
    font-size: 13px;
    padding: 10px 20px;
}

/* Contact */
.page-reviews-template .direct-contact{
    min-height: 700px;
    padding: 84px 28px 100px;
}
.page-reviews-template .direct-contact h2{
    font-size: 52px;
    margin-bottom: 54px;
}
.page-reviews-template .contact-grid{
    width: min(1240px, 82vw);
    gap: 86px;
}
.page-reviews-template .smallcaps{
    font-size: 17px;
    letter-spacing: .11em;
    margin-bottom: 18px;
}
.page-reviews-template .fake-form{
    gap: 16px;
}
.page-reviews-template .fake-form input{
    height: 58px;
    font-size: 18px;
    padding: 16px 18px;
}
.page-reviews-template .fake-form textarea{
    height: 185px;
    font-size: 18px;
    padding: 16px 18px;
}
.page-reviews-template .sendbtn{
    padding: 16px;
    font-size: 16px;
}
.page-reviews-template .contact-copy p{
    font-size: 18px;
    line-height: 1.62;
    margin: 12px 0 26px;
}

/* Footer */
.page-reviews-template ~ .site-footer{
    padding: 54px 24px 58px;
}
.page-reviews-template ~ .site-footer p{
    font-size: 14px;
    margin-bottom: 26px;
}
.page-reviews-template ~ .site-footer .footer-links{
    gap: 22px;
}
.page-reviews-template ~ .site-footer .footer-links a{
    font-size: 14px;
}

/* Keep desktop scale strong for wide screens */
@media (min-width: 1500px){
    .page-reviews-template .reviews-two{
        width: min(1380px, 82vw);
    }
    .page-reviews-template .contact-grid{
        width: min(1280px, 78vw);
    }
}

/* Tablet/mobile */
@media (max-width: 1100px){
    .page-reviews-template .written-reviews h1{font-size:46px}
    .page-reviews-template .review-title{font-size:21px}
    .page-reviews-template .reviews-two{
        width: 90vw;
        gap: 52px;
    }
    .page-reviews-template .reviews-two article{
        font-size: 17px;
    }
    .page-reviews-template .gigsalad-reviews{
        min-height: 760px;
    }
    .page-reviews-template .gs-card{
        width: min(470px, 90vw);
    }
    .page-reviews-template .direct-contact h2{font-size:44px}
    .page-reviews-template .contact-grid{
        width: 90vw;
        gap: 44px;
    }
    .page-reviews-template .contact-copy p{font-size:16px}
}
@media (max-width: 760px){
    .page-reviews-template .written-reviews{
        padding: 56px 20px 80px;
    }
    .page-reviews-template .written-reviews h1{font-size:38px}
    .page-reviews-template .reviews-two{
        grid-template-columns: 1fr;
    }
    .page-reviews-template .review-title{font-size:19px}
    .page-reviews-template .reviews-two article{font-size:15px}
    .page-reviews-template .gigsalad-reviews h2{font-size:38px}
    .page-reviews-template .direct-contact h2{font-size:36px}
    .page-reviews-template .contact-grid{
        grid-template-columns: 1fr;
    }
}


/* ===== v0.8 FIX: explicit Reviews wrapper; previous body-class selector did not match Ghost ===== */
.reviews-page .written-reviews{
    padding: 72px 24px 110px !important;
}
.reviews-page .written-reviews h1{
    font-size: 44px !important;
    margin-bottom: 48px !important;
}
.reviews-page .reviews-two{
    width: min(1180px, 82vw) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    gap: 78px !important;
}
.reviews-page .review-title{
    font-size: 20px !important;
    letter-spacing: .11em !important;
    margin-bottom: 22px !important;
}
.reviews-page .reviews-two article{
    font-size: 17px !important;
    line-height: 1.6 !important;
}
.reviews-page .reviews-two article p{
    margin: 0 0 24px !important;
}

.reviews-page .gigsalad-reviews{
    min-height: 760px !important;
    padding: 58px 20px 0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
}
.reviews-page .gigsalad-reviews h2{
    font-size: 42px !important;
    margin-bottom: 36px !important;
}
.reviews-page .gs-card{
    width: min(470px, 90vw) !important;
    padding: 28px 22px 24px !important;
    border-radius: 14px 14px 0 0 !important;
}
.reviews-page .gs-logo{
    font-size: 34px !important;
}
.reviews-page .gs-small{
    font-size: 12px !important;
    margin: 6px 0 18px !important;
}
.reviews-page .gs-review{
    font-size: 12px !important;
    line-height: 1.5 !important;
    padding: 16px !important;
    margin: 12px 0 !important;
}
.reviews-page .gs-actions{
    margin-top: 14px !important;
}
.reviews-page .gs-actions a{
    font-size: 11px !important;
    padding: 8px 16px !important;
}

.reviews-page .direct-contact{
    padding: 68px 24px 82px !important;
}
.reviews-page .direct-contact h2{
    font-size: 38px !important;
    margin-bottom: 42px !important;
}
.reviews-page .contact-grid{
    width: min(1080px, 78vw) !important;
    max-width: 1080px !important;
    gap: 64px !important;
}
.reviews-page .smallcaps{
    font-size: 14px !important;
    margin-bottom: 14px !important;
}
.reviews-page .fake-form input{
    height: 46px !important;
    font-size: 15px !important;
}
.reviews-page .fake-form textarea{
    height: 145px !important;
    font-size: 15px !important;
}
.reviews-page .sendbtn{
    padding: 13px !important;
    font-size: 13px !important;
}
.reviews-page .contact-copy p{
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin: 10px 0 20px !important;
}

@media (max-width: 900px){
    .reviews-page .reviews-two{
        width: 90vw !important;
        grid-template-columns: 1fr !important;
        gap: 42px !important;
    }
    .reviews-page .contact-grid{
        width: 90vw !important;
        grid-template-columns: 1fr !important;
    }
}


/* ===== v0.9 live GigSalad reviews widget ===== */
.reviews-page .live-gigsalad{
    min-height:0 !important;
    padding:58px 20px 70px !important;
}
.reviews-page .live-gigsalad h2{
    margin-bottom:36px !important;
}
.reviews-page .gigsalad-live-wrap{
    width:min(600px,92vw);
    margin:0 auto;
}
.reviews-page #gigsalad-reviews-widget{
    width:100%;
    margin:0 auto;
}


/* ===== v1.1 SAFE Mystery Parties fix =====
   Based on v0.9. No body flex/order hacks, no header moving.
   Only corrects the Mystery page proportions and heading. */

.mystery-page-safe .quote{
    background:#bd0909 !important;
    padding:42px 20px 0 !important;
    text-align:center !important;
}

.mystery-page-safe .quote h1{
    display:block !important;
    font-size:38px !important;
    line-height:1.1 !important;
    margin:0 0 28px !important;
    color:#fff !important;
}

.mystery-page-safe .quote-card{
    width:min(820px,72vw) !important;
    max-width:820px !important;
    margin:0 auto !important;
    padding:20px !important;
    border-radius:12px 12px 0 0 !important;
    text-align:left !important;
}

.mystery-page-safe .quote-head{
    font-size:13px !important;
}

.mystery-page-safe .quote-grid{
    grid-template-columns:1fr 1fr !important;
    gap:14px !important;
}

.mystery-page-safe .quote-grid label{
    font-size:11px !important;
}

.mystery-page-safe .quote-grid input{
    height:36px !important;
}

.mystery-page-safe .continue-btn{
    margin-top:18px !important;
    padding:10px !important;
    font-size:11px !important;
}

/* Bring contact section back near the original scale instead of the oversized v1.0 */
.mystery-page-safe .direct-contact{
    padding:44px 20px 62px !important;
}

.mystery-page-safe .direct-contact h2{
    font-size:31px !important;
    margin-bottom:32px !important;
}

.mystery-page-safe .contact-grid{
    width:min(920px,72vw) !important;
    max-width:920px !important;
    gap:46px !important;
}

.mystery-page-safe .smallcaps{
    font-size:12px !important;
    margin-bottom:12px !important;
}

.mystery-page-safe .fake-form input{
    height:auto !important;
    font-size:inherit !important;
    padding:14px !important;
}

.mystery-page-safe .fake-form textarea{
    height:110px !important;
    font-size:inherit !important;
    padding:14px !important;
}

.mystery-page-safe .sendbtn{
    padding:10px !important;
    font-size:inherit !important;
}

.mystery-page-safe .contact-copy p{
    font-size:12px !important;
    line-height:1.55 !important;
    margin:8px 0 16px !important;
}

@media(max-width:800px){
    .mystery-page-safe .quote-card{
        width:90vw !important;
    }
    .mystery-page-safe .quote-grid{
        grid-template-columns:1fr !important;
    }
    .mystery-page-safe .contact-grid{
        width:90vw !important;
        grid-template-columns:1fr !important;
    }
}


/* ===== v1.2 working social links ===== */
.socialbar a{
    cursor:pointer;
}
.socialbar a:hover{
    color:#fff;
}
.social-icons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
}
.social-icons a{
    width:28px;
    height:28px;
    border-radius:50%;
    background:#fff;
    color:#bd0909;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
    line-height:1;
}
.social-icons a:hover{
    transform:translateY(-1px);
    opacity:.9;
}


/* ===== v1.3 mobile refinement ===== */

@media (max-width: 760px) {
    html, body {
        overflow-x: hidden;
    }

    /* Compact but usable header */
    .site-header {
        position: relative;
        height: auto;
    }
    .header-inner {
        min-height: 0;
        padding: 12px 14px 14px;
        gap: 10px;
    }
    .header-brand {
        font-size: 24px;
        line-height: 1.05;
    }
    .header-left,
    .header-right {
        gap: 14px;
    }
    .header-left a,
    .header-right a {
        font-size: 10px;
        letter-spacing: .06em;
    }

    /* Hero keeps faces visible instead of looking squashed */
    .hero {
        height: 58vw;
        min-height: 285px;
        max-height: 420px;
    }
    .hero > img {
        object-fit: cover;
        object-position: center center;
    }
    .hero-roundel {
        width: 118px;
        bottom: -10px;
    }
    .hero-roundel strong {
        font-size: 18px;
        line-height: 1;
    }
    .hero-roundel a {
        font-size: 8px;
        padding: 6px 11px;
        margin-top: 7px;
    }

    /* Social links wrap cleanly */
    .socialbar {
        min-height: 0;
        height: auto;
        padding: 16px 12px;
        gap: 12px 20px;
        flex-wrap: wrap;
    }
    .socialbar a {
        font-size: 17px;
    }

    /* Intro */
    .intro {
        min-height: 0;
        padding: 36px 24px 40px;
    }
    .intro .narrow {
        width: 100%;
        font-size: 15px;
        line-height: 1.5;
    }

    /* Gallery: two columns on most phones, one on narrow phones */
    .gallery-section {
        padding: 34px 14px 42px;
    }
    .gallery-section h2 {
        font-size: 25px;
        margin-bottom: 24px;
    }
    .masonry-gallery {
        width: 94vw;
        columns: 2;
        column-gap: 4px;
    }

    /* Contact sections stack vertically */
    .contact-section,
    .direct-contact,
    .reviews-page .direct-contact,
    .mystery-page-safe .direct-contact {
        padding: 40px 18px 46px !important;
    }
    .contact-section h2,
    .direct-contact h2,
    .reviews-page .direct-contact h2,
    .mystery-page-safe .direct-contact h2 {
        font-size: 28px !important;
        line-height: 1.15;
        margin-bottom: 28px !important;
    }
    .contact-grid,
    .reviews-page .contact-grid,
    .mystery-page-safe .contact-grid {
        width: 92vw !important;
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
    .fake-form input,
    .fake-form textarea {
        width: 100%;
    }
    .contact-copy p {
        font-size: 13px !important;
        line-height: 1.55 !important;
    }

    /* Camps/events */
    .events-section {
        min-height: 0;
        padding: 40px 18px 48px;
    }
    .events-section h2 {
        font-size: 26px;
    }
    .camp-title {
        margin-top: 52px !important;
        font-size: 31px !important;
        line-height: 1.1;
    }
    .camp-sub {
        font-size: 12px !important;
        line-height: 1.5;
    }
    .camp-buttons {
        width: 92vw;
        max-width: 520px;
    }
    .camp-buttons a {
        font-size: 10px;
        padding: 12px 10px;
    }

    /* Written reviews */
    .reviews-page .written-reviews {
        padding: 46px 18px 64px !important;
    }
    .reviews-page .written-reviews h1 {
        font-size: 32px !important;
        line-height: 1.1;
    }
    .reviews-page .reviews-two {
        width: 92vw !important;
        grid-template-columns: 1fr !important;
        gap: 46px !important;
    }
    .reviews-page .review-title {
        font-size: 17px !important;
    }
    .reviews-page .reviews-two article {
        font-size: 14px !important;
    }

    /* GigSalad blocks */
    .reviews-page .live-gigsalad {
        padding: 42px 12px 48px !important;
    }
    .reviews-page .live-gigsalad h2 {
        font-size: 30px !important;
    }
    .reviews-page .gigsalad-live-wrap {
        width: 94vw;
    }

    /* Mystery Parties quote form */
    .mystery-page-safe .quote {
        padding: 38px 12px 0 !important;
    }
    .mystery-page-safe .quote h1 {
        font-size: 32px !important;
        margin-bottom: 24px !important;
    }
    .mystery-page-safe .quote-card {
        width: 94vw !important;
        padding: 16px !important;
    }
    .mystery-page-safe .quote-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    /* Footer */
    .site-footer {
        padding: 32px 16px 36px;
    }
    .site-footer p {
        font-size: 9px;
        line-height: 1.5;
    }
    .footer-links {
        gap: 10px 14px;
    }
    .footer-links a {
        font-size: 9px;
    }
}

@media (max-width: 430px) {
    .header-left,
    .header-right {
        gap: 9px;
    }
    .header-left a,
    .header-right a {
        font-size: 9px;
    }
    .header-brand {
        font-size: 22px;
    }

    .hero {
        height: 72vw;
        min-height: 260px;
    }
    .hero > img {
        object-position: 50% center;
    }

    .masonry-gallery {
        columns: 1;
        width: 92vw;
    }

    .socialbar a {
        font-size: 16px;
    }

    .camp-title {
        font-size: 27px !important;
    }
}
