@charset "UTF-8";
/* CSS Document */



    /* =============================================
       RESET
    ============================================= */
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html, body {
      font-family: 'Lato', sans-serif;
      background: #fff;
      overflow-x: hidden;
    }

    img {
      max-width: 100%;
      display: block;
    }

    a {
      text-decoration: none;
      color: inherit;
    }

    ul {
      list-style: none;
    }

    /* =============================================
       FLEX UTILITY CLASSES
       Use these on any element to control layout
    ============================================= */
    .flex        { display: flex; }
    .flexcenter  { display: flex; justify-content: center;        align-items: center; }
    .flexbetween { display: flex; justify-content: space-between; align-items: center; }
    .flexaround  { display: flex; justify-content: space-around;  align-items: center; }
    .flexstart   { display: flex; justify-content: flex-start;    align-items: center; }
    .flexend     { display: flex; justify-content: flex-end;      align-items: center; }
    .flexcol     { display: flex; flex-direction: column; }
    .flexwrap    { display: flex; flex-wrap: wrap; }
    .flexone     { flex: 1 1 auto; }

    /* =============================================
       NAVIGATION
       White background, fixed to top of screen
    ============================================= */
    .sitenav {
      position: relative;
      z-index: 100;
      overflow: visible;
      background: #ffffff;
      border-bottom: 0px solid #e8e0d0;
      padding: 16px 24px 0;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .navlogo {
      position: relative;
      z-index: 102;
      transform: translateY(20px);
    }

    .navlogo img {
      height: 95px;
      width: auto;
    }

    .navlinks,
    .hamburger {
      position: relative;
      z-index: 103;
    }

    /* Nav links — hidden on mobile, shown at 768px+ */
    .navlinks {
      display: none;
      gap: 40px;
    }

    .navlinks a {
      font-family: sans-serif;
      font-size: 12px;
      letter-spacing: 0.18em;
      color: #1a2535;
      transition: color 0.3s;
      position: relative;
    }

    .navlinks a::after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 0;
      width: 0;
      height: 1px;
      background: #f5a623;
      transition: width 0.3s ease;
    }

    .navlinks a:hover {
      color: #f5a623;
    }

    .navlinks a:hover::after {
      width: 100%;
    }

    /* =============================================
       HAMBURGER BUTTON
       Visible on mobile, hidden at 768px+
    ============================================= */
    .hamburger {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      width: 28px;
      height: 20px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 0;
    }

    .hamburger span {
      display: block;
      width: 100%;
      height: 2px;
      background: #1a2535;
      border-radius: 2px;
      transition: transform 0.3s ease, opacity 0.3s ease;
      transform-origin: center;
    }

    /* Three bars animate into an X when .open is added */
    .hamburger.open span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
    .hamburger.open span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

    /* =============================================
       SLIDE-OUT MOBILE MENU
       Slides in from the right when .open is added
    ============================================= */
    .mobilemenu {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: #111b28;
      z-index: 400;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 40px;
      transform: translateX(100%);
      transition: transform 0.4s ease;
    }

    .mobilemenu.open {
      transform: translateX(0);
    }

    .mobilemenu a {
      font-family: sans-serif;
      font-size: 1.8rem;
      letter-spacing: 0.15em;
      color: #e8dfc8;
      transition: color 0.3s;
    }

    .mobilemenu a:hover {
      color: #f5a623;
    }

    /* =============================================
       HERO
       Full-width banner image with text layered on top
    ============================================= */

    /* Hero sits directly below the nav — no margin needed */
  .hero {
    position: relative;
    z-index: 1;
    width: 100%;
    overflow: visible;
}

/* Responsive hero image */
.herobanner {
    position: relative;
    z-index: 2;

    display: block;
    width: 100%;
    height: auto;
}

