/* Kantonsseiten (seo-agentur-<kanton>): Ergänzungen zu app.css */
.seoch-k .mt-auto{margin-top:auto}
.seoch-k .pt-2{padding-top:calc(var(--spacing) * 2)}
.seoch-k-src a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.seoch-k-src a:hover{color:var(--brand)}
.seoch-k-faq summary{list-style:none}
.seoch-k-faq summary::-webkit-details-marker{display:none}
.seoch-k-plus{font-size:1.5rem;line-height:1;transition:transform .3s}
.seoch-k-faq[open] .seoch-k-plus{transform:rotate(45deg)}
.seoch-k .seoch-bars{max-width:none}
.seoch-k .seoch-prose h2{margin-top:2.5rem}
/* leeres Inhalts-Element der generischen Vorlage ausblenden */
article.seoch-prose:empty{display:none}
.seoch-k-big{font-size:clamp(1.5rem,6.5vw,3.75rem);line-height:1;white-space:nowrap}
.seoch-k dt{hyphens:auto;-webkit-hyphens:auto;min-width:0}
/* Hero: Zeichen-Kugel und Rasterlinien */
.seoch-k-sphere{position:absolute;right:-10%;top:50%;transform:translateY(-50%);width:600px;height:600px;opacity:.4;pointer-events:none}
@media(min-width:1024px){.seoch-k-sphere{width:820px;height:820px}}
@media(max-width:767px){.seoch-k-sphere{right:-45%;width:460px;height:460px;opacity:.25}}
.seoch-k-sphere canvas,.seoch-k-tetra canvas{display:block;width:100%;height:100%}
.seoch-k-grid{position:absolute;inset:0;pointer-events:none;opacity:.3;
  background-image:linear-gradient(to right,color-mix(in oklab,var(--foreground) 10%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklab,var(--foreground) 10%,transparent) 1px,transparent 1px);
  background-size:8.333% 100%,100% 12.5%}
.seoch-k-underline{background:linear-gradient(transparent 82%,color-mix(in oklab,var(--foreground) 15%,transparent) 82%)}
/* SEO + GEO */
.seoch-k-tab{min-width:6rem;color:var(--muted-foreground);transition:color .2s;background:none;border:0;cursor:pointer}
.seoch-k-tab:hover,.seoch-k-tab.is-on{color:var(--foreground)}
.seoch-k-tab.is-on{font-weight:500}
.seoch-k-tabline{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.seoch-k-tab.is-on .seoch-k-tabline{transform:scaleX(1)}
.seoch-k-chat{min-height:420px}
.seoch-k-q{max-width:85%;border-bottom-right-radius:.25rem}
.seoch-k-mark{background:color-mix(in oklab,var(--brand) 15%,transparent);color:var(--brand);font-weight:600;border-radius:.25rem;padding:0 .25rem}
.seoch-k-caret{display:inline-block;width:.5rem;height:1rem;margin-left:2px;vertical-align:middle;background:color-mix(in oklab,var(--foreground) 70%,transparent);animation:seochBlink 1s steps(2) infinite}
@keyframes seochBlink{50%{opacity:0}}
.seoch-k-card{border-color:color-mix(in oklab,var(--brand) 30%,transparent);background:color-mix(in oklab,var(--brand) 5%,transparent);opacity:0;transform:translateY(.5rem);transition:opacity .5s,transform .5s}
.seoch-k-card.is-on{opacity:1;transform:none}
.seoch-k-card-i{background:var(--brand);color:var(--brand-foreground)}
/* Ranking-Simulation */
.seoch-k-step .seoch-k-dot{left:-7px;top:.375rem;width:.875rem;height:.875rem;background:var(--background);border-color:color-mix(in oklab,var(--foreground) 25%,transparent);transition:all .5s}
.seoch-k-step .seoch-k-st{color:var(--muted-foreground);transition:color .5s}
.seoch-k-step.is-on .seoch-k-dot{background:var(--brand);border-color:var(--brand);transform:scale(1.1)}
.seoch-k-step.is-on .seoch-k-st{color:var(--foreground)}
.seoch-k-serp{height:532px;margin:0;padding:0;list-style:none}
.seoch-k-row{position:absolute;left:0;right:0;height:76px;padding:0 1.5rem;display:flex;align-items:center;gap:1.25rem;transition:top .7s cubic-bezier(.34,1.4,.64,1)}
.seoch-k-pos{width:1.5rem}
.seoch-k-row .seoch-k-res{padding:.75rem 1rem;margin:0 -1rem}
.seoch-k-row.is-you{z-index:1}
.seoch-k-row.is-you .seoch-k-res{background:color-mix(in oklab,var(--brand) 10%,transparent);border:1px solid color-mix(in oklab,var(--brand) 30%,transparent);border-radius:.25rem}
[data-serp-btn]:disabled{opacity:.6;cursor:default}
.seoch-k-led{background:color-mix(in oklab,var(--foreground) 20%,transparent)}
.seoch-k-led.is-busy{background:var(--brand);animation:seochBlink 1s steps(2) infinite}
.seoch-k-led.is-done{background:var(--color-green-500)}
/* CTA */
.seoch-k-glow{--mx:50%;--my:50%;background:radial-gradient(600px circle at var(--mx) var(--my),color-mix(in oklch,var(--brand) 12%,transparent),transparent 45%)}
.seoch-k-tetra{width:320px;height:320px}
@media(min-width:1024px){.seoch-k-tetra{width:420px;height:420px}}
@media(max-width:767px){.seoch-k-tetra{width:240px;height:240px}}
@media(prefers-reduced-motion:reduce){.seoch-k-row,.seoch-k-card,.seoch-k-step *{transition:none}.seoch-k-caret{animation:none}}
.seoch-k-h1{font-size:clamp(2.5rem,7vw,5.5rem)}
.seoch-k-motif{position:absolute;right:1.5rem;bottom:1.25rem;z-index:10}
@media(max-width:767px){.seoch-k-motif{position:static;margin-top:1rem}}
.seoch-k-sphere{opacity:.55}
@media(max-width:767px){.seoch-k-sphere{opacity:.3}}
