:root {
  --gc-bg: #ece1c8;
  --gc-bg-deep: #261a10;
  --gc-panel: #f6edd8;
  --gc-panel-soft: #efe2c5;
  --gc-panel-strong: #d6bf91;
  --gc-text: #2b1b10;
  --gc-muted: #745b3e;
  --gc-muted-strong: #4f3925;
  --gc-accent: #7b1f17;
  --gc-accent-strong: #4b1510;
  --gc-outline: rgba(62, 42, 25, 0.3);
  --gc-outline-strong: rgba(62, 42, 25, 0.5);
  --gc-shadow: 0 26px 60px rgba(43, 27, 16, 0.22);
  --gc-victorian-ink: #261a10;
  --gc-victorian-brown: #5b3b22;
  --gc-victorian-red: #7b1f17;
  --gc-victorian-gold: #b78b3f;
  --gc-victorian-paper: #f6edd8;
  --gc-victorian-paper-deep: #e5d2aa;
}

html {
  background: var(--gc-victorian-ink);
}

body.gc-body,
.gc-internal-body {
  color: var(--gc-text);
  background:
    radial-gradient(circle at 18% 4%, rgba(123, 31, 23, 0.12), transparent 24rem),
    radial-gradient(circle at 86% 10%, rgba(183, 139, 63, 0.18), transparent 22rem),
    repeating-linear-gradient(0deg, rgba(38, 26, 16, 0.035) 0 1px, transparent 1px 28px),
    repeating-linear-gradient(90deg, rgba(38, 26, 16, 0.025) 0 1px, transparent 1px 34px),
    linear-gradient(180deg, #f4ead4 0%, #e7d5b3 48%, #ddc69a 100%);
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}

body.gc-body::before,
.gc-internal-body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 18%, rgba(38, 26, 16, 0.09), transparent 16rem),
    radial-gradient(circle at 80% 22%, rgba(38, 26, 16, 0.07), transparent 18rem),
    repeating-linear-gradient(112deg, transparent 0 8px, rgba(38, 26, 16, 0.018) 8px 9px);
  mix-blend-mode: multiply;
  opacity: 0.86;
}

main,
.gc-header,
.gc-footer,
.gc-internal-nav,
.gc-internal-main {
  position: relative;
  z-index: 1;
}

a {
  color: var(--gc-victorian-red);
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(123, 31, 23, 0.55);
}

.gc-shell {
  width: min(1180px, calc(100% - 2rem));
}

.gc-header,
.gc-internal-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  background:
    linear-gradient(180deg, rgba(246, 237, 216, 0.96), rgba(229, 210, 170, 0.96)),
    var(--gc-victorian-paper);
  border-bottom: 3px double rgba(62, 42, 25, 0.72);
  box-shadow: 0 18px 34px rgba(38, 26, 16, 0.16);
}

.gc-nav {
  min-height: 5.4rem;
}

.gc-brand,
.gc-brand:visited,
.gc-internal-brand {
  position: relative;
  color: var(--gc-victorian-ink);
  font-family: Metropolis, "Josefin Sans", Inter, system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-decoration: none;
  text-transform: uppercase;
}

.gc-brand::after,
.gc-internal-brand::after {
  content: "";
  display: block;
  height: 2px;
  margin-top: 0.38rem;
  background: linear-gradient(90deg, transparent, var(--gc-victorian-red), var(--gc-victorian-gold), transparent);
}

.gc-nav-links a,
.gc-footer a,
.gc-internal-links a {
  color: var(--gc-muted-strong);
  font-family: "Josefin Sans", Inter, system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}

.gc-nav-links a:hover,
.gc-footer a:hover,
.gc-internal-links a:hover {
  color: var(--gc-victorian-red);
}

.gc-nav-toggle span {
  background: var(--gc-victorian-ink);
}

.gc-button,
.gc-lead-form button,
.gc-admin-button,
.gc-copy-button {
  border: 3px double rgba(62, 42, 25, 0.72);
  border-radius: 0;
  background: var(--gc-victorian-paper);
  color: var(--gc-victorian-ink);
  font-family: "Josefin Sans", Inter, system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: inset 0 0 0 1px rgba(183, 139, 63, 0.32), 0 10px 18px rgba(38, 26, 16, 0.12);
}

