/* Atelance | Rights and permissions. Logical layout supports every site language. */
:root {
  color-scheme: dark;
  --ink: #0b0a0c;
  --paper: #ede6da;
  --body: #c8bfb0;
  --muted: #a79c8b;
  --gold: #d4bc8c;
  --line: rgb(214 193 153 / .20);
  --sans: 'Jost', system-ui, sans-serif;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --logo: 'Italiana', Georgia, serif;
  --gutter: clamp(22px, 6.2vw, 104px);
}
:root[lang='ar'] { --sans:'Vazirmatn',Tahoma,sans-serif; --serif:'Amiri',Georgia,serif; }
:root[lang='fa'] { --sans:'Vazirmatn',Tahoma,sans-serif; --serif:'Vazirmatn',Tahoma,sans-serif; }
:root[lang='el'] { --sans:system-ui,sans-serif; --serif:Georgia,serif; }
*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-block-start:36px; -webkit-text-size-adjust:100%; background:var(--ink); }
body { margin:0; color:var(--paper); background:radial-gradient(ellipse at 95% 1%,rgb(175 137 71 / .065),transparent 34%),var(--ink); font:400 17px/1.8 var(--sans); -webkit-font-smoothing:antialiased; overflow-wrap:break-word; }
::selection { color:var(--ink); background:var(--gold); }
a { color:inherit; text-decoration:none; text-underline-offset:5px; -webkit-tap-highlight-color:transparent; }
a:focus-visible, summary:focus-visible { outline:1px solid var(--gold); outline-offset:5px; border-radius:1px; }
bdi { unicode-bidi:isolate; }
.shell { inline-size:min(100%,1540px); margin-inline:auto; padding-inline:var(--gutter); }
.skip { position:fixed; z-index:100; inset-block-start:10px; inset-inline-start:16px; padding:10px 18px; max-inline-size:calc(100vw - 32px); background:var(--paper); color:var(--ink); transform:translateY(-200%); }
.skip:focus { transform:none; }
.topbar { position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:24px; min-block-size:104px; border-block-end:1px solid var(--line); }
.brand { flex:0 0 auto; display:inline-flex; align-items:center; min-block-size:44px; font:400 25px/1.2 var(--logo); letter-spacing:.28em; white-space:nowrap; }
.header-actions { display:flex; align-items:center; gap:clamp(20px,3vw,42px); min-inline-size:0; }
.return { display:inline-flex; align-items:center; gap:10px; min-block-size:44px; color:var(--body); font-size:12px; line-height:1.5; }
.return svg, .contact-link svg { inline-size:18px; block-size:18px; flex:0 0 auto; transition:transform .3s; }
.return:hover { color:var(--gold); }
.return:hover svg { transform:translateX(-4px); }
[dir='rtl'] .return svg { transform:scaleX(-1); }
[dir='rtl'] .return:hover svg { transform:translateX(4px) scaleX(-1); }
.language { position:relative; flex:0 0 auto; }
.language summary { display:flex; align-items:center; justify-content:center; gap:10px; min-block-size:44px; padding:7px 12px; border:1px solid var(--line); color:var(--body); font-size:12px; line-height:1.5; list-style:none; cursor:pointer; transition:border-color .25s,color .25s; }
.language summary::-webkit-details-marker { display:none; }
.language summary::marker { content:''; }
.language summary:hover, .language[open] summary { border-color:var(--gold); color:var(--paper); }
.language-code { color:var(--gold); font:400 11px/1.5 'Jost',sans-serif; letter-spacing:.06em; }
.language summary svg { inline-size:12px; block-size:12px; flex:0 0 auto; transition:transform .25s; }
.language[open] summary svg { transform:rotate(180deg); }
.language-menu { position:absolute; z-index:20; inset-inline-end:0; inset-block-start:calc(100% + 10px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 8px; inline-size:min(310px,calc(100vw - 44px)); max-block-size:calc(100svh - 130px); overflow-y:auto; padding:12px; border:1px solid var(--line); background:#151216; box-shadow:0 16px 48px rgb(0 0 0 / .35); }
.language-menu a { display:flex; align-items:center; justify-content:space-between; gap:8px; min-block-size:44px; min-inline-size:0; padding:9px 7px; font:400 13px/1.5 'Jost','Vazirmatn',system-ui,sans-serif; color:var(--body); }
.language-menu a bdi { color:var(--muted); font:400 9px/1 'Jost',sans-serif; }
.language-menu a:hover, .language-menu a[aria-current='page'] { background:rgb(214 193 153 / .07); color:var(--gold); }
.language-menu a[lang='ar'],.language-menu a[lang='fa'] { font-family:'Vazirmatn',Tahoma,sans-serif; }
.hero { padding-block:clamp(60px,7.5vw,112px) clamp(37px,4.5vw,64px); }
.kicker { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 27px; color:var(--gold); font-size:10px; letter-spacing:.23em; text-transform:uppercase; line-height:1.8; }
.kicker::before { content:''; inline-size:26px; block-size:1px; background:currentColor; }
h1 { max-inline-size:1100px; margin:0; font:400 clamp(42px,7.1vw,102px)/1.04 var(--serif); letter-spacing:-.025em; overflow-wrap:break-word; hyphens:auto; }
h1 em { display:block; font-weight:400; color:var(--gold); }
:root[lang='ru'] h1 { font-size:clamp(32px,5.8vw,85px); }
:root[lang='sv'] h1 { font-size:clamp(38px,6.3vw,94px); }
:root[lang='el'] h1 { font-size:clamp(32px,5.8vw,85px); line-height:1.15; }
:root[lang='ar'] h1 { font-size:clamp(43px,7vw,99px); line-height:1.25; }
:root[lang='fa'] h1 { font-size:clamp(34px,5.8vw,82px); line-height:1.5; }
[dir='rtl'] h1, [dir='rtl'] h2 { letter-spacing:0; }
[dir='rtl'] h1 em { font-style:normal; }
.hero-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; margin-block-start:32px; }
.intro { max-inline-size:570px; margin:0; color:var(--body); font-size:clamp(15px,1.2vw,18px); line-height:1.8; }
.edition { flex:0 0 auto; margin:0; color:var(--muted); text-align:end; font-size:10px; line-height:2; letter-spacing:.12em; text-transform:uppercase; }
.edition time { display:block; color:var(--paper); font-size:12px; letter-spacing:.025em; }
.summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--line); }
.summary-item { min-inline-size:0; padding:26px clamp(16px,2.4vw,36px); }
.summary-item:first-child { padding-inline-start:0; }
.summary-item:last-child { padding-inline-end:0; }
.summary-item + .summary-item { border-inline-start:1px solid var(--line); }
.summary h2 { margin:0 0 10px; color:var(--gold); font:400 22px/1.25 var(--serif); }
.summary p { margin:0; color:var(--body); font-size:13px; line-height:1.8; }
.body-grid { display:grid; grid-template-columns:minmax(0,230px) minmax(0,760px); justify-content:space-between; gap:clamp(42px,6.5vw,100px); padding-block-start:54px; }
.contents { position:sticky; inset-block-start:32px; align-self:start; max-block-size:calc(100svh - 64px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--line) transparent; padding:3px 6px 6px; margin-inline-start:-6px; }
.contents-label { margin:0 0 16px; color:var(--muted); font-size:10px; letter-spacing:.17em; text-transform:uppercase; }
.contents ol { list-style:none; padding:0; margin:0; }
.contents a { display:flex; align-items:baseline; gap:12px; min-block-size:44px; padding-block:10px; color:var(--body); font-size:12px; line-height:1.65; transition:color .25s; }
.contents a:hover { color:var(--gold); }
.contents a span { flex:0 0 18px; color:var(--gold); font-size:10px; font-variant-numeric:tabular-nums; }
.contents-note { margin:24px 0 0; padding-block-start:18px; border-block-start:1px solid var(--line); color:var(--muted); font-size:11px; }
.article { min-inline-size:0; }
.article:focus { outline:none; }
.article section { padding-block-end:35px; margin-block-end:35px; border-block-end:1px solid var(--line); scroll-margin-block-start:36px; }
.article section:last-child { border:0; margin-block-end:0; padding-block-end:0; }
.section-heading { display:flex; align-items:baseline; gap:17px; margin-block-end:18px; }
.section-number { flex:0 0 24px; color:var(--gold); font:italic 19px/1.5 var(--serif); }
h2 { margin:0; color:var(--paper); font:400 clamp(26px,2.25vw,34px)/1.24 var(--serif); letter-spacing:-.01em; }
.article p { margin:0 0 17px; color:var(--body); font-size:16px; line-height:1.9; }
.article p:last-child { margin:0; }
.article p a { color:var(--gold); text-decoration:underline; }
.rights-list { margin:18px 0 22px; padding:0; list-style:none; }
.rights-list li { position:relative; padding-inline-start:22px; margin-block:9px; color:var(--body); font-size:16px; line-height:1.85; }
.rights-list li::before { content:''; position:absolute; inset-inline-start:2px; inset-block-start:.81em; inline-size:4px; block-size:4px; background:var(--gold); transform:rotate(45deg); }
.request-mail a { display:inline-flex; align-items:center; min-block-size:44px; }
.contact { display:flex; align-items:center; justify-content:space-between; gap:44px; padding-block:40px; margin-block-start:64px; border-block:1px solid var(--line); }
.contact>div { max-inline-size:740px; min-inline-size:0; }
.contact .kicker { margin-block-end:12px; }
.contact h2 { font-size:clamp(29px,3vw,43px); line-height:1.25; }
.contact-link { direction:ltr; display:inline-flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:24px; min-block-size:48px; max-inline-size:100%; padding-block:12px; border-block-end:1px solid var(--gold); color:var(--gold); font:400 16px/1.5 'Jost',sans-serif; }
.contact-link:hover svg { transform:translate(3px,-3px); }
.foot { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:14px 24px; padding-block:27px 38px; color:var(--muted); font-size:12px; }
.foot p { margin:0; }
.foot a { min-block-size:44px; display:inline-flex; align-items:center; gap:9px; }
.foot a:hover { color:var(--gold); }
[dir='rtl'] :is(.kicker,.contents-label,.edition,.edition time) { letter-spacing:0; text-transform:none; }
[dir='rtl'] :is(.article p,.rights-list li,.intro,.summary p) { line-height:2; }
[dir='rtl'] .section-number { font-style:normal; }
:root[lang='ar'] h2 { line-height:1.55; }
:root[lang='fa'] h2 { font-size:clamp(21px,1.85vw,28px); line-height:1.65; }
:root[lang='fa'] .summary h2 { font-size:17px; line-height:1.8; }
:root[lang='fa'] .contact h2 { font-size:clamp(24px,2.5vw,36px); }
@media (min-width:1400px) { .body-grid { grid-template-columns:minmax(0,270px) minmax(0,830px); } }
@media (max-width:950px) {
  .body-grid { grid-template-columns:minmax(0,1fr); gap:37px; padding-block-start:34px; }
  .contents { position:static; max-block-size:none; overflow:visible; padding-block-end:27px; border-block-end:1px solid var(--line); }
  .contents ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 27px; }
  .contents-note { border:0; padding:0; margin-block-start:17px; }
  .contact { align-items:flex-start; flex-direction:column; gap:24px; }
}
@media (max-width:700px) {
  .topbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 20px; padding-block:18px 10px; }
  .brand { grid-column:1; grid-row:1; font-size:22px; letter-spacing:.23em; }
  .header-actions { display:contents; }
  .language { grid-column:2; grid-row:1; }
  .return { grid-column:1/-1; grid-row:2; justify-self:start; }
  .language-label { display:none; }
  .hero-bottom { flex-direction:column; align-items:flex-start; gap:22px; }
  .edition { text-align:start; }
  .edition time { display:inline; margin-inline-start:12px; }
  .summary { grid-template-columns:minmax(0,1fr); }
  .summary-item { padding:20px 0; }
  .summary-item + .summary-item { border-inline-start:0; border-block-start:1px solid var(--line); }
  .summary h2 { margin-block-end:7px; }
}
@media (max-width:540px) {
  .hero { padding-block:49px 32px; }
  .kicker { font-size:9px; letter-spacing:.16em; gap:10px; margin-block-end:23px; }
  .hero-bottom { margin-block-start:26px; }
  .contents ol { gap:0 18px; }
  .contents a { font-size:11.5px; gap:8px; }
  .contents a span { flex-basis:16px; }
  .section-heading { gap:10px; }
  .section-number { flex-basis:20px; }
  .article p,.rights-list li { font-size:15px; }
  .article section { margin-block-end:29px; padding-block-end:29px; }
  .contact { margin-block-start:40px; padding-block:30px; }
  .foot { align-items:flex-start; flex-direction:column; gap:8px; }
}
@media (max-width:350px) { .contents ol { grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }
@media print {
  :root { color-scheme:light; --ink:#fff; --paper:#171717; --body:#303030; --muted:#555; --gold:#5c482a; --line:#ccc; }
  body { background:#fff; font-size:12pt; }
  .shell { padding:0; }
  .topbar { min-block-size:50px; }
  .header-actions,.return,.language,.skip,.contents,.contact,.foot a { display:none; }
  .hero { padding-block:26px; }
  h1 { font-size:42pt!important; }
  .hero-bottom { display:block; }
  .edition { margin-block-start:18px; text-align:start; }
  .body-grid { display:block; padding-block-start:25px; }
  .summary { display:block; }
  .summary-item { padding:12px 0; border-inline-start:0!important; }
  .article section { break-inside:avoid; padding-block-end:18px; margin-block-end:18px; }
  .article p,.rights-list li { font-size:11pt; line-height:1.65; }
}
