*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; background: #F5F0E8; color: #2C2A24; -webkit-font-smoothing: antialiased; }

/* NAV */
.ss-nav { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 3rem; border-bottom: 0.5px solid #D4CCBB; position: sticky; top: 0; background: #F5F0E8; z-index: 100; }
.ss-logo { font-family: 'Cormorant Garamond', serif; font-size: 24px; font-weight: 500; letter-spacing: 0.04em; color: #2C2A24; text-decoration: none; }
.ss-nav-links { display: flex; align-items: center; gap: 2rem; }
.ss-nav-link { font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 600; color: #5C5448; text-decoration: none; transition: color 0.2s; }
.ss-nav-link:hover { color: #2C2A24; }
.ss-nav-link.is-active { color: #B85C38; }

.ss-btn { font-family: 'DM Sans', sans-serif; font-size: 17px; font-weight: 700; color: #ffffff; background: #E8733A; border: none; padding: 16px 40px; border-radius: 10px; cursor: pointer; text-decoration: none; display: inline-block; transition: background 0.2s, color 0.2s; }
.ss-btn:hover { background: #E8DCC7; color: #2C2A24; }
.ss-btn-nav { font-size: 14px; padding: 10px 24px; }

/* HERO (homepage) */
.ss-hero { max-width: 860px; margin: 0 auto; padding: 7rem 3rem 5rem; text-align: center; }
.ss-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #B85C38; margin-bottom: 1.75rem; }
.ss-h1 { font-family: 'DM Sans', sans-serif; font-size: 52px; font-weight: 800; line-height: 1.05; color: #2C2A24; margin-bottom: 0.25rem; letter-spacing: -0.02em; }
.ss-h1-q { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 52px; font-weight: 500; line-height: 1.1; color: #B85C38; margin-bottom: 1.75rem; }
.ss-lead { font-size: 18px; line-height: 1.7; color: #5C5448; max-width: 540px; margin: 0 auto 2.5rem; font-weight: 400; }
.ss-cred { margin-top: 1.75rem; font-size: 13px; color: #A89E8C; letter-spacing: 0.02em; }
.ss-cred strong { color: #7A6A54; font-weight: 600; }
.ss-cred-dot { margin: 0 10px; color: #C4B8A4; }
.ss-cred-divider { font-size: 10px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #B0A48E; margin: 1.25rem 0 0.75rem; }
.ss-wordmarks { display: flex; align-items: center; justify-content: center; gap: 2.5rem; flex-wrap: wrap; }
.ss-wordmark { font-family: 'DM Sans', sans-serif; font-size: 16px; font-weight: 700; color: #2C2A24; opacity: 0.35; letter-spacing: -0.01em; }

/* INTERIOR PAGE HERO (About / Organizations / Humans) */
.ss-page-hero { max-width: 720px; margin: 0 auto; padding: 5.5rem 3rem 3rem; text-align: center; }
.ss-page-hero .ss-eyebrow { margin-bottom: 1.5rem; }
.ss-page-h1 { font-family: 'DM Sans', sans-serif; font-size: 44px; font-weight: 800; line-height: 1.1; color: #2C2A24; letter-spacing: -0.02em; margin-bottom: 1.25rem; }
.ss-page-lead { font-size: 18px; line-height: 1.7; color: #5C5448; max-width: 560px; margin: 0 auto; }

/* PROSE (paragraph content) */
.ss-prose { max-width: 640px; margin: 0 auto; padding: 1rem 3rem 3.5rem; }
.ss-prose p { font-size: 17px; line-height: 1.8; color: #5C5448; margin-bottom: 1.5rem; }
.ss-prose p:last-child { margin-bottom: 0; }
.ss-prose p.ss-prose-emphasis { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 24px; color: #B85C38; line-height: 1.4; margin: 2rem 0; }
.ss-prose h3 { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 500; color: #2C2A24; margin: 2.5rem 0 1rem; line-height: 1.2; }
.ss-prose strong { color: #2C2A24; font-weight: 600; }

/* CALLOUT (e.g. "On the name") */
.ss-callout { background: #EBE4D6; border-radius: 8px; padding: 1.75rem 2rem; margin: 2rem 0; }
.ss-callout p { font-size: 16px; line-height: 1.75; color: #5C5448; margin-bottom: 0; }
.ss-callout strong { color: #2C2A24; }

/* LIST BLOCKS (What I Do / How I Work / Diagnostics / Core Engagements) */
.ss-list-section { max-width: 640px; margin: 0 auto; padding: 0 3rem 2.5rem; }
.ss-list-label { font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #B85C38; margin-bottom: 1.5rem; }
.ss-list-item { padding: 1.25rem 0; border-top: 0.5px solid #D4CCBB; }
.ss-list-item:last-child { padding-bottom: 0; }
.ss-list-item-title { font-family: 'DM Sans', sans-serif; font-size: 16px; font-weight: 700; color: #2C2A24; margin-bottom: 0.4rem; }
.ss-list-item-desc { font-size: 15px; line-height: 1.7; color: #5C5448; }

/* GROUPED OFFERINGS (Organizations page: Diagnostics / Core Engagements) */
.ss-group { max-width: 640px; margin: 0 auto; padding: 0 3rem 2.5rem; }
.ss-group-label { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 20px; color: #B85C38; margin-bottom: 1.25rem; }

/* SECTION (homepage problem block, reused as generic band) */
.ss-band { background: #EBE4D6; border-top: 0.5px solid #D4CCBB; border-bottom: 0.5px solid #D4CCBB; padding: 5rem 3rem; text-align: center; }
.ss-section-label { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #8A7D68; margin-bottom: 1.5rem; }
.ss-problem-headline { font-family: 'DM Sans', sans-serif; font-size: 40px; font-weight: 800; line-height: 1.1; max-width: 640px; margin: 0 auto 1.5rem; color: #2C2A24; letter-spacing: -0.02em; }
.ss-problem-headline em { font-style: normal; color: #E8733A; }
.ss-problem-body { font-size: 17px; line-height: 1.75; color: #5C5448; max-width: 540px; margin: 0 auto; }

/* SERVICES GRID (homepage) */
.ss-services { max-width: 860px; margin: 0 auto; padding: 5rem 3rem; }
.ss-services .ss-section-label { margin-bottom: 2.5rem; text-align: center; color: #B85C38; }
.ss-service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.ss-svc { background: #EBE4D6; border-radius: 8px; padding: 2rem; border-top: 3px solid #E8733A; }
.ss-svc-num { font-size: 11px; font-weight: 700; color: #E8733A; margin-bottom: 0.6rem; letter-spacing: 0.1em; }
.ss-svc-name { font-family: 'Cormorant Garamond', serif; font-size: 24px; font-weight: 500; color: #2C2A24; margin-bottom: 0.5rem; line-height: 1.2; }
.ss-svc-desc { font-size: 14px; color: #5C5448; line-height: 1.65; }

/* CLOSING */
.ss-closing { background: #5A4A32; padding: 6rem 3rem; text-align: center; }
.ss-closing-headline { font-family: 'DM Sans', sans-serif; font-size: 46px; font-weight: 800; line-height: 1.08; color: #F5F0E8; margin-bottom: 1.25rem; letter-spacing: -0.02em; }
.ss-closing-headline em { font-style: normal; color: #E8A47A; }
.ss-closing-sub { font-size: 17px; color: #C4B89A; max-width: 440px; margin: 0 auto 2.5rem; line-height: 1.65; }

.ss-footer { padding: 1.5rem 3rem; border-top: 0.5px solid #D4CCBB; font-size: 12px; color: #8A7D68; text-align: center; }

/* COMPARISON TABLE (AI vs Human) */
.ss-compare { max-width: 720px; margin: 0 auto; padding: 0 3rem 3rem; }
.ss-compare-table { width: 100%; border-collapse: collapse; }
.ss-compare-table th { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 19px; font-weight: 500; text-align: left; padding: 0.75rem 1.25rem; border-bottom: 2px solid #D4CCBB; }
.ss-compare-table th:first-child { color: #8A7D68; }
.ss-compare-table th:last-child { color: #B85C38; }
.ss-compare-table td { padding: 1.25rem; font-size: 15px; line-height: 1.65; vertical-align: top; border-bottom: 0.5px solid #D4CCBB; }
.ss-compare-table td:first-child { color: #5C5448; width: 42%; }
.ss-compare-table td:last-child { color: #2C2A24; background: #EBE4D6; }
.ss-compare-table td.ss-xx { color: #C4B8A4; font-style: italic; text-align: center; }
.ss-compare-table strong { color: #2C2A24; font-weight: 600; }
.ss-compare-table tr:last-child td { border-bottom: none; }
@media (max-width: 640px) {
  .ss-compare-table, .ss-compare-table thead, .ss-compare-table tbody, .ss-compare-table th, .ss-compare-table td, .ss-compare-table tr { display: block; }
  .ss-compare-table thead { display: none; }
  .ss-compare-table tr { margin-bottom: 1.5rem; border: 0.5px solid #D4CCBB; border-radius: 8px; overflow: hidden; }
  .ss-compare-table td { border-bottom: none; }
  .ss-compare-table td:first-child::before { content: "AI Does"; display: block; font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #8A7D68; margin-bottom: 0.4rem; }
  .ss-compare-table td:last-child::before { content: "A Human Does"; display: block; font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #B85C38; margin-bottom: 0.4rem; }
  .ss-compare { padding-left: 1.5rem; padding-right: 1.5rem; }
}

@media (max-width: 640px) {
  .ss-nav { padding: 1.25rem 1.5rem; flex-wrap: wrap; gap: 1rem; }
  .ss-nav-links { gap: 1.25rem; }
  .ss-hero { padding: 4rem 1.5rem 3rem; }
  .ss-h1, .ss-h1-q { font-size: 34px; }
  .ss-page-hero { padding: 3.5rem 1.5rem 2rem; }
  .ss-page-h1 { font-size: 32px; }
  .ss-problem-headline { font-size: 28px; }
  .ss-service-grid { grid-template-columns: 1fr; }
  .ss-services, .ss-band, .ss-closing { padding: 3.5rem 1.5rem; }
  .ss-closing-headline { font-size: 32px; }
  .ss-prose, .ss-list-section, .ss-group { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
