/* styles.css — Jules Family theme */
:root{
    /* Your exact colors */
    --purple: #370D2B;
    --gold: #D8B865;
  
    /* Supporting palette */
    --bg: #07060A;                 /* deep near-black */
    --panel: rgba(55, 13, 43, 0.22);/* purple-tinted panel */
    --panel-solid: #120811;         /* dark plum */
    --text: #F7F2EE;                /* warm off-white */
    --muted: rgba(247, 242, 238, 0.78);
    --border: rgba(216, 184, 101, 0.30);
    --shadow: 0 18px 50px rgba(0,0,0,0.45);
  
    --radius: 18px;
    --container: 980px;
  }
  
  *{ box-sizing: border-box; }
  html, body{ height: 100%; }
  
  body{
    margin: 0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    color: var(--text);
    line-height: 1.6;
  
    background:
      radial-gradient(800px 400px at 20% 10%, rgba(216,184,101,0.30), transparent 60%),
      radial-gradient(700px 400px at 80% 15%, rgba(216,184,101,0.22), transparent 60%),
      radial-gradient(900px 500px at 50% 90%, rgba(55,13,43,0.35), transparent 60%),
      linear-gradient(
        180deg,
        #1a0c15 0%,
        #140811 45%,
        #1f0e1a 100%
      );
  }

  body::before{
    content:"";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
      radial-gradient(circle at 15% 20%, rgba(216,184,101,0.18), transparent 12%),
      radial-gradient(circle at 35% 10%, rgba(216,184,101,0.12), transparent 14%),
      radial-gradient(circle at 65% 18%, rgba(216,184,101,0.15), transparent 12%),
      radial-gradient(circle at 85% 25%, rgba(216,184,101,0.10), transparent 14%);
    opacity: 0.9;
  }  
  
  .container{
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 18px;
  }
  
  /* ---------- Header (title + nav under it) ---------- */
  .site-header{
    padding: 48px 0 30px;
    background:
      radial-gradient(700px 300px at 50% 0%, rgba(216,184,101,0.35), transparent 60%),
      linear-gradient(180deg, rgba(55,13,43,0.35), rgba(7,6,10,0));
    border-bottom: 1px solid rgba(216,184,101,0.20);
  }  
  
  .header-wrap{
    display: grid;
    gap: 16px;
    justify-items: center;
    text-align: center;
  }
  
  .title{
    margin: 0;
    font-size: clamp(36px, 5.5vw, 56px);
    letter-spacing: 0.8px;
    line-height: 1.05;
    color: var(--gold);
    text-shadow: 0 12px 30px rgba(0,0,0,0.40);
  }
  
  /* Nav UNDER title */
  .nav{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
  }
  
  .nav-link{
    display: inline-block;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: rgba(55,13,43,0.35);
    color: var(--text);
    font-weight: 650;
    text-decoration: none;
    transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
  }
  
  .nav-link:hover{
    transform: translateY(-1px);
    border-color: rgba(216,184,101,0.60);
    background: rgba(55,13,43,0.55);
  }
  
  /* ---------- Main ---------- */
  .main{
    padding: 30px 0 44px;
  }
  
  /* Card holding image + paragraph */
  .card{
    border-radius: var(--radius);
    border: 1px solid rgba(216,184,101,0.20);
    background: linear-gradient(180deg, rgba(18,8,17,0.88), rgba(7,6,10,0.88));
    box-shadow: var(--shadow);
    padding: 18px;
  }
  
  /* Photo frame with gold edge + purple core */
  .photo-frame{
    border-radius: calc(var(--radius) + 6px);
    padding: 10px;
  
    background:
      linear-gradient(135deg,
        rgba(216,184,101,0.85),
        rgba(55,13,43,0.75)
      );
  
    box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  }
  
  .family-photo{
    display: block;
    width: 100%;
    max-height: 520px;
    object-fit: cover;
    border-radius: var(--radius);
    border: 1px solid rgba(0,0,0,0.35);
    background: rgba(0,0,0,0.25);
  }
  
  /* Paragraph under the photo */
  .family-paragraph{
    margin: 18px 6px 6px;
    font-size: 18px;
    color: var(--muted);
  }
  
  /* ---------- Footer ---------- */
  .site-footer{
    border-top: 1px solid rgba(216,184,101,0.16);
    padding: 18px 0 30px;
    color: rgba(247,242,238,0.70);
  }
  
  .footer-wrap{
    text-align: center;
  }
  
  /* Responsive */
  @media (max-width: 560px){
    .family-paragraph{ font-size: 16px; }
    .nav-link{ padding: 9px 12px; }
  }

  /* --- Header enhancements --- */
