/* Search-led editorial calculator surfaces. */
.seo-tool-page { background: var(--cream); }
.seo-tool-hero { position: relative; overflow: hidden; padding: clamp(2.5rem, 4vw, 4rem) 0; background: radial-gradient(circle at 12% 18%, rgba(184,139,69,.2), transparent 26rem), radial-gradient(circle at 92% 12%, rgba(165,77,52,.22), transparent 28rem), var(--ink); color: var(--paper); }
.seo-tool-hero::before { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,.34) 0 1px, transparent 1.4px); background-size: 78px 78px; opacity: .15; content: ""; pointer-events: none; }
.seo-tool-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .94fr) minmax(360px, .82fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.seo-tool-hero__copy { padding-top: .5rem; }
.seo-tool-hero h1 { max-width: 760px; margin: .45rem 0 1rem; color: #fff; font-size: clamp(2.5rem, 5vw, 4.75rem); line-height: 1.02; letter-spacing: -.035em; }
.seo-tool-hero .lead { max-width: 660px; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.4vw, 1.125rem); line-height: 1.65; }
.seo-tool-hero__form .chart-form { color: var(--ink); box-shadow: 0 34px 90px rgba(0,0,0,.34); }
.seo-tool-hero__form .chart-form h2 { color: var(--ink); }
.seo-trust-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1rem; margin: 2rem 0 1.4rem; padding: 0; list-style: none; }
.seo-trust-list li { display: flex; align-items: center; gap: .65rem; color: rgba(255,255,255,.83); font-size: .82rem; font-weight: 700; letter-spacing: .02em; }
.seo-trust-list .ui-icon { flex: 0 0 1.1rem; width: 1.1rem; height: 1.1rem; color: var(--gold); }
.seo-reviewed { color: rgba(255,255,255,.56); font-size: .76rem; letter-spacing: .05em; }
.seo-reviewed span { margin-right: .55rem; color: var(--gold); font-weight: 800; text-transform: uppercase; }
.seo-direct-answer { padding-top: clamp(4.5rem, 8vw, 8rem); }
.seo-direct-answer .section-heading { max-width: 900px; margin-inline: auto; }
.big-three-seo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3rem; padding: 1px; background: rgba(23,18,38,.15); }
.big-three-seo-card { position: relative; min-height: 340px; padding: clamp(2rem, 4vw, 3.4rem); overflow: hidden; background: var(--paper); }
.big-three-seo-card::after { position: absolute; right: -56px; bottom: -74px; width: 210px; height: 210px; border: 1px solid rgba(184,139,69,.2); border-radius: 50%; box-shadow: 0 0 0 28px rgba(184,139,69,.05), 0 0 0 58px rgba(184,139,69,.03); content: ""; }
.big-three-seo-card__icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 2.3rem; border: 1px solid rgba(165,77,52,.32); border-radius: 50%; color: var(--terracotta); }
.big-three-seo-card__icon .ui-icon { width: 25px; height: 25px; }
.big-three-seo-card h3 { margin: .35rem 0 .9rem; font-size: clamp(2rem, 3vw, 3rem); }
.big-three-seo-card p:last-child { max-width: 32ch; }
.seo-method__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.seo-method__grid h2, .seo-split-copy h2, .seo-copy-grid h2 { font-size: clamp(2.7rem, 5vw, 5rem); line-height: .96; }
.seo-steps { margin: 0; padding: 0; border-top: 1px solid rgba(23,18,38,.15); list-style: none; }
.seo-steps li { display: grid; grid-template-columns: 3.4rem 1fr; gap: 1.1rem; padding: 1.55rem 0; border-bottom: 1px solid rgba(23,18,38,.15); }
.seo-steps li > span { color: var(--terracotta); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.seo-steps h3 { margin: 0 0 .4rem; font-size: 1.15rem; }
.seo-steps p { margin: 0; font-size: .92rem; }
.seo-compare .section-heading { max-width: 780px; }
.seo-table-wrap { overflow-x: auto; margin-top: 2.6rem; border: 1px solid rgba(23,18,38,.15); background: var(--paper); }
.seo-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.seo-table th, .seo-table td { padding: 1.2rem 1.35rem; border-right: 1px solid rgba(23,18,38,.1); border-bottom: 1px solid rgba(23,18,38,.1); text-align: left; vertical-align: top; }
.seo-table thead th { background: var(--ink); color: var(--paper); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.seo-table tbody th { color: var(--terracotta); font-family: var(--serif); font-size: 1.35rem; }
.seo-combination-section { background: radial-gradient(circle at 84% 25%, rgba(184,139,69,.17), transparent 30rem), var(--ink); color: rgba(255,255,255,.76); }
.seo-copy-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr); gap: clamp(3rem, 10vw, 10rem); align-items: start; }
.seo-copy-grid h2 { margin-top: .5rem; color: #fff; }
.seo-copy-grid p { font-size: 1.03rem; }
.seo-split-copy { display: grid; grid-template-columns: minmax(0, .85fr) minmax(340px, .72fr); gap: clamp(3rem, 9vw, 9rem); align-items: start; }
.seo-faq-grid { display: grid; grid-template-columns: minmax(0, .55fr) minmax(400px, .9fr); gap: clamp(3rem, 9vw, 9rem); align-items: start; }
.seo-faq-grid h2 { font-size: clamp(2.7rem, 5vw, 4.8rem); line-height: .98; }
.seo-faq details { background: transparent; }
.seo-next-paths__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.5rem; }
.seo-next-paths__grid > a { display: block; min-height: 300px; padding: 2rem; border: 1px solid rgba(23,18,38,.14); background: var(--paper); color: inherit; text-decoration: none; transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.seo-next-paths__grid > a:hover, .seo-next-paths__grid > a:focus-visible { border-color: var(--gold); box-shadow: 0 22px 55px rgba(23,18,38,.1); transform: translateY(-4px); }
.seo-next-paths__grid span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(165,77,52,.09); color: var(--terracotta); }
.seo-next-paths__grid .ui-icon { width: 23px; height: 23px; }
.seo-next-paths__grid h3 { margin: 2rem 0 .65rem; font-size: 1.8rem; }
.seo-next-paths__grid strong { display: block; margin-top: 1.4rem; color: var(--terracotta); font-size: .78rem; letter-spacing: .07em; text-transform: uppercase; }
.seo-disclaimer { max-width: 850px; margin: 2.2rem auto 0; color: rgba(23,18,38,.62); font-size: .8rem; text-align: center; }
.seo-inline-path { display: flex; gap: 2rem; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(23,18,38,.12); }
.seo-inline-path > div { max-width: 760px; }
.seo-inline-path h2 { margin: .4rem 0 .8rem; }
.birth-chart-layer-grid { grid-template-columns: repeat(4, 1fr); }
.zodiac-guide__actions { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; margin-top: 2rem; }
.text-link--light { color: rgba(255,255,255,.86); }
.zodiac-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 3rem; padding: 1px; background: rgba(23,18,38,.15); }
.zodiac-facts article { min-height: 138px; padding: 1.65rem; background: var(--paper); }
.zodiac-facts span { display: block; margin-bottom: .8rem; color: var(--terracotta); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.zodiac-facts strong { font-family: var(--serif); font-size: clamp(1.45rem, 2.5vw, 2.3rem); line-height: 1; }
.zodiac-placement-list { border-top: 1px solid rgba(255,255,255,.18); }
.zodiac-placement-list article { padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.zodiac-placement-list strong { color: var(--gold); font-family: var(--serif); font-size: 1.55rem; }
.zodiac-placement-list p { margin: .35rem 0 0; }
.methodology-hero > .wrap { position: relative; z-index: 1; }
.methodology-hero .seo-tool-hero__copy { max-width: 900px; }
.source-list { margin: 2.5rem 0 0; padding: 0; border-top: 1px solid rgba(23,18,38,.15); list-style: none; }
.source-list li { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1fr); gap: 2rem; padding: 1.4rem 0; border-bottom: 1px solid rgba(23,18,38,.15); }
.source-list a { color: var(--terracotta); font-weight: 800; }
.source-list span { color: rgba(23,18,38,.72); }

@media (max-width: 980px) {
	.seo-tool-hero__inner, .seo-method__grid, .seo-copy-grid, .seo-split-copy, .seo-faq-grid { grid-template-columns: 1fr; }
	.seo-tool-hero__form { max-width: 680px; }
	.big-three-seo-grid { grid-template-columns: 1fr; }
	.big-three-seo-card { min-height: 0; }
	.seo-next-paths__grid { grid-template-columns: 1fr; }
	.birth-chart-layer-grid { grid-template-columns: repeat(2, 1fr); }
	.zodiac-facts { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.seo-tool-hero { padding: 2rem 0; }
	.seo-tool-hero h1 { font-size: clamp(2.5rem, 10vw, 3.25rem); }
	.seo-trust-list { grid-template-columns: 1fr; }
	.seo-method__grid, .seo-copy-grid, .seo-split-copy, .seo-faq-grid { gap: 2.4rem; }
	.seo-inline-path { display: grid; }
	.birth-chart-layer-grid, .zodiac-facts { grid-template-columns: 1fr; }
	.source-list li { grid-template-columns: 1fr; gap: .45rem; }
}

