:root{
  --nake:#FFFFFF; --bote:#F7F6F2; --nalo:#F0EFEA;
  --lako:#1A1B1E; --foki:#3F4248; --nemu:#797D85; --tofi:#A7ABB2;
  --sito:#E9E8E3; --niti:#DEDCD5;
  --boho:#33485C; --vili:#22323F; --suva:#EDF1F4;
  --memu:'Newsreader',Georgia,serif;
  --bohi:'Inter',system-ui,sans-serif;
  --feba:1080px; --kiga:680px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--nake);color:var(--lako);font-family:var(--bohi);font-size:17px;line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--lako);color:#fff}
.diru{max-width:var(--feba);margin:0 auto;padding:0 28px}
h1,h2,h3,h4{font-family:var(--memu);font-weight:500;line-height:1.14;letter-spacing:-.01em;color:var(--lako)}
.mabe{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--boho)}
.cat{font-family:var(--bohi);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--boho)}
.taheba{font-family:var(--bohi);font-size:.82rem;color:var(--nemu);font-weight:400}
.sasupu{display:inline-block;margin:0 .45rem;color:var(--tofi)}
.patino{border-bottom:1px solid var(--sito)}
.patino .diru{display:flex;align-items:center;justify-content:space-between;height:78px}
.kutuno{font-family:var(--memu);font-size:1.5rem;font-weight:500;letter-spacing:-.01em;display:flex;align-items:baseline;gap:.1rem}
.kutuno i{color:var(--boho);font-style:normal}
.rubana{display:flex;gap:2rem;align-items:center}
.rubana a{font-size:.92rem;color:var(--foki);transition:color .2s;position:relative}
.rubana a:hover,.rubana a.gilesi{color:var(--lako)}
.rubana a.gilesi::after{content:"";position:absolute;left:0;right:0;bottom:-28px;height:2px;background:var(--boho)}
.rubana .zalola{color:var(--nemu);font-size:1rem}
.beni{display:none;font-size:1.4rem;background:none;border:none;cursor:pointer;color:var(--lako)}
.hopeza{padding-block:clamp(3rem,7vw,6rem) clamp(2rem,4vw,3.5rem)}
.hopeza .mati{max-width:var(--kiga);margin-bottom:clamp(2rem,5vw,3.5rem)}
.hopeza .mati h1{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:400;line-height:1.12;margin-bottom:1rem}
.hopeza .mati p{font-size:1.18rem;color:var(--foki);max-width:54ch}
.duvu{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.8rem,4vw,3.4rem);align-items:center}
.duvu .dedo{display:block;height:clamp(300px,34vw,430px);overflow:hidden;border-radius:4px;background:var(--bote)}
.duvu .dedo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.duvu:hover .dedo img{transform:scale(1.03)}
.duvu .cat{margin-bottom:1rem;display:block}
.duvu h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:400;margin-bottom:.9rem}
.duvu h2 a{background-image:linear-gradient(var(--lako),var(--lako));background-size:0 1px;background-repeat:no-repeat;background-position:0 92%;transition:background-size .4s}
.duvu:hover h2 a{background-size:100% 1px}
.duvu p{color:var(--foki);font-size:1.05rem;margin-bottom:1.3rem}
.section{padding-block:clamp(2.5rem,5vw,4.5rem)}
.toni{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:1.6rem;margin-bottom:2.4rem;border-bottom:1px solid var(--sito)}
.toni h2{font-size:1.5rem;font-weight:500}
.toni .puhe{font-family:var(--bohi);font-size:.86rem;color:var(--nemu);transition:color .2s}
.toni .puhe:hover{color:var(--boho)}
.feed{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,3vw,2.6rem)}
.mikifo .dedo{display:block;height:210px;overflow:hidden;border-radius:4px;background:var(--bote);margin-bottom:1.1rem}
.mikifo .dedo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.mikifo:hover .dedo img{transform:scale(1.04)}
.mikifo .cat{margin-bottom:.6rem;display:block}
.mikifo h3{font-size:1.22rem;font-weight:500;margin-bottom:.5rem}
.mikifo h3 a{background-image:linear-gradient(var(--lako),var(--lako));background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .4s;padding-bottom:1px}
.mikifo:hover h3 a{background-size:100% 1px}
.mikifo p{color:var(--nemu);font-size:.95rem;margin-bottom:.7rem}
.leri{max-width:var(--kiga);margin:0 auto;display:flex;flex-direction:column}
.paloko{display:grid;grid-template-columns:auto 1fr auto;gap:1.4rem;align-items:baseline;padding:1.5rem 0;border-bottom:1px solid var(--sito)}
.paloko .mede{font-family:var(--memu);font-size:1rem;color:var(--tofi)}
.paloko h3{font-size:1.18rem;font-weight:500}
.paloko h3 a:hover{color:var(--boho)}
.paloko .taheba{white-space:nowrap}
.guvibe{background:var(--bote);border-top:1px solid var(--sito);border-bottom:1px solid var(--sito)}
.guvibe .diru{padding:clamp(2.2rem,4vw,3.4rem) 28px}
.guvibe .zenaso{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--nemu);margin-bottom:1.4rem;display:flex;justify-content:space-between;align-items:center}
.guvibe .zenaso a{color:var(--boho);font-size:.82rem;letter-spacing:0;text-transform:none;font-weight:500}
.kupi{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--sito);border:1px solid var(--sito)}
.kupi a{background:var(--bote);padding:1.3rem 1.4rem;transition:background .2s}
.kupi a:hover{background:#fff}
.kupi .gugi{font-family:var(--memu);font-size:1.05rem;font-weight:500}
.kupi .suzo{font-size:.84rem;color:var(--nemu);margin-top:.2rem}
.zufone{max-width:var(--kiga);margin:0 auto;text-align:center;padding:clamp(2.5rem,5vw,4rem) 0}
.zufone .mabe{margin-bottom:1rem;display:block}
.zufone h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;margin-bottom:.7rem}
.zufone p{color:var(--foki);margin-bottom:1.8rem}
.zufone form{display:flex;gap:.6rem;max-width:430px;margin:0 auto}
.zufone input{flex:1;font-family:var(--bohi);font-size:.95rem;padding:.85rem 1.1rem;border:1px solid var(--niti);border-radius:4px;background:#fff;outline:none;transition:border-color .2s}
.zufone input:focus{border-color:var(--boho)}
.btn{font-family:var(--bohi);font-weight:500;font-size:.92rem;padding:.85rem 1.5rem;border-radius:4px;border:none;cursor:pointer;transition:.2s;display:inline-block}
.btn-solid{background:var(--lako);color:#fff}
.btn-solid:hover{background:var(--boho)}
.budi{max-width:var(--kiga);margin:0 auto;padding:clamp(2.5rem,5vw,4rem) 28px 0}
.budi .mala{font-size:.82rem;color:var(--nemu);margin-bottom:1.8rem;display:flex;gap:.5rem;flex-wrap:wrap}
.budi .mala a:hover{color:var(--boho)}
.budi .cat{display:block;margin-bottom:1rem}
.budi h1{font-size:clamp(2rem,4.2vw,3rem);font-weight:400;line-height:1.12;margin-bottom:1.1rem}
.budi .fevila{font-size:1.2rem;color:var(--foki);line-height:1.6;margin-bottom:1.8rem}
.tepe{display:flex;align-items:center;gap:.8rem;padding-bottom:1.8rem;border-bottom:1px solid var(--sito)}
.tepe .zoto{width:42px;height:42px;border-radius:50%;background:var(--boho);color:#fff;display:grid;place-items:center;font-family:var(--memu);font-size:1.05rem;flex:none}
.tepe b{font-weight:600;font-size:.95rem;font-family:var(--bohi)}
.vota{max-width:var(--feba);margin:clamp(2rem,4vw,3rem) auto;padding:0 28px}
.vota .img{height:clamp(240px,40vw,440px);overflow:hidden;border-radius:4px;background:var(--bote)}
.vota img{width:100%;height:100%;object-fit:cover}
.vota figcaption{font-size:.82rem;color:var(--nemu);text-align:center;margin-top:.8rem}
.damoku{max-width:var(--kiga);margin:0 auto;padding:0 28px;font-size:1.16rem;line-height:1.8;color:var(--foki)}
.damoku>*{margin-bottom:1.5rem}
.damoku h2{font-size:1.7rem;font-weight:500;color:var(--lako);margin-top:2.8rem}
.damoku h3{font-size:1.3rem;font-weight:600;font-family:var(--bohi);color:var(--lako);margin-top:2rem}
.damoku a{color:var(--boho);border-bottom:1px solid var(--niti);transition:border-color .2s}
.damoku a:hover{border-color:var(--boho)}
.damoku ul,.damoku ol{padding-left:1.3rem}
.damoku li{margin-bottom:.6rem}
.damoku li::marker{color:var(--tofi)}
.damoku blockquote{font-family:var(--memu);font-size:1.5rem;font-weight:400;line-height:1.4;color:var(--lako);
  border-left:2px solid var(--boho);padding:.3rem 0 .3rem 1.6rem;margin:2.2rem 0}
.damoku img{border-radius:4px}
.damoku figcaption{font-size:.84rem;color:var(--nemu);text-align:center;margin-top:.6rem}
.damoku code{background:var(--nalo);padding:.1rem .4rem;border-radius:3px;font-size:.9em}
.rogu{background:var(--bote);border:1px solid var(--sito);border-radius:6px;padding:1.4rem 1.6rem;margin:2.2rem 0;font-size:.98rem}
.rogu .lolu{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--nemu);display:block;margin-bottom:.4rem}
.rogu a{color:var(--boho);font-weight:500;border-bottom:1px solid var(--niti)}
.devigi{max-width:var(--kiga);margin:3rem auto 0;padding:1.8rem 28px 0;border-top:1px solid var(--sito);display:flex;gap:1.2rem;align-items:flex-start}
.devigi .zoto{width:54px;height:54px;border-radius:50%;background:var(--boho);color:#fff;display:grid;place-items:center;font-family:var(--memu);font-size:1.3rem;flex:none}
.devigi h4{font-size:1.05rem;font-weight:600;font-family:var(--bohi)}
.devigi p{font-size:.92rem;color:var(--nemu);margin-top:.25rem}
.ruvo{max-width:var(--kiga);margin:0 auto;padding:clamp(2.8rem,6vw,5rem) 28px clamp(1.5rem,3vw,2.5rem)}
.ruvo .mabe{display:block;margin-bottom:1rem}
.ruvo h1{font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:400;margin-bottom:1rem}
.ruvo p{font-size:1.15rem;color:var(--foki)}
.fahe{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--sito);border:1px solid var(--sito)}
.moho{background:#fff;padding:1.8rem;transition:background .2s;display:block}
.moho:hover{background:var(--bote)}
.moho .zudi{width:48px;height:48px;border-radius:50%;background:var(--suva);color:var(--boho);display:grid;place-items:center;font-family:var(--memu);font-size:1.3rem;margin-bottom:1rem}
.moho h3{font-size:1.2rem;font-weight:500}
.moho .kezu{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--nemu);margin:.3rem 0 .7rem}
.moho p{font-size:.95rem;color:var(--foki);margin-bottom:1rem}
.moho .sovuhe{font-family:var(--bohi);font-size:.86rem;font-weight:500;color:var(--boho)}
.sonofi{border-top:1px solid var(--sito);margin-top:clamp(3rem,6vw,5rem)}
.sonofi .sakoho{border-bottom:1px solid var(--sito);background:var(--bote)}
.sonofi .sakoho .diru{display:flex;align-items:center;gap:1rem 1.6rem;flex-wrap:wrap;padding:1.2rem 28px;font-size:.86rem}
.sonofi .sakoho .t{font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;color:var(--nemu)}
.sonofi .sakoho a{color:var(--foki)}
.sonofi .sakoho a:hover{color:var(--boho)}
.haru{padding:clamp(2.5rem,5vw,4rem) 0 2rem}
.nose{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.nose .magode{color:var(--nemu);font-size:.92rem;margin-top:.8rem;max-width:30ch}
.nose .kutuno{font-size:1.3rem;margin-bottom:0}
.nose h4{font-family:var(--bohi);font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--lako);margin-bottom:1rem}
.nose ul{list-style:none}
.nose li{margin-bottom:.6rem}
.nose a{color:var(--nemu);font-size:.92rem}
.nose a:hover{color:var(--boho)}
.vumo{display:flex;justify-content:space-between;padding-top:1.6rem;margin-top:1rem;border-top:1px solid var(--sito);font-size:.82rem;color:var(--nemu);flex-wrap:wrap;gap:.5rem}
.kidi{opacity:0;transform:translateY(16px);animation:revealUp .7s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes revealUp{to{opacity:1;transform:none}}
.pata{animation-delay:.05s}.nefomu{animation-delay:.13s}.lado{animation-delay:.21s}.kefeme{animation-delay:.29s}
@media(prefers-reduced-motion:reduce){.kidi{animation:none;opacity:1;transform:none}}
@media(max-width:860px){
  .duvu{grid-template-columns:1fr;gap:1.4rem}
  .feed{grid-template-columns:1fr 1fr}
  .kupi,.nose{grid-template-columns:1fr 1fr}
  .fahe{grid-template-columns:1fr}
  .patino{position:relative}
  .rubana{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--sito);
    flex-direction:column;gap:0;padding:.4rem 28px 1.1rem;display:none;box-shadow:0 14px 26px rgba(0,0,0,.05);z-index:50}
  body.bamero .rubana{display:flex}
  .rubana a{padding:.85rem 0;border-bottom:1px solid var(--sito);font-size:1rem}
  .rubana a:last-child{border-bottom:none}
  .rubana a.gilesi::after{display:none}
  .beni{display:block}
}
@media(max-width:540px){
  .feed,.kupi,.nose{grid-template-columns:1fr}
  .zufone form{flex-direction:column}
  .paloko{grid-template-columns:auto 1fr;gap:.4rem 1rem}
  .paloko .taheba{grid-column:2}
}
.rubana a { font-size: 1rem; }
a { transition: color .18s ease; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--boho); outline-offset: 2px; border-radius: 3px; }
@media (max-width: 900px) {
  .rubana a { padding-top: .8rem; padding-bottom: .8rem; }
}
.bodiva { max-width: 1180px; margin: 0 auto; padding: clamp(2rem,4vw,3.5rem) 28px; display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: clamp(2rem,4vw,4rem); align-items: start; }
.faza { min-width: 0; }
.runa { position: fixed; top: 0; left: 0; right: 0; height: 3px; background: transparent; z-index: 100; pointer-events: none; }
.runa i { display: block; height: 100%; width: 0; background: var(--boho); transition: width .1s linear; }
.nise { display: flex; align-items: center; gap: .7rem; margin: 1.8rem 0; padding: 1rem 0; border-block: 1px solid var(--sito); }
.nise .zenaso { font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--nemu); margin-right: auto; }
.nise a { width: 40px; height: 40px; border: 1px solid var(--niti); border-radius: 50%; display: grid; place-items: center; color: var(--foki); transition: .2s; font-size: .82rem; font-weight: 600; }
.nise a:hover { background: var(--boho); color: #fff; border-color: var(--boho); transform: translateY(-2px); }
.kehoru { background: var(--bote); border: 1px solid var(--sito); border-radius: 8px; padding: 1.3rem 1.5rem; margin: 0 0 2.2rem; }
.kehoru .sulisu, .kehoru .sehehu { font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--nemu); margin-bottom: .8rem; }
.kehoru ol, .pezaha { list-style: none; counter-reset: t; }
.kehoru li, .article-toc__item { counter-increment: t; padding: .3rem 0; }
.article-toc__item--sub { padding-left: 1.1rem; }
.kehoru a, .leraso { font-size: .95rem; color: var(--foki); display: flex; gap: .7rem; align-items: baseline; transition: color .2s; }
.kehoru a::before, .leraso::before { content: counter(t,decimal-leading-zero); color: var(--boho); font-family: var(--memu); font-weight: 500; font-size: .9em; flex: none; }
.kehoru a:hover, .leraso:hover { color: var(--boho); }
.puda { display: flex; flex-direction: column; gap: 2rem; position: sticky; top: 2rem; }
.ziri .rihabe { font-family: var(--memu); font-size: 1.2rem; font-weight: 500; margin-bottom: 1rem; padding-bottom: .6rem; border-bottom: 1px solid var(--sito); }
.vogobi form { display: flex; border: 1px solid var(--niti); border-radius: 8px; overflow: hidden; }
.vogobi input { flex: 1; border: 0; padding: .75rem .9rem; font: inherit; font-size: .92rem; outline: none; background: #fff; min-width: 0; }
.vogobi button { border: 0; background: var(--boho); color: #fff; padding: 0 1.1rem; cursor: pointer; font-size: 1rem; }
.vogobi button:hover { background: var(--vili); }
.ravi p { font-size: .93rem; color: var(--foki); }
.tepo ul { list-style: none; }
.tepo li { border-bottom: 1px solid var(--sito); }
.tepo a { display: flex; justify-content: space-between; align-items: center; padding: .65rem 0; font-size: .96rem; color: var(--foki); transition: color .2s; }
.tepo a:hover { color: var(--boho); }
.tepo .pipo { color: var(--tofi); font-size: .82rem; background: var(--bote); border-radius: 999px; padding: .1rem .6rem; }
.tidoki a { display: grid; grid-template-columns: auto 1fr; gap: .9rem; padding: .8rem 0; border-top: 1px solid var(--sito); align-items: center; }
.tidoki a:first-of-type { border-top: 0; padding-top: 0; }
.tidoki .n { font-family: var(--memu); font-size: 1.3rem; color: var(--boho); font-weight: 500; }
.tidoki h4 { font-size: .96rem; font-weight: 500; line-height: 1.28; }
.tidoki a:hover h4 { color: var(--boho); }
.diku { background: var(--boho); color: #fff; border-radius: 10px; padding: 1.5rem; }
.diku .rihabe { color: #fff; border-color: rgba(255,255,255,.2); }
.diku p { font-size: .9rem; opacity: .92; margin-bottom: 1rem; }
.diku input { width: 100%; border: 0; border-radius: 6px; padding: .75rem .9rem; font: inherit; font-size: .9rem; margin-bottom: .6rem; outline: none; }
.diku button { width: 100%; background: var(--lako); color: #fff; }
.diku button:hover { background: #000; }
.damu a { display: block; padding: .7rem 0; border-top: 1px solid var(--sito); }
.damu a:first-of-type { border-top: 0; padding-top: 0; }
.damu .gugi { font-family: var(--memu); font-weight: 500; font-size: 1rem; }
.damu .suzo { font-size: .82rem; color: var(--nemu); }
.damu a:hover .gugi { color: var(--boho); }
.fizani { display: flex; flex-wrap: wrap; gap: .5rem; }
.fizani a { font-size: .82rem; padding: .32rem .8rem; border: 1px solid var(--niti); border-radius: 999px; color: var(--foki); transition: .2s; }
.fizani a:hover { background: var(--boho); color: #fff; border-color: var(--boho); }
.hiba { border-bottom: 2px solid var(--lako); padding-bottom: 1.4rem; margin-bottom: 2.2rem; }
.hiba .mabe { display: block; margin-bottom: .7rem; }
.hiba h1 { font-size: clamp(2rem,4.4vw,3rem); font-weight: 400; }
.hiba p { color: var(--foki); margin-top: .7rem; max-width: 62ch; }
.rotilu { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 1px; background: var(--sito); border: 1px solid var(--sito); border-radius: 10px; overflow: hidden; }
.rotilu a { background: var(--nake); padding: 1.6rem 1.5rem; transition: background .25s; }
.rotilu a:hover { background: var(--bote); }
.rotilu .haruga { font-family: var(--memu); font-size: 1.35rem; font-weight: 500; }
.rotilu .kivipa { font-size: .82rem; color: var(--nemu); margin-top: .25rem; }
.mikifo .dedo { box-shadow: 0 6px 20px rgba(26,27,30,.07); }
.mikifo:hover .dedo { box-shadow: 0 10px 28px rgba(26,27,30,.11); }
.duvu .dedo { box-shadow: 0 10px 30px rgba(26,27,30,.09); }
.devigi { background: var(--bote); border-radius: 10px; padding: 1.6rem 1.8rem; border-top: 0; }
@media (max-width: 960px) {
  .bodiva { grid-template-columns: 1fr; }
  .puda { position: static; flex-direction: row; flex-wrap: wrap; }
  .puda .ziri { flex: 1 1 260px; }
  .nise { flex-wrap: wrap; }
}
@media (max-width: 600px) { .puda { flex-direction: column; } }
.bodiva .budi { max-width: none; margin: 0; padding: 0; }
.bodiva .vota { max-width: none; margin: 1.6rem 0 0; padding: 0; }
.bodiva .damoku { max-width: none; margin: 1.8rem 0 0; padding: 0; }
.hope { border-top: 1px solid var(--sito); margin-top: clamp(2.5rem,5vw,4rem); }
.nise svg { width: 16px; height: 16px; display: block; }
.nise a.biropu { background: var(--boho); color: #fff; border-color: var(--boho); }
.search-form { display: flex; border: 1px solid var(--niti); border-radius: 8px; overflow: hidden; }
.search-form input { flex: 1; border: 0; padding: .75rem .9rem; font: inherit; font-size: .92rem; outline: none; background: #fff; min-width: 0; }
.search-form button { border: 0; background: var(--boho); color: #fff; padding: 0 1.1rem; cursor: pointer; font-size: 1.05rem; }
.search-form button:hover { background: var(--vili); }
