/* DÖRRHUSET — roten och portfolion.

   Adressen som står i biot, och husets enda ansikte utåt om släppet en dag
   flyttar till egen domän. Den öppnas nästan uteslutande på en telefon, i en
   app-webbläsare, av någon som just sett en pjäs och undrar vem som gjorde
   den. Den ska svara på det på en halv sekund.

   TRE BESLUT BÄR SIDAN.

   1. EN VÄNSTERKANT. Plåtens kant, märkets vänstra bokstav, meningen,
      dörrarna och sigillraden ligger på samma x. En centrerad knapplista är
      formen varje profil på jorden har; en satsyta med en hård vänsterkant är
      formen en trycksak har. Det är den tyngsta ändringen på sidan.

   2. MÄRKET SÄTTER MÅTTET. Ordbilden ligger kant till kant i satsytan med ett
      hårstreck omedelbart under, i exakt samma bredd som dörrarna. Sidans
      modul är alltså märkets bredd, inte en godtycklig spaltbredd.

   3. HIERARKIN ÄR BRUTAL. Kvällens dörr är sidans enda ljusa yta och den enda
      fyllda formen. De två andra dörrarna är rader på hårstreck. Tre likadana
      knappar säger inte vad man kom hit för.

   Sidan bär sina egna tokens och lånar ingenting ur stil.css: dörrhuset
   byggs utan huset omkring sig, och då ska det inte gå sönder av att någon
   ändrar en variabel i ett rum det aldrig visar.

   SKALKONTRASTEN är två register och inget mellanregister: märket i
   satsytans fulla bredd, kvällens dörr på 17 px och allt annat på 13.
   Fyra textstorlekar nära varandra är en broschyr. */

:root {
  /* Husets natt, en aning djupare än plåtens svartaste (17/255): en bild som
     är mörkare än sidan läser som ett hål i stället för som ett föremål. */
  --n: #080706;
  --n-2: #0E0C0B;
  --papper: #EEF0F1;
  --papper-hi: #FCFCFC;

  /* Hårstrecken. Två vikter: den bärande linjen mellan dörrarna, och den
     svagare som bara delar av. Båda ligger över natten och måste därför vara
     ljusare än de ser ut att behöva vara — 1 px på en telefon i solsken
     försvinner vid #1A1714. */
  --strek: #2E2A24;
  --strek-svag: #1C1917;

  /* Dammet. Den enda grå tonen på sidan. Nästan neutral med en gnutta värme:
     sjutton stegs spann mellan röd och blå kanal läste tydligt GULT mot
     plåtens kalla svartblå och drog ner hela satsytan. Spannet här är sju. */
  --damm: #8B8884;
  --damm-hi: #B0AEA9;

  /* Satsytan. Måttet är dörrarnas bredd och därmed märkets bredd.
     420 px och inte 460: en rad som är bredare än tummen slutar läsas som en
     rad man kan trycka på. */
  --sats: 420px;
  --kant: 26px;

  /* SAMTYCKESRUTAN talar husets tokennamn, och dörrhuset laddar inte huset.
     Utan de här sju raderna ritades rutan helt utan bakgrund: brödtext rakt
     ovanpå dörrarna, knappar utan form. Samma sorts fel som en gång gjorde
     produktrader oläsliga — en komponent som lånar tokens av ett rum den inte
     står i. Namnen pekas om i stället för att formen dubbleras, precis som
     droppets rum gör. */
  --natt: var(--n);
  --natt-2: var(--n-2);
  --natt-linje: var(--strek);
  --ljus: var(--papper);
  --ljus-2: var(--damm-hi);
  --guld: var(--damm);
  --kurva: cubic-bezier(.16, .84, .36, 1);
  --wrap: 1320px;
}

/* box-sizing sattes globalt i stil.css, och dörrhuset laddar inte den filen.
   Utan raden lades knapparnas padding OVANPÅ min-height och varje dörr blev
   fyrtio pixlar för hög. */
body.sida-lank *,
body.sida-lank *::before,
body.sida-lank *::after { box-sizing: border-box; }

