:root{
  --k20-ink:#2c190f;
  --k20-ink-2:#513326;
  --k20-paper:#fbf7f1;
  --k20-paper-2:#f3e7dc;
  --k20-copper:#b66c48;
  --k20-copper-deep:#7b432c;
  --k20-line:color-mix(in srgb,var(--k20-ink) 13%,transparent);
  --k20-muted:color-mix(in srgb,var(--k20-ink) 70%,transparent);
  --k20-card:color-mix(in srgb,#fff 74%,var(--k20-paper));
  --k20-shadow:0 26px 80px rgba(65,34,19,.09);
}

@view-transition{
  navigation:auto;
}

.k20-main{
  color:var(--k20-ink);
  background:
    radial-gradient(
      circle at 95% 4%,
      rgba(182,108,72,.14),
      transparent 30rem
    ),
    radial-gradient(
      circle at 3% 28%,
      rgba(151,94,60,.065),
      transparent 28rem
    ),
    var(--k20-paper);
}

.k20-shell{
  width:min(1180px,calc(100% - 36px));
  margin-inline:auto;
}

.k20-hero{
  padding:
    clamp(4.8rem,9vw,8.4rem)
    0
    clamp(3.6rem,7vw,6.4rem);
  border-bottom:1px solid var(--k20-line);
}

.k20-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:clamp(2rem,6vw,6rem);
  align-items:end;
}

.k20-kicker{
  margin:0 0 1.2rem;
  color:var(--k20-copper-deep);
  font-weight:900;
  font-size:.76rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.k20-title{
  max-width:16ch;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,7vw,6.6rem);
  font-weight:500;
  line-height:.97;
  letter-spacing:-.052em;
  text-wrap:balance;
}

.k20-summary{
  max-width:790px;
  margin:1.7rem 0 0;
  color:var(--k20-muted);
  font-size:clamp(1.02rem,1.5vw,1.2rem);
  line-height:1.8;
  text-wrap:pretty;
}

.k20-intel{
  padding:clamp(1.45rem,3.2vw,2.35rem);
  border-radius:32px;
  background:
    linear-gradient(
      145deg,
      #3b2116,
      #21110b
    );
  color:#fff9f4;
  box-shadow:var(--k20-shadow);
}

.k20-intel small{
  display:block;
  color:#e2a181;
  font-weight:900;
  font-size:.72rem;
  letter-spacing:.12em;
}

.k20-intel strong{
  display:block;
  margin-top:.9rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.55rem,2.7vw,2.45rem);
  font-weight:500;
  line-height:1.12;
}

.k20-lang{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:1.25rem;
}

.k20-lang a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:.56rem .8rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#fff9f4;
  text-decoration:none;
  font-size:.8rem;
  font-weight:850;
}

.k20-content{
  padding:clamp(4.5rem,8vw,8rem) 0;
}

.k20-article{
  width:min(940px,100%);
  margin-inline:auto;
  container-type:inline-size;
}

.k20-direct{
  margin-bottom:clamp(3rem,6vw,5rem);
  padding:clamp(1.6rem,4vw,2.7rem);
  border:1px solid var(--k20-line);
  border-radius:30px;
  background:
    linear-gradient(
      135deg,
      #f1e2d5,
      #fffaf6
    );
  box-shadow:var(--k20-shadow);
}

.k20-direct small{
  display:block;
  margin-bottom:.7rem;
  color:var(--k20-copper-deep);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.k20-direct p{
  margin:0;
  color:var(--k20-ink-2);
  line-height:1.85;
  font-size:clamp(1.03rem,1.4vw,1.19rem);
}

.k20-toc{
  margin:0 0 clamp(3rem,6vw,5rem);
  padding:1.35rem;
  border:1px solid var(--k20-line);
  border-radius:24px;
  background:rgba(255,255,255,.5);
}

.k20-toc strong{
  display:block;
  margin-bottom:.8rem;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.k20-toc ol{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem 1.5rem;
  margin:0;
  padding-inline-start:1.3rem;
}

.k20-toc a{
  color:var(--k20-ink);
  text-underline-offset:4px;
}

.k20-section{
  margin:0 0 clamp(3.3rem,6vw,5.7rem);
  scroll-margin-top:2rem;
  content-visibility:auto;
  contain-intrinsic-size:auto 880px;
}

.k20-section h2{
  max-width:20ch;
  margin:0 0 1.35rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,4.2vw,3.75rem);
  font-weight:500;
  line-height:1.07;
  letter-spacing:-.04em;
  text-wrap:balance;
}

.k20-section h3{
  margin:2rem 0 .85rem;
  color:var(--k20-copper-deep);
  font-size:1rem;
  line-height:1.45;
}

.k20-section p,
.k20-faq p,
.k20-shop p,
.k20-sources li{
  color:var(--k20-muted);
  font-size:clamp(1rem,1.28vw,1.075rem);
  line-height:1.88;
  text-wrap:pretty;
}

.k20-section p{
  margin:0 0 1.22rem;
}

.k20-decision{
  margin:1.5rem 0;
  padding:1.15rem 1.3rem;
  border-inline-start:4px solid var(--k20-copper);
  border-radius:0 18px 18px 0;
  background:var(--k20-paper-2);
  color:var(--k20-ink-2);
  line-height:1.75;
}

.k20-decision strong{
  color:var(--k20-ink);
}

.k20-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin:1.8rem 0 0;
}