/* Faded honeycomb attached to the hero's bottom edge */
.herohoneycombbackground {
    position: absolute;
    z-index: 1;

    top: 100%;
	right: 0;
    bottom: auto;

    width: 70%;
    max-width: 1000px;

    /*
    Moves it below the hero by a percentage of the
    honeycomb image's own height, so it scales naturally.
    */
    transform: translateY(-20%);

    opacity: 0.5;
    pointer-events: none;
}

.herohoneycombbackground img {
    display: block;
    width: 100%;
    height: auto;
}

/* Quote and button stay above everything */
.herocontent {
    position: absolute;
    z-index: 10;

    top: 0;
    left: 0;
    width: 52%;
    height: 100%;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;

    padding: 48px;
}

    /* Quote hidden on mobile, shown at 768px+ */
    .heroquote {
      display: none;
      font-family: 'Playfair Display', serif;
      font-style: italic;
      font-size: clamp(1rem, 3.5vw, 2rem);
      line-height: 1.55;
      color: #e8dfc8;
      max-width: 500px;
      margin-bottom: 12px;
    }

    /* Attribution hidden on mobile, shown at 768px+ */
    .heroattr {
      display: none;
      font-family: sans-serif;
      font-size: 11px;
      letter-spacing: 0.15em;
      color: #f5a623;
      margin-bottom: 24px;
    }

    .btnprimary {
      display: inline-block;
      font-family: sans-serif;
      font-size: 11px;
      letter-spacing: 0.2em;
      color: #111b28;
      background: #f5a623;
      padding: 13px 28px;
      border: none;
      cursor: pointer;
      transition: background 0.25s, transform 0.2s;
    }

    .btnprimary:hover {
      background: #ffc84a;
      transform: translateY(-2px);
    }

@media (min-width: 768px) and (max-width: 1099px) {

    .heroquote {
        font-size: clamp(1rem, 2.6vw, 1.55rem);
        line-height: 1.45;
        max-width: 430px;
    }

    .heroattr {
        font-size: 10px;
        margin-bottom: 18px;
    }

    .btnprimary {
        font-size: 10px;
        padding: 11px 22px;
    }

    .herocontent {
        padding: 36px 40px;
    }
}

    /* =============================================
       HONEYCOMB DIVIDER STRIP
    ============================================= */
    /*.honeycombs {
      background: #fffdf5;
      padding: 50px 24px 70px;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .honeycombstrip {
      width: 88%;
      max-width: 1100px;
    }

    .honeycombstrip img {
      width: 100%;
      height: auto;
      animation: floathex 5s ease-in-out infinite;
    }

    @keyframes floathex {
      0%, 100% { transform: translateY(0); }
      50%       { transform: translateY(-10px); }
    }*/
/* =============================================
   OVERLAPPING HONEYCOMB DIVIDER
============================================= */

.honeycombs {
  position: relative;
  z-index: 20;

  /* Pull the honeycombs upward over the hero */
  margin-top: -120px;

  min-height: 360px;
  padding-top: 0;

  /* Must remain transparent over the hero */
  background: transparent;

  overflow: visible;
}

/* Cream background begins below the hero overlap 
.honeycombs::before {
  content: "";
  position: absolute;
  z-index: 0;

  top: 120px;
  right: 0;
  bottom: 0;
  left: 0;

  background: #fff;
}*/

/* Strong foreground honeycombs */
.honeycombforeground {
  position: relative;
  z-index: 3;

  width: 70%;
  max-width: 900px;

  /* Start at left edge */
  margin-left: -7.5%;
  margin-right: auto;
	
	  /* Move foreground honeycombs down */
  transform: translateY(60px);

  pointer-events: none;
}

.honeycombforeground img {
  display: block;
  width: 100%;
  height: auto;
}


/* Keep the hero behind the honeycomb layers 
.hero {
  position: relative;
  z-index: 1;
}
/* Ensure the hero content stays readable 
.herocontent {
  z-index: 10;
}*/