body.sida-lank {
  margin: 0;
  /* Samtyckesrutan är fast i underkanten och täcker annars de sista raderna.
     Utrymmet läggs på KROPPEN och inte i satsytan: en padding inne i spalten
     åt upp den luft kompositionen är byggd på, och sidan såg annorlunda ut
     för den som inte svarat än för den som svarat. samtycke.js nollar måttet
     när rutan går ner. */
  padding-bottom: var(--samtycke-h, 0px);
  background: var(--n);
  color: var(--papper);
  font-family: "Familjen Grotesk", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.sida-lank main { display: block; }

/* Nollspecificitet med :where(). En vanlig regel här (0-1-2) hade slagit
   .dorr-kvall (0-1-0) och satt kvällens dörr vit på vitt — precis den sorts
   regelkrock som är svår att se och lätt att undvika. */
:where(body.sida-lank a) { color: inherit; text-decoration: none; }

body.sida-lank :focus-visible {
  outline: 2px solid var(--papper);
  outline-offset: 3px;
}
/* Kvällens dörr är den enda ljusa ytan, och en pappersfärgad fokusring på
   pappersfärgad botten är ingen fokusring. Den vänds i stället för att
   flyttas utanför: en ring som ligger utanför plattan skulle korsa plåtens
   kant på skärm. */
body.sida-lank .dorr-kvall:focus-visible,
body.sida-lank .samtycke .btn:not(.tom):focus-visible {
  outline-color: var(--n);
  outline-offset: -5px;
}

/* ───────────────────────────────────────────────────────────── rummet */

/* Två fält med hård kant emellan: plåten och satsytan. På telefon ligger de
   över varandra, på skärm bredvid varandra. Det är samma komposition vriden
   ett kvarts varv, inte två layouter. */
.dorr {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  /* EN rad, inte två. Raderna var auto+1fr från när en bildplåt låg överst;
     med plåten borta hamnade satsytan i auto-raden och slutade fyra hundra
     pixlar ovanför skärmens underkant. Sidan hade då ingen komposition, bara
     en topp och ett fall. En enda rad sträcker satsytan över hela skärmen,
     och dess egen indelning (märke, dörrar, sigill) fördelar luften. */
  grid-template-rows: 1fr;
}


/* SATSYTAN. Innehållet i en spalt med en hård vänsterkant. Kolumnen är hög
   och delas i tre: huvudet, dörrarna, sigillraden. Dörrarna trycks nedåt av
   1fr så att luften hamnar mellan märket och listan — det är där man behöver
   andas, inte i botten. */
.dorr-in {
  width: 100%;
  max-width: calc(var(--sats) + var(--kant) * 2);
  margin: 0 auto;
  /* Ordmärket satt 26 px från kanten och Filip tyckte det stod för högt —
     ett brevhuvud börjar inte i papperskanten. 56 px är ungefär en
     dörrhöjd; på en telefon med hak läggs hakets höjd till, annars stod
     märket rakt under klockan och batteriet. */
  padding: calc(56px + env(safe-area-inset-top)) var(--kant)
           calc(20px + env(safe-area-inset-bottom));
  display: grid;
  /* minmax(0,1fr) och inte 1fr: ordbilden är en SVG med egen intrinsisk
     bredd, och en grid-kolumn utan nollgolv växer till den i stället för att
     hålla satsytan. Utan raden sköt märket ut genom skärmens högerkant och
     gav sidledes rullning på telefon. */
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  gap: 22px;
}

/* ───────────────────────────────────────────────────────────── märket */

/* ORDBILDEN. Logotypens egna kurvor, satta i satsytans fulla bredd. Den är
   sidans enda display och behöver därför inget annat än att vara stor: en
   didone på 10:1 kant till kant är hur ett hus skriver sitt namn, en rubrik i
   ett brödtextsnitt är hur en blogg gör det. */
.dorr-ord {
  margin: 0;
  font-size: 0;
  line-height: 0;
}
.dorr-ordmarke {
  display: block;
  width: 100%;
  height: auto;
  color: var(--papper);
}

/* Hårstrecket ligger omedelbart under märket och inte under hela blocket:
   märke + linje + mening läser som ett brevhuvud, märke + mening + linje
   läser som en understruken rubrik. Linjen löper i exakt samma bredd som
   dörrarna nedanför och är därmed sidans måttlinje. */
.dorr-ord::after {
  content: "";
  display: block;
  height: 1px;
  margin: 16px 0 0;
  background: var(--strek);
  transform-origin: left center;
}

.dorr-mening {
  margin: 16px 0 0;
  max-width: 30ch;
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .005em;
  color: var(--damm-hi);
}

/* ───────────────────────────────────────────────────────────── dörrarna */

.dorr-lista {
  align-self: center;
  border-bottom: 1px solid var(--strek);
}
/* STRAX OVANFÖR MITTEN, inte på den. Filip ville ha upp dörrarna något.
   Marginalen under en centrerad rad flyttar raden upp med halva måttet —
   12vh ger ~50 px på en telefon — och centreringen står kvar, så listan
   följer med om skärmen är kortare eller högre.
   BARA I RUMMET. Portfolions lista är inte centrerad utan står sist på en
   rullande sida, och där blev samma marginal ett 150 px hål mellan
   TILLBAKA och foten. */
.dorr-in:not(.pf-in) .dorr-lista { margin-bottom: 12vh; }

/* Raden som säger vad kvällens dörr är. Den står i natten ovanför plattan och
   inte inuti den: en knapp med två textrader är komprimerad och läses inte,
   en bildtext ovanför läses. Gemener och inte versaler — en spärrad
   versaletikett över varje block är en tapet, inte en upplysning. */
.dorr-not {
  margin: 0 0 11px;
  font-size: 13px;
  letter-spacing: .01em;
  color: var(--damm-hi);
}

/* KVÄLLENS DÖRR. Sidans enda ljusa yta och enda fyllda form, och det enda
   som bryter ut ur satsytan: plattan går kant till kant medan hårstrecken
   under den stannar innanför. Utbrytningen har ett skäl utöver tyngden —
   plattans egen indragning läggs lika med satsytans, så att texten IN DA CLUB
   landar på exakt samma vänsterkant som märket, meningen och dörrarna. En
   platta inne i satsytan sköt sin text tjugotvå pixlar åt höger och bröt den
   enda linje hela sidan är byggd kring. */
.dorr-kvall {
  display: flex;
  align-items: center;
  min-height: 78px;
  margin-inline: calc(var(--kant) * -1);
  padding: 20px var(--kant);
  color: var(--papper);
  transition: color .25s ease;
}

/* DE ANDRA DÖRRARNA. Rader på hårstreck. En rad i full bredd med en linje
   över sig läser som en meny, och menyer trycker man på — den affordansen
   behöver ingen ram, ingen radie och ingen pil. */
.dorr-lank {
  display: flex;
  align-items: center;
  min-height: 68px;
  padding: 18px 22px 18px 0;
  border-top: 1px solid var(--strek);
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--papper);
  transition: color .25s ease, padding-left .35s cubic-bezier(.16,1,.3,1);
}

