/*
Theme Name: DOSUGGO
Theme URI: https://dosuggo.ru
Author: DOSUGGO
Description: Индивидуальная тема медиапортала DOSUGGO.
Version: 1.0.0
Text Domain: dosuggo
*/

:root {
    --ink:#0e0e0f;
    --panel:#18181a;
    --paper:#f2eee7;
    --orange:#ff5a1f;
    --text:#f7f4ef;
    --muted:#aaa6a0;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    margin:0;
    background:var(--ink);
    color:var(--text);
    font-family:Arial,Helvetica,sans-serif;
}
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; }
.wrap { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }

.site-header {
    min-height:74px;
    padding:0 3.5vw;
    display:flex;
    align-items:center;
    gap:28px;
    background:#0d0d0e;
    border-bottom:1px solid #29292b;
    position:relative;
    z-index:20;
}
.brand {
    display:inline-flex;
    font-size:26px;
    font-weight:900;
    letter-spacing:-2px;
}
.brand b { color:var(--orange); }
.city {
    border-left:1px solid #39393b;
    padding-left:22px;
    color:#bdb9b3;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.12em;
}
.site-nav {
    margin-left:auto;
    display:flex;
    gap:27px;
    overflow:auto;
}
.site-nav a {
    color:#cfcbc5;
    font-size:14px;
    white-space:nowrap;
}
.site-nav a:hover { color:var(--orange); }

.hero {
    min-height:690px;
    height:calc(100vh - 74px);
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#111;
}
.hero-image {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}
.hero-shade {
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(7,7,8,.96),rgba(7,7,8,.76) 38%,rgba(7,7,8,.1) 75%),
        linear-gradient(0deg,rgba(7,7,8,.75),transparent 40%);
}
.hero-content {
    position:relative;
    z-index:2;
    width:min(720px,85%);
    margin-left:max(7vw,30px);
}
.kicker {
    color:var(--orange);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.18em;
}
.hero h1 {
    font:500 clamp(68px,9vw,140px)/.82 Georgia,serif;
    letter-spacing:-.065em;
    margin:28px 0 35px;
}
.hero h1 em { color:var(--orange); }
.hero p {
    max-width:550px;
    color:#cbc6bf;
    font-size:18px;
    line-height:1.65;
}
.button {
    display:inline-flex;
    align-items:center;
    gap:25px;
    margin-top:14px;
    padding:17px 23px;
    background:var(--orange);
    color:#111;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.moods {
    display:flex;
    align-items:center;
    gap:5vw;
    padding:24px 4vw;
    background:var(--orange);
    color:#111;
    overflow:auto;
}
.moods strong {
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.12em;
    white-space:nowrap;
}
.moods div { display:flex; gap:5vw; }
.moods a {
    font:italic 24px Georgia,serif;
    white-space:nowrap;
}

.section { padding:105px 0 115px; }
.section-head {
    display:grid;
    grid-template-columns:1.4fr 1fr;
    align-items:end;
    gap:60px;
    margin-bottom:48px;
}
.section-head h2 {
    margin:12px 0 0;
    font:500 clamp(48px,6vw,82px)/.95 Georgia,serif;
    letter-spacing:-.045em;
}
.section-head > p {
    margin:0;
    max-width:480px;
    color:var(--muted);
    font-size:16px;
    line-height:1.7;
}

