:root {
--rc-wine: #5c0f1d;
--rc-wine-deep: #3a0912;
--rc-gold: #e4ad58;
--rc-gold-soft: #f0cf9a;
--rc-cream: #f4ead6;
--rc-paper: #faf4e8;
--rc-ink: #2a161a;
}

body {
font-family: 'Libre Franklin', sans-serif;
background-color: var(--rc-paper);
color: var(--rc-ink);
line-height: 1.8;
}

h1, h2, h3, .brand-text, .footer-brand, .section-mark {
font-family: 'Fraunces', serif;
}

.text-wine { color: var(--rc-wine) !important; }
.text-cream { color: var(--rc-cream) !important; }

.kicker {
display: inline-block;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--rc-wine);
}

.kicker-gold {
background: var(--rc-wine);
color: var(--rc-gold-soft);
padding: 0.35rem 1rem;
border-radius: 0.25rem;
margin-bottom: 0.75rem;
}

.kicker-card {
color: var(--rc-gold);
}

.navbar-rc {
background: rgba(250, 244, 232, 0.94);
backdrop-filter: blur(10px);
border-bottom: 3px double var(--rc-wine);
transition: box-shadow 0.3s ease;
}

.navbar-scrolled {
box-shadow: 0 6px 24px rgba(58, 9, 18, 0.2);
}

.logo-nav {
width: 46px;
height: 46px;
object-fit: cover;
border: 2px solid var(--rc-gold);
}

.brand-text {
font-weight: 900;
font-size: 1.3rem;
color: var(--rc-wine);
}

.nav-rc {
color: var(--rc-ink);
font-weight: 600;
font-size: 0.85rem;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 0.4rem 0.9rem !important;
border-bottom: 2px solid transparent;
transition: color 0.2s ease, border-color 0.2s ease;
}

.nav-rc:hover, .nav-rc:focus {
color: var(--rc-wine);
border-bottom-color: var(--rc-gold);
}

