:root {
    --paper:#F6F3EC;
    --ink:#1F2420;
    --muted:#5B605A;
    --line:#CFC8B8;
    --zone:#5E8C4E;
    --serif:'Literata',Georgia,serif;
    --sans:'Golos Text',sans-serif;
    --mono:'JetBrains Mono',monospace;
    --header-height:67px
}

* {
    box-sizing:border-box
}

html {
    margin:0;
    padding:0;
    scroll-padding-top:calc(var(--header-height) + 24px);
    background:#D9D4C8;
    -webkit-font-smoothing:antialiased
}

body {
    margin:0;
    color:var(--ink);
    font:16px/1.5 var(--sans);
    background:var(--paper)
}

button,input,select,textarea {
    font:inherit;
    color:inherit
}

button,a,input,summary {
    -webkit-tap-highlight-color:transparent
}

button {
    cursor:pointer;
    border-radius:0;
}

a {
    color:inherit;
    text-decoration:none
}

a:hover {
    color:#8E4A33
}

h1,h2,h3,p,figure {
    margin:0
}

h1,h2,h3 {
    font-family:var(--serif);
    font-weight:600
}

h1,h2,h3,.card-title {
    overflow-wrap:anywhere
}

img {
    display:block;
    max-width:100%;
    height:auto
}

input,textarea {
    border-radius:0
}

button:disabled {
    cursor:default
}

[hidden] {
    display:none!important
}

:focus-visible {
    outline:2px solid var(--zone);
    outline-offset:4px
}

a,button,input,summary {
    touch-action:manipulation
}

.site-frame {
    container-type:inline-size;
    min-height:100vh;
    box-shadow:0 0 0 1px var(--line)
}

.container {
    max-width:1320px;
    margin-inline:auto;
    padding-inline:clamp(16px,4cqi,40px)
}

.mono {
    font-family:var(--mono);
    font-size:12px;
    font-weight:400
}

.muted {
    color:var(--muted)
}

.eyebrow {
    display:block;
    font:500 14px/1.5 var(--sans);
    color:var(--muted);
    margin-bottom:8px
}

.sr-only {
    position:absolute!important;
    clip:rect(0,0,0,0);
    width:1px;
    height:1px;
    padding:0;
    border:0;
    overflow:hidden;
    white-space:nowrap
}

.skip-link {
    position:fixed;
    top:6px;
    left:16px;
    z-index:9999;
    background:var(--ink);
    color:var(--paper);
    padding:12px;
    transform:translateY(-160%)
}

.skip-link:focus {
    transform:none
}

.vusa-mark {
    flex:0 0 auto;
    display:inline-block;
    vertical-align:middle
}

.mobile-only,.nav-short {
    display:none
}

.topbar {
    background:var(--ink);
    color:#EDE8DC;
    font-size:13px
}

.topbar-inner {
    padding-block:7px;
    display:flex;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap
}

.topbar-inner>div {
    display:flex;
    gap:14px;
    align-items:center
}

.topbar .mono {
    font-size:11.5px
}

.season-label {
    color:#D9B36A
}

.topbar-links a {
    color:#EDE8DC;
    white-space:nowrap
}

.site-header {
    position:sticky;
    top:0;
    z-index:40;
    background:var(--paper);
    border-bottom:1px solid var(--ink)
}

body.admin-bar .site-header {
    top:32px
}

.header-inner {
    padding-block:12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px
}

.brand {
    display:flex;
    align-items:center;
    gap:11px;
    flex-shrink:0
}

.brand>span {
    font:italic 500 25px/1 var(--serif);
    letter-spacing:-.02em;
    white-space:nowrap
}

.desktop-nav {
    display:flex;
    gap:clamp(12px,2cqi,26px);
    align-self:stretch;
    min-width:0;
    font-size:15px;
    font-weight:500;
    flex:0 1 auto
}

.desktop-nav>a {
    display:flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;
    border-bottom:3px solid transparent;
    margin-bottom:-13px;
    padding-bottom:10px
}

.desktop-nav>a.is-current {
    border-color:var(--zone)
}

.nav-extra {
    display:flex;
    gap:24px;
    align-items:center;
    font-weight:400;
    color:var(--muted)
}

.nav-extra:not(:empty) {
    padding-left:24px;
    border-left:1px solid var(--line);
    margin-block:10px
}

.header-actions {
    display:flex;
    gap:8px;
    flex-shrink:0
}

.search-trigger {
    display:flex;
    align-items:center;
    gap:10px;
    background:transparent;
    border:1px solid var(--ink);
    height:42px;
    padding:0 14px;
    font-size:14px
}

.search-icon {
    width:12px;
    height:12px;
    border:1.5px solid var(--ink);
    border-radius:50%;
    display:inline-block;
    flex-shrink:0
}

.menu-trigger {
    height:42px;
    padding:0 12px;
    background:var(--ink);
    color:var(--paper);
    border:0;
    font-size:14px;
    font-weight:500
}

.ruler {
    height:7px;
    background:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 50px),repeating-linear-gradient(90deg,#9A9486 0 1px,transparent 1px 10px);
    background-size:100% 7px,100% 4px;
    background-repeat:no-repeat
}

.mobile-menu {
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:70;
    padding:18px 16px 24px;
    background:var(--paper);
    border-bottom:1px solid var(--ink);
    max-height:calc(100dvh - 125px);
    overflow:auto
}

.mobile-menu p {
    font-size:13px;
    margin-bottom:10px
}

.mobile-menu .estate-map {
    height:280px
}

.mobile-menu ul {
    list-style:none;
    padding:0
}

.mobile-menu li {
    padding:8px 0;
    border-top:1px solid var(--line)
}

.menu-about {
    display:block;
    margin-top:16px;
    font-size:14px
}

.search-dialog {
    position:fixed;
    inset:0;
    top:0;
    margin:0;
    width:100%;
    max-width:100%;
    max-height:100dvh;
    border:0;
    border-bottom:1px solid var(--ink);
    padding:0;
    background:var(--paper);
    color:var(--ink);
    align-self:start
}

.search-dialog::backdrop {
    background:rgb(31 36 32 / .55)
}

.search-inner {
    max-width:1000px;
    margin:auto;
    padding:clamp(20px,4cqi,48px) clamp(16px,4cqi,40px)
}

.search-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:14px;
    margin-bottom:16px;
    gap:12px;
    color:var(--muted)
}

.search-heading button {
    border:0;
    background:transparent;
    padding:8px
}

.search-form {
    display:flex;
    gap:18px;
    align-items:center
}

.search-form input {
    min-width:0;
    flex:1;
    border:0;
    border-bottom:2px solid var(--ink);
    background:transparent;
    padding:10px 0;
    font:400 clamp(26px,4.5cqi,44px)/1.2 var(--serif)
}

.search-form>button {
    border:1px solid var(--ink);
    background:transparent;
    padding:12px 16px;
    font-size:14px;
    flex-shrink:0
}

.search-suggestions {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    margin-top:24px
}

.search-suggestions .post-card {
    padding:16px;
    background:var(--paper)
}

.search-suggestions .card-title {
    font-size:18px
}

.noscript-search {
    padding-block:20px
}

.vusa-media {
    display:block;
    position:relative;
    aspect-ratio:var(--ratio,4/3);
    background:#E6E0D3;
    overflow:hidden;
    min-width:0
}

.vusa-media>img {
    width:100%;
    height:100%;
    object-fit:cover
}

.image-placeholder {
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    inset:0;
    color:#9A9486;
    font:11px var(--mono);
    background:#E6E0D3
}

.image-placeholder>span {
    background:#E6E0D3;
    padding:6px
}

.post-meta {
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    color:var(--muted);
    font:500 13.5px/1.4 var(--sans)
}

.post-meta .mono {
    font-size:11.5px
}

.post-card {
    min-width:0;
    display:block
}

.card-copy {
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:0
}

.card-title {
    font:500 19px/1.25 var(--serif)
}

.post-card--feature {
    display:flex;
    flex-direction:column;
    gap:14px
}

.post-card--feature .card-title {
    font-size:clamp(25px,3cqi,38px);
    font-weight:600;
    line-height:1.08;
    letter-spacing:-.02em
}

.post-card--text {
    padding-block:15px;
    border-bottom:1px solid var(--line)
}

.post-card--small .vusa-media {
    --ratio:1!important
}

.post-card--small .card-title {
    font:500 14.5px/1.3 var(--sans)
}

.post-card--small .post-meta {
    display:none
}

.post-card--small .card-copy {
    margin-top:6px
}

.post-card--row {
    display:grid;
    grid-template-columns:110px minmax(0,1fr) 100px 80px 70px;
    gap:20px;
    padding-block:15px;
    border-bottom:1px solid var(--line);
    align-items:center
}

.post-card--row:hover {
    background:#EFEBE1
}

.post-card--row .card-title {
    font-size:20px
}

.post-card--row .card-copy {
    gap:4px
}

.card-excerpt {
    font-size:14px;
    color:var(--muted)
}

.difficulty {
    font-size:13px;
    letter-spacing:2px;
    color:var(--zone)
}

