/*
Theme Name: СВеБО — Astra
Theme URI: https://swbo.ru/
Description: Дочерняя тема Astra и редактируемые страницы студии СВеБО.
Author: Денис Тептерев
Template: astra
Version: 0.7.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: svebo-astra
License: GPL-2.0-or-later
*/

:root {
  --sv-bg:#f8f9fc; --sv-paper:#fff; --sv-ink:#1c2332;
  --sv-muted:#626b7c; --sv-line:#dce1eb; --sv-blue:#3057ed;
  --sv-pale:#edf1ff; --sv-radius:18px;
}
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body.sv-shell { margin:0; background:var(--sv-bg); color:var(--sv-ink); font-family:Inter,"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.65; }
body.sv-shell *, .editor-styles-wrapper .wp-block-group[class*="sv-"] * { box-sizing:border-box; }
.sv-shell a { color:inherit; text-underline-offset:4px; }
.sv-shell a:hover { color:var(--sv-blue); }
.sv-shell :focus-visible { outline:3px solid var(--sv-blue); outline-offset:5px; }
.sv-skip { position:absolute; top:-90px; left:20px; z-index:1000; padding:10px 20px; background:#fff; }
.sv-skip:focus { top:10px; }
.sv-header { position:sticky; top:0; z-index:30; border-bottom:1px solid var(--sv-line); background:rgba(248,249,252,.96); backdrop-filter:blur(12px); }
body.admin-bar .sv-header { top:32px; }
.sv-header-inner { max-width:1280px; margin:auto; min-height:94px; padding:15px 34px; display:flex; align-items:center; gap:32px; }
.sv-brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; }
.sv-brand-name { font-size:34px; line-height:1; font-weight:800; letter-spacing:-.065em; }
.sv-brand-caption { font-size:11px; line-height:1.4; color:var(--sv-muted); max-width:80px; }
.sv-nav { display:flex; align-items:center; gap:30px; margin-left:auto; }
.sv-nav a, .sv-nav summary { font-size:14px; font-weight:600; text-decoration:none; white-space:nowrap; }
.sv-dropdown { position:relative; }
.sv-dropdown summary { cursor:pointer; list-style:none; }
.sv-dropdown summary::-webkit-details-marker { display:none; }
.sv-dropdown summary::after { content:'⌄'; display:inline-block; margin-left:7px; }
.sv-dropdown[open] summary::after { transform:rotate(180deg); }
.sv-dropdown-list { position:absolute; top:35px; left:-20px; width:240px; padding:12px; display:grid; gap:3px; border:1px solid var(--sv-line); background:white; border-radius:12px; box-shadow:0 15px 45px #17244512; }
.sv-dropdown-list a { padding:10px 12px; border-radius:6px; }
.sv-dropdown-list a:hover { background:var(--sv-pale); }
.sv-header-cta { padding:10px 18px; border:1px solid var(--sv-ink); border-radius:9px; font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap; }
.sv-header-phone { font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap; }
.sv-business-note { margin-top:22px!important; font-size:12px; line-height:1.7; color:var(--sv-muted); }
.sv-business-note a { text-decoration:none; border-bottom:1px solid #bec8e2; padding-bottom:3px; }
.sv-business .sv-lead { margin-top:-13px!important; margin-bottom:30px!important; }
.sv-business-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.sv-business-card { padding:25px; border:1px solid var(--sv-line); border-radius:12px; background:var(--sv-paper); }
.sv-business-card h3 { font-size:20px; margin:0 0 12px; line-height:1.3; }
.sv-business-card p { font-size:14px; color:var(--sv-muted); }
.sv-it-section .sv-lead { margin-top:-13px!important; margin-bottom:35px!important; }
.sv-it-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.sv-it-item { padding:24px 0; border-top:1px solid var(--sv-line); }
.sv-it-item h3 { font-size:21px; line-height:1.35; margin:0 0 10px; }
.sv-it-item p { color:var(--sv-muted); font-size:14px; max-width:490px; }
.sv-contact-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:28px; }
.sv-contact-link { display:flex; flex-direction:column; gap:7px; padding:16px 18px; min-width:0; border:1px solid var(--sv-line); border-radius:10px; background:var(--sv-paper); text-decoration:none; transition:border-color .15s,background .15s; }
.sv-contact-link:hover { border-color:var(--sv-blue); background:var(--sv-pale); }
.sv-contact-label { font-size:14px; font-weight:650; }
.sv-contact-caption { font-size:12px; color:var(--sv-muted); overflow-wrap:anywhere; }
.sv-contact-brief { background:var(--sv-paper); border:1px solid var(--sv-line); border-radius:16px; padding:32px; }
.sv-contact-brief h3 { font-size:26px; line-height:1.3; letter-spacing:-.03em; margin:0 0 20px; }
.sv-contact-brief>p { color:var(--sv-muted); font-size:15px; }
.sv-preview-compose { margin-top:30px; padding-top:20px; border-top:1px solid var(--sv-line); }
.sv-preview-compose>summary { cursor:pointer; color:var(--sv-blue); font-size:13px; font-weight:600; }
.sv-preview-compose[open]>.sv-form { margin-top:20px; }
.sv-menu-button { display:none; }
.sv-menu-button[hidden] { display:none!important; }
.sv-main { width:min(1280px,100%); margin:0 auto; padding:0 34px; }
.sv-main :where(p,h1,h2,h3,ul,figure,details), .editor-styles-wrapper :where(.sv-section p,.sv-section h1,.sv-section h2,.sv-section h3) { margin:0; }
.sv-main p+p { margin-top:16px; }
.sv-main .wp-block-group { max-width:none; }
.sv-section { padding:88px 0; border-bottom:1px solid var(--sv-line); }
.sv-eyebrow { color:var(--sv-blue); font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; line-height:1.5; margin-bottom:20px!important; }
.sv-title { font-size:clamp(38px,4.65vw,66px); font-weight:650; line-height:1.08; letter-spacing:-.052em; text-wrap:balance; max-width:900px; }
.sv-lead { font-size:18px; line-height:1.7; color:var(--sv-muted); max-width:740px; margin-top:25px!important; }
.sv-note { font-size:13px; line-height:1.7; color:var(--sv-muted); margin-top:22px!important; max-width:680px; }
.sv-section-title { font-size:clamp(30px,3.15vw,44px); line-height:1.15; letter-spacing:-.04em; font-weight:600; margin:0 0 35px!important; text-wrap:balance; }
.sv-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:30px; }
.sv-actions .wp-block-button { margin:0; }
.sv-actions .wp-block-button__link, .sv-submit { display:inline-flex; align-items:center; justify-content:center; min-height:49px; padding:13px 21px; border:1px solid var(--sv-blue); border-radius:9px; background:var(--sv-blue); color:#fff; font-size:14px; font-weight:600; line-height:1.4; text-decoration:none; cursor:pointer; transition:background .15s,transform .15s; box-shadow:none; }
.sv-actions .wp-block-button__link:hover, .sv-submit:hover { color:#fff; background:#2445ca; transform:translateY(-1px); }
.sv-actions .sv-secondary .wp-block-button__link { background:transparent; color:var(--sv-ink); border-color:var(--sv-line); }
.sv-actions .sv-secondary .wp-block-button__link:hover { background:#fff; color:var(--sv-blue); border-color:var(--sv-blue); }
.sv-hero { display:grid; grid-template-columns:minmax(0,1.42fr) minmax(0,.82fr); gap:55px; align-items:center; padding-top:74px; padding-bottom:74px; }
.sv-hero .sv-title { font-size:clamp(38px,4.25vw,59px); max-width:770px; }
.sv-hero .sv-lead { font-size:17px; max-width:610px; }
.sv-location::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; margin:0 8px 2px 0; background:var(--sv-blue); }
.sv-orbit { position:relative; isolation:isolate; overflow:hidden; background:var(--sv-blue); border-radius:var(--sv-radius); min-height:450px; padding:40px 30px; display:flex; flex-direction:column; justify-content:center; color:#fff; }
.sv-orbit::before { content:''; position:absolute; z-index:-1; width:420px; height:260px; border:1px solid #ffffff4a; border-radius:50%; transform:rotate(-34deg); left:-22px; top:75px; }
.sv-orbit::after { content:''; position:absolute; width:8px; height:8px; background:#fff; border-radius:50%; top:99px; right:54px; box-shadow:0 0 0 6px #ffffff18; }
.sv-orbit-word { font-size:clamp(45px,5.4vw,74px); line-height:1.1; letter-spacing:-.06em; font-weight:800; }
.sv-orbit-motto { font-size:24px; line-height:1.25; letter-spacing:-.025em; margin-top:35px!important; }
.sv-orbit-caption { position:absolute; bottom:27px; left:30px; font-size:11px; color:#e0e6ff; letter-spacing:.07em; text-transform:uppercase; }
.sv-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sv-service-card { padding:30px; background:var(--sv-paper); border:1px solid var(--sv-line); border-radius:var(--sv-radius); display:flex; flex-direction:column; align-items:flex-start; }
.sv-card-number { font-size:12px; color:var(--sv-blue); margin-bottom:36px!important; }
.sv-service-card h3 { font-size:25px; letter-spacing:-.025em; line-height:1.22; margin:0 0 17px; }
.sv-service-card>p:not(.sv-price):not(.sv-card-number):not(.sv-text-link) { font-size:15px; color:var(--sv-muted); }
.sv-service-card .sv-price { padding-top:28px; margin-top:auto!important; font-size:24px; font-weight:600; letter-spacing:-.035em; color:var(--sv-ink); }
.sv-text-link { font-size:14px; font-weight:600; margin-top:18px!important; }
.sv-text-link a { text-decoration:none; }
.sv-text-link span { display:inline-block; padding-left:5px; }
.sv-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px 22px; }
.sv-project-cover { min-height:215px; padding:28px; border-radius:12px; margin:0 0 25px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
.sv-project-cover::after { content:''; width:180px; height:180px; border:1px solid currentColor; border-radius:50%; position:absolute; top:-75px; right:-65px; opacity:.2; }
.sv-cover-dent { background:#e2eee9; color:#2c6456; }
.sv-cover-school { background:#f8e9d7; color:#87562d; }
.sv-cover-aks { background:#e2e8f5; color:#325c92; }
.sv-cover-title { font-size:32px; font-weight:650; letter-spacing:-.05em; line-height:1.1; position:relative; }
.sv-cover-domain { font-size:12px; font-weight:500; margin-top:44px!important; }
.sv-project .sv-eyebrow { font-size:10px; margin-bottom:10px!important; }
.sv-project h3 { margin:0 0 11px; font-size:24px; font-weight:600; letter-spacing:-.025em; }
.sv-project>p:not(.sv-eyebrow) { font-size:14px; line-height:1.65; color:var(--sv-muted); }
.sv-project .sv-project-link { margin-top:15px; font-size:13px; font-weight:600; }
.sv-project-link a { text-decoration:none; color:var(--sv-ink); }
.sv-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.sv-step { border-top:1px solid var(--sv-line); padding-top:20px; }
.sv-step-number { color:var(--sv-blue); font-size:12px; margin-bottom:30px!important; }
.sv-step h3 { font-size:21px; letter-spacing:-.03em; margin-bottom:13px; }
.sv-step>p:last-child { color:var(--sv-muted); font-size:14px; }
.sv-person { display:grid; grid-template-columns:1.3fr .7fr; gap:80px; align-items:center; }
.sv-person-aside { padding:40px; border-left:2px solid var(--sv-blue); }
.sv-person-quote { font-size:29px; line-height:1.3; letter-spacing:-.03em; }
.sv-person-copy .sv-lead { margin-top:0!important; }
.sv-faq-section { max-width:900px; margin:auto; }
.sv-faq { border-top:1px solid var(--sv-line); padding:23px 0; }
.sv-faq:last-child { border-bottom:1px solid var(--sv-line); }
.sv-faq summary { cursor:pointer; font-size:18px; line-height:1.4; font-weight:550; padding-right:32px; position:relative; list-style:none; }
.sv-faq summary::-webkit-details-marker { display:none; }
.sv-faq summary::after { content:'+'; position:absolute; right:2px; top:-3px; font-size:26px; color:var(--sv-blue); font-weight:400; }
.sv-faq[open] summary::after { content:'−'; }
.sv-faq p { margin-top:16px!important; color:var(--sv-muted); font-size:15px; max-width:720px; }
.sv-other { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.sv-other-copy { max-width:720px; }
.sv-other h2 { font-size:29px; letter-spacing:-.035em; line-height:1.2; margin:0 0 16px; }
.sv-other p { color:var(--sv-muted); }
.sv-other .sv-actions { flex-shrink:0; margin-top:0; }
.sv-contact { display:grid; grid-template-columns:1fr 1fr; gap:85px; border-bottom:0; }
.sv-contact-intro .sv-section-title { margin-bottom:0!important; }
.sv-contact .sv-lead { font-size:16px; }
.sv-form { display:grid; gap:17px; }
.sv-form label { display:grid; gap:8px; color:var(--sv-ink); font-size:13px; font-weight:600; }
.sv-form .sv-field-hint { color:var(--sv-muted); font-size:12px; font-weight:400; }
.sv-form :where(input[type=text],input[type=url],input[type=email],textarea,select) { width:100%; max-width:100%; background:#fff; color:var(--sv-ink); border:1px solid #cdd5e3; border-radius:9px; padding:12px 14px; font:inherit; font-size:15px; line-height:1.4; margin:0; min-height:46px; box-shadow:none; }
.sv-form textarea { resize:vertical; min-height:112px; }
.sv-form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.sv-form .sv-consent { display:flex; align-items:flex-start; gap:10px; font-size:12px; line-height:1.65; font-weight:400; color:var(--sv-muted); }
.sv-consent input { flex:0 0 auto; margin:4px 0 0; width:16px; height:16px; accent-color:var(--sv-blue); }
.sv-submit { justify-self:start; }
.sv-submit:disabled { cursor:not-allowed; opacity:.5; transform:none; }
.sv-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.sv-form-status { padding:16px 18px; border-radius:9px; background:var(--sv-pale); font-size:14px; line-height:1.6; margin:0 0 20px; }
.sv-preview-result { margin:12px 0 0; padding:18px; border:1px solid var(--sv-line); border-radius:10px; background:#fff; }
.sv-preview-result[hidden] { display:none; }
.sv-preview-result pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:14px; max-height:350px; overflow:auto; background:transparent; color:var(--sv-ink); margin:14px 0; }
.sv-preview-result button { background:var(--sv-pale); color:var(--sv-blue); border:0; border-radius:7px; padding:9px 12px; cursor:pointer; font:inherit; font-size:13px; }
.sv-service-hero { padding-top:70px; padding-bottom:65px; }
.sv-service-hero .sv-title { max-width:960px; }
.sv-hero-price { font-size:17px; margin-top:22px!important; font-weight:600; }
.sv-reading { max-width:930px; margin:auto; }
.sv-list { padding-left:21px; display:grid; gap:14px; max-width:850px; margin-top:15px!important; font-size:17px; }
.sv-list li { padding-left:6px; }
.sv-list li::marker { color:var(--sv-blue); }
.sv-table { overflow-x:auto; margin:25px 0 0; }
.sv-table table { border-collapse:collapse; width:100%; table-layout:auto; font-size:15px; text-align:left; margin:0; }
.sv-table th { background:#edf1fb; font-size:13px; font-weight:650; }
.sv-table td,.sv-table th { padding:19px 20px; border:0; border-bottom:1px solid var(--sv-line); vertical-align:top; line-height:1.6; }
.sv-table td:first-child { width:45%; font-weight:500; }
.sv-two-columns { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.sv-info-panel { padding:30px; border:1px solid var(--sv-line); border-radius:12px; }
.sv-info-panel h3 { font-size:23px; margin-bottom:17px; }
.sv-info-panel p { color:var(--sv-muted); }
.sv-manifesto .sv-section-title { max-width:900px; font-size:clamp(34px,4.4vw,60px); }
.sv-footer { background:#eef1f7; border-top:1px solid var(--sv-line); }
.sv-footer-inner { max-width:1280px; margin:auto; padding:55px 34px 28px; }
.sv-footer-top { display:flex; align-items:flex-start; justify-content:space-between; gap:40px; }
.sv-footer-description { font-size:13px; color:var(--sv-muted); margin:16px 0 0; max-width:270px; }
.sv-footer-motif { font-size:20px; line-height:1.5; letter-spacing:-.02em; margin:17px 0 0; }
.sv-footer-links { display:grid; gap:10px; font-size:13px; }
.sv-footer-links a { text-decoration:none; }
.sv-footer-bottom { margin-top:45px; padding-top:20px; border-top:1px solid var(--sv-line); display:flex; gap:20px; justify-content:space-between; font-size:11px; color:var(--sv-muted); }
.sv-preview-bar { padding:7px 18px; background:var(--sv-ink); color:#fff; text-align:center; font-size:11px; line-height:1.5; letter-spacing:.025em; }
.sv-preview-noscript { padding:15px 30px; background:var(--sv-pale); }
@media (min-width:1001px) { .sv-nav[hidden] { display:flex!important; } }
@media (max-width:1100px) {
 .sv-nav { gap:19px; } .sv-header-inner { gap:22px; } .sv-brand-caption { display:none; }
 .sv-hero { gap:30px; grid-template-columns:1.4fr .85fr; } .sv-orbit { min-height:405px; padding:27px; }
 .sv-orbit-word { font-size:58px; } .sv-orbit-motto { font-size:22px; }
 .sv-service-card { padding:24px; } .sv-service-card h3 { font-size:23px; }
 .sv-person,.sv-contact { gap:45px; } .sv-cover-title { font-size:28px; }
}
@media (max-width:1250px) { .sv-header-phone { display:none; } }
@media (max-width:1000px) {
 .sv-header-inner { min-height:78px; padding:15px 25px; flex-wrap:wrap; }
 .sv-brand { margin-right:auto; } .sv-header-cta { margin-left:auto; }
 .sv-menu-button { display:block; border:1px solid var(--sv-line); background:transparent; border-radius:7px; padding:8px 12px; color:var(--sv-ink); font:inherit; font-size:13px; cursor:pointer; }
 .sv-nav { width:100%; order:4; padding:18px 0 10px; border-top:1px solid var(--sv-line); align-items:flex-start; margin:0; gap:25px; flex-wrap:wrap; }
 .sv-nav[hidden] { display:none; } .sv-dropdown-list { position:static; margin-top:15px; box-shadow:none; }
 .sv-main { padding:0 25px; } .sv-section { padding-top:65px; padding-bottom:65px; }
 .sv-orbit { min-height:370px; } .sv-orbit-word { font-size:48px; }
 .sv-hero .sv-title { font-size:clamp(37px,5vw,49px); }
 .sv-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 23px; }
 .sv-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
 .sv-person { gap:35px; grid-template-columns:1.2fr .8fr; }
 .sv-person-aside { padding:25px; } .sv-person-quote { font-size:25px; }
 .sv-contact { gap:35px; }
}
@media (max-width:760px) {
 html { scroll-padding-top:90px; }
 body.admin-bar .sv-header { top:46px; }
 .sv-header-inner { padding:14px 20px; gap:14px; min-height:75px; }
 .sv-brand-name { font-size:30px; } .sv-header-cta { padding:8px 10px; font-size:11px; }
 .sv-menu-button { font-size:0; width:38px; height:34px; padding:0; position:relative; }
 .sv-menu-button::before { content:'☰'; font-size:19px; position:absolute; inset:0; display:grid; place-items:center; }
 .sv-nav { flex-direction:column; gap:18px; }
 .sv-nav a,.sv-nav summary { font-size:15px; }
 .sv-main { padding:0 20px; }
 .sv-section { padding-top:52px; padding-bottom:52px; }
 .sv-title,.sv-hero .sv-title { font-size:clamp(36px,7.8vw,48px); letter-spacing:-.045em; }
 .sv-eyebrow { font-size:10px; margin-bottom:18px!important; }
 .sv-hero { grid-template-columns:1fr; padding-top:45px; gap:35px; }
 .sv-hero .sv-lead { font-size:16px; }
 .sv-orbit { display:none; }
 .sv-lead { font-size:16px; margin-top:20px!important; }
 .sv-actions { gap:10px; margin-top:25px; }
 .sv-actions .wp-block-button__link { padding:12px 16px; font-size:13px; min-height:47px; }
 .sv-section-title { font-size:31px; margin-bottom:28px!important; }
 .sv-service-grid { grid-template-columns:1fr; gap:13px; }
 .sv-service-card { padding:25px; }
 .sv-card-number { margin-bottom:24px!important; }
 .sv-service-card .sv-price { padding-top:24px; }
 .sv-project-grid { gap:33px 18px; }
 .sv-project-cover { min-height:180px; padding:20px; }
 .sv-cover-title { font-size:26px; }
 .sv-project h3 { font-size:22px; }
 .sv-steps { gap:30px 20px; }
 .sv-step h3 { font-size:20px; }
 .sv-step-number { margin-bottom:22px!important; }
 .sv-person { grid-template-columns:1fr; gap:30px; }
 .sv-person-aside { padding:5px 0 5px 25px; }
 .sv-person-quote { font-size:25px; }
 .sv-other { flex-direction:column; align-items:flex-start; gap:25px; }
 .sv-business-grid,.sv-it-grid { grid-template-columns:1fr; gap:14px; }
 .sv-business-card { padding:24px; }
 .sv-it-item { padding:21px 0; }
 .sv-contact-brief { padding:25px; }
 .sv-contact { grid-template-columns:1fr; gap:35px; }
 .sv-form-row { gap:12px; }
 .sv-faq summary { font-size:16px; }
 .sv-table table { font-size:13px; min-width:550px; }
 .sv-table th,.sv-table td { padding:15px 13px; }
 .sv-two-columns { grid-template-columns:1fr; }
 .sv-footer-inner { padding:40px 20px 25px; }
 .sv-footer-top { flex-wrap:wrap; gap:28px; }
 .sv-footer-brand { width:100%; }
 .sv-footer-motif { font-size:18px; }
 .sv-footer-bottom { flex-direction:column; gap:8px; }
 .sv-footer-bottom a[rel~="privacy-policy"] { max-width:calc(100% - 44px); overflow-wrap:anywhere; }
}
@media (max-width:440px) {
 .sv-project-grid { grid-template-columns:1fr; }
 .sv-project-cover { min-height:200px; }
 .sv-form-row { grid-template-columns:1fr; }
 .sv-hero .sv-actions { flex-direction:column; align-items:stretch; }
 .sv-hero .wp-block-button,.sv-hero .wp-block-button__link { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .sv-actions .wp-block-button__link,.sv-submit { transition:none; }
}

/* 0.3: real project imagery. Layout is stored in Spectra Container attributes. */
body.sv-shell { background:#f7f8fc; }
.sv-main .wp-block-uagb-container { max-width:100%; min-width:0; }
.sv-main img { display:block; max-width:100%; height:auto; }
.sv-main .sv-screen { margin:0; overflow:hidden; width:100%; }
.sv-screen a { display:block; }
.sv-screen img { width:100%; transition:transform .3s ease; }
.sv-screen a:hover img { transform:scale(1.025); }
.sv-hero { align-items:center; }
.sv-hero .sv-title { font-size:clamp(38px,4.2vw,62px); font-weight:650; letter-spacing:-.055em; line-height:1.13; }
.sv-hero .sv-title em { font-style:normal; color:var(--sv-blue); }
.sv-hero-copy .sv-lead { max-width:510px; font-size:17px; line-height:1.75; }
.sv-hero-board { position:relative; border:1px solid #dbe2fa; background:linear-gradient(140deg,#e9efff,#f1f3fc 60%,#e0e8ff); border-radius:22px; box-shadow:0 20px 65px #24377d0a; }
.sv-hero-board::before { content:''; position:absolute; width:160px; height:160px; border:1px solid #3057ed1a; border-radius:50%; top:-24px; right:-22px; pointer-events:none; }
.sv-hero-board>.sv-eyebrow { font-size:10px; margin-bottom:16px!important; }
.sv-hero-main-screen { background:white; border:1px solid #dce2f1; border-radius:11px; overflow:hidden; box-shadow:0 12px 25px #10275a12; }
.sv-browser-bar { padding:9px 13px; background:#fff; font-size:10px; line-height:1.5; color:#6d7384; letter-spacing:.02em; }
.sv-browser-bar::before { content:'•••'; letter-spacing:3px; color:#b5bdcf; margin-right:14px; }
.sv-hero-main-screen .sv-screen { aspect-ratio:1.72; }
.sv-hero-main-screen img { aspect-ratio:1.72; object-fit:cover; object-position:top; }
.sv-hero-thumbs { margin-top:14px; }
.sv-hero-thumbs .sv-screen { aspect-ratio:1.55; border-radius:9px; border:1px solid #dce2f1; box-shadow:0 7px 20px #10275a0a; }
.sv-hero-thumbs img { aspect-ratio:1.55; object-fit:cover; object-position:top; }
.sv-hero-proof { font-size:11px; color:#68728b; margin-top:18px!important; }
.sv-hero-proof strong { color:var(--sv-ink); }
.sv-hero-proof a { text-decoration:none; }
.sv-brand-strip { border-bottom:1px solid var(--sv-line); position:relative; }
.sv-manifesto-line { font-size:clamp(20px,2.2vw,29px); letter-spacing:-.035em; font-weight:600; }
.sv-manifesto-line::before { content:'✳'; display:inline-block; color:var(--sv-blue); margin-right:17px; font-size:28px; vertical-align:-2px; }
.sv-manifesto-subline { color:var(--sv-muted); font-size:13px; margin-top:7px!important; }
.sv-service-card { border-radius:16px; box-shadow:0 6px 24px #14275403; }
.sv-service-card:first-child { background:var(--sv-blue); border-color:var(--sv-blue); color:white; }
.sv-service-card:first-child :is(.sv-card-number,.sv-price,.sv-text-link,.sv-text-link a) { color:white; }
.sv-service-card:first-child>p:not(.sv-price):not(.sv-card-number):not(.sv-text-link) { color:#e2e8ff; }
.sv-card-number { margin-bottom:30px!important; }
.sv-project-cover { min-height:0; padding:24px; margin-bottom:24px; border-radius:14px; box-shadow:none; }
.sv-project-cover:has(.sv-screen) { aspect-ratio:1.22; justify-content:center; }
.sv-project-cover::after { display:none; }
.sv-project-cover .sv-browser-bar { padding:7px 10px; border-radius:6px 6px 0 0; }
.sv-project-cover .sv-screen { aspect-ratio:1.45; border-radius:0 0 6px 6px; box-shadow:0 13px 22px #10253618; }
.sv-project-cover img { aspect-ratio:1.45; object-fit:cover; object-position:top; }
.sv-cover-dent { background:#e4efed; }
.sv-cover-school { background:#f6eadd; }
.sv-cover-aks { background:#e0e9eb; }
.sv-project h3 { font-size:26px; }
.sv-project-link a { border-bottom:1px solid #bfc8db; padding-bottom:3px; }
.sv-it-section { background:transparent; }
.sv-business { border-radius:0; }
.sv-back-link { color:var(--sv-muted); font-size:13px; margin-bottom:28px!important; }
.sv-back-link a { text-decoration:none; }
.sv-case-hero .sv-title { max-width:1000px; }
.sv-case-hero { border-bottom:0; }
.sv-case-screen { background:#e9eef8; padding:30px; border:1px solid #dce2ee; border-radius:18px; }
.sv-case-screen>.sv-browser-bar { border-radius:10px 10px 0 0; }
.sv-case-screen .sv-screen { border-radius:0 0 10px 10px; box-shadow:0 15px 40px #18325c18; }
.sv-case-task .sv-lead { margin-top:0!important; }
.sv-case-result { background:var(--sv-pale); border-radius:18px; padding:40px; border-bottom:0; }
.editor-styles-wrapper .wp-block-uagb-container[class*='sv-'] { box-sizing:border-box; }
.editor-styles-wrapper .sv-title { color:var(--sv-ink); }
@media(max-width:1024px) {
 .sv-hero-copy .sv-lead { max-width:650px; }
 .sv-hero-board { max-width:660px!important; }
 .sv-case-screen { padding:20px; }
}
@media(max-width:767px) {
 .sv-hero { padding-top:40px; }
 .sv-hero .sv-title { font-size:clamp(32px,7.7vw,48px); line-height:1.16; }
 .sv-hero-copy .sv-lead { font-size:16px; }
 .sv-hero-board { border-radius:15px; }
 .sv-hero-board::before { display:none; }
 .sv-hero-proof { font-size:10px; }
 .sv-project-cover:has(.sv-screen) { aspect-ratio:1.36; }
 .sv-manifesto-line { font-size:22px; line-height:1.35; }
 .sv-manifesto-line::before { display:none; }
 .sv-manifesto-subline { font-size:12px; }
 .sv-case-screen { padding:12px; border-radius:12px; }
 .sv-case-hero .sv-title { font-size:37px; }
 .sv-case-result { padding:28px 22px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .sv-screen img { transition:none; } }
.sv-nav-list { list-style:none; display:flex; align-items:center; gap:30px; padding:0; margin:0; }
.sv-nav-list li { position:relative; margin:0; }
.sv-nav-list .sub-menu { display:none; list-style:none; position:absolute; left:-18px; top:100%; padding:20px 12px 12px; width:250px; background:#fff; border:1px solid var(--sv-line); border-radius:10px; margin:0; box-shadow:0 15px 40px #17375b12; }
.sv-nav-list .sub-menu a { display:block; white-space:normal; padding:8px; }
.sv-nav-list li:hover>.sub-menu,.sv-nav-list li:focus-within>.sub-menu { display:block; }
.sv-nav-list .menu-item-has-children>a::after { content:'⌄'; padding-left:6px; }
.sv-footer-menu { list-style:none; display:grid; gap:12px; padding:0; margin:0; }
@media(max-width:1000px) { .sv-nav-list { flex-direction:column; align-items:flex-start; gap:18px; } .sv-nav-list .sub-menu { display:block; position:static; box-shadow:none; background:transparent; border:0; padding:12px 0 0 12px; } }
.sv-case-screen .sv-screen img { aspect-ratio:1.44; object-fit:contain; background:white; }

/* 0.3.1: compatibility with generated Spectra Legacy container styles.
 * Keep project images in one vertical flow on existing saved pages. A wrapped
 * column plus an aspect-ratio height can move its image into a second column.
 */
.sv-main .wp-block-uagb-container.sv-project-cover {
 flex-wrap:nowrap;
 aspect-ratio:auto;
}
/* Legacy emits border-color:inherit for containers without an explicit color.
 * Keep decorative borders in the shared palette rather than inheriting text.
 */
.sv-main .wp-block-uagb-container[class*='sv-'] { border-color:var(--sv-line); }
.sv-main .wp-block-uagb-container.sv-service-card:first-child { border-color:var(--sv-blue); }
.sv-main .wp-block-uagb-container.sv-person-aside { border-color:var(--sv-blue); }
.sv-main .wp-block-uagb-container.sv-hero-board { border-color:#dbe2fa; }
.sv-main .sv-table { width:100%; max-width:100%; min-width:0; }
@media(max-width:767px) {
 .sv-service-hero .sv-title { font-size:clamp(32px,8.8vw,44px); }
 .sv-case-hero .sv-title { font-size:clamp(30px,8.8vw,37px); }
}

/* Contact icons in the existing shortcode; native page styling stays in blocks. */
.sv-contact-heading { display:flex; align-items:center; gap:10px; }
.sv-contact-icon { display:inline-flex; flex:0 0 24px; width:24px; height:24px; color:var(--sv-blue); }
.sv-contact-icon svg { width:100%; height:100%; fill:currentColor; }

/* Legacy templates and the portable preview mirror the new native block design. */
.sv-illustration { margin:0; width:100%; }
.sv-illustration img { display:block; width:100%; max-width:480px; height:auto; margin-inline:auto; }
.sv-hero-board { background:#14264a; border-color:#14264a; }
.sv-hero-board>.sv-eyebrow,.sv-hero-board>.sv-hero-proof,.sv-hero-board>.sv-hero-proof a { color:#c9d7ff; }
.sv-project { background:white; border:1px solid var(--sv-line); border-radius:22px; padding:18px; }
.sv-project-cover { min-height:0; padding:10px; margin-bottom:20px; }
.sv-project-cover::after { display:none; }
.sv-service-visual { background:#edf2ff; border-radius:28px; padding:24px; }
.sv-conversion-band { background:var(--sv-blue); border:0; border-radius:26px; padding:40px; margin-block:32px; align-items:center; }
.sv-conversion-band .sv-eyebrow,.sv-conversion-band .sv-section-title,.sv-conversion-band .sv-lead { color:white; }
.sv-conversion-band .sv-primary a { background:white; color:var(--sv-blue); }
.sv-conversion-band .sv-secondary a { color:white; border-color:#8da6ff; }
.sv-step,.sv-business-card { background:white; border:1px solid var(--sv-line); border-radius:16px; padding:22px; }
@media(max-width:767px) { .sv-conversion-band { padding:28px; } }

/* Keep anchor headings below the WordPress admin bar while editing. */
.admin-bar.sv-shell .sv-native-main [id],.admin-bar.sv-shell .sv-main [id] { scroll-margin-top:32px; }
@media(max-width:782px) { .admin-bar.sv-shell .sv-native-main [id],.admin-bar.sv-shell .sv-main [id] { scroll-margin-top:46px; } }

/* СВеБО 0.6: identity, restrained interaction and compact mobile header. */
.sv-brand-mark { display:block; width:36px; height:36px; flex:0 0 36px; }
.sv-brand-accent { color:var(--sv-blue); }
.sv-custom-logo { display:block; width:auto; height:auto; max-width:180px; max-height:46px; }
.sv-brand { gap:9px; }
.sv-brand-caption { margin-left:5px; }
.sv-brand-name { font-size:31px; }
.sv-cta-short { display:none; }
.sv-header-cta { transition:background .18s,border-color .18s,color .18s; }
.sv-header-cta:hover { color:#fff; background:var(--sv-blue); border-color:var(--sv-blue); }
.sv-native-page .sn-project,.sv-native-page .sn-service-card { transition:transform .2s,box-shadow .2s; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .sv-native-page .sn-project:hover,.sv-native-page .sn-service-card:hover { transform:translateY(-4px); box-shadow:0 15px 36px #14264a0c; }
}
.sv-native-page .sn-project:focus-within { box-shadow:0 0 0 2px #3057ed44; }
.sv-native-page .sn-back-link a { text-decoration:none; color:var(--sv-blue); }
.sv-native-page .sn-back-link a:hover { text-decoration:underline; }
.sv-consent-panel { position:fixed; z-index:100; bottom:18px; left:18px; width:min(560px,calc(100% - 36px)); padding:20px; border:1px solid var(--sv-line); border-radius:16px; background:#fff; box-shadow:0 10px 45px #14264a24; color:var(--sv-ink); }
.sv-consent-panel[hidden] { display:none!important; }
.sv-consent-panel p { margin:0 0 12px; font-size:14px; line-height:1.6; }
.sv-consent-actions { display:flex; flex-wrap:wrap; gap:8px; }
.sv-consent-actions button { padding:10px 14px; border-radius:8px; border:1px solid var(--sv-line); background:#fff; color:var(--sv-ink); font:inherit; font-size:13px; cursor:pointer; }
.sv-consent-actions button[data-sv-accept] { background:var(--sv-blue); border-color:var(--sv-blue); color:#fff; }
.sv-analytics-settings { padding:0; border:0; background:none; color:inherit; text-decoration:underline; font:inherit; cursor:pointer; }
@media(max-width:440px) {
 .sv-brand-name { font-size:27px; }
 .sv-brand-mark { width:30px; height:30px; flex-basis:30px; }
 .sv-brand { gap:7px; }
 .sv-header-inner { gap:10px; flex-wrap:nowrap; }
 .sv-nav { flex-basis:100%; }
 .sv-header-inner:has(.sv-menu-button[aria-expanded="true"]) { flex-wrap:wrap; }
 .sv-cta-full { display:none; }
 .sv-cta-short { display:inline; }
 .sv-header-cta { margin-left:auto; font-size:11px; padding:9px 10px; }
 .sv-custom-logo { max-width:130px; max-height:36px; }
 .sv-consent-panel { bottom:10px; left:10px; width:calc(100% - 20px); padding:16px; }
}
@media(prefers-reduced-motion:reduce) { .sv-native-page .sn-project,.sv-native-page .sn-service-card { transition:none; } }

/* Chosen WE identity, option В: all fine details stay inside the blue stroke. */
.sv-brand-wordmark { display:block; width:160px; height:auto; flex:0 0 160px; }
@media(max-width:440px) { .sv-header .sv-brand-wordmark { width:110px; flex-basis:110px; } }
@media(max-width:360px) { .sv-header .sv-brand-wordmark { width:98px; flex-basis:98px; } }

/* Breadcrumbs reflect editable page titles and the service/material hierarchy. */
.sv-breadcrumbs { max-width:1212px; margin:0 auto; padding:24px 34px 0; font-size:12px; color:var(--sv-muted); }
.sv-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:7px 12px; list-style:none; margin:0; padding:0; }
.sv-breadcrumbs li { min-width:0; overflow-wrap:anywhere; }
.sv-breadcrumbs li+li::before { content:"/"; margin-right:12px; color:#a0aec0; }
@media(max-width:767px) { .sv-breadcrumbs { padding:22px 20px 0; font-size:11px; } }

@media(max-width:1000px) {
 .sv-nav { max-height:calc(100vh - 84px); max-height:calc(100dvh - 84px); overflow:auto; overscroll-behavior:contain; }
}
