/* Base (variables, reset, typography, utilities) */
:root {
  --primary-color:#800020;--primary-light:#a0002a;--primary-dark:#600018;--accent-color:#ffd700;--accent-light:#fff44f;--accent-dark:#e6c200;--text-dark:#2b2b2b;--text-light:#f0f0f0;--background-light:#f8f5f2;--white:#ffffff;--shadow-light:rgba(0,0,0,.1);--shadow-medium:rgba(0,0,0,.15);--shadow-heavy:rgba(0,0,0,.25);--transition-fast:.2s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;--radius-sm:8px;--radius:15px;--radius-lg:25px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-family:'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.6;color:var(--text-dark);background:var(--background-light);min-width:320px;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-top:90px}
img{max-width:100%;display:block;height:auto}
section{padding:4rem 0}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}
@media (min-width:768px){.container{padding:0 2rem}}@media (min-width:1024px){.container{padding:0 3rem}}

h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;font-weight:600;line-height:1.2;margin-bottom:1rem}
h1{font-size:clamp(2.2rem,6vw,4rem)}h2{font-size:clamp(1.8rem,5vw,2.5rem)}h3{font-size:clamp(1.3rem,4vw,1.75rem)}p{margin-bottom:1rem;line-height:1.6}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: inherit;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: var(--btn-primary-bg, var(--brand-gradient-primary));
    color: var(--btn-primary-color, #ffffff);
}

.btn:hover {
    transform: var(--hover-transform, translateY(-2px) scale(1.02));
    box-shadow: var(--brand-shadow-medium);
}

.btn-secondary {
    background: var(--btn-secondary-bg, rgba(255, 255, 255, 0.1));
    color: var(--btn-secondary-color, #ffffff);
    border: 2px solid var(--btn-secondary-border, rgba(255, 255, 255, 0.3));
}

.btn-secondary:hover {
    background: var(--btn-secondary-hover-bg, rgba(255, 255, 255, 0.2));
    border-color: var(--brand-saffron);
    color: var(--brand-saffron);
}
.btn-primary{background:linear-gradient(135deg,var(--primary-color),#b87333,var(--primary-light));color:#fff}
.btn-primary:hover{transform:translateY(-3px);filter:brightness(1.05)}
.btn-secondary{background:rgba(255,255,255,.12);color:#fff;border:2px solid rgba(255,255,255,.25);backdrop-filter:blur(10px)}
.btn-secondary:hover{background:rgba(255,255,255,.22);color:var(--accent-color)}

.hidden{display:none!important}
/* Visually hidden (accessible) */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
