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

:root {
    --nr-taupe: #57524d;
    --nr-apricot: #cf9f7a;
    --nr-apricot-soft: #f5e9df;
    --nr-text: #2f2b28;
    --nr-quiet: #5f5852;
    --nr-paper: #faf8f5;
    --nr-card: #ffffff;
    --nr-line: #e4ded6;
    --nr-font: Calibri, "Segoe UI", Arial, sans-serif;
    --nr-round-s: 6px;
    --nr-round-m: 10px;
    --nr-lift: 0 4px 14px rgba(47, 43, 40, .06);
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background: var(--nr-paper);
    font-family: var(--nr-font);
    font-size: 17px;
    line-height: 1.7;
    color: var(--nr-text);
    overflow-x: hidden;
}

a {
    color: var(--nr-taupe);
    text-decoration: underline;
    text-decoration-color: var(--nr-apricot);
    text-underline-offset: 3px;
}
a:hover { color: var(--nr-text); }

/* header */
.NR_Header {
    border-bottom: 1px solid var(--nr-line);
    background: var(--nr-paper);
}
.NR_HeaderIn {
    max-width: 1080px;
    margin: 0 auto;
    padding: 18px 20px 16px;
    display: flex;
    align-items: center;
}
.NR_Logo {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--nr-taupe);
    text-decoration: none;
}
.NR_Logo:hover { color: var(--nr-text); }

/* page intro */
.NR_Intro {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
    padding: 48px 20px 12px;
}
.NR_Title {
    padding-left: 18px;
    border-left: 4px solid var(--nr-apricot);
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 700;
    line-height: 1.25;
    color: var(--nr-text);
}
.NR_Lead {
    max-width: 680px;
    margin-top: 14px;
    font-size: 18px;
    color: var(--nr-quiet);
}
.NR_Date {
    display: inline-block;
    margin-top: 16px;
    padding: 4px 12px;
    border: 1px solid var(--nr-line);
    border-radius: var(--nr-round-s);
    background: var(--nr-card);
    font-size: 14px;
    color: var(--nr-taupe);
}

/* two-column layout */
.NR_Layout {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
    padding: 28px 20px 72px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    grid-template-areas: "content aside";
    gap: 56px;
    align-items: start;
}
.NR_Content { grid-area: content; min-width: 0; }
.NR_Aside {
    grid-area: aside;
    position: sticky;
    top: 24px;
    align-self: start;
    padding: 22px 20px;
    background: var(--nr-card);
    border: 1px solid var(--nr-line);
    border-radius: var(--nr-round-m);
    box-shadow: var(--nr-lift);
}
.NR_AsideTitle {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--nr-taupe);
    padding-bottom: 12px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--nr-line);
}
.NR_Figures { list-style: none; }
.NR_Figure {
    padding: 12px 0;
    border-bottom: 1px dashed var(--nr-line);
}
.NR_Figure:last-child { border-bottom: none; padding-bottom: 0; }
.NR_Num {
    display: block;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--nr-taupe);
}
.NR_Caption {
    display: block;
    font-size: 14px;
    line-height: 1.5;
    color: var(--nr-quiet);
}

/* sections */
.NR_Section { margin-bottom: 52px; }
.NR_Section:last-child { margin-bottom: 0; }
.NR_Heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: clamp(21px, 2.6vw, 26px);
    font-weight: 700;
    line-height: 1.3;
    color: var(--nr-text);
    margin-bottom: 14px;
}
.NR_Heading::before {
    content: "";
    flex: 0 0 auto;
    width: 18px;
    height: 3px;
    border-radius: 2px;
    background: var(--nr-apricot);
    margin-top: .6em;
}
.NR_Text p { margin-bottom: 12px; color: var(--nr-quiet); }
.NR_Text p:last-child { margin-bottom: 0; }
.NR_Text strong { color: var(--nr-text); }
.NR_Text ul,
.NR_Text ol {
    margin: 0 0 12px;
    padding-left: 0;
    list-style: none;
    color: var(--nr-quiet);
}
.NR_Text ul:last-child,
.NR_Text ol:last-child { margin-bottom: 0; }
.NR_Text li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px;
}
.NR_Text ul > li::before {
    content: "";
    position: absolute;
    left: 4px;
    top: .72em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    border: 1.5px solid var(--nr-apricot);
}
.NR_Text ol { counter-reset: nrcount; }
.NR_Text ol > li {
    counter-increment: nrcount;
    padding-left: 34px;
}
.NR_Text ol > li::before {
    content: counter(nrcount);
    position: absolute;
    left: 0;
    top: .2em;
    width: 24px;
    height: 24px;
    border-radius: var(--nr-round-s);
    border: 1px solid var(--nr-line);
    background: var(--nr-card);
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
    color: var(--nr-taupe);
}