.work-season {
    font-size:13.5px;
    color:var(--muted)
}

.home-opening {
    padding-top:clamp(20px,3cqi,36px)
}

.home-hero-map {
    display:flex;
    flex-wrap:wrap;
    gap:clamp(20px,3cqi,40px);
    align-items:stretch
}

.home-hero {
    flex:1 1 520px;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:16px
}

.hero-picture {
    position:relative;
    display:block
}

.hero-badge {
    position:absolute;
    top:0;
    left:0;
    background:#5E8C4E;
    color:#fff;
    font-size:13px;
    font-weight:500;
    padding:7px 11px;
    white-space:nowrap
}

.home-hero h1 {
    font-size:clamp(32px,4.6cqi,62px);
    line-height:1.02;
    letter-spacing:-.025em;
    text-wrap:balance
}

.home-hero p {
    font:400 clamp(17px,1.5cqi,20px)/1.5 var(--serif);
    color:#3E433E;
    max-width:640px;
    text-wrap:pretty
}

.map-panel {
    flex:1 1 420px;
    min-width:0;
    border:1px solid var(--ink);
    display:flex;
    flex-direction:column
}

.map-panel-heading {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid var(--ink)
}

.map-panel-heading h2 {
    font-size:22px;
    letter-spacing:-.01em
}

.map-panel-heading>span {
    font-size:13px;
    color:var(--muted)
}