/* ───────────────────────────────────────────────────────────── foten */

/* Foten är två rader. SIGILLRADEN: kanalerna till vänster, sigillet till
   höger, och ingenting annat — raden är symboler. Den ser likadan ut med en
   kanal som med tre, och det är hela skälet till att kanalerna ligger som
   glyfer och inte som rader. Sigillet är grafik och ingen länk: monogrammet
   är avsändaren, inte en dörr till.
   KOLOFONRADEN under den: integritetslänken, ensam, på vänsterkanten. */
.dorr-fot {
  margin-top: 24px;
}
.dorr-rad {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 44px;
}

.dorr-kanaler {
  display: flex;
  align-items: center;
  gap: 0;
  margin-left: -6px;
}
.dorr-kanaler a {
  display: grid;
  place-items: center;
  width: 34px;
  height: 44px;
  color: var(--damm);
  transition: color .2s ease;
}
.dorr-kanaler svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* SIGILLET. 52 px brett och i damm utan dämpning. Det stod 34 px och på
   62 % — en kägel på 17 px, alltså mindre än kanalglyferna bredvid, med
   hårstreck under en bildpunkt och luckan i monogrammet på 0,75 px. På
   riggens 1× var det en grå smet och på Filips 3× läste basen som avskuren.
   Vid 52 px är kägeln 26 px: luckan är över en pixel även på 1×, sexans
   och B:ets hårstreck bär, och märket är större än glyferna i stället för
   mindre — det är avsändaren, och glyferna är kanaler. Damm och inte
   damm-hi: det ska stå sist och tyst, inte tävla med dörrarna. */
.dorr-sig {
  display: block;
  color: var(--damm);
}
.dorr-monogram {
  display: block;
  width: 52px;
  height: auto;
  fill: currentColor;
}

/* ──────────────────────────────────────────────────── samtyckesrutan */

/* Grundformen på .btn bor i stil.css. Dörrhuset behöver den ändå, för rutan
   byggs av samtycke.js och känner bara till husets klassnamn. Formen är
   dörrarnas: ingen radie, ingen skugga, ingen gradient. */
body.sida-lank .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 24px;
  border: 1px solid var(--papper);
  background: var(--papper);
  color: var(--n);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .02em;
  cursor: pointer;
}
body.sida-lank .samtycke h2 {
  font-family: inherit;
  font-weight: 600;
  letter-spacing: -.005em;
}

/* ───────────────────────────────────────────────────────── portfolion */

/* Underrummet. Ingen ordbild här: 26BESPOKE två gånger på två skärmar i rad
   är en upprepning, och den som klickat in vet redan var hen är. Vägen
   tillbaka står överst i stället, satt som en avsändare. */
.pf { min-height: 100svh; }
.pf-in {
  max-width: 660px;
  padding-top: 34px;
  grid-template-rows: auto auto auto;
  gap: 26px;
}