/* highlighted note */
.NR_Box {
    margin: 16px 0 12px;
    padding: 16px 18px;
    background: var(--nr-apricot-soft);
    border: 1px solid #ecd7c6;
    border-radius: var(--nr-round-m);
}
.NR_Box p { margin: 0; color: var(--nr-text); font-size: 16px; }

/* key/value rows */
.NR_Rows {
    margin: 12px 0;
    border: 1px solid var(--nr-line);
    border-radius: var(--nr-round-m);
    background: var(--nr-card);
    overflow: hidden;
}
.NR_Row {
    display: grid;
    grid-template-columns: minmax(150px, 36%) 1fr;
    gap: 4px 18px;
    padding: 12px 16px;
    border-top: 1px solid var(--nr-line);
    font-size: 16px;
}
.NR_Row:first-child { border-top: none; }
.NR_Key { font-weight: 700; color: var(--nr-taupe); }
.NR_Val { color: var(--nr-quiet); }

/* table */
.NR_TableWrap { overflow-x: auto; margin: 12px 0; }
.NR_Table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    background: var(--nr-card);
    border: 1px solid var(--nr-line);
}
.NR_Table th {
    text-align: left;
    padding: 12px 14px;
    background: #f1ece6;
    color: var(--nr-text);
    font-weight: 700;
    border-bottom: 2px solid var(--nr-apricot);
}
.NR_Table td {
    padding: 11px 14px;
    border-top: 1px solid var(--nr-line);
    color: var(--nr-quiet);
    vertical-align: top;
}

/* chips */
.NR_Chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 4px 0 14px;
}
.NR_Chip {
    display: inline-block;
    padding: 4px 12px;
    border: 1px solid var(--nr-line);
    border-radius: var(--nr-round-s);
    background: var(--nr-card);
    font-size: 14px;
    color: var(--nr-taupe);
}

/* end note */
.NR_EndNote {
    margin-top: 52px;
    padding-top: 18px;
    border-top: 1px solid var(--nr-line);
    font-size: 15px;
    color: var(--nr-quiet);
}

@media (max-width: 860px) {
    .NR_Layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "aside"
            "content";
        gap: 36px;
        padding-top: 20px;
    }
    .NR_Aside { position: static; }
    .NR_Figures {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 0 18px;
    }
    .NR_Figure:last-child { padding-bottom: 12px; }
}
@media (max-width: 560px) {
    body { font-size: 16px; }
    .NR_Intro { padding: 34px 16px 8px; }
    .NR_Layout { padding: 18px 16px 56px; }
    .NR_Section { margin-bottom: 40px; }
    .NR_Row { grid-template-columns: 1fr; }
    .NR_Lead { font-size: 17px; }
}

/* footer */
.NR_Bottom {
    margin-top: auto;
    flex-shrink: 0;
    border-top: 1px solid var(--nr-line);
    background: #f3efea;
    padding: 26px 20px 24px;
    color: var(--nr-quiet);
    text-align: center;
}
.NR_BottomIn { max-width: 900px; margin: 0 auto; }
.NR_BottomNav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 24px;
    margin-bottom: 14px;
}
.NR_BottomNav a { font-size: 13px; color: var(--nr-taupe); }
.NR_BottomNav a:hover { color: var(--nr-text); }
.NR_Copy { font-size: 13px; margin-bottom: 10px; }
.NR_Legal {
    max-width: 760px;
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.7;
}