.map-paper {
    flex:1;
    position:relative;
    padding:30px 30px 36px 34px;
    background-color:#F1EDE3;
    background-image:linear-gradient(#E2DCCD 1px,transparent 1px),linear-gradient(90deg,#E2DCCD 1px,transparent 1px);
    background-size:24px 24px
}

.map-panel-foot {
    display:flex;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    padding:12px 16px;
    border-top:1px solid var(--ink);
    font-size:13.5px;
    color:var(--muted)
}

.map-panel-foot a {
    color:var(--ink);
    font-weight:500
}

.estate-map {
    position:relative;
    height:100%;
    min-height:430px;
    display:flex;
    border:2px solid var(--ink);
    background:var(--paper)
}

.map-left {
    width:42%;
    display:flex;
    flex-direction:column;
    border-right:1.5px dashed var(--ink)
}

.map-right {
    flex:1;
    display:flex;
    flex-direction:column
}

.map-zone {
    position:relative;
    padding:10px 12px;
    display:block;
    min-width:0
}

.map-dom {
    height:46%;
    border-bottom:1.5px dashed var(--ink)
}

.map-sad {
    flex:1
}

.map-hoz {
    height:40%;
    border-bottom:1.5px dashed var(--ink)
}

.map-uch {
    flex:1
}

.map-dom:hover {
    background:#F1E0D7
}

.map-sad:hover {
    background:#E3ECDD
}

.map-hoz:hover {
    background:#DCE7EC
}

.map-uch:hover {
    background:#EFE4CB
}

.map-title {
    font:600 20px/1.2 var(--serif)
}

.map-count {
    float:right;
    font-size:11px;
    margin-left:4px;
    position:relative;
    z-index:1
}

.map-dom .map-count {
    color:#8E4A33
}

.map-sad .map-count {
    color:#3F6334
}

.map-hoz .map-count {
    color:#2F5B70
}

.map-uch .map-count {
    color:#7A5E22
}

.map-drawing {
    position:absolute;
    inset:0;
    pointer-events:none
}

.map-drawing i {
    position:absolute;
    display:block
}

.house-plan {
    left:12%;
    top:42%;
    width:46%;
    height:38%;
    border:1.5px solid #B5654A;
    background:repeating-linear-gradient(45deg,#EBD3C7 0 4px,var(--paper) 4px 8px)
}

.house-terrace {
    left:12%;
    top:80%;
    width:46%;
    height:9%;
    border:1px solid #B5654A;
    border-top:0
}

.bath-plan {
    right:9%;
    top:46%;
    width:22%;
    height:24%;
    border:1.5px dashed #B5654A
}

.map-dom small {
    position:absolute;
    right:9%;
    top:72%;
    font:11px var(--sans);
    color:#8E4A33
}

.beds-plan {
    left:10%;
    top:38%;
    width:52%;
    height:34%;
    display:flex!important;
    gap:6px
}

.beds-plan b {
    flex:1;
    background:#D9E6D2;
    border:1px solid #5E8C4E
}

.greenhouse-plan {
    right:8%;
    top:38%;
    width:24%;
    height:22%;
    border:1.5px solid #5E8C4E;
    background:repeating-linear-gradient(90deg,#E3ECDD 0 5px,var(--paper) 5px 7px)
}

.trees-plan {
    left:10%;
    bottom:9%;
    display:flex!important;
    gap:12px
}

.trees-plan b {
    width:24px;
    height:24px;
    border-radius:50%;
    background:#B9D0AE
}

.trees-plan b:nth-child(2) {
    width:30px;
    height:30px;
    margin-top:-6px
}

.trees-plan b:nth-child(3) {
    width:22px;
    height:22px
}

.trees-plan b:nth-child(4) {
    width:26px;
    height:26px;
    margin-top:-4px
}

.coop-plan {
    left:8%;
    top:44%;
    width:30%;
    height:34%;
    border:1.5px solid #4F86A0;
    background:#DCE7EC
}

.run-plan {
    left:38%;
    top:44%;
    width:22%;
    height:34%;
    border:1px dashed #4F86A0;
    border-left:0
}

.hives-plan {
    right:8%;
    top:50%;
    display:flex!important;
    gap:6px
}

.hives-plan b {
    width:14px;
    height:14px;
    background:#4F86A0
}

.map-hoz small {
    position:absolute;
    right:8%;
    top:70%;
    font:11px var(--sans);
    color:#2F5B70
}

.path-vertical {
    right:16%;
    bottom:0;
    width:20%;
    height:62%;
    background:radial-gradient(#C9B07A 1px,transparent 1.5px) 0 0/6px 6px;
    border-inline:1px solid #A9843A
}

.path-horizontal {
    left:0;
    right:36%;
    top:44%;
    height:14%;
    background:radial-gradient(#C9B07A 1px,transparent 1.5px) 0 0/6px 6px;
    border-block:1px solid #A9843A
}

.lawn-plan {
    left:10%;
    top:66%;
    width:34%;
    height:24%;
    border:1px dashed #A9843A
}

.map-uch small {
    position:absolute;
    left:12%;
    top:70%;
    font:11px var(--sans);
    color:#7A5E22
}

.map-gate {
    position:absolute;
    bottom:-2px;
    right:16%;
    width:20%;
    height:2px;
    background:#F1EDE3
}

.map-entry {
    position:absolute;
    bottom:-22px;
    right:16%;
    width:20%;
    text-align:center;
    font-size:12px;
    color:var(--muted)
}

.opening-links {
    margin-top:clamp(24px,3cqi,36px);
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    border-top:1px solid var(--ink)
}

.opening-links .post-card {
    padding:16px 18px 18px 0;
    border:0
}

.opening-links .card-title {
    font-size:19px
}

.section-heading {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:16px;
    margin-bottom:24px
}

.section-heading h2 {
    font-size:clamp(26px,3cqi,38px);
    line-height:1.1;
    letter-spacing:-.015em
}

.season-panel--home {
    margin-top:clamp(40px,6cqi,72px);
    background:#EFE4CB
}

.season-panel>.container {
    padding-block:clamp(28px,4cqi,52px)
}

.season-panel--home .section-heading h2 {
    font-size:clamp(30px,4cqi,52px);
    line-height:1;
    letter-spacing:-.02em
}

.season-panel .eyebrow {
    color:#7A5E22
}

.season-note {
    font-size:14px;
    color:var(--muted);
    max-width:340px
}

.task-plan {
    display:grid;
    grid-template-columns:42% 58%;
    border:2px solid var(--ink);
    background:var(--paper)
}

.task-zone {
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:12px;
    min-width:0
}

.task-zone-dom {
    grid-column:1;
    grid-row:1;
    border-right:1.5px dashed var(--ink);
    border-bottom:1.5px dashed var(--ink)
}

.task-zone-sad {
    grid-column:1;
    grid-row:2;
    border-right:1.5px dashed var(--ink)
}

.task-zone-hoz {
    grid-column:2;
    grid-row:1;
    border-bottom:1.5px dashed var(--ink)
}

.task-zone-uch {
    grid-column:2;
    grid-row:2
}

.task-title {
    display:flex;
    gap:9px;
    align-items:center;
    font-size:15px;
    font-weight:600
}

.task-count {
    margin-left:auto;
    color:var(--muted);
    font-size:11.5px
}

.task-row {
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:15px;
    line-height:1.35;
    cursor:pointer
}

.task-row input {
    appearance:none;
    flex:0 0 18px;
    width:18px;
    height:18px;
    border:1.5px solid var(--ink);
    margin:1px 0 0;
    background:transparent;
    display:grid;
    place-content:center
}

.task-row input:checked {
    background:var(--ink)
}

.task-row input:checked:before {
    content:'✓';
    font-size:12px;
    color:var(--paper)
}

.task-row input:checked+span {
    text-decoration:line-through;
    opacity:.5
}

.task-row>span {
    min-width:0;
    flex:1
}

.task-row>.vusa-mark {
    display:none
}

.calendar-footnote {
    margin-top:18px;
    font-size:14px;
    color:var(--muted)
}

.calendar-footnote a {
    font-weight:500;
    color:var(--ink);
    border-bottom:1px solid var(--ink)
}

.week-tasks {
    display:none
}

.season-panel--category .task-plan {
    display:flex;
    border:0;
    background:#EFE4CB
}

.season-panel--category .task-zone {
    border:0;
    flex:1
}

.season-panel--category .task-zone .task-row {
    min-height:48px;
    padding-block:12px;
    border-top:1px solid #D8C9A6;
    align-items:center
}

.months {
    display:flex;
    overflow-x:auto;
    border:1.5px solid var(--ink);
    margin-bottom:18px
}

.months a {
    flex:1;
    min-width:48px;
    text-align:center;
    border-right:1px solid var(--line);
    font:12.5px var(--mono);
    padding:10px 0
}

.months a.is-current {
    background:var(--ink);
    color:var(--paper)
}

.territory {
    margin-top:clamp(40px,6cqi,80px)
}

.territory>.container {
    padding-block:0
}

.territory-heading {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 18px;
    padding-bottom:14px;
    border-bottom:3px solid var(--zone);
    margin-bottom:clamp(20px,3cqi,32px)
}

.territory-heading h2 {
    font-size:clamp(32px,5cqi,64px);
    line-height:1;
    letter-spacing:-.025em
}

.territory-heading>span {
    font-size:15px;
    color:var(--muted);
    flex:1 1 240px
}

.territory-heading>a {
    font-size:14px;
    font-weight:500;
    white-space:nowrap
}

.territory-layout {
    display:flex;
    flex-wrap:wrap;
    gap:clamp(20px,3cqi,40px)
}

.territory-layout>.post-card--feature {
    flex:1.6 1 460px
}

.territory-list {
    flex:1 1 320px;
    min-width:0;
    display:flex;
    flex-direction:column
}

.territory-list>.post-card:first-child {
    padding-top:0
}

.small-buildings {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:18px
}

.territory-sad,.territory-hoz {
    background:var(--pale)
}

.territory-sad>.container,.territory-hoz>.container {
    padding-block:clamp(40px,6cqi,80px)
}

.territory-sad {
    margin-top:0
}

.territory-dom+.territory-sad {
    margin-top:clamp(48px,7cqi,96px)
}

.garden-layout>div:first-child {
    flex:1.3 1 460px;
    min-width:0
}

.garden-layout h3 {
    font-size:22px;
    margin-bottom:14px
}

.garden-layout .territory-list .card-title {
    font-size:21px
}

.home-crops {
    display:flex;
    flex-direction:column;
    gap:10px
}

.crop-card {
    background:var(--paper);
    padding:14px 14px 16px;
    display:flex;
    flex-direction:column;
    gap:10px
}

.crop-heading {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:10px
}

.crop-heading strong {
    font:600 19px/1.25 var(--serif)
}

.crop-action {
    font-size:12.5px;
    background:#5E8C4E;
    color:#fff;
    padding:2px 7px
}

.crop-action:empty {
    display:none
}

.crop-latin {
    font:italic 13px var(--serif);
    color:var(--muted);
    margin-top:-6px
}

.crop-cells {
    display:grid;
    grid-template-columns:repeat(12,1fr);
    gap:2px
}

.crop-cells>span {
    height:12px
}

.crop-cells>.is-month {
    outline:2px solid var(--ink);
    outline-offset:1px
}

.crop-note {
    font-size:13.5px;
    color:#4C574A
}

.crop-card--compact {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);
    gap:3px 16px;
    padding:14px 16px
}

.crop-card--compact .crop-heading {
    grid-column:1;
    grid-row:1
}

.crop-card--compact .crop-action {
    display:none
}

.crop-card--compact .crop-cells {
    grid-column:2;
    grid-row:1/3;
    align-self:center
}

.crop-card--compact .crop-note {
    grid-column:1;
    grid-row:2;
    font-size:13px
}

.crop-card--compact .crop-cells>span {
    height:14px
}

.plot-feature .post-card--feature {
    display:flex;
    flex-direction:row;
    gap:clamp(24px,4cqi,48px);
    align-items:center
}

.plot-feature .vusa-media {
    flex:2 1 480px;
    --ratio:16/9!important
}

.plot-feature .card-copy {
    flex:1 1 280px;
    min-width:0
}

.plot-feature .card-title {
    font-size:clamp(24px,2.8cqi,34px);
    line-height:1.1
}

.territory-hoz .territory-layout {
    align-items:center
}

.territory-hoz .post-card--feature {
    flex:1 1 360px;
    max-width:600px
}

.territory-hoz .post-card--feature>.vusa-media {
    --ratio:4/5!important;
    max-height:600px
}

.territory-hoz .territory-list {
    flex:1.2 1 400px
}

.territory-hoz .post-card--feature .card-title {
    font-size:clamp(28px,3.4cqi,44px)
}

.empty-territory {
    max-width:720px
}

.empty-territory p {
    margin-top:16px
}

.tools-section {
    padding-top:clamp(48px,7cqi,88px)
}

.tools-layout {
    display:flex;
    flex-wrap:wrap;
    gap:clamp(24px,4cqi,48px);
    border-top:1px solid var(--ink);
    padding-top:24px
}

.tools-layout>div {
    flex:1 1 360px;
    min-width:0
}

.tools-layout h2 {
    font-size:24px;
    margin-bottom:6px
}

.tools-layout p {
    font-size:15px;
    margin-bottom:18px
}

.concrete-calculator {
    border:1px solid var(--ink);
    flex:1.2 1 400px;
    min-width:0
}

.concrete-calculator h3 {
    padding:14px 18px;
    border-bottom:1px solid var(--ink);
    font-size:21px
}

.calculator-inputs {
    padding:16px 18px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px
}

.calculator-inputs label {
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:13px;
    color:var(--muted)
}

.calculator-inputs input {
    min-width:0;
    width:100%;
    border:0;
    border-bottom:1.5px solid var(--ink);
    background:transparent;
    font:22px var(--mono);
    padding:7px 0;
    color:var(--ink)
}

.calculator-result {
    margin:0 18px 18px;
    background:#F1E0D7;
    padding:14px 16px;
    display:flex;
    gap:28px;
    flex-wrap:wrap
}

.calculator-result span {
    display:block;
    font-size:13px;
    color:#8E4A33
}

.calculator-result output {
    display:block;
    font:500 28px var(--mono);
    margin-top:4px
}

.reader-story {
    margin-top:clamp(48px,7cqi,96px);
    background:var(--ink);
    color:#EDE8DC
}

.reader-story>.container {
    padding-block:clamp(32px,5cqi,72px)
}

.reader-story .eyebrow {
    color:#D9B36A;
    margin-bottom:28px
}

.story-layout {
    display:flex;
    flex-wrap:wrap;
    gap:clamp(24px,4cqi,56px);
    align-items:center
}

.story-images {
    flex:1.5 1 460px;
    min-width:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px
}

.story-layout>div {
    flex:1 1 340px;
    min-width:0
}

.story-layout h2 {
    font-size:clamp(28px,3.8cqi,50px);
    font-weight:500;
    line-height:1.05;
    letter-spacing:-.02em
}

.story-layout p {
    margin-top:18px;
    font:18px/1.55 var(--serif);
    color:#C9C3B5
}

.gold-button {
    display:inline-flex;
    margin-top:24px;
    padding:13px 20px;
    background:#D9B36A;
    color:var(--ink);
    font-size:15px;
    font-weight:500
}

.newsletter {
    display:flex;
    flex-wrap:wrap;
    gap:20px 48px;
    align-items:flex-end;
    justify-content:space-between;
    padding-block:clamp(40px,6cqi,80px)
}

.newsletter>div {
    flex:1 1 360px;
    min-width:0
}

.newsletter h2 {
    font-size:clamp(26px,3.4cqi,42px);
    line-height:1.05;
    letter-spacing:-.02em
}

.home-page>.territory:last-child {
    margin-bottom:0
}

.breadcrumbs {
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
    font-size:13.5px;
    color:var(--muted);
    margin-bottom:clamp(18px,3cqi,36px)
}

.category-cover {
    background:var(--pale);
    border-bottom:1px solid var(--ink)
}

.category-cover>.container {
    padding-block:clamp(16px,3cqi,28px) clamp(24px,4cqi,44px)
}

.category-cover-layout {
    display:flex;
    flex-wrap:wrap;
    gap:clamp(24px,4cqi,48px);
    align-items:stretch
}

.category-cover-layout>div:first-child {
    flex:1.2 1 420px;
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:22px
}

.category-cover h1 {
    font-size:clamp(42px,7.4cqi,104px);
    line-height:.95;
    letter-spacing:-.035em
}

.category-description {
    font:clamp(17px,1.6cqi,21px)/1.5 var(--serif);
    color:#33402F;
    max-width:560px
}

.category-jumps {
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    border-top:1px solid var(--ink);
    padding-top:10px;
    font-size:14px
}

.subzone-map-wrap {
    flex:1 1 380px;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:8px
}

.subzone-caption {
    display:flex;
    flex-wrap:wrap;
    gap:4px 12px;
    justify-content:space-between;
    font-size:13px;
    line-height:1.35;
    color:#4C574A
}

.subzone-caption .mono {
    font-size:11px
}

.subzone-map {
    flex:1;
    min-height:300px;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    grid-auto-rows:minmax(60px,1fr);
    gap:6px;
    padding:6px;
    border:2px solid var(--ink);
    background:var(--paper)
}

.subzone {
    border:1.5px solid var(--zone);
    padding:8px 9px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    font-size:14px;
    line-height:1.3;
    overflow-wrap:anywhere;
    min-width:0
}

.subzone:hover {
    background:var(--zone);
    color:white
}

.subzone-0 {
    grid-area:1/1/3/4
}

.subzone-1 {
    grid-area:1/4/2/6
}

.subzone-2 {
    grid-area:3/1/5/3
}

.subzone-3 {
    grid-area:2/4/5/7
}

.subzone-4 {
    grid-area:1/6/2/7
}

.subzone-5 {
    grid-area:3/3/5/4
}

.subzone:nth-child(n+7) {
    grid-area:auto;
    grid-column:span 2
}

.subzone-all {
    grid-column:1/-1;
    grid-row:1/5
}

.crops-section {
    background:#E3ECDD;
    margin-top:clamp(36px,5cqi,64px);
}

.crops-section>.container {
    padding-block:clamp(28px,4cqi,52px)
}

.crop-search {
    flex:0 1 280px;
    min-width:0
}

.crop-search input {
    width:100%;
    min-width:0;
    border:0;
    border-bottom:1.5px solid var(--ink);
    background:transparent;
    padding:8px 0;
    font-size:16px
}

.crop-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));
    gap:clamp(10px,2cqi,16px)
}

.crop-legend {
    margin-top:16px;
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    font-size:13px;
    color:#4C574A
}

.crop-legend span {
    display:flex;
    gap:6px;
    align-items:center
}

.crop-legend i {
    width:12px;
    height:8px
}

.materials-section {
    padding-block:clamp(36px,5cqi,64px) clamp(48px,7cqi,96px)
}

.material-filters {
    display:flex;
    flex-wrap:wrap;
    gap:10px 24px;
    padding-bottom:14px;
    border-bottom:1px solid var(--ink);
    align-items:center
}

.filter-chips {
    display:flex;
    gap:6px;
    overflow-x:auto;
    max-width:100%;
    padding-bottom:4px
}

.filter-chips a {
    flex:0 0 auto;
    border:1px solid var(--ink);
    padding:7px 12px;
    font-size:14px;
    white-space:nowrap
}

.filter-chips a.is-current {
    background:var(--ink);
    color:var(--paper)
}

.season-filters a {
    border-style:dashed
}

.pagination {
    margin-top:28px
}

.pagination .nav-links {
    display:flex;
    gap:8px;
    flex-wrap:wrap
}

.pagination a,.pagination .current {
    padding:8px 14px;
    border:1px solid var(--ink)
}

.pagination .current {
    background:var(--ink);
    color:var(--paper)
}

.screen-reader-text {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0)
}

