:root {
  --seo-ink: #20201e;
  --seo-graphite: #292826;
  --seo-charcoal: #171715;
  --seo-paper: #f7f3ed;
  --seo-sand: #e9dfd2;
  --seo-clay: var(--terracotta);
  --seo-copper: var(--copper);
  --seo-green: var(--olive);
  --seo-line: rgba(48, 42, 36, .14);
}

.seo-service-page { color: var(--seo-ink); }
.seo-service-page .section { position: relative; overflow: hidden; }
.seo-service-page h1,
.seo-service-page h2,
.seo-service-page h3 { text-wrap: balance; }
.seo-service-page .section-heading { max-width: 900px; margin-bottom: 0; text-align: center; }
.seo-service-page .section-heading h2 { margin-inline: auto; }
.seo-service-page .section-heading p { max-width: 790px; margin-inline: auto; }

/* Hero */
.seo-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 620px;
  background: #e9dfd1;
  color: var(--seo-charcoal);
}
.seo-hero-image,
.seo-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.seo-hero-image { z-index: -3; object-fit: cover; object-position: center; }
.seo-hero-shade {
  z-index: -2;
  background: linear-gradient(90deg, rgba(247, 242, 234, .98) 0%, rgba(247, 242, 234, .93) 32%, rgba(247, 242, 234, .47) 54%, rgba(247, 242, 234, .04) 75%);
}
.seo-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: max(18px, calc((100% - 1180px) / 2));
  bottom: 26px;
  width: 74px;
  height: 1px;
  background: var(--seo-clay);
}
.seo-hero-content {
  padding: 0;
}
.seo-hero-content > * { max-width: 690px; }
.seo-hero .breadcrumb { margin-bottom: clamp(12px, 2vh, 24px); color: rgba(32, 32, 30, .64); }
.seo-hero .breadcrumb a { color: inherit; }
.seo-hero .eyebrow { color: #8a402f; }
.seo-hero h1 { max-width: 760px; margin: 14px 0 18px; font-size: clamp(2.25rem, 4.5vw, 4.7rem); line-height: .98; color: var(--seo-charcoal); }
.seo-hero p { max-width: 690px; margin: 0; color: rgba(32, 32, 30, .82); font-size: clamp(.98rem, 1.25vw, 1.13rem); line-height: 1.72; }
.seo-hero .hero-actions { margin-top: clamp(20px, 3vh, 30px); }
.seo-hero .btn.ghost { border-color: rgba(32, 32, 30, .35); color: var(--seo-charcoal); background: rgba(255, 255, 255, .23); }
.seo-hero .btn.ghost:hover { border-color: var(--seo-charcoal); background: var(--seo-charcoal); color: #fff; }
.seo-hero-note { display: block; margin-top: 15px; color: rgba(32, 32, 30, .65); font-size: .73rem; line-height: 1.45; }
.seo-hero-index { position: absolute; right: 34px; bottom: 26px; color: rgba(255, 255, 255, .84); font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }

/* Identification */
.seo-identificacao { background: var(--seo-paper); }
.pain-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 46px; }
.pain-card { position: relative; min-height: 220px; padding: 34px 34px 30px; border: 1px solid var(--seo-line); border-radius: 6px; background: rgba(255,255,255,.55); transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.pain-card::before { content: ""; position: absolute; left: -1px; top: 32px; width: 3px; height: 34px; background: var(--seo-clay); }
.pain-card > span { color: var(--seo-clay); font-size: .7rem; font-weight: 800; }
.pain-card h3 { max-width: 460px; margin: 36px 0 12px; font-size: clamp(1.22rem, 2vw, 1.65rem); }
.pain-card p { margin: 0; max-width: 500px; color: #6c655e; }
.pain-card:hover { transform: translateY(-5px); border-color: rgba(166, 84, 60, .38); box-shadow: 0 18px 38px rgba(55, 40, 28, .08); }

/* Concept */
.seo-conceito { background: #fff; }
.concept-grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr); gap: clamp(42px, 7vw, 94px); align-items: center; }
.concept-copy h2 { margin: 14px 0 24px; font-size: clamp(2rem, 3.8vw, 3.65rem); }
.concept-copy p { color: #625d57; }
.concept-support { margin-top: 25px; padding: 20px 0 20px 24px; border-left: 2px solid var(--seo-clay); color: var(--seo-ink) !important; font-weight: 600; }
.concept-panel { position: relative; padding: 42px 38px; border: 1px solid rgba(196, 137, 99, .45); border-radius: 6px; background: var(--seo-graphite); color: #fff; box-shadow: 18px 18px 0 var(--seo-sand); }
.concept-panel::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(255,255,255,.08); pointer-events: none; }
.panel-kicker { color: #d9a07a; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.concept-panel h3 { margin: 16px 0 28px; max-width: 320px; color: #fff; font-family: "Playfair Display", serif; font-size: clamp(1.65rem, 3vw, 2.5rem); line-height: 1.08; }
.concept-panel ul { list-style: none; margin: 0; padding: 0; }
.concept-panel li { display: flex; align-items: center; gap: 14px; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.82); }
.concept-panel li span { color: var(--seo-copper); font-size: .64rem; font-weight: 800; }

/* Turn */
.seo-virada { background: var(--seo-charcoal); color: #f5eee7; }
.seo-virada::before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 60%, rgba(166,84,60,.13)); }
.turn-grid { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(48px, 8vw, 110px); align-items: center; }
.seo-virada .eyebrow { color: #d99972; }
.turn-grid h2 { margin: 14px 0 24px; max-width: 720px; color: #fff; font-size: clamp(2.2rem, 4.2vw, 4rem); }
.turn-grid p { max-width: 680px; color: rgba(255,255,255,.68); }
.turn-quote { position: relative; margin: 0; padding: 44px 0 18px 42px; border-left: 1px solid rgba(217,153,114,.55); }
.turn-quote > span { position: absolute; top: -12px; left: 34px; color: var(--seo-clay); font-family: Georgia, serif; font-size: 6rem; line-height: 1; opacity: .7; }
.turn-quote strong { display: block; position: relative; font-family: "Playfair Display", serif; font-size: clamp(1.65rem, 3vw, 2.7rem); line-height: 1.2; }
.turn-quote small { display: block; margin-top: 26px; color: #d99972; font-weight: 700; text-transform: uppercase; }

/* Audit */
.seo-analise { background: #eee6dc; }
.audit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 48px; }
.audit-card { position: relative; min-height: 250px; padding: 32px 28px; border: 1px solid rgba(65,54,44,.12); border-radius: 5px; background: #fbf9f5; transition: transform .3s ease, box-shadow .3s ease; }
.audit-card small { color: #8d8177; font-size: .67rem; font-weight: 800; }
.audit-card h3 { max-width: 270px; margin: 42px 0 11px; font-size: 1.28rem; }
.audit-card p { margin: 0; color: #6a625a; font-size: .92rem; line-height: 1.65; }
.audit-icon { position: absolute; top: 26px; right: 26px; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 50%; color: var(--seo-clay); font-size: .95rem; }
.audit-card--dark { background: var(--seo-graphite); color: #fff; }
.audit-card--dark h3,
.audit-card--green h3 { color: #fff; }
.audit-card--dark p { color: rgba(255,255,255,.68); }
.audit-card--dark small, .audit-card--dark .audit-icon { color: #dba17a; }
.audit-card--clay { background: #c57d61; color: #231d1a; }
.audit-card--clay p { color: rgba(35,29,26,.74); }
.audit-card--sand { background: #ded0bf; }
.audit-card--green { background: #68715e; color: #fff; }
.audit-card--green p { color: rgba(255,255,255,.75); }
.audit-card--green small, .audit-card--green .audit-icon { color: #ece2d3; }
.audit-card--wide { grid-column: span 3; min-height: 200px; padding-right: 37%; background: #fff; }
.audit-card--wide h3 { margin-top: 26px; }
.audit-card--wide .text-link { display: inline-block; margin-top: 22px; color: #91442f; }
.audit-card:hover { transform: translateY(-5px); box-shadow: 0 18px 34px rgba(58,44,33,.11); }

/* Process */
.seo-processo { background: #fff; }
.process-timeline { --progress: 0%; position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; margin-top: 58px; }
.process-line { position: absolute; top: 25px; left: 5%; right: 5%; height: 1px; background: #d8cec4; }
.process-line i { display: block; width: var(--progress); height: 2px; background: var(--seo-clay); transition: width .45s ease; }
.process-step { position: relative; padding-top: 78px; opacity: .52; transition: opacity .3s ease, transform .3s ease; }
.process-step button { position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 52px; height: 52px; padding: 0; border: 1px solid #cfc2b6; border-radius: 50%; background: #fff; color: #776e66; cursor: pointer; transition: all .3s ease; }
.process-step button span { font-size: .68rem; font-weight: 800; }
.process-step.is-complete button { border-color: var(--seo-clay); background: var(--seo-clay); color: #fff; }
.process-step h3 { margin: 0 0 12px; font-size: 1.1rem; line-height: 1.25; }
.process-step p { margin: 0; color: #6c655e; font-size: .88rem; line-height: 1.62; }
.process-step.is-active { opacity: 1; transform: translateY(-4px); }
.process-step.is-active button { box-shadow: 0 0 0 7px rgba(166,84,60,.11); }

/* Deliverables */
.seo-entregas { background: var(--seo-paper); }
.deliverables-panel { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(45px, 8vw, 100px); align-items: center; padding: clamp(46px, 7vw, 84px); border: 1px solid rgba(196,137,99,.32); border-radius: 7px; background: var(--seo-charcoal); color: #fff; box-shadow: 0 30px 70px rgba(40,31,24,.13); }
.deliverables-intro h2 { margin: 14px 0 21px; color: #fff; font-size: clamp(2rem, 3.7vw, 3.55rem); }
.deliverables-intro p { color: rgba(255,255,255,.68); }
.deliverables-intro > strong { display: block; margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); color: #e0a27a; font-family: "Playfair Display", serif; font-size: 1.25rem; line-height: 1.45; }
.deliverables-list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 24px; }
.deliverables-list li { break-inside: avoid; position: relative; min-height: 70px; padding: 18px 10px 18px 34px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.79); font-size: .88rem; }
.deliverables-list li::before { content: "✓"; position: absolute; left: 4px; color: #d69a73; font-weight: 800; }

/* Transformation */
.seo-antes-depois { background: #252420; color: #f6f1eb; }
.transformation-head { max-width: 850px; text-align: center; }
.transformation-head h2 { margin: 14px 0 18px; color: #fff; font-size: clamp(2.15rem, 4vw, 3.8rem); }
.transformation-head p { color: rgba(255,255,255,.65); }
.transformation-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 18px; margin-top: 50px; }
.state-card { position: relative; padding: 40px; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; }
.state-card > span { display: block; margin-bottom: 24px; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.state-card ul { list-style: none; margin: 0; padding: 0; }
.state-card li { position: relative; padding: 14px 0 14px 27px; border-top: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.58); }
.state-card li::before { content: "—"; position: absolute; left: 0; color: #847c73; }
.state-card--before { opacity: .76; }
.state-card--after { background: #f2e8dc; color: #2a2521; border-color: #d59872; box-shadow: 0 24px 60px rgba(0,0,0,.23); }
.state-card--after > span { color: #91462f; }
.state-card--after li { color: #4f4740; border-color: rgba(65,48,38,.12); }
.state-card--after li::before { content: "✓"; color: #8b4934; font-weight: 800; }

/* Qualification */
.seo-para-quem { background: #f7f4ef; }
.qualification-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; margin-top: 48px; }
.qualification-card { padding: 42px; border-radius: 6px; }
.qualification-card > span { display: block; margin-bottom: 28px; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.qualification-card ul { list-style: none; margin: 0; padding: 0; }
.qualification-card li { position: relative; padding: 15px 0 15px 28px; border-top: 1px solid rgba(255,255,255,.12); }
.qualification-card li::before { position: absolute; left: 0; }
.qualification-card--yes { background: var(--seo-graphite); color: #fff; box-shadow: 0 22px 50px rgba(43,36,31,.12); }
.qualification-card--yes > span { color: #dea079; }
.qualification-card--yes li { color: rgba(255,255,255,.76); }
.qualification-card--yes li::before { content: "✓"; color: #dba17d; }
.qualification-card--no { border: 1px solid #d8cec4; background: #fff; }
.qualification-card--no > span { color: #756b63; }
.qualification-card--no li { color: #6c635c; border-color: #e5ddd5; }
.qualification-card--no li::before { content: "×"; color: #9a8e84; }

/* Related */
.seo-relacionados { background: #fff; }
.related-head { max-width: 830px; }
.related-head h2 { margin: 14px 0 18px; font-size: clamp(2rem, 3.6vw, 3.5rem); }
.related-head p { color: #68615a; }
.related-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 42px; }
.related-grid a { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 165px; padding: 24px 20px; border: 1px solid #ddd4cb; border-radius: 5px; color: var(--seo-ink); text-decoration: none; transition: transform .3s ease, border-color .3s ease, background .3s ease; }
.related-grid a span { color: #a95a42; font-size: .65rem; font-weight: 800; }
.related-grid a strong { max-width: 150px; font-size: .95rem; line-height: 1.3; }
.related-grid a i { position: absolute; right: 18px; top: 18px; color: #9a8b80; font-style: normal; }
.related-grid a:hover { transform: translateY(-5px); border-color: var(--seo-clay); background: var(--seo-paper); }

/* Final CTA */
.seo-cta-final { background: #151513; color: #fff; text-align: center; }
.seo-cta-final::before { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 25%, rgba(166,84,60,.18) 100%); }
.seo-service-page .seo-cta-final .seo-cta-inner {
  position: relative;
  display: block;
  max-width: 900px;
  text-align: center;
}
.seo-service-page .seo-cta-final .seo-cta-inner > .eyebrow { display: inline-flex; }
.seo-service-page .seo-cta-final .seo-cta-inner h2 {
  max-width: 880px;
  margin: 15px auto 20px;
  color: #fff;
  font-size: clamp(2.3rem, 5vw, 4.65rem);
}
.seo-service-page .seo-cta-final .seo-cta-inner p {
  max-width: 720px;
  margin: 0 auto;
  color: rgba(255,255,255,.68);
}
.seo-service-page .seo-cta-final .seo-cta-inner .hero-actions {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
.seo-service-page .seo-cta-final .seo-cta-inner .btn { margin-top: 0; }
.seo-service-page .seo-cta-final .seo-cta-inner > small {
  display: block;
  max-width: 680px;
  margin: 18px auto 0;
  color: rgba(255,255,255,.47);
}
.seo-cta-final .btn.ghost { border-color: rgba(255,255,255,.35); color: #fff; }
.seo-cta-final .btn.ghost:hover { background: #fff; color: #1b1a18; }

@media (max-width: 980px) {
  .seo-hero-shade { background: linear-gradient(90deg, rgba(247,242,234,.97) 0%, rgba(247,242,234,.9) 50%, rgba(247,242,234,.2) 100%); }
  .concept-grid, .turn-grid, .deliverables-panel { grid-template-columns: 1fr; }
  .audit-grid { grid-template-columns: repeat(2, 1fr); }
  .audit-card--wide { grid-column: span 2; padding-right: 28px; }
  .process-timeline { grid-template-columns: repeat(3, 1fr); row-gap: 42px; }
  .process-line { display: none; }
  .related-grid { grid-template-columns: repeat(3, 1fr); }
  .concept-panel { box-shadow: 12px 12px 0 var(--seo-sand); }
}

@media (max-width: 720px) {
  .seo-service-page .section-heading { text-align: left; }
  .seo-service-page .section-heading h2,
  .seo-service-page .section-heading p { margin-left: 0; }
  .seo-hero-image { object-position: 72% center; opacity: .4; }
  .seo-hero-shade { background: linear-gradient(90deg, rgba(247,242,234,.99), rgba(247,242,234,.91)); }
  .seo-hero-content { padding: 0; }
  .seo-hero h1 { max-width: 590px; font-size: clamp(2rem, 10vw, 3.2rem); line-height: 1; }
  .seo-hero p { font-size: .89rem; line-height: 1.55; }
  .seo-hero .breadcrumb { margin-bottom: 10px; }
  .seo-hero .hero-actions { margin-top: 18px; }
  .seo-hero-note { margin-top: 11px; font-size: .65rem; }
  .seo-hero-index { display: none; }
  .pain-grid, .audit-grid, .transformation-grid, .qualification-grid { grid-template-columns: 1fr; }
  .pain-card { min-height: 190px; padding: 28px 24px; }
  .pain-card h3 { margin-top: 28px; }
  .concept-panel, .state-card, .qualification-card { padding: 32px 24px; }
  .audit-card--wide { grid-column: auto; }
  .process-timeline { display: block; margin-top: 42px; padding-left: 27px; }
  .process-timeline::before { content: ""; position: absolute; top: 0; bottom: 0; left: 52px; width: 1px; background: #d8cec4; }
  .process-step { min-height: 178px; padding: 8px 0 34px 78px; }
  .process-step button { left: 0; }
  .deliverables-panel { padding: 38px 24px; }
  .deliverables-list { columns: 1; }
  .related-grid { grid-template-columns: 1fr; }
  .related-grid a { min-height: 105px; }
  .seo-service-page .seo-cta-final .seo-cta-inner h2 { font-size: clamp(2rem, 10vw, 2.7rem); }
  .seo-service-page .seo-cta-final .seo-cta-inner .hero-actions { flex-direction: column; gap: 10px; }
  .seo-service-page .seo-cta-final .seo-cta-inner .btn { width: 100%; }
}

@media (max-height: 760px) and (min-width: 721px) {
  .seo-hero .breadcrumb { margin-bottom: 10px; }
  .seo-hero h1 { font-size: clamp(2.2rem, 4vw, 3.65rem); margin-block: 9px 13px; }
  .seo-hero p { font-size: .91rem; line-height: 1.52; }
  .seo-hero .hero-actions { margin-top: 17px; }
  .seo-hero-note { margin-top: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .pain-card, .audit-card, .process-step, .process-step button, .process-line i, .related-grid a { transition: none; }
}