@media (max-width: 767px) {
  .honeycombs {
    margin-top: -45px;
    min-height: 150px;
  }

  .honeycombforeground {
    width: 115%;
    margin-left: -7.5%;
    transform: none;
  }

   .herohoneycombbackground {
        display: none;
    }
}

    /* =============================================
       SECTION 1 — MUSIC
       Full viewport height
       TO CHANGE COLOR: edit the background value below
    ============================================= */
/* =============================================
   MUSIC TABLE
============================================= */

.musictablewrapper{
    width:100%;
    overflow-x:auto;
    margin-top:1rem;
}

.musictable{
    width:100%;
    border-collapse:collapse;
    background:#ffffff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

/* ---------- HEADER ---------- */

.musictable th{
    background:#1a2535;
    color:#fffdf5;
    font-family:sans-serif;
    font-size:.8rem;
    letter-spacing:.15em;
    text-transform:uppercase;
    text-align:center;
    padding:18px 16px;
    white-space:nowrap;
}

/* Left align only the Song heading */
.musictable th:first-child{
    text-align:left;
}

/* ---------- BODY ---------- */

.musictable td{
    padding:14px 16px;
    border-bottom:1px solid #ece7da;
    color:#1a2535;
    vertical-align:middle;
}

/* Song titles */

.musictable td:first-child{
    font-weight:600;
}

/* Center every other column */

.musictable td:nth-child(n+2){
    text-align:center;
}

/* Narrow Article of Faith column */

.musictable th:nth-child(2),
.musictable td:nth-child(2){
    width:90px;
}

/* ---------- COLUMN SHADING ---------- */

/* Alternate column shading - BODY ONLY */

.musictable tbody td:nth-child(2),
.musictable tbody td:nth-child(4){
    background:#faf7f0;
}


/* ---------- ROW HOVER ---------- */

.musictable tbody tr:hover td{
    background:#fff8e8;
}

/* Keep alternating columns just slightly darker */

.musictable tbody tr:hover td:nth-child(2),
.musictable tbody tr:hover td:nth-child(4){
    background:#fdf2d4;
}

/* ---------- SONG TITLE / PLAY BUTTON ---------- */

.songlink {
    display: flex;
    align-items: center;
    gap: 0.75rem;

    width: 100%;
    padding: 0.35rem 0;

    border: none;
    background: transparent;

    font: inherit;
    font-weight: 600;
    color: #1a2535;
    text-align: left;

    cursor: pointer;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}

.songlink:hover,
.songlink:focus-visible {
    color: #c88712;
    transform: translateX(4px);
}

.songlink:focus-visible {
    outline: 2px solid #f5a623;
    outline-offset: 4px;
    border-radius: 4px;
}

.songlinkicon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    border-radius: 50%;
    background: #f5a623;
    color: #1a2535;

    font-size: 0.75rem;
    line-height: 1;

    /* Visually centers the triangular play symbol */
    padding-left: 2px;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.songlink:hover .songlinkicon,
.songlink:focus-visible .songlinkicon {
    background: #1a2535;
    color: #fffdf5;
    transform: scale(1.1);
}

.songlinktext {
    display: inline-block;
    line-height: 1.35;
}

/* ---------- DOWNLOAD ICONS ---------- */

.musictable td a{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
}

.musictable img{
    display:block;
    width:auto;
    height:24px;
    transition:transform .2s ease;
}

.musictable a:hover img{
    transform:scale(1.35);
}


    .sectionmusic {
      min-height: 100vh;
      background: #f0ece0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 80px 24px;
    }

    .sectioninner {
      width: 100%;
      max-width: 1100px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 28px;
    }

    .sectionlabel {
      font-family: sans-serif;
      font-size: 11px;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: #f5a623;
    }

    .goldrule {
      width: 48px;
      height: 2px;
      background: #f5a623;
    }

    .sectiontitle {
      font-family: sans-serif;
      font-size: clamp(2rem, 5vw, 3.2rem);
      font-weight: 700;
      color: #1a2535;
      line-height: 1.15;
    }

    .sectionbody {
      font-family: 'Lato', sans-serif;
      font-size: 1.1rem;
      font-weight: 300;
      color: #555555;
      max-width: 52ch;
      line-height: 1.85;
    }

    /* Cards — column on mobile, row on 768px+ */
    .musiccards {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .musiccard {
      flex: 1 1 auto;
      background: #1a2535;
      padding: 28px;
      display: flex;
      flex-direction: column;
      gap: 12px;
      border-bottom: 3px solid transparent;
      transition: border-color 0.3s, transform 0.3s;
    }

    .musiccard:hover {
      border-color: #f5a623;
      transform: translateY(-4px);
    }

    .musiccardlabel {
      font-family: sans-serif;
      font-size: 10px;
      letter-spacing: 0.2em;
      color: #f5a623;
      text-transform: uppercase;
    }

    .musiccardtitle {
      font-family: sans-serif;
      font-size: 1.2rem;
      color: #e8dfc8;
    }

    .musiccardtext {
      font-family: 'Lato', sans-serif;
      font-size: 0.875rem;
      color: #8899aa;
      font-weight: 300;
      line-height: 1.7;
    }

    /* =============================================
       SECTION 2 — ABOUT
       Full viewport height
       TO CHANGE COLOR: edit the background value below
    ============================================= */
    .sectionabout {
      min-height: 100vh;
      background: #1a2535;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 80px 24px;
    }

    .sectionabout .sectiontitle {
      color: #e8dfc8;
    }

    .sectionabout .sectionbody {
      color: #8899aa;
    }

.statement {
    
    /*margin-top: 0.75rem;*/
	max-width: 52ch;
    font-size: 1.35em;
    font-weight: 600;
    line-height: 1.4;
    color: #8899aa;   /* or your cream color if on the dark section */
}

.highlight {
     /*margin-top: 0.75rem;*/
	max-width: 52ch;
    font-size: 1.35em;
    font-weight: 600;
    line-height: 1.4;
    color: #e8dfc8;   /* or your cream color if on the dark section */
}

    /* Stacks on mobile, splits into two columns on 768px+ */
    .aboutsplit {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 40px;
    }

    .abouttext {
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 20px;
    }

    /* Photo placeholder box
       TO ADD YOUR PHOTO: put <img src="yourphoto.jpg" alt="Sister Bee" />
       inside this div, then remove the background color */
    .aboutimage {
      flex: 1 1 auto;
      min-height: 280px;
     /* background: #253245;*/
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: 'Cinzel', serif;
      font-size: 11px;
      letter-spacing: 0.15em;
      color: #3a4f66;
      text-transform: uppercase;
    }

    .aboutimage img {
      width: 80%;
      height: 80%;
      object-fit: cover;
    }

    .statrow {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      gap: 28px;
      padding-top: 20px;
      border-top: 1px solid #253245;
    }

    .stat {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
    }

    .statnum {
      font-family: 'Playfair Display', serif;
      font-size: 2.2rem;
      font-weight: 700;
      color: #f5a623;
      line-height: 1;
    }

    .statlabel {
      font-family: sans-serif;
      font-size: 10px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: #3a4f66;
    }

/* =============================================
   HEAVEN-SENT ANGELS
============================================= */

.angelthanks{
    background:#fffdf5;
    padding:70px 24px;
}

.angelthanksinner{
    width:100%;
    max-width:1100px;
    margin:0 auto;

    display:flex;
    flex-direction:column;
    align-items:center;

    text-align:center;
}

.angelthanks .goldrule{
    margin:16px 0 22px;
}

.angelthankstitle{
    margin:0;

    font-family:'Playfair Display', serif;
    font-size:clamp(2rem, 5vw, 3rem);
    font-weight:700;
    line-height:1.15;

    color:#1a2535;

    text-wrap:balance;
}

.angelthanksintro{
    max-width:700px;
    margin:20px auto 0;

    font-family:'Lato', sans-serif;
    font-size:1rem;
    font-weight:300;
    line-height:1.9;

    color:#60666d;

    text-wrap:balance;
}


/* =============================================
   FEATURED ACKNOWLEDGEMENTS
============================================= */

.angelfeatured{
    width:100%;
    margin-top:42px;

    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:24px;
}

.angelfeaturedperson{
    padding:30px 28px;

    background:#1a2535;
    border-top:4px solid #f5a623;

    text-align:center;
}

.angelrole{
    display:block;
    margin-bottom:10px;

    font-family:'Lato', sans-serif;
    font-size:.7rem;
    font-weight:700;
    line-height:1.4;
    letter-spacing:.2em;
    text-transform:uppercase;

    color:#f5a623;
}

.angelfeaturedperson h3{
    margin:0 0 10px;

    font-family:'Playfair Display', serif;
    font-size:1.5rem;
    font-weight:700;
    line-height:1.25;

    color:#fffdf5;
}

.angelfeaturedperson p{
    max-width:42ch;
    margin:0 auto;

    font-family:'Lato', sans-serif;
    font-size:.95rem;
    font-weight:300;
    line-height:1.65;
	text-align: left;

    color:#d7dde4;
}


/* =============================================
   ACKNOWLEDGEMENT GROUPS
============================================= */

.angelgroups{
    width:100%;
    margin-top:24px;

    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:20px;

    text-align:left;
}

.angelgroup{
    padding:24px 26px;

    background:#f4efe2;
    border-top:3px solid #f5a623;
}

.angelgroup h3{
    margin:0 0 14px;
    padding-bottom:8px;

    border-bottom:1px solid #d8cfbb;

    font-family:'Lato', sans-serif;
    font-size:.75rem;
    font-weight:700;
    line-height:1.4;
    letter-spacing:.18em;
    text-transform:uppercase;

    color:#a86e0c;
}

.angelgroup ul{
    margin:0;
    padding:0;

    list-style:none;
}

.angelgroup li{
    margin:0 0 7px;

    font-family:'Lato', sans-serif;
    font-size:.95rem;
    font-weight:400;
    line-height:1.5;

    color:#1a2535;
}

.angelgroup li:last-child{
    margin-bottom:0;
}

.angelname{
    margin:0 0 5px;
	font-family:'Lato', sans-serif;
    font-size:.95rem;
    font-weight:400;

    line-height:1.5;

    color:#1a2535;
}

.angelcontribution{
    margin:0;

    font-family:'Playfair Display', serif;
    font-size:.95rem;
    font-style:italic;
    line-height:1.5;

    color:#7e7463;
}

.instrument{
    display:inline-block;
    margin-left:5px;

    font-size:.82rem;
    font-weight:400;
    font-style:italic;

    color:#8b7754;
}

.instrument::before{
    content:"— ";
}


/* =============================================
   CLOSING THANK-YOU
============================================= */

.angelthanksclosing{
    max-width:560px;
    margin:44px auto 0;

    font-family:'Playfair Display', serif;
    font-size:1.15rem;
    font-style:italic;
    line-height:1.6;

    color:#8b7754;

    text-wrap:balance;
}


/* =============================================
   TABLET
============================================= */

@media (max-width:900px){

    .angelthanksinner{
        max-width:760px;
    }

    .angelgroups{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

}


/* =============================================
   MOBILE
============================================= */

@media (max-width:600px){

    .angelthanks{
        padding:55px 24px;
    }

    .angelfeatured{
        grid-template-columns:1fr;
        gap:16px;
    }

    .angelfeaturedperson{
        padding:26px 20px;
    }


    .angelgroups{
        grid-template-columns:1fr;
        gap:16px;
    }

    .angelgroup{
        padding:22px 20px;
        text-align:center;
    }

    .angelgroup h3{
        max-width:220px;
        margin-left:auto;
        margin-right:auto;
    }

    .angelthanksclosing{
        margin-top:38px;
    }

}

    /* =============================================
       FOOTER
       TO CHANGE COLOR: edit the background value below
    ============================================= */
    .sitefooter {
      background: #0d1520;
      color: #8FA8BF;
      padding: 60px 24px 32px;
    }

    .footerinner {
      width: 100%;
      max-width: 1100px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 40px;
    }

    .footertop {
      display: flex;
      flex-direction: column;
      gap: 36px;
    }

    .footerbrand {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
    }

    .footerlogoname {
      font-family: sans-serif;
      font-size: 1.1rem;
      letter-spacing: 0.15em;
      color: #e8dfc8;
    }

    .footertagline {
      font-family: 'Lato', sans-serif;
      font-size: 0.85rem;
      font-weight: 300;
      color: #8FA8BF;
      max-width: 30ch;
      line-height: 1.7;
    }

    .footercols {
      display: flex;
      flex-direction: column;
      gap: 28px;
    }

    .footercol {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
    }

    .footercoltitle {
      font-family: sans-serif;
      font-size: 10px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: #f5a623;
      margin-bottom: 4px;
    }

    .footercol a {
      font-family: 'Lato', sans-serif;
      font-size: 0.875rem;
      font-weight: 300;
      color: #8FA8BF;
      transition: color 0.3s;
    }

    .footercol a:hover {
      color: #f5a623;
    }

    .footerbottom {
      border-top: 1px solid #1a2535;
      padding-top: 24px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      font-family: sans-serif;
      font-size: 10px;
      letter-spacing: 0.12em;
      color: #8FA8BF;
    }

    /* =============================================
       MEDIA QUERY 1 — 768px and wider (tablet)
    ============================================= */
    @media (min-width: 768px) {

      /* Lower the logo into the curved dip without moving it horizontally */
      .navlogo {
        transform: translateY(29px);
      }

      .navlogo img {
        height: 145px;
      }

      /* Show nav links, hide hamburger */
      .navlinks  { display: flex; }
      .hamburger { display: none; }

      /* Show quote and attribution on tablet+ */
      .heroquote { display: block; }
      .heroattr  { display: block; }

      /* More padding on hero text */
      .herocontent { padding: 48px; }

      /* Cards sit in a row */
      .musiccards { flex-direction: row; align-items: stretch; }

      /* About splits into two columns */
      .aboutsplit { flex-direction: row; align-items: center; gap: 60px; }
      .aboutimage { min-height: 420px; }

      /* Footer columns spread into a row */
      .footertop    { flex-direction: row; align-items: flex-start; gap: 60px; }
      .footercols   { flex-direction: row; gap: 40px; flex: 2 1 auto; }
      .footerbottom { flex-direction: row; justify-content: space-between; }
    }

    /* =============================================
       MEDIA QUERY 2 — 1100px and wider (desktop)
    ============================================= */
    @media (min-width: 1100px) {

      .sitenav      { padding: 16px 64px 0; }
      .herocontent  { padding: 64px; }
      .sectioninner { width: 88%; }
      .footerinner  { width: 88%; }
      .aboutimage   { min-height: 500px; }
		
 .honeycombs {
    margin-top: -125px;
    min-height: 285px;
  }

  .honeycombforeground {
    width: 60%;
    max-width: 1250px;
  }

 
}

/* =============================================
   SONG VIEWER MODAL
============================================= */

/*.songviewer{
    width:min(1200px,95vw);
    max-height:90vh;
    padding:0;
    border:none;
    border-radius:20px;
    overflow:hidden;
    background:#fffdf8;
    box-shadow:0 30px 80px rgba(0,0,0,.28);
}*/

.openfullsheet{
    display:none;

    padding:16px;
    background:#f5bf21;
    color:#1a2535;

    text-align:center;
    font-weight:700;

    text-decoration:none;

    transition:.25s;
}

.openfullsheet:hover{
    background:#f8c94c;
}

.songviewer {
    position: fixed;
    inset: 0;

    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;

    margin: 0;
    padding: 0;

    border: none;
    border-radius: 0;

    overflow: hidden;

    background: #fffdf8;

    box-shadow: none;
}

.songviewer::backdrop{
    background:rgba(15,25,35,.55);
    backdrop-filter:blur(4px);
}

.songviewerinner{
    display:flex;
    flex-direction:column;
    height:100vh;
}

.songviewerheader{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:1.25rem 2rem;
    background:#1a2535;
    color:#fffdf5;
}

.songviewerheader h2{
    margin:0;
    font-size:1.15rem;
    font-weight:600;
}


/* ADD THIS NEW BLOCK */

.songviewerback {

    display: flex;
    align-items: center;
    gap: .5rem;

    padding: 0;

    border: none;
    background: none;

    color: #fffdf5;

    font: inherit;
    font-weight: 600;

    cursor: pointer;

    transition:
        color .25s ease,
        transform .25s ease;
}

.songviewerback:hover {
    color: #f5bf21;
    transform: translateX(-4px);

}

.songviewerback {
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.songviewerback:focus,
.songviewerback:active,
.songviewerback:focus-visible {
    outline: none;
    box-shadow: none;
}

/*.songviewerback:focus-visible {
    outline: 2px solid #f5bf21;
    outline-offset: 4px;
}*/

/* YOUR EXISTING RULE CONTINUES */


.songviewerclose{
    border:none;
    background:none;
    color:white;
    font-size:2rem;
    line-height:1;
    cursor:pointer;
    transition:.25s;
}

.songviewerclose:hover{
    color:#f5bf21;
    transform:rotate(90deg);
}

/*.songviewerlayout{
    display:grid;
    grid-template-columns:2.3fr 1fr;
    flex:1;
    min-height:0;
}*/

.songviewerlayout {
    display: grid;
    /*grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr);*/
	grid-template-columns: minmax(0,4fr) 320px;
    flex: 1;
    min-height: 0;
}


/* ==========================
   PDF PANEL
========================== */

@media (max-width:700px){

    .sheetmusicpanel{
        width:100%;
        max-width:100%;
        height:42vh;
        min-height:260px;
        overflow:hidden;
    }

    #sheetmusicviewer{
        display:block;
        width:100%;
        max-width:100%;
        height:100%;
        border:0;
    }

}

.songviewerbody,
.songviewercontent,
.songcontrols{
    min-width:0;
    max-width:100%;
}



/* ==========================
   CONTROL COLUMN
========================== */

.songcontrols{
    display:flex;
    flex-direction:column;
    gap:1.5rem;
    padding:2rem;
    background:#fffdf8;
    overflow-y:auto;
    border-left:1px solid #e6dcc8;
}

.songcontrols h3{
    font-size:.82rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#8b7754;
    margin-bottom:.5rem;
}

.audiogroup,
.downloadgroup{
    display:flex;
    flex-direction:column;
    gap:.6rem;
}

.songcontrols audio{
    width:100%;
}

.songdownload{
    display:block;
    padding:.8rem 1rem;
    border-radius:10px;
    background:#f4efe2;
    color:#1a2535;
    transition:.25s;
    font-weight:600;
}

.songdownload:hover{
    background:#f5bf21;
    color:#1a2535;
    transform:translateY(-2px);
}

.comingsoon{
    font-size:.9rem;
    color:#8b7754;
    font-style:italic;
}

.mobilemusicdecor{
    display:none;
}

.openfullsheet{
    display:none;
}

/* ==========================
   MOBILE
========================== */

@media (max-width:900px){
	
	.sheetmusicpanel{
    display:none;
}

.openfullsheet{
    display:block;
}

    .songviewer{
        width:100vw;
        max-width:none;
        height:100vh;
        max-height:none;
        border-radius:0;
    }
	
	.openfullsheet{
    display:block;
    flex:0 0 auto;
    padding:.8rem 1rem;
    background:#f5bf21;
    color:#1a2535;
    font-weight:700;
    text-align:center;
}

    .songviewerinner{
        height:100vh;
    }

    .songviewerlayout {
    display: flex;
    flex: 1;
    min-height: 0;
    flex-direction: column;
}

   .sheetmusicpanel {
    flex: 0 0 300px;
    min-height: 0;
	   overflow:hidden;
}
	
    .songcontrols{
        border-left:none;
        border-top:1px solid #e6dcc8;
    }

}


/* =============================================
   BEE CURSOR AND TRAIL
============================================= */

/* Always establish the proper cursor positioning */
.cursortrail{
    display:block;
    position:fixed;
    inset:0;
    width:100vw;
    height:100vh;
    overflow:visible;
    pointer-events:none;
    z-index:2000;
    opacity:.38;
}

.cursortrail path{
    fill:none;
    stroke:#f5bf21;
    stroke-width:5px;
    stroke-linecap:round;
    stroke-linejoin:round;
}

#rotating-cursor{
    display:block;
    position:fixed;
    top:0;
    left:0;
    width:46px;
    height:65px;
    pointer-events:none;
    transform-origin:center;
    z-index:2001;
    opacity:0;
    will-change:transform;
}

/* Replace the regular pointer on desktop */
@media (hover:hover) and (pointer:fine){

    body{
        cursor:none;
    }

    a,
    button,
    input,
    textarea,
    select,
    label,
    [role="button"]{
        cursor:pointer;
    }
}

/* Completely hide the custom cursor on phones/tablets */
@media (hover:none), (pointer:coarse){

    .cursortrail,
    #rotating-cursor{
        display:none;
    }
}

.sheetmusicpanel{
    position:relative;
    min-width:0;
    min-height:0;
    width:100%;
    height:100%;
    overflow:hidden;
    background:#ece5d5;
}

#sheetmusicviewer{
    display:block;
    width:100%;
    height:100%;
    border:0;
    background:white;
}

	
@media (max-width:700px){

    .mobilemusicdecor{
        display:block;
        position:relative;
        width:100%;
        height:140px;
        margin:0 auto .5rem;
        overflow:hidden;
    }

    .musicflower{
        position:absolute;
        width:115px;
        left:44%;
        top:15px;
        z-index:2;

        opacity:0;
        transform:
            translateX(-50%)
            scale(.82);
    }

    .musicbee{
        position:absolute;
        width:65px;
        left:58%;
        top:25px;
        z-index:3;

        opacity:0;
        transform:
            translate(45px,-20px)
            rotate(12deg);
    }

    .mobilemusicdecor.animate .musicflower{
        animation:flowerFade .75s ease-out forwards;
    }

    .mobilemusicdecor.animate .musicbee{
        animation:beeLand .65s ease-out .3s forwards;
    }
}


@keyframes flowerFade{

    from{
        opacity:0;
        transform:
            translateX(-50%)
            scale(.82);
    }

    to{
        opacity:1;
        transform:
            translateX(-50%)
            scale(1);
    }
}


/*@keyframes flowerBloom{

    from{
        opacity:0;
        transform:
            translateX(-50%)
            translateY(28px)
            scale(.4);
    }

    to{
        opacity:1;
        transform:
            translateX(-50%)
            translateY(0)
            scale(1);
    }

}*/

@keyframes beeLand{

    from{
        opacity:0;
        transform:
            translate(45px,-20px)
            rotate(12deg);
    }

    to{
        opacity:1;
        transform:
            translate(0,0)
            rotate(-8deg);
    }
}