.empty-state {
    padding-block:32px
}

.archive-page {
    padding-block:clamp(28px,5cqi,64px) clamp(48px,7cqi,96px);
    min-height:60vh
}

.archive-page h1 {
    font-size:clamp(34px,5.6cqi,72px);
    line-height:1.08;
    letter-spacing:-.03em;
    margin-bottom:28px
}

.archive-description {
    font:18px/1.6 var(--serif);
    margin-bottom:28px
}

.search-page .search-form {
    margin-bottom:20px
}

.search-page header {
    margin-bottom:28px
}

.article {
    padding-bottom:clamp(48px,7cqi,96px)
}

.article-heading {
    max-width:1100px;
    padding-top:clamp(16px,3cqi,28px);
}

.article-heading .post-meta {
    margin-bottom:14px
}

.article-heading h1 {
    font-size:clamp(34px,6cqi,76px);
    line-height:1;
    letter-spacing:-.03em;
    text-wrap:balance;
}

.article-deck {
    margin-top:20px;
    font:clamp(18px,1.8cqi,23px)/1.5 var(--serif);
    color:#3E433E;
    max-width:780px;
    font-size:clamp(18px,2cqi,24px);
    line-height:1.45;
    text-wrap:pretty;
}

.article-byline {
    margin-top:22px;
    display:flex;
    gap:12px 28px;
    flex-wrap:wrap;
    font-size:13px;
    color:var(--muted);
    padding:14px 0;
    border-block:1px solid var(--line);
    align-items:center;
}

.article-facts {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
    margin:22px 0 0;
    border:1px solid var(--line)
}

.article-facts>div {
    padding:12px 16px;
    border-right:1px solid var(--line)
}

.article-facts dt {
    font-size:12.5px;
    color:var(--muted)
}

.article-facts dd {
    margin:5px 0 0;
    font:16px var(--mono)
}

.article-cover {
    margin-top:clamp(24px,4cqi,44px);
    padding-inline:clamp(0px,4cqi,40px)
}

.article-cover figcaption {
    max-width:1100px;
    padding:10px 16px 0;
    margin:auto;
    font-size:13px;
    color:var(--muted)
}

.article-layout {
    max-width:1100px;
    margin:auto;
    padding:clamp(28px,5cqi,52px) clamp(16px,4cqi,40px) 0;
    display:flex;
    gap:56px;
    align-items:flex-start
}

.article-toc {
    flex:0 0 220px;
    position:sticky;
    top:calc(var(--header-height) + 28px);
    font-size:13px;
    max-height:calc(100dvh - var(--header-height) - 80px);
    overflow:auto
}

.admin-bar .article-toc {
    top:calc(var(--header-height) + 60px)
}

.toc-links {
    display:flex;
    flex-direction:column;
    border-left:1px solid var(--line);
    font-size:14px;
    line-height:1.35;
    margin-top:10px
}

.toc-links a {
    padding:7px 0 7px 14px;
    color:var(--muted);
    border-left:2px solid transparent;
    margin-left:-1px;
    overflow-wrap:anywhere
}

.toc-links a.is-active {
    border-color:var(--zone);
    font-weight:500;
    color:var(--ink)
}

.toc-links .toc-level-3 {
    padding-left:24px
}

.article-content {
    flex:1;
    min-width:0;
    max-width:744px;
    font:400 clamp(18px,1.65cqi,21px)/1.65 var(--serif);
    overflow-wrap:anywhere
}

.article-content>*+* {
    margin-top:1.1em
}

.article-content h2 {
    margin:1.8em 0 .6em;
    font-size:clamp(25px,2.6cqi,32px);
    line-height:1.15;
    letter-spacing:-.015em
}

.article-content h3 {
    font-size:24px;
    line-height:1.3;
    margin:1.5em 0 .6em
}

.article-content h4 {
    font:600 20px/1.4 var(--serif)
}

.article-content a {
    border-bottom:1px solid var(--zone)
}

.article-content strong {
    font-weight:600
}

.article-content ul {
    padding-left:24px
}

.article-content li+li {
    margin-top:.4em
}

.article-content ol {
    list-style:none;
    counter-reset:step;
    padding:0
}

.article-content ol>li {
    position:relative;
    counter-increment:step;
    padding-left:48px;
    margin-top:20px;
    min-height:32px
}

.article-content ol>li:before {
    content:counter(step);
    position:absolute;
    left:0;
    top:2px;
    width:32px;
    height:32px;
    background:var(--ink);
    color:var(--paper);
    display:grid;
    place-content:center;
    font:13px var(--mono)
}

.article-content ol ol {
    counter-reset:substep
}

.article-content ol ol>li {
    counter-increment:substep
}

.article-content ol ol>li:before {
    content:counter(substep)
}

.article-content blockquote {
    margin:1.8em 0;
    padding:0;
    font-size:clamp(23px,2.4cqi,30px);
    line-height:1.3;
    font-style:italic;
    letter-spacing:-.01em;
    border:0
}

.article-content blockquote cite {
    display:block;
    margin-top:12px;
    font:normal 14px/1.5 var(--sans);
    color:var(--muted)
}

.article-content figure {
    max-width:100%
}

.article-content figcaption {
    font:13.5px/1.5 var(--sans);
    color:var(--muted);
    padding-top:10px
}

.article-content iframe,.article-content video {
    max-width:100%
}

.article-content iframe {
    width:100%;
    aspect-ratio:16/9
}

.article-content .wp-block-gallery {
    display:flex;
    flex-wrap:wrap;
    gap:6px
}

.article-content .wp-block-gallery figure {
    flex:1 1 45%;
    min-width:0
}

.article-content .wp-block-image img {
    height:auto
}

