
    :root {
      --bg-dark: #212121;
      --green-primary: #00C853;
      --green-secondary: #6B642A;
      --green-tint: #00c85314;
      --red-primary: #B53E3E;
      --red-secondary: #FF5252;
      --text-light: #E0E0E0;
      --radius: 12px;
      --transition: 0.25s cubic-bezier(.4,.2,.2,1);
    }


    h1, h2, h3 {
      line-height: 1.2;
      font-weight: 600;
      margin-top: 1em;
      margin-bottom: 0.5em;
    }

 * {
      box-sizing: border-box;
    }

    body {
      background: linear-gradient(135deg, #1e1e1e 0%, #242424 60%);
      color: var(--text-light);
      font-family: 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
      margin: 0;
      padding: 2em 1em 4em;
      max-width: 960px;
      line-height: 1.6;
      position: relative;
      min-height: 100vh;
      counter-reset: stanza;
    }

    header {
      text-align: center;
      margin-bottom: 2rem;
    }

    h1 {
      font-size: clamp(2rem, 2.5vw, 3rem);
      margin: 0;
      letter-spacing: 0.5px;
      color: var(--red-secondary);
      font-weight: 700;
      position: relative;
    }

    h1::after {
      content: "";
      display: block;
      width: 80px;
      height: 4px;
      background: var(--green-primary);
      margin: 0.75em auto 0.25em;
      border-radius: 2px;
    }

    h2 {
      font-size: 1.75rem;
      color: var(--green-primary);
      margin-top: 0.5em;
      font-weight: 600;
    }

    .subtitle {
      font-size: 0.95rem;
      color: rgba(224, 224, 224, 0.75);
      margin-top: 0.25em;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      font-weight: 500;
    }


    a {
      color: var(--green-primary);
      text-decoration: none;
      position: relative;
    }

    a::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -2px;
      width: 100%;
      height: 2px;
      background: linear-gradient(to right, var(--green-primary), var(--green-secondary));
      border-radius: 1px;
      transition: transform var(--transition) ease;
      transform: scaleX(0);
      transform-origin: left;
    }

    a:hover::after {
      transform: scaleX(1);
    }

    .small {
      font-size: 0.9rem;
    }

    /* Responsive adjustments */
    @media (max-width: 800px) {
      body {
        padding: 1.5em 1em 3em;
      }
      article.poem {
        padding: 1.75em 1.75em;
      }
    }

    .section {
      margin-top: 2em;
    }

    .columns {
      display: flex;
      gap: 1em;
    }

    .column {
      flex: 1;
      max-width: 30%;
      min-width: 280px;
      display: flex;
      flex-direction: column;
      gap: 40px;
    }

    .table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 1em;
    }

    .table th,
    .table td {
      border: 1px solid rgba(255, 255, 255, 0.2);
      padding: 0.5em;
      text-align: left;
    }

    .table th {
      background-color: var(--green-secondary);
    }

    hr {
      border: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
      margin: 2em 0;
    }

    a {
      color: var(--green-primary);
    }
    
    /*quote-specific styles*/
    
    blockquote {
      color: var(--text-light);
      background-color: var(--green-tint); /*error displaying bg color :b */
      border-left: 4px solid var(--green-primary);
      margin: 1.5em 0;
      padding: 1em 1.5em;
      font-style: italic;
      position: relative;
      quotes: "“" "”" "‘" "’";
}

blockquote::before {
      content: open-quote;
      color: var(--green-primary);
      font-size: 3em;
      line-height: 0.1em;
      vertical-align: -0.4em;
      position: absolute;
      left: 10px;
      top: 30px;
      opacity: 0.3;
}

blockquote::after {
      content: close-quote;
      color: var(--green-primary);
      font-size: 3em;
      line-height: 0.1em;
      vertical-align: -0.4em;
      position: absolute;
      right: 10px;
      bottom: 10px;
      opacity: 0.3;
}

/*poem-specific styles*/

    article.poem {
      background-color: rgba(255, 255, 255, 0.02);
      padding: 2em 2.5em;
      border-radius: var(--radius);
      position: relative;
      overflow: hidden;
      backdrop-filter: blur(4px);
      box-shadow: 0 30px 60px -10px rgba(0, 200, 83, 0.15);
    }

    article.poem::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 20% 30%, rgba(255,255,255,0.02) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(0,200,83,0.015) 0%, transparent 50%);
      pointer-events: none;
      mix-blend-mode: overlay;
    }
    
        .byline {
      font-size: 0.85rem;
      margin-bottom: 1.5em;
      display: flex;
      gap: 1em;
      flex-wrap: wrap;
      font-style: italic;
      color: rgba(224,224,224,0.85);
    }

    .stanza {
      margin-bottom: 3em;
      position: relative;
      padding-left: 0.5em;
      padding-bottom: 3em;
    }
    
    
    .stanza + .stanza {
      margin-top: 0.5em; /* subtle extra lift if needed */
    }

    .stanza:not(:first-child)::before {
      counter-increment: stanza;
      content: "⧗";
      position: absolute;
      left: -5px;
      top: -4px;
      font-size: 1.1rem;
      color: rgba(255, 255, 255, 0.08);
    }

    .line {
      display: block;
      margin: 0.15em 0;
      word-break: break-word;
    }

    /* drop cap for first letter of poem {thx stckoverflow} */ 
    .stanza:first-of-type .line:first-of-type::first-letter {
      float: left;
      font-size: 4rem;
      line-height: 0.8;
      position: relative;
      padding-right: 0.1em;
      padding-left: 0.5em;
      font-weight: 700;
      font-family: Georgia, 'Times New Roman', serif;
      color: var(--green-primary);
      margin-top: 0;
      margin-left: -2px;
      margin-bottom: 3em;
    }

    .epigraph {
      margin: 1em 0 2em;
      font-size: 0.95rem;
      display: flex;
      flex-direction: column;
      gap: 0.25em;
    }

    .epigraph blockquote {
      margin: 0;
    }

    footer {
      margin-top: 3em;
      text-align: center;
      font-size: 0.8rem;
      color: rgba(224,224,224,0.55);
    }

    
    /* gallery stylesssss */

    .album-columns {
      display: flex;
      justify-content: space-around;
      flex-wrap: wrap;
      padding: 0 40px 60px;
      gap: 20px;
    }

    .album {
      border: 1px solid #ccc;
      border-radius: 10px;
      overflow: hidden;
      background-color: #fff;
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
      transition: transform 0.2s;
    }

    .album:hover {
      transform: scale(1.02);
    }

    .album-title {
      text-align: center;
      font-weight: bold;
      font-size: 1.2em;
      padding: 10px;
      background: #f4f4f4;
      border-bottom: 1px solid #ddd;
    }

    .album-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(2, 1fr);
      width: 100%;
      aspect-ratio: 1 / 1;
    }

    .album-grid a {
      display: block;
      width: 100%;
      height: 100%;
    }

    .album-grid img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    @media (max-width: 900px) {
      .album-columns {
        flex-direction: column;
        align-items: center;
      }

      .column {
        max-width: 90%;
      }