.tagline{
    margin: 0;
    margin-top: 2px;
    color: rgba(247, 242, 238, 0.78);
    font-size: 16px;
    max-width: 62ch;
  }
  
  .ornament{
    width: min(520px, 92vw);
    height: 10px;
    margin-top: 8px;
    border-radius: 999px;
    background:
      radial-gradient(circle at 20% 50%, rgba(216,184,101,0.90), transparent 35%),
      radial-gradient(circle at 50% 50%, rgba(216,184,101,0.55), transparent 45%),
      radial-gradient(circle at 80% 50%, rgba(216,184,101,0.90), transparent 35%);
    opacity: 0.9;
  }
  
  /* --- Nav: clearer hover + keyboard focus --- */
  .nav-link{
    /* keep your existing styles, add these: */
    box-shadow: 0 10px 24px rgba(0,0,0,0.20);
  }
  
  .nav-link:hover{
    text-decoration: none;
    box-shadow: 0 14px 32px rgba(0,0,0,0.30);
  }
  
  .nav-link:focus-visible{
    outline: 3px solid rgba(216,184,101,0.75);
    outline-offset: 3px;
  }
  
  /* --- Card: slightly more “designed” --- */
  .card{
    padding: 20px;
  }

  .card{
    background:
      radial-gradient(500px 200px at 50% -10%, rgba(216,184,101,0.18), transparent 60%),
      linear-gradient(180deg, rgba(55,13,43,0.85), rgba(18,8,17,0.90));
    border: 1px solid rgba(216,184,101,0.30);
  }  
  
  @keyframes softGlow{
    0%, 100% { box-shadow: 0 0 0 rgba(216,184,101,0.0); }
    50% { box-shadow: 0 0 60px rgba(216,184,101,0.15); }
  }
  
  .card{
    animation: softGlow 10s ease-in-out infinite;
  }
  
  .photo-frame{
    /* add a subtle inner rim */
    position: relative;
  }
  
  .photo-frame::after{
    content:"";
    position:absolute;
    inset: 10px;
    border-radius: 18px;
    border: 1px solid rgba(216,184,101,0.25);
    pointer-events:none;
  }
  
  /* --- Caption + paragraph spacing --- */
  .caption{
    margin: 10px 6px 0;
    font-size: 14px;
    color: rgba(247, 242, 238, 0.62);
    letter-spacing: 0.2px;
  }
  
  .family-paragraph{
    margin-top: 14px; /* was a bit tight */
    max-width: 78ch;  /* makes it read nicer */
  }

/* ---------- FIX OVERRIDES (paste at very bottom) ---------- */

/* Center + constrain tagline/ornament visually */
.tagline{
    margin: 2px 0 0;
    color: rgba(247, 242, 238, 0.78);
    font-size: 16px;
    max-width: 62ch;
    text-align: center;
  }
  
  .ornament{
    width: min(520px, 92vw);
    height: 8px;
    margin-top: 10px;
    border-radius: 999px;
    background:
      linear-gradient(90deg,
        transparent,
        rgba(216,184,101,0.85),
        rgba(216,184,101,0.35),
        rgba(216,184,101,0.85),
        transparent
      );
    opacity: 0.9;
  }
  
  /* Nav polish */
  .nav-link{
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(0,0,0,0.20);
  }
  .nav-link:hover{
    text-decoration: none;
    box-shadow: 0 14px 32px rgba(0,0,0,0.30);
  }
  
  /* Card sizing feels more “intentional” */
  .card{
    padding: 22px;
    max-width: 920px;
    margin: 0 auto;
  }
  
  /* Photo frame rim: keep, but soften it */
  .photo-frame::after{
    border: 1px solid rgba(216,184,101,0.18);
  }
  
  /* Caption outside image frame */
  .caption{
    margin: 12px 6px 0;
    font-size: 14px;
    color: rgba(247, 242, 238, 0.62);
    letter-spacing: 0.2px;
  }
  
  /* Paragraph reads nicer */
  .family-paragraph{
    margin: 14px 6px 6px;
    max-width: 78ch;
  }
  
