/* Field atlas: Georgian type, paper, ink and marginal notes. */
@font-face {
    font-family:'Lexicon Georgian';
    src:url('../../../assets/fonts/firago-regular.woff2') format('woff2');
    font-weight:400;
    font-display:swap
}
@font-face {
    font-family:'Lexicon Georgian';
    src:url('../../../assets/fonts/firago-bold.woff2') format('woff2');
    font-weight:700 900;
    font-display:swap
}
@font-face {
    font-family:'Lexicon Serif';
    src:url('../../../assets/fonts/noto_serif_georgian.ttf') format('truetype');
    font-weight:400;
    font-display:swap
}
:root {
    --lx-ink:#302b28;
    --lx-ink-soft:#686057;
    --lx-teal:#65323b;
    --lx-teal-dark:#45212a;
    --lx-mint:#eee4d8;
    --lx-paper:#f5f0e5;
    --lx-white:#fbf8f0;
    --lx-sand:#eae1ce;
    --lx-line:#cfc4b1;
    --lx-gold:#9b743b;
    --lx-serif:'Lexicon Serif',Georgia,serif
}
.lx-body,.lx-body * {
    box-sizing:border-box
}
.lx-body {
    margin:0;
    background:var(--lx-paper) url('paper-grain.svg');
    color:var(--lx-ink);
    font:400 16px/1.7 'Lexicon Georgian',sans-serif;
    overflow-wrap:anywhere
}
.lx-body a {
    color:var(--lx-teal);
    text-decoration-thickness:1px;
    text-underline-offset:.25em
}
.lx-body a:hover {
    color:var(--lx-teal-dark)
}
.lx-body :focus-visible {
    outline:3px solid var(--lx-gold);
    outline-offset:4px
}
.lx-body img,.lx-body audio {
    max-width:100%
}
.lx-body button,.lx-body input,.lx-body select,.lx-body textarea {
    font:inherit
}
.lx-body h1,.lx-body h2,.lx-body h3 {
    font-family:var(--lx-serif);
    font-weight:400;
    line-height:1.45
}
.lx-body p {
    margin:0 0 1em
}
.lx-wrap {
    width:min(100% - 36px,1160px);
    margin-inline:auto
}
.sr-only,.lx-skip:not(:focus) {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}
.lx-skip:focus {
    position:fixed;
    top:8px;
    left:8px;
    z-index:20;
    padding:12px;
    background:var(--lx-white);
    color:var(--lx-ink)
}
/* Masthead */
.lx-header {
    border-top:4px solid var(--lx-teal);
    border-bottom:1px solid var(--lx-line)
}
.lx-header-inner {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:14px 28px;
    padding-block:18px 8px
}
.lx-brand {
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:var(--lx-ink)!important;
    text-decoration:none
}
.lx-brand-mark {
    display:block;
    flex-shrink:0;
    width:50px;
    height:auto;
    object-fit:contain
}
.lx-brand-name {
    font:19px/1.5 var(--lx-serif)
}
.lx-brand-name small {
    display:block;
    margin-top:3px;
    color:var(--lx-ink-soft);
    font:10px/1.5 'Lexicon Georgian',sans-serif;
    letter-spacing:.04em
}
.lx-nav {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:0 20px
}
.lx-nav a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    color:var(--lx-ink-soft);
    font-size:.78rem;
    text-decoration:none;
    border-bottom:2px solid transparent
}
.lx-nav a:hover,.lx-nav a.is-active {
    color:var(--lx-teal);
    border-bottom-color:var(--lx-teal)
}
.lx-nav a:last-child {
    font-family:Georgia,serif;
    letter-spacing:.03em
}
.lx-eyebrow {
    color:var(--lx-teal);
    font-size:.67rem;
    font-weight:700;
    letter-spacing:.09em;
    line-height:1.6
}
/* Open atlas */
.lx-hero {
    padding:25px 0 0
}
.lx-atlas-heading {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    padding-bottom:15px;
    border-bottom:1px solid var(--lx-line)
}
.lx-atlas-heading p {
    margin:0
}
.lx-atlas-heading>span {
    color:var(--lx-ink-soft);
    font-size:.62rem
}
.lx-atlas-spread {
    padding:28px 0
}
.lx-hero h1 {
    margin:0 0 19px;
    font-size:clamp(2.35rem,6vw,4.8rem);
    line-height:1.35;
    letter-spacing:-.04em
}
.lx-hero h1 em {
    color:var(--lx-teal);
    font-style:normal
}
.lx-hero-copy {
    font-size:.94rem;
    line-height:1.85
}
.lx-hero-description {
    max-width:450px;
    color:var(--lx-ink-soft);
    font-size:.81rem
}
.lx-hero-actions,.lx-form-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 22px;
    margin-top:24px
}
.lx-hero-actions .lx-text-link {
    font-size:.75rem
}
.lx-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    min-height:46px;
    padding:11px 18px;
    border:1px solid var(--lx-teal);
    border-radius:2px;
    background:transparent;
    color:var(--lx-teal)!important;
    font-size:.84rem;
    font-weight:700;
    line-height:1.5;
    text-align:center;
    text-decoration:none!important;
    cursor:pointer
}
.lx-button:hover {
    background:var(--lx-mint)
}
.lx-button.is-primary {
    background:var(--lx-teal);
    color:#fffaf0!important
}
.lx-button.is-primary:hover {
    border-color:var(--lx-teal-dark);
    background:var(--lx-teal-dark)
}
.lx-button.is-secondary {
    border-color:var(--lx-line)
}
.lx-button.is-secondary:hover {
    border-color:var(--lx-teal)
}
.lx-button.is-small {
    padding:8px 13px;
    font-size:.78rem
}
.lx-button:disabled {
    opacity:.55;
    cursor:not-allowed
}
.lx-text-link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:44px;
    font-size:.82rem;
    text-decoration:none
}
.lx-text-link:hover {
    text-decoration:underline
}
.lx-atlas-sheet {
    display:none
}
.lx-collections {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    border-top:1px solid var(--lx-ink);
    border-bottom:1px solid var(--lx-ink)
}
.lx-collections>a {
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
    padding:19px 10px 19px 0;
    color:var(--lx-ink);
    text-decoration:none
}
.lx-collections>a+a {
    border-top:1px solid var(--lx-line)
}
.lx-collections>a:hover {
    color:var(--lx-teal);
    background:#eae1ce55
}
.lx-folio {
    display:none;
    color:var(--lx-gold);
    font:italic 26px/1 Georgia,serif
}
.lx-collections strong {
    display:block;
    font:18px/1.5 var(--lx-serif)
}
.lx-collections small {
    display:block;
    margin-top:4px;
    color:var(--lx-ink-soft);
    font-size:.6rem
}
.lx-collection-arrow {
    margin-left:auto;
    color:var(--lx-teal);
    font-size:19px
}
.lx-stats {
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:4px 16px;
    padding:13px 0;
    border-bottom:1px solid var(--lx-line);
    color:var(--lx-ink-soft);
    font-size:.66rem
}
.lx-stats strong {
    color:var(--lx-ink);
    font:17px Georgia,serif
}
.lx-archive-open {
    display:none
}
/* Ruled catalogue */
.lx-content {
    padding-top:8px
}
#catalog,#contribute {
    scroll-margin-top:24px
}
.lx-section-heading {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:14px 20px;
    margin:36px 0 22px
}
.lx-section-heading h1,.lx-section-heading h2 {
    margin:4px 0 0;
    font-size:clamp(1.4rem,3vw,2rem);
    letter-spacing:-.03em
}
.lx-section-heading p {
    margin:0
}
.lx-search {
    margin:24px 0 30px;
    padding:19px 0 22px;
    border-top:1px solid var(--lx-line);
    border-bottom:1px solid var(--lx-line)
}
.lx-search label,.lx-form label,.lx-form legend {
    display:block;
    margin-bottom:7px;
    font-size:.78rem;
    font-weight:700
}
.lx-search-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px
}
.lx-search input,.lx-search select,.lx-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.lx-form select,.lx-form textarea,.lx-review-form textarea,.lx-review-form select {
    display:block;
    width:100%;
    min-width:0;
    min-height:48px;
    padding:11px 12px;
    border:1px solid #b3a791;
    border-radius:2px;
    background:var(--lx-white);
    color:var(--lx-ink);
    font-size:16px
}
.lx-search input {
    border-color:var(--lx-ink-soft)
}
.lx-search input::placeholder,.lx-form input::placeholder,.lx-form textarea::placeholder {
    color:var(--lx-ink-soft);
    opacity:1
}
.lx-filters {
    display:grid;
    gap:10px 18px;
    margin-top:17px
}
.lx-filters select {
    margin-top:6px;
    font-size:.84rem
}
.lx-search>a {
    display:inline-block;
    min-height:44px;
    padding-top:12px;
    font-size:.8rem
}
.lx-layout {
    display:grid;
    gap:32px;
    align-items:start;
    margin-bottom:48px
}
.lx-layout>*,.lx-grid>* {
    min-width:0
}
.lx-grid {
    display:grid;
    border-top:1px solid var(--lx-line)
}
.lx-grid:empty {
    border:0
}
.lx-card {
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:25px 0;
    border-bottom:1px solid var(--lx-line)
}
.lx-card-meta,.lx-card-footer {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 12px
}
.lx-card-meta {
    margin-bottom:14px;
    font-size:.8rem
}
.lx-card h2,.lx-card h3 {
    margin:0 0 12px;
    font-size:1.5rem
}
.lx-card-title {
    color:var(--lx-ink)!important;
    text-decoration:none
}
.lx-card-title:hover {
    color:var(--lx-teal)!important;
    text-decoration:underline
}
.lx-definition {
    color:var(--lx-ink-soft);
    font-size:.9rem
}
.lx-card-footer {
    justify-content:space-between;
    margin-top:auto;
    padding-top:12px;
    color:var(--lx-ink-soft);
    font-size:.72rem
}
.lx-badge,.lx-status {
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border:1px solid #cebbae;
    border-radius:2px;
    color:var(--lx-teal);
    font-size:.67rem;
    font-weight:700;
    line-height:1.5
}
.lx-badge.is-proverb {
    border-color:#cab58c;
    color:#75521e
}
.lx-place,.lx-muted,.lx-count {
    color:var(--lx-ink-soft);
    font-size:.8rem
}
.lx-count {
    margin-bottom:18px
}
.lx-empty {
    position:relative;
    padding:33px 20px 28px;
    border:1px solid var(--lx-line);
    background:#fbf8f066;
    text-align:center
}
.lx-empty::after {
    content:'';
    position:absolute;
    inset:7px;
    border:1px solid #cfc4b177;
    pointer-events:none
}
.lx-empty-mark {
    display:block;
    margin-bottom:17px;
    color:var(--lx-gold);
    font:42px/1 var(--lx-serif)
}
.lx-empty h3 {
    margin:10px auto 17px;
    max-width:420px;
    font-size:1.4rem
}
.lx-empty>p:not(.lx-eyebrow) {
    max-width:400px;
    margin-inline:auto;
    color:var(--lx-ink-soft);
    font-size:.84rem
}
.lx-panel {
    padding:23px 20px;
    border:1px solid var(--lx-line)
}
.lx-panel h2,.lx-panel h3 {
    margin:0 0 16px
}
.lx-aside {
    display:grid;
    gap:26px
}
.lx-aside p:not(.lx-eyebrow) {
    font-size:.8rem
}
.lx-fieldnote {
    position:relative;
    padding-top:28px;
    border:0;
    border-left:2px solid #b49a6d;
    background:var(--lx-sand)
}
.lx-fieldnote::before {
    content:'';
    position:absolute;
    inset:5px -4px -5px 5px;
    border:1px solid var(--lx-line);
    z-index:-1;
    transform:rotate(1.5deg)
}
.lx-fieldnote h3,.lx-library-note h3 {
    font-size:1.35rem
}
.lx-fieldnote .lx-eyebrow {
    color:#795628
}
.lx-library-note {
    padding-inline:0;
    border:0;
    border-top:1px solid var(--lx-line)
}
.lx-tags {
    display:flex;
    flex-wrap:wrap;
    gap:8px
}
.lx-tags a,.lx-pagination a,.lx-pagination strong {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:8px 12px;
    border:1px solid var(--lx-line);
    text-decoration:none;
    font-size:.82rem
}
.lx-tags a:hover {
    background:var(--lx-mint)
}
.lx-pagination {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:28px 0
}
.lx-pagination strong {
    background:var(--lx-teal);
    border-color:var(--lx-teal);
    color:var(--lx-white)
}
/* Reading and contribution */
.lx-breadcrumb,.lx-back {
    margin:20px 0;
    color:var(--lx-ink-soft);
    font-size:.8rem
}
.lx-back {
    display:inline-flex;
    align-items:center;
    min-height:44px
}
.lx-detail {
    max-width:850px;
    min-width:0;
    margin:18px 0 42px;
    padding-top:24px;
    border-top:1px solid var(--lx-ink)
}
.lx-detail-title {
    margin:12px 0 24px;
    color:var(--lx-teal);
    font-size:clamp(2rem,5vw,3.4rem);
    letter-spacing:-.035em
}
.lx-detail h2 {
    margin-top:30px;
    font-size:1.25rem
}
.lx-lead {
    font-size:clamp(1.05rem,2.5vw,1.3rem);
    line-height:1.9
}
.lx-original {
    padding:18px 20px;
    background:var(--lx-sand);
    font-size:1.1rem
}
.lx-example {
    margin:28px 0;
    padding:4px 0 4px 22px;
    border-left:2px solid var(--lx-gold);
    color:var(--lx-ink-soft)
}
.lx-example blockquote,blockquote.lx-example {
    margin-inline:0
}
.lx-meta-grid {
    display:grid;
    margin:32px 0;
    border-top:1px solid var(--lx-line)
}
.lx-meta-grid>div {
    padding:14px 0;
    border-bottom:1px solid var(--lx-line)
}
.lx-meta-grid dt {
    color:var(--lx-ink-soft);
    font-size:.74rem
}
.lx-meta-grid dd {
    margin:5px 0 0;
    font-size:.9rem
}
.lx-audio {
    margin:28px 0;
    padding:4px 0 20px;
    border-block:1px solid var(--lx-line)
}
.lx-audio audio {
    display:block;
    width:100%;
    max-width:460px
}
.lx-related {
    margin-top:40px
}
#contribute {
    margin-block:40px;
    padding-top:28px;
    border-top:1px solid var(--lx-ink)
}
.lx-form {
    max-width:820px
}
.lx-form-grid {
    display:grid;
    gap:21px;
    margin-bottom:24px
}
.lx-field {
    min-width:0
}
.lx-form fieldset {
    min-width:0;
    margin:0;
    padding:16px;
    border:1px solid var(--lx-line)
}
.lx-form legend {
    padding:0 6px
}
.lx-form textarea,.lx-review-form textarea {
    min-height:120px;
    resize:vertical
}
.lx-form input[type=file] {
    max-width:100%;
    min-height:44px;
    font-size:.8rem
}
.lx-check {
    display:flex!important;
    align-items:flex-start;
    gap:10px;
    min-height:44px;
    font-weight:400!important
}
.lx-check input {
    flex:0 0 auto;
    width:20px;
    height:20px;
    margin:3px 0 0;
    accent-color:var(--lx-teal)
}
.lx-field-help {
    display:block;
    margin-top:6px;
    color:var(--lx-ink-soft);
    font-size:.75rem
}
.lx-notice {
    margin:18px 0;
    padding:15px 18px;
    border:1px solid #b8c5ad;
    border-left-width:3px;
    background:#edf0e4;
    color:#354a2c;
    font-size:.9rem
}
.lx-notice.is-success {
    border-color:#b8c5ad;
    background:#edf0e4;
    color:#354a2c
}
.lx-notice.is-error {
    border-color:#ccaaa1;
    background:#f6e8e0;
    color:#752f26
}
.lx-notice.is-info {
    border-color:#adb9bf;
    background:#e9eeed;
    color:#354f59
}
.lx-error-list {
    margin:8px 0 0;
    padding-left:1.4em
}
.lx-status.is-pending {
    background:#f1e7cb;
    color:#694a12
}
.lx-status.is-published {
    background:#e7eddf;
    color:#35532c
}
.lx-status.is-rejected {
    background:#f2e2dd;
    color:#7a352b
}
.lx-moderation-card {
    margin:16px 0;
    padding:20px;
    border:1px solid var(--lx-line)
}
.lx-review-form {
    display:grid;
    gap:10px;
    margin-top:24px
}
.lx-review-form button {
    justify-self:start
}
.lx-form-actions {
    margin-bottom:12px
}
.lx-body summary {
    min-height:44px;
    padding-block:10px;
    cursor:pointer
}
.lx-footer {
    margin-top:60px;
    padding:32px 0;
    border-top:1px solid var(--lx-ink)
}
.lx-footer-inner {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:22px 32px
}
.lx-footer p {
    margin:0;
    font:22px/1.6 var(--lx-serif)
}
.lx-footer em {
    color:var(--lx-teal);
    font-style:normal
}
.lx-footer small {
    display:block;
    margin-top:8px;
    color:var(--lx-ink-soft);
    font-size:.7rem
}
.lx-top-link {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid var(--lx-line);
    text-decoration:none
}
@media(min-width:600px) {
    .lx-wrap {
        width:min(100% - 64px,1160px)
    }
    .lx-header-inner {
        padding-block:20px
    }
    .lx-brand-name {
        font-size:22px
    }
    .lx-hero {
        padding-top:30px
    }
    .lx-atlas-heading>span {
        font-size:.72rem
    }
    .lx-atlas-spread {
        padding-block:38px
    }
    .lx-hero-copy {
        font-size:1.05rem
    }
    .lx-folio {
        display:block
    }
    .lx-collections {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .lx-collections>a {
        padding-block:22px
    }
    .lx-collections>a+a {
        padding-left:30px;
        border-top:0;
        border-left:1px solid var(--lx-line)
    }
    .lx-collections strong {
        font-size:23px
    }
    .lx-collections small {
        font-size:.72rem
    }
    .lx-archive-open {
        display:inline;
        margin-left:auto
    }
    .lx-filters {
        grid-template-columns:repeat(auto-fit,minmax(150px,1fr))
    }
    .lx-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .lx-card:nth-child(odd) {
        padding-right:24px;
        border-right:1px solid var(--lx-line)
    }
    .lx-card:nth-child(even) {
        padding-left:24px
    }
    .lx-form-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .lx-field.is-wide {
        grid-column:1/-1
    }
    .lx-meta-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:0 24px
    }
    .lx-empty {
        padding:44px 28px
    }
    .lx-empty h3 {
        font-size:1.7rem
    }
}
@media(min-width:900px) {
    .lx-atlas-spread {
        display:grid;
        grid-template-columns:1.1fr 1fr;
        align-items:center;
        gap:36px;
        padding-block:42px
    }
    .lx-atlas-sheet {
        display:block;
        min-width:0;
        border-left:1px solid var(--lx-line);
        padding-left:20px
    }
    .lx-atlas-drawing {
        position:relative;
        width:100%;
        aspect-ratio:600/440;
        background:url('atlas-routes.svg') center/contain no-repeat
    }
    .lx-map-caption {
        position:absolute;
        color:var(--lx-teal);
        font:17px var(--lx-serif)
    }
    .lx-map-caption.is-ingilo {
        top:64%;
        left:17%
    }
    .lx-map-caption.is-fereydan {
        top:33%;
        right:13%
    }
    .lx-map-note {
        position:absolute;
        bottom:27%;
        right:24%;
        color:var(--lx-ink-soft);
        font-size:.59rem
    }
    .lx-atlas-note {
        margin:0!important;
        color:var(--lx-ink-soft);
        text-align:center;
        font-size:.67rem
    }
    .lx-hero-description {
        font-size:.86rem
    }
    .lx-layout {
        grid-template-columns:minmax(0,1fr) 266px;
        gap:48px
    }
    .lx-aside {
        padding-top:42px
    }
    .lx-footer {
        padding-block:40px
    }
}
@media(prefers-reduced-motion:reduce) {
    .lx-body *,.lx-body *::before,.lx-body *::after {
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important
    }
}
