/* Freegaze Freeski Club — interaction + layout helpers (static build) */
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#F4F1EA}
img{max-width:100%}
a{color:inherit}
.fg-skip{position:absolute;left:-9999px;top:0;background:#0E0E0E;color:#F4F1EA;padding:10px 16px;z-index:100;font-family:var(--font-mono);font-size:12px}
.fg-skip:focus{left:8px;top:8px}
:where(a,button):focus-visible{outline:3px solid #1B5DD6;outline-offset:3px}
header :where(a,button):focus-visible,footer a:focus-visible{outline-color:#F5C518}
.navlink{transition:color 120ms cubic-bezier(.2,.7,.3,1)}
.navlink:hover{color:#7AC6D6}
.navlink[aria-current=page]{border-bottom-color:var(--fga)!important}
.fg-nav-toggle{display:none;align-items:center;gap:8px;border:2px solid #F4F1EA;
  background:transparent;color:#F4F1EA;padding:7px 9px;font-family:var(--font-mono);
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
@media (max-width:840px){
  .fg-header-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto;
    align-items:center!important;gap:10px 14px!important}
  .fg-brand{grid-column:1}
  .fg-nav-toggle{display:inline-flex;grid-column:2;justify-self:end}
  #fg-primary-nav{display:none!important;grid-column:1/-1;margin-left:0!important;width:100%}
  .fg-header-inner.fg-nav-open #fg-primary-nav{display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px!important}
  #fg-primary-nav .navlink{font-size:13px!important;padding:11px 0 9px!important;
    border-bottom:1px solid #2A2A28!important}
  #fg-primary-nav .navlink[aria-current=page]{border-bottom-color:var(--fga)!important}
  .fg-lang-wrap,.fg-join{display:none!important}
  .fg-header-inner.fg-nav-open .fg-lang-wrap{display:block!important;grid-column:1;justify-self:start}
  .fg-header-inner.fg-nav-open .fg-join{display:inline-flex!important;grid-column:2;justify-self:end}
  .fg-header-inner.fg-nav-open #fg-lang-menu{left:0!important;right:auto!important;max-width:calc(100vw - 32px)}
}
#fg-lang-menu{display:flex;flex-direction:column}
#fg-lang-menu[hidden]{display:none}
.link-cyan{transition:color 120ms cubic-bezier(.2,.7,.3,1)}
.link-cyan:hover{color:#7AC6D6}
.lift{transition:transform 120ms cubic-bezier(.2,.7,.3,1),box-shadow 120ms cubic-bezier(.2,.7,.3,1)}
.lift:hover{transform:translateY(-4px);box-shadow:4px 4px 0 0 #0E0E0E}
.btn{transition:transform 120ms cubic-bezier(.2,.7,.3,1),background 120ms,color 120ms}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(1px)}
.btn-ghost:hover{background:#0E0E0E;color:#F4F1EA}
.row-hi{transition:background 120ms cubic-bezier(.2,.7,.3,1)}
.row-hi:hover{background:#F4F1EA}
.row-hi-dark{transition:background 120ms cubic-bezier(.2,.7,.3,1)}
.row-hi-dark:hover{background:#1A1A1A}
/* chronological activity archive */
.archive-year{display:grid;grid-template-columns:140px minmax(0,1fr);gap:32px;
  border-top:4px solid #0E0E0E;padding:28px 0 52px}
.archive-year>h2{font-family:var(--font-display);font-size:clamp(36px,5vw,54px);
  line-height:.9;margin:0;color:#0E0E0E}
.archive-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;
  border-bottom:1px solid #B8B2A5;padding:0 0 28px;margin:0 0 28px}
.archive-row:last-child{margin-bottom:0}
.archive-row time{font-family:var(--font-mono);font-size:13px;letter-spacing:.14em;
  color:#6B6864;padding-top:4px}
.archive-entry h3{font-family:var(--font-condensed);font-weight:800;font-size:clamp(23px,3vw,30px);
  line-height:1.05;text-transform:uppercase;margin:7px 0 5px}
.archive-type{font-family:var(--font-mono);font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:#C44500}
.archive-country{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;color:#6B6864;margin:0}
.archive-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;margin-top:20px}
.archive-photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
  border:2px solid #0E0E0E;background:#D8D3C4}
@media (max-width:680px){
  .archive-year{display:block;padding-top:22px}
  .archive-year>h2{margin:0 0 28px}
  .archive-row{grid-template-columns:44px minmax(0,1fr);gap:12px}
  .archive-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* legal pages (Impressum / Datenschutz) — readable prose column */
.legal{max-width:820px;margin:0 auto;padding:64px 24px 88px}
.legal h1{font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:clamp(32px,7vw,60px);line-height:.95;margin:0 0 10px;
  overflow-wrap:anywhere;hyphens:auto}
.legal .lead{font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;
  color:#6B6864;margin:0 0 32px}
.legal h2{font-family:var(--font-condensed);font-weight:800;font-size:19px;
  text-transform:uppercase;letter-spacing:.04em;margin:36px 0 10px;
  padding-top:14px;border-top:2px solid #0E0E0E;overflow-wrap:anywhere;hyphens:auto}
.legal p,.legal li{font-size:15px;line-height:1.65;color:#2A2A28}
.legal p{margin:0 0 12px}
.legal ul{margin:0 0 12px;padding-left:20px}
.legal li{margin-bottom:5px}
.legal a{color:#1B5DD6}
.legal code{font-family:var(--font-mono);font-size:.9em;background:#EAE5D8;
  border:1px solid #DCD7CC;padding:.05em .35em;border-radius:2px}
.legal .legal-foot{margin-top:40px;padding-top:16px;border-top:2px solid #0E0E0E;
  font-family:var(--font-mono);font-size:13px}
.rights-callout{border:2px solid #0E0E0E;background:#FFF;padding:16px 18px;margin:24px 0;line-height:1.65}