/* Sidans namn står i samma register som dörrarna och inte i en egen
   displaygrad: dörrhuset har EN displayform, och det är märket. En andra
   stor rubrik i grotesken hade gett huset två röster och ingen av dem
   husets. */
.pf-titel {
  margin: 20px 0 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .2em;
  text-transform: uppercase;
}

/* Märket överst är sidans väg tillbaka. Det är märkning som redan bär namnet
   och behöver därför ingen etikett bredvid sig. */
.dorr-ord a {
  display: block;
  /* Ordbilden är trettio pixlar hög och därmed en träffyta under fyrtiofyra.
     Utfyllnaden tas tillbaka med negativ marginal: raden ser exakt likadan ut,
     men fingret får fyrtiofyra bildpunkter att sikta på. */
  padding-block: 7px;
  margin-block: -7px;
  transition: opacity .25s ease;
}

/* RUTNÄTET. Registerfotona är 3:2 och visas i 3:2 — de tvingades tidigare
   in i ett stående 4:5-fält, och en beskärning som kapar en tredjedel av
   bredden fungerar bara om motivet ligger i mitten. På cubanska kedjan ligger
   det inte det: kedjan går i två stråk längs källans vänster- och högerkant
   och mitten är helsvart, så rutan blev en tom låda. Formatet var felet, inte
   beskärningen.

   Att visa hela plåten kostar höjd, och därför är portfolion enspaltig på
   telefon. En rad om två med liggande bilder ger 169 px breda pjäser, och en
   pjäs som inte går att se är ingen portfolio. Sidan får rulla; det är den
   enda sidan i dörrhuset som ska.

   Plåtarna ligger kant i kant utan mellanrum: ett rutnät av lika stora kort
   med luft emellan är en webbshop, en obruten följd av beskärningar är en
   katalog. */
.pf-rutnat {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: var(--strek-svag);
  border-block: 1px solid var(--strek-svag);
}
.pf-kort {
  margin: 0;
  background: var(--n);
}
.pf-kort img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.pf-kort figcaption {
  padding: 13px 2px 16px;
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--damm-hi);
}

