:root{
--color-bg-primary:#FAF6F1;
--color-bg-secondary:#F0E8DD;
--color-surface:#FFFFFF;
--color-text-primary:#24211D;
--color-text-secondary:#625C55;
--color-accent-gold:#D4B06A;
--color-accent-copper:#A66A2C;
--color-accent-burgundy:#7A2E45;
--color-border:#DDD2C5;
--color-overlay:rgba(250,246,241,0.85);

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

--text-xs:0.875rem;
--text-sm:1rem;
--text-md:1.25rem;
--text-lg:1.5rem;
--text-xl:2.25rem;
--text-xxl:3rem;

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

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

--shadow-soft:0 2px 16px rgba(98,92,85,0.08);

--container-max:1200px;
--container-pad:32px;
}

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

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

body{
font-family:var(--font-body);
color:var(--color-text-primary);
background:var(--color-bg-primary);
line-height:1.5;
min-height:100vh;
text-rendering:optimizeLegibility;
}

img,
picture,
video,
canvas,
svg{
display:block;
max-width:100%;
height:auto;
border-radius:var(--radius-sm);
}

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

button{
cursor:pointer;
}

ul{
list-style:none !important;
}

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

h1,h2,h3,h4,h5,h6{
font-family:var(--font-heading);
font-weight:700;
line-height:1.3;
color:var(--color-text-primary);
margin-bottom:var(--space-3);
}

h1{font-size:clamp(2.25rem,4vw,3rem);}
h2{font-size:clamp(1.875rem,3vw,2.25rem);}
h3{font-size:clamp(1.5rem,2.5vw,1.5rem);}
h4{font-size:1.25rem;}
h5{font-size:1rem;}
h6{font-size:0.875rem;}

p{
font-size:var(--text-sm);
color:var(--color-text-secondary);
margin-bottom:var(--space-3);
}

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

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

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

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

@media (max-width:768px){
.container{
padding-inline:16px;
}
}

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

.section-sm{
padding-block:var(--space-5);
}

.surface{
background:var(--color-surface);
border:1px solid var(--color-border);
border-radius:var(--radius-sm);
box-shadow:var(--shadow-soft);
}

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

.card{
background:var(--color-surface);
border:1px solid var(--color-border);
border-radius:var(--radius-sm);
padding:var(--space-4);
box-shadow:var(--shadow-soft);
transition:box-shadow .15s ease,border-color .15s ease;
}

.card:hover{
box-shadow:0 4px 20px rgba(98,92,85,0.12);
border-color:var(--color-accent-gold);
}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
padding:0 24px;
min-height:44px;
border-radius:var(--radius-sm);
font-size:0.875rem;
letter-spacing:.05em;
text-transform:uppercase;
font-weight:500;
transition:all .15s ease;
white-space:nowrap;
}

.btn-primary{
background:var(--color-accent-gold);
color:#fff;
}

.btn-primary:hover{
background:var(--color-accent-copper);
box-shadow:var(--shadow-soft);
}

.btn-secondary{
background:var(--color-accent-copper);
color:#fff;
}

.btn-secondary:hover{
background:var(--color-accent-burgundy);
box-shadow:var(--shadow-soft);
}

.input{
width:100%;
padding:12px 16px;
background:var(--color-surface);
border:1px solid var(--color-border);
border-radius:var(--radius-sm);
transition:border-color .15s ease,box-shadow .15s ease;
}

.input:focus{
border-color:var(--color-accent-gold);
box-shadow:0 0 0 2px rgba(212,176,106,0.2);
}

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

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

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

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

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

.overlay{
background:var(--color-overlay);
backdrop-filter:blur(10px);
}

.text-center{text-align:center;}
.text-secondary{color:var(--color-text-secondary);}

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

.shadow-soft{box-shadow:var(--shadow-soft);}

.no-overflow{
overflow-x:hidden;
}