    /* ── Reset & Base ── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
    body {
      background: #0c0c0c;
      color: #f0ece4;
      font-family: 'Inter', sans-serif;
      font-weight: 300;
      overflow-x: hidden;
    }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }

    /* ── Nav ── */
    .nav {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 100;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 48px;
      height: 72px;
      background: #000;
    }
    .nav__logo {
      display: flex;
      align-items: center;
    }
    .nav__logo img {
      height: 15px;
      width: auto;
    }
    .nav__links {
      display: flex;
      gap: 40px;
      list-style: none;
    }
    .nav__links a {
      font-size: 11px;
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(240,236,228,0.55);
      transition: color 0.25s;
    }
    .nav__links a:hover { color: #f0ece4; }
    .nav__toggle {
      display: none;
      flex-direction: column;
      gap: 5px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 4px;
    }
    .nav__toggle span {
      display: block;
      width: 22px;
      height: 1.5px;
      background: #f0ece4;
    }

    /* ── Hero ── */
    .hero {
      position: relative;
      height: 100vh;
      min-height: 600px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      overflow: hidden;
    }

    /* Light ray effect — pure CSS, the signature element */
    .hero__rays {
      position: absolute;
      inset: 0;
      z-index: 0;
      background: #0c0c0c;
      overflow: hidden;
    }
    .hero__rays::before {
      content: '';
      position: absolute;
      top: -20%;
      left: 50%;
      transform: translateX(-50%);
      width: 120%;
      height: 140%;
      background: conic-gradient(
        from 270deg at 50% 0%,
        transparent 0deg,
        rgba(139,26,26,0.06) 8deg,
        transparent 14deg,
        transparent 22deg,
        rgba(139,26,26,0.04) 28deg,
        transparent 34deg,
        transparent 44deg,
        rgba(180,140,80,0.05) 50deg,
        transparent 56deg,
        transparent 66deg,
        rgba(139,26,26,0.07) 72deg,
        transparent 78deg,
        transparent 90deg
      );
      animation: rayRotate 40s linear infinite;
    }
    .hero__rays::after {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(139,26,26,0.18) 0%, transparent 70%);
    }
    @keyframes rayRotate {
      from { transform: translateX(-50%) rotate(0deg); }
      to   { transform: translateX(-50%) rotate(360deg); }
    }

    /* Hero bg image layer — placeholder, replace with real photo */
    .hero__bg {
      position: absolute;
      inset: 0;
      z-index: 1;
      background: url('images/hero_bg_1.webp') center top / cover no-repeat;
      opacity: 0.20;
    }
    .hero__bg::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg,
        rgba(12,12,12,0.3) 0%,
        rgba(12,12,12,0.1) 40%,
        rgba(12,12,12,0.7) 75%,
        rgba(12,12,12,1) 100%
      );
    }

    .hero__content { position: relative; z-index: 4; padding: 0 24px; }
    .hero__layout {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 64px;
    }
    .hero__text {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      text-align: left;
    }
    .hero__album {
      flex-shrink: 0;
      position: relative;
      z-index: 4;
    }
    .hero__album img {
      width: 280px;
      height: 280px;
      object-fit: cover;
      opacity: 1;
      box-shadow: 0 24px 80px rgba(0,0,0,0.8), 0 8px 24px rgba(139,26,26,0.2);
    }
    @media (max-width: 700px) {
      .hero__layout { flex-direction: column; gap: 36px; }
      .hero__text { align-items: center; text-align: center; }
      
    }
    .hero__eyebrow {
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.35em;
      text-transform: uppercase;
      color: #8b1a1a;
      margin-bottom: 24px;
      display: block;
    }
    .hero__title {
      font-family: 'Nunito', sans-serif;
      font-weight: 200;
      font-size: clamp(3rem, 10vw, 8rem);
      font-weight: 900;
      letter-spacing: 0.06em;
      line-height: 0.95;
      text-transform: uppercase;
      color: #f0ece4;
      margin-bottom: 32px;
    }
    .hero__title em {
      font-style: normal;
      color: #8b1a1a;
    }
    .hero__sub {
      font-size: clamp(11px, 1.4vw, 13px);
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(240,236,228,0.5);
      margin-bottom: 48px;
    }
    .hero__cta {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 14px 36px;
      border: 1px solid rgba(240,236,228,0.25);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: #f0ece4;
      transition: all 0.3s;
    }
    .hero__cta:hover {
      background: rgba(240,236,228,0.06);
      border-color: rgba(240,236,228,0.5);
    }
    .hero__cta svg { width: 14px; height: 14px; }

    .hero__scroll {
      position: absolute;
      bottom: 40px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      cursor: pointer;
    }
    .hero__scroll span {
      font-size: 15px;
      font-weight: 500;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: rgba(240,236,228,0.4);
      transition: color 0.25s;
    }
    .hero__scroll:hover span { color: rgba(240,236,228,0.75); }
    .hero__scroll-arrow {
      width: 30px;
      height: 30px;
      color: rgba(240,236,228,0.4);
      animation: scrollBounce 2.2s ease-in-out infinite;
      transition: color 0.25s;
    }
    .hero__scroll:hover .hero__scroll-arrow { color: #8b1a1a; }
    @keyframes scrollBounce {
      0%, 100% { transform: translateY(0); opacity: 0.5; }
      50% { transform: translateY(6px); opacity: 1; }
    }

    /* ── Section shared ── */
    .section {
      padding: 100px 0;
    }
    .section__inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 48px;
    }
    .section__label {
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: #8b1a1a;
      margin-bottom: 16px;
      display: block;
    }
    .section__title {
      font-family: 'Nunito', sans-serif;
      font-weight: 200;
      font-size: clamp(1.6rem, 3vw, 2.8rem);
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #f0ece4;
      margin-bottom: 48px;
    }

    /* ── Music Section ── */
    .music {
      background: #0c0c0c;
      text-align: center;
      position: relative;
      z-index: 10;
      margin-top: 0;
      padding-top: 0;
    }
    .music .section__inner {
      max-width: 65%;
      margin: 0 auto;
      padding: 0 48px;
      background: #0c0c0c;
      padding-top: 60px;
      padding-bottom: 60px;
    }
    .music-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 2px;
    }
    .music-card {
      position: relative;
      aspect-ratio: 1;
      overflow: hidden;
      cursor: pointer;
      background: #1a1410;
    }
    .music-card__img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s, opacity 0.5s;
      opacity: 0.7;
    }
    .music-card:hover .music-card__img {
      transform: scale(1.04);
      opacity: 1;
    }
    .music-card__overlay {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 20px;
      background: linear-gradient(180deg, transparent 40%, rgba(12,12,12,0.9) 100%);
    }
    .music-card__label {
      font-size: 9px;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: #8b1a1a;
      margin-bottom: 4px;
    }
    .music-card__title {
      font-family: 'Nunito', sans-serif;
      font-weight: 300;
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 0.08em;
      color: #f0ece4;
    }
    .music-card__play {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(0.8);
      width: 48px;
      height: 48px;
      border: 1px solid rgba(240,236,228,0.4);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transition: all 0.3s;
    }
    .music-card:hover .music-card__play {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
    }
    .music-card__play svg { width: 14px; height: 14px; margin-left: 3px; }

    /* Placeholder card colors when no images */
    .music-card:nth-child(1) { background: #1c1008; }
    .music-card:nth-child(2) { background: #0e0e1a; }
    .music-card:nth-child(3) { background: #1a0808; }
    .music-card:nth-child(4) { background: #0a1210; }

    /* ── Tour Section ── */
    .tour { background: #000000; border-top: 1px solid rgba(240,236,228,0.06); }
    .tour-list { list-style: none; }
    .tour-item {
      display: grid;
      grid-template-columns: 120px 1fr auto;
      align-items: center;
      gap: 24px;
      padding: 24px 0;
      border-bottom: 1px solid rgba(240,236,228,0.06);
      transition: background 0.2s;
    }
    .tour-item:first-child { border-top: 1px solid rgba(240,236,228,0.06); }
    .tour-date {
      font-family: 'Cinzel', serif;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.08em;
      color: rgba(240,236,228,0.4);
    }
    .tour-info__venue {
      font-size: 15px;
      font-weight: 400;
      color: #f0ece4;
      margin-bottom: 3px;
    }
    .tour-info__location {
      font-size: 12px;
      letter-spacing: 0.1em;
      color: rgba(240,236,228,0.4);
      text-transform: uppercase;
    }
    .tour-ticket {
      display: inline-block;
      padding: 9px 24px;
      border: 1px solid rgba(240,236,228,0.2);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(240,236,228,0.6);
      transition: all 0.25s;
      white-space: nowrap;
    }
    .tour-ticket:hover {
      border-color: #8b1a1a;
      color: #f0ece4;
      background: rgba(139,26,26,0.1);
    }
    .tour-more {
      display: inline-block;
      margin-top: 40px;
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(240,236,228,0.4);
      border-bottom: 1px solid rgba(240,236,228,0.15);
      padding-bottom: 2px;
      transition: color 0.25s, border-color 0.25s;
    }
    .tour-more:hover { color: #f0ece4; border-color: rgba(240,236,228,0.4); }

    /* ── Email Signup ── */
    .signup {
      background: #0c0c0c;
      border-top: 1px solid rgba(240,236,228,0.06);
      text-align: center;
    }
    .signup .section__inner { max-width: 600px; }
    .signup__title {
      font-family: 'Nunito', sans-serif;
      font-weight: 200;
      font-size: clamp(1.4rem, 3vw, 2.2rem);
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: #f0ece4;
      margin-bottom: 12px;
    }
    .signup__sub {
      font-size: 13px;
      color: rgba(240,236,228,0.4);
      margin-bottom: 36px;
      letter-spacing: 0.04em;
      line-height: 1.7;
    }
    .signup__form {
      display: flex;
      gap: 0;
      max-width: 460px;
      margin: 0 auto;
    }
    .signup__input {
      flex: 1;
      padding: 14px 20px;
      background: rgba(240,236,228,0.05);
      border: 1px solid rgba(240,236,228,0.15);
      border-right: none;
      color: #f0ece4;
      font-family: 'Inter', sans-serif;
      font-size: 13px;
      outline: none;
      transition: border-color 0.25s;
    }
    .signup__input::placeholder { color: rgba(240,236,228,0.3); }
    .signup__input:focus { border-color: rgba(240,236,228,0.35); }
    .signup__btn {
      padding: 14px 28px;
      background: #8b1a1a;
      border: 1px solid #8b1a1a;
      color: #f0ece4;
      font-family: 'Inter', sans-serif;
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background 0.25s;
      white-space: nowrap;
    }
    .signup__btn:hover { background: #a02020; }
    .signup__msg {
      margin-top: 18px;
      font-size: 12px;
      letter-spacing: 0.04em;
      color: rgba(240,236,228,0.55);
      min-height: 1em;
    }
    .signup__msg.is-error { color: #d16b4a; }

    /* ── Footer ── */
    .footer {
      background: #080808;
      border-top: 1px solid rgba(240,236,228,0.06);
      padding: 60px 0 40px;
    }
    .footer__inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 48px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 32px;
    }
    .footer__logo {
      font-family: 'Nunito', sans-serif;
      font-weight: 200;
      font-size: 15px;
      font-weight: 700;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: rgba(240,236,228,0.6);
    }
    .footer__socials {
      display: flex;
      gap: 28px;
      list-style: none;
    }
    .footer__socials a {
      font-size: 10px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(240,236,228,0.3);
      transition: color 0.25s;
    }
    .footer__socials a:hover { color: #f0ece4; }
    .footer__copy {
      font-size: 11px;
      color: rgba(240,236,228,0.2);
      letter-spacing: 0.08em;
    }

    /* ── Reveal animations ── */
    .reveal {
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.8s ease, transform 0.8s ease;
    }
    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* ── Responsive ── */

    @media (max-width: 900px) {
      .nav { padding: 0 24px; }
      .nav__links { display: none; }
      .nav__toggle { display: flex; }
      .hero { height: 100vh; min-height: 500px; }
      .nav__links.open {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 72px; left: 0; right: 0;
        background: rgba(12,12,12,0.97);
        padding: 32px 24px;
        gap: 24px;
        align-items: center;
      }
      .section__inner { padding: 0 24px; }
      .music .section__inner { max-width: 100%; padding: 0 16px; }
      .music-grid { grid-template-columns: repeat(2, 1fr); }
      .tour-item { grid-template-columns: 90px 1fr; }
      .tour-ticket { grid-column: 1 / -1; }
    }
    @media (max-width: 480px) {
      .music-grid { grid-template-columns: 1fr 1fr; }
      .signup__form { flex-direction: column; }
      .signup__input { border-right: 1px solid rgba(240,236,228,0.15); border-bottom: none; }
      .footer__socials { flex-wrap: wrap; justify-content: center; gap: 16px; }
    }
    /* ── Merch Section ── */
    .merch { background: #000000; border-top: 1px solid rgba(240,236,228,0.06); }
    .merch-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }
    .merch-card {
      display: flex;
      flex-direction: column;
    }
    .merch-card__img-wrap {
      aspect-ratio: 1;
      overflow: hidden;
      background: #1a1410;
      margin-bottom: 14px;
    }
    .merch-card__img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s, opacity 0.5s;
      opacity: 0.85;
    }
    .merch-card:hover .merch-card__img-wrap img {
      transform: scale(1.04);
      opacity: 1;
    }
    .merch-card__name {
      font-family: 'Nunito', sans-serif;
      font-weight: 300;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.08em;
      color: #f0ece4;
      margin-bottom: 4px;
    }
    .merch-card__type {
      font-size: 11px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: rgba(240,236,228,0.35);
    }
    
    @media (max-width: 900px) {
      .merch-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    }
    @media (max-width: 480px) {
      .merch-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    }
    /* ── Music feature layout ── */
    .music { text-align: center; }
    .music-feature {
      display: flex;
      align-items: center;
      gap: 32px;
      text-align: left;
      width: 100%;
    }
    .music-feature__album {
      width: 180px;
      height: 180px;
      object-fit: cover;
      flex-shrink: 0;
      box-shadow: 0 20px 60px rgba(0,0,0,0.9), 0 4px 20px rgba(0,0,0,0.8);
    }
    .single-player {
      flex: 1;
    }
    @media (max-width: 700px) {
      .music-feature { flex-direction: column; align-items: center; text-align: center; }
     
    }
    /* ── Single Player ── */
    .single-player {
      flex: 1;
      background: rgba(240,236,228,0.04);
      border: 1px solid rgba(240,236,228,0.1);
      border-radius: 4px;
      padding: 28px 32px;
      box-shadow: 0 20px 60px rgba(0,0,0,0.9), 0 4px 20px rgba(0,0,0,0.8);
    }
    .single-player__info {
      margin-bottom: 20px;
    }
    .single-player__label {
      display: block;
      font-size: 10px;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: #8b1a1a;
      margin-bottom: 6px;
    }
    .single-player__title {
      font-family: 'Cinzel', serif;
      font-size: 22px;
      font-weight: 600;
      letter-spacing: 0.08em;
      color: #f0ece4;
    }
    .single-player__controls {
      display: flex;
      align-items: center;
      gap: 14px;
    }
    .single-player__play {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      border: 1px solid rgba(240,236,228,0.25);
      background: transparent;
      color: #f0ece4;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: all 0.2s;
    }
    .single-player__play:hover {
      background: rgba(139,26,26,0.3);
      border-color: #8b1a1a;
    }
    .single-player__play svg { width: 16px; height: 16px; }
    .single-player__play .sp-icon-play { margin-left: 3px; }
    .single-player__time {
      font-size: 12px;
      font-variant-numeric: tabular-nums;
      color: rgba(240,236,228,0.4);
      min-width: 36px;
      white-space: nowrap;
    }
    .single-player__progress {
      flex: 1;
      height: 2px;
      background: rgba(240,236,228,0.12);
      border-radius: 2px;
      cursor: pointer;
      position: relative;
      transition: height 0.15s;
    }
    .single-player__progress:hover { height: 4px; }
    .single-player__fill {
      height: 100%;
      width: 0%;
      background: #8b1a1a;
      border-radius: 2px;
      transition: width 0.1s linear;
    }
    .single-player__skip {
      width: 32px;
      height: 32px;
      border: none;
      background: transparent;
      color: rgba(240,236,228,0.6);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: color 0.2s;
    }
    .single-player__skip:hover { color: #f0ece4; }
    .single-player__skip svg { width: 15px; height: 15px; }

    /* ── Track List ── */
    .track-list__header {
      margin-top: 24px;
      padding-top: 16px;
      border-top: 1px solid rgba(240,236,228,0.08);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: rgba(240,236,228,0.3);
    }
    .track-list {
      list-style: none;
      margin-top: 8px;
    }
    .track-list__item {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 11px 4px;
      cursor: pointer;
      border-bottom: 1px solid rgba(240,236,228,0.06);
      transition: background 0.2s;
    }
    .track-list__item:last-child { border-bottom: none; }
    .track-list__item:hover { background: rgba(240,236,228,0.04); }
    .track-list__index {
      width: 18px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .track-list__num {
      font-size: 11px;
      font-variant-numeric: tabular-nums;
      color: rgba(240,236,228,0.35);
    }
    .track-list__name {
      font-size: 13px;
      letter-spacing: 0.03em;
      color: rgba(240,236,228,0.7);
      transition: color 0.2s;
    }
    .track-list__item.active .track-list__name {
      color: #f0ece4;
      font-weight: 500;
    }
    .track-list__item.active .track-list__num {
      color: #8b1a1a;
    }
    .track-list__eq {
      display: none;
      align-items: flex-end;
      justify-content: center;
      gap: 2px;
      width: 14px;
      height: 14px;
    }
    .track-list__item.playing .track-list__num { display: none; }
    .track-list__item.playing .track-list__eq { display: flex; }
    .track-list__eq span {
      width: 2.5px;
      background: #8b1a1a;
      animation: eqBounce 0.9s ease-in-out infinite;
    }
    .track-list__eq span:nth-child(1) { animation-delay: 0s; }
    .track-list__eq span:nth-child(2) { animation-delay: 0.2s; }
    .track-list__eq span:nth-child(3) { animation-delay: 0.4s; }
    @keyframes eqBounce {
      0%, 100% { height: 3px; }
      50% { height: 13px; }
    }

    /* ── Page Header (interior pages, e.g. About) ── */
    .page-header {
      padding: 180px 24px 80px;
      text-align: center;
      background: #0c0c0c;
      border-bottom: 1px solid rgba(240,236,228,0.06);
    }
    .page-header__label {
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: #8b1a1a;
      margin-bottom: 16px;
      display: block;
    }
    .page-header__title {
      font-family: 'Nunito', sans-serif;
      font-weight: 900;
      font-size: clamp(2rem, 6vw, 3.6rem);
      letter-spacing: 0.06em;
      line-height: 1;
      text-transform: uppercase;
      color: #f0ece4;
    }

    /* ── About Content ── */
    .about {
      background: #0c0c0c;
    }
    .about-content {
      max-width: 760px;
      margin: 0 auto;
    }
    .about-content p {
      font-size: 15px;
      font-weight: 300;
      line-height: 1.9;
      letter-spacing: 0.01em;
      color: rgba(240,236,228,0.75);
      margin-bottom: 28px;
    }
    .about-content p:last-of-type {
      margin-bottom: 0;
    }
    .about-tagline {
      display: block;
      margin-top: 48px;
      text-align: center;
      font-family: 'Cinzel', serif;
      font-size: 15px;
      font-weight: 600;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: #f0ece4;
    }

    /* ── Contact Cards ── */
    .contact-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 24px;
      margin-top: 40px;
    }
    .contact-card {
      background: rgba(240,236,228,0.04);
      border: 1px solid rgba(240,236,228,0.1);
      border-radius: 4px;
      padding: 28px 32px;
      text-align: left;
    }
    .contact-card__label {
      display: block;
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: #8b1a1a;
      margin-bottom: 14px;
    }
    .contact-card__desc,
    .contact-card .contact-card__desc {
      font-size: 13px;
      font-weight: 300;
      line-height: 1.6;
      color: rgba(240,236,228,0.6);
    }
    .contact-card__email {
      display: inline-block;
      margin-top: 14px;
      font-family: 'Cinzel', serif;
      font-size: 15px;
      font-weight: 600;
      letter-spacing: 0.04em;
      color: #f0ece4;
      border-bottom: 1px solid rgba(240,236,228,0.2);
      padding-bottom: 2px;
      transition: color 0.25s, border-color 0.25s;
    }
    .contact-card__email:hover {
      color: #8b1a1a;
      border-color: #8b1a1a;
    }
    @media (max-width: 700px) {
      .contact-grid { grid-template-columns: 1fr; }
    }