@media (min-width: 620px) {
  .pf-rutnat { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1000px) {
  .pf-rutnat { grid-template-columns: repeat(3, 1fr); }
}

/* ───────────────────────────────────────────────────────── skärmen */

/* På skärm vrids kompositionen ett kvarts varv: plåten till vänster i full
   höjd, satsytan till höger. Ingen mittspalt på en tom yta — en 420 px bred
   telefonsida centrerad i 1440 px är en app som råkat hamna på en dator.

   Vridningen gäller också en telefon som ligger ner. Den staplade formen gav
   där en 844 × 260 remsa ur ett kvadratiskt foto, alltså en fyra-mot-ett-strimla
   av svart trä utan kedja i. En liggande skärm är en bred skärm, oavsett vad
   den sitter i. */
@media (min-width: 900px), (min-width: 640px) and (orientation: landscape) {
  .dorr {
    grid-template-rows: none;
    grid-template-columns: minmax(0, 1fr);
    height: 100svh;
    overflow: hidden;
    align-content: center;
  }
  .dorr-huvud { max-width: 480px; }
  .dorr-fot { max-width: 480px; margin-top: 0; }

  /* Listan centreras i den lediga ytan i stället för att tryckas mot foten.
     Med märket förankrat överst och foten i botten blev gapet ovanför listan
     fyrahundra pixlar dött utrymme — luft som är ojämnt fördelad läser som
     ett fel, inte som andrum. */
  .dorr-lista {
    max-width: 480px;
    align-self: center;
  }
  .dorr-mening { font-size: 16px; max-width: 34ch; }

  /* Dörrarna växer med skärmen. En lista som är dimensionerad för en tumme
     ser undermålig ut i en 605 px bred spalt, och tomrummet omkring den blir
     då ihåligt i stället för generöst. */
  .dorr-not { font-size: 13.5px; margin-bottom: 14px; }
  .dorr-kvall {
    min-height: 100px;
    /* På skärm bryter plattan bara ut åt vänster, mot plåtens kant. Åt höger
       är spaltens ytterkant sidans kant, och en platta som tar den också
       hade lämnat satsytan utan höger marginal. */
    margin-inline: calc(clamp(38px, 4vw, 62px) * -1) 0;
    padding: 24px clamp(38px, 4vw, 62px);
    font-size: 21px;
  }
  .dorr-lank {
    min-height: 86px;
    padding: 22px 30px 22px 0;
    font-size: 15.5px;
  }
  .dorr-lista { padding-right: 0; }

  .pf { min-height: 0; }
  .pf-in {
    max-width: 980px;
    margin: 0 auto;
    /* Samma indragning som dörrens satsyta: kvällens platta bryter ut med
       exakt det måttet, och en avvikande padding hade skjutit ut den några
       pixlar för långt åt vänster. */
    padding: 64px clamp(38px, 4vw, 62px) 56px;
  }
  /* Registret tar hela sidbredden, texten och dörrarna gör det inte. Bred
     bildplåt mot smal spalt är asymmetrin sidan står på. */
  .pf-in .dorr-lista,
  .pf-in .dorr-fot { max-width: 560px; }
  .pf-rutnat { margin-top: 16px; }

  /* Skylten är kvällens dörr, inte registrets rubrik. På roten är den sidans
     största röst med rätta; i portfolions fot står den under sex bilder och
     ska väga mindre än dem. Skyltsnittet har hög versalhöjd och läser en bra
     bit större än sitt kägelmått. */
  .pf-in .dorr-kvall { font-size: clamp(20px, 2.4vw, 26px); }
}

/* En liggande telefon är bred men mycket låg. Kompositionen är densamma;
   låsningen till en skärmhöjd släpps, och plåten står kvar medan satsytan
   rullar förbi den. */
@media (orientation: landscape) and (max-height: 560px) {
  .dorr {
    height: auto;
    overflow: visible;
  }
  .dorr-in {
    padding-block: 28px;
    gap: 18px;
  }
  .dorr-kvall { min-height: 74px; padding-block: 18px; font-size: 18px; }
  .dorr-lank { min-height: 62px; padding-block: 16px; font-size: 14px; }
  .dorr-lista { align-self: start; }
  .dorr-fot { margin-top: 18px; }
}

/* ───────────────────────────────────────────────────── pek och tangent */

@media (hover: hover) {
  .dorr-kvall:hover { background: var(--papper-hi); }
  .dorr-lank:hover { color: var(--damm-hi); padding-left: 10px; }
  .dorr-kanaler a:hover { color: var(--papper); }
  .dorr-fotnot:hover { opacity: 1; }
  .dorr-ord a:hover { opacity: .72; }
}

/* ─────────────────────────────────────────────────────────── rörelsen */

/* EN sekvens vid inladdning och ingenting annat. Märket avtäcks från vänster
   som en gravyr under en polerduk, måttlinjen dras ut i samma riktning, och
   därefter tänds raderna en och en. Sidan rullar inte och har därför
   ingenting att animera på rullning.

   Initialtillståndet sätts av lank.js och står ALDRIG i stilmallen: utan JS,
   eller med reducerad rörelse påslagen, är sidan komplett från första
   bildrutan. */
.laddar .dorr-ordmarke { clip-path: inset(0 100% 0 0); }
.laddar .dorr-ord::after { transform: scaleX(0); }
.laddar .dorr-mening,
.laddar .dorr-not,
.laddar .dorr-kvall,
.laddar .dorr-lank,
.laddar .dorr-fot { opacity: 0; }

.kor .dorr-ordmarke {
  transition: clip-path .95s cubic-bezier(.62,.04,.2,1) .22s;
  clip-path: inset(0 0 0 0);
}
.kor .dorr-ord::after {
  transition: transform .8s cubic-bezier(.16,1,.3,1) .62s;
  transform: none;
}
.kor .dorr-mening,
.kor .dorr-not,
.kor .dorr-kvall,
.kor .dorr-lank,
.kor .dorr-fot {
  transition: opacity .7s ease var(--f, 0s);
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .dorr-kvall,
  .dorr-lank,
  .dorr-kanaler a,
  .dorr-ord a { transition: none; }
  .dorr-lank:hover { padding-left: 0; }
}


/* ---------- dörrarnas snitt ----------
   Länkarna satt i husets grotesk medan märket är en didone. Två skrifter i
   olika släkten på en sida med fyra ord läser som två avsändare. Dörrarna
   sätts därför i husets seriff, i versaler som ordbilden.

   Snittet är SUBSATT till latinska alfabetet med svenska tecken och siffror —
   hela Newsreader väger 34 kB för att bära skrivtecken sidan aldrig sätter.
   Ett snävare subset (bara dagens fyra ord) gick sönder tyst så fort en ny
   dörr innehöll en ny bokstav. Droppsidan har kvar den fulla
   filen i typsnitt.css — den här är rotens egen. */
@font-face {
  font-family: "Newsreader-dorr";
  src: url(data:font/woff2;base64,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) format("woff2");
  font-weight: 400 600;
  font-display: swap;
}
.dorr-kvall, .dorr-lank {
  font-family: "Newsreader-dorr", Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: .1em;
}
.dorr-kvall { font-size: 22px; }
.dorr-lank { font-size: 19px; }

/* ---------- rummet ----------
   Startsidan bär inte längre ett föremål. Filips beslut: bara märket och
   dörrarna, mot en bakgrund som ska symbolisera exklusivitet abstrakt —
   ljus och scen, inte produkt. Bilden ligger som bakgrund och inte som
   <img>: den bär ingen information, den är rummet väggarna står i.

   Duken över den är inte dekoration utan läsbarhet: knapparna är
   vänsterställda, så vänsterkanten måste hållas mörk oavsett vad bilden
   gör där. Faller bildfilen bort står sidan kvar på ren natt. */
.dorr {
  position: relative;
  background-color: var(--natt);
  background-image: image-set(url("/img/rum-liten.webp") 1x);
  background-size: cover;
  background-position: 72% center;
  isolation: isolate;
}
.dorr::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(96deg, rgba(4, 4, 5, .93) 0%, rgba(4, 4, 5, .82) 34%,
                    rgba(4, 4, 5, .42) 68%, rgba(4, 4, 5, .28) 100%),
    linear-gradient(180deg, rgba(4, 4, 5, .55) 0%, rgba(4, 4, 5, 0) 30%,
                    rgba(4, 4, 5, 0) 70%, rgba(4, 4, 5, .62) 100%);
}
@media (min-width: 700px) {
  .dorr { background-image: image-set(url("/img/rum.webp") 1x); }
}
@media (min-width: 1100px) {
  .dorr {
    background-image: image-set(url("/img/rum-bred.webp") 1x);
    background-position: 62% center;
  }
}

