/*
body, html {
	margin: 0;
	padding: 0;
	border: none;
	height: 100%;
}

body {
	letter-spacing: .01rem;
	line-height: 1.8;
	font-size: 1.1rem;
	font-weight: 200;
	font-family: IBM Plex Sans;
	letter-spacing: .01rem;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .004);
	color: whitesmoke;
    background: black;
}

p {
    margin: 0px;
    color: whitesmoke;
}

a {
	color: black;
	display: inline-block;
	text-decoration: none;
	transition: .3s
}

a:hover {
	color: green;
    text-decoration: underline;
	transition: .3s;
}

a:active,
a:visited {
	backface-visibility: hidden;
	text-decoration: none
}

a.underline {
	text-decoration: underline
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
	line-height: 1.2;
    color: red;
    padding:0px;
    margin: 0px;
}

h1 {
	font-size: 3rem;
	letter-spacing: .025rem;
}

h2 {
	font-size: 2.5rem;
}

h3 {
	font-size: 2rem;
}

h4 {
	font-size: 1.75rem;
}

h5 {
	font-size: 1.5rem;
}

h6 {
	font-size: 1.25rem;
}

.content {
	max-width: 60em;
	margin: 0 auto 1.5em;
	width: 80%
}
*/
input,
optgroup,
select,
textarea {
    margin-bottom: 15px;
	font-family: inherit;
	font-size: inherit
}

input:not([type=checkbox]):not([type=radio]):not([type=submit]),
select {
	border: 1px solid #ddd;
	border-radius: 3px;
	color: #5a5a5a;
	font-size: .85rem;
	letter-spacing: .02rem;
	transition: .3s;
	outline: 0;
	padding: .85rem 1.1rem
}

input[type=search] {
	-webkit-appearance: none
}

textarea,
textarea[type=text] {
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: .85rem;
	letter-spacing: .02rem;
	transition: .3s;
	outline: 0;
	resize: vertical
}

input[type=color] {
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, .05);
	box-sizing: border-box;
	transition: .3s;
	outline: 0;
	position: relative;
	height: 3rem;
	background-color: #fff;
	padding: .55rem .8rem!important
}

.input-focused,
input:not([type=checkbox]):not([type=radio]):not([type=submit]):focus,
input[type=text].input-focused,
select:focus,
textarea:focus,
textarea[type=text]:focus {
	border-color: #3dabf0;
	box-shadow: 0 0 0 .2rem rgba(61, 171, 240, .4), inset 0 1px 8px rgba(0, 0, 0, .07)
}
/*
select {
	background-color: #fff;
	border: 1px solid #ddd;
	-webkit-appearance: menulist
}

select[multiple] option {
	padding: .2rem .4rem
}

select.select:not([size]):not([multiple]) {
	background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%204%205'%3E%3Cpath%20fill='%23667189'%20d='M2%200L0%202h4zm0%205L0%203h4z'/%3E%3C/svg%3E") right .85rem center/.5rem .6rem no-repeat no-repeat;
	-webkit-appearance: none
}

input.search,
input[type=search] {
	background-repeat: no-repeat;
	background-position: left .6rem center;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path opacity="0.45" d="M14.891,14.39l-0.5.5a0.355,0.355,0,0,1-.5,0L9.526,10.529a5.3,5.3,0,1,1,2.106-4.212,5.268,5.268,0,0,1-1.1,3.21l4.362,4.362A0.354,0.354,0,0,1,14.891,14.39ZM6.316,2.418a3.9,3.9,0,1,0,3.9,3.9A3.9,3.9,0,0,0,6.316,2.418Z"/></svg>');
	padding-left: 2rem!important
}

input:not([class*=" btn-"]):disabled:hover,
input:not([class*=btn-]):disabled,
select:disabled,
textarea:disabled {
	background-color: #f3f3f6;
	cursor: not-allowed;
	border: 1px solid #f3f3f6
}

::-moz-placeholder {
	color: #a9a9a9
}

::-webkit-input-placeholder {
	color: #a9a9a9
}

.placeholder {
	background-color: rgba(231, 234, 241, .5);
	border-radius: 3px;
	text-align: center;
	padding: 3rem 2rem;
	color: #6c7892;
	display: block
}

.placeholder-icon {
	text-align: center
}

.placeholder .placeholder-subtitle,
.placeholder .placeholder-title {
	margin: 1rem auto
}

.placeholder .placeholder-subtitle {
	opacity: .7;
	margin: 0
}

.placeholder .placeholder-commands {
	margin-top: 1rem
}

label {
	display: inline-block;
	margin: .25rem 0
}

.label {
	color: #4a4a4a;
	display: inline-block;
	font-weight: 700;
	margin-top: .8rem
}


/* button */

