:root{
--color-bg-primary:#0F1012;
--color-bg-secondary:#1C1F24;
--color-bg-elevated:#292D33;
--color-text-primary:#F5F2EC;
--color-text-secondary:#C2C6CD;
--color-accent-gold:#C9A248;
--color-accent-burgundy:#7F2945;
--color-accent-emerald:#2F6459;
--color-border-muted:#3A4048;

--font-heading:'Playfair Display',serif;
--font-body:'Inter','Helvetica Neue',Arial,sans-serif;

--fs-1:clamp(2.25rem,4vw,3.5rem);
--fs-2:clamp(1.75rem,3vw,2.5rem);
--fs-3:clamp(1.5rem,2.2vw,1.75rem);
--fs-4:1.25rem;
--fs-5:1rem;
--fs-6:0.875rem;

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

--radius-sm:8px;
--radius-lg:24px;

--border:1px solid var(--color-border-muted);
--shadow-elevated:0 2px 12px rgba(15,16,18,0.08);

--container-max:1200px;
--container-pad:clamp(16px,3vw,32px);

--transition-fast:120ms ease;
}

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

html,body{height:100%}

body{
font-family:var(--font-body);
font-size:var(--fs-5);
line-height:1.6;
background:var(--color-bg-primary);
color:var(--color-text-primary);
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}

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

svg{display:block}

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

button{cursor:pointer}

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

ul{list-style:none !important;padding:0;margin:0}

h1,h2,h3,h4,h5,h6{
font-family:var(--font-heading);
font-weight:500;
line-height:1.2;
letter-spacing:0.02em;
}

h1{font-size:var(--fs-1);margin-bottom:var(--space-4)}
h2{font-size:var(--fs-2);margin-bottom:var(--space-4)}
h3{font-size:var(--fs-3);margin-bottom:var(--space-3)}
h4{font-size:var(--fs-4);margin-bottom:var(--space-3)}
h5{font-size:var(--fs-5);margin-bottom:var(--space-2)}
h6{font-size:var(--fs-6);margin-bottom:var(--space-2)}

p{margin-bottom:var(--space-4);color:var(--color-text-secondary)}

blockquote{margin-bottom:var(--space-4);padding-left:var(--space-3);border-left:2px solid var(--color-accent-gold);color:var(--color-text-secondary)}

ol,ul{margin-bottom:var(--space-4)}

hr{border:none;border-top:var(--border);margin:var(--space-6) 0}

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

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

.section{
padding-top:clamp(32px,6vw,64px);
padding-bottom:clamp(32px,6vw,64px);
}

.surface{
background:var(--color-bg-secondary);
border:var(--border);
border-radius:var(--radius-sm);
}

.surface-elevated{
background:var(--color-bg-elevated);
border:var(--border);
border-radius:var(--radius-lg);
box-shadow:var(--shadow-elevated);
}

.stack > * + *{margin-top:var(--space-3)}

.stack-lg > * + *{margin-top:var(--space-5)}

.cluster{
display:flex;
flex-wrap:wrap;
gap:var(--space-3);
align-items:center;
}

.cluster > *{min-width:0}

.flex{
display:flex;
gap:var(--space-3);
}

.flex-col{flex-direction:column}

.flex-between{justify-content:space-between}

.flex-center{align-items:center;justify-content:center}

.flex > *{min-width:0}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
padding:10px 18px;
border-radius:var(--radius-sm);
font-size:var(--fs-6);
letter-spacing:0.08em;
text-transform:uppercase;
border:1px solid transparent;
transition:all var(--transition-fast);
}

.button-primary{
background:var(--color-accent-gold);
color:#0F1012;
}

.button-primary:hover{filter:brightness(1.05)}

.button-outline{
border-color:var(--color-accent-gold);
color:var(--color-accent-gold);
}

.button-outline:hover{
background:var(--color-accent-gold);
color:#0F1012;
}

.button:active{transform:scale(0.98)}

.input{
width:100%;
padding:12px 14px;
border-radius:var(--radius-sm);
background:var(--color-bg-secondary);
border:var(--border);
color:var(--color-text-primary);
}

.input:focus{
border-color:var(--color-accent-gold);
outline:none;
}

.label{
font-size:var(--fs-6);
color:var(--color-text-secondary);
margin-bottom:var(--space-1);
display:block;
}

.card{
background:var(--color-bg-secondary);
border:var(--border);
border-radius:var(--radius-sm);
padding:clamp(16px,2vw,24px);
display:flex;
flex-direction:column;
gap:var(--space-3);
}

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

.text-muted{color:var(--color-text-secondary)}

.accent-gold{color:var(--color-accent-gold)}
.accent-burgundy{color:var(--color-accent-burgundy)}
.accent-emerald{color:var(--color-accent-emerald)}

.divider{
height:1px;
background:var(--color-border-muted);
width:100%;
}

.nav-toggle{display:flex;flex-direction:column;gap:4px}

.no-overflow{overflow-x:hidden}