/*
 * GEO service page (draft, template page-geo-ai-search-optimization). Concept "מהשאלה לתשובה": a question traced to
 * the sources and the answer (hero), three processes and five outcomes (what), three overlapping lenses (SEO / AEO /
 * GEO), six systems with what can be checked and what limits the conclusion, eight service areas with work-type tags,
 * six stages on ink, site types, measurement layers and tools, official sources.
 * Palette: the SEO page's moss ink, linen paper and citrus accent; the signal moves from moss to a green-teal, so the
 * page reads as SEO's sibling. All illustrations are ordinary blocks + CSS (no inline SVG in the content).
 */

:root, .sv-page--geo {
	--sv-ink: #18210f;
	--sv-ink-2: #222e17;
	--sv-ink-3: #3a4a2a;
	--sv-paper: #f5f4ec;
	--sv-paper-2: #e8ebdc;
	--sv-card: #fbfbf6;
	--sv-line: #d3d5c0;
	--sv-line-strong: #98a07c;
	--sv-muted: #50583e;
	--sv-signal: #2e6b45;
	--sv-signal-deep: #255a39;
	--sv-signal-soft: #a8dcb9;
	--sv-accent: #ffd447;
	--sv-alert: #a63d2a;
	--sv-on-ink: #f5f4ec;
	--sv-on-ink-muted: #bcc2a6;
	--sv-on-ink-line: #364428;
	--sv-on-signal: #ffffff;
	--sv-grid: rgba(24, 33, 15, .05);
	--sv-grid-ink: rgba(245, 244, 236, .045);
	--sv-glow: rgba(46, 107, 69, .18);
	--sv-underline: linear-gradient(90deg, #ffd447 0 30%, #2e6b45 30% 100%);
	--sv-cta-mark: "?";
}

/* Section grounds: light, tinted and ink alternate. */
.geo-what, .geo-channels, .geo-sources { background: var(--sv-paper-2); border-block: 1px solid var(--sv-line); }
.geo-measure.sv-issues { background: var(--sv-paper); border-block: 0; }
.geo-measure .sv-issues__box, .geo-what .geo-term, .geo-channels .geo-system { background: var(--sv-card); }

/* ---------- Hero ---------- */
.geo-hero .sv-h1 { font-size: clamp(2.3rem, 1.2rem + 4.2vw, 4.6rem); }
.geo-hero__question.geo-hero__question { font-size: clamp(1.25rem, 1.05rem + .8vw, 1.7rem); font-weight: 700; line-height: 1.4; color: var(--sv-ink); max-width: 40rem; }
.geo-hero__line { display: inline-block; padding: .2rem .7rem; font-weight: 700; background: var(--sv-accent); color: var(--sv-ink); border-radius: 3px; }
.geo-trace__list { display: grid; gap: 0; margin: 0 !important; padding: 0 !important; list-style: none; }
.geo-trace__list li {
	position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: .2rem; padding: .75rem 0; padding-inline-start: 2.6rem;
	border-block-end: 1px dashed var(--sv-line-strong);
}
.geo-trace__list li:last-child { border-block-end: 0; }
.geo-trace__list li::before { /* station */
	content: ""; position: absolute; inset-inline-start: .45rem; top: 1.05rem; width: 1rem; height: 1rem; border-radius: 50%;
	background: var(--sv-card); border: 2px solid var(--sv-ink);
}
.geo-trace__list li:not(:last-child)::after { /* the route between stations */
	content: ""; position: absolute; inset-inline-start: calc(.95rem - 1px); top: 2.15rem; bottom: -1.05rem; width: 2px;
	background: repeating-linear-gradient(var(--sv-ink) 0 4px, transparent 4px 8px);
}
.geo-trace__list li:first-child::before { background: var(--sv-accent); }
.geo-trace__list li:nth-child(3)::before { background: var(--sv-signal-soft); }
.geo-trace__list li:last-child::before { background: var(--sv-signal); border-color: var(--sv-signal); }
.geo-trace__label { font-family: var(--sv-mono); font-size: .75rem; font-weight: 500; color: var(--sv-muted); }
.geo-trace__step { font-size: 1rem; line-height: 1.35; }
.geo-trace__note { font-size: .875rem; line-height: 1.5; color: var(--sv-muted); }
.geo-trace__list li:first-child .geo-trace__note { color: var(--sv-ink); font-weight: 500; }
@media (prefers-reduced-motion: no-preference) {
	.geo-trace__list li { animation: sv-pop .4s var(--sv-ease) both; animation-delay: calc(.25s + var(--i, 0) * .12s); }
	.geo-trace__list li:nth-child(2) { --i: 1; } .geo-trace__list li:nth-child(3) { --i: 2; } .geo-trace__list li:nth-child(4) { --i: 3; }
}

/* ---------- What is GEO ---------- */
.geo-what__grid { display: grid; gap: 2.5rem; }
@media (min-width: 1024px) {
	.geo-what__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
}
.geo-what__text { display: grid; gap: 1.1rem; font-size: 1.0625rem; line-height: 1.8; max-width: 44rem; }
.geo-what__aside { display: grid; gap: .75rem; }
.geo-term { display: grid; gap: .35rem; padding: 1.1rem 1.25rem; border: 1px solid var(--sv-line); border-inline-start: 4px solid var(--sv-signal); border-radius: var(--sv-radius); }
.geo-term__title { font-size: 1.0625rem; font-weight: 700; }
.geo-term__text { font-size: .9375rem; line-height: 1.65; color: var(--sv-muted); }

.geo-ladder { margin-block-start: clamp(2.5rem, 5vw, 3.5rem); display: grid; gap: 1rem; }
.geo-ladder__title { font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); font-weight: 700; }
.geo-ladder__list { display: grid; gap: .5rem; counter-reset: geo-ladder; }
@media (min-width: 900px) {
	.geo-ladder__list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.geo-ladder__list li {
	position: relative; display: grid; gap: .3rem; align-content: start; padding: 1rem 1.1rem 1.1rem; counter-increment: geo-ladder;
	background: var(--sv-card); border: 1px solid var(--sv-line); border-radius: var(--sv-radius); font-size: .9375rem; line-height: 1.55; color: var(--sv-muted);
}
.geo-ladder__list li::before { content: counter(geo-ladder, decimal-leading-zero); font-family: var(--sv-mono); font-size: .75rem; color: var(--sv-signal-deep); }
.geo-ladder__list strong { display: block; font-size: 1.125rem; color: var(--sv-ink); }
.geo-ladder__list li:nth-child(n) { border-block-start: 4px solid color-mix(in srgb, var(--sv-signal) calc(20% * var(--s, 1)), var(--sv-line)); }
.geo-ladder__list li:nth-child(2) { --s: 2; } .geo-ladder__list li:nth-child(3) { --s: 3; } .geo-ladder__list li:nth-child(4) { --s: 4; } .geo-ladder__list li:nth-child(5) { --s: 5; }
.geo-ladder__note { font-size: .9375rem; color: var(--sv-muted); }

.geo-control { margin-block-start: clamp(2rem, 4vw, 3rem); display: grid; gap: 1rem; }
@media (min-width: 800px) {
	.geo-control { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.geo-control__col { padding: 1.4rem 1.5rem; border-radius: var(--sv-radius); }
.geo-control__col--yes { background: var(--sv-ink); color: var(--sv-on-ink); }
.geo-control__col--no { background: var(--sv-card); border: 1.5px dashed var(--sv-line-strong); }
.geo-control__title { font-size: 1.125rem; font-weight: 700; margin-block-end: .8rem !important; }
.geo-control__list { display: grid; gap: .5rem; }
.geo-control__list li { position: relative; padding-inline-start: 1.6rem; line-height: 1.55; }
.geo-control__list li::before { position: absolute; inset-inline-start: 0; font-weight: 700; }
.geo-control__col--yes li::before { content: "✓"; color: var(--sv-accent); }
.geo-control__col--no li::before { content: "–"; color: var(--sv-muted); }

/* ---------- SEO / AEO / GEO: overlapping lenses ---------- */
.geo-lenses { display: grid; gap: 1rem; }
@media (min-width: 900px) {
	.geo-lenses { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
	.geo-lens + .geo-lens { margin-inline-start: -1.25rem; } /* the lenses overlap a little */
	.geo-lens:nth-child(2) { margin-block-start: 1.5rem; }
	.geo-lens:nth-child(3) { margin-block-start: 3rem; }
}
.geo-lens {
	position: relative; display: grid; gap: .8rem; align-content: start; padding: 1.6rem 1.6rem 1.8rem; border-radius: 1.25rem;
	background: var(--sv-card); border: 1.5px solid var(--sv-ink); box-shadow: -6px 6px 0 var(--sv-paper-2);
}
.geo-lens--seo { background: var(--sv-paper-2); }
.geo-lens--geo { background: #dceedf; } /* signal-soft over card, solid */
.geo-lens__title { display: grid; gap: .2rem; font-size: 1.75rem; font-weight: 700; line-height: 1.1; }
.geo-lens__title [lang="en"] { font-family: var(--sv-mono); letter-spacing: .02em; }
.geo-lens__short { font-family: var(--sv-sans); font-size: 1rem; font-weight: 700; color: var(--sv-signal-deep); }
.geo-lens__text { line-height: 1.65; }
.geo-lens__list { display: flex; flex-wrap: wrap; gap: .4rem; }
.geo-lens__list li { padding: .2rem .65rem; font-size: .8125rem; font-weight: 500; border: 1px solid var(--sv-ink); border-radius: 999px; background: var(--sv-card); }
.geo-base { margin-block-start: clamp(1.5rem, 4vw, 3rem); display: grid; gap: .75rem; padding: 1.2rem 1.4rem; background: var(--sv-ink); color: var(--sv-on-ink); border-radius: var(--sv-radius); }
@media (min-width: 900px) {
	.geo-base { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 1.5rem; }
}
.geo-base__title { font-weight: 700; color: var(--sv-accent); }
.geo-base__list { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.geo-base__list li::before { content: "■ "; color: var(--sv-signal-soft); font-size: .7em; }

/* ---------- Systems ---------- */
.geo-systems { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr)); }
.geo-system { display: grid; gap: .7rem; align-content: start; padding: 1.4rem 1.5rem 1.5rem; border: 1px solid var(--sv-line); border-block-start: 4px solid var(--sv-ink); border-radius: var(--sv-radius); }
.geo-system__vendor { font-family: var(--sv-mono); font-size: .75rem; color: var(--sv-muted); }
.geo-system__title { font-size: 1.375rem; font-weight: 700; line-height: 1.2; }
.geo-system__check, .geo-system__limit { font-size: .9375rem; line-height: 1.65; }
.geo-system__check strong { color: var(--sv-signal-deep); }
.geo-system__limit { padding-block-start: .7rem; border-block-start: 1px dashed var(--sv-line-strong); color: var(--sv-muted); }
.geo-system__limit strong { color: var(--sv-ink); }
.geo-caveat { margin-block-start: 1.75rem; display: grid; gap: .5rem; max-width: 60rem; padding-inline-start: 1rem; border-inline-start: 4px solid var(--sv-accent); color: var(--sv-muted); line-height: 1.7; }

/* ---------- Eight service areas ---------- */
.geo-services__grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16.5rem), 1fr)); }
@media (min-width: 1200px) {
	.geo-services__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.geo-service { display: grid; gap: .65rem; align-content: start; grid-template-rows: auto auto 1fr auto auto; padding: 1.4rem; background: var(--sv-card); border: 1px solid var(--sv-line); border-radius: var(--sv-radius); transition: border-color .25s var(--sv-ease), box-shadow .25s var(--sv-ease); }
.geo-service:hover { border-color: var(--sv-ink); box-shadow: 5px 5px 0 var(--sv-signal-soft); }
.geo-service__num { font-family: var(--sv-mono); font-size: .8125rem; color: var(--sv-signal-deep); }
.geo-service__title { display: grid; gap: .15rem; font-size: 1.125rem; font-weight: 700; line-height: 1.25; }
.geo-service__title [lang="en"] { font-family: var(--sv-mono); font-size: .875rem; font-weight: 500; color: var(--sv-muted); }
.geo-service__he { font-size: 1.25rem; }
.geo-service__do { font-size: .9375rem; line-height: 1.65; }
.geo-service__out { font-size: .9375rem; line-height: 1.6; padding: .6rem .75rem; background: var(--sv-paper-2); border-radius: 4px; }
.geo-service__kinds { display: flex; flex-wrap: wrap; gap: .35rem; }
.geo-service__kinds span { padding: .1rem .55rem; font-size: .75rem; font-weight: 700; border-radius: 999px; background: var(--sv-ink); color: var(--sv-on-ink); }
.geo-depends { margin-block-start: clamp(2rem, 4vw, 3rem); display: grid; gap: .9rem; max-width: 60rem; padding: 1.5rem 1.6rem; border: 1.5px solid var(--sv-ink); border-radius: var(--sv-radius); background: var(--sv-card); }
.geo-depends__title { font-size: 1.25rem; font-weight: 700; }
.geo-depends__list { display: grid; gap: .55rem; }
.geo-depends__list li { position: relative; padding-inline-start: 1.5rem; line-height: 1.6; }
.geo-depends__list li::before { content: "→"; position: absolute; inset-inline-start: 0; color: var(--sv-signal-deep); transform: scaleX(-1); }
.geo-depends__note { padding-block-start: .9rem; border-block-start: 1px dashed var(--sv-line-strong); color: var(--sv-muted); line-height: 1.7; }

/* ---------- Process (ink) ---------- */
.geo-process .sv-intro [lang="en"] { font-family: var(--sv-mono); font-size: .9375rem; color: var(--sv-accent); }
.geo-stages { display: grid; gap: 1rem; counter-reset: geo-stage; }
@media (min-width: 720px) {
	.geo-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
	.geo-stages { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.geo-stage { position: relative; display: grid; gap: .6rem; align-content: start; padding: 1.5rem 1.5rem 1.6rem; background: var(--sv-ink-2); border: 1px solid var(--sv-on-ink-line); border-radius: var(--sv-radius); }
.geo-stage::before { content: ""; position: absolute; inset-inline: 1.5rem; top: 0; height: 3px; background: var(--sv-signal-soft); border-radius: 0 0 3px 3px; }
.geo-stage__num { font-family: var(--sv-mono); font-size: .8125rem; color: var(--sv-accent); }
.geo-stage__title { font-size: 1.5rem; font-weight: 700; color: var(--sv-on-ink); }
.geo-stage__why { line-height: 1.65; color: var(--sv-on-ink); }
.geo-stage__act, .geo-stage__out { font-size: .9375rem; line-height: 1.6; color: var(--sv-on-ink-muted); }
.geo-stage__act strong, .geo-stage__out strong { color: var(--sv-signal-soft); }

/* ---------- Site types ---------- */
.geo-platforms { margin-block-start: clamp(2rem, 4vw, 3rem); display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.geo-platform { display: grid; gap: .45rem; align-content: start; padding: 1.25rem 1.3rem; background: var(--sv-card); border: 1px solid var(--sv-line); border-radius: var(--sv-radius); }
.geo-platform__title { font-family: var(--sv-mono); font-size: 1.0625rem; font-weight: 500; }
.geo-platform__kind { font-size: .8125rem; font-weight: 700; color: var(--sv-signal-deep); }
.geo-platform__text { font-size: .9375rem; line-height: 1.65; }
.geo-sites__note { margin-block-start: 1.5rem; max-width: 60rem; color: var(--sv-muted); line-height: 1.7; }
.geo-sites__more { margin-block-start: .75rem; font-weight: 700; }
.geo-sites__more a, .geo-sources__list a { color: var(--sv-signal-deep); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.geo-sites__more a:hover, .geo-sources__list a:hover { text-decoration-thickness: 2px; }

/* ---------- Measurement ---------- */
.geo-tools { margin-block-start: clamp(2rem, 4vw, 3rem); display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
.geo-tool { display: grid; gap: .5rem; align-content: start; padding: 1.3rem 1.4rem; border: 1.5px solid var(--sv-ink); border-radius: var(--sv-radius); background: var(--sv-card); }
.geo-tool__title { font-family: var(--sv-mono); font-size: 1rem; font-weight: 500; }
.geo-tool__text { font-size: .9375rem; line-height: 1.65; }
.geo-measure__note { margin-block-start: 1.5rem; max-width: 60rem; padding-inline-start: 1rem; border-inline-start: 4px solid var(--sv-accent); color: var(--sv-muted); line-height: 1.7; }

/* ---------- Sources ---------- */
.geo-sources { padding-block: clamp(3rem, 6vw, 5rem); }
.geo-sources__list { display: grid; gap: .5rem; max-width: 60rem; counter-reset: geo-src; }
.geo-sources__list li { counter-increment: geo-src; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .5rem; font-size: .9375rem; line-height: 1.6; }
.geo-sources__list li::before { content: counter(geo-src, decimal-leading-zero); font-family: var(--sv-mono); font-size: .75rem; color: var(--sv-muted); padding-block-start: .2rem; }
.geo-sources__list a { text-align: left; overflow-wrap: anywhere; }

/* ---------- The floating accessibility button (Ally, fixed on the left edge, ~3.25rem wide) must not cover text:
 * keep the page content and the shared footer clear of it wherever the side margin is narrower than the button. */
@media (max-width: 1399px) {
	body.ibastom-sv-geo:has(#pojo-a11y-toolbar) :is(.sv-main .sv-wrap, .ibs-footer) {
		width: min(var(--sv-wrap, 1240px), 100% - var(--sv-gutter) - 3.75rem);
		margin-inline: auto 3.75rem; /* RTL: the free space stays on the right, the button's strip on the left */
	}
}

@media (prefers-reduced-motion: reduce) {
	.geo-service, .geo-trace__list li { transition: none; animation: none; }
}
