.seo-page { background: #f6f3eb; }
.seo-page [data-reveal] { opacity: 1; transform: none; }
.seo-page .site-header { background: rgba(7, 27, 23, .88); }
.seo-main { overflow: hidden; }
.seo-hero { position: relative; min-height: 760px; padding: 10rem 6vw 5rem; color: var(--white); background: var(--forest); }
.seo-breadcrumbs { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0 0 3rem; color: rgba(255,255,255,.58); font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.seo-breadcrumbs a:hover { color: var(--acid); }
.seo-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .65fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; }
.seo-hero-copy { position: relative; z-index: 2; }
.seo-hero h1 { max-width: 980px; margin: 0; font-family: var(--serif); font-size: clamp(4rem, 7.3vw, 8.2rem); line-height: .88; letter-spacing: -.045em; font-weight: 400; }
.seo-hero h1 em { display: block; color: var(--acid); font-weight: 400; }
.seo-lead { max-width: 720px; margin: 2rem 0 0; color: rgba(255,255,255,.74); font-size: clamp(1rem, 1.4vw, 1.22rem); line-height: 1.75; }
.seo-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.2rem; }
.seo-hero-media { position: relative; min-height: 540px; }
.seo-hero-media::before { content: ""; position: absolute; inset: -1.2rem 1.2rem 1.2rem -1.2rem; border: 1px solid rgba(215,240,108,.28); border-radius: 1.8rem; }
.seo-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 1.8rem; box-shadow: 0 30px 90px rgba(0,0,0,.32); }
.seo-hero-media figcaption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; padding: 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: rgba(7,27,23,.78); backdrop-filter: blur(14px); font-size: .68rem; line-height: 1.55; }
.seo-trust { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0 6vw; color: var(--white); background: #071b17; border-top: 1px solid rgba(215,240,108,.15); }
.seo-trust div { min-height: 118px; padding: 1.6rem; border-right: 1px solid rgba(255,255,255,.09); }
.seo-trust div:last-child { border-right: 0; }
.seo-trust span { display: block; margin-bottom: .6rem; color: var(--acid); font-size: .55rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.seo-trust strong { font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
.seo-section { padding: clamp(5rem, 9vw, 8rem) 6vw; }
.seo-section.alt { background: #ebe5d8; }
.seo-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .55fr); gap: 5vw; align-items: end; margin-bottom: 3rem; }
.seo-heading h2 { max-width: 960px; margin: 0; font-family: var(--serif); font-size: clamp(3rem, 5.4vw, 6.4rem); line-height: .92; letter-spacing: -.035em; font-weight: 400; }
.seo-heading h2 em { color: var(--forest-2); font-weight: 400; }
.seo-heading > p { max-width: 620px; margin: 0; color: var(--muted); line-height: 1.8; }
.seo-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.seo-card { min-height: 280px; padding: clamp(1.6rem, 3vw, 2.6rem); border: 1px solid var(--line); border-radius: 1.35rem; background: rgba(255,255,255,.58); }
.seo-card > span { color: var(--forest-2); font-size: .56rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.seo-card h3 { margin: 4rem 0 .8rem; font-family: var(--serif); font-size: 2rem; line-height: 1; font-weight: 400; }
.seo-card p, .seo-card li { color: var(--muted); font-size: .78rem; line-height: 1.75; }
.seo-card ul { padding-left: 1rem; margin-bottom: 0; }
.seo-table { overflow: hidden; border: 1px solid var(--line); border-radius: 1.35rem; background: rgba(255,255,255,.7); }
.seo-table-row { display: grid; grid-template-columns: minmax(180px, .45fr) minmax(0, 1fr) minmax(180px, .55fr); }
.seo-table-row > * { margin: 0; padding: 1.25rem 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); line-height: 1.6; }
.seo-table-row > *:last-child { border-right: 0; }
.seo-table-row:last-child > * { border-bottom: 0; }
.seo-table-row.header { color: var(--white); background: var(--forest); font-size: .58rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.seo-table-row:not(.header) strong { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.seo-table-row:not(.header) span { color: var(--muted); font-size: .74rem; }
.seo-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; counter-reset: sourcing; }
.seo-process article { counter-increment: sourcing; min-height: 240px; padding: 1.8rem; color: var(--white); border: 1px solid rgba(215,240,108,.16); border-radius: 1.25rem; background: var(--forest); }
.seo-process article::before { content: "0" counter(sourcing); color: var(--acid); font-size: .58rem; font-weight: 900; letter-spacing: .14em; }
.seo-process h3 { margin: 4rem 0 .8rem; font-family: var(--serif); font-size: 1.65rem; font-weight: 400; }
.seo-process p { margin: 0; color: rgba(255,255,255,.62); font-size: .72rem; line-height: 1.7; }
.seo-faq { display: grid; grid-template-columns: minmax(240px, .5fr) minmax(0, 1fr); gap: 6vw; align-items: start; }
.seo-faq h2 { position: sticky; top: 110px; margin: 0; font-family: var(--serif); font-size: clamp(3rem, 5vw, 5.6rem); line-height: .92; font-weight: 400; }
.seo-faq-list { border-top: 1px solid var(--line); }
.seo-faq details { border-bottom: 1px solid var(--line); }
.seo-faq summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1.5rem 0; cursor: pointer; font-weight: 800; }
.seo-faq summary::after { content: "+"; color: var(--forest-2); font-size: 1.2rem; }
.seo-faq details[open] summary::after { content: "−"; }
.seo-faq details p { max-width: 780px; margin: 0; padding: 0 0 1.5rem; color: var(--muted); line-height: 1.8; }
.seo-cta { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: end; padding: clamp(4rem, 8vw, 7rem) 6vw; color: var(--white); background: linear-gradient(135deg, #071b17, #0d4536); }
.seo-cta h2 { max-width: 960px; margin: 0; font-family: var(--serif); font-size: clamp(3rem, 6vw, 7rem); line-height: .9; font-weight: 400; }
.seo-cta p { max-width: 700px; color: rgba(255,255,255,.66); line-height: 1.75; }

@media (max-width: 980px) {
  .seo-hero-grid, .seo-heading, .seo-faq { grid-template-columns: 1fr; }
  .seo-hero-media { min-height: 430px; }
  .seo-trust, .seo-process { grid-template-columns: 1fr 1fr; }
  .seo-card-grid { grid-template-columns: 1fr 1fr; }
  .seo-faq h2 { position: static; }
}

@media (max-width: 620px) {
  .seo-hero { min-height: auto; padding: 8rem 5vw 4rem; }
  .seo-hero h1 { font-size: 15vw; }
  .seo-hero-grid { gap: 3rem; }
  .seo-hero-media { min-height: 360px; }
  .seo-trust { grid-template-columns: 1fr 1fr; padding: 0 5vw; }
  .seo-trust div:nth-child(2) { border-right: 0; }
  .seo-card-grid, .seo-process { grid-template-columns: 1fr; }
  .seo-section { padding-left: 5vw; padding-right: 5vw; }
  .seo-table { overflow-x: auto; }
  .seo-table-row { min-width: 720px; }
  .seo-cta { grid-template-columns: 1fr; padding-left: 5vw; padding-right: 5vw; }
}
