/* =========================================================
   Антиплагиат-бот — общий CSS для служебных страниц
   ========================================================= */

*{margin:0;padding:0;box-sizing:border-box}

body{
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    background:#edf1f5;
    min-height:100vh;
    color:#1a1a2e;
    -webkit-font-smoothing:antialiased;
}

/* ── HEADER / NAV ── */
.site-header{
    background:#fff;
    border-bottom:1px solid #e8edf2;
    position:sticky;
    top:0;
    z-index:100;
    box-shadow:0 1px 8px rgba(0,0,0,.06);
}
.header-inner{
    max-width:980px;
    margin:0 auto;
    padding:0 24px;
    display:flex;
    align-items:center;
    gap:32px;
    height:60px;
}
.site-logo{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    flex-shrink:0;
}
.site-logo img{width:36px;height:36px;border-radius:8px}
.site-logo span{
    font-size:16px;
    font-weight:700;
    color:#1a1a2e;
    white-space:nowrap;
}
.site-nav{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
    margin-left:auto;
}
.site-nav a{
    font-size:14px;
    font-weight:500;
    color:#5a6670;
    text-decoration:none;
    padding:6px 12px;
    border-radius:8px;
    transition:background .15s,color .15s;
    white-space:nowrap;
}
.site-nav a:hover,.site-nav a.active{
    background:#eef4fb;
    color:#1e73b7;
}
.nav-cta{
    background:linear-gradient(135deg,#33a9e0,#2196d4)!important;
    color:#fff!important;
    padding:8px 16px!important;
    border-radius:10px!important;
}
.nav-cta:hover{
    opacity:.9;
    background:linear-gradient(135deg,#33a9e0,#2196d4)!important;
}

/* ── PAGE WRAP ── */
.page-wrap{
    max-width:980px;
    margin:0 auto;
    padding:0 24px 60px;
}

/* ── BREADCRUMB ── */
.breadcrumb{
    font-size:13px;
    color:#8c96a0;
    padding:16px 0 4px;
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}
.breadcrumb a{color:#1e73b7;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb span{color:#b0b8c4}

/* ── PAGE HERO ── */
.page-hero{
    padding:40px 0 32px;
    text-align:center;
}
.page-hero h1{
    font-size:32px;
    font-weight:800;
    color:#1a1a2e;
    line-height:1.3;
    letter-spacing:-.5px;
    margin-bottom:12px;
}
.page-hero h1 span{
    background:linear-gradient(135deg,#1e73b7,#2AABEE);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}
.page-hero p{
    font-size:17px;
    color:#5a6670;
    line-height:1.6;
    max-width:600px;
    margin:0 auto;
}

/* ── CONTENT PROSE ── */
.content{
    max-width:760px;
    margin:0 auto;
    color:#3b4555;
    font-size:15.5px;
    line-height:1.78;
}
.content h2{
    font-size:22px;
    font-weight:800;
    color:#1a1a2e;
    margin:48px 0 16px;
    line-height:1.35;
    letter-spacing:-.3px;
    padding-bottom:10px;
    border-bottom:2px solid #e6f0fa;
}
.content h2:first-child{margin-top:0}
.content h3{
    font-size:17px;
    font-weight:700;
    color:#2c3e50;
    margin:28px 0 8px;
    padding-left:12px;
    border-left:3px solid #2AABEE;
    line-height:1.4;
}
.content p{margin:0 0 16px}
.content ul,.content ol{margin:0 0 18px;padding-left:24px}
.content li{margin-bottom:10px}
.content a{
    color:#1e73b7;
    text-decoration:none;
    border-bottom:1px solid rgba(30,115,183,.25);
    transition:color .15s,border-color .15s;
}
.content a:hover{color:#145a94;border-bottom-color:#1e73b7}

.highlight-box{
    background:linear-gradient(135deg,#f0f7ff,#e8f2fd);
    border-left:4px solid #1e73b7;
    padding:18px 22px;
    border-radius:0 12px 12px 0;
    margin:24px 0 28px;
    box-shadow:0 1px 4px rgba(30,115,183,.08);
}
.highlight-box p{margin:0}

.warn-box{
    background:linear-gradient(135deg,#fff6f0,#fef0e8);
    border-left:4px solid #e55353;
    padding:18px 22px;
    border-radius:0 12px 12px 0;
    margin:24px 0 28px;
}
.warn-box p{margin:0}

/* ── STAT BLOCKS ── */
.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin:32px 0 40px;
}
.stat-card{
    background:#fff;
    border-radius:16px;
    padding:24px 20px;
    text-align:center;
    box-shadow:0 2px 12px rgba(0,0,0,.06);
    transition:transform .2s,box-shadow .2s;
}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.1)}
.stat-value{
    font-size:32px;
    font-weight:800;
    color:#1e73b7;
    letter-spacing:-.5px;
    display:block;
    margin-bottom:6px;
}
.stat-label{
    font-size:13px;
    color:#5a6670;
    font-weight:500;
    line-height:1.4;
}

/* ── TEAM CARDS ── */
.team-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin:24px 0 40px;
}
.team-card{
    background:#fff;
    border-radius:16px;
    padding:28px 22px 24px;
    box-shadow:0 2px 12px rgba(0,0,0,.06);
    transition:transform .2s,box-shadow .2s;
}
.team-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.1)}
.team-avatar{
    width:64px;height:64px;border-radius:50%;
    background:linear-gradient(135deg,#e6f0fa,#c6ddf0);
    display:flex;align-items:center;justify-content:center;
    font-size:24px;font-weight:800;color:#1e73b7;
    margin-bottom:14px;
}
.team-name{font-size:16px;font-weight:700;color:#1a1a2e;margin-bottom:4px}
.team-role{font-size:13px;color:#1e73b7;font-weight:600;margin-bottom:10px}
.team-bio{font-size:14px;color:#5a6670;line-height:1.55}

/* ── PRINCIPLES ── */
.principles-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin:24px 0 40px;
}
.principle-card{
    background:#fff;
    border-radius:16px;
    padding:28px 22px 24px;
    box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.principle-icon{
    width:48px;height:48px;border-radius:12px;
    background:linear-gradient(135deg,#e6f0fa,#d0e3f5);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:14px;font-size:22px;
}
.principle-title{font-size:16px;font-weight:700;color:#1a1a2e;margin-bottom:8px}
.principle-text{font-size:14px;color:#5a6670;line-height:1.6}

/* ── CONTACT BLOCKS ── */
.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin:24px 0 32px;
}
.contact-card{
    background:#fff;
    border-radius:16px;
    padding:28px 24px;
    box-shadow:0 2px 12px rgba(0,0,0,.06);
    display:flex;
    flex-direction:column;
    gap:16px;
}
.contact-card-title{font-size:18px;font-weight:700;color:#1a1a2e}
.contact-item{display:flex;align-items:flex-start;gap:12px}
.contact-item-icon{
    width:40px;height:40px;border-radius:10px;
    background:linear-gradient(135deg,#e6f0fa,#d0e3f5);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
}
.contact-item-body{flex:1}
.contact-item-label{font-size:12px;color:#8c96a0;font-weight:500;margin-bottom:2px}
.contact-item-value{font-size:15px;color:#1a1a2e;font-weight:500}
.contact-item-value a{color:#1e73b7;text-decoration:none;border-bottom:none}
.contact-item-value a:hover{text-decoration:underline}

/* ── REQUISITES TABLE ── */
.req-table{
    width:100%;border-collapse:collapse;
    font-size:15px;
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 2px 12px rgba(0,0,0,.06);
    margin:20px 0 40px;
}
.req-table tr{border-bottom:1px solid #f0f2f5}
.req-table tr:last-child{border-bottom:none}
.req-table td{padding:14px 20px;vertical-align:top}
.req-table td:first-child{
    font-weight:600;
    color:#5a6670;
    font-size:13px;
    width:200px;
    background:#f8fafc;
    text-transform:uppercase;
    letter-spacing:.3px;
}
.req-table td:last-child{color:#1a1a2e}

/* ── BTN ── */
.btn-primary{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:linear-gradient(135deg,#33a9e0,#2196d4);
    color:#fff;
    text-decoration:none;
    padding:14px 28px;
    border-radius:12px;
    font-size:16px;
    font-weight:700;
    transition:all .2s;
    box-shadow:0 4px 18px rgba(42,171,238,.3);
}
.btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 28px rgba(42,171,238,.4);
    color:#fff;
    border-bottom:none;
}
.btn-outline{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff;
    color:#1e73b7;
    text-decoration:none;
    padding:12px 24px;
    border-radius:12px;
    font-size:15px;
    font-weight:600;
    border:2px solid #d0e3f5;
    transition:all .2s;
}
.btn-outline:hover{border-color:#1e73b7;background:#eef4fb;color:#1e73b7;border-bottom:2px solid #1e73b7}

/* ── AUTHOR PAGE ── */
.author-hero{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:40px;
    align-items:flex-start;
    padding:48px 0 40px;
}
.author-avatar{
    width:160px;height:160px;border-radius:24px;
    background:linear-gradient(135deg,#1e73b7,#2AABEE);
    display:flex;align-items:center;justify-content:center;
    font-size:56px;font-weight:800;color:rgba(255,255,255,.9);
    flex-shrink:0;
    box-shadow:0 12px 40px rgba(30,115,183,.25);
}
.author-info{display:flex;flex-direction:column;gap:12px}
.author-name{font-size:30px;font-weight:800;color:#1a1a2e;line-height:1.2}
.author-title{font-size:17px;color:#1e73b7;font-weight:600}
.author-desc{font-size:15px;color:#5a6670;line-height:1.6;max-width:520px}
.author-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.author-link{
    display:inline-flex;align-items:center;gap:8px;
    font-size:14px;font-weight:600;
    padding:8px 16px;border-radius:10px;
    text-decoration:none;transition:all .2s;
}
.author-link.tg{background:#e8f4fe;color:#2196d4}
.author-link.tg:hover{background:#d0eafc;color:#1e73b7;border-bottom:none}
.author-link.li{background:#e8f0fe;color:#0a66c2}
.author-link.li:hover{background:#d0e0fd;color:#0a66c2;border-bottom:none}

.expertise-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
    margin:20px 0 32px;
}
.expertise-item{
    background:#fff;
    border-radius:14px;
    padding:20px 18px;
    box-shadow:0 1px 8px rgba(0,0,0,.05);
    display:flex;align-items:flex-start;gap:12px;
}
.expertise-icon{font-size:22px;flex-shrink:0;margin-top:2px}
.expertise-text{flex:1}
.expertise-title{font-size:14px;font-weight:700;color:#1a1a2e;margin-bottom:4px}
.expertise-desc{font-size:13px;color:#5a6670;line-height:1.5}

.pub-list{list-style:none;padding:0;margin:16px 0 32px;display:flex;flex-direction:column;gap:12px}
.pub-item{
    background:#fff;
    border-radius:14px;
    padding:18px 20px;
    box-shadow:0 1px 8px rgba(0,0,0,.05);
    display:flex;align-items:flex-start;gap:14px;
}
.pub-icon{
    width:40px;height:40px;border-radius:10px;
    background:linear-gradient(135deg,#e6f0fa,#d0e3f5);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;font-size:18px;
}
.pub-body{flex:1}
.pub-title{font-size:15px;font-weight:600;color:#1a1a2e;margin-bottom:4px}
.pub-meta{font-size:13px;color:#8c96a0}

/* ── PRIVACY / TERMS ── */
.legal-content{max-width:760px;margin:0 auto}
.legal-content .update-date{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:#8c96a0;
    background:#f0f2f5;
    padding:6px 14px;
    border-radius:20px;
    margin-bottom:32px;
}
.legal-section{
    background:#fff;
    border-radius:16px;
    padding:28px 28px 24px;
    margin-bottom:16px;
    box-shadow:0 1px 6px rgba(0,0,0,.04);
}
.legal-section h2{
    font-size:18px;
    font-weight:700;
    color:#1a1a2e;
    margin:0 0 14px;
    padding:0;
    border:none;
    display:flex;
    align-items:center;
    gap:10px;
}
.legal-section h2 .section-num{
    width:30px;height:30px;
    background:linear-gradient(135deg,#e6f0fa,#d0e3f5);
    border-radius:8px;
    display:flex;align-items:center;justify-content:center;
    font-size:14px;font-weight:800;color:#1e73b7;
    flex-shrink:0;
}
.legal-section p{margin:0 0 12px;font-size:15px;color:#3b4555;line-height:1.7}
.legal-section p:last-child{margin:0}
.legal-section ul{padding-left:22px;margin:8px 0 12px}
.legal-section li{font-size:15px;color:#3b4555;line-height:1.65;margin-bottom:6px}

/* ── FOOTER ── */
.site-footer{
    background:#fff;
    border-top:1px solid #e8edf2;
    margin-top:60px;
}
.footer-inner{
    max-width:980px;
    margin:0 auto;
    padding:40px 24px 32px;
}
.footer-top{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    margin-bottom:32px;
    padding-bottom:32px;
    border-bottom:1px solid #f0f2f5;
}
.footer-brand p{
    font-size:14px;
    color:#5a6670;
    line-height:1.6;
    margin-top:12px;
    max-width:300px;
}
.footer-links{
    display:flex;
    flex-direction:column;
    gap:10px;
    align-items:flex-end;
}
.footer-links a{
    font-size:14px;
    color:#5a6670;
    text-decoration:none;
    transition:color .15s;
}
.footer-links a:hover{color:#1e73b7}
.footer-bottom{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.footer-bottom p{
    font-size:13px;
    color:#8c96a0;
    line-height:1.5;
}
.footer-bottom a{color:#1e73b7;text-decoration:none}
.footer-bottom a:hover{text-decoration:underline}

/* ── RESPONSIVE ── */
@media(max-width:979px){
    .page-wrap{padding:0 20px 48px}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .team-grid{grid-template-columns:repeat(2,1fr)}
    .principles-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:767px){
    .header-inner{padding:0 16px;gap:16px;height:56px}
    .site-nav{display:none}
    .page-wrap{padding:0 16px 40px}
    .page-hero{padding:28px 0 24px}
    .page-hero h1{font-size:24px}
    .page-hero p{font-size:15px}
    .content h2{font-size:19px;margin-top:36px}
    .stats-grid{grid-template-columns:1fr 1fr;gap:12px}
    .stat-card{padding:18px 14px}
    .stat-value{font-size:26px}
    .team-grid{grid-template-columns:1fr}
    .principles-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr}
    .author-hero{grid-template-columns:1fr;gap:24px;text-align:center;padding:28px 0 28px}
    .author-avatar{margin:0 auto;width:120px;height:120px;font-size:42px}
    .author-links{justify-content:center}
    .author-desc{margin:0 auto}
    .expertise-grid{grid-template-columns:1fr}
    .footer-top{grid-template-columns:1fr;gap:24px}
    .footer-links{align-items:flex-start}
    .req-table td:first-child{width:140px;font-size:11px}
    .legal-section{padding:20px 16px 18px}
}

@media(max-width:480px){
    .stats-grid{grid-template-columns:1fr 1fr}
    .page-hero h1{font-size:22px}
    .header-inner{height:52px}
}

/* Mobile nav toggle — shown on small screens */
.nav-toggle{
    display:none;
    width:40px;height:40px;
    border:none;background:none;cursor:pointer;
    margin-left:auto;
    flex-direction:column;justify-content:center;align-items:center;gap:5px;
    border-radius:8px;
    transition:background .15s;
}
.nav-toggle:hover{background:#f0f5fa}
.nav-toggle span{
    display:block;
    width:22px;height:2px;
    background:#5a6670;
    border-radius:2px;
    transition:all .2s;
}

@media(max-width:767px){
    .nav-toggle{display:flex}
    .site-nav{
        display:none;
        position:fixed;
        top:56px;left:0;right:0;
        background:#fff;
        border-bottom:1px solid #e8edf2;
        padding:12px 16px 16px;
        flex-direction:column;
        gap:2px;
        box-shadow:0 4px 20px rgba(0,0,0,.1);
        z-index:99;
    }
    .site-nav.open{display:flex}
    .site-nav a{padding:10px 14px;border-radius:8px;font-size:15px}
}