.btn,
[type=submit],
button {
	display: inline-block;
	overflow: hidden;
    padding:5px;
	border: 1px solid transparent;
	border-radius: .15rem;
	cursor: pointer;
	text-align: center;
	transition: all 0 .2s;
	font-size: 1.25rem;
	letter-spacing: .03rem;
	min-width: 2rem;
	user-select: none;
	outline: 0;
}

.btn-primary {
	--button-colour-bg: grey;
	--button-colour-fg: white;
	--button-colour-border: darkgray
}
.btn-primary:hover {
	--button-colour-bg: rgb(102, 224, 65)
}

.btn-secondary {
	--button-colour-bg: lightgrey;
	--button-colour-fg: black;
	--button-colour-border: grey
}
.btn-secondary:hover {
	--button-colour-border: rgb(102, 224, 65);
}

.btn-success {
	--button-colour-bg: green;
	--button-colour-fg: white;
	--button-colour-border: lightgreen
}

.btn-warning {
	--button-colour-bg: #fab633;
	--button-colour-fg: black;
	--button-colour-border: gold
}
.btn-warning:hover {
	--button-colour-bg: rgb(102, 224, 65);
}

.btn-danger {
	--button-colour-bg: #fb4143;
	--button-colour-fg: white;
	--button-colour-border: darkrred
}
.btn-danger:hover {
	--button-colour-bg: rgb(102, 224, 65)
}

.btn-info {
	--button-colour-bg: blueviolet;
	--button-colour-fg: white;
	--button-colour-border: #2972fa
}
.btn-info:hover {
	--button-colour-bg: rgb(102, 224, 65)
}

.btn-special {
	--button-colour-bg: rgb(48, 10, 53);
	--button-colour-fg: rgb(194, 118, 163);
	--button-colour-border: rgb(231, 27, 143);
}
.btn-special:hover {
	--button-colour-bg: black
}

[class*=" btn-"],
[class^=btn-] {
	background-color: var(--button-colour-bg);
	border: 1px solid var(--button-colour-border);
	color: var(--button-colour-fg);
	transition: all .2s
}

[class*=" btn-"]:hover,
[class^=btn-]:hover {
	background-color: lightgreen;
	transition: all .2s
}

[class*=" btn-"].outline,
[class^=btn-].outline {
	background-color: transparent;
	color: red
}

[class*=" btn-"].outline:hover,
[class^=btn-].outline:hover {
	background-color: red;
	color: green;
	transition: all .2s
}

/* table */

.table {
	margin-bottom: 1.5rem;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left
}

.table td {
	border: 1px solid rgba(219, 219, 219, .5);
	border-width: 0 0 1px;
	padding: .75rem;
	vertical-align: top;
	text-align: inherit;
	margin: 0
}

.table th {
	border: 1px solid rgba(219, 219, 219, .5);
	border-width: 0 0 1px;
	padding: .75rem;
	vertical-align: top;
	text-align: inherit;
	margin: 0
}

.table tr {
	transition: .3s
}