/* Satsytan står vänsterställd i rummet och får ett tak: en dörrlista som
   dras ut över en bred skärm slutar läsas som en lista och blir en rad
   fält. Måttet är märkets — ordbilden sätter bredden, som förut. */
@media (min-width: 900px) {
  /* :not(.pf-in) — regeln gäller RUMMET, inte registret. .pf-in bär också
     klassen .dorr-in, står tidigare i filen och har samma specificitet, så
     utan undantaget klämdes portfolions rutnät från 980 till 560 px: sex
     bilder i 133 px breda rutor med bildtexter som sprang ut ur dem. */
  .dorr-in:not(.pf-in) {
    max-width: 560px;
    width: 100%;
    /* margin-inline MÅSTE nollas. Grundregeln sätter margin: 0 auto, och en
       auto-marginal äter upp allt överskott i en grid-cell — då gör
       justify-self ingenting alls och satsytan står kvar mitt på skärmen. */
    margin-inline: 0;
    justify-self: start;
    padding-left: clamp(40px, 7vw, 120px);
    /* Rummet är högre på skärm, marginalen följer med. */
    padding-top: 72px;
  }
  /* På skärm står satsytan redan högt; halva lyftet räcker, annars
     kläms listan mot ordmärket. */
  .dorr-in:not(.pf-in) .dorr-lista { margin-bottom: 6vh; }
}


/* ---------- kvällens dörr ----------
   Den låg som en vit platta: ett fält som skrek högre än allt annat på
   sidan men inte sa VAD det var. En markerad rad räcker — det som ska
   skilja den från de andra två är att den leder till ett släpp, inte att
   den är fylld.

   Skylten är släppets EGET snitt, hämtat ur dropp-in-da-club-typsnitt.css
   och subsatt till de åtta tecken dörren sätter: 1 kB. Den som ser raden
   har därmed redan sett rummet bakom den. Glöden och flimret är samma som
   över dörrplåten inne på släppet — kall, svag, och den slocknar bara till
   i slutet av en lång cykel. En skylt som lyser starkt av sig själv är en
   logotyp i en spelapp; en som har lite ljus kvar i röret är en klubb. */
