    :root{
        --ink:#111;
        --paper:#fdfdf7;
        --gray:#666;
        --headline:#000;
        --link:#0a3a8d;
        --sidebar-bg:#f4f2ec;
    }

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

    body{
        font-family: "Georgia", "Times New Roman", serif;
        background:var(--paper);
        color:var(--ink);
        display:flex;
        min-height:100vh;
    }

    /* Sidebar */
    nav{
        width:15%;
        background:var(--sidebar-bg);
        border-right:1px solid rgba(0,0,0,.15);
        padding:2rem 1.3rem;
        position:sticky; top:0;
        height:100vh;
    }
    nav h2{
        width:100%;
        font-size:1.3rem;
        font-weight:bold;
        margin-bottom:.8rem;
        letter-spacing:1px;
        border-bottom:1px solid var(--gray);
        padding-bottom:.2rem;
    }

    nav a{
        color:var(--ink);
        text-decoration:none;
        border-bottom:1px solid transparent;
        transition:.2s;
    }
    nav a:hover{
        color:var(--link);
        border-bottom:1px solid var(--link);
    }

    nav img {
        width: 50%;
        display: block; 
        margin: 20% 15%;
    }

    /* Main reading area */
    .content{
        flex:1;
        padding:3rem 2.5rem;
        display:flex;
        justify-content:center;
    }

    .page-wrap{
        max-width:55%;
        line-height:1.62;
    }
    .page-wrap img {
        width: 100%;
        height: auto;
        display: block;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }

    header h1{
        font-size:3rem;
        font-weight:800;
        letter-spacing:.2px;
        margin-bottom:.3rem;
        color:var(--headline);
    }

    header p{
        font-size:.95rem;
        color:var(--gray);
        margin-bottom:2rem;
    }

    figure {
        margin: 0;
    }

    figure img {
        margin-top: 0.6rem;
        margin-bottom: 0.5rem;
        display: block;
    }

    figure figcaption {
        margin-top: 0;
        margin-bottom: 1.2rem;
        padding-top: 0;
        font-size:1rem;
        color:#666;    
    }

    h2{
        font-size:1.4rem;
        font-weight:700;
        margin-bottom:.35rem;
        border-bottom:1px solid rgba(0,0,0,.25);
        width:max-content;
    }

    section{
        margin-bottom:2rem;
    }
    p,ul,li{
        font-size:1.05rem;
        margin-bottom:.55rem;
    }
    ul{margin-left:1.3rem;}

    a{color:var(--link);}
    a:hover{text-decoration:underline;}

    footer{
        margin-top:2rem;
        padding-top:.8rem;
        border-top:1px solid #aaa;
        color:var(--gray);
    }