/* Rimini Sans: the site's label/utility face (replaces the generic mono).
   Self-hosted; falls back to DM Mono until the file is in place. */
@font-face{
  font-family:'Rimini Sans';
  src:url('/assets/fonts/Riminisans-Regular.woff2') format('woff2'),
      url('/assets/fonts/Riminisans-Regular.otf') format('opentype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

/* Shared site side menu: one header + one drawer on every page.
   Replaces every page's old horizontal top nav. Uses brand tokens. */
.sm-header{position:fixed;inset:0 0 auto;z-index:120;height:60px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1rem,2.2vw,2rem);background:linear-gradient(180deg,var(--bg,#2c2f32) 45%,transparent)}
.sm-index{justify-self:start;display:flex;align-items:center;gap:.55rem;border:0;background:none;color:var(--text,#d7e8bc);font-family:'Rimini Sans','DM Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.sm-index i{width:15px;height:9px;display:inline-block;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.sm-wordmark{justify-self:center;font-family:var(--serif,'Instrument Serif',serif);font-size:1.35rem;color:var(--text,#d7e8bc);text-decoration:none;letter-spacing:.01em}
.sm-wordmark em{font-style:normal;color:var(--accent,#e9f056)}
.sm-actions{justify-self:end;display:flex;align-items:center;gap:1rem}
/* One menu trigger only: the left hamburger opens the drawer, the language
   circle stays on the right. The redundant right-side "Menu" text button is
   hidden so there aren't two menu affordances. */
.sm-menu-btn{display:none}

.sm-menu{position:fixed;inset:0;z-index:200;padding:4.5rem clamp(1.25rem,5vw,5rem) 3rem;background:var(--accent,#e9f056);color:#1a1c1e;transform:translateX(101%);transition:transform .6s cubic-bezier(.77,0,.18,1);display:flex;flex-direction:column}
.sm-menu.is-open{transform:none}
.sm-menu-top{display:flex;align-items:center;justify-content:space-between}
.sm-menu-close{border:0;background:none;color:#1a1c1e;font-family:'Rimini Sans','DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.sm-menu-top .lang-switch-btn{border-color:rgba(26,28,30,.35);color:#1a1c1e}
.sm-menu-top .lang-switch-btn.active{background:#1a1c1e;color:var(--accent,#e9f056);border-color:#1a1c1e}
.sm-menu-top .lang-switch-pop{background:#1a1c1e}

.sm-nav{margin-top:2rem;display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;overflow-y:auto;width:100%}
.sm-top,.sm-parent{text-decoration:none;color:#1a1c1e;font-family:var(--serif,'Instrument Serif',serif);font-weight:400;font-size:clamp(1.7rem,4.4vw,3.1rem);line-height:1.16;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.sm-top:hover,.sm-parent:hover{font-style:italic}
.sm-group{display:flex;flex-direction:column;align-items:flex-start}
.sm-parent{display:inline-flex;align-items:center;gap:.5rem}
.sm-parent::after{content:'+';font-family:'Rimini Sans','DM Mono',monospace;font-size:.42em;font-style:normal;opacity:.6}
.sm-group.open .sm-parent::after{content:'\2013'}
.sm-children{display:none;flex-direction:column;padding-left:1.4rem;margin:.15rem 0 .35rem}
.sm-group.open .sm-children{display:flex}
.sm-children a{text-decoration:none;color:#1a1c1e;font-family:var(--serif,'Instrument Serif',serif);font-size:clamp(1.45rem,3.3vw,2.15rem);line-height:1.36;opacity:.85}
.sm-children a:hover{opacity:1;font-style:italic}
.sm-convo{margin-top:.7rem;font-style:italic;display:inline-flex;align-items:center;gap:.45rem}
.sm-convo::after{content:'\2192';font-family:'Rimini Sans','DM Mono',monospace;font-size:.58em;font-style:normal;opacity:.75;transition:transform .25s ease}
.sm-convo:hover::after{transform:translateX(5px)}
body.menu-open{overflow:hidden}

/* Language switcher widget (used in the header + drawer) */
.lang-switch{position:relative}
.lang-switch-btn{width:32px;height:32px;border-radius:50%;background:none;border:1px solid rgba(215,232,188,.3);color:var(--muted,#9aa88c);font:700 .62rem/1 'Inter',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}
.lang-switch-btn:hover,.lang-switch-btn.open{border-color:rgba(233,240,86,.6);color:var(--text,#d7e8bc)}
.lang-switch-btn.active{background:var(--accent,#e9f056);color:#1a1c1e;border-color:var(--accent,#e9f056)}
.lang-switch-pop{position:absolute;top:calc(100% + 10px);right:0;min-width:200px;background:#1a1c1e;border:1px solid rgba(233,240,86,.18);border-radius:14px;padding:.4rem;box-shadow:0 18px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.97);transform-origin:top right;transition:opacity .18s,transform .18s,visibility .18s;z-index:250}
.lang-switch-pop.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.lang-switch-item{display:block;width:100%;text-align:left;background:none;border:0;color:#e7ecdd;font:400 .82rem 'Inter',sans-serif;padding:.55rem .75rem;border-radius:8px;cursor:pointer}
.lang-switch-item:hover{background:rgba(233,240,86,.08)}
.lang-switch-item.active{color:var(--accent,#e9f056);font-weight:600}

/* Shared site footer (injected on every page) */
.sm-foot{padding:4.2rem clamp(1.25rem,5vw,4rem) 3.4rem;background:var(--bg,#2c2f32);border-top:1px solid rgba(215,232,188,.12);display:grid;gap:1.5rem;justify-items:center;text-align:center}
.sm-foot-sign{font-family:'Pitaloka','Instrument Serif',Georgia,cursive;font-size:clamp(2.4rem,4.6vw,3.5rem);color:var(--accent,#e9f056);text-decoration:none;line-height:1.14;padding-bottom:.35rem;transition:opacity .2s}
.sm-foot-sign:hover{opacity:.75}
.sm-foot-convo{font:400 .82rem/1 'Rimini Sans','DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--text,#d7e8bc);text-decoration:none;border-bottom:1px solid var(--accent,#e9f056);padding-bottom:5px;transition:color .2s}
.sm-foot-convo:hover{color:var(--accent,#e9f056)}
.sm-foot-id{font:400 .95rem/1.6 'Inter',sans-serif;color:var(--muted,#9aa88c);margin-top:.4rem;max-width:none}
@media(min-width:720px){.sm-foot-id{white-space:nowrap}}
.sm-foot-links{display:flex;flex-wrap:wrap;gap:.6rem 2.2rem;justify-content:center;margin-top:.5rem}
.sm-foot-links a{color:var(--text,#d7e8bc);text-decoration:none;font:400 .82rem/1.5 'Rimini Sans','DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}
.sm-foot-links a:hover{color:var(--accent,#e9f056)}
.sm-foot-credit{font:400 .8rem/1.5 'Rimini Sans','DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#9aa88c);opacity:.85;margin-top:.5rem}
.sm-foot-credit a{color:var(--text,#d7e8bc);text-decoration:none;font-size:1.02rem;border-bottom:1px solid rgba(233,240,86,.4);padding-bottom:1px;transition:color .2s,border-color .2s}
.sm-foot-credit a:hover{color:var(--accent,#e9f056);border-color:var(--accent,#e9f056)}