.gc-button-primary,
.gc-lead-form button,
.gc-admin-button,
.gc-band .gc-lead-form button {
  background: linear-gradient(180deg, #8f2a1e, #5b1812);
  color: #fff7e4;
  border-color: rgba(38, 26, 16, 0.84);
}

.gc-button-secondary,
.gc-nav-icon,
.gc-copy-button {
  background: rgba(246, 237, 216, 0.84);
}

.gc-button:hover,
.gc-story-item:hover,
.gc-card:hover,
.gc-suite-card:hover,
.gc-testimonial:hover,
.gc-blog-card:hover,
.gc-card-summary:hover {
  transform: translateY(-1px);
}

.gc-section,
.gc-footer {
  background: transparent;
}

.gc-band,
.gc-section-muted,
.gc-blog-hero,
.gc-card-detail-hero,
.gc-admin-hero {
  background:
    linear-gradient(180deg, rgba(246, 237, 216, 0.9), rgba(229, 210, 170, 0.72));
}

.gc-band::before,
.gc-section-muted::before,
.gc-blog-hero::before {
  opacity: 0.28;
}

.gc-hero {
  padding: 5.2rem 0 6.8rem;
}

.gc-hero-grid,
.gc-manifesto-grid,
.gc-footer-grid {
  gap: 2.2rem;
}

.gc-story-shell > h1,
.gc-story-shell > h2,
.gc-story-shell > .gc-section-heading h2,
.gc-hero h1,
.gc-hero-copy h1,
.gc-section-heading h2,
.gc-blog-card h3,
.gc-article-shell h1,
.gc-article-shell h2,
.gc-about-person-card h3,
.gc-card-detail-hero h1,
.gc-admin-hero h1,
.gc-admin-panel h2 {
  color: var(--gc-victorian-ink);
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-shadow: none;
}

.gc-hero h1,
.gc-hero-copy h1 {
  max-width: 11ch;
  font-size: clamp(4.2rem, 9.4vw, 8rem);
  line-height: 0.84;
}

.gc-section-heading h2,
.gc-blog-card h3,
.gc-article-shell h1 {
  line-height: 0.98;
}

.gc-blog-card h3 {
  font-size: clamp(2.15rem, 3.1vw, 3rem);
}

.gc-article-shell h1 {
  font-size: clamp(3.4rem, 7.6vw, 6.4rem);
}

.gc-eyebrow,
.gc-kicker,
.gc-admin-kicker,
.gc-about-role,
.gc-blog-meta,
.gc-code-label {
  color: var(--gc-victorian-red);
  font-family: "Josefin Sans", Inter, system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.gc-eyebrow::before,
.gc-eyebrow::after {
  background: currentColor;
}

.gc-card,
.gc-story-item,
.gc-suite-card,
.gc-testimonial,
.gc-blog-card,
.gc-card-summary,
.gc-admin-panel,
.gc-lead-form,
.gc-article-shell,
.gc-about-person-card,
.gc-card-detail-panel {
  position: relative;
  border: 3px double rgba(62, 42, 25, 0.5);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(255, 249, 234, 0.76), rgba(235, 218, 182, 0.84)),
    var(--gc-victorian-paper);
  color: var(--gc-text);
  box-shadow: var(--gc-shadow);
}

.gc-card::before,
.gc-story-item::before,
.gc-suite-card::before,
.gc-testimonial::before,
.gc-blog-card::before,
.gc-card-summary::before,
.gc-admin-panel::before,
.gc-lead-form::before,
.gc-article-shell::before,
.gc-about-person-card::before,
.gc-card-detail-panel::before {
  content: "";
  position: absolute;
  inset: 0.5rem;
  border: 1px solid rgba(62, 42, 25, 0.2);
  pointer-events: none;
}

.gc-band .gc-takeaway-list li,
.gc-band .gc-principles li {
  border: 2px solid rgba(62, 42, 25, 0.5);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(255, 249, 234, 0.9), rgba(235, 218, 182, 0.92));
  color: var(--gc-victorian-ink);
  box-shadow: inset 0 0 0 1px rgba(183, 139, 63, 0.18), 0 12px 22px rgba(38, 26, 16, 0.12);
  font-weight: 600;
}

.gc-band .gc-takeaway-list li {
  padding-left: 2.7rem;
}

.gc-band .gc-takeaway-list li::before {
  left: 1.1rem;
  color: var(--gc-victorian-red);
}

.gc-principles strong,
.gc-takeaway-list .explanation {
  color: var(--gc-victorian-red);
}

.gc-blog-card,
.gc-card,
.gc-suite-card,
.gc-story-item,
.gc-testimonial {
  padding: 1.5rem;
}

.gc-blog-card-image,
.gc-about-photo,
.gc-article-hero-image,
.gc-card-detail-image {
  border: 2px solid rgba(62, 42, 25, 0.62);
  border-radius: 0;
  filter: sepia(0.22) contrast(0.96) saturate(0.82);
  box-shadow: 0 16px 30px rgba(38, 26, 16, 0.18);
}

.gc-blog-card-summary,
.gc-section-copy,
.gc-footer-copy,
.gc-card p,
.gc-story-item p,
.gc-suite-card p,
.gc-testimonial p,
.gc-article-shell p,
.gc-article-shell li,
.gc-about-person-card p,
.gc-card-detail-panel p,
.gc-admin-copy,
.gc-admin-muted {
  color: var(--gc-muted-strong);
  font-size: 1.08rem;
  line-height: 1.65;
}

.gc-blog-read-more,
.gc-link,
.gc-card-link {
  color: var(--gc-victorian-red);
  font-family: "Josefin Sans", Inter, system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration-thickness: 1px;
}

.gc-code-window,
.gc-code-block,
pre,
code {
  border-color: rgba(62, 42, 25, 0.38);
  background: #2a1b10;
  color: #f7ecd2;
}

.gc-lead-form input,
.gc-lead-form textarea,
.gc-admin-input,
.gc-admin-textarea,
.gc-admin-select {
  border: 1px solid rgba(62, 42, 25, 0.42);
  border-radius: 0;
  background: rgba(255, 249, 234, 0.72);
  color: var(--gc-victorian-ink);
  font-family: "Cormorant Garamond", Georgia, serif;
}

.gc-theme-option {
  border-color: rgba(62, 42, 25, 0.28);
  background: rgba(246, 237, 216, 0.78);
  color: var(--gc-muted-strong);
}

.gc-theme-option:hover,
.gc-theme-option:focus-visible,
.gc-theme-option[aria-pressed="true"] {
  border-color: rgba(123, 31, 23, 0.55);
  background: rgba(229, 210, 170, 0.82);
  color: var(--gc-victorian-ink);
}

.gc-footer {
  border-top: 3px double rgba(62, 42, 25, 0.48);
}

.gc-footer-bottom {
  border-top-color: rgba(62, 42, 25, 0.28);
}

@media (max-width: 760px) {
  .gc-nav-panel {
    background: var(--gc-victorian-paper);
    border: 3px double rgba(62, 42, 25, 0.56);
  }

  .gc-blog-card,
  .gc-card,
  .gc-suite-card,
  .gc-story-item,
  .gc-testimonial {
    padding: 1.1rem;
  }
}
