.languages-page { background:#f6f3ed; color:#303a40; }
.languages-content, .languages-content * { text-shadow:none; }
.languages-content { max-width:1180px; margin:0 auto; padding:52px 28px 65px; }
.languages-intro { max-width:750px; margin-bottom:32px; background:transparent; }
.languages-eyebrow { color:#647e73; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin:0 0 12px; }
.languages-intro h1 { font-family:Esteban,Georgia,serif; font-size:clamp(32px,4vw,44px); line-height:1.2; color:#263d38; }
.languages-lead { font-size:18px; line-height:1.65; margin:18px 0 0; color:#5b666b; }
.language-directory-nav { scroll-margin-top:20px; }
.language-directory-hint { font-size:15px; line-height:1.6; color:#586761; margin:0 0 16px; }
.language-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.language-grid li { min-width:0; }
.languages-content a.language-tile { display:flex; flex-direction:column; align-items:flex-start; min-height:118px; height:100%; box-sizing:border-box; padding:17px 19px; gap:3px; border:1px solid #dcded5; border-radius:10px; background:#fffefa; color:#34483f; text-decoration:none; }
.languages-content a.language-tile:hover { border-color:#8b9d8b; background:#f4f6ed; }
.language-tile-name { font-size:18px; font-weight:650; line-height:1.3; }
.language-native-name { font-size:14px; color:#64716a; line-height:1.4; }
.language-tile-status { display:block; margin-top:auto; padding-top:10px; font-size:11px; color:#74796e; }
.language-tile.is-available .language-tile-status { color:#37704c; font-weight:650; }
.languages-content a.language-tile[aria-current] { border-color:#507b5e; box-shadow:inset 0 0 0 1px #507b5e; background:#eaf1e4; }
.language-proposals-note { font-size:13px; line-height:1.6; color:#74786e; margin:15px 0 28px; }
.language-cards { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.language-card[hidden] { display:none; }
.language-card { background:#fffefa; border:1px solid #d9ded5; border-radius:14px; overflow:hidden; box-shadow:0 5px 18px #263d3806; scroll-margin-top:24px; }
.language-card-heading { padding:26px 26px 22px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; border-bottom:1px solid #e5e7df; background:#edf2e9; }
.language-card-heading h2 { font-family:Esteban,Georgia,serif; font-size:29px; line-height:1.2; margin:0 0 10px; color:#29493d; }
.language-heading-native { display:inline-block; font-family:system-ui,sans-serif; font-size:19px; font-weight:400; margin-inline-start:9px; color:#637365; }
.language-card-action { display:flex; align-items:flex-end; flex-direction:column; gap:9px; }
.language-status { font-size:12px; font-weight:600; color:#596d62; margin:0; }
.language-review-note { margin:18px 26px; font-size:14px; line-height:1.6; color:#596d62; }
.language-current { max-width:120px; color:#5c6d64; text-align:right; font-size:12px; line-height:1.4; padding-top:5px; }
.language-use { flex-shrink:0; color:#fff; background:#456e59; padding:8px 12px; border-radius:6px; font-size:13px; font-weight:600; }
.language-use:hover { color:#fff; background:#325941; }
.language-coverage-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:30px; list-style:none; padding:0 26px; margin:0; }
.language-coverage-list>li { display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; padding:20px 0; border-bottom:1px solid #ecece5; }
.coverage-mark { font-size:20px; line-height:1.2; color:#3f7955; font-weight:700; }
.coverage-row { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:5px 12px; }
.coverage-row h4 { font-size:16px; line-height:1.45; font-weight:650; margin:0; color:#304a3e; }
.language-group-heading { font-size:17px; font-weight:700; color:#304a3e; margin:0; padding:24px 26px 0; }
.language-coverage-group+.language-coverage-group { margin-top:8px; }
.coverage-status { font-size:11px; color:#3c704d; font-weight:600; white-space:nowrap; }
.language-coverage-list p { font-size:14px; line-height:1.6; color:#68716f; margin:5px 0 0; }
.coverage-english .coverage-mark,.coverage-english .coverage-status,.coverage-partial .coverage-mark,.coverage-partial .coverage-status { color:#77766d; }
.coverage-english h4,.coverage-partial h4 { color:#636960; }
.language-guides { padding:23px 26px 27px; font-size:14px; line-height:1.6; }
.language-guides h3 { font-size:16px; font-weight:650; color:#304a3e; margin:0 0 12px; }
.language-guides ul { padding-left:18px; margin:0; }
.language-guides li+li { margin-top:8px; }
.guide-language { color:#747b70; font-size:12px; }
.language-proposal .language-card-heading { background:#eeeee6; }
.language-proposal-body { padding:28px 30px 15px; max-width:730px; font-size:16px; line-height:1.7; color:#5d6962; }
.language-proposal-body h3 { font-size:19px; color:#394e41; margin:0 0 12px; }
.language-alternatives { display:flex; gap:12px 25px; flex-wrap:wrap; margin-top:18px; }
.language-back { display:inline-block; margin:0 26px 23px; font-size:13px; }
.languages-content a:not(.language-use):not(.language-tile) { color:#356d65; text-decoration:underline; text-underline-offset:3px; }
.language-details { padding:30px 32px; margin-top:32px; border-radius:12px; background:#e9ece5; line-height:1.7; color:#59645e; }
.language-details h2,.language-feedback h2 { font-family:Esteban,Georgia,serif; font-size:25px; color:#334b3d; margin-bottom:14px; }
.language-details ul { margin:0; padding-left:20px; }
.language-details li+li { margin-top:10px; }
.language-feedback { padding:30px 4px 0; max-width:750px; line-height:1.7; }
.languages-content a:focus-visible { outline:3px solid #b17636; outline-offset:4px; }
@media(max-width:850px) { .language-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .language-coverage-list { grid-template-columns:1fr; } }
@media(max-width:580px) { .language-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; } .languages-content a.language-tile { min-height:111px; padding:13px 14px; } .language-tile-name { font-size:17px; } .language-card-heading { flex-wrap:wrap; } .language-card-action { align-items:flex-start; } }
@media(max-width:420px) { .languages-content { padding:32px 14px 45px; } .language-card-heading { padding:22px 18px; gap:10px; } .language-heading-native { display:block; margin:5px 0 0; } .language-coverage-list { padding:0 18px; } .language-guides { padding:22px 18px; } .language-details { padding:24px 20px; } .language-proposal-body { padding:23px 18px 12px; } .language-back { margin-inline:18px; } }