.article-content pre {
    font:13px/1.6 var(--mono);
    overflow:auto;
    background:#E6E0D3;
    padding:16px;
    max-width:100%
}

.article-content code {
    font-family:var(--mono);
    font-size:.8em
}

.article-content .alignleft {
    float:left;
    margin:0 18px 18px 0
}

.article-content .alignright {
    float:right;
    margin:0 0 18px 18px
}

.article-content .aligncenter {
    margin-inline:auto
}

.article-content .wp-block-buttons {
    display:flex;
    gap:10px;
    flex-wrap:wrap
}

.article-content .wp-block-button__link {
    display:inline-block;
    background:var(--ink);
    color:var(--paper);
    padding:12px 18px;
    font:15px var(--sans);
    border:0
}

.vusa-table {
    max-width:100%;
    overflow:auto;
    margin-block:1.2em
}

.vusa-table table {
    width:100%;
    border-collapse:collapse;
    font:15px/1.4 var(--sans)
}

.vusa-table th {
    text-align:left;
    border-bottom:1.5px solid var(--ink);
    font-weight:500;
    font-size:13px;
    color:var(--muted)
}

.vusa-table th,.vusa-table td {
    padding:12px 10px;
    border-bottom:1px solid var(--line);
    overflow-wrap:normal;
    min-width:100px
}

.vusa-table th:first-child,.vusa-table td:first-child {
    padding-left:0
}

.vusa-table th:last-child,.vusa-table td:last-child {
    padding-right:0
}

.vusa-table tbody tr:nth-child(2) {
    background:#E3ECDD
}

.table-cards {
    display:none
}

.article-tags,.article-correction {
    font:14px/1.55 var(--sans);
    color:var(--muted);
    border-top:1px solid var(--ink);
    padding-top:18px;
    margin-top:2.2em
}

.mobile-toc {
    display:none
}

.article-next,.article-related,.article-comments {
    max-width:1100px;
    margin:clamp(36px,6cqi,64px) auto 0;
    padding-inline:clamp(16px,4cqi,40px)
}

.article-next>a {
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    align-items:center;
    background:#E3ECDD;
    padding:clamp(18px,3cqi,30px)
}

.article-next>a>div {
    flex:1 1 280px
}

.article-next .vusa-media {
    flex:0 1 280px;
    width:100%
}

.article-next h2 {
    font-size:clamp(23px,3cqi,34px);
    line-height:1.1;
    margin-block:10px 12px
}

.article-related h2 {
    font-size:24px;
    margin-bottom:18px
}

.related-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
    gap:1px;
    background:var(--ink);
    border:1px solid var(--ink)
}

.related-grid .post-card {
    padding:16px;
    border:0;
    background:var(--paper)
}

.page-content {
    margin:32px auto 64px;
    padding-inline:16px
}

.comments-area {
    font:15px/1.6 var(--sans)
}

.comments-area h2,.comments-area h3 {
    font-size:26px;
    margin-bottom:16px
}

.comment-list {
    padding-left:24px
}

.comment-body {
    padding-block:18px;
    border-bottom:1px solid var(--line)
}

.comment-author {
    display:flex;
    gap:10px;
    align-items:center
}

.comment-form {
    max-width:740px
}

.comment-form label {
    display:block;
    font-size:14px;
    margin-bottom:5px
}

.comment-form input:not([type=checkbox]),.comment-form textarea {
    background:transparent;
    border:1px solid var(--ink);
    padding:10px;
    width:100%;
    max-width:100%;
    font:16px var(--sans)
}

.comment-form p {
    margin-top:14px
}

.comment-form input.submit {
    background:var(--ink);
    color:var(--paper);
    width:auto
}

.comment-form-cookies-consent {
    display:flex;
    gap:10px;
    align-items:flex-start
}

.comment-form-cookies-consent label {
    font-size:13px
}

.about-heading {
    padding-top:clamp(28px,6cqi,80px)
}

.about-heading h1 {
    font-size:clamp(34px,6.4cqi,86px);
    font-weight:500;
    line-height:1.02;
    letter-spacing:-.03em;
    max-width:1150px;
    text-wrap:balance;
    margin-top:16px
}

.about-heading h1 em {
    color:#5E8C4E
}

.about-heading p {
    margin-top:clamp(20px,3cqi,32px);
    font:clamp(18px,1.7cqi,21px)/1.55 var(--serif);
    color:#3E433E;
    max-width:720px
}

.about-system {
    padding-top:clamp(36px,5cqi,64px);
    display:flex;
    flex-wrap:wrap;
    gap:clamp(24px,4cqi,56px);
    align-items:center
}

.about-map {
    flex:1 1 360px;
    min-width:0;
    display:flex;
    justify-content:center
}

.about-map .estate-map {
    width:min(100%,420px);
    aspect-ratio:1;
    height:auto;
    min-height:0;
    border-width:3px
}

.about-map .map-dom {
    background:#F1E0D7
}

.about-map .map-sad {
    background:#E3ECDD
}

.about-map .map-hoz {
    background:#DCE7EC
}

.about-map .map-uch {
    background:#EFE4CB
}

.about-map .map-left {
    border-right:2px solid var(--ink)
}

.about-map .map-dom,.about-map .map-hoz {
    border-bottom:2px solid var(--ink)
}

.about-map .map-drawing {
    display:none
}

.about-map .map-count {
    display:none
}

.about-map .map-gate {
    height:3px;
    bottom:-3px;
    width:24%;
    background:var(--paper)
}

.about-explanation {
    flex:1.2 1 420px;
    min-width:0
}

.about-explanation h2,.about-principles h2 {
    font-size:clamp(26px,3.2cqi,40px);
    letter-spacing:-.02em;
    margin-bottom:14px
}

.about-explanation p {
    font:16.5px/1.6 var(--sans);
    color:#3E433E;
    margin-bottom:18px
}

.about-zone-list>div {
    display:flex;
    gap:14px;
    padding:12px 0;
    border-top:1px solid var(--line);
    font-size:15.5px
}

.about-principles {
    padding-block:clamp(48px,7cqi,88px)
}

.principles-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
    border-top:1.5px solid var(--ink)
}

.principles-grid>div {
    padding:20px 24px 20px 0
}

.principles-grid h3 {
    font-size:23px;
    margin-bottom:10px
}

.principles-grid p {
    font-size:16px;
    color:#3E433E;
    line-height:1.55
}

.about-photo {
    background:var(--ink);
    color:#EDE8DC
}

.about-photo>.container {
    padding-block:clamp(32px,5cqi,64px);
    display:flex;
    flex-wrap:wrap;
    gap:clamp(24px,4cqi,56px);
    align-items:center
}

.about-photo>.container>div {
    flex:1 1 380px;
    min-width:0
}

.about-photo .vusa-media {
    flex:1 1 400px
}

.about-photo h2 {
    font-size:clamp(28px,4cqi,50px);
    font-weight:500;
    line-height:1.05;
    letter-spacing:-.02em
}

.about-photo .eyebrow {
    color:#D9B36A
}

.about-photo p {
    font:18px/1.55 var(--serif);
    color:#C9C3B5;
    margin-top:16px
}

.photo-guide {
    max-width:1100px
}

.photo-rules {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
    gap:clamp(16px,3cqi,32px);
    margin-block:36px
}

.photo-rules>div {
    border-top:3px solid #5E8C4E;
    padding-top:14px
}

.photo-rules>div+div {
    border-color:#B5654A
}

.photo-rules h2 {
    font-size:22px
}

.photo-rules ul {
    padding-left:18px;
    font:16px/1.6 var(--sans)
}

.image-library {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));
    gap:24px;
    padding-block:40px 64px
}

.image-library figcaption {
    font:14px var(--sans);
    margin-top:8px
}

.image-library small {
    display:block;
    color:var(--muted);
    font:11px var(--mono);
    margin-top:4px
}

.site-footer {
    background:var(--ink);
    color:#EDE8DC
}

.site-footer .ruler {
    --ink:#EDE8DC
}

.footer-inner {
    padding-block:clamp(36px,5cqi,64px) 28px
}

.footer-main {
    display:flex;
    flex-wrap:wrap;
    gap:36px 56px
}

.footer-brand {
    flex:1 1 280px
}

.footer-brand .brand>span {
    font-size:30px
}

.footer-brand p {
    font-size:15px;
    line-height:1.55;
    color:#BDB7A9;
    max-width:340px;
    margin-top:16px
}

.footer-columns {
    flex:3 1 560px;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
    gap:24px
}

.footer-columns nav {
    display:flex;
    flex-direction:column;
    gap:9px;
    font-size:14px;
    min-width:0
}

.footer-columns a {
    color:#C9C3B5
}

.footer-columns .footer-title {
    color:#EDE8DC;
    font-weight:600;
    margin-bottom:4px
}

.footer-columns ul {
    list-style:none;
    padding:0;
    margin:0
}

.footer-columns li+li {
    margin-top:9px
}

.footer-bottom {
    margin-top:44px;
    padding-top:18px;
    border-top:1px solid #3A3F3A;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:10px;
    font-size:13px;
    color:#9A9486
}

