/* === obsidian-royal — deep charcoal × amethyst purple === */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600;700&display=swap');

:root {
    --or-bg:       #121016;
    --or-surf:     #1a1720;
    --or-surf2:    #22202a;
    --or-bdr:      #2e2a38;
    --or-bdr2:     #3d3748;
    --or-txt:      #e4e0ec;
    --or-muted:    #7d7590;
    --or-acc:      #a17fe0;
    --or-acc-h:    #b694f0;
    --or-acc-dark: #7c5cbf;
    --or-acc-soft: rgba(161,127,224,.1);
    --or-rad:      6px;
    --or-font-head: 'Playfair Display', Georgia, serif;
    --or-font-body: 'Source Sans 3', system-ui, sans-serif;
}

:root {
    --color-bg:            var(--or-bg);
    --color-surface:       var(--or-surf);
    --color-surface-hover: var(--or-surf2);
    --color-border:        var(--or-bdr);
    --color-text:          var(--or-txt);
    --color-text-muted:    var(--or-muted);
    --color-accent:        var(--or-acc);
    --color-accent-hover:  var(--or-acc-h);
    --color-accent-soft:   var(--or-acc-soft);
    --color-white: var(--or-txt);
    --font:                var(--or-font-body);
    --radius:              6px;
    --radius-lg:           10px;
    --shadow:              0 2px 12px rgba(0,0,0,.25);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--or-font-body); background: var(--or-bg); color: var(--or-txt); line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: var(--or-acc); text-decoration: none; transition: color .2s; }
a:hover { color: var(--or-acc-h); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; padding-left: 0; margin: 0; }
h1, h2, h3, h4 { font-family: var(--or-font-head); }

.vreh7 { max-width: 1160px; margin: 0 auto; padding: 0 1.25rem; }

/* === Header === */
.qriy4 {
    background: var(--or-surf);
    border-bottom: 1px solid var(--or-bdr);
    position: sticky; top: 0; z-index: 100;
    box-shadow: 0 2px 16px rgba(0,0,0,.3);
}
.stid8 { display: flex; align-items: center; gap: 1.5rem; height: 58px; }
.fvic4 {
    font-family: var(--or-font-head); font-size: 1.15rem; font-weight: 700; color: var(--or-acc);
    white-space: nowrap; letter-spacing: .02em;
}
.fvic4:hover { color: var(--or-acc-h); }
.pwif8 { display: flex; gap: .2rem; }
.pwif8 a {
    color: var(--or-muted); font-size: .82rem; font-weight: 500;
    padding: .35rem .75rem; border-radius: var(--or-rad);
    transition: color .2s, background .2s;
}
.pwif8 a:hover { color: var(--or-acc); background: var(--or-acc-soft); }
.dsiq7 {
    margin-left: auto; display: inline-block; padding: .45rem 1.15rem;
    background: var(--or-acc); color: #121016 !important; font-size: .8rem; font-weight: 700;
    border-radius: var(--or-rad); transition: background .2s; white-space: nowrap;
}
.dsiq7:hover { background: var(--or-acc-h); }
.hxit0 { position: relative; }
.ibog4 {
    background: var(--or-bg); border: 1px solid var(--or-bdr2); padding: .4rem .75rem;
    color: var(--or-txt); font-size: .82rem; width: 195px; outline: none; font-family: var(--or-font-body);
    border-radius: var(--or-rad); transition: border-color .2s;
}
.ibog4:focus { border-color: var(--or-acc); }
.wzio5 { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; font-size: 1rem; }
.xlecg3 {
    position: absolute; top: 100%; right: 0; background: var(--or-surf); border: 1px solid var(--or-bdr2);
    width: 290px; display: none; z-index: 200; border-radius: var(--or-rad); box-shadow: 0 6px 24px rgba(0,0,0,.3);
}
.xlecg3 a { display: block; padding: .55rem .8rem; color: var(--or-txt); border-bottom: 1px solid var(--or-bdr); font-size: .82rem; }
.xlecg3 a:last-child { border-bottom: none; }
.xlecg3 a:hover { background: var(--or-acc-soft); color: var(--or-acc); }

/* === Main === */
.hdoz8 { min-height: 60vh; padding: 2rem 0; }