.btn-rc {
background: var(--rc-wine);
color: var(--rc-cream);
border: none;
border-radius: 0.25rem;
font-weight: 700;
letter-spacing: 0.03em;
transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.btn-rc:hover, .btn-rc:focus {
background: var(--rc-wine-deep);
color: var(--rc-gold-soft);
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(58, 9, 18, 0.35);
}

.btn-outline-rc {
border: 2px solid var(--rc-wine);
color: var(--rc-wine);
border-radius: 0.25rem;
font-weight: 700;
transition: all 0.2s ease;
}

.btn-outline-rc:hover, .btn-outline-rc:focus {
background: var(--rc-wine);
color: var(--rc-cream);
transform: translateY(-2px);
}

.btn-gold-rc {
background: var(--rc-gold);
color: var(--rc-wine-deep);
border: none;
border-radius: 0.25rem;
font-weight: 700;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-gold-rc:hover, .btn-gold-rc:focus {
background: var(--rc-gold-soft);
color: var(--rc-wine-deep);
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(228, 173, 88, 0.4);
}

.btn-outline-cream-rc {
border: 2px solid var(--rc-cream);
color: var(--rc-cream);
border-radius: 0.25rem;
font-weight: 700;
transition: all 0.2s ease;
}

.btn-outline-cream-rc:hover, .btn-outline-cream-rc:focus {
background: var(--rc-cream);
color: var(--rc-wine-deep);
transform: translateY(-2px);
}

.masthead {
min-height: 100vh;
display: flex;
align-items: center;
padding-top: 8rem;
padding-bottom: 4rem;
background: linear-gradient(160deg, var(--rc-paper) 0%, var(--rc-cream) 60%, var(--rc-gold-soft) 140%);
}

.masthead-rule {
border-top: 3px double var(--rc-wine);
border-bottom: 1px solid var(--rc-wine);
padding: 0.5rem 0;
}

.masthead-title {
font-weight: 900;
color: var(--rc-wine);
line-height: 0.98;
letter-spacing: -0.02em;
}

.masthead-sub {
color: var(--rc-wine-deep);
font-weight: 500;
border-left: 4px solid var(--rc-gold);
padding-left: 1rem;
}

.logo-figure {
max-width: 320px;
background: var(--rc-paper);
padding: 1rem;
border: 1px solid var(--rc-gold);
box-shadow: 8px 8px 0 var(--rc-wine);
}

.logo-hero {
border-radius: 0.25rem;
}

.caption-rc {
color: var(--rc-wine);
font-size: 0.82rem;
font-style: italic;
}

.section-rc {
padding: 6rem 0;
border-top: 1px solid rgba(92, 15, 29, 0.15);
}

.section-ink {
background: var(--rc-cream);
}

.section-paper {
background: var(--rc-paper);
}

.section-title {
font-weight: 700;
color: var(--rc-wine);
border-bottom: 4px solid var(--rc-gold);
display: inline-block;
padding-bottom: 0.35rem;
}

.section-mark {
font-size: 5rem;
font-weight: 900;
color: rgba(92, 15, 29, 0.12);
line-height: 1;
}

.lead-p {
font-size: 1.12rem;
font-weight: 500;
color: var(--rc-wine-deep);
}

.dropcap::first-letter {
font-family: 'Fraunces', serif;
font-size: 3.6rem;
font-weight: 900;
line-height: 0.9;
color: var(--rc-wine);
float: left;
padding-right: 0.6rem;
padding-top: 0.35rem;
}

.figure-rc {
background: var(--rc-paper);
border: 1px solid var(--rc-gold);
padding: 0.8rem;
box-shadow: 6px 6px 0 rgba(92, 15, 29, 0.85);
transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.figure-rc:hover {
transform: translateY(-6px);
box-shadow: 10px 12px 0 rgba(92, 15, 29, 0.85);
}

.figure-tilt {
transform: rotate(1.5deg);
}

.figure-tilt:hover {
transform: rotate(0deg) translateY(-6px);
}

.figure-tilt-rev {
transform: rotate(-1.5deg);
}

.figure-tilt-rev:hover {
transform: rotate(0deg) translateY(-6px);
}

.img-rc {
width: 100%;
aspect-ratio: 3 / 2;
object-fit: cover;
display: block;
border-radius: 0.15rem;
}

.card-rc {
border: 1px solid var(--rc-gold);
border-radius: 0.4rem;
overflow: hidden;
background: var(--rc-paper);
box-shadow: 8px 8px 0 rgba(92, 15, 29, 0.85);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-rc:hover {
transform: translateY(-8px);
box-shadow: 12px 14px 0 rgba(92, 15, 29, 0.85);
}

.img-frame-rc {
position: relative;
}

.img-frame-rc .img-rc {
border-radius: 0;
}

.img-tag {
position: absolute;
top: 1rem;
left: 1rem;
background: var(--rc-wine);
color: var(--rc-gold-soft);
padding: 0.3rem 0.9rem;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
border-radius: 0.2rem;
}

.card-title-rc {
color: var(--rc-wine);
font-weight: 700;
}

.rule-gold {
border: none;
border-top: 3px solid var(--rc-gold);
opacity: 1;
width: 64px;
margin: 0.75rem 0 1.25rem;
}

.feature-rc {
display: flex;
align-items: flex-start;
gap: 1rem;
background: #ffffff;
border: 1px solid var(--rc-gold);
border-left: 5px solid var(--rc-wine);
padding: 1.1rem 1.25rem;
border-radius: 0.3rem;
box-shadow: 4px 4px 0 rgba(92, 15, 29, 0.18);
transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.feature-rc:hover {
transform: translateY(-4px);
box-shadow: 6px 8px 0 rgba(92, 15, 29, 0.3);
}

.feature-ic {
font-size: 1.5rem;
color: var(--rc-gold);
background: var(--rc-wine);
width: 48px;
height: 48px;
flex: 0 0 auto;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 50%;
}

.feature-title {
color: var(--rc-wine);
font-weight: 700;
margin-bottom: 0.15rem;
}

.cta-rc {
background: linear-gradient(150deg, var(--rc-wine) 0%, var(--rc-wine-deep) 100%);
color: var(--rc-cream);
padding: 6rem 0;
position: relative;
}

.cta-rc::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 6px;
background: repeating-linear-gradient(90deg, var(--rc-gold) 0 40px, transparent 40px 60px);
}

.cta-rc .section-title {
color: var(--rc-cream);
border-bottom-color: var(--rc-gold);
}

.cta-rc .kicker-gold {
background: var(--rc-gold);
color: var(--rc-wine-deep);
}

.cta-text {
max-width: 620px;
color: var(--rc-gold-soft);
}

.footer-rc {
background: var(--rc-wine-deep);
color: var(--rc-cream);
padding: 3.5rem 0 2.5rem;
border-top: 5px solid var(--rc-gold);
}

.logo-footer {
width: 76px;
height: 76px;
object-fit: cover;
border: 2px solid var(--rc-gold);
}

.footer-brand {
font-size: 1.6rem;
font-weight: 900;
}

.social-rc {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 50%;
border: 1px solid var(--rc-gold);
color: var(--rc-gold-soft);
font-size: 1.25rem;
transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.social-rc:hover {
background: var(--rc-gold);
color: var(--rc-wine-deep);
transform: translateY(-3px);
}

.footer-note {
color: rgba(244, 234, 214, 0.6);
max-width: 640px;
margin: 0 auto;
}

::selection {
background: var(--rc-wine);
color: var(--rc-gold-soft);
}