.mobile-bottom {
    display:none
}

@media(max-width:1179px) {
    .nav-extra {
        display:none
    }
}

@media(max-width:999px) {
    .nav-full {
        display:none
    }
    .nav-short {
        display:inline
    }
}

@media(max-width:959px) {
    .article-toc {
        display:none
    }
    .article-layout {
        justify-content:center
    }
    .mobile-toc {
        max-width:744px;
        margin:20px auto 0;
        border:1px solid var(--ink)
    }
    .mobile-toc summary {
        min-height:48px;
        padding:12px 14px;
        font-size:15px;
        font-weight:500;
        cursor:pointer
    }
    .mobile-toc .toc-links {
        margin:0;
        padding:6px 14px 10px;
        border:0;
        border-top:1px solid var(--line)
    }
    .mobile-toc .toc-links a {
        padding:9px 0
    }
    .post-card--row {
        grid-template-columns:110px minmax(0,1fr) 70px;
        gap:16px
    }
    .post-card--row .difficulty,.post-card--row .work-time {
        display:none
    }
}

@media(max-width:719px) {
    :root {
        --header-height:67px
    }
    .desktop-only,.desktop-nav,.topbar-links {
        display:none!important
    }
    .mobile-only {
        display:block
    }
    .header-actions .mobile-only {
        display:flex;
        align-items:center
    }
    .header-inner {
        gap:12px;
        padding:12px 16px
    }
    .topbar-inner {
        padding:7px 16px;
        flex-wrap:nowrap;
        gap:0
    }
    .topbar-inner>div {
        gap:14px;
        white-space:nowrap
    }
    .topbar .mono {
        font-size:11.5px
    }
    .topbar {
        font-size:13px
    }
    .brand {
        gap:11px
    }
    .brand>span {
        font-size:25px
    }
    .search-trigger {
        padding:0 14px
    }
    .search-trigger .sr-only {
        display:block
    }
    .home-opening {
        padding:16px 16px 0;
        display:contents
    }
    .home-hero-map {
        display:contents
    }
    .home-hero {
        padding:16px 16px 0;
        gap:12px;
        flex:none
    }
    .hero-picture {
        margin-inline:-16px
    }
    .hero-badge,.home-hero p {
        display:none
    }
    .home-hero h1 {
        font-size:31px;
        line-height:1.05;
        letter-spacing:-.02em;
        text-wrap:initial
    }
    .home-hero .post-meta {
        font-size:13px
    }
    .home-page {
        display:flex;
        flex-direction:column
    }
    .home-hero {
        order:1
    }
    .season-panel--home {
        order:2
    }
    .map-panel {
        order:3
    }
    .opening-links {
        order:4
    }
    .territory-dom {
        order:5
    }
    .reader-story {
        order:6
    }
    .territory-sad {
        order:7
    }
    .territory-uch {
        order:8
    }
    .tools-section {
        order:9
    }
    .territory-hoz {
        order:10
    }
    .newsletter {
        order:11
    }
    .map-panel {
        margin:28px 16px 0;
        border:0;
        flex:none
    }
    .map-panel-heading {
        padding:0;
        margin-bottom:10px;
        border:0
    }
    .map-panel-heading h2 {
        font-size:22px
    }
    .map-panel-heading>span {
        font-size:0
    }
    .map-panel-heading>span:after {
        content:'куда идём?';
        font-size:13px
    }
    .map-paper {
        padding:0;
        background:none
    }
    .map-panel-foot {
        display:none
    }
    .estate-map {
        height:270px;
        min-height:0
    }
    .map-title {
        font-size:18px;
        line-height:1.2;
        position:relative;
        z-index:2;
        max-width:100%
    }
    .map-zone {
        padding:10px;
        display:flex;
        flex-direction:column;
        justify-content:space-between
    }
    .map-count {
        float:none;
        align-self:flex-start;
        margin:0;
        font-size:11px
    }
    .map-drawing .house-plan {
        right:12px;
        left:auto;
        top:38%;
        width:34%;
        height:34%;
        background:#EBD3C7
    }
    .house-terrace,.bath-plan,.map-drawing small,.beds-plan,.greenhouse-plan,.trees-plan,.coop-plan,.run-plan,.path-horizontal,.lawn-plan,.map-entry {
        display:none!important
    }
    .map-sad {
        background:repeating-linear-gradient(90deg,transparent 0 14px,#E3ECDD 14px 24px)
    }
    .map-sad .map-title,.map-sad .map-count {
        background:var(--paper);
        align-self:flex-start
    }
    .hives-plan {
        right:12px;
        top:auto;
        bottom:12px;
        gap:4px
    }
    .hives-plan b {
        width:10px;
        height:10px
    }
    .hives-plan b:last-child {
        display:none
    }
    .path-vertical {
        height:50%;
        border:0
    }
    .map-gate {
        background:var(--paper)
    }
    .estate-map--compact {
        height:280px
    }
    .estate-map--compact .map-dom {
        background:#F1E0D7
    }
    .estate-map--compact .map-sad {
        background:#E3ECDD
    }
    .estate-map--compact .map-hoz {
        background:#DCE7EC
    }
    .estate-map--compact .map-uch {
        background:#EFE4CB
    }
    .estate-map--compact .map-drawing {
        display:none
    }
    .opening-links {
        display:flex;
        flex-direction:column;
        margin:24px 16px 0;
        border:0
    }
    .opening-links .post-card {
        padding:14px 0;
        border-top:1px solid var(--line)
    }
    .opening-links .post-card:nth-child(4) {
        display:none
    }
    .opening-links .post-card:last-child {
        border-bottom:1px solid var(--line)
    }
    .opening-links .post-meta {
        display:none
    }
    .opening-links .card-title {
        font-size:18px
    }
    .season-panel--home {
        margin:24px 16px 0;
        padding:18px 16px;
        background:#EFE4CB
    }
    .season-panel--home>.container {
        padding:0
    }
    .season-panel--home .section-heading,.season-panel--home .task-plan,.season-panel--home .calendar-footnote {
        display:none
    }
    .week-tasks {
        display:block
    }
    .week-tasks>summary {
        display:flex;
        justify-content:space-between;
        align-items:baseline;
        font:600 22px/1.3 var(--serif);
        list-style:none;
        cursor:pointer;
        margin-bottom:14px
    }
    .week-tasks summary .mono {
        font-size:11px;
        color:#7A5E22
    }
    .week-task-items {
        display:flex;
        flex-direction:column
    }
    .week-tasks .task-row {
        border-top:1px solid #D8C9A6;
        min-height:50px;
        align-items:center;
        gap:12px;
        font-size:15.5px;
        line-height:1.3;
        padding-block:9px
    }
    .week-tasks input {
        width:22px;
        height:22px;
        flex-basis:22px;
        margin:0
    }
    .week-tasks .vusa-mark {
        display:block
    }
    .week-tasks .task-row:nth-child(n+5) {
        display:none
    }
    .week-tasks[open] .task-row:nth-child(n+5) {
        display:flex
    }
    .week-tasks .week-toggle {
        margin-top:6px;
        width:100%;
        min-height:46px;
        border:1.5px solid var(--ink);
        background:transparent;
        font-size:15px;
        font-weight:500
    }
    .territory {
        margin-top:40px
    }
    .territory>.container {
        padding-inline:16px
    }
    .territory-heading {
        gap:12px 14px;
        margin-bottom:20px
    }
    .territory-heading h2 {
        font-size:32px
    }
    .territory-heading>span {
        flex-basis:100%;
        font-size:15px
    }
    .territory-heading>a {
        margin-left:auto
    }
    .territory-layout {
        gap:24px
    }
    .territory-layout>.post-card--feature {
        flex-basis:100%
    }
    .territory-list {
        flex-basis:100%
    }
    .territory-sad>.container,.territory-hoz>.container {
        padding-block:40px
    }
    .territory-sad {
        margin-top:0
    }
    .garden-layout>div:first-child {
        flex-basis:100%
    }
    .crop-card--compact {
        grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);
        gap:3px 10px
    }
    .crop-heading strong {
        font-size:18px
    }
    .crop-card--compact .crop-note {
        font-size:12px
    }
    .plot-feature .post-card--feature {
        flex-wrap:wrap;
        gap:18px
    }
    .plot-feature .vusa-media {
        flex-basis:100%;
        --ratio:1!important
    }
    .plot-feature .card-copy {
        flex-basis:100%
    }
    .territory-hoz .post-card--feature>.vusa-media {
        max-height:none
    }
    .territory-hoz .post-card--feature {
        flex-basis:100%
    }
    .reader-story {
        margin-top:48px
    }
    .story-layout {
        gap:24px
    }
    .story-images {
        flex-basis:100%
    }
    .story-layout>div {
        flex-basis:100%
    }
    .story-layout h2 {
        font-size:28px
    }
    .story-layout p {
        font-size:18px
    }
    .newsletter {
        padding-block:40px
    }
    .newsletter h2 {
        font-size:26px
    }
    .search-dialog {
        top:0
    }
    .search-inner {
        padding:20px 16px
    }
    .search-form {
        gap:10px
    }
    .search-form>button {
        padding:12px 10px
    }
    .search-form input {
        font-size:26px
    }
    .search-suggestions {
        grid-template-columns:1fr
    }
    .category-cover>.container {
        padding:16px 16px 24px
    }
    .category-cover h1 {
        font-size:42px;
        line-height:.95
    }
    .category-cover-layout {
        gap:24px
    }
    .category-cover-layout>div:first-child {
        flex-basis:100%;
        gap:18px
    }
    .category-description {
        font-size:17px
    }
    .category-jumps {
        display:none
    }
    .subzone-map-wrap {
        flex-basis:100%
    }
    .subzone-map {
        min-height:230px;
        grid-auto-rows:minmax(50px,1fr)
    }
    .subzone {
        padding:8px 7px;
        font-size:13px
    }
    .subzone .mono {
        font-size:10px
    }
    .season-panel>.container {
        padding:28px 16px
    }
    .season-panel--home>.container {
        padding:0
    }
    .season-panel--category .section-heading .eyebrow {
        font-size:12px
    }
    .season-panel--category .season-note {
        display:none
    }
    .crops-section>.container {
        padding:28px 16px
    }
    .crop-grid {
        grid-template-columns:1fr
    }
    .crop-grid:not(.is-searching) .crop-card:nth-child(n+5) {
        display:none
    }
    .crop-search {
        flex-basis:100%
    }
    .materials-section {
        padding:36px 16px 48px
    }
    .section-heading {
        margin-bottom:16px
    }
    .section-heading h2 {
        font-size:26px
    }
    .post-card--row {
        display:flex;
        gap:12px;
        padding-block:14px;
        align-items:flex-start
    }
    .post-card--row>.vusa-media {
        flex:0 0 76px;
        width:76px;
        height:76px;
        aspect-ratio:1
    }
    .post-card--row .card-copy {
        flex:1;
        gap:6px
    }
    .post-card--row .card-title {
        font-size:17.5px;
        line-height:1.22;
        order:1
    }
    .post-card--row .post-meta {
        font-size:13px;
        font-weight:400;
        order:2
    }
    .post-card--row .post-meta>.vusa-mark {
        display:none
    }
    .post-card--row .card-excerpt,.post-card--row .difficulty,.post-card--row .work-time,.post-card--row .work-season {
        display:none
    }
    .article-heading {
        padding:24px 16px 0
    }
    .article-heading h1 {
        font-size:34px;
        line-height:1.04
    }
    .article-deck {
        font-size:18px
    }
    .article-byline {
        font-size:12.5px;
        gap:6px 14px
    }
    .article-facts {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .article-facts>div {
        padding:12px 16px;
        border-bottom:1px solid var(--line);
        margin-bottom:-1px
    }
    .article-facts dd {
        font-size:14px
    }
    .article-cover {
        padding:0;
        margin-top:24px
    }
    .article-cover .vusa-media {
        --ratio:4/3!important
    }
    .article-cover figcaption {
        padding-inline:16px
    }
    .mobile-toc {
        display:block;
        margin:20px 16px 0
    }
    .article-layout {
        padding:28px 16px 0;
        display:block
    }
    .article-content {
        font-size:18px;
        line-height:1.65
    }
    .article-content h2 {
        font-size:25px
    }
    .article-content h3 {
        font-size:22px
    }
    .article-content .alignleft,.article-content .alignright {
        float:none;
        margin:18px 0
    }
    .article-content blockquote {
        font-size:23px
    }
    .article-content ol>li {
        padding-left:48px
    }
    .article-next,.article-related,.article-comments {
        padding-inline:16px;
        margin-top:36px
    }
    .article-next>a {
        padding:18px
    }
    .article-next .vusa-media {
        flex-basis:100%
    }
    .article-next h2 {
        font-size:23px
    }
    .article-related h2 {
        font-size:24px
    }
    .table-cards {
        display:flex;
        flex-direction:column;
        gap:8px;
        margin-block:1.2em;
        font:14px/1.5 var(--sans)
    }
    .table-cards>dl {
        border:1px solid var(--line);
        margin:0;
        padding:12px 14px
    }
    .table-cards>dl:nth-child(2) {
        background:#E3ECDD
    }
    .table-cards dt {
        font-size:12px;
        color:var(--muted)
    }
    .table-cards dd {
        margin:0 0 8px;
        font-size:15px
    }
    .table-cards dd:last-child {
        margin:0
    }
    .vusa-table.has-cards {
        display:none
    }
    .about-heading {
        padding:28px 16px 0
    }
    .about-heading h1 {
        font-size:34px;
        line-height:1.02
    }
    .about-heading p {
        font-size:18px;
        margin-top:20px
    }
    .about-system {
        padding:36px 16px 0;
        gap:36px
    }
    .about-map {
        flex-basis:100%
    }
    .about-map .estate-map {
        height:auto;
        min-height:0
    }
    .about-map .map-title {
        font-size:18px
    }
    .about-explanation {
        flex-basis:100%
    }
    .about-explanation h2,.about-principles h2 {
        font-size:26px
    }
    .about-principles {
        padding:48px 16px
    }
    .about-photo>.container {
        padding:32px 16px
    }
    .about-photo h2 {
        font-size:28px
    }
    .footer-inner {
        padding:36px 16px 28px
    }
    .footer-main {
        gap:36px
    }
    .footer-columns {
        flex-basis:100%;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:24px
    }
    .footer-bottom {
        margin-top:44px;
        gap:10px
    }
    .mobile-bottom {
        position:fixed;
        bottom:0;
        left:0;
        right:0;
        z-index:50;
        display:grid;
        grid-template-columns:repeat(5,minmax(0,1fr));
        background:var(--paper);
        border-top:1px solid var(--ink);
        padding-bottom:env(safe-area-inset-bottom)
    }
    .mobile-bottom>a,.mobile-bottom>button {
        min-height:58px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:5px;
        font:11.5px var(--sans);
        border:0;
        border-top:3px solid transparent;
        background:transparent;
        padding:0
    }
    .mobile-bottom .is-current {
        border-top-color:var(--zone)
    }
    .mobile-bottom .search-icon {
        width:15px;
        height:15px
    }
    .site-frame {
        padding-bottom:calc(58px + env(safe-area-inset-bottom))
    }
    .archive-page {
        padding:28px 16px 48px
    }
    .archive-page h1 {
        font-size:34px
    }
    .concrete-calculator {
        flex-basis:100%
    }
    .page-content {
        margin-block:28px 48px
    }
}

@media(max-width:359px) {
    .brand>span {
        font-size:22px
    }
    .header-inner {
        gap:8px
    }
    .brand {
        gap:8px
    }
    .search-trigger {
        padding-inline:11px
    }
    .menu-trigger {
        padding-inline:10px
    }
    .topbar-inner>div {
        gap:10px
    }
    .topbar {
        font-size:12px
    }
    .topbar .mono {
        font-size:10px
    }
    .map-title {
        font-size:16px
    }
    .subzone {
        font-size:11px;
        padding:6px
    }
    .calculator-inputs {
        gap:8px;
        padding-inline:12px
    }
    .calculator-inputs input {
        font-size:18px
    }
}

@media(max-width:782px) {
    body.admin-bar .site-header {
        top:46px
    }
}

@media(max-width:600px) {
    body.admin-bar .site-header {
        top:0
    }
}

@media(max-width:719px) {
    .week-heading {
        display:flex;
        justify-content:space-between;
        align-items:baseline;
        font:600 22px/1.3 var(--serif);
        margin-bottom:14px;
        gap:12px
    }
    .week-heading .mono {
        font-size:11px;
        color:#7A5E22
    }
    .week-tasks.is-expanded .task-row:nth-child(n+5) {
        display:flex
    }
    .week-tasks:not(.is-expanded) .task-row:nth-child(n+5) {
        display:none
    }
}

.article-byline>a {
    font-size:15px;
    font-weight:500
}

.author-glyph {
    flex:0 0 38px;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#DDE6D6;
    display:grid;
    place-content:center;
    margin-right:-18px
}

.author-glyph i {
    width:14px;
    height:14px;
    border:1.5px solid #5E8C4E
}

.article-location {
    margin-top:22px;
    padding-top:16px;
    border-top:1px solid var(--line)
}

.article-location>div {
    display:flex;
    gap:10px;
    align-items:center;
    margin-top:8px;
    font-size:13.5px;
    line-height:1.35
}

.article-actions {
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:20px
}

.article-actions button {
    border:1px solid var(--ink);
    background:transparent;
    padding:9px;
    font-size:13.5px
}

.article-actions [data-print] {
    border-color:var(--line);
    color:var(--muted)
}

.empty-territory .vusa-media {
    max-height:600px
}

.workbench-section {
    padding-top:clamp(36px,5cqi,64px)
}

.section-number {
    color:var(--zone);
    font-size:13px
}

.workbench-section .section-heading {
    align-items:baseline;
    justify-content:flex-start;
    gap:12px
}

.task-chips {
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:4px;
    margin-bottom:18px
}

.task-chips a {
    flex:0 0 auto;
    border:1.5px solid #9FB596;
    padding:10px 16px;
    font-size:15px;
    font-weight:500;
    white-space:nowrap
}

.task-chips a.is-current {
    background:#5E8C4E;
    color:#fff;
    border-color:#5E8C4E
}

.task-guides {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
    gap:clamp(12px,2cqi,20px)
}

.post-card--guide {
    display:flex;
    gap:14px;
    align-items:flex-start;
    border-top:2px solid var(--zone);
    padding-top:14px
}

.post-card--guide .vusa-media {
    flex:0 0 72px;
    width:72px;
    height:72px;
    aspect-ratio:1
}

.post-card--guide .card-title {
    font-size:19px;
    line-height:1.22
}

.route-description {
    font-size:15px;
    margin-bottom:22px
}

.route-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
    border-top:2px solid var(--zone)
}