/* === Cards — elegant card grid with image top === */
.qqer6 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1rem;
}
.ydez9 {
    display: flex;
    flex-direction: column;
    background: var(--or-surf);
    border: 1px solid var(--or-bdr);
    border-radius: var(--or-rad);
    overflow: hidden;
    transition: box-shadow .2s, border-color .2s;
}
.ydez9:hover { box-shadow: 0 6px 20px rgba(161,127,224,.12); border-color: var(--or-acc-soft); }
.zkej8 { display: block; }
.rjef1 { width: 100%; height: 200px; object-fit: cover; display: block; }
.nfer4 { padding: .8rem 1rem; }
.inew5 { font-family: var(--or-font-head); font-size: .93rem; font-weight: 600; margin-bottom: .15rem; }
.inew5 a { color: var(--or-txt); }
.inew5 a:hover { color: var(--or-acc); }
.hlel4 { font-size: .74rem; color: var(--or-muted); margin-bottom: .1rem; }
.vpeo5 { font-size: .72rem; color: var(--or-acc); font-weight: 600; }
.cgem0 { font-size: .7rem; color: var(--or-muted); margin-top: .1rem; }
.cmek4 { color: #d4a848; }
.svel9 { text-align: center; padding: 3rem; color: var(--or-muted); }

/* === Pagination === */
.bgecv1 { display: flex; gap: 5px; margin-top: 2rem; justify-content: center; }
.bgecv1 a, .bgecv1 span {
    display: inline-block; padding: .45rem .85rem;
    font-size: .8rem; font-weight: 600; background: var(--or-surf);
    border: 1px solid var(--or-bdr); color: var(--or-muted);
    border-radius: var(--or-rad); transition: all .2s;
}
.bgecv1 a:hover { border-color: var(--or-acc); color: var(--or-acc); }
.bgecv1 .otei6 { background: var(--or-acc); border-color: var(--or-acc); color: #121016; }

/* === Search form === */
.kmecu1 { display: flex; gap: 0; margin-bottom: 2rem; border-radius: var(--or-rad); overflow: hidden; border: 1px solid var(--or-bdr2); }
.ppecx8 { flex: 1; background: var(--or-surf); border: none; padding: .65rem 1rem; color: var(--or-txt); font-size: .88rem; outline: none; font-family: var(--or-font-body); }
.ppecx8:focus { background: var(--or-surf2); }
.mnecw7 { background: var(--or-acc); color: #121016; border: none; padding: .65rem 1.5rem; font-weight: 700; cursor: pointer; font-family: var(--or-font-body); font-size: .82rem; }
.mnecw7:hover { background: var(--or-acc-h); }

/* === Breadcrumb === */
.vxi3 { font-size: .76rem; color: var(--or-muted); margin-bottom: 1.5rem; }
.vxi3 a { color: var(--or-muted); }
.vxi3 a:hover { color: var(--or-acc); }

/* === Blog === */
.qwp3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; }
.knk2 { display: flex; flex-direction: column; background: var(--or-surf); border: 1px solid var(--or-bdr); border-radius: var(--or-rad); overflow: hidden; transition: box-shadow .2s; }
.knk2:hover { box-shadow: 0 6px 20px rgba(161,127,224,.1); }
.fsc3 { width: 100%; height: 180px; object-fit: cover; display: block; }
.npr9 { padding: 1.25rem; }
.gqx1 { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--or-acc); }
.knk2 h2 { font-size: 1rem; margin: .3rem 0; font-weight: 600; font-family: var(--or-font-head); }
.knk2 h2 a { color: var(--or-txt); }
.knk2 h2 a:hover { color: var(--or-acc); }
.ara4 { font-size: .7rem; color: var(--or-muted); }
.knk2 p { font-size: .84rem; color: var(--or-muted); margin: .4rem 0; }
.xvv5 { font-size: .76rem; font-weight: 600; color: var(--or-acc); }
.wtj5 { display: block; }
@media (max-width: 600px) { .knk2 { grid-template-columns: 1fr; } .wtj5 { display: none; } }

/* === Blog categories === */
.tke5 { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 1.5rem; }
.tly1 { padding: .35rem .8rem; font-size: .75rem; font-weight: 600; color: var(--or-muted); border: 1px solid var(--or-bdr); border-radius: 20px; transition: all .2s; }
.bmk8, .tly1:hover { background: var(--or-acc); color: #121016; border-color: var(--or-acc); }

/* === Article === */
.lho5 { width: 100%; margin: 1rem 0; max-height: 420px; object-fit: cover; border-radius: var(--or-rad); }
.kgg3 h1 { font-size: clamp(1.5rem, 3vw, 2.3rem); font-weight: 700; }
.wjx4 { display: flex; gap: 1rem; margin-top: .5rem; font-size: .76rem; color: var(--or-muted); }
.cca2 { color: var(--or-acc); font-weight: 600; }
.aseg4 { line-height: 1.8; color: var(--or-txt); }
.aseg4 h2 { font-size: 1.2rem; color: var(--or-acc); margin: 1.5rem 0 .75rem; }
.aseg4 p { margin-bottom: 1rem; }

/* === Footer === */
.flia0 { background: var(--or-surf); border-top: 1px solid var(--or-bdr); margin-top: 3rem; }
.cpil7 { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 2rem; padding: 2rem 0; }
.hnin7 h4 { font-family: var(--or-font-head); font-size: .78rem; font-weight: 700; color: var(--or-acc); margin-bottom: .75rem; }
.hnin7 a { display: block; font-size: .82rem; color: var(--or-muted); margin-bottom: .3rem; }
.hnin7 a:hover { color: var(--or-acc); }
.hnin7 p { font-size: .82rem; color: var(--or-muted); }
.gmiz8 { text-align: center; padding: .85rem 0; border-top: 1px solid var(--or-bdr); font-size: .72rem; color: var(--or-muted); }

@media (max-width: 700px) { .qqer6 { grid-template-columns: 1fr 1fr; } .rjef1 { height: 150px; } }
@media (max-width: 500px) { .qqer6 { grid-template-columns: 1fr; } }
