:root {
--fc-ink: #201d1a;
--fc-ink-soft: #4a443d;
--fc-terra: #b5502a;
--fc-terra-soft: #d99a7c;
--fc-paper: #faf7f1;
--fc-sand: #efe9dd;
--fc-line: #ddd3c4;
--fc-sage: #6b7154;
}

body {
font-family: 'Inter', sans-serif;
background-color: var(--fc-paper);
color: var(--fc-ink);
line-height: 1.9;
font-weight: 400;
}

h1, h2, h3, .brand-text, .footer-brand {
font-family: 'Cormorant Garamond', serif;
}

.text-ink { color: var(--fc-ink) !important; }
.text-terra { color: var(--fc-terra) !important; }

.navbar-fc {
background: rgba(250, 247, 241, 0.96);
backdrop-filter: blur(8px);
border-bottom: 1px solid var(--fc-line);
transition: box-shadow 0.3s ease;
}

.navbar-scrolled {
box-shadow: 0 4px 18px rgba(32, 29, 26, 0.08);
}

.logo-nav {
width: 42px;
height: 42px;
object-fit: cover;
border: 1px solid var(--fc-line);
}

.brand-text {
font-weight: 700;
font-size: 1.3rem;
color: var(--fc-ink);
letter-spacing: 0.01em;
}

.nav-fc {
color: var(--fc-ink-soft);
font-weight: 500;
font-size: 0.8rem;
letter-spacing: 0.22em;
text-transform: uppercase;
padding: 0.4rem 0.9rem !important;
position: relative;
transition: color 0.2s ease;
}

.nav-fc::after {
content: "";
position: absolute;
left: 0.9rem;
right: 0.9rem;
bottom: 0;
height: 1px;
background: var(--fc-terra);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.25s ease;
}

.nav-fc:hover, .nav-fc:focus {
color: var(--fc-terra);
}

.nav-fc:hover::after, .nav-fc:focus::after {
transform: scaleX(1);
}

.link-fb {
color: var(--fc-terra);
font-weight: 600;
font-size: 0.8rem;
letter-spacing: 0.22em;
text-transform: uppercase;
text-decoration: none;
border: 1px solid var(--fc-terra);
padding: 0.45rem 1.2rem;
border-radius: 50rem;
transition: all 0.25s ease;
}

.link-fb:hover, .link-fb:focus {
background: var(--fc-terra);
color: var(--fc-paper);
}

.btn-fc {
background: var(--fc-ink);
color: var(--fc-paper);
border: 1px solid var(--fc-ink);
border-radius: 50rem;
font-weight: 500;
letter-spacing: 0.06em;
padding: 0.7rem 1.9rem;
transition: all 0.25s ease;
}

.btn-fc:hover, .btn-fc:focus {
background: var(--fc-terra);
border-color: var(--fc-terra);
color: var(--fc-paper);
transform: translateY(-2px);
}

.btn-outline-fc {
border: 1px solid var(--fc-ink);
color: var(--fc-ink);
border-radius: 50rem;
font-weight: 500;
letter-spacing: 0.06em;
padding: 0.7rem 1.9rem;
transition: all 0.25s ease;
}

.btn-outline-fc:hover, .btn-outline-fc:focus {
border-color: var(--fc-terra);
color: var(--fc-terra);
background: transparent;
transform: translateY(-2px);
}

.eyebrow {
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.28em;
text-transform: uppercase;
color: var(--fc-terra);
}

.eyebrow-sm {
font-size: 0.7rem;
}

.hero-fc {
min-height: 100vh;
display: flex;
align-items: center;
padding: 8rem 0 5rem;
background: var(--fc-paper);
}

.logo-hero {
width: 120px;
height: 120px;
object-fit: cover;
border: 1px solid var(--fc-line);
padding: 4px;
background: #ffffff;
}

.hero-title {
font-weight: 600;
font-size: clamp(3.2rem, 8vw, 6rem);
line-height: 1.02;
color: var(--fc-ink);
letter-spacing: -0.01em;
}

.hero-title em {
color: var(--fc-terra);
font-weight: 500;
}

.hero-sub {
color: var(--fc-ink-soft);
font-weight: 400;
max-width: 520px;
}

.rule-center {
border: none;
border-top: 1px solid var(--fc-ink);
opacity: 1;
width: 72px;
margin-left: auto;
margin-right: auto;
}

.rule-left {
border: none;
border-top: 1px solid var(--fc-ink);
opacity: 1;
width: 72px;
margin: 0.9rem 0 0;
}

.rule-sm {
width: 48px;
border-top-color: var(--fc-terra);
}

.rule-faint {
border-top-color: var(--fc-line);
}

.section-fc {
padding: 7rem 0;
border-top: 1px solid var(--fc-line);
}

.section-tint {
background: var(--fc-sand);
}

.section-title {
font-weight: 700;
font-size: clamp(2.2rem, 4.5vw, 3.2rem);
color: var(--fc-ink);
line-height: 1.1;
}

.lead-fc {
font-size: 1.15rem;
font-weight: 500;
color: var(--fc-ink);
}

.dropcap::first-letter {
font-family: 'Cormorant Garamond', serif;
font-size: 4rem;
font-weight: 700;
line-height: 0.85;
color: var(--fc-terra);
float: left;
padding-right: 0.7rem;
padding-top: 0.35rem;
}

.figure-fc {
margin: 0;
}

.img-fc {
width: 100%;
object-fit: cover;
display: block;
border: 1px solid var(--fc-line);
border-radius: 0.25rem;
transition: filter 0.4s ease;
}

.figure-fc .img-fc {
aspect-ratio: 16 / 9;
}

.article-fc .img-fc {
aspect-ratio: 3 / 2;
}

.img-fc:hover {
filter: brightness(1.04) saturate(1.05);
}

.caption-fc {
color: var(--fc-ink-soft);
font-size: 0.82rem;
font-style: italic;
}

.article-fc {
padding: 3rem 0;
border-top: 1px solid var(--fc-line);
}

.article-fc:first-of-type {
border-top: none;
padding-top: 0;
}

.article-title {
font-weight: 700;
font-size: clamp(1.7rem, 3vw, 2.3rem);
color: var(--fc-ink);
line-height: 1.15;
}

.cta-fc {
padding: 7rem 0;
background: var(--fc-paper);
border-top: 1px solid var(--fc-line);
}

.cta-text {
color: var(--fc-ink-soft);
max-width: 560px;
}

.footer-fc {
background: var(--fc-sand);
border-top: 1px solid var(--fc-line);
padding: 4rem 0 3rem;
}

.logo-footer {
width: 68px;
height: 68px;
object-fit: cover;
border: 1px solid var(--fc-line);
padding: 3px;
background: #ffffff;
}

.footer-brand {
font-size: 1.5rem;
font-weight: 700;
color: var(--fc-ink);
}

.footer-tag {
color: var(--fc-terra);
}

.social-fc {
display: inline-flex;
align-items: center;
justify-content: center;
width: 46px;
height: 46px;
border-radius: 50%;
border: 1px solid var(--fc-ink);
color: var(--fc-ink);
font-size: 1.15rem;
transition: all 0.25s ease;
}

.social-fc:hover {
background: var(--fc-terra);
border-color: var(--fc-terra);
color: var(--fc-paper);
transform: translateY(-3px);
}

.footer-note {
color: var(--fc-ink-soft);
max-width: 620px;
margin: 0 auto;
}

::selection {
background: var(--fc-terra);
color: var(--fc-paper);
}
