:root{
--color-surface-main:#19191A;
--color-surface-alt:#F5EDE2;
--color-surface-tertiary:#FFF9F2;
--color-accent-primary:#B9935A;
--color-accent-secondary:#C1440E;
--color-decorative-olive:#3A4631;
--color-surface-wood:#8C5E3C;
--color-text-main:#F5EDE2;
--color-text-inverse:#19191A;
--color-text-muted:#B3A79B;
--color-border:#2E2B26;

--font-heading:'Cormorant Garamond',serif;
--font-body:'Inter',sans-serif;

--fs-1:clamp(2.2rem,4vw,3.2rem);
--fs-2:clamp(1.8rem,3vw,2.4rem);
--fs-3:clamp(1.6rem,2.5vw,2rem);
--fs-4:1.5rem;
--fs-5:1.125rem;
--fs-6:1rem;
--fs-7:0.875rem;

--space-1:0.25rem;
--space-2:0.5rem;
--space-3:1rem;
--space-4:1.5rem;
--space-5:2rem;
--space-6:3rem;
--space-7:4.5rem;

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

--container-max:1200px;
--container-pad:2rem;

--shadow-soft:0 2px 8px rgba(25,25,26,0.08);

--transition-fast:150ms ease;
--transition-base:200ms ease;
}

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

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

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

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

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

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

button{
cursor:pointer;
background:none;
border:none;
}

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

h1,h2,h3,h4,h5,h6{
font-family:var(--font-heading);
font-weight:700;
letter-spacing:-0.01em;
line-height:1.2;
margin-block-end:var(--space-3);
}

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-block-end:var(--space-3);
color:var(--color-text-main);
}

small{font-size:var(--fs-7);color:var(--color-text-muted)}

ul,ol{
margin-block-end:var(--space-3);
padding-inline-start:1.25rem;
}

blockquote{
margin-block-end:var(--space-4);
padding-left:var(--space-3);
border-left:2px solid var(--color-border);
color:var(--color-text-muted);
}

section{
padding-block:var(--space-6);
}

@media (max-width:900px){
:root{
--container-pad:1rem;
}
section{
padding-block:var(--space-5);
}
}

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

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

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

.card{
background:var(--color-surface-alt);
color:var(--color-text-inverse);
border:1px solid var(--color-border);
border-radius:var(--radius-sm);
padding:var(--space-4);
}

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

.button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:0.5rem;
padding:0.75rem 1.25rem;
border-radius:var(--radius-sm);
font-weight:600;
text-transform:uppercase;
letter-spacing:0.05em;
transition:all var(--transition-base);
border:1px solid transparent;
white-space:nowrap;
}

.button-primary{
background:var(--color-accent-primary);
color:var(--color-text-inverse);
}

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

.button-secondary{
background:var(--color-accent-secondary);
color:var(--color-text-main);
}

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

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

.button-outline:hover{
background:var(--color-accent-primary);
color:var(--color-text-inverse);
}

.input,
textarea,
select{
width:100%;
padding:0.65rem 0.75rem;
border-radius:var(--radius-sm);
border:1px solid var(--color-border);
background:var(--color-surface-tertiary);
color:var(--color-text-inverse);
transition:border-color var(--transition-fast),box-shadow var(--transition-fast);
}

.input:focus,
textarea:focus,
select:focus{
border-color:var(--color-accent-primary);
box-shadow:0 0 0 2px rgba(185,147,90,0.25);
outline:none;
}

label{
display:block;
margin-bottom:0.35rem;
font-size:var(--fs-7);
color:var(--color-text-muted);
}

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

.flex-col{
flex-direction:column;
}

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

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

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

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

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

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

img.rounded{
border-radius:var(--radius-lg);
}

.overlay{
position:fixed;
inset:0;
background:rgba(25,25,26,0.7);
display:flex;
align-items:center;
justify-content:center;
padding:var(--space-4);
z-index:1000;
}

.modal{
background:var(--color-surface-alt);
color:var(--color-text-inverse);
border-radius:var(--radius-lg);
padding:var(--space-5);
max-width:500px;
width:100%;
box-shadow:var(--shadow-soft);
}

.hidden{display:none}