:root{--paper:#f7f5f0;--ink:#252522;--muted:#73736b;--line:#dcdad2;--green:#3f6051;--roman:#796399;--medieval:#557d9b;--ottoman:#bb7257;--habsburg:#c49a4f;--serbian:#a65b61;--modern:#638878}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #557d9b;outline-offset:5px}button:disabled{cursor:default}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Atlas,Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1;letter-spacing:-.04em}h1{font-size:clamp(44px,5.6vw,76px)}h2{font-size:clamp(36px,4vw,52px)}h3{font-size:26px}p+p{margin-top:16px}.header{max-width:1200px;margin:auto;min-height:96px;display:flex;align-items:center;justify-content:space-between;padding:20px 36px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:25px;text-decoration:none;letter-spacing:-.8px}.brand-sub{font:9px/1.5 Arial,sans-serif;letter-spacing:1.6px;color:var(--muted);border-left:1px solid var(--line);padding-left:20px;margin-left:10px;max-width:100px}nav{display:flex;gap:30px;font-size:13px}nav a{text-decoration:none}nav span{padding-left:12px}main{max-width:1128px;margin:auto;min-height:70vh}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:10px;color:#64645b}.eyebrow:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green)}.hero{display:grid;grid-template-columns:1fr 1.06fr;gap:58px;padding:56px 0 48px;align-items:center}.hero h1{margin:25px 0}.hero h1 em{font-weight:400;color:#6a7765}.hero-copy>p{font-size:14px;line-height:1.85;color:#65655d;max-width:440px}.primary{border:1px solid var(--green);background:var(--green);color:white;text-decoration:none;display:inline-flex;justify-content:space-between;align-items:center;gap:36px;padding:15px 21px;min-height:52px;font-size:13px}.primary:hover{background:#304c3e}.hero .primary{margin:28px 0 24px}.hero-meta{display:flex;gap:20px;font-size:11px;color:var(--muted)}.hero-visual{position:relative}.hero-visual img{display:block;width:100%;height:510px;object-fit:cover}.photo-tag{position:absolute;top:18px;left:18px;background:var(--paper);font-size:9px;letter-spacing:1.6px;padding:7px 10px}.hero-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:12px}.epoch-strip{display:flex;height:5px;gap:4px}.epoch-strip span{flex:1;background:var(--c)}.intro-bottom{padding:0 0 48px}.intro-bottom p{max-width:700px;font-size:14px;color:#65655d;margin-top:22px}.section{padding:52px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-head h2{margin-top:12px}.section-note{font-size:12px;color:var(--muted);max-width:270px}.epochs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.epoch{border-top:3px solid var(--c);background:var(--tint);overflow:hidden}.epoch img{width:100%;height:140px;object-fit:cover;display:block;filter:saturate(.6)}.epoch-text{padding:22px}.epoch .date{font-size:10px;letter-spacing:1.4px;color:#57574e}.epoch h3{font-size:24px;letter-spacing:-.03em;margin:10px 0 14px}.epoch p{font-size:12px;line-height:1.8;color:#5b5b54}.image-label{font-size:9px;color:var(--muted);padding:9px 16px 0}.walk-heading{display:flex;gap:16px;align-items:center}.progress-text{font-size:12px;color:var(--muted)}.progress-track{background:#e2e3db;height:3px;margin:14px 0 30px}.progress-fill{background:var(--green);height:100%;transition:width .2s}.route-start{display:flex;gap:22px;padding:22px 26px;background:#edece5;align-items:center;margin-bottom:20px}.route-start .label{font-size:9px;letter-spacing:2px;color:var(--muted)}.route-start h3{font-family:inherit;font-size:15px;letter-spacing:0;font-weight:500;margin:4px 0}.route-start p{font-size:11px;color:var(--muted)}.route-start>a{margin-left:auto;font-size:11px}.route-hint{font-size:12px;color:var(--muted);padding:0 0 25px;max-width:750px}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.stop-card{border:1px solid var(--line);background:var(--paper);position:relative}.stop-open{display:block;width:100%;text-align:left;border:0;background:none;padding:0;color:inherit}.stop-picture{position:relative;overflow:hidden}.stop-picture img{width:100%;height:230px;object-fit:cover;display:block;transition:transform .4s}.stop-open:hover img{transform:scale(1.025)}.number{position:absolute;top:16px;left:16px;display:grid;place-items:center;background:var(--paper);font-size:12px;width:36px;height:36px}.card-done{position:absolute;top:16px;right:16px;background:var(--green);color:white;font-size:11px;padding:7px 10px}.stop-body{padding:22px 24px 20px}.badges{display:flex;gap:12px;flex-wrap:wrap;font-size:9px;letter-spacing:1px;color:#68685f;margin-bottom:14px}.badge{display:flex;align-items:center;gap:6px}.badge:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--c)}.stop-body h3{font-size:29px}.serbian{font-size:11px;color:var(--muted);margin-top:8px}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:20px;border-top:1px solid var(--line);padding-top:14px;font-size:11px;color:#62655b}.text-link{border:0;background:none;text-decoration:underline;padding:5px 0;color:inherit;font-size:12px}.walk-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;gap:18px}.walk-bottom .primary{margin-left:auto}.detail{max-width:780px;margin:0 auto;padding:36px 0 64px}.back{font-size:12px;text-decoration:none;display:inline-flex;padding:8px 0;margin-bottom:24px}.detail .eyebrow{margin-bottom:18px}.detail h1{font-size:clamp(38px,5vw,62px);margin-bottom:12px}.detail .serbian{font-size:13px;margin-bottom:28px}.detail-photo{width:100%;max-height:460px;object-fit:cover;display:block}.credit{font-size:10px;color:var(--muted);margin-top:10px}.detail-intro{display:flex;justify-content:space-between;gap:20px;margin:28px 0;font-size:12px;color:var(--muted)}.history-card{border-left:3px solid var(--c);background:var(--tint);padding:24px 28px;margin-bottom:16px}.history-card .eyebrow{color:#63635b;margin:0 0 12px;font-size:9px}.history-card .eyebrow:before{background:var(--c)}.history-card h2{font-size:29px;letter-spacing:-.03em;margin:0 0 16px}.history-card p{font-size:14px;line-height:1.8}.history-card>a{display:inline-block;margin-top:16px;font-size:10px;color:#65655d}.look{padding:26px 0;border-bottom:1px solid var(--line);margin-bottom:25px}.look .eyebrow{margin-bottom:12px}.look p{font-size:14px}.next-direction{font-size:12px;color:var(--muted);margin:22px 0}.done-toggle{width:100%;border:1px solid var(--green);color:var(--green);background:none;padding:15px 16px;min-height:52px;font-size:13px}.done-toggle.is-done{color:white;background:var(--green)}.detail-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;border-top:1px solid var(--line);padding-top:24px}.detail-nav a{font-size:12px}.detail-nav .next{max-width:65%;text-align:right}.finish{padding:75px 0;max-width:720px;margin:auto}.finish h1{margin:20px 0 30px}.finish>p{font-size:15px;color:#65655d}.finish .epoch-strip{margin:36px 0}.finish .primary{margin-top:28px}.finish-count{font-size:12px;color:var(--muted)}.sources{padding:50px 0;max-width:850px;margin:auto}.sources h1{font-size:48px;margin:10px 0 30px}.sources>p{font-size:14px;color:var(--muted)}.source-item{padding:22px 0;border-bottom:1px solid var(--line)}.source-item h3{font-family:inherit;font-size:16px;letter-spacing:0}.source-item p,.source-item a{font-size:12px;overflow-wrap:anywhere}.source-item p{color:var(--muted);margin-top:8px}footer{max-width:1128px;margin:auto;border-top:1px solid var(--line);padding:26px 0 35px;display:flex;gap:22px;justify-content:space-between;color:var(--muted);font-size:10px}footer>span:first-child{letter-spacing:1.5px}footer a{text-decoration:none}.notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);padding:12px 18px;background:var(--ink);color:white;font-size:12px;width:max-content;max-width:90%;z-index:10}.loading{padding:80px 24px}.skip{position:absolute;left:16px;top:-100px;z-index:20;background:var(--paper);padding:10px}.skip:focus{top:10px}.mobile-progress{display:none}dialog{border:1px solid var(--line);padding:30px;background:var(--paper);color:var(--ink);max-width:calc(100% - 40px);width:420px}dialog::backdrop{background:#25252266}dialog h2{font-size:32px;margin-bottom:18px}dialog p{font-size:14px}dialog .actions{display:flex;gap:24px;justify-content:end;margin-top:24px}
@media(min-width:1500px){.hero-visual img{height:550px}}
@media(max-width:1199px){main,footer{margin-left:36px;margin-right:36px}.hero{gap:36px}.hero-visual img{height:480px}}
@media(max-width:760px){.header{min-height:76px;padding:18px 22px}.brand{font-size:23px;gap:9px}.brand-sub{display:none}nav{gap:18px;font-size:11px}nav span{padding-left:2px}main,footer{margin-left:22px;margin-right:22px}.hero{grid-template-columns:1fr;gap:26px;padding:30px 0 26px}.hero h1{font-size:45px;line-height:1.06;margin:20px 0}.hero-copy>p{font-size:13px;line-height:1.8}.hero .primary{display:flex;width:100%;margin:22px 0 16px}.hero-meta{font-size:10px;gap:18px}.hero-visual img{height:330px}.hero-caption{font-size:9px}.photo-tag{font-size:8px;top:14px;left:14px}.intro-bottom{padding-bottom:30px}.intro-bottom p{font-size:12px;line-height:1.8;margin-top:18px}.section{padding:32px 0}.section-head{display:block;margin-bottom:24px}.section-head h2{font-size:37px}.section-note{margin-top:16px;font-size:11px}.eyebrow{font-size:9px;letter-spacing:1.6px}.epochs-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.epoch{flex:0 0 82%;scroll-snap-align:start}.epoch img{height:155px}.epoch-text{padding:20px}.epoch h3{font-size:26px}.epoch p{font-size:12px}.route-start{padding:18px;gap:12px;flex-wrap:wrap}.route-start>a{margin-left:0;width:100%}.route-start h3{font-size:14px}.route-grid{grid-template-columns:1fr;gap:20px}.stop-picture img{height:225px}.stop-body{padding:20px}.stop-body h3{font-size:29px}.walk-heading{margin-top:18px}.route-hint{font-size:11px}.walk-bottom{flex-wrap:wrap}.walk-bottom .primary{width:100%;margin-left:0}.detail{padding-top:22px}.detail .back{margin-bottom:20px}.detail h1{font-size:41px;line-height:1.08}.detail .serbian{font-size:12px;margin-bottom:22px}.detail-photo{height:270px}.history-card{padding:22px 20px}.history-card h2{font-size:28px}.history-card p{font-size:13px}.detail-intro{font-size:11px;margin:22px 0}.detail-nav{align-items:start}.detail-nav .next{max-width:58%}.finish{padding:40px 0}.finish h1{font-size:43px}.finish>p{font-size:14px}.finish .primary{width:100%}.sources{padding:28px 0}.sources h1{font-size:39px}footer{display:flex;flex-wrap:wrap;padding:24px 0 30px;gap:15px;font-size:9px}footer>span:last-child{width:100%}.mobile-progress{display:block;margin-left:auto;font-size:11px}.source-item h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Заметный старт и короткие истории для прогулки. */
.walk-actions{display:flex;align-items:center;gap:24px;margin:0 0 48px}.catalog-title{font-size:30px}.catalog-note{font-size:12px;color:var(--muted);margin:12px 0 24px}.story-date{font-size:11px;color:#64645a;letter-spacing:.3px;margin-bottom:12px}.history-card h2{line-height:1.18;font-size:30px}.history-card p{line-height:1.85}.detail-intro{justify-content:flex-end}.story-figure{margin-top:24px}.story-figure img{display:block;width:100%;max-height:400px;object-fit:contain}.done-toggle:not(.is-done){background:var(--green);color:white}.notice{display:flex;align-items:center;gap:18px;width:auto;min-width:250px}.notice[hidden]{display:none}.notice button{background:none;border:0;color:white;text-decoration:underline;font-size:12px;padding:6px}.epoch:first-child img{object-fit:contain;background:#e4ded8;padding:12px}
@media(max-width:760px){.walk-actions{align-items:stretch;flex-direction:column;margin-bottom:36px;gap:12px}.walk-actions .text-link{align-self:flex-start}.history-card h2{font-size:28px}.history-card p{font-size:14px}.story-date{font-size:11px}.notice{max-width:calc(100% - 28px);font-size:11px}.notice button{white-space:nowrap}.catalog-title{font-size:28px}}

/* Тексты для чтения с телефона. */
.hero h1{font-size:clamp(48px,5.5vw,74px);margin:22px 0 18px;letter-spacing:-.055em}
.hero-subtitle{font-size:clamp(29px,3.1vw,42px);line-height:1.15;margin-bottom:24px;letter-spacing:-.035em}
.hero-subtitle em{color:#6a7765;font-style:normal}
.hero-copy>p,.intro-bottom p{font-size:17px;line-height:1.65}
.epoch .date{display:block;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:.2px;color:#494940}
.epoch h3{font-size:28px;line-height:1.15}
.epoch p{font-size:16px;line-height:1.65;color:#45453e}
.epoch img{height:175px;filter:none}
.image-label{font-size:11px;line-height:1.5}
.section-note{font-size:14px;margin-top:14px;max-width:340px}
.epoch-skip{font-size:15px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
.history-card p,.look li{font-size:16px;line-height:1.65}
.story-date{font-size:13px;color:#55554b}
.look ul{margin:0;padding-left:20px}.look li+li{margin-top:10px}
@media(max-width:760px){
 .hero h1{font-size:clamp(43px,12.8vw,62px);margin:18px 0 14px}
 .hero-subtitle{font-size:31px;margin-bottom:20px}
 .hero-copy>p,.intro-bottom p{font-size:17px;line-height:1.65}
 .section-head h2{font-size:35px}.epoch-skip{margin-top:10px}
 .epochs-grid{gap:14px}.epoch{flex-basis:90%}.epoch img{height:180px}
 .epoch h3{font-size:28px}.epoch p{font-size:16px;line-height:1.65}
 .history-card p,.look li{font-size:16px;line-height:1.65}
 .story-date{font-size:13px}.hero-caption{gap:12px;flex-wrap:wrap}
}
