:root{
--color-basalt-black:#0c0a09;
--color-granite-dark:#1c1917;
--color-parchment-ivory:#f5f5f4;
--color-antique-gold:#d97706;
--color-deep-crimson:#b91c1c;
--color-badge-red:#dc2626;
--color-white:#ffffff;
--color-border-gray:#44403c;
--color-panel-gold:#78350f;

--font-heading:"Cormorant Garamond",serif;
--font-body:"Inter",system-ui,sans-serif;

--text-xs:0.875rem;
--text-sm:1rem;
--text-md:1.125rem;
--text-lg:1.5rem;
--text-xl:2rem;
--text-xxl:clamp(2rem,4vw,2.75rem);

--space-0:0px;
--space-1:4px;
--space-2:8px;
--space-3:16px;
--space-4:24px;
--space-5:32px;
--space-6:48px;
--space-7:64px;

--radius-sm:2px;
--radius-md:4px;

--container-max:1200px;

--border-thin:1px;
--border-thick:2px;

--shadow-etched:inset 0 0 0 1px rgba(0,0,0,0.4);
}

*,
*::before,
*::after{
box-sizing:border-box;
margin:0;
padding:0;
}

html,body{
height:100%;
}

body{
background:var(--color-basalt-black);
color:var(--color-parchment-ivory);
font-family:var(--font-body);
font-size:var(--text-sm);
line-height:1.6;
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}

img,video{
max-width:100%;
height:auto;
display:block;
}

input,button,textarea,select{
font:inherit;
color:inherit;
background:none;
border:none;
outline:none;
}

button{
cursor:pointer;
}

a{
color:inherit;
text-decoration:none;
}

h1,h2,h3,h4{
font-family:var(--font-heading);
color:var(--color-white);
line-height:1.2;
letter-spacing:0.02em;
}

h1{
font-size:var(--text-xxl);
margin-bottom:var(--space-4);
}

h2{
font-size:var(--text-xl);
margin-bottom:var(--space-3);
}

h3{
font-size:var(--text-lg);
margin-bottom:var(--space-3);
}

h4{
font-size:var(--text-md);
margin-bottom:var(--space-2);
}

p{
margin-bottom:var(--space-3);
}

ul,ol{
margin-bottom:var(--space-3);
padding-left:var(--space-4);
}

blockquote{
margin-bottom:var(--space-4);
padding-left:var(--space-3);
border-left:var(--border-thick) solid var(--color-antique-gold);
color:var(--color-antique-gold);
font-family:var(--font-heading);
}

hr{
border:none;
border-top:var(--border-thin) solid var(--color-border-gray);
margin:var(--space-5) 0;
}

:focus-visible{
outline:2px solid var(--color-antique-gold);
outline-offset:2px;
}

.container{
width:100%;
max-width:var(--container-max);
margin-left:auto;
margin-right:auto;
padding-left:var(--space-4);
padding-right:var(--space-4);
}

.section{
padding-top:var(--space-6);
padding-bottom:var(--space-6);
}

.surface{
background:var(--color-granite-dark);
border:var(--border-thin) solid var(--color-border-gray);
border-radius:var(--radius-md);
padding:var(--space-4);
}

.surface > *:last-child{
margin-bottom:0;
}

.card{
background:var(--color-parchment-ivory);
color:#1a1a1a;
border:var(--border-thick) solid var(--color-panel-gold);
border-radius:var(--radius-md);
padding:var(--space-4);
box-shadow:var(--shadow-etched);
}

.card h1,
.card h2,
.card h3,
.card h4,
.card h5,
.card h6{
color:var(--color-basalt-black);
}

a.card{
color:#1a1a1a;
text-decoration:none;
}

a.card:hover h1,
a.card:hover h2,
a.card:hover h3,
a.card:hover h4{
color:var(--color-panel-gold);
}

.card > *:last-child{
margin-bottom:0;
}

.badge{
display:inline-block;
padding:4px 8px;
border-radius:var(--radius-md);
font-family:var(--font-heading);
font-size:var(--text-xs);
border:var(--border-thin) solid var(--color-antique-gold);
background:var(--color-parchment-ivory);
color:#1a1a1a;
}

.badge--alert{
background:var(--color-deep-crimson);
color:var(--color-white);
border-color:var(--color-deep-crimson);
}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:var(--space-2);
padding:10px 18px;
font-family:var(--font-heading);
font-size:var(--text-sm);
letter-spacing:0.08em;
text-transform:uppercase;
border-radius:var(--radius-sm);
border:var(--border-thick) solid var(--color-antique-gold);
background:var(--color-granite-dark);
color:var(--color-white);
min-width:0;
}

.btn:hover{
background:#2a2623;
}

.btn:active{
background:#141210;
}

.btn-primary{
background:var(--color-antique-gold);
color:var(--color-white);
border-color:var(--color-antique-gold);
}

.btn-primary:hover{
background:#f59e0b;
}

.nav{
display:flex;
align-items:center;
gap:var(--space-4);
}

.nav a{
font-family:var(--font-heading);
font-size:var(--text-xs);
letter-spacing:0.12em;
text-transform:uppercase;
color:var(--color-parchment-ivory);
}

.nav a:hover{
color:var(--color-antique-gold);
}

.stack{
display:flex;
flex-direction:column;
gap:var(--space-3);
min-width:0;
}

.row{
display:flex;
flex-wrap:wrap;
gap:var(--space-3);
min-width:0;
}

.row > *{
min-width:0;
}

.table{
width:100%;
border-collapse:collapse;
background:var(--color-parchment-ivory);
color:#1a1a1a;
border:var(--border-thick) solid var(--color-panel-gold);
}

.table th{
font-family:var(--font-heading);
text-align:left;
padding:var(--space-2);
border-bottom:var(--border-thin) solid var(--color-border-gray);
}

.table td{
padding:var(--space-2);
border-bottom:var(--border-thin) solid var(--color-border-gray);
}

.table tr:last-child td{
border-bottom:none;
}

input,textarea,select{
width:100%;
padding:10px 12px;
background:var(--color-granite-dark);
border:var(--border-thin) solid var(--color-border-gray);
border-radius:var(--radius-sm);
color:var(--color-white);
}

input:focus,textarea:focus,select:focus{
border-color:var(--color-antique-gold);
}

form > *:last-child{
margin-bottom:0;
}

@media (max-width:768px){
.container{
padding-left:var(--space-3);
padding-right:var(--space-3);
}
.section{
padding-top:var(--space-5);
padding-bottom:var(--space-5);
}
}
html, body {
  overflow-x: clip;
  max-width: 100%;
}

img, video, svg {
  max-width: 100%;
  height: auto;
}
