
:root{
  --bg:#f2f0eb;--surface:#ffffff;--ink:#1a2e24;--muted:#5c6b62;
  --accent:#2d6a4f;--accent2:#95d5b2;--line:#c8d4cc;
  --sans:"Oswald",sans-serif;--serif:"Lora",Georgia,serif;
  --shell:min(900px,100% - 32px);--tap:48px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--serif);background:var(--bg);color:var(--ink);line-height:1.65}
.shell{width:var(--shell);margin-inline:auto;padding-inline:16px}
.skip-link{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip-link:focus{
  position:fixed;left:12px;top:12px;z-index:200;padding:12px 16px;background:var(--surface);
  border:2px solid var(--accent2);border-radius:8px;font-weight:700
}
.ridge-head{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(135deg,#1f3d2f,#2d6a4f);color:#fff;
  border-bottom:4px solid #1b4332;padding-top:env(safe-area-inset-top,0)
}
.ridge-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 0}
.logo{
  font-family:var(--sans);font-size:clamp(1.2rem,4vw,1.5rem);text-decoration:none;color:#fff;
  letter-spacing:0.06em;text-transform:uppercase
}
.logo span{color:var(--accent2)}
.ridge-links-desktop{display:none;flex-wrap:wrap;gap:8px 16px;font-family:var(--sans);font-size:0.88rem;letter-spacing:0.04em}
.ridge-links-desktop a{color:#e8f5e9;text-decoration:none;text-transform:uppercase;padding:4px 0}
.ridge-links-desktop a[aria-current="page"]{color:#fff;border-bottom:2px solid var(--accent2)}
.ridge-mobile-menu{position:relative;margin-left:auto}
.ridge-mobile-menu summary{
  list-style:none;cursor:pointer;min-height:var(--tap);min-width:var(--tap);
  display:inline-flex;align-items:center;justify-content:center;padding:0 16px;
  font-family:var(--sans);font-weight:700;font-size:0.9rem;letter-spacing:0.06em;
  text-transform:uppercase;background:rgba(0,0,0,0.2);border:2px solid var(--accent2);
  border-radius:10px;color:#fff
}
.ridge-mobile-menu summary::-webkit-details-marker{display:none}
.ridge-mobile-menu[open] summary{background:rgba(0,0,0,0.35)}
.ridge-mobile-panel{
  position:absolute;right:0;top:calc(100% + 8px);width:min(100vw - 32px,22rem);
  max-height:min(75vh,520px);overflow-y:auto;background:#1f3d2f;
  border:2px solid var(--accent2);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,0.35);
  padding:10px 0;z-index:60
}
.ridge-mobile-panel h2{
  font-family:var(--sans);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;
  margin:14px 16px 6px;color:var(--accent2)
}
.ridge-mobile-panel a{
  display:flex;align-items:center;min-height:44px;padding:8px 16px;color:#fff;
  text-decoration:none;font-size:0.95rem;border-bottom:1px solid rgba(149,213,178,0.15)
}
.ridge-mobile-panel a:last-child{border-bottom:0}
.ridge-mobile-panel a:hover,.ridge-mobile-panel a:active{background:rgba(0,0,0,0.2)}
.ridge-mobile-panel a[aria-current="page"]{font-weight:700;color:var(--accent2);background:rgba(0,0,0,0.25)}
.split{display:block}
.ridge-side{display:none}
.ridge-main{padding:22px 0 36px;background:var(--surface)}
h1{
  font-family:var(--sans);font-size:clamp(1.45rem,5.5vw,2.4rem);text-transform:uppercase;
  letter-spacing:0.03em;margin:0 0 12px;line-height:1.15
}
.lead{color:var(--muted);font-size:1.02rem;margin:0 0 20px;line-height:1.6}
.block{border-left:4px solid var(--accent);padding:14px 16px;margin:16px 0;background:var(--bg)}
.block h3{
  font-family:var(--sans);margin:0 0 8px;text-transform:uppercase;letter-spacing:0.05em;
  font-size:0.95rem;color:var(--accent)
}
.block ul,.block ol{margin:8px 0 0 1.1rem;padding:0}
.block li{margin-bottom:6px}
.cards{display:grid;gap:12px;margin-top:20px}
.cards.two{grid-template-columns:1fr}
.card{background:var(--bg);border:1px solid var(--line);padding:16px;text-decoration:none;color:inherit;display:block}
.card strong{
  font-family:var(--sans);display:block;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:6px
}
.card span{font-size:0.9rem;color:var(--muted)}
.note{
  margin-top:24px;padding:12px 14px;background:#e8f5e9;border:1px solid var(--accent2);
  font-size:0.9rem;color:var(--muted);line-height:1.55
}
.ridge-foot{padding:24px 0 calc(32px + env(safe-area-inset-bottom));font-size:0.88rem;color:var(--muted)}
.ridge-foot a{color:var(--accent)}
@media(min-width:520px){
  .cards.two{grid-template-columns:1fr 1fr}
}
@media(min-width:760px){
  .ridge-mobile-menu{display:none}
  .ridge-links-desktop{display:flex}
  .shell{padding-inline:0}
  .split{display:grid;grid-template-columns:260px 1fr;gap:0}
  .ridge-side{
    display:block;background:#1f3d2f;color:#e8f5e9;padding:28px 20px;min-height:100%
  }
  .ridge-side h2{
    font-family:var(--sans);font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;
    margin:18px 0 8px;color:var(--accent2)
  }
  .ridge-side h2:first-child{margin-top:0}
  .ridge-side a{display:block;color:#fff;text-decoration:none;padding:6px 0;font-size:0.95rem}
  .ridge-side a[aria-current="page"]{font-weight:700;color:var(--accent2)}
  .ridge-main{padding:36px 40px 48px}
}