.cards {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.story-card {
    min-height:450px;
    padding:28px;
    background:#ff632a;
    color:#111;
    display:flex;
    flex-direction:column;
    transition:.25s;
}
.story-card:nth-child(2) { background:#aaa3ff; }
.story-card:nth-child(3) { background:#7fc6ea; }
.story-card:nth-child(4) { background:#ffd05b; }
.story-card:nth-child(5) { background:#ff8bb5; }
.story-card:nth-child(6) { background:#8fdd8a; }
.story-card:hover { transform:translateY(-7px); }
.story-card .category {
    font-size:12px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.story-card h3 {
    margin:auto 0 20px;
    font:500 37px/1.02 Georgia,serif;
    letter-spacing:-.035em;
}
.story-card p { font-size:15px; line-height:1.55; }
.story-meta {
    border-top:1px solid rgba(0,0,0,.25);
    padding-top:17px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.routes {
    background:var(--paper);
    color:#111;
}
.route-grid {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:9vw;
}
.route-intro h2 {
    font:500 clamp(48px,6vw,82px)/.95 Georgia,serif;
    letter-spacing:-.045em;
}
.route-intro h2 em { color:var(--orange); }
.route-intro p { color:#6e6a64; font-size:16px; line-height:1.7; }
.timeline { list-style:none; margin:0; padding:0; }
.timeline li {
    display:grid;
    grid-template-columns:75px 1fr;
    gap:24px;
    padding:26px 0;
    border-top:1px solid #bcb6ad;
}
.timeline li:last-child { border-bottom:1px solid #bcb6ad; }
.timeline time {
    color:var(--orange);
    font-size:13px;
    font-weight:800;
}
.timeline h3 { margin:0 0 7px; font:500 31px Georgia,serif; }
.timeline p { margin:0; color:#77726b; }

.manifesto {
    padding:100px 0;
    background:var(--orange);
    color:#111;
}
.manifesto p:last-child {
    max-width:1120px;
    margin:25px 0 0;
    font:500 clamp(42px,6vw,80px)/1.02 Georgia,serif;
    letter-spacing:-.045em;
}
.manifesto em { color:#fff0e8; }

.archive-hero {
    padding:85px 0 70px;
    background:#151516;
    border-bottom:1px solid #353537;
}
.archive-hero h1 {
    margin:20px 0;
    font:500 clamp(60px,9vw,125px)/.9 Georgia,serif;
    letter-spacing:-.05em;
}
.feed { padding:65px 0 110px; }
.feed-card {
    display:grid;
    grid-template-columns:60px 1fr auto;
    gap:25px;
    align-items:center;
    padding:34px 5px;
    border-top:1px solid #373739;
}
.feed-card:last-child { border-bottom:1px solid #373739; }
.feed-card:hover { color:var(--orange); }
.feed-number { color:#777; font:italic 15px Georgia,serif; }
.feed-card h2 {
    margin:9px 0 12px;
    font:500 clamp(30px,4vw,52px)/1 Georgia,serif;
}
.feed-card p { color:#aaa6a0; line-height:1.6; }
.feed-card .category { color:var(--orange); font-size:12px; text-transform:uppercase; }

.article-hero {
    padding:65px 0 75px;
    background:var(--orange);
    color:#111;
}
.article-hero h1 {
    max-width:1080px;
    margin:45px 0 30px;
    font:500 clamp(55px,8vw,105px)/.9 Georgia,serif;
    letter-spacing:-.055em;
}
.article-deck {
    max-width:780px;
    font-size:20px;
    line-height:1.55;
}
.article-meta {
    display:flex;
    gap:25px;
    margin-top:38px;
    padding-top:18px;
    border-top:1px solid rgba(0,0,0,.3);
    font-size:13px;
    text-transform:uppercase;
}
.article-body {
    max-width:800px;
    padding-top:75px;
    padding-bottom:100px;
}
.article-body h2 {
    margin:55px 0 20px;
    font:500 clamp(32px,4vw,47px)/1.05 Georgia,serif;
}
.article-body p {
    color:#cbc7c1;
    font-size:18px;
    line-height:1.8;
}
.article-body ul {
    border-top:1px solid #3a3a3c;
    list-style:none;
    padding:0;
}
.article-body li {
    padding:15px 8px 15px 28px;
    border-bottom:1px solid #3a3a3c;
    font-size:17px;
    position:relative;
}
.article-body li:before {
    content:"+";
    position:absolute;
    left:3px;
    color:var(--orange);
}
.back { font-size:14px; font-weight:700; }

.site-footer {
    padding:65px 0 25px;
    background:#09090a;
}
.footer-grid {
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:45px;
}
.footer-grid > div { display:flex; flex-direction:column; gap:11px; }
.footer-grid p,.footer-grid a { color:#9f9b95; font-size:14px; }
.footer-title {
    color:white!important;
    font-size:12px!important;
    text-transform:uppercase;
    letter-spacing:.12em;
}
.copyright {
    margin-top:50px;
    padding-top:20px;
    border-top:1px solid #242426;
    color:#68686b;
    font-size:12px;
}

@media (max-width:900px) {
    .site-header { padding:16px 22px; align-items:flex-start; flex-direction:column; }
    .city { display:none; }
    .site-nav { width:100%; margin:0; }
    .wrap { width:min(100% - 36px,1240px); }
    .hero { min-height:650px; height:650px; }
    .hero-content { margin-left:22px; }
    .hero-shade { background:linear-gradient(90deg,rgba(7,7,8,.94),rgba(7,7,8,.35)); }
    .section-head,.route-grid { grid-template-columns:1fr; gap:30px; }
    .cards { grid-template-columns:1fr; }
    .story-card { min-height:360px; }
    .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
    .hero h1 { font-size:62px; }
    .section { padding:72px 0; }
    .section-head h2,.route-intro h2 { font-size:47px; }
    .article-hero h1 { font-size:47px; }
    .article-deck { font-size:17px; }
    .article-meta { flex-direction:column; gap:10px; }
    .article-body p { font-size:17px; }
    .feed-card { grid-template-columns:35px 1fr; }
    .feed-card > b { display:none; }
    .footer-grid { grid-template-columns:1fr; }
}
