
  :root{
    --hall:#f4f2ee;
    --paper:#fbfaf6;
    --ink:#1c1c1a;
    --muted:#6e6a63;
    --faint:#6e6a63;
    --hair:#e2ded4;
    --hair-strong:#d5d0c4;
    --grotesk:'Archivo',system-ui,-apple-system,sans-serif;
    --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
    --maxw:1220px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:auto;}
  body{
    margin:0;
    background:var(--hall);
    color:var(--ink);
    font-family:var(--serif);
    font-size:17px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  img{display:block;max-width:100%;height:auto;}
  a{color:inherit;}

  /* ---------- Masthead ---------- */
  .masthead{
    position:sticky;top:0;z-index:50;
    background:rgba(244,242,238,0.92);
    backdrop-filter:saturate(120%) blur(6px);
    border-bottom:1px solid var(--hair);
  }
  .masthead-inner{
    max-width:var(--maxw);margin:0 auto;
    padding:14px clamp(20px,4vw,48px);
    display:flex;align-items:center;justify-content:space-between;gap:24px;
  }
  .wordmark{display:flex;flex-direction:column;line-height:1.05;text-decoration:none;color:var(--ink);}
  .wordmark b{font-family:var(--grotesk);font-weight:800;font-size:1.18rem;letter-spacing:0.01em;}
  .wordmark span{
    font-family:var(--grotesk);font-weight:600;font-size:0.62rem;
    letter-spacing:0.32em;text-transform:uppercase;color:var(--muted);margin-top:4px;
  }
  .mast-nav{display:flex;gap:6px;flex-wrap:wrap;}
  .mast-nav a{
    font-family:var(--grotesk);font-weight:600;font-size:0.66rem;
    letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);
    text-decoration:none;padding:10px 12px;border-radius:2px;
  }
  .mast-nav a:hover{color:var(--ink);}

  /* ---------- Hall intro ---------- */
  .hall-intro{
    max-width:var(--maxw);margin:0 auto;
    padding:clamp(46px,7vw,88px) clamp(20px,4vw,48px) clamp(20px,3vw,34px);
  }
  .hall-eyebrow{
    font-family:var(--grotesk);font-weight:700;font-size:0.7rem;
    letter-spacing:0.36em;text-transform:uppercase;color:var(--muted);margin:0 0 22px;
  }
  .hall-title{
    font-family:var(--grotesk);font-weight:800;
    font-size:clamp(2.6rem,7vw,5.4rem);line-height:0.96;
    letter-spacing:-0.02em;margin:0 0 24px;max-width:16ch;
  }
  .hall-lede{
    font-family:var(--serif);font-size:clamp(1.05rem,1.7vw,1.28rem);
    line-height:1.65;color:#38352f;max-width:56ch;margin:0;
  }
  .hall-rule{
    max-width:var(--maxw);margin:clamp(26px,4vw,44px) auto 0;
    padding:0 clamp(20px,4vw,48px);
  }
  .hall-rule hr{border:0;border-top:1px solid var(--hair-strong);margin:0;}

  /* ---------- Poster wall ---------- */
  .wall{
    max-width:var(--maxw);margin:0 auto;
    padding:clamp(34px,5vw,60px) clamp(20px,4vw,48px) clamp(60px,8vw,110px);
    display:grid;grid-template-columns:repeat(2,1fr);
    gap:clamp(40px,5vw,76px);
    align-items:start;
  }
  .poster{
    --accent:var(--ink);
    display:block;text-decoration:none;color:var(--ink);
    background:var(--paper);
    border:1px solid var(--hair);
    padding:clamp(20px,2.4vw,30px);
    box-shadow:0 1px 0 rgba(0,0,0,0.02),0 14px 30px -22px rgba(28,28,26,0.4);
    transition:transform .28s ease,box-shadow .28s ease;
    scroll-margin-top:96px;
  }
  /* staggered gallery rhythm: right column drops half a step (desktop only) */
  .poster:nth-child(even){margin-top:52px;}
  .poster:hover{
    transform:translateY(-3px);
    box-shadow:0 1px 0 rgba(0,0,0,0.02),0 26px 46px -24px rgba(28,28,26,0.5);
  }
  .poster:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}
  .poster-kicker{
    display:flex;justify-content:space-between;align-items:baseline;gap:12px;
    font-family:var(--grotesk);font-weight:700;font-size:0.62rem;
    letter-spacing:0.26em;text-transform:uppercase;
    padding-bottom:16px;
  }
  .poster-kicker .l{color:var(--accent);}
  .poster-kicker .r{color:var(--faint);}
  .poster-figure{
    position:relative;margin:0;overflow:hidden;background:#e9e6df;
    aspect-ratio:4/5;
  }
  .poster-figure img{
    width:100%;height:100%;object-fit:cover;display:block;
    filter:saturate(1.02);
  }
  .poster-body{
    display:flex;gap:clamp(14px,2vw,22px);padding-top:22px;align-items:flex-start;
  }
  .poster-num{
    font-family:var(--grotesk);font-weight:800;
    font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:0.82;
    color:color-mix(in srgb,var(--accent) 55%,transparent);
    flex:0 0 auto;letter-spacing:-0.02em;
    padding-top:2px;
  }
  .poster-textcol{min-width:0;}
  .poster-title{
    font-family:var(--grotesk);font-weight:800;
    font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.0;
    letter-spacing:-0.015em;color:var(--accent);
    margin:0 0 12px;
    display:inline;
    background-image:linear-gradient(var(--accent),var(--accent));
    background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;
    transition:background-size .35s ease;
    padding-bottom:3px;
  }
  .poster:hover .poster-title{background-size:100% 2px;}
  .poster-years{
    font-family:var(--grotesk);font-weight:600;font-size:0.86rem;
    letter-spacing:0.14em;color:#514d46;margin:14px 0 12px;
  }
  .poster-sub{
    font-family:var(--grotesk);font-weight:600;font-size:0.66rem;
    letter-spacing:0.2em;text-transform:uppercase;line-height:1.6;
    color:var(--muted);margin:0 0 16px;
  }
  .poster-foot{
    display:flex;align-items:center;gap:10px;
    border-top:1px solid var(--hair-strong);padding-top:12px;
    font-family:var(--grotesk);font-weight:600;font-size:0.6rem;
    letter-spacing:0.2em;text-transform:uppercase;color:var(--faint);
  }
  .poster-foot .go{margin-left:auto;color:var(--accent);}

  /* ---------- Exhibition (built-out) ---------- */
  .exhibit{
    scroll-margin-top:84px;
    background:var(--hall);
    border-top:1px solid var(--hair-strong);
    padding:clamp(40px,6vw,80px) 0 clamp(50px,7vw,90px);
  }
  .exhibit-inner{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,48px);}
  .exhibit-back{
    display:inline-flex;align-items:center;min-height:44px;
    font-family:var(--grotesk);font-weight:700;
    font-size:0.9rem;letter-spacing:0.16em;text-transform:uppercase;
    color:var(--ink);text-decoration:none;margin-bottom:clamp(24px,4vw,44px);
    padding:8px 2px;
  }
  .exhibit-back:hover{color:var(--accent);}
  .exhibit-head{
    display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);
    gap:clamp(28px,4vw,60px);align-items:center;
    margin-bottom:clamp(44px,6vw,84px);
  }
  .exhibit-head-media{margin:0;background:#e9e6df;border:1px solid var(--hair);}
  .exhibit-head-media img{width:100%;height:auto;display:block;}
  .exhibit-kicker{
    font-family:var(--grotesk);font-weight:700;font-size:0.68rem;
    letter-spacing:0.3em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;
  }
  .exhibit-title{
    font-family:var(--grotesk);font-weight:800;
    font-size:clamp(2.6rem,6vw,4.6rem);line-height:0.94;letter-spacing:-0.02em;
    margin:0 0 18px;
  }
  .exhibit-years{
    font-family:var(--grotesk);font-weight:600;font-size:1rem;
    letter-spacing:0.14em;color:#514d46;margin:0 0 8px;
  }
  .exhibit-sub{
    font-family:var(--grotesk);font-weight:600;font-size:0.72rem;
    letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);
    margin:0 0 26px;
  }
  .exhibit-lede{
    font-family:var(--serif);font-size:clamp(1.06rem,1.5vw,1.24rem);
    line-height:1.72;color:#33302b;margin:0 0 24px;max-width:52ch;
  }
  .exhibit-meta{
    font-family:var(--grotesk);font-weight:600;font-size:0.7rem;
    letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);
    border-top:1px solid color-mix(in srgb,var(--accent) 40%,var(--hair-strong));
    padding-top:16px;
  }

  /* ---------- Hanging ---------- */
  .hanging{max-width:1040px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
  .plate{margin:0 0 clamp(48px,7vw,96px);}
  .plate:last-child{margin-bottom:0;}
  .plate img{
    width:100%;height:auto;
    background:#e9e6df;
    box-shadow:0 20px 46px -30px rgba(28,28,26,0.55);
  }
  .plate figcaption{
    font-family:var(--grotesk);font-weight:600;font-size:0.8rem;
    letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);
    margin-top:16px;display:flex;gap:10px;align-items:baseline;
  }
  .plate figcaption .n{color:var(--accent);font-weight:700;}
  .plate figcaption .of{color:var(--faint);font-weight:600;}
  .hanging-portrait{max-width:760px;margin-left:auto;margin-right:auto;}

  /* ---------- Salsutgång (exit nav) ---------- */
  .exhibit-exit{
    display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;
    margin-top:clamp(44px,6vw,80px);padding-top:clamp(22px,3vw,30px);
    border-top:1px solid color-mix(in srgb,var(--accent) 40%,var(--hair-strong));
  }
  .exit-link{
    display:inline-flex;align-items:center;min-height:44px;
    font-family:var(--grotesk);font-weight:700;font-size:0.86rem;
    letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;
    color:var(--ink);padding:6px 2px;
  }
  .exit-link:hover{color:var(--accent);}
  .exit-next{color:var(--accent);margin-left:auto;text-align:right;}

  /* ---------- About ---------- */
  .about{
    scroll-margin-top:84px;
    background:#efece6;border-top:1px solid var(--hair-strong);
    padding:clamp(54px,8vw,110px) 0;
  }
  .about-inner{
    max-width:900px;margin:0 auto;padding:0 clamp(20px,4vw,48px);
  }
  .about-eyebrow{
    font-family:var(--grotesk);font-weight:700;font-size:0.68rem;
    letter-spacing:0.32em;text-transform:uppercase;color:var(--muted);margin:0 0 22px;
  }
  .about-name{
    font-family:var(--grotesk);font-weight:800;
    font-size:clamp(2.2rem,5vw,3.4rem);line-height:1;letter-spacing:-0.02em;margin:0 0 32px;
  }
  .about-body{columns:2;column-gap:clamp(30px,4vw,56px);}
  .about-body p{
    margin:0 0 1.15em;font-size:1.04rem;line-height:1.74;color:#332f2a;
    break-inside:avoid;
  }
  .about-sign{
    margin-top:clamp(28px,4vw,44px);padding-top:24px;border-top:1px solid var(--hair-strong);
    font-family:var(--grotesk);
  }
  .about-sign b{font-weight:800;font-size:1.05rem;}
  .about-sign span{display:block;font-weight:600;font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-top:8px;}

  /* ---------- Footer / kontakt ---------- */
  .foot{
    background:var(--ink);color:#e9e6df;
    padding:clamp(52px,7vw,96px) 0 clamp(36px,4vw,56px);
    scroll-margin-top:84px;
  }
  .foot-inner{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,48px);}
  .foot-grid{
    display:grid;grid-template-columns:1.35fr 1fr 1.55fr;gap:clamp(28px,4vw,56px);
    padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid rgba(255,255,255,0.14);
  }
  .foot-col h3{
    font-family:var(--grotesk);font-weight:700;font-size:0.66rem;
    letter-spacing:0.26em;text-transform:uppercase;color:#a8a298;margin:0 0 18px;
  }
  .foot-lead{
    font-family:var(--grotesk);font-weight:800;
    font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.02;letter-spacing:-0.02em;
    margin:0 0 8px;color:#f6f4ef;
  }
  .foot-col p{font-size:0.98rem;line-height:1.6;color:#c7c2b8;margin:0 0 10px;}
  .foot-col a{
    color:#f6f4ef;text-decoration:none;
    border-bottom:1px solid rgba(246,244,239,0.4);padding-bottom:2px;
    font-family:var(--grotesk);font-weight:600;
  }
  .foot-col a:hover{border-bottom-color:#f6f4ef;}
  .foot-mail{font-size:1.05rem;letter-spacing:0.01em;}
  .foot-index-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px;}
  .foot-index-grid a{
    display:flex;align-items:center;min-height:34px;
    border-bottom:0;padding:2px 0;font-size:0.92rem;line-height:1.3;color:#d7d2c8;
  }
  .foot-index-grid a:hover{color:#f6f4ef;}
  .foot-index-about{margin-top:16px;}
  .foot-index-about a{font-size:0.98rem;}
  .foot-base{
    display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
    padding-top:26px;
    font-family:var(--grotesk);font-weight:600;font-size:0.6rem;
    letter-spacing:0.2em;text-transform:uppercase;color:#8f897f;
  }

  /* ---------- Responsive ---------- */
  @media(max-width:820px){
    .exhibit-head{grid-template-columns:1fr;}
    .about-body{columns:1;}
    .foot-grid{grid-template-columns:1fr;}
  }
  @media(max-width:680px){
    body{font-size:16px;}
    .wall{grid-template-columns:1fr;gap:clamp(34px,8vw,52px);}
    .poster:nth-child(even){margin-top:0;}
    .mast-nav a{padding:10px 10px;font-size:0.78rem;letter-spacing:0.12em;min-height:44px;display:inline-flex;align-items:center;}
    .wordmark b{font-size:1.05rem;}
    .hanging-portrait{max-width:100%;}
    .exhibit-exit{gap:12px;}
    .exit-next{margin-left:0;text-align:left;}
  }

  /* ---------- Motion (progressive enhancement) ---------- */
  @media(prefers-reduced-motion:no-preference){
    /* OBS: ingen scroll-behavior:smooth - sidan är ~160 000px hög med 14 fullt
       hängda salar; ankarhopp ska vara omedelbara, inte sekundlånga scrollresor. */
    .plate{opacity:0;transform:translateY(14px);animation:rise .9s ease forwards;}
    @keyframes rise{to{opacity:1;transform:none;}}
    .plate:nth-child(1){animation-delay:.02s;}
    .plate:nth-child(2){animation-delay:.06s;}
    .plate:nth-child(3){animation-delay:.10s;}
  }

  /* ---------- Om-sektionerna v2 (pappas onskan: battre innehall + layout) ---------- */
  .about-lede{
    font-family:var(--serif);font-style:italic;
    font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.45;
    color:#1c1a17;margin:0 0 clamp(28px,4vw,42px);max-width:27em;
  }
  .about.teknik{background:#e9e6df;}
  .teknik-spec{
    margin:clamp(30px,4vw,46px) 0 0;padding-top:26px;border-top:1px solid var(--hair-strong);
    display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px 32px;
  }
  .teknik-spec>div{margin:0;}
  .teknik-spec dt{
    font-family:var(--grotesk);font-weight:700;font-size:0.66rem;
    letter-spacing:0.26em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;
  }
  .teknik-spec dd{margin:0;font-size:0.98rem;line-height:1.55;color:#332f2a;}