.bannerTitle {
    color: var(--banner-title-colour);
}
/*
@media screen and (max-width: 400px) {

.homeContainer {
    height:80vh;
    justify-content:space-between;
    overflow:hidden;
    margin:10px;
    background: var(--home-container-colour-bg) !important;
    color: var(--home-container-colour-fg) !important;
}
}

@media screen and (min-width: 400px) {
    .homeContainer {
    height:80vh;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    overflow:hidden;
    width: 45%;
    min-width: 45vw;
    margin:10px;
    background: var(--home-container-colour-bg) !important;
    color: var(--home-container-colour-fg) !important;
}
}*/
/*
.homeContainerBanner {
    color: var(--home-container-title-colour-fg) !important;
    background: var(--home-container-title-colour-bg) !important;
}

.nested-sortable {
    margin-top: 5px;
}

.nested-1 {
  background-color: #e6e6e6;
  cursor: pointer;
  margin-top: 5px;
}

.nested-2 {
  background-color: #cccccc;
  cursor: pointer;
  margin-top: 5px;
}

.nested-3 {
  border: 1px solid lightgrey;
  cursor: pointer;
  margin-top: 5px;
} */
/*
.homeListGroupItem {
  background-color: #f0f0f0;
  border: 1px solid rgba(0,0,0,.125);
  display: inline-block;
  vertical-align: top;
}

.anialink {
    background: var(--home-footer-ania-colour-bg);
    color: var(--home-footer-ania-colour-fg);
    text-align: center;
}

.anialink a {
    color: var(--home-footer-ania-colour-a);
}

.anialink a:hover {
    color: var(--home-footer-ania-colour-a-hover);
} */

.Copyright {
    text-align: center;
    color: grey;
    background: black;
    font-size: 0.8em;
}


/* menu */
/*
.menu {
    background: var(--menu-colour-bg);
}

.menuSeparator {
    border-top: 1px solid var(--menu-separator-border-colour);
}

.menuItem div {
    padding-right: 12px;
    margin-right:10px;
    border-right: 1px solid var(--menu-item-border-colour);
    /* color: var(--menu-item-link-colour); * /
}

.menuItem a:hover {
    color: var(--menu-item-link-hover-colour);
} */

.btn-close {
    background: url('https://ania.ai/library/Ania/btn-close.png');
    float: right;
    width:100px;
    height:100px;
}

.toast--error {
    background: red;
}

.toast--success {
    background: green;
}

.toast--working {
    background: yellow;
}

.toastTitleSuccess {
    color: white;
    padding:5px;

}

.toastTitleError {
    color: white;
    padding:5px;
}

.toastTitleWorking {
    color: black;
    padding:5px;
}

 /* checkboxes */

