.seo-portfolio-page { background: #f4f1e9; color: #151513; }
.seo-portfolio-page .site-header { background: rgba(244, 241, 233, .96); }
.seo-kicker { margin: 0 0 1.25rem; color: #d93600; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.seo-hero { padding-top: clamp(8rem, 14vw, 12rem); padding-bottom: 5rem; }
.seo-hero-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(18rem, .7fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; }
.seo-hero h1, .seo-case h2, .seo-systems h2, .seo-outcomes h2, .seo-contact h2 { font-family: "Source Serif 4", Georgia, serif; font-weight: 500; letter-spacing: -.045em; line-height: .95; }
.seo-hero h1 { max-width: 880px; margin: 0; font-size: clamp(3.4rem, 7.4vw, 7.5rem); }
.seo-intro { padding-bottom: .35rem; }
.seo-intro p { margin: 0 0 1.75rem; color: #514b43; font-size: 1.05rem; line-height: 1.7; }
.seo-proof { display: grid; grid-template-columns: repeat(3, 1fr); margin: 5rem 0 0; border-top: 1px solid #bdb6aa; border-bottom: 1px solid #d4cec3; }
.seo-proof div { padding: 2rem 1.5rem; border-right: 1px solid #d4cec3; }
.seo-proof div:last-child { border-right: 0; }
.seo-proof dt { font-family: "Source Serif 4", Georgia, serif; font-size: clamp(2.6rem, 5vw, 4.8rem); line-height: 1; }
.seo-proof dd { margin: .55rem 0 0; color: #665f56; font-size: .8rem; }
.seo-case { padding: 6rem 0; background: #151513; color: #fff; }
.seo-case .seo-kicker { color: #ff5a1f; }
.seo-case-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; padding-bottom: 2.4rem; border-bottom: 1px solid #464540; }
.seo-case-heading h2 { margin: 0 0 .5rem; font-size: clamp(3.2rem, 6vw, 6rem); }
.seo-case-heading p { margin: 0; color: #bbb8b1; }
.seo-case-heading a, .seo-system-grid a { color: inherit; font-weight: 700; text-underline-offset: .35rem; }
.seo-case-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 7vw, 7rem); padding-top: 3.5rem; }
.seo-case-story h3 { margin: 0 0 .75rem; font-family: "Source Serif 4", Georgia, serif; font-size: 2rem; font-weight: 500; }
.seo-case-story h3:not(:first-child) { margin-top: 2rem; }
.seo-case-story p, .seo-case-story li, .seo-evidence li { color: #c9c6bf; line-height: 1.65; }
.seo-case-story ul, .seo-evidence ul, .seo-system-grid ul { padding-left: 1.15rem; }
.seo-evidence { padding: 2rem; background: #242421; border-top: 3px solid #ff4500; }
.seo-evidence > p { margin-top: 0; font-weight: 700; }
.seo-evidence small { color: #8f8b84; }
.seo-systems { padding-top: 6.5rem; padding-bottom: 6.5rem; }
.seo-systems > h2, .seo-outcomes h2 { max-width: 900px; margin: 0 0 3rem; font-size: clamp(3rem, 5.5vw, 5.6rem); }
.seo-system-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid #aaa397; }
.seo-system-grid article { padding: 2.5rem 3rem 2.5rem 0; }
.seo-system-grid article + article { padding-left: 3rem; border-left: 1px solid #d0c9be; }
.seo-system-grid header p { margin: 0 0 .6rem; color: #d93600; font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.seo-system-grid h3 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: 2.6rem; font-weight: 500; }
.seo-system-grid li { margin-bottom: .65rem; color: #514b43; line-height: 1.55; }
.seo-outcomes { padding: 6rem 0; background: #e7e0d3; }
.outcome-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #aaa397; border-bottom: 1px solid #aaa397; }
.outcome-list article { padding: 2rem; border-right: 1px solid #bcb4a7; }
.outcome-list article:last-child { border-right: 0; }
.outcome-list h3 { margin: 0 0 2.5rem; font-size: 1rem; }
.outcome-list strong { display: block; font-family: "Source Serif 4", Georgia, serif; font-size: 4rem; font-weight: 500; line-height: 1; }
.outcome-list p { margin: .6rem 0 1.5rem; }
.outcome-list span { color: #665f56; font-size: .85rem; }
.seo-note { max-width: 850px; margin: 2.5rem 0 0; color: #665f56; font-size: .8rem; line-height: 1.6; }
.seo-contact { padding-top: 6rem; padding-bottom: 7rem; }
.seo-contact > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3rem; align-items: end; }
.seo-contact h2 { max-width: 800px; margin: 0; font-size: clamp(3rem, 5vw, 5.4rem); }
@media (max-width: 800px) {
  .seo-hero-grid, .seo-case-grid, .seo-system-grid, .seo-contact > div { grid-template-columns: 1fr; }
  .seo-hero { padding-top: 7rem; }
  .seo-hero h1 { font-size: clamp(3rem, 14vw, 4.9rem); }
  .seo-proof { grid-template-columns: 1fr; margin-top: 3.25rem; }
  .seo-proof div { border-right: 0; border-bottom: 1px solid #d4cec3; }
  .seo-proof div:last-child { border-bottom: 0; }
  .seo-case-heading { display: block; }
  .seo-case-heading a { display: inline-block; margin-top: 1.5rem; }
  .seo-system-grid article, .seo-system-grid article + article { padding: 2rem 0; border-left: 0; }
  .seo-system-grid article + article { border-top: 1px solid #d0c9be; }
  .outcome-list { grid-template-columns: 1fr; }
  .outcome-list article { border-right: 0; border-bottom: 1px solid #bcb4a7; }
  .outcome-list article:last-child { border-bottom: 0; }
  .seo-contact .button { justify-self: start; }
}
@media (max-width: 480px) {
  .seo-case, .seo-outcomes { padding: 4.5rem 0; }
  .seo-evidence, .outcome-list article { padding: 1.5rem; }
  .seo-system-grid h3 { font-size: 2.15rem; }
}
@media (prefers-reduced-motion: reduce) { .seo-portfolio-page * { scroll-behavior: auto !important; } }
