/* Fox Curriculum page: follows foxcurriculum.com (Patrick Hand headings, Source Sans 3 body, orange-led). */
@font-face { font-family: "Patrick Hand"; src: url("PatrickHand-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("SourceSans3-VF.woff2") format("woff2"); font-weight: 200 900; font-display: swap; }

.brand-curriculum {
  --paper: #fdf6ea;
  --wobble: 14px 7px 17px 8px / 8px 18px 7px 15px;
  --wobble-sm: 9px 5px 11px 6px / 6px 11px 5px 9px;
  font-family: "Source Sans 3", var(--body);
  --display: "Patrick Hand", "Source Sans 3", sans-serif;
}
.brand-curriculum main { color: var(--ink); }

.fc-hero { padding: clamp(32px, 5vw, 64px) 0 clamp(48px, 6vw, 80px); overflow: hidden; }
.fc-hero .wrap { display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.fc-badge {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ink-soft); background: var(--paper);
  border: 1.5px solid rgba(28, 23, 13, 0.45); border-radius: var(--wobble-sm);
  padding: 8px 16px; margin: 0 0 22px;
}
.fc-hero .wordmark { height: clamp(28px, 3vw, 40px); margin-bottom: 26px; }
.fc-hero h1 {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(2.6rem, 5.4vw, 4.2rem); line-height: 1.05; letter-spacing: -0.015em;
  margin: 0 0 0.3em; max-width: 14ch;
}
.fc-hero h1 em { font-family: var(--display); font-style: normal; color: var(--orange-dark); text-decoration: underline; text-decoration-color: var(--orange); text-decoration-thickness: 0.08em; text-underline-offset: 0.12em; }
.fc-hero .lead { font-size: 1.12rem; max-width: 50ch; margin: 0 0 28px; }
.fc-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.fc-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 26px; border-radius: var(--wobble-sm);
  font-weight: 600; font-size: 0.95rem; text-decoration: none;
  border: 2px solid var(--ink); box-shadow: 3px 4px 0 rgba(28, 23, 13, 0.14);
  transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.fc-btn:hover { transform: translate(-1px, -1px); }
.fc-btn.primary { background: var(--ink); color: var(--cream-soft); }
.fc-btn.primary:hover { background: var(--orange-dark); border-color: var(--orange-dark); }
.fc-btn.outline { background: transparent; color: var(--ink); }
.fc-btn.outline:hover { background: var(--cream-soft); }
.fc-art { margin: 0; position: relative; }
.fc-art img { width: 100%; height: auto; border-radius: var(--wobble); }

.fc-section { padding: clamp(56px, 8vw, 96px) 0; }
.fc-section.alt { background: var(--cream-soft); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.fc-section h2 { font-family: var(--display); font-weight: 400; font-size: clamp(1.8rem, 3.2vw, 2.6rem); line-height: 1.12; margin: 0 0 12px; max-width: 22ch; }
.fc-section .intro { margin: 0 0 clamp(28px, 4vw, 44px); max-width: 60ch; }
.fc-kicker { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--orange-dark); margin: 0 0 10px; }

.fc-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.fc-card { background: var(--paper); border: 1.5px solid rgba(28, 23, 13, 0.3); border-radius: var(--wobble); padding: 26px 28px; }
.fc-card h3 { font-family: var(--display); font-weight: 400; font-size: 1.35rem; line-height: 1.2; margin: 0 0 10px; color: var(--orange-dark); }
.fc-card p { margin: 0; font-size: 0.97rem; }

.fc-work { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.fc-work article { border-top: 3px solid var(--orange); padding-top: 18px; }
.fc-work .tag { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 8px; }
.fc-work h3 { font-family: var(--display); font-weight: 400; font-size: 1.3rem; line-height: 1.2; margin: 0 0 10px; }
.fc-work p { margin: 0 0 10px; font-size: 0.95rem; }
.fc-work strong { color: var(--orange-dark); }

.fc-proof { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.fc-proof img { width: 100%; height: auto; border: 2px solid var(--ink); }
.fc-quote { font-family: var(--display); font-style: normal; font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: 1.15; margin: 0 0 12px; }
.fc-proof blockquote { margin: 22px 0 0; padding: 0 0 0 0; }
.fc-proof blockquote p { margin: 0; font-size: 1.02rem; }
.fc-proof cite { display: block; font-style: normal; font-size: 0.85rem; color: var(--ink-soft); margin-top: 6px; }

@media (max-width: 900px) {
  .fc-hero .wrap, .fc-proof { grid-template-columns: 1fr; }
  .fc-art { max-width: 460px; }
  .fc-services, .fc-work { grid-template-columns: 1fr; }
}
.brand-curriculum .close h2 { font-family: var(--display); line-height: 1.12; font-size: clamp(1.8rem, 3.2vw, 2.6rem); }
.brand-curriculum .box { border-color: var(--orange-dark); color: var(--orange-dark); }

@media (max-width: 700px) {
  .fc-badge, .fc-kicker { font-size: 0.84rem; letter-spacing: 0.08em; }
  .fc-work .tag { font-size: 0.82rem; }
  .fc-proof cite { font-size: 0.88rem; }
  .fc-work + p a { display: inline-block; padding: 11px 0; }
}
