:root{
--color-brand-primary:#C8A24A;
--color-brand-secondary:#8D2746;
--color-brand-tertiary:#2E6B5A;

--color-surface-default:#0F1216;
--color-surface-elevated:rgba(26,32,40,0.82);
--color-surface-light:#F6F4EF;

--color-text-primary:#F6F4EF;
--color-text-secondary:#BEC5CE;
--color-text-inverse:#252C36;

--color-border-default:#39414D;

--shadow-glass:0 6px 24px 0 rgba(16,18,22,0.32);

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

--fs-1:clamp(40px,6vw,64px);
--fs-2:clamp(32px,5vw,48px);
--fs-3:clamp(24px,4vw,32px);
--fs-4:24px;
--fs-5:20px;
--fs-6:16px;
--fs-7:14px;

--lh-heading:1.3;
--lh-body:1.6;

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

--radius-sm:16px;
--radius-md:24px;
--radius-pill:32px;

--container-max:1240px;
--container-pad:32px;

--transition-fast:0.2s ease;
--transition-base:0.3s 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-6);
line-height:var(--lh-body);
background:var(--color-surface-default);
color:var(--color-text-primary);
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
overflow-x:hidden;
}

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

svg{
display:block;
}

a{
color:inherit;
text-decoration:none;
transition:color var(--transition-fast);
}

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

button{
cursor:pointer;
}

ul{list-style:none !important;}

h1,h2,h3,h4,h5,h6{
font-family:var(--font-heading);
line-height:var(--lh-heading);
letter-spacing:-0.01em;
margin-bottom:var(--space-4);
}

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

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

blockquote{
margin-bottom:var(--space-5);
padding-left:var(--space-4);
border-left:1px solid var(--color-border-default);
color:var(--color-text-secondary);
}

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

li{
color:var(--color-text-secondary);
}

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
ul:last-child,
ol:last-child,
blockquote:last-child{
margin-bottom:0;
}

.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:var(--space-7);
padding-bottom:var(--space-7);
}

@media (max-width:900px){
.section{
padding-top:var(--space-6);
padding-bottom:var(--space-6);
}
}

@media (max-width:600px){
.section{
padding-top:var(--space-5);
padding-bottom:var(--space-5);
}
}

.surface-glass{
background:var(--color-surface-elevated);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
border:1px solid var(--color-border-default);
box-shadow:var(--shadow-glass);
border-radius:var(--radius-sm);
}

.surface-light{
background:var(--color-surface-light);
color:var(--color-text-inverse);
}

.card{
padding:var(--space-5);
border-radius:var(--radius-sm);
border:1px solid var(--color-border-default);
background:var(--color-surface-elevated);
box-shadow:var(--shadow-glass);
}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
padding:12px 24px;
border-radius:var(--radius-pill);
font-size:var(--fs-7);
letter-spacing:0.08em;
text-transform:uppercase;
white-space:nowrap;
transition:all var(--transition-base);
}

.btn-primary{
background:var(--color-brand-primary);
color:#000 !important;
}

.btn-primary:hover{
filter:brightness(1.1);
}

.btn-secondary{
border:1px solid var(--color-border-default);
color:var(--color-text-primary);
border-radius:var(--radius-sm);
}

.btn-secondary:hover{
border-color:var(--color-brand-primary);
color:var(--color-brand-primary);
}

.input{
width:100%;
padding:12px 16px;
border-radius:var(--radius-sm);
border:1px solid var(--color-border-default);
background:var(--color-surface-light);
color:var(--color-text-inverse);
transition:border var(--transition-fast),box-shadow var(--transition-fast);
}

.input:focus{
border-color:var(--color-brand-primary);
box-shadow:0 0 0 2px rgba(200,162,74,0.2);
}

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

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

.flex-between{
display:flex;
align-items:center;
justify-content:space-between;
gap:var(--space-3);
}

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

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

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

.label{
font-size:var(--fs-7);
letter-spacing:0.12em;
text-transform:uppercase;
color:var(--color-brand-primary);
}

a:hover{
color:var(--color-brand-primary);
}

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