/*
Theme Name: SysAdmin57
Theme URI: https://example.com/sysadmin57
Author: Manus AI
Description: Светлая профессиональная классическая тема WordPress для услуг системного администратора.
Version: 1.1.0
Text Domain: sysadmin57
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Design reminder — Профессиональный светлый: editorial corporate minimalism, тёплый белый фон,
глубокий navy-blue, Signal Blue #2D78E9, тонкая линия-сигнал, доказательства важнее декора.
*/

:root { --sa-ink:#102a43; --sa-ink-soft:#486581; --sa-blue:#2d78e9; --sa-blue-dark:#1f5fc1; --sa-blue-wash:#edf5ff; --sa-mist:#f7faff; --sa-line:#dce8f5; --sa-white:#fff; --sa-radius:18px; --sa-shadow:0 18px 50px rgba(25,61,102,.1); --sa-ease:cubic-bezier(.23,1,.32,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--sa-white); color:var(--sa-ink); font-family:"Source Sans 3",Arial,sans-serif; font-size:18px; line-height:1.58; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
.sa-shell { overflow:clip; }
.sa-container { width:min(100% - 40px,1180px); margin-inline:auto; }
.sa-skip-link { position:absolute; left:-9999px; z-index:100; background:var(--sa-ink); color:#fff; padding:12px 18px; }
.sa-skip-link:focus { left:20px; top:20px; }

.sa-site-header { position:relative; z-index:20; background:rgba(255,255,255,.95); border-bottom:1px solid var(--sa-line); }
.sa-header-row { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:82px; }
.sa-brand { display:inline-flex; align-items:center; gap:12px; min-width:max-content; font-family:Manrope,sans-serif; font-size:22px; font-weight:800; letter-spacing:-.06em; }
.sa-brand img { width:38px; height:38px; object-fit:contain; }
.sa-brand__accent { color:var(--sa-blue); }
.sa-nav-list { display:flex; align-items:center; gap:20px; padding:0; margin:0; list-style:none; font-size:15px; font-weight:600; color:#334e68; }
.sa-nav-list a { position:relative; padding-block:6px; }
.sa-nav-list a::after { content:""; position:absolute; width:0; height:2px; left:0; bottom:0; background:var(--sa-blue); transition:width .22s var(--sa-ease); }
.sa-nav-list a:hover::after,.sa-nav-list .current-menu-item a::after { width:100%; }
.sa-header-contact { display:grid; justify-items:end; gap:1px; min-width:max-content; }
.sa-header-contact span { color:var(--sa-ink-soft); font-size:12px; font-weight:600; }
.sa-header-phone { color:var(--sa-blue); font-size:16px; font-weight:700; white-space:nowrap; }

.sa-button { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:50px; padding:13px 21px; border:1px solid transparent; border-radius:12px; background:var(--sa-blue); color:#fff; font-size:16px; font-weight:700; line-height:1.15; cursor:pointer; transition:transform .18s var(--sa-ease),background .18s var(--sa-ease),border-color .18s var(--sa-ease); }
.sa-button:hover { background:var(--sa-blue-dark); transform:translateY(-2px); }
.sa-button:active { transform:scale(.97); }
.sa-button--ghost { background:transparent; color:var(--sa-blue); border-color:#a8c9f2; }
.sa-button--ghost:hover { background:var(--sa-blue-wash); color:var(--sa-blue-dark); }

.sa-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.93fr); gap:64px; align-items:center; min-height:555px; padding:76px 0 70px; }
.sa-hero::before { content:""; position:absolute; width:42vw; height:100%; min-height:550px; right:-8vw; top:0; background:var(--sa-mist); border-radius:0 0 0 110px; z-index:-1; }
.sa-kicker { display:flex; align-items:center; gap:10px; margin:0 0 20px; color:var(--sa-blue); font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.sa-kicker::before { content:""; width:10px; height:10px; background:var(--sa-blue); border-radius:2px; box-shadow:17px 0 0 #9fc5f5; }
.sa-hero h1,.sa-page-hero h1 { max-width:710px; margin:0; font-family:Manrope,sans-serif; font-size:clamp(40px,5vw,65px); font-weight:800; letter-spacing:-.065em; line-height:1.03; }
.sa-hero h1 em { font-style:normal; color:var(--sa-blue); }
.sa-lead { max-width:610px; margin:24px 0 0; color:var(--sa-ink-soft); font-size:21px; line-height:1.5; }
.sa-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.sa-hero__note { margin-top:22px; color:#627d98; font-size:14px; }
.sa-hero-visual { position:relative; min-height:403px; }
.sa-hero-frame { position:absolute; inset:10px 0 0 15px; overflow:hidden; border-radius:var(--sa-radius) 0 var(--sa-radius) var(--sa-radius); box-shadow:var(--sa-shadow); }
.sa-hero-frame img { width:100%; height:403px; object-fit:cover; object-position:center top; }
.sa-hero-label { position:absolute; right:-10px; bottom:28px; display:grid; gap:2px; width:205px; padding:16px 18px; background:#fff; border:1px solid var(--sa-line); box-shadow:0 15px 30px rgba(41,77,119,.14); }
.sa-hero-label strong { font-family:Manrope,sans-serif; font-size:21px; letter-spacing:-.05em; }
.sa-hero-label span { color:var(--sa-ink-soft); font-size:13px; }

.sa-proof { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:0 auto; background:var(--sa-line); border:1px solid var(--sa-line); }
.sa-proof__item { padding:23px 22px; background:#fff; }
.sa-proof__number { display:block; color:var(--sa-ink); font-family:Manrope,sans-serif; font-size:32px; font-weight:800; letter-spacing:-.07em; line-height:1; }
.sa-proof__number b { color:var(--sa-blue); }
.sa-proof__caption { display:block; margin-top:8px; color:var(--sa-ink-soft); font-size:15px; }
.sa-section { padding:96px 0; }
.sa-section--mist { background:var(--sa-mist); }
.sa-section-head { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:42px; }
.sa-section h2 { max-width:780px; margin:0; font-family:Manrope,sans-serif; font-size:clamp(31px,3.5vw,46px); font-weight:800; letter-spacing:-.06em; line-height:1.1; }
.sa-section-intro { max-width:570px; margin:14px 0 0; color:var(--sa-ink-soft); }
.sa-inline-link { display:inline-flex; align-items:center; gap:8px; color:var(--sa-blue); font-size:16px; font-weight:700; white-space:nowrap; }
.sa-inline-link::after { content:"→"; font-size:20px; transition:transform .18s var(--sa-ease); }
.sa-inline-link:hover::after { transform:translateX(4px); }
.sa-grid { display:grid; gap:20px; }
.sa-grid--4 { grid-template-columns:repeat(4,1fr); }
.sa-grid--3 { grid-template-columns:repeat(3,1fr); }
.sa-card { background:#fff; border:1px solid var(--sa-line); border-radius:var(--sa-radius); }
.sa-service-card { min-height:248px; padding:28px; transition:transform .22s var(--sa-ease),box-shadow .22s var(--sa-ease),border-color .22s var(--sa-ease); }
.sa-service-card:hover,.sa-case-card:hover,.sa-cert-card:hover { border-color:#a8c9f2; box-shadow:var(--sa-shadow); transform:translateY(-5px); }
.sa-service-card__icon { display:grid; place-items:center; width:44px; height:44px; margin-bottom:34px; color:var(--sa-blue); background:var(--sa-blue-wash); border-radius:50%; font-size:21px; font-weight:700; }
.sa-service-card h3 { margin:0; font-family:Manrope,sans-serif; font-size:20px; letter-spacing:-.04em; line-height:1.25; }
.sa-service-card p,.sa-step p,.sa-case-card p { margin:10px 0 0; color:var(--sa-ink-soft); font-size:16px; line-height:1.45; }
.sa-steps { counter-reset:sa-step; }
.sa-step { position:relative; padding:4px 32px 0 0; }
.sa-step::before { counter-increment:sa-step; content:"0" counter(sa-step); display:block; margin-bottom:22px; color:#96bde9; font-family:Manrope,sans-serif; font-size:46px; font-weight:800; letter-spacing:-.08em; line-height:1; }
.sa-step:not(:last-child)::after { content:""; position:absolute; top:29px; left:70px; right:26px; border-top:1px solid #b7d2ef; }
.sa-step h3 { margin:0; font-family:Manrope,sans-serif; font-size:19px; letter-spacing:-.04em; }
.sa-case-card { overflow:hidden; transition:transform .22s var(--sa-ease),box-shadow .22s var(--sa-ease); }
.sa-case-card__media { height:210px; overflow:hidden; background:#dbeaf9; }
.sa-case-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--sa-ease); }
.sa-case-card:hover .sa-case-card__media img { transform:scale(1.045); }
.sa-case-card__body { padding:22px; }
.sa-case-card__type { display:inline-block; margin-bottom:12px; color:var(--sa-blue); font-size:12px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.sa-case-card h3 { margin:0; font-family:Manrope,sans-serif; font-size:21px; letter-spacing:-.05em; line-height:1.23; }
.sa-case-card__link { display:inline-flex; align-items:center; gap:8px; margin-top:20px; color:var(--sa-blue); font-size:15px; font-weight:700; }

.sa-cta { position:relative; overflow:hidden; padding:48px; color:#fff; background:var(--sa-ink); border-radius:2px 36px 2px 36px; }
.sa-cta::after { content:""; position:absolute; width:360px; height:360px; right:-135px; top:-210px; border:55px solid rgba(95,166,244,.21); border-radius:50%; }
.sa-cta > * { position:relative; z-index:1; }
.sa-cta h2 { max-width:690px; margin:0; font-family:Manrope,sans-serif; font-size:clamp(30px,3.8vw,48px); letter-spacing:-.06em; line-height:1.1; }
.sa-cta p { max-width:615px; margin:16px 0 28px; color:#d7e7f9; }
.sa-cta .sa-button { background:#fff; color:var(--sa-ink); }
.sa-page-hero { padding:72px 0 66px; background:var(--sa-mist); border-bottom:1px solid var(--sa-line); }
.sa-page-hero h1 { font-size:clamp(38px,4.7vw,58px); }
.sa-page-hero p { max-width:680px; margin:17px 0 0; color:var(--sa-ink-soft); font-size:20px; }
.sa-content { padding:72px 0 100px; }
.sa-content > * { max-width:800px; }
.sa-content h2,.sa-content h3 { margin-top:1.9em; font-family:Manrope,sans-serif; letter-spacing:-.05em; line-height:1.2; }
.sa-content h2 { font-size:33px; }
.sa-content h3 { font-size:24px; }
.sa-content p,.sa-content li { color:#334e68; }
.sa-content a { color:var(--sa-blue); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.sa-about { display:grid; grid-template-columns:.8fr 1.2fr; gap:66px; align-items:start; }
.sa-about__photo { min-height:390px; background:var(--sa-blue-wash); border-radius:var(--sa-radius) 0 var(--sa-radius) var(--sa-radius); overflow:hidden; }
.sa-about__photo img { width:100%; height:390px; object-fit:cover; }
.sa-about__meta { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:30px; background:var(--sa-line); }
.sa-about__meta div { padding:17px; background:#fff; }
.sa-about__meta strong { display:block; font-family:Manrope,sans-serif; font-size:24px; letter-spacing:-.05em; }
.sa-about__meta span { color:var(--sa-ink-soft); font-size:14px; }
.sa-skill-list { display:flex; flex-wrap:wrap; gap:8px; margin:26px 0; }
.sa-skill-list span { padding:7px 11px; color:var(--sa-blue-dark); background:var(--sa-blue-wash); border:1px solid #c6ddf7; border-radius:8px; font-size:14px; font-weight:700; }
.sa-expertise { display:grid; gap:1px; margin:32px 0; background:var(--sa-line); border:1px solid var(--sa-line); }
.sa-expertise__item { display:grid; grid-template-columns:56px 1fr; gap:18px; padding:23px 24px; background:#fff; }
.sa-expertise__item > span { color:#9fc5f5; font-family:Manrope,sans-serif; font-size:26px; font-weight:800; letter-spacing:-.06em; line-height:1; }
.sa-expertise__item h3 { margin:0; color:var(--sa-ink); font-family:Manrope,sans-serif; font-size:20px; letter-spacing:-.045em; line-height:1.2; }
.sa-expertise__item p { margin:8px 0 0; color:var(--sa-ink-soft); font-size:16px; line-height:1.48; }

.sa-price-list { max-width:900px; }
.sa-price-group { margin-top:30px; border:1px solid var(--sa-line); background:#fff; }
.sa-price-group:first-child { margin-top:0; }
.sa-price-group__head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 22px; color:#fff; background:var(--sa-ink); }
.sa-price-group__head h3 { margin:0; font-family:Manrope,sans-serif; font-size:20px; letter-spacing:-.035em; }
.sa-price-group__head span { color:#bcd0e3; font-size:14px; font-weight:700; white-space:nowrap; }
.sa-price-row { display:grid; grid-template-columns:1fr auto; gap:18px; padding:18px 22px; border-top:1px solid var(--sa-line); }
.sa-price-row h4 { margin:0; font-size:17px; font-weight:600; line-height:1.35; }
.sa-price-row strong { align-self:center; color:var(--sa-blue); font-family:Manrope,sans-serif; font-size:18px; white-space:nowrap; }
.sa-price-note { max-width:900px; margin:28px 0 0; padding:18px 20px; color:#334e68; background:var(--sa-blue-wash); border-left:4px solid var(--sa-blue); }

.sa-cert-card { padding:15px; transition:transform .22s var(--sa-ease),box-shadow .22s var(--sa-ease); }
.sa-cert-card__media { aspect-ratio:4 / 3; display:grid; place-items:center; overflow:hidden; color:#7499bf; background:var(--sa-blue-wash); border:1px dashed #a9caec; }
.sa-cert-card__media img { width:100%; height:100%; object-fit:cover; }
.sa-cert-card__media span { max-width:170px; text-align:center; font-size:14px; font-weight:600; }
.sa-cert-card h3 { margin:16px 4px 5px; font-family:Manrope,sans-serif; font-size:17px; letter-spacing:-.04em; }
.sa-cert-card p { margin:0 4px 4px; color:var(--sa-ink-soft); font-size:14px; }

.sa-form-wrap { max-width:820px; padding:36px; background:#fff; border:1px solid var(--sa-line); border-radius:var(--sa-radius); box-shadow:0 16px 50px rgba(25,61,102,.07); }
.sa-form-wrap h2 { margin:0; font-family:Manrope,sans-serif; font-size:31px; letter-spacing:-.055em; }
.sa-form-wrap > p { margin:10px 0 26px; color:var(--sa-ink-soft); }
.sa-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.sa-field { display:grid; gap:7px; }
.sa-field--wide { grid-column:1 / -1; }
.sa-field label { color:#334e68; font-size:14px; font-weight:700; }
.sa-field input,.sa-field textarea { width:100%; padding:13px 14px; color:var(--sa-ink); background:#fff; border:1px solid #c4d7ea; border-radius:10px; outline:none; transition:border-color .18s var(--sa-ease),box-shadow .18s var(--sa-ease); }
.sa-field input:focus,.sa-field textarea:focus { border-color:var(--sa-blue); box-shadow:0 0 0 4px rgba(45,120,233,.13); }
.sa-field textarea { min-height:125px; resize:vertical; }
.sa-consent { display:flex; gap:10px; margin:19px 0; color:var(--sa-ink-soft); font-size:14px; line-height:1.35; }
.sa-consent input { margin-top:3px; accent-color:var(--sa-blue); }
.sa-notice { max-width:820px; margin:0 0 22px; padding:14px 17px; border-radius:10px; color:#0e4a24; background:#eaf8ef; border:1px solid #b7e4c7; }
.sa-notice--error { color:#812323; background:#fff0f0; border-color:#f2b6b6; }

.sa-contact-channels { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sa-contact-channel { min-height:190px; padding:27px; background:#fff; border:1px solid var(--sa-line); border-radius:var(--sa-radius); }
.sa-contact-channel__label { display:block; margin-bottom:22px; color:var(--sa-blue); font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.sa-contact-channel a,.sa-contact-channel strong { display:block; color:var(--sa-ink); font-family:Manrope,sans-serif; font-size:19px; font-weight:800; letter-spacing:-.045em; overflow-wrap:anywhere; }
.sa-contact-channel a:hover { color:var(--sa-blue); }
.sa-contact-channel p { margin:10px 0 0; color:var(--sa-ink-soft); font-size:15px; line-height:1.45; }
.sa-messenger-layout { display:grid; grid-template-columns:1fr auto; gap:42px; align-items:start; }
.sa-messenger-links { display:grid; gap:14px; }
.sa-messenger-link { display:grid; gap:4px; padding:22px 24px; color:var(--sa-blue-dark); background:#fff; border:1px solid #b7d5f6; border-left:5px solid var(--sa-blue); transition:transform .18s var(--sa-ease),box-shadow .18s var(--sa-ease); }
.sa-messenger-link:hover { box-shadow:var(--sa-shadow); transform:translateX(4px); }
.sa-messenger-link span { font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.sa-messenger-link strong { color:var(--sa-ink); font-family:Manrope,sans-serif; font-size:21px; letter-spacing:-.05em; }
.sa-messenger-link--max { border-left-color:#3a6bdc; }
.sa-qr-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.sa-qr-block { width:160px; margin:0; padding:12px; background:#fff; border:1px solid var(--sa-line); }
.sa-qr-block img { width:134px; height:134px; image-rendering:auto; }
.sa-qr-block figcaption { margin-top:8px; color:var(--sa-ink-soft); font-size:13px; font-weight:700; text-align:center; }
.sa-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:38px; }
.sa-gallery a { display:block; overflow:hidden; border-radius:10px; }
.sa-gallery img { width:100%; height:260px; object-fit:cover; transition:transform .3s var(--sa-ease); }
.sa-gallery a:hover img { transform:scale(1.03); }
.sa-empty { padding:38px; color:var(--sa-ink-soft); background:var(--sa-mist); border:1px dashed #a8c9f2; border-radius:var(--sa-radius); }

.sa-site-footer { padding:58px 0 28px; color:#d8e5f2; background:#102a43; }
.sa-footer-top { display:grid; grid-template-columns:1.4fr .8fr .8fr; gap:50px; padding-bottom:46px; }
.sa-footer-brand { color:#fff; }
.sa-footer-brand p { max-width:400px; margin:15px 0 0; color:#bcd0e3; font-size:16px; }
.sa-footer-title { margin:2px 0 13px; color:#fff; font-family:Manrope,sans-serif; font-size:15px; letter-spacing:.04em; text-transform:uppercase; }
.sa-footer-links { display:grid; gap:8px; color:#bcd0e3; font-size:16px; }
.sa-footer-links a:hover { color:#fff; }
.sa-footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:22px; border-top:1px solid rgba(220,232,245,.18); color:#9db8d1; font-size:14px; }
.sa-float-call { position:fixed; right:22px; bottom:22px; z-index:30; display:inline-flex; align-items:center; gap:9px; min-height:50px; padding:13px 18px; border-radius:50px; color:#fff; background:var(--sa-blue); box-shadow:0 11px 25px rgba(45,120,233,.34); font-size:15px; font-weight:700; transition:transform .18s var(--sa-ease); }
.sa-float-call:hover { transform:translateY(-3px); }

@media (max-width:960px) {
  .sa-header-contact { display:none; }
  .sa-hero { grid-template-columns:1fr; gap:38px; min-height:auto; padding-top:58px; }
  .sa-hero::before { width:68vw; }
  .sa-hero-visual { max-width:600px; width:100%; margin-inline:auto; }
  .sa-grid--4 { grid-template-columns:repeat(2,1fr); }
  .sa-about { grid-template-columns:1fr; gap:35px; }
  .sa-expertise__item { grid-template-columns:46px 1fr; padding:21px 20px; }
  .sa-footer-top { grid-template-columns:1.2fr 1fr; }
  .sa-contact-channels,.sa-messenger-layout { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  body { font-size:17px; }
  .sa-container { width:min(100% - 32px,1180px); }
  .sa-header-row { min-height:70px; }
  .sa-nav-list { gap:13px; overflow-x:auto; max-width:62vw; font-size:14px; }
  .sa-brand { font-size:19px; }
  .sa-brand img { width:31px; height:31px; }
  .sa-hero { padding:50px 0 54px; }
  .sa-hero::before { right:-12vw; width:100vw; border-radius:0 0 0 64px; }
  .sa-lead { font-size:18px; }
  .sa-hero-frame,.sa-hero-frame img { height:300px; }
  .sa-hero-label { right:0; bottom:4px; }
  .sa-proof { grid-template-columns:repeat(2,1fr); }
  .sa-proof__item { padding:19px 16px; }
  .sa-proof__number { font-size:28px; }
  .sa-section { padding:65px 0; }
  .sa-section-head { align-items:start; flex-direction:column; gap:16px; margin-bottom:30px; }
  .sa-grid--4,.sa-grid--3 { grid-template-columns:1fr; }
  .sa-step { padding-right:0; padding-bottom:25px; }
  .sa-step:not(:last-child)::after { left:14px; top:73px; bottom:0; right:auto; border-top:0; border-left:1px solid #b7d2ef; }
  .sa-cta { padding:35px 26px; }
  .sa-page-hero { padding:50px 0; }
  .sa-content { padding:52px 0 70px; }
  .sa-price-row { grid-template-columns:1fr; gap:8px; padding:16px; }
  .sa-price-row strong { align-self:start; }
  .sa-price-group__head { padding:15px 16px; }
  .sa-price-group__head h3 { font-size:18px; }
  .sa-form-wrap { padding:26px 20px; }
  .sa-form-grid { grid-template-columns:1fr; }
  .sa-field--wide { grid-column:auto; }
  .sa-gallery { grid-template-columns:1fr; }
  .sa-gallery img { height:230px; }
  .sa-footer-top { grid-template-columns:1fr; gap:30px; }
  .sa-footer-bottom { flex-direction:column; }
  .sa-float-call { right:15px; bottom:15px; padding:12px 15px; }
  .sa-qr-grid { justify-content:start; }
  .sa-qr-block { width:calc((100vw - 62px) / 2); padding:8px; }
  .sa-qr-block img { width:100%; height:auto; }
}
@media (prefers-reduced-motion:no-preference) {
  .sa-reveal { opacity:0; transform:translateY(18px); animation:sa-reveal .55s var(--sa-ease) forwards; }
  .sa-reveal--2 { animation-delay:.08s; }
  .sa-reveal--3 { animation-delay:.16s; }
  @keyframes sa-reveal { to { opacity:1; transform:translateY(0); } }
}
