/* Content pages of the site (services, about, contacts, privacy) and the blog. Loaded after site.css, which defines the
   tokens (--bg, --surface, --line, --purple ...), the header, the footer and the buttons. */
.seo-page{--seo-body:#4c4859}
html[data-theme=dark] .seo-page{--seo-body:#cfcade}
.seo-main{max-width:1220px;padding-top:34px;padding-bottom:96px}
.seo-main>*{min-width:0}
.seo-breadcrumb{display:flex;flex-wrap:wrap;gap:4px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.seo-main .seo-breadcrumb a{color:var(--muted);transition:color .2s}.seo-main .seo-breadcrumb a:hover{color:var(--purple);text-decoration:none}
.seo-main .seo-kicker{margin:44px 0 0;font-size:11px;line-height:1.6;font-weight:750;letter-spacing:1.35px;color:var(--purple)}
.seo-page h1{font-size:clamp(34px,5vw,62px);line-height:1.08;letter-spacing:-.045em;margin:16px 0 26px;max-width:980px;overflow-wrap:anywhere}
.seo-page h2{font-size:clamp(24px,3vw,34px);line-height:1.2;letter-spacing:-.035em;margin:0 0 14px}
.seo-page h3{font-size:21px;line-height:1.3;letter-spacing:-.03em}
.seo-lead{font-size:clamp(18px,2vw,21px);line-height:1.65;max-width:880px;color:var(--text)}
.seo-main p,.seo-main li{font-size:16px;line-height:1.8;color:var(--seo-body);max-width:850px;overflow-wrap:anywhere}
.seo-main .seo-lead{color:var(--text)}
.seo-main strong{color:var(--text)}
.seo-main>section{margin:52px 0;max-width:960px}
.seo-main a:not(.btn):not(.seo-card):not(.seo-button){color:var(--purple);text-underline-offset:4px}
.seo-main a:not(.btn):not(.seo-card):not(.seo-button):hover{text-decoration:underline}
.seo-main ul,.seo-main ol{padding-left:22px}
.seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}
.seo-card{display:block;border:1px solid var(--line);border-radius:18px;padding:26px;background:var(--surface);color:var(--text)!important;text-decoration:none!important;transition:transform .25s,border-color .25s,box-shadow .25s}
.seo-card:hover{border-color:var(--purple);transform:translateY(-3px);box-shadow:var(--shadow)}
.seo-card h2,.seo-card h3{margin:0 0 12px;font-size:23px;line-height:1.25;letter-spacing:-.035em}
.seo-card p{margin:0 0 18px;font-size:14px;line-height:1.7;color:var(--seo-body)}
.seo-card span{display:block;font-size:13px;font-weight:700;color:var(--purple)}
.seo-intro{max-width:750px;line-height:1.7}
.seo-cta{margin-top:64px;padding:38px;border:1px solid var(--line);border-radius:23px;background:radial-gradient(ellipse at 45% 0%,#c8abf340,transparent 65%),var(--surface)}
.seo-cta h2{margin-bottom:10px}
.seo-cta p{margin-bottom:22px}
.seo-cta a:not(.btn){margin-left:14px;font-weight:700;color:var(--text)}
.seo-page details{border-bottom:1px solid var(--line);padding:18px 0}
.seo-page summary{cursor:pointer;font-weight:700;font-size:16px;color:var(--text)}
.seo-page details p{margin-top:12px}
.seo-portrait{display:block;width:150px;height:200px;object-fit:cover;object-position:center 25%;border-radius:16px;margin:0 0 20px;border:1px solid var(--line)}
.seo-page :focus-visible{outline:3px solid var(--purple);outline-offset:3px}
@media(max-width:800px){.seo-main{padding-bottom:64px}}
@media(max-width:650px){.seo-grid{grid-template-columns:1fr}.seo-card{padding:22px}.seo-cta{padding:26px 22px}.seo-cta a:not(.btn){display:block;margin:14px 0 0}.seo-main p,.seo-main li{font-size:16px}}
.blog-search{margin:24px 0}.blog-search label{display:block;margin-bottom:8px;color:var(--text);font-weight:650}.blog-search>div{display:flex;gap:12px}.blog-search .form-input{flex:1;min-width:0}.blog-search .btn{flex:none}.seo-card[hidden],[data-blog-empty][hidden]{display:none}