.route-step {
    padding:16px 16px 18px 0;
    display:flex;
    flex-direction:column;
    gap:8px
}

.route-step strong {
    font:600 19px/1.2 var(--serif)
}

.route-step>.muted {
    font-size:14px
}

.route-number {
    width:28px;
    height:28px;
    margin-top:-31px;
    background:var(--zone);
    color:#fff;
    display:grid;
    place-content:center
}

.route-step:nth-child(3) .route-number {
    background:var(--ink)
}

.route-step:nth-child(n+4) .route-number {
    background:var(--paper);
    border:2px solid var(--zone);
    color:var(--ink)
}

.knowledge-layout {
    display:flex;
    flex-wrap:wrap;
    gap:clamp(24px,4cqi,48px)
}

.knowledge-layout>div {
    flex:1.3 1 420px;
    min-width:0
}

.knowledge-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
    gap:0 24px
}

.knowledge-grid>a {
    padding:13px 0;
    border-top:1px solid var(--line)
}

.knowledge-grid h3 {
    font-size:18px
}

.knowledge-grid p {
    font-size:14px;
    color:var(--muted);
    line-height:1.45;
    margin-top:3px
}

.related-territories {
    flex:1 1 320px;
    min-width:0;
    border:1px solid var(--ink);
    padding:18px 20px;
    align-self:flex-start
}