@font-face {
  font-family: "Skylt-dorr";
  src: url(data:font/woff2;base64,d09GMgABAAAAAAREABAAAAAACBQAAAPoAAIzMwAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbgU4cKgZgP1NUQVQqAFwRCAqEQINYATYCJAMoCxYABCAFg2AHIAwHG3wGIxF2e3CaAOIvEuxg+OMXEBgBSqiVGfOVr768LaFp3nNiL4wYD/+u/b/7JJm75s1ngBKxK6sqAl/L4Iglks6RXU4kVZcPyS67cftuA7N8MOmpDgqAdma3/3e0rkcqEx9uSExiXnEOnLic/li4ApkkAZXZz2WNbf/WAI0CTCzAv3RjOsf58mhhgJBttuVWfgYZnE5zEv/+pEB/QBJCKwQ60y2Vtu/cf6yBl5517eUGKlD/BeKS866+XItAKJJW0tkuDFVQTDTbQsuFIiQ9raSHtiJEVWhrISqS2QqW2y4rUE+ZZ/hCDBnOil4+iQfYE6HWdFCRvKHUmWbjox29f8lf5ska0r2SJ2IfdY/T7Yv5JFngf0l5DV432XH5sb9n+SWJPxEQ/6V7gclyiY/LcIHx0g0XXHhtNEgCosuTQULGcFlguGI3BhbxFZNtt8d+Bx1Xx2RbVE+uP9fX68t1u27VFZH8+qNuEEIHhqM/nsLvgAJIsijyDIPSDu/6pg8YUHr9x54Qg9x4yYCL+l/c78J+zaD7xHDnp6JjR90nFn8EenZnD7hvR+Ku6XXF/tHU7eHe8qmQ3b1nZNx1rvVb7R3X/2HBmbYiErkTs7N6zh13i0GI5n3aDWxOcs6c7yxwZn77jIPP6Fe6S9Igg5tbjs2w9uoTUtf0u2VoyUGIzZ+cRoy25fOfqyhgzjI9Dgtnke4i0mryYdT7QBhuO96IzvOJ86fql0m2RyO5fKNMwi89fsi2bm5nnnSpqxa4aTVf0AMuXe+C1AO3RiXpPIQ+/Pcp16ZDUamdxcWpPUNx1xaU/c8Q1CudL33whoxq8YBpZLAHEek/YIJrOwx+tmBZhPsXiOJM+yZ/f5emisxZAvPw5wbLI1b1OcbUNOb5mtSDBR/0hb/AHx2H7wdiOKif5ri+K/23lRzSw3FF4EOp1foKSPVrq4+hOIyrp2VPqZMdqmN82lIDvrQSYpPJpmXFFNO4ZMAdGLogEYRFt+NCvpoPzP9tzj/BN7sfHAA/vHfb07pq+Sk9BPQkEHy+bjN9AaHrIMg0XXzv5HI3dOVaO5vp1jcj7Yxn4bj8nEobfgN93xErEejMkkGgQX2ulkXpw5vAeGi9GU8G+jCeLfRlvBgdvXhjbEzUeiZkNRCh/nF4D9EZGgtzDpi0mVG6gNViuYaPFvBu43yMR4ZWsAJ2ZaExy2GgiyLJN/O5MoUndMYwzClGi2U2DRi5mEviE+OVVp5CdloAMPElYeQM02t+CVW+LJOtmN8KywHb2/12AjK1mzrIpkSQ/4mtGSapNARuLVj5L4r5Y6emyMgePe9DtWdpfD5q72J5AAAA) format("woff2");
  font-weight: 400;
  font-display: swap;
}