.k20-card{
  padding:1.2rem;
  border:1px solid var(--k20-line);
  border-radius:22px;
  background:var(--k20-card);
}

.k20-card strong{
  display:block;
  margin-bottom:.45rem;
  color:var(--k20-ink);
}

.k20-card p{
  margin:0;
}

.k20-table-wrap{
  overflow-x:auto;
  border:1px solid var(--k20-line);
  border-radius:24px;
  background:#fffaf6;
}

.k20-table{
  width:100%;
  min-width:720px;
  border-collapse:collapse;
}

.k20-table th,
.k20-table td{
  padding:1rem 1.05rem;
  border-bottom:1px solid var(--k20-line);
  vertical-align:top;
  text-align:start;
  line-height:1.62;
}

.k20-table th{
  color:var(--k20-ink);
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.k20-table td{
  color:var(--k20-muted);
}

.k20-shop{
  margin:0 0 clamp(3.5rem,6vw,5rem);
  padding:clamp(1.4rem,3vw,2.2rem);
  border:1px solid var(--k20-line);
  border-radius:28px;
  background:#fffaf5;
}

.k20-shop h2,
.k20-faq h2,
.k20-sources h2{
  margin:0 0 1.25rem;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  font-size:clamp(1.8rem,3.7vw,3.1rem);
  line-height:1.08;
}

.k20-shop a,
.k20-faq a,
.k20-sources a{
  color:var(--k20-ink);
  font-weight:850;
  text-underline-offset:4px;
}

.k20-faq{
  margin:0 0 clamp(3.5rem,6vw,5rem);
}

.k20-faq details{
  margin:.72rem 0;
  padding:1rem 1.1rem;
  border:1px solid var(--k20-line);
  border-radius:18px;
  background:rgba(255,255,255,.54);
}

.k20-faq summary{
  cursor:pointer;
  color:var(--k20-ink);
  font-weight:850;
  line-height:1.55;
}

.k20-faq details p{
  margin:.8rem 0 0;
}

.k20-sources{
  margin-bottom:1rem;
  padding:clamp(1.5rem,3vw,2.4rem);
  border-radius:28px;
  background:#2c190f;
  color:#fff9f4;
}

.k20-sources h2{
  color:#fff9f4;
}

.k20-sources li{
  color:rgba(255,249,244,.76);
}

.k20-sources a{
  color:#fff9f4;
}

html[dir="rtl"] .k20-title,
html[dir="rtl"] .k20-section h2,
html[dir="rtl"] .k20-shop h2,
html[dir="rtl"] .k20-faq h2,
html[dir="rtl"] .k20-sources h2,
html[dir="rtl"] .k20-intel strong{
  font-family:
    "Noto Naskh Arabic",
    "Amiri",
    Tahoma,
    serif;
  letter-spacing:0;
}

html[dir="rtl"] .k20-decision{
  border-radius:18px 0 0 18px;
}

@container (max-width:720px){
  .k20-grid{
    grid-template-columns:1fr;
  }

  .k20-toc ol{
    grid-template-columns:1fr;
  }
}

@media(max-width:830px){
  .k20-hero-grid{
    grid-template-columns:1fr;
  }

  .k20-title{
    max-width:13ch;
    font-size:clamp(3rem,13vw,5.1rem);
  }

  .k20-intel{
    border-radius:25px;
  }
}

@media(max-width:430px){
  .k20-shell{
    width:min(100% - 28px,680px);
  }

  .k20-direct,
  .k20-shop,
  .k20-sources{
    border-radius:23px;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    transition-duration:.001ms!important;
  }
}