.containerCB {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.containerCB input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkmarkCB {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: lightblue;
}

.containerCB:hover input ~ .checkmarkCB {
    background-color:cyan;
}

.containerCB input:checked ~ .checkmarkCB {
    background-color: #2196F3;
}

.checkmarkCB:after {
    content: "";
    position: absolute;
    display: none;
}

.containerCB input:checked ~ .checkmarkCB:after {
    display: block;
}

.containerCB .checkmarkCB:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* radio */

.containerR {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.containerR input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.checkmarkR {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: lightblue;
  border-radius: 50%;
}

.containerR:hover input ~ .checkmarkR {
  background-color: cyan;
}

.containerR input:checked ~ .checkmarkR {
  background-color: #2196F3;
}

.checkmarkR:after {
  content: "";
  position: absolute;
  display: none;
}

.containerR input:checked ~ .checkmarkR:after {
  display: block;
}

.containerR .checkmarkR:after {
 	top: 9px;
	left: 9px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: white;
}

.ui-dialog-titlebar { background:red; color:white}

.banner {
    background: rgb(28, 2, 25);
}

.frame__body {
    padding-left: 30px;
}

/*
.bg {
    background: var(--default-colour-hl-bg);
    color: var(--default-colour-hl-fg);
}

.hl-bg {
    background: var(--default-colour-hl);
}

.hl-bl {
    border-left:4px solid var(--default-colour-hl);
}

.hl-bt {
    border-top:4px solid var(--default-colour-hl);
}

.hl-b  {
    border:1px solid var(--default-colour-hl);
}

.viewall {
    padding:10px;
    color: var(--default-colour-hl-fg);
    background: var(--default-colour-hl);
    text-align:center;
    border:1px solid var(--default-colour-hl-bg);
}

.img-border {
    border:1px solid var(--default-colour-hl);
}

.div-border {
    border-top:2px solid var(--default-colour-hl);
    border-left:1px solid var(--default-colour-hl);
    border-right:1px solid var(--default-colour-hl);
    border-bottom:1px solid var(--default-colour-hl);
}

.div-border-t {
    border-top:1px solid var(--default-colour-hl);
    border-left:1px solid var(--default-colour-hl);
    border-right:1px solid var(--default-colour-hl);
 }

 .div-border-b {
    border-bottom:1px solid var(--default-colour-hl);
    border-left:1px solid var(--default-colour-hl);
    border-right:1px solid var(--default-colour-hl);
    margin-bottom:10px
}

.hl-sep {
    border-left:1px solid var(--default-colour-hl);
}

.div-date {
    color: var(--home-item-colour-date);
}

.div-title {
    color: var(--home-item-colour-title);
}

.div-desc {
    color: var(--home-item-colour-desc);
}

.div-link {
    color: var(--home-item-colour-link);
}
*/

.fade-in-title {
    line-height: 1em;
    color: orange;
    animation: fadeIn linear 2s;
    -webkit-animation: fadeIn linear 2s;
    -moz-animation: fadeIn linear 2s;
    -o-animation: fadeIn linear 2s;
    -ms-animation: fadeIn linear 2s;
  }

  .fade-in-text {
    line-height: 1em;
    font-size: 5em;
    color: var(--fade-in-text);
    animation: fadeIn linear 2s;
    -webkit-animation: fadeIn linear 2s;
    -moz-animation: fadeIn linear 2s;
    -o-animation: fadeIn linear 2s;
    -ms-animation: fadeIn linear 2s;
  }

@keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-moz-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-webkit-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-o-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-ms-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

.TitleText {
    font-size: 3em;
    color: rgb(255, 123, 0);
    padding-left: 5px
}

.SiteLink {
    color: blueviolet;
    cursor:pointer
}

.aniaStoreButton {
    font-family: Helvetica Neue, sans-serif;
    font-weight: normal;
    font-size: 1.3em;
    margin-top: 15px;
    margin-bottom: 15px;
    color: #000000;
    background-color: #78b657;
    border-radius: 3px;
    padding: 15px 40px 15px 40px;
}

/* */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
/*
body {
    background-color: #f9fafb;
    color: #1f2937;
    line-height: 1.6;
} */

header {
    background: linear-gradient(135deg, #7c3aed, #3b82f6);
    color: white;
    text-align: center;
    padding: 4rem 2rem;
}

header h1 {
    color: gold;
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    font-style: italic;
}

header p {
    font-size: 1.5rem;
    font-weight: 300;
    opacity: 0.9;
    font-style: italic;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
}

.intro {
    text-align: center;
    margin-bottom: 3rem;
}

.intro h2 {
    font-size: 2.5rem;
    font-weight: 600;
    color: #111827;
}

.intro p {
    font-size: 1.1rem;
    color: #4b5563;
    max-width: 800px;
    margin: 1rem auto;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.team-member {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s ease;
}

.team-member:hover {
    transform: translateY(-5px);
}

.team-member img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-bottom: 4px solid #7c3aed;
}

.team-member-content {
    padding: 1.5rem;
}

.team-member h3 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #111827;
}

.team-member p.role {
    font-size: 1rem;
    color: #3b82f6;
    margin-bottom: 1rem; text-decoration: none;
}

.team-member p.bio {
    font-size: 0.95rem;
    color: #4b5563;
}

.team-member p.fun-fact {
    font-size: 0.9rem;
    color: #6b7280;
    font-style: italic;
    margin-top: 1rem;
}

.mission {
    text-align: center;
    margin: 4rem 0;
    padding: 2rem;
    background: #111827;
    color: white;
    border-radius: 12px;
}

.mission h2 {
    font-size: 2.5rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.mission p {
    font-size: 1.1rem;
    max-width: 800px;
    margin: 0 auto;
}

.cta {
    text-align: center;
    margin: 2rem 0;
}

.cta a {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: #7c3aed;
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 500;
    transition: background 0.3s ease;
}

.cta a:hover {
    background: #5b21b6;
}

@media (max-width: 768px) {
    header h1 {
        font-size: 2rem;
    }

    header p {
        font-size: 1.2rem;
    }

    .intro h2 {
        font-size: 2rem;
    }

    .team-grid {
        grid-template-columns: 1fr;
    }
}

.first-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin: 2rem;
}

.first-member {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s ease;
}

.first-member:hover {
    transform: translateY(-5px);
}

.first-member img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-bottom: 4px solid #7c3aed;
}

.first-member-content {
    padding: 1.5rem;
}

.first-member h3 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #111827;
    margin: 14px;
}

