/* ========================================================================== 
   ARMAND DIGITAL — SEO / GEO
   Search visibility, semantic architecture and generative understanding.
   ========================================================================== */

.page-seo-geo {
    --visibility-space: clamp(84px, 8vw, 144px);
    --visibility-gap: clamp(52px, 6vw, 96px);
    background: var(--paper);
    color: var(--ink);
}

.page-seo-geo main { overflow: clip; }

.visibility-diagnostic,
.visibility-intent,
.visibility-foundations,
.visibility-geo,
.visibility-method,
.visibility-services,
.visibility-faq,
.visibility-next { padding-inline: var(--page-gutter); }

.visibility-index,
.visibility-kicker {
    margin: 0;
    color: var(--signal);
    font-family: var(--font-mono);
    font-size: 0.67rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.visibility-heading {
    width: min(1600px, 100%);
    margin: 0 auto var(--visibility-gap);
    display: grid;
    grid-template-columns: minmax(180px, 0.55fr) minmax(520px, 1.45fr);
    column-gap: clamp(48px, 8vw, 150px);
}

.visibility-heading .visibility-index { grid-column: 1; }

.visibility-heading h2,
.visibility-geo h2,
.visibility-method__heading h2,
.visibility-faq h2,
.visibility-next h2 {
    margin: 0;
    font-size: clamp(3.35rem, 6vw, 7.2rem);
    font-weight: 500;
    letter-spacing: -0.067em;
    line-height: 0.9;
}

.visibility-heading h2 { grid-column: 2; }

.visibility-heading h2 span,
.visibility-geo h2 span,
.visibility-method__heading h2 span,
.visibility-faq h2 span,
.visibility-next h2 span {
    display: block;
    color: rgba(8, 8, 8, 0.38);
}

.visibility-heading > p:last-child {
    grid-column: 2;
    max-width: 700px;
    margin: 34px 0 0;
    color: rgba(8, 8, 8, 0.63);
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    line-height: 1.65;
}

/* Hero */

.visibility-hero {
    position: relative;
    min-height: 100svh;
    padding: 86px var(--page-gutter) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 43%, rgba(255, 73, 56, 0.1), transparent 28%),
        linear-gradient(112deg, #080808, #0c0c0b 70%, #12110f);
    color: var(--paper);
}

.visibility-hero__grid {
    position: absolute;
    inset: 0;
    opacity: 0.55;
    background-image:
        linear-gradient(to right, transparent calc(100% - 1px), rgba(255,255,255,0.05) 1px),
        linear-gradient(to bottom, transparent calc(100% - 1px), rgba(255,255,255,0.04) 1px);
    background-size: clamp(120px, 12vw, 220px) 100%, 100% 104px;
    pointer-events: none;
}

.visibility-hero__inner {
    position: relative;
    z-index: 1;
    width: min(1600px, 100%);
    min-height: calc(100svh - 86px);
    margin: auto;
    display: grid;
    grid-template-rows: 76px minmax(0, 1fr) auto 76px;
    border-inline: 1px solid var(--paper-12);
}

.visibility-hero__meta,
.visibility-hero__footer {
    padding-inline: clamp(24px, 3vw, 52px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-block: 1px solid var(--paper-12);
    color: var(--paper-56);
    font-family: var(--font-mono);
    font-size: 0.64rem;
    letter-spacing: 0.11em;
}

.visibility-hero__meta nav { display: flex; align-items: center; gap: 10px; text-transform: uppercase; }
.visibility-hero__meta a { transition: color 220ms var(--ease-out); }
.visibility-hero__meta a:hover,
.visibility-hero__meta a:focus-visible,
.visibility-hero__meta [aria-current="page"] { color: var(--paper); }

.visibility-hero__body { align-self: center; padding: clamp(28px, 4vh, 64px) clamp(24px, 5vw, 90px); }

.visibility-hero h1 {
    max-width: 1440px;
    margin: clamp(18px, 2.4vh, 32px) 0 0;
    font-size: clamp(4rem, min(7.2vw, 15vh), 8.7rem);
    font-weight: 500;
    letter-spacing: -0.075em;
    line-height: 0.85;
}

.visibility-hero h1 span { display: block; color: var(--paper-40); }

.visibility-hero__copy {
    max-width: 950px;
    margin: clamp(24px, 4vh, 48px) 0 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(26px, 4vw, 64px);
}

.visibility-hero__copy p { margin: 0; color: var(--paper-72); font-size: clamp(0.95rem, 1vw, 1.08rem); line-height: 1.7; }
.visibility-hero__actions { display: grid; grid-template-columns: 1.25fr 1fr; border-top: 1px solid var(--paper-12); }

.visibility-action {
    min-height: 86px;
    padding: 0 clamp(24px, 3vw, 50px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    font-size: 0.84rem;
    font-weight: 700;
    text-transform: uppercase;
    transition: background 350ms var(--ease-out), color 350ms var(--ease-out);
}

.visibility-action + .visibility-action { border-left: 1px solid var(--paper-12); }
.visibility-action--primary { background: var(--signal); color: var(--ink); }
.visibility-action--primary:hover,
.visibility-action--primary:focus-visible { background: var(--paper); }
.visibility-action:not(.visibility-action--primary):hover,
.visibility-action:not(.visibility-action--primary):focus-visible { background: var(--paper-08); }

/* Diagnostic */

.visibility-diagnostic { padding-top: var(--visibility-space); padding-bottom: var(--visibility-space); }

.visibility-diagnostic__system {
    width: min(1600px, 100%);
    margin: auto;
    display: grid;
    grid-template-columns: minmax(390px, 0.82fr) minmax(0, 1.18fr);
    border: 1px solid rgba(8,8,8,0.18);
}

.visibility-diagnostic__tabs { border-right: 1px solid rgba(8,8,8,0.18); }

.visibility-tab {
    width: 100%;
    min-height: 118px;
    padding: 24px 28px;
    display: grid;
    grid-template-columns: 38px 1fr;
    grid-template-rows: auto auto;
    column-gap: 18px;
    text-align: left;
    border: 0;
    border-bottom: 1px solid rgba(8,8,8,0.16);
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    transition: background 300ms var(--ease-out), color 300ms var(--ease-out);
}

.visibility-tab:last-child { border-bottom: 0; }
.visibility-tab > span { grid-row: 1 / 3; padding-top: 4px; color: rgba(8,8,8,0.45); font-family: var(--font-mono); font-size: 0.64rem; }
.visibility-tab strong { font-size: clamp(1.12rem, 1.5vw, 1.55rem); font-weight: 500; letter-spacing: -0.035em; }
.visibility-tab small { margin-top: 8px; color: rgba(8,8,8,0.57); font-size: 0.82rem; line-height: 1.45; }
.visibility-tab:hover,
.visibility-tab:focus-visible { background: rgba(8,8,8,0.045); }
.visibility-tab.is-active { background: var(--ink); color: var(--paper); }
.visibility-tab.is-active > span,
.visibility-tab.is-active small { color: var(--paper-56); }

.visibility-result {
    min-height: 590px;
    padding: clamp(42px, 6vw, 96px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        linear-gradient(rgba(8,8,8,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(8,8,8,0.035) 1px, transparent 1px);
    background-size: 46px 46px;
}

.visibility-result > * { transition: opacity 260ms var(--ease-out), transform 350ms var(--ease-out); }
.visibility-result.is-changing > * { opacity: 0; transform: translateY(12px); }
.visibility-result__label { margin: 0 0 28px; color: var(--signal); font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.12em; }
.visibility-result h3 { max-width: 760px; margin: 0; font-size: clamp(2.5rem, 4vw, 5.4rem); font-weight: 500; letter-spacing: -0.06em; line-height: 0.95; }
.visibility-result > p:not(.visibility-result__label, .visibility-result__decision) { max-width: 720px; margin: 34px 0 0; color: rgba(8,8,8,0.65); font-size: clamp(1rem, 1.15vw, 1.18rem); line-height: 1.65; }
.visibility-result__signals { margin-top: 42px; display: flex; flex-wrap: wrap; gap: 8px; }
.visibility-result__signals span { padding: 9px 12px; border: 1px solid rgba(8,8,8,0.2); font-family: var(--font-mono); font-size: 0.61rem; letter-spacing: 0.06em; text-transform: uppercase; }
.visibility-result__decision { margin: 48px 0 0; padding-top: 22px; display: flex; justify-content: space-between; gap: 28px; border-top: 1px solid rgba(8,8,8,0.22); }
.visibility-result__decision span { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.08em; text-transform: uppercase; }
.visibility-result__decision strong { font-size: 1rem; font-weight: 600; }

/* Intent */

.visibility-intent { padding-top: var(--visibility-space); padding-bottom: var(--visibility-space); background: var(--ink); color: var(--paper); }
.visibility-heading--dark h2 span { color: var(--paper-40); }
.visibility-heading--dark > p:last-child { color: var(--paper-56); }
.intent-path { width: min(1600px,100%); margin: auto; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--paper-18); }
.intent-path article { min-height: 470px; padding: clamp(32px,4vw,62px); display: flex; flex-direction: column; }
.intent-path article + article { border-left: 1px solid var(--paper-18); }
.intent-path article > span { color: var(--signal); font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.1em; }
.intent-path h3 { margin: 76px 0 0; font-size: clamp(2rem,3vw,3.8rem); font-weight: 500; letter-spacing: -0.055em; line-height: 0.96; }
.intent-path p { margin: 28px 0 0; color: var(--paper-56); line-height: 1.65; }
.intent-path strong { margin-top: auto; padding-top: 42px; font-size: 0.88rem; line-height: 1.5; }

/* Foundations */

.visibility-foundations { padding-top: var(--visibility-space); padding-bottom: var(--visibility-space); }

.search-lens {
    width: min(1600px, 100%);
    margin: auto;
    border: 1px solid rgba(8,8,8,0.2);
}

.search-lens__tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid rgba(8,8,8,0.2);
}

.search-lens__tab {
    min-height: 112px;
    padding: 24px clamp(20px,3vw,42px);
    display: grid;
    grid-template-columns: 36px 1fr;
    grid-template-rows: auto auto;
    column-gap: 14px;
    text-align: left;
    color: var(--ink);
    cursor: pointer;
    transition: background 300ms var(--ease-out), color 300ms var(--ease-out);
}

.search-lens__tab + .search-lens__tab { border-left: 1px solid rgba(8,8,8,0.2); }
.search-lens__tab > span { grid-row: 1 / 3; padding-top: 3px; color: var(--signal); font-family: var(--font-mono); font-size: 0.63rem; }
.search-lens__tab strong { font-size: clamp(1.05rem,1.4vw,1.4rem); font-weight: 600; }
.search-lens__tab small { margin-top: 7px; color: rgba(8,8,8,0.52); font-size: 0.78rem; }
.search-lens__tab:hover,
.search-lens__tab:focus-visible { background: rgba(8,8,8,0.05); }
.search-lens__tab.is-active { background: var(--ink); color: var(--paper); }
.search-lens__tab.is-active small { color: var(--paper-56); }

.search-lens__workspace { display: grid; grid-template-columns: minmax(500px,1.1fr) minmax(420px,0.9fr); min-height: 720px; }
.search-lens__preview { position: relative; padding: clamp(38px,5vw,78px); display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(8,8,8,0.2); background: #e7e3db; }
.lens-view[hidden] { display: none; }
.lens-view__caption { margin: 0 0 16px; color: rgba(8,8,8,0.5); font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.1em; }
.lens-browser { border: 1px solid rgba(8,8,8,0.26); background: var(--paper); box-shadow: 0 28px 70px rgba(8,8,8,0.1); }
.lens-browser__bar { min-height: 48px; padding: 0 16px; display: flex; align-items: center; gap: 7px; border-bottom: 1px solid rgba(8,8,8,0.16); }
.lens-browser__bar > span { width: 7px; height: 7px; border-radius: 50%; background: rgba(8,8,8,0.22); }
.lens-browser__bar b { margin-left: 13px; color: rgba(8,8,8,0.46); font-family: var(--font-mono); font-size: 0.59rem; font-weight: 400; }
.lens-browser__page { position: relative; min-height: 440px; padding: clamp(28px,4vw,58px); overflow: hidden; }
.lens-page__nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid rgba(8,8,8,0.14); font-family: var(--font-mono); font-size: 0.58rem; }
.lens-page__nav span { color: rgba(8,8,8,0.48); }
.lens-page__eyebrow { margin-top: 46px; color: var(--signal); font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.1em; }
.lens-page__title { max-width: 650px; margin-top: 18px; font-size: clamp(2rem,3.5vw,4.4rem); font-weight: 500; letter-spacing: -0.06em; line-height: 0.95; }
.lens-page__copy { max-width: 530px; margin-top: 26px; color: rgba(8,8,8,0.58); line-height: 1.6; }
.lens-page__proof { margin-top: 34px; padding-top: 20px; display: flex; flex-wrap: wrap; gap: 14px; border-top: 1px solid rgba(8,8,8,0.15); color: rgba(8,8,8,0.52); font-family: var(--font-mono); font-size: 0.56rem; }
.lens-page__cta { width: min(330px,100%); margin-top: 34px; padding: 16px 18px; display: flex; justify-content: space-between; background: var(--ink); color: var(--paper); font-size: 0.76rem; font-weight: 700; }

.lens-console { overflow: hidden; border: 1px solid rgba(8,8,8,0.28); background: var(--ink); color: var(--paper); box-shadow: 0 28px 70px rgba(8,8,8,0.16); }
.lens-console__header { min-height: 62px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--paper-18); font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.09em; }
.lens-console__header strong { color: var(--signal); font-weight: 500; }
.lens-console__url { padding: 22px; border-bottom: 1px solid var(--paper-18); color: var(--paper-56); font-family: var(--font-mono); font-size: 0.67rem; }
.lens-console__checks { margin: 0; padding: 12px 22px; }
.lens-console__checks > div { min-height: 62px; display: grid; grid-template-columns: minmax(105px,0.4fr) 1fr; align-items: center; gap: 20px; border-bottom: 1px solid var(--paper-12); }
.lens-console__checks > div:last-child { border-bottom: 0; }
.lens-console__checks dt { color: var(--paper-40); font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.08em; }
.lens-console__checks dd { margin: 0; font-family: var(--font-mono); font-size: 0.7rem; }
.lens-console__checks dd i { width: 7px; height: 7px; margin-right: 9px; display: inline-block; border-radius: 50%; background: var(--signal); }
.lens-console__footer { min-height: 62px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid var(--paper-18); color: var(--paper-56); font-family: var(--font-mono); font-size: 0.56rem; }

.lens-answer { padding: clamp(28px,4vw,50px); border: 1px solid rgba(8,8,8,0.25); background: var(--paper); box-shadow: 0 28px 70px rgba(8,8,8,0.1); }
.lens-answer__query > span,
.lens-answer__response > span,
.lens-answer__evidence span,
.lens-answer__sources > span { color: var(--signal); font-family: var(--font-mono); font-size: 0.57rem; letter-spacing: 0.09em; }
.lens-answer__query { padding-bottom: 24px; display: grid; gap: 12px; border-bottom: 1px solid rgba(8,8,8,0.16); }
.lens-answer__query strong { font-size: clamp(1rem,1.4vw,1.25rem); font-weight: 600; }
.lens-answer__response { padding: 28px 0; }
.lens-answer__response p { margin: 18px 0 0; font-size: clamp(1.35rem,2.1vw,2.3rem); letter-spacing: -0.04em; line-height: 1.2; }
.lens-answer__response mark { padding: 0 3px; background: rgba(255,73,56,0.17); color: inherit; }
.lens-answer__evidence { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(8,8,8,0.16); }
.lens-answer__evidence > div { min-height: 120px; padding: 16px; display: flex; flex-direction: column; }
.lens-answer__evidence > div + div { border-left: 1px solid rgba(8,8,8,0.16); }
.lens-answer__evidence strong { margin-top: auto; padding-top: 26px; font-size: 0.76rem; }
.lens-answer__evidence small { margin-top: 5px; color: rgba(8,8,8,0.5); font-size: 0.65rem; }
.lens-answer__sources { margin-top: 22px; display: flex; align-items: center; gap: 10px; }
.lens-answer__sources i { width: 28px; height: 5px; display: block; background: rgba(8,8,8,0.18); }
.lens-answer__sources i:nth-child(3) { width: 46px; }
.lens-answer__sources i:nth-child(4) { width: 36px; }
.search-lens__status { margin-top: 28px; padding-top: 22px; display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 20px; border-top: 1px solid rgba(8,8,8,0.18); }
.search-lens__status span { color: var(--signal); font-family: var(--font-mono); font-size: 0.59rem; letter-spacing: 0.09em; }
.search-lens__status strong { justify-self: end; max-width: 460px; text-align: right; font-size: 0.84rem; line-height: 1.5; }

.search-lens__reading { padding: clamp(42px,5vw,82px); display: flex; flex-direction: column; justify-content: center; }
.search-lens__mode { margin: 0; color: var(--signal); font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.11em; }
.search-lens__reading h3 { margin: 34px 0 0; font-size: clamp(2.45rem,3.8vw,4.9rem); font-weight: 500; letter-spacing: -0.06em; line-height: 0.95; }
.search-lens__reading > p:not(.search-lens__mode, .search-lens__impact) { margin: 28px 0 0; color: rgba(8,8,8,0.62); line-height: 1.68; }
.search-lens__checks { margin: 38px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(8,8,8,0.18); }
.search-lens__checks li { padding: 20px 0; display: grid; grid-template-columns: 34px 1fr; gap: 14px; border-bottom: 1px solid rgba(8,8,8,0.18); }
.search-lens__checks li > span { padding-top: 2px; color: var(--signal); font-family: var(--font-mono); font-size: 0.6rem; }
.search-lens__checks strong { font-size: 0.92rem; }
.search-lens__checks p { margin: 6px 0 0; color: rgba(8,8,8,0.56); font-size: 0.83rem; line-height: 1.5; }
.search-lens__impact { margin: 34px 0 0; padding-top: 22px; display: grid; gap: 10px; border-top: 1px solid rgba(8,8,8,0.18); }
.search-lens__impact span { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.08em; text-transform: uppercase; }
.search-lens__impact strong { font-size: 0.9rem; line-height: 1.5; }

/* GEO */

.visibility-geo { padding-top: var(--visibility-space); padding-bottom: var(--visibility-space); background: #0b0b0b; color: var(--paper); }
.visibility-geo__inner { width: min(1600px,100%); margin: auto; display: grid; grid-template-columns: minmax(360px,0.8fr) minmax(480px,1.2fr); gap: clamp(70px,10vw,180px); }
.visibility-geo__copy { position: sticky; top: 128px; align-self: start; }
.visibility-geo h2 { margin-top: 40px; }
.visibility-geo h2 span { color: var(--paper-40); }
.visibility-geo__copy > p:not(.visibility-index) { max-width: 620px; margin: 30px 0 0; color: var(--paper-56); line-height: 1.7; }
.geo-stack { border-top: 1px solid var(--paper-18); }
.geo-stack article { min-height: 180px; padding: 34px 0; display: grid; grid-template-columns: 68px 1fr; align-items: center; gap: 28px; border-bottom: 1px solid var(--paper-18); }
.geo-stack article > span { color: var(--signal); font-family: var(--font-mono); font-size: 0.68rem; }
.geo-stack h3 { margin: 0; font-size: clamp(2rem,3vw,3.8rem); font-weight: 500; letter-spacing: -0.055em; }
.geo-stack p { max-width: 650px; margin: 16px 0 0; color: var(--paper-56); line-height: 1.65; }

/* Method */

.visibility-method { padding-top: var(--visibility-space); padding-bottom: var(--visibility-space); }
.visibility-method__inner { width: min(1600px,100%); margin: auto; display: grid; grid-template-columns: minmax(330px,0.75fr) minmax(0,1.25fr); gap: clamp(70px,10vw,180px); }
.visibility-method__heading { position: sticky; top: 128px; align-self: start; }
.visibility-method__heading h2 { margin-top: 44px; }
.visibility-method__heading > p:last-child { max-width: 540px; margin: 34px 0 0; color: rgba(8,8,8,0.63); line-height: 1.68; }
.visibility-method__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(8,8,8,0.22); }
.visibility-method__list li { min-height: 190px; padding: 32px 0; display: grid; grid-template-columns: 70px minmax(0,1fr); align-items: center; gap: clamp(24px,4vw,70px); border-bottom: 1px solid rgba(8,8,8,0.22); }
.visibility-method__list li > span { color: var(--signal); font-family: var(--font-mono); font-size: 0.68rem; }
.visibility-method__list h3 { margin: 0; font-size: clamp(2.1rem,3.4vw,4.2rem); font-weight: 500; letter-spacing: -0.055em; }
.visibility-method__list p { max-width: 650px; margin: 14px 0 0; color: rgba(8,8,8,0.6); line-height: 1.6; }
.visibility-method__list strong { display: block; max-width: 650px; margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(8,8,8,0.13); font-size: 0.88rem; }

/* Services */

.visibility-services { padding-top: var(--visibility-space); padding-bottom: var(--visibility-space); background: var(--ink); color: var(--paper); }
.visibility-services__grid { width: min(1600px,100%); margin: auto; display: grid; grid-template-columns: repeat(2,1fr); border: 1px solid var(--paper-18); }
.visibility-services__grid article { min-height: 390px; padding: clamp(32px,4vw,60px); display: flex; flex-direction: column; }
.visibility-services__grid article:nth-child(even) { border-left: 1px solid var(--paper-18); }
.visibility-services__grid article:nth-child(n+3) { border-top: 1px solid var(--paper-18); }
.visibility-services__grid article > span { color: var(--signal); font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.1em; }
.visibility-services__grid h3 { margin: 62px 0 0; font-size: clamp(2.2rem,3.5vw,4.5rem); font-weight: 500; letter-spacing: -0.06em; }
.visibility-services__grid p { max-width: 650px; margin: 24px 0 0; color: var(--paper-56); line-height: 1.65; }
.visibility-services__grid strong { margin-top: auto; padding-top: 38px; font-size: 0.88rem; }
.visibility-services__link { width: min(1600px,100%); min-height: 110px; margin: 0 auto; padding: 28px clamp(24px,3vw,48px); display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--paper-18); border-top: 0; font-weight: 700; transition: background 300ms var(--ease-out); }
.visibility-services__link:hover,
.visibility-services__link:focus-visible { background: var(--paper-08); }

/* FAQ */

.visibility-faq { padding-top: var(--visibility-space); padding-bottom: var(--visibility-space); display: grid; grid-template-columns: 0.75fr 1.25fr; gap: clamp(70px,10vw,180px); }
.visibility-faq header { position: sticky; top: 128px; align-self: start; }
.visibility-faq h2 { margin-top: 34px; }
.visibility-faq__list { border-top: 1px solid rgba(8,8,8,0.22); }
.visibility-faq details { border-bottom: 1px solid rgba(8,8,8,0.22); }
.visibility-faq summary { min-height: 112px; display: grid; grid-template-columns: 42px 1fr 24px; align-items: center; gap: 20px; cursor: pointer; list-style: none; }
.visibility-faq summary::-webkit-details-marker { display: none; }
.visibility-faq summary span { color: var(--signal); font-family: var(--font-mono); font-size: 0.63rem; }
.visibility-faq summary strong { font-size: clamp(1.08rem,1.45vw,1.48rem); font-weight: 500; letter-spacing: -0.025em; }
.visibility-faq summary i,
.visibility-faq summary i::after { width: 17px; height: 1px; display: block; background: var(--ink); transition: transform 260ms var(--ease-out); }
.visibility-faq summary i::after { content: ""; transform: rotate(90deg); }
.visibility-faq details[open] summary i::after { transform: rotate(0); }
.visibility-faq details > p { max-width: 720px; margin: -4px 0 38px 62px; color: rgba(8,8,8,0.63); line-height: 1.7; }

/* Related services */

.visibility-related { padding-inline: var(--page-gutter); background: #e7e3db; }
.visibility-related__inner { width: min(1600px,100%); min-height: 230px; margin: auto; display: grid; grid-template-columns: minmax(150px,0.35fr) minmax(360px,1fr) auto; align-items: center; gap: clamp(32px,6vw,100px); border-top: 1px solid rgba(8,8,8,0.2); }
.visibility-related h2 { margin: 0; font-size: clamp(1.8rem,3vw,3.6rem); font-weight: 500; letter-spacing: -0.055em; line-height: 1; }
.visibility-related__inner > div p { max-width: 650px; margin: 16px 0 0; color: rgba(8,8,8,0.62); line-height: 1.6; }
.visibility-related nav { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.visibility-related a { display: inline-flex; gap: 18px; padding-bottom: 6px; border-bottom: 1px solid var(--signal); font-weight: 700; transition: color 220ms var(--ease-out); }
.visibility-related a:hover,
.visibility-related a:focus-visible { color: var(--signal); }

/* Final */

.visibility-next { padding-top: var(--visibility-space); background: var(--ink); color: var(--paper); }
.visibility-next > .visibility-index,
.visibility-next > h2 { width: min(1600px,100%); margin-inline: auto; }
.visibility-next h2 { margin-top: 36px; padding-bottom: clamp(80px,10vw,160px); }
.visibility-next h2 span { color: var(--paper-40); }
.visibility-next__actions { margin-inline: calc(var(--page-gutter) * -1); display: grid; grid-template-columns: 1.15fr 0.925fr 0.925fr; border-top: 1px solid var(--paper-18); }
.visibility-next__actions a { min-height: 150px; padding: 30px clamp(24px,3vw,52px); display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 8px 18px; border-right: 1px solid var(--paper-18); transition: background 350ms var(--ease-out), color 350ms var(--ease-out); }
.visibility-next__actions a:last-child { border-right: 0; }
.visibility-next__actions small { grid-column: 1 / 3; color: var(--paper-56); }
.visibility-next__actions strong { font-weight: 700; }
.visibility-next__actions a:hover,
.visibility-next__actions a:focus-visible { background: var(--paper-08); }
.visibility-next__actions .visibility-next__primary { background: var(--signal); color: var(--ink); font-size: clamp(1.25rem,2vw,2.3rem); font-weight: 600; letter-spacing: -0.04em; }
.visibility-next__actions .visibility-next__primary:hover,
.visibility-next__actions .visibility-next__primary:focus-visible { background: var(--paper); }

@media (max-width: 1050px) {
    .visibility-heading { grid-template-columns: 1fr; }
    .visibility-heading h2,
    .visibility-heading > p:last-child { grid-column: 1; }
    .visibility-heading h2 { margin-top: 32px; }
    .visibility-diagnostic__system { grid-template-columns: minmax(320px,0.78fr) 1.22fr; }
    .intent-path { grid-template-columns: 1fr; }
    .intent-path article { min-height: 350px; }
    .intent-path article + article { border-left: 0; border-top: 1px solid var(--paper-18); }
    .search-lens__workspace { grid-template-columns: 1fr; }
    .search-lens__preview { border-right: 0; border-bottom: 1px solid rgba(8,8,8,0.2); }
    .visibility-geo__inner,
    .visibility-method__inner { grid-template-columns: 1fr; }
    .visibility-geo__copy,
    .visibility-method__heading { position: static; }
    .visibility-faq { grid-template-columns: 1fr; }
    .visibility-faq header { position: static; }
    .visibility-related__inner { grid-template-columns: 1fr 1.5fr; padding-block: 48px; }
    .visibility-related nav { grid-column: 2; }
    .visibility-next__actions { grid-template-columns: 1fr; }
    .visibility-next__actions a { min-height: 110px; border-right: 0; border-bottom: 1px solid var(--paper-18); }
}

@media (max-width: 760px) {
    .page-seo-geo { --visibility-space: 72px; --visibility-gap: 46px; }
    .visibility-hero { min-height: auto; padding: 74px 18px 0; }
    .visibility-hero__inner { min-height: calc(100svh - 74px); grid-template-rows: auto auto auto auto; border-inline: 0; }
    .visibility-hero__meta { min-height: 72px; padding: 18px 0; }
    .visibility-hero__meta > span { display: none; }
    .visibility-hero__body { padding: 42px 0 38px; }
    .visibility-hero h1 { font-size: clamp(3.1rem,13.4vw,5.3rem); line-height: 0.9; }
    .visibility-hero__copy { grid-template-columns: 1fr; gap: 16px; margin-top: 34px; }
    .visibility-hero__actions { grid-template-columns: 1fr; }
    .visibility-action { min-height: 74px; padding-inline: 18px; }
    .visibility-action + .visibility-action { border-left: 0; border-top: 1px solid var(--paper-12); }
    .visibility-hero__footer { min-height: 64px; padding-inline: 0; font-size: 0.57rem; }
    .visibility-heading h2,
    .visibility-geo h2,
    .visibility-method__heading h2,
    .visibility-faq h2,
    .visibility-next h2 { font-size: clamp(2.8rem,12.5vw,4.5rem); }
    .visibility-diagnostic__system { grid-template-columns: 1fr; }
    .visibility-diagnostic__tabs { border-right: 0; border-bottom: 1px solid rgba(8,8,8,0.18); }
    .visibility-tab { min-height: 102px; padding: 20px 18px; grid-template-columns: 30px 1fr; column-gap: 12px; }
    .visibility-result { min-height: 520px; padding: 50px 22px; }
    .visibility-result h3 { font-size: clamp(2.35rem,10vw,3.6rem); }
    .visibility-result__decision { flex-direction: column; gap: 12px; }
    .intent-path article { min-height: 380px; padding: 30px 24px; }
    .search-lens__tabs { grid-template-columns: 1fr; }
    .search-lens__tab { min-height: 86px; padding: 18px; }
    .search-lens__tab + .search-lens__tab { border-left: 0; border-top: 1px solid rgba(8,8,8,0.2); }
    .search-lens__preview { padding: 28px 18px; }
    .lens-browser__page { min-height: 430px; padding: 28px 20px; }
    .lens-page__nav span { display: none; }
    .lens-page__title { font-size: clamp(2.15rem,10vw,3.2rem); }
    .lens-page__proof { gap: 9px; }
    .lens-console__checks > div { grid-template-columns: 90px 1fr; gap: 12px; }
    .lens-answer { padding: 24px 18px; }
    .lens-answer__evidence { grid-template-columns: 1fr; }
    .lens-answer__evidence > div { min-height: 92px; }
    .lens-answer__evidence > div + div { border-left: 0; border-top: 1px solid rgba(8,8,8,0.16); }
    .search-lens__status { grid-template-columns: 1fr; gap: 10px; }
    .search-lens__status strong { justify-self: start; text-align: left; }
    .search-lens__reading { padding: 48px 22px; }
    .geo-stack article { grid-template-columns: 42px 1fr; gap: 18px; }
    .visibility-method__list li { min-height: 0; padding: 34px 0; grid-template-columns: 42px 1fr; align-items: start; gap: 18px; }
    .visibility-services__grid { grid-template-columns: 1fr; }
    .visibility-services__grid article { min-height: 360px; }
    .visibility-services__grid article:nth-child(even) { border-left: 0; }
    .visibility-services__grid article + article { border-top: 1px solid var(--paper-18); }
    .visibility-faq { gap: 56px; }
    .visibility-faq summary { min-height: 96px; grid-template-columns: 28px 1fr 18px; gap: 12px; }
    .visibility-faq details > p { margin: 0 0 32px 40px; }
    .visibility-related { padding-inline: 18px; }
    .visibility-related__inner { grid-template-columns: 1fr; gap: 28px; }
    .visibility-related nav { grid-column: 1; }
    .visibility-next h2 { padding-bottom: 76px; }
    .visibility-next__actions a { min-height: 104px; padding: 24px 18px; }
}

@media (max-width: 420px) {
}

@media (prefers-reduced-motion: reduce) {
    .visibility-result > * { transition: none; }
}
