/* Reset */ * { box-sizing: border-box; } html, body { margin: 0; padding: 0; } /* Base */ body { font-family: 'Iceland', sans-serif; color: #BF8915; /* dark yellowish gold text color for body */ background: #1c1c1c; /* slate/charcoal background */ line-height: 1.5; } /* Full-bleed banner */ .site-header { position: relative; /* allows overlay title */ margin: 0; padding: 0; } .site-header img { display: block; /* removes inline image gap */ width: 100%; height: auto; } /* Readability overlay for bright images (subtle) */ .site-header::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,0) 60%); pointer-events: none; } /* Overlay title on the banner (desktop defaults) */ .site-title { font-family: 'Iceland', sans-serif; font-size: clamp(3rem, 6vw, 6rem); /* ~48px–96px */ text-align: center; color: #ffd700; /* gold */ margin: 0; text-shadow: 0 4px 12px rgba(0,0,0,0.6); /* elegant shadow for depth */ /* overlay positioning */ position: absolute; left: 35%; /* your desktop tweak */ bottom: 3%; /* your desktop tweak */ transform: translateX(-50%); z-index: 1; /* fade-in animation */ opacity: 0; animation: fadeIn 1s ease-out forwards; } /* Absolute-positioned slide uses combined translate */ @keyframes fadeIn { from { opacity: 0; transform: translate(-50%, -10px); } to { opacity: 1; transform: translate(-50%, 0); } } /* Sticky nav under header */ .site-nav { position: sticky; top: 0; background: rgba(20,20,20,.75); backdrop-filter: blur(6px); border-top: 1px solid rgba(255,255,255,.07); border-bottom: 1px solid rgba(255,255,255,.07); } .site-nav ul { margin: 0 auto; padding: .5rem 1rem; list-style: none; display: flex; gap: 1rem; justify-content: center; max-width: 1000px; } .site-nav a { color: #efefef; text-decoration: none; padding: .5rem .75rem; border-radius: .5rem; } .site-nav a:hover, .site-nav a:focus-visible { background: rgba(255,255,255,.08); } /* Content + footer */ .content { max-width: 1000px; margin: 2rem auto; padding: 0 1rem 3rem; } .site-footer { text-align: center; color: #bdbdbd; padding: 1.5rem 1rem 3rem; } /* ---------------------------- */ /* Responsive title adjustments */ /* ---------------------------- */ /* Tablet */ @media (max-width: 1024px) { .site-title { left: 50%; /* center on tablet */ bottom: 8%; font-size: clamp(2.5rem, 6vw, 5rem); } } /* Mobile */ @media (max-width: 640px) { .site-title { left: 50%; /* center on mobile */ bottom: 12%; /* lift it for safe spacing */ font-size: clamp(2rem, 8vw, 3.25rem); line-height: 1.05; padding: 0 .25rem; /* avoid edge clipping */ } /* Optional: ensure banner has enough vertical room on short screens */ .site-header { min-height: 40vh; } } /* Very small phones */ @media (max-width: 380px) { .site-title { bottom: 14%; font-size: clamp(1.8rem, 9vw, 2.8rem); } } /* Respect reduced motion preferences */ @media (prefers-reduced-motion: reduce) { .site-title { animation: none; opacity: 1; transform: translate(-50%, 0); } }