.first-member p.role {
    font-size: 1rem;
    color: #3b82f6;
    margin-bottom: .2rem;
}

.first-member p.bio {
    font-size: 0.95rem;
    color: #4b5563;
}

.first-member p.outline {
    font-size: 0.9rem;
    color: #6b7280;
    font-style: italic;
    margin-top: 1rem;
}

.first-member {
    font-size: 0.9rem;
    color: #6b7280;
    font-style: italic;
    margin-top: 1rem;
}

/****************************/
     :root {
            --dark-blue: #001F3F;
            --gold: #FFD700;
            --gold-light: #FFA500;
            --shadow-gold: rgba(255, 215, 0, 0.3);
            --noir-shadow: rgba(0, 0, 0, 0.8);
        }
        body {
            font-family: 'Roboto', sans-serif;
            background-color: var(--dark-blue);
            color: var(--gold);
            margin: 0;
            padding: 0;
            line-height: 1.6;
            overflow-x: hidden;
            position: relative;
        }
        body::before { /* Film grain overlay */
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><filter id="noise"><feTurbulence baseFrequency="0.5" numOctaves="1" /><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0" /></filter><rect width="100" height="100" filter="url(%23noise)" opacity="0.05" /></svg>');
            pointer-events: none;
            z-index: -1;
            animation: grain 0.1s steps(1) infinite;
        }
        @keyframes grain {
            0%, 100% { transform: translate(0, 0); }
            10% { transform: translate(-1px, 1px); }
            20% { transform: translate(-2px, 0); }
            30% { transform: translate(0, -1px); }
            40% { transform: translate(1px, -2px); }
            50% { transform: translate(-1px, 1px); }
            60% { transform: translate(-2px, 0); }
            70% { transform: translate(1px, 2px); }
            80% { transform: translate(-1px, 0); }
            90% { transform: translate(1px, 1px); }
        }
        .header2 {
            position: relative;
            /* height: 100vh; */
            background: linear-gradient(rgba(0, 31, 63, 0.9), rgba(0, 31, 63, 0.7)), url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><rect width="100" height="100" fill="%23001F3F"/><text x="50" y="50" font-family="serif" font-size="12" fill="%23FFD700" text-anchor="middle" dy=".3em">Shadow Archives</text></svg>') center/cover no-repeat;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 0 20px;
            border-bottom: 5px solid var(--gold);
        }
        header {
            position: relative;
            height: 100vh;
            background: linear-gradient(rgba(0, 31, 63, 0.9), rgba(0, 31, 63, 0.7)), url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><rect width="100" height="100" fill="%23001F3F"/><text x="50" y="50" font-family="serif" font-size="12" fill="%23FFD700" text-anchor="middle" dy=".3em">Shadow Archives</text></svg>') center/cover no-repeat;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 0 20px;
            border-bottom: 5px solid var(--gold);
        }
        header::before {
            content: 'CLASSIFIED // EYES ONLY';
            position: absolute;
            top: 20%;
            left: 10%;
            font-family: 'Special Elite', monospace, sans-serif; /* Fallback font */
            font-size: 2em;
            color: rgba(255, 215, 0, 0.3); /* Base opacity bumped to 0.3 */
            transform: rotate(-15deg);
            z-index: 1;
            animation: flicker 2s infinite alternate;
        }
        @keyframes flicker {
            0%, 100% { opacity: 0.3; }
            50% { opacity: 0.4; }
        }
        .logo {
            width: 100px;
            height: auto;
            margin-bottom: 20px;
            border: 2px solid var(--gold);
            border-radius: 50%;
            box-shadow: 0 0 20px var(--shadow-gold);
            filter: sepia(0.2) contrast(1.1); /* Subtle noir tint */
            transition: transform 0.3s ease;
        }
        .logo:hover {
            transform: scale(1.05);
        }
        header h1 {
            font-family: 'Playfair Display', serif;
            font-size: 3.5em;
            margin: 0;
            z-index: 2;
            animation: typewriter 2s steps(40) forwards;
            white-space: nowrap;
            overflow: hidden;
        }
        header p {
            font-size: 1.2em;
            margin: 10px 0;
            max-width: 600px;
            animation: fadeInUp 1.5s ease-out 1s both, typewriter 3s steps(100) 2.5s forwards;
            white-space: nowrap;
            overflow: hidden;
        }
        @keyframes typewriter {
            from { width: 0; }
            to { width: 100%; }
        }
        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(50px); }
            to { opacity: 1; transform: translateY(0); }
        }
        /* nav {
            background: linear-gradient(to right, var(--noir-shadow), rgba(0, 31, 63, 0.95));
            padding: 15px;
            text-align: center;
            position: sticky;
            top: 0;
            z-index: 10;
            backdrop-filter: blur(10px);
            border-bottom: 2px solid var(--gold);
        } */

   nav {
            background: linear-gradient(to right, var(--noir-shadow), rgba(0, 31, 63, 0.95));
            padding: 15px;
            text-align: center;
            position: sticky;
            top: 0;
            z-index: 10;
            backdrop-filter: blur(10px);
            border-bottom: 2px solid var(--gold);
        }
        .hamburger {
            display: none;
            flex-direction: column;
            cursor: pointer;
            padding: 5px;
        }
        .hamburger span {
            width: 25px;
            height: 3px;
            background: var(--gold);
            margin: 3px 0;
            transition: 0.3s;
            border-radius: 1px;
        }
        .hamburger.active span:nth-child(1) {
            transform: rotate(-45deg) translate(-5px, 6px);
        }
        .hamburger.active span:nth-child(2) {
            opacity: 0;
        }
        .hamburger.active span:nth-child(3) {
            transform: rotate(45deg) translate(-5px, -6px);
        }
        nav ul {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
        }
        nav li {
            margin: 0 10px;
        }

        nav a {
            color: var(--gold);
            margin: 0 20px;
            text-decoration: none;
            font-family: 'Special Elite', monospace;
            font-weight: 400;
            transition: all 0.3s ease;
            position: relative;
            text-shadow: 0 0 5px var(--shadow-gold);
        }
        nav a::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--gold-light);
            transition: width 0.3s ease;
        }
        nav a:hover::after {
            width: 100%;
        }
        nav a:hover {
            color: var(--gold-light);
            text-shadow: 0 0 15px var(--shadow-gold);
            transform: scale(1.1);
        }
        main {
            padding: 60px 20px;
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
        }
        section {
            margin-bottom: 80px;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
            position: relative;
        }
        .hero-section { grid-template-columns: 1fr; text-align: center; }
        .card {
            background: linear-gradient(145deg, var(--noir-shadow), rgba(0, 31, 63, 0.8));
            padding: 30px;
            border: 2px solid var(--gold);
            border-radius: 0; /* Sharp noir edges */
            box-shadow:
                0 0 20px var(--shadow-gold),
                inset 0 0 20px rgba(0,0,0,0.5); /* Vignette inner shadow */
            transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            position: relative;
            overflow: hidden;
            opacity: 1; /* Default visible */
        }
        .card::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 215, 0, 0.2), transparent);
            transition: left 0.7s;
        }
        .card:hover::before {
            left: 100%;
        }
        .card:hover {
            transform: translateY(-15px) scale(1.05);
            box-shadow:
                0 0 40px var(--shadow-gold),
                inset 0 0 30px rgba(0,0,0,0.7);
            border-color: var(--gold-light);
            animation: pulseGlow 2s infinite;
        }
        @keyframes pulseGlow {
            0%, 100% { box-shadow: 0 0 40px var(--shadow-gold); }
            50% { box-shadow: 0 0 60px var(--shadow-gold); }
        }
        .placeholder-img {
            width: 100%;
            height: 400px;
            background-color: var(--dark-blue);
            color: var(--gold);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Special Elite', monospace;
            font-size: 1.2em;
            text-align: center;
            padding: 20px;
            border: 1px solid var(--gold);
            box-shadow: 0 4px 8px var(--noir-shadow);
            filter: sepia(0.8) contrast(1.2);
            margin-bottom: 15px;
            position: relative;
            object-fit: cover; /* For real images */
        }
        .placeholder-img.small {
            height: 300px;
            font-size: 1em;
        }
        .placeholder-img::after { /* Vignette */
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            box-shadow: inset 0 0 50px rgba(0,0,0,0.5);
            pointer-events: none;
        }
        h1, h2 {
            font-family: 'Special Elite', monospace;
            color: var(--gold);
            border-bottom: 1px solid var(--gold);
            padding-bottom: 10px;
            margin-bottom: 20px;
            text-shadow: 2px 2px 4px var(--noir-shadow);
            letter-spacing: 2px;
        }
        .books-grid, .music-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 20px;
        }
        .book-item, .music-item {
            background: rgba(255, 215, 0, 0.05);
            padding: 15px;
            border-left: 4px solid var(--gold);
            transition: all 0.3s;
            font-family: 'Special Elite', monospace;
        }
        .book-item:hover, .music-item:hover {
            background: rgba(255, 215, 0, 0.15);
            transform: rotate(1deg);
        }
        .shop-cta { grid-column: 1 / -1; text-align: center; }
        .shop-link {
            display: inline-block;
            background: linear-gradient(45deg, var(--gold), var(--gold-light));
            color: var(--dark-blue);
            padding: 20px 40px;
            text-decoration: none;
            border-radius: 0;
            font-family: 'Special Elite', monospace;
            font-size: 1.1em;
            transition: all 0.4s ease;
            box-shadow: 0 5px 15px var(--shadow-gold);
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        .shop-link:hover {
            transform: translateY(-5px) rotate(2deg);
            box-shadow: 0 15px 30px var(--shadow-gold);
        }
        footer {
            background: var(--noir-shadow);
            padding: 30px;
            text-align: center;
            border-top: 2px solid var(--gold);
            margin-top: 80px;
            font-family: 'Special Elite', monospace;
        }
        footer a {
            color: var(--gold);
            text-decoration: none;
            margin: 0 10px;
            transition: color 0.3s;
        }
        footer a:hover { color: var(--gold-light); }
         @media (max-width: 768px) {
            header h1 { font-size: 2.5em; }
            .logo { width: 80px; }
            .hamburger { display: flex; }
            nav ul {
                display: none;
                flex-direction: column;
                position: absolute;
                top: 100%;
                left: 0;
                width: 100%;
                background: var(--noir-shadow);
                border-top: 2px solid var(--gold);
                padding: 10px 0;
            }
            nav ul.active {
                display: flex;
            }
            nav li {
                margin: 5px 0;
            }
            nav a {
                padding: 10px 20px;
            }
            section { grid-template-columns: 1fr; }
            .card { padding: 20px; }
            .placeholder-img { font-size: 1em; padding: 10px; }
        }