/* FYC Law: one palette and type system, shared by the skill's layout and motion layers. */
:root {
  --p-bg: #f5f0ee; --p-surface: #e9dedf; --p-ink: #35272b; --p-muted: #6d5a5f;
  --p-accent: #762d3c; --p-accent-ink: #ffffff; --p-action: #762d3c; --p-action-ink: #ffffff;
  --p-inv-bg: #3b252c; --p-inv-surface: #4a3038; --p-inv-ink: #f5f0ee; --p-inv-muted: #c9b8bc;
  --p-inv-accent: #f5f0ee; --p-inv-accent-ink: #35272b; --p-inv-action: #f5f0ee; --p-inv-action-ink: #35272b;
  --font-display: "Source Serif 4", Georgia, serif;
  --font-text: "Libre Franklin", system-ui, sans-serif;
  --display-weight: 400;
  --display-tracking: -0.02em;
  --display-tracking-xl: -0.026em;
}

.practice-list h3 { font-size: var(--t-h3); margin: 0 0 var(--s-2); }
.practice-list p { margin: 0; font-size: var(--t-body); line-height: 1.6; }
.practice-list li { padding-block: var(--s-5); }
.develop { margin: 0; }
.develop img { display: block; width: 100%; height: 100%; object-fit: cover; }
.footer__col h3 { font-family: var(--font-text); font-size: var(--t-body); font-weight: 500; margin-bottom: var(--s-5); }
.footer-grid { align-items: start; }
.footer-identity h2 { max-width: 14ch; margin: 0 0 var(--s-3); font-size: clamp(30px, 3vw, 42px); line-height: 1.12; }
.footer-kicker { margin: 0 0 var(--s-5); color: var(--p-accent); font-size: var(--t-label); font-weight: 600; letter-spacing: .08em; }
.footer-location { margin: 0; color: var(--muted); font-size: var(--t-body); }
.footer-contact { display: grid; justify-items: start; gap: var(--s-2); margin-top: var(--s-5); font-style: normal; }
.footer-contact a { color: inherit; text-underline-offset: .2em; }
.footer-contact a:hover { color: var(--p-accent); }
.footer-grid .footer__col { grid-column: 8 / span 4; }
.footer-grid .footer__col ul { gap: var(--s-4); }
.footer-grid .footer__col a { display: inline-block; padding-block: var(--s-1); }
.credits-page { padding-block: var(--s-8); max-width: 900px; }
.credits-page h1 { margin-block: var(--s-7); }
.credits-page li { margin-bottom: var(--s-5); }

@media (max-width: 1023px) {
  #practice { --h: 2; }
  .footer-grid .footer__col { grid-column: 8 / span 5; }
  #practice > .wrap { display: grid; grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); row-gap: calc(var(--padt) + var(--padb)); }
  #practice > .wrap > .develop { align-self: stretch; min-height: 0; }
}
@media (min-width: 640px) and (max-width: 1023px) {
  #practice { --h: 1; height: 100svh; min-height: 0; display: block; }
  #practice > .wrap { height: 100%; grid-template-rows: auto minmax(0, 1fr); row-gap: var(--s-5); }
  #practice .practice-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-5); }
  #practice .practice-list li { padding-block: var(--s-4); }
}
@media (max-width: 639px) {
  #practice { --hm: 2; }
  .footer-grid .footer__col { grid-column: 1 / -1; }
  .footer-identity { margin-bottom: var(--s-6); }
}
