:root {
  color-scheme: light;
  --background: #c8c0ae;
  --surface: #f3efe6;
  --ink: #292824;
  --muted: #625f58;
  --accent: #a97c54;
  --blue: #6b7f80;
  --line: rgba(41, 40, 36, 0.16);
}

* {
  box-sizing: border-box;
}

html {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  line-height: 1.6;
  background: var(--background);
  color: var(--ink);
}

body {
  margin: 0;
}

a {
  color: #5b4431;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

a:hover,
a:focus-visible {
  color: #322519;
}

.shell {
  width: min(920px, calc(100% - 32px));
  margin: 0 auto;
  padding: 32px 0 64px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.brand-mark {
  width: 16px;
  height: 24px;
  border: 1.5px solid var(--accent);
  border-radius: 3px;
  transform: rotate(8deg);
}

main {
  margin-top: 24px;
  padding: clamp(28px, 6vw, 68px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 24px;
}

h1,
h2,
h3 {
  line-height: 1.2;
  margin-top: 0;
}

h1 {
  max-width: 760px;
  margin-bottom: 14px;
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 650;
  letter-spacing: -0.04em;
}

h2 {
  margin-top: 2.5rem;
  margin-bottom: 0.6rem;
  font-size: 1.35rem;
}

h3 {
  margin-top: 1.5rem;
  margin-bottom: 0.35rem;
  font-size: 1.05rem;
}

p,
li {
  max-width: 74ch;
}

.lede {
  max-width: 62ch;
  margin-top: 0;
  color: var(--muted);
  font-size: 1.08rem;
}

.meta {
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.notice {
  margin: 28px 0;
  padding: 18px 20px;
  border-left: 4px solid var(--blue);
  border-radius: 8px;
  background: rgba(107, 127, 128, 0.1);
}

.danger {
  border-left-color: var(--accent);
  background: rgba(169, 124, 84, 0.11);
}

.links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  margin-top: 32px;
}

.card {
  display: block;
  min-height: 155px;
  padding: 22px;
  color: var(--ink);
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.28);
}

.card:hover,
.card:focus-visible {
  border-color: var(--accent);
  background: rgba(255, 255, 255, 0.46);
}

.card strong {
  display: block;
  margin-bottom: 8px;
  font-size: 1.08rem;
}

.card span {
  color: var(--muted);
}

.button {
  display: inline-block;
  margin: 10px 0 4px;
  padding: 11px 17px;
  color: #fff;
  font-weight: 650;
  text-decoration: none;
  border-radius: 11px;
  background: #725134;
}

.button:hover,
.button:focus-visible {
  color: #fff;
  background: #8c6544;
}

ol,
ul {
  padding-left: 1.35rem;
}

footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 24px;
  padding: 24px 4px 0;
  color: var(--muted);
  font-size: 0.88rem;
}

footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}

@media (max-width: 520px) {
  .shell {
    width: min(100% - 20px, 920px);
    padding-top: 18px;
  }

  main {
    border-radius: 18px;
  }
}

/* Readable navigation and retention details; no external resources. */
.contents { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 28px 0; }
.retention dt { font-weight: 700; margin-top: 1.25rem; }
.retention dd { margin: 0.35rem 0 0; max-width: 74ch; }
.skip { position: absolute; left: 12px; top: -100px; background: #fff; padding: 8px 14px; z-index: 10; }
.skip:focus { top: 12px; }
a:focus-visible { outline: 2px solid #292824; outline-offset: 4px; }
p, li, dd { overflow-wrap: anywhere; }

/* Ten language editions; switching requires no JavaScript, cookies or external requests. */
.site-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.site-header-home { display:grid; grid-template-columns:1fr auto; row-gap:8px; }
.site-header-home .language-switch { grid-column:2; grid-row:1; }
.brand-home { grid-column:1 / -1; grid-row:2; justify-self:center; display:block; width:min(100%,360px); aspect-ratio:3.2 / 1; }
.brand-home img { display:block; width:100%; max-width:100%; height:100%; object-fit:cover; object-position:center; }
@media (max-width:520px) { .brand-home { width:min(82vw,300px); } }
.language-switch { position:relative; margin-inline-start:auto; z-index:5; }
.language-switch summary { display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; border:1px solid rgba(41,40,36,.4); border-radius:12px; padding:10px 13px; min-height:44px; background:var(--surface); color:var(--ink); font-size:.9rem; }
.language-switch summary::-webkit-details-marker { display:none; }
.language-current { font-size:.8rem; color:var(--muted); }
.language-switch[open] .chevron { transform:rotate(180deg); }
.language-menu { position:absolute; inset-block-start:calc(100% + 8px); inset-inline-end:0; width:min(330px, calc(100vw - 24px)); padding:8px; display:grid; grid-template-columns:1fr 1fr; gap:3px; background:var(--surface); border:1px solid var(--line); border-radius:14px; box-shadow:0 10px 32px rgba(41,40,36,.18); max-height:70vh; overflow:auto; }
.language-menu a { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:44px; padding:10px; text-decoration:none; border-radius:8px; font-size:.9rem; }
.language-menu a:hover, .language-menu a[aria-current="page"] { background:rgba(107,127,128,.15); color:var(--ink); }
summary:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
footer a[aria-current="page"] { font-weight:700; }
h1 { overflow-wrap:anywhere; }
.links { grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr)); }
ol, ul { padding-left:0; padding-inline-start:1.35rem; }
.notice { border-left:0; border-inline-start:4px solid var(--blue); }
.notice.danger { border-inline-start-color:var(--accent); }
html[lang="fa"] { font-family:Tahoma,"Segoe UI",Arial,sans-serif; line-height:1.95; }
html[lang="fa"] h1, html[lang="fa"] h2, html[lang="fa"] h3 { letter-spacing:normal; line-height:1.6; }
html[lang="fa"] .language-switch summary { line-height:1.5; }
html[lang="fa"] .contact-address { text-align:left; }
html[lang="ja"] { line-height:1.9; }
html[lang="ja"] h1 { letter-spacing:normal; line-height:1.35; }
@media (max-width:420px) { .language-current { display:none; } main { padding:24px 20px; } }
@media print { .language-switch, .skip { display:none; } .shell { width:100%; } main { border:0; } }