.dorr-kvall {
  font-family: "Skylt-dorr", "Newsreader-dorr", Georgia, serif;
  /* Skylten bryts aldrig: "IN DA" över "CLUB" är två skyltar, inte en.
     Måttet får krympa i stället — raden ska hålla ihop hela vägen ned. */
  white-space: nowrap;
  font-size: clamp(26px, 7.4vw, 38px);
  font-weight: 400;
  letter-spacing: .01em;
  text-transform: none;
  text-shadow: 0 0 26px rgba(176, 203, 228, .16);
  padding-block: 26px;
}
.dorr-kvall:hover { color: #fff; }

/* PUNKTEN ÄR BORTTAGEN. Den satt som en liten pulsande fyrkant före skylten
   och sa "något pågår". Tre skäl till att den inte hör hemma:

   Skylten flimrar redan. Signalen var sagd av sidans starkaste element, och
   punkten sa samma sak en gång till med svagare röst.

   Formen är fel oavsett hörnradie. En liten pulsande markör före ett namn är
   ett STATUSSPRÅK, och det språket kommer från driftpaneler. Rund läser
   "online", fyrkantig läser "byggstatus". Materialet i båda är lysdiod, inte
   metall.

   Och klockan gör redan jobbet, exakt. En punkt säger vagt att något är på
   gång; nedräkningen säger 6 d 22:02:14. Har man båda blir den vaga brus. */
@media (prefers-reduced-motion: no-preference) {
  /* Två lager: en andning som alltid syns, och ett flimmer ovanpå. Utan
     andningen står skylten död mellan flimren och det korta hoppet läser
     som en trasig sida i stället för som ett rör som lever.

     PÅ ORDET, INTE PÅ DÖRREN. Flimret animerar opacity, och en animation
     vinner över varje vanlig regel i kaskaden — även över .laddar:s
     opacity:0. Låg animationen på .dorr-kvall stod skylten därför tänd från
     första bildrutan medan resten av sidan tändes rad för rad; Filip såg
     den "fast på skärmen". Med flimret på ordet tänds dörren som de andra,
     och röret börjar leva först när den är framme. Klockan under ordet
     slipper dessutom flimra — ett tal man ska kunna läsa blinkar inte. */
  .dorr-kvall-ord { animation: dorr-glod 3.4s ease-in-out infinite,
                               dorr-neon 6s linear infinite; }
}
@keyframes dorr-glod {
  0%, 100% { text-shadow: 0 0 18px rgba(176, 203, 228, .14); }
  50% { text-shadow: 0 0 40px rgba(176, 203, 228, .34); }
}
@keyframes dorr-neon {
  0%, 71%, 100% { opacity: 1; }
  72% { opacity: .34; }
  73.2% { opacity: 1; }
  74.4% { opacity: .5; }
  75% { opacity: 1; }
  88% { opacity: 1; }
  89% { opacity: .28; }
  90% { opacity: 1; }
}
/* En kanal som ännu inte har någon adress ligger kvar i raden men vilar:
   dämpad, utan pekare och utan länkbeteende. Den lovar ingenting den inte
   kan hålla, och när adressen fylls i blir den en dörr utan att raden
   byter utseende. */
.dorr-kanaler .kanal-vilar {
  display: grid;
  place-items: center;
  width: 34px;
  height: 44px;
  color: var(--damm);
  opacity: .72;
  cursor: default;
}

/* Klockan ligger under skylten och BÖRJAR PÅ SAMMA X som allt annat. Den var
   centrerad mot skyltens bredd, och det gav ett tal som satt hundrafemtio
   pixlar in från vänsterkanten på bred skärm. Sidan är byggd kring en enda
   obruten vänsterkant — märket, dörrarna och sigillraden ligger alla på den —
   och nedräkningen var det enda som bröt den.

   Siffrorna i husets grotesk och inte i skyltsnittet: ett tal satt i en
   klubbskylt läser som dekor, och det här är en uppgift man ska kunna lita
   på. */
.dorr-kvall-in {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.dorr-kvall-ord { display: block; }
.dorr-kl {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: 4px;
  font-family: "Familjen Grotesk", system-ui, sans-serif;
  text-shadow: none;
}
.dorr-kl-tal {
  font-weight: 500;
  font-size: 15px;
  letter-spacing: .12em;
  color: var(--papper);
  font-variant-numeric: tabular-nums;
}

/* KOLOFONEN. Integritetslänken på egen rad under sigillraden: minsta graden
   på sidan, dämpad, på vänsterkanten som allt annat, och den enda texten som
   inte är en dörr. Den låg i sigillraden mellan glyferna och monogrammet och
   läste där som en fjärde kanal — ett ord i en rad av symboler. Den ligger
   där av juridiska skäl och ska synas av den som letar, inte av den som kom
   för kvällen.
   Träffytan är 44 px utan att raden ser 44 ut: utfyllnaden tas tillbaka med
   negativ marginal, som märket i sidhuvudet gör. Länken låg på 16 px hög. */
.dorr-fotnot {
  display: inline-block;
  margin: -12px 0 -14px;
  padding: 14px 0 14px 14px;
  font-family: "Familjen Grotesk", system-ui, sans-serif;
  font-size: 10.5px;
  line-height: 16px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--damm);
  opacity: .6;
  transition: opacity .2s ease;
}

/* ───────────────────────────────────────────────────────── språkväxeln */

/* KOLOFONRADEN ÄR TVÅ HÖRN. Växeln på vänsterkanten under kanalerna,
   integriteten på högerkanten under sigillet. Foten blir då två rader med
   samma bygge — något till vänster, något till höger — och de två småorden
   slutar vara ett par.

   Växeln har stått på tre ställen: i sigillraden som SV · EN (fyra slags
   saker i en rad), i arkets övre högra hörn (Filip: "sitter lite dumt"), och
   sida vid sida med integriteten på vänsterkanten (Filip: samma dom). Det
   sista var ett par: två versalord i samma grad på 22 px avstånd läser som
   "Privacy · Terms", och växeln försvann i juridiken. Isär, i var sitt hörn,
   är de två saker: ordet man ska HITTA står först och ljusast på den kant
   allt annat står på; ordet man ska KUNNA hitta står sist, dämpat, som
   finstilt under en signatur.

   Samma grad och spärrning som integriteten men i damm-hi och utan dämpning.
   Träffytan 44 px med negativa marginaler, som fotnoten. */
.dorr-kolofon {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}
.dorr-sprak {
  display: inline-block;
  margin: -12px 0 -14px;
  padding: 14px 14px 14px 0;
  font-family: "Familjen Grotesk", system-ui, sans-serif;
  font-size: 10.5px;
  line-height: 16px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--damm-hi);
  transition: color .2s ease;
}
@media (hover: hover) {
  .dorr-sprak:hover { color: var(--papper); }
}
@media (prefers-reduced-motion: reduce) {
  .dorr-sprak, .dorr-fotnot { transition: none; }
}