.related-territories h3 {
    font:600 14px var(--sans);
    margin-bottom:12px
}

.related-territories a {
    display:flex;
    gap:10px;
    align-items:center;
    padding:11px 0;
    border-top:1px solid var(--line);
    font-size:15px
}

.related-territories a>span {
    margin-left:auto
}

.season-category-layout {
    display:flex;
    flex-wrap:wrap;
    gap:clamp(16px,3cqi,32px)
}

.season-category-layout>.task-plan {
    flex:1.2 1 380px;
    min-width:0
}

.season-crop-window {
    flex:1 1 300px;
    min-width:0
}

.season-crop-window h3 {
    font:600 14px var(--sans);
    margin-bottom:12px
}

.crop-window-items {
    display:flex;
    flex-wrap:wrap;
    gap:8px
}

.crop-window-items>span {
    display:flex;
    gap:8px;
    align-items:center;
    border:1px solid #9FB596;
    padding:8px 12px;
    font-size:15px
}

.crop-window-items small {
    font-size:12.5px;
    color:#3F6334
}

.crops-section .section-heading h2 {
    flex:1
}

.materials-section .section-heading {
    align-items:baseline
}

.materials-section .section-heading h2 {
    flex:1
}

@media(max-width:719px) {
    .article-heading {
        padding-top:16px
    }
    .article-heading h1 {
        font-size:34px;
        line-height:1
    }
    .article-deck {
        font-size:18px;
        line-height:1.45
    }
    .article-byline {
        gap:12px 20px
    }
    .author-glyph {
        margin-right:-10px
    }
    .workbench-section {
        padding-top:36px
    }
    .route-grid {
        grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))
    }
    .season-crop-window {
        flex-basis:100%
    }
    .crops-section {
        margin-top:36px
    }
}

.season-panel--category .week-tasks {
    display:none
}

@media(max-width:719px) {
    .table-cards--materials>dl {
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        gap:4px 10px
    }
    .table-cards--materials dt {
        position:absolute;
        clip:rect(0,0,0,0);
        width:1px;
        height:1px;
        overflow:hidden
    }
    .table-cards--materials dd {
        margin:0;
        min-width:0
    }
    .table-cards--materials .table-value-0 {
        grid-column:1;
        grid-row:1;
        font-size:16px;
        font-weight:600
    }
    .table-cards--materials .table-value-2 {
        grid-column:2;
        grid-row:1;
        font:13px var(--mono)
    }
    .table-cards--materials .table-value-1 {
        grid-column:1;
        grid-row:2;
        color:var(--muted);
        font-size:14px
    }
    .table-cards--materials .table-value-3 {
        grid-column:1/-1;
        grid-row:3;
        color:var(--muted);
        font-size:14px
    }
}

.territory-sad .vusa-mark,.territory-hoz .vusa-mark,.category-cover .vusa-mark {
    --mark-bg:var(--pale)
}

.additional-menu {
    list-style:none;
    display:flex;
    gap:18px;
    padding:0;
    margin:0
}

.additional-menu li {
    position:relative;
    min-width:0;
    max-width:140px
}

.additional-menu>li>a {
    display:block;
    max-width:140px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}

.additional-menu .sub-menu {
    display:none;
    position:absolute;
    left:0;
    top:100%;
    width:240px;
    list-style:none;
    padding:12px 16px;
    margin:0;
    background:var(--paper);
    border:1px solid var(--ink);
    z-index:80
}

.additional-menu .sub-menu li {
    max-width:none;
    padding:6px 0;
    overflow-wrap:anywhere
}

.additional-menu li:hover>.sub-menu,.additional-menu li:focus-within>.sub-menu {
    display:block
}

.additional-menu .sub-menu .sub-menu {
    position:static;
    width:auto;
    border:0;
    padding:8px
}

.mobile-menu ul ul {
    padding-left:16px;
    margin:8px 0 0
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    * {
        transition:none!important;
        animation:none!important
    }
}

@media print {
    .site-header,.topbar,.site-footer,.mobile-bottom,.mobile-toc,.article-toc,.article-next,.article-related,.article-comments,.search-dialog {
        display:none!important
    }
    .article-layout {
        display:block;
        padding:0
    }
    .article-content {
        max-width:none
    }
    .article-cover .vusa-media {
        max-height:300px
    }
    .article-heading h1 {
        font-size:32px
    }
    .site-frame {
        padding:0
    }
    .table-cards {
        display:none!important
    }
    .vusa-table.has-cards {
        display:block
    }
}

.search-dialog .search-form>button { display:none; }
.search-dialog .search-suggestions { margin-top:8px; }
.search-chips { margin-top:20px; display:flex; flex-wrap:wrap; gap:8px; }
.search-chips a { border:1px solid var(--line); padding:7px 12px; font-size:14px; }
.search-results-label { margin-top:26px; font-size:13px; color:var(--muted); }

/* Composition examples use the same editorial grid as the rest of the site. */
.photo-examples-section { margin: 3rem 0; }
.photo-examples { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.photo-examples figure { margin: 0; min-width: 0; }
.photo-examples figcaption { margin-top: .75rem; font-size: .9rem; line-height: 1.5; color: var(--muted, #666a5f); }
@media (max-width: 719px) { .photo-examples { grid-template-columns: 1fr; } }

/* Keep the existing cookie control clear of the mobile navigation. */
#clearfy-cookie {
    left: auto !important; right: 24px !important; bottom: 24px !important;
    width: min(640px, calc(100% - 48px)) !important; max-width: 640px !important;
    box-sizing: border-box; padding: 0 !important; border-radius: 0 !important;
    border: 1px solid #c7c3b7 !important; background: #f6f3eb !important;
    color: #333b30 !important; box-shadow: 0 4px 18px #1f242018 !important;
    font-family: 'Golos Text', sans-serif !important; font-size: 12px !important;
    line-height: 1.5 !important;
}
#clearfy-cookie .clearfy-cookie-container { max-width: none !important; padding: 12px 16px !important; }
#clearfy-cookie-accept {
    background: #1f2420 !important; color: #f6f3eb !important; border: 0 !important;
    border-radius: 0 !important; padding: 5px 10px !important; margin-left: 8px !important;
    font: inherit !important; cursor: pointer;
}
#clearfy-cookie-accept:focus-visible { outline: 2px solid #a9843a; outline-offset: 3px; }
@media (max-width: 719px) {
    #clearfy-cookie { right: 12px !important; left: 12px !important; width: auto !important; bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* Respect the existing cookie plugin acceptance state at every viewport. */
#clearfy-cookie.clearfy-cookie-hide { display: none !important; }

/* Related category links have equal readable cells. */
.subzone-map--related {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:minmax(90px,1fr);
}
.subzone-map--related .subzone {
    grid-area:auto;
    overflow-wrap:break-word;
}
.subzone-map--related .subzone:last-child:nth-child(odd) {
    grid-column:1/-1;
}
