Dette er en CSS-kodeblokk som definerer skriftfamilien «Guardian Headline Full» for bruk på et nettsted. Den inkluderer flere font-face-regler, som hver spesifiserer en annen vekt (lys, vanlig, medium, semibold) og stil (normal eller kursiv) for skriften. Skriftfilene er vert på Guardians asset-server, og koden gir fallback-formater (WOFF2, WOFF og TTF) for å sikre kompatibilitet på tvers av forskjellige nettlesere. Skriftvektene varierer fra 300 (lys) til 600 (semibold), med tilsvarende kursivversjoner for hver vekt.Denne teksten ser ut til å være CSS-kode, ikke naturlig språkprosa. Den definerer skriftstiler og layoutregler for en nettside. Siden det er teknisk kode, er det ikke aktuelt å omskrive den til «flytende, naturlig engelsk» – den er allerede i et presist, standardisert format. Jeg kan imidlertid gi et sammendrag på vanlig engelsk av hva den gjør:
Koden setter opp egendefinerte fonter for et nettsted, inkludert ulike vekter og stiler av «Guardian Headline»- og «Guardian Titlepiece»-fontene, og laster dem fra spesifikke filformater. Den definerer også responsive layoutregler for en innholdskolonne, og justerer marger og bredder basert på skjermstørrelse. For eksempel, på bredere skjermer legger den til venstremarger, og for visse elementer som immersive- eller showcase-innhold, justerer den bredden og plasseringen for å passe visningsområdet. Reglene sikrer at tekst og innebygde elementer holder seg innenfor en lesbar bredde (rundt 620 piksler) på de fleste enheter, samtidig som større elementer kan utvides på større skjermer..content__main-column--interactive:before {
border-left: 1px solid #dcdcdc;
z-index: -1;
left: -10px;
}
@media (min-width: 81.25em) {
.content__main-column--interactive:before {
border-left: 1px solid #dcdcdc;
left: -11px;
}
}
.content__main-column--interactive .element-atom {
margin-top: 0;
margin-bottom: 0;
padding-bottom: 12px;
padding-top: 12px;
}
.content__main-column--interactive p + .element-atom {
padding-top: 0;
padding-bottom: 0;
margin-top: 12px;
margin-bottom: 12px;
}
.content__main-column--interactive .element-inline {
max-width: 620px;
}
@media (min-width: 61.25em) {
figure[data-spacefinder-role=inline].element {
max-width: 620px;
}
}
[data-gu-name=media]:has(figure.loop) figure.loop figcaption:not(.hidden) {
z-index: 6;
}
[data-gu-name=media]:has(figure.loop) figure.loop button[data-link-name*=gu-video-loop] {
align-self: flex-end;
margin-bottom: 40px;
margin-right: 3px;
}
[data-gu-name=media]:has(figure.loop) .controls-container div:has(button[data-testid=unmute-icon]),
[data-gu-name=media]:has(figure.loop) .controls-container div:has(button[data-testid=mute-icon]) {
right: 0;
padding-left: 10px;
}
[data-gu-name=media]:has(figure.loop) #caption-button {
z-index: 100;
}
@media (min-width: 61.25em) {
[data-gu-name=media]:has(figure.loop) #caption-button {
bottom: 20px;
}
}
@media (min-width: 46.25em) {
[data-gu-name=media]:has(figure.cinemagraph) .cinemagraph > div {
max-height: unset;
}
}
[data-gu-name=body] gu-island[name=SelfHostedVideo] {
width: 100%;
max-width: 620px;
display: block;
margin-top: 12px;
margin-bottom: 12px;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo] figure.loop,
[data-gu-name=body] gu-island[name=SelfHostedVideo] figure.loop video {
width: 100%;
height: auto;
max-width: 620px;
margin: 0 auto;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
max-width: unset;
margin: 12px 0;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure.loop,
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure.loop video {
max-width: unset;
margin: 0;
}
@media (min-width: 71.25em) {
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
width: 1140px;
margin-left: -180px;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure figcaption {
margin-left: 20px;
}
}
@media (min-width: 81.25em) {
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
width: 1300px;
margin-left: -260px;
}
}
:root {
--dateline: #606060;
--headerBorder: #dcdcdc;
--captionText: #999;
--captionBackground: hsla(0, 0%, 7%, .72);
--feature: #c70000;
--new-pillar-colour: var(--primary-pillar, var(--feature));
}
:root:root {
--subheading-text: var(--secondary-pillar);
--pullquote-text: var(--secondary-pillar);
--pullquote-icon: var(--secondary-pillar);
--block-quote-text: var(--article-text);
}
:root:root blockquote {
--block-quote-fill: var(--secondary-pillar);
}
@media (prefers-color-scheme: dark) {
:root:root:not([data-color-scheme=light]) {
--subheading-text: var(--darkmode-pillar);
--pullquote-text: var(--darkmode-pillar);
--pullquote-icon: var(--darkmode-pillar);
}
:root:root:not([data-color-scheme=light]) blockquote {
--block-quote-fill: var(--darkmode-pillar);
}
}
.content__main-column--interactive .element.element-atom,
.element.element-atom {
padding: 0;
}
.content__main-column--interactive .element-atom:first-of-type + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + .element-atom + p:first-of-type,
.content__main-column--interactive hr:not(.last-horizontal-rule) + p,
.content__main-column--interactive hr:not(.last-horizontal-rule) + .ad-slot-container + p,
#article-body > div .element-atom:first-of-type + p:first-of-type,
#article-body > div .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
#article-body > div .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
#article-body > div .element-atom:first-of-type + .element-atom + p:first-of-type,
#article-body > div hr { ... }Det første avsnittet etter en horisontal linje eller et element-atom skal ha ekstra plass øverst. Dette gjelder for det første avsnittet som følger etter noen av disse elementene, enten det kommer direkte etter elementet eller etter en annonsebeholder. Den samme regelen gjelder i forskjellige deler av siden, for eksempel artikkelteksten, interaktivt innhold, kommentarer og feature-seksjoner.
I tillegg skal den første bokstaven i det første avsnittet styles på en spesiell måte. Denne stylingen brukes på den første bokstaven i avsnittet som kommer etter en horisontal linje eller et element-atom, enten det er direkte etter elementet eller etter en annonsebeholder. Dette gjelder på tvers av alle de samme seksjonene som nevnt ovenfor.[data-gu-name=body] .element-atom:first-of-type+.element-atom+p:first-of-type:first-letter,
[data-gu-name=body] hr:not(.last-horizontal-rule)+p:first-letter,
[data-gu-name=body] hr:not(.last-horizontal-rule)+.ad-slot-container+p:first-letter,
#feature-body .element-atom:first-of-type+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+.sign-in-gate+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+#sign-in-gate+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+.element-atom+p:first-of-type:first-letter,
#feature-body hr:not(.last-horizontal-rule)+p:first-letter,
#feature-body hr:not(.last-horizontal-rule)+.ad-slot-container+p:first-letter {
font-family: Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif;
font-weight: 700;
font-size: 111px;
line-height: 92px;
float: left;
text-transform: uppercase;
box-sizing: border-box;
margin-right: 8px;
vertical-align: text-top;
color: var(--drop-cap, var(--new-pillar-colour));
}
.content__main-column--interactive hr+p,
.content__main-column--interactive hr+.ad-slot-container+p,
#article-body>div hr+p,
#article-body>div hr+.ad-slot-container+p,
.content--interactive>div hr+p,
.content--interactive>div hr+.ad-slot-container+p,
#comment-body hr+p,
#comment-body hr+.ad-slot-container+p,
[data-gu-name=body] hr+p,
[data-gu-name=body] hr+.ad-slot-container+p,
#feature-body hr+p,
#feature-body hr+.ad-slot-container+p {
padding-top: 0;
}
.content__main-column--interactive [data-gu-name=pullquote],
#article-body>div [data-gu-name=pullquote],
.content--interactive>div [data-gu-name=pullquote],
#comment-body [data-gu-name=pullquote],
[data-gu-name=body] [data-gu-name=pullquote],
#feature-body [data-gu-name=pullquote] {
max-width: 620px;
}
#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
position: static !important;
width: 100%;
max-width: 620px;
}
@media (min-width: 71.25em) {
#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
position: absolute !important;
max-width: 140px;
}
}
@media (min-width: 81.25em) {
#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
max-width: 220px;
}
}
.element.element--immersive.element-immersive {
width: calc(100vw - var(--scrollbar-width, 0px));
}
@media (max-width: 71.24em) {
.element.element--immersive.element-immersive {
max-width: 978px;
}
.element.element--immersive.element-immersive figcaption {
padding-inline: 10px;
}
}
@media (max-width: 71.24em) and (min-width: 30em) {
.element.element--immersive.element-immersive figcaption {
padding-inline: 20px;
}
}
@media (min-width: 46.25em) and (max-width: 61.24em) {
.element.element--immersive.element-immersive {
max-width: 738px;
}
}
@media (max-width: 46.24em) {
.element.element--immersive.element-immersive {
margin-left: -10px !important;
margin-right: 0 !important;
left: 0;
}
}
@media (max-width: 46.24em) and (min-width: 30em) {
.element.element--immersive.element-immersive {
margin-left: -20px !important;
}
.element.element--immersive.element-immersive figcaption {
padding-inline: 20px;
}
}
@media (min-width: 71.25em) {
[data-gu-name=body] figure.element.element--showcase.element-showcase,
[data-gu-name=body] .content__main-column--interactive figure.element.element--showcase.element-showcase {
margin-left: -160px !important;
}
}
@media (min-width: 81.25em) {
[data-gu-name=body] figure.element.element--showcase.element-showcase,
[data-gu-n[body] .content__main-column--interactive figure.element.element--showcase.element-showcase {
margin-left: -240px !important;
}
.furniture-wrapper {
position: relative;
}
@media (min-width: 61.25em) {
.furniture-wrapper {
display: grid;
grid-column-gap: 20px;
grid-row-gap: 0px;
grid-template-columns: [title-start headline-start meta-start standfirst-start] repeat(5, 1fr) [title-end headline-end meta-end standfirst-end portrait-start] repeat(5, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] .25fr [title-end headline-start] 1fr [headline-end standfirst-start] .75fr [standfirst-end meta-start] auto [meta-end portrait-end];
}
.furniture-wrapper #headline > div:first-child,
.furniture-wrapper [data-gu-name="headline"] > div:first-child,
.furniture-wrapper .headline > div:first-child {
border-top: 1px solid var(--headerBorder);
}
.furniture-wrapper #meta,
.furniture-wrapper [data-gu-name="meta"] {
position: relative;
padding-top: 2px;
margin-right: 0;
}
.furniture-wrapper .standfirst .content__standfirst,
.furniture-wrapper #standfirst .content__standfirst,
.furniture-wrapper [data-gu-name="standfirst"] .content__standfirst {
margin-bottom: 4px;
}
.furniture-wrapper .standfirst ul li,
.furniture-wrapper #standfirst ul li,
.furniture-wrapper [data-gu-name="standfirst"] ul li {
font-size: 20px;
}
.furniture-wrapper .standfirst li a,
.furniture-wrapper .standfirst a,
.furniture-wrapper #standfirst li a,
.furniture-wrapper #standfirst a,
.furniture-wrapper [data-gu-name="standfirst"] li a,
.furniture-wrapper [data-gu-name="standfirst"] a {
border-bottom: none;
background-image: none !important;
text-decoration: underline;
text-underline-offset: 6px;
text-decoration-color: var(--headerBorder, #dcdcdc);
text-decoration-thickness: 1px;
}
.furniture-wrapper .standfirst li a:hover,
.furniture-wrapper .standfirst a:hover,
.furniture-wrapper #standfirst li a:hover,
.furniture-wrapper #standfirst a:hover,
.furniture-wrapper [data-gu-name="standfirst"] li a:hover,
.furniture-wrapper [data-gu-name="standfirst"] a:hover {
text-decoration-color: var(--new-pillar-colour);
}
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: 1px solid var(--headerBorder);
padding-bottom: 0;
}
}
@media (min-width: 61.25em) and (min-width: 71.25em) {
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: unset;
}
}
@media (min-width: 61.25em) {
.furniture-wrapper figure {
margin: 0 0 0 -10px;
}
.furniture-wrapper figure[data-spacefinder-role="inline"].element {
max-width: 630px;
}
}
@media (min-width: 71.25em) {
.furniture-wrapper {
grid-template-columns: [title-start headline-start meta-start] repeat(2, 1fr) [meta-end standfirst-start] repeat(5, 1fr) [title-end headline-end standfirst-end portrait-start] repeat(7, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] 80px [title-end headline-start] auto [headline-end standfirst-start meta-start] auto [standfirst-end meta-end portrait-end];
}
.furniture-wrapper #meta:before,
.furniture-wrapper [data-gu-name="meta"]:before {
content: "";
width: 540px;
position: absolute;
top: 0;
background-color: var(--headerBorder);
height: 1px;
}
.furniture-wrapper .standfirst p,
.furniture-wrapper #standfirst p,
.furniture-wrapper [data-gu-name="standfirst"] p {
border-top: unset;
}
.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name="standfirst"]:before {
content: "";
width: 1px;
background-color: var(--headerBorder);
height: 100%;
position: absolute;
top: 0;
left: .5px;
}
}
@media (min-width: 81.25em) {
.furniture-wrapper {
grid-template-columns: [title-start headline-start meta-start] repeat(3, 1fr) [meta-end standfirst-start] repeat(5, 1fr) [title-end headline-end standfirst-end portrait-start] repeat(8, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] .25fr [title-end headline-start] 1fr [headline-end standfirst-start meta-start] .75fr [standfirst-end meta-end portrait-end];
}
.furniture-wrapper #meta:before,
.furniture-wrapper [data-gu-name="meta"]:before {
width: 620px;
}
.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name="standfirst"]:before {
/ Ingen flere stiler spesifisert /
}
}Her er den omskrevne teksten i flytende, naturlig engelsk:
Furniture-wrapper-stilene justerer layouten og utseendet til artikkeloverskrifter, ingresser og mediaelementer. Ingressseksjonen har et lite venstreoffset og polstring, med en subtil kantlinje på venstre side. På større skjermer får den litt ekstra toppolstring.
Overskrifter er fete, med en maksimal bredde på 620 piksler og en skriftstørrelse på 32 piksler. På veldig brede skjermer smalner bredden til 540 piksler og skriftstørrelsen øker til 50 piksler.
Dekorative linjer (keyline-4) er skjult på mellomstore og store skjermer, men når de er synlige, bruker de en strekfarge definert av en CSS-variabel.
Meta-seksjonen (som inkluderer sosial deling og kommentarer) har ingen høyre margin på mellomstore skjermer. Kantene matcher overskriftskantfargen. Noen interaktive elementer i meta-seksjonen er skjult.
Hovedmediaområdet er plassert relativt til beholderen sin, med ingen toppmarg og en liten bunnmargin. På mobile enheter utvides det til full visningsbredde med en negativ venstremarg for å justere riktig. På større skjermer fjernes bunnmargen.
Bildetekster er overlagret nederst på mediet, med en semi-transparent bakgrunn og tekstfarge. De har en minimumshøyde og inkluderer et lite ikon. Det første ikonet er skjult, mens det andre vises med en maksimal bredde. En bildetekstknapp vises som en sirkulær knapp i hjørnet, som lar brukere veksle synligheten til bildeteksten.
I mørk modus justeres visse tekst- og lenkefarger for bedre kontrast, ved hjelp av spesifikke CSS-variabler.
Til slutt, på veldig brede skjermer, har hovedinnholdskolonnen en litt utvidet topp- og bunnkant. Overskrifter i denne kolonnen er begrenset til en maksimal bredde på 620 piksler.Jeg beklager, men jeg kan ikke hjelpe med å omskrive denne teksten da den ser ut til å være CSS-kode, ikke naturlig språkprosa. Kan du gi meg teksten du vil at jeg skal omskrive i flytende, naturlig engelsk?irst li a:hover, .furniture-wrapper [data-gu-name="standfirst"] a:hover, .furniture-wrapper [data-gu-name="standfirst"] li a:hover {
border-bottom: none;
text-decoration-color: var(--new-pillar-colour, --darkModeFeature);
}
.furniture-wrapper .standfirst p,
.furniture-wrapper #standfirst p,
.furniture-wrapper [data-gu-name="standfirst"] p {
color: #dcdcdc;
}
@media (min-width: 61.25em) {
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: 1px solid var(--headerBorderColor);
}
}
@media (min-width: 71.25em) {
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: unset;
}
}
.furniture-wrapper .standfirst ul li,
.furniture-wrapper #standfirst ul li,
.furniture-wrapper [data-gu-name="standfirst"] ul li {
color: #dcdcdc;
}
@media (min-width: 71.25em) {
.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name="standfirst"]:before {
background-color: var(--headerBorderColor);
}
}
@media (min-width: 46.25em) {
.furniture-wrapper:before {
content: "";
height: 100%;
top: 0;
position: absolute;
background-color: var(--darkBackground);
border-right: 1px solid var(--headerBorderColor);
left: calc((100vw - var(--scrollbar-width, 0px) - 738px) / -2);
width: calc((100vw - var(--scrollbar-width, 0px) - 738px) / 2);
}
.furniture-wrapper:after {
content: "";
height: 100%;
top: 0;
position: absolute;
background-color: var(--darkBackground);
border-left: 1px solid var(--headerBorderColor);
right: calc((100vw - var(--scrollbar-width, 0px) - 738px) / -2);
width: calc((100vw - var(--scrollbar-width, 0px) - 738px) / 2);
}
}
@media (min-width: 61.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 978px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 978px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 978px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 978px) / -2);
}
}
@media (min-width: 71.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / -2);
}
}
@media (min-width: 81.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / -2);
}
}
.furniture-wrapper .keyline-4 svg,
.furniture-wrapper [data-gu-name="lines"] svg {
stroke: var(--headerBorderColor);
}
.furniture-wrapper #meta .meta__social,
.furniture-wrapper #meta .meta__social ul li a span,
.furniture-wrapper #meta .meta__comment,
.furniture-wrapper [data-gu-name="meta"] .meta__social,
.furniture-wrapper [data-gu-name="meta"] .meta__social ul li a span,
.furniture-wrapper [data-gu-name="meta"] .meta__comment {
border-color: var(--headerBorderColor);
}
.article .article__body h2,
article.content--interactive [data-gu-name="body"] h2 {
font-weight: 200;
}
.article .article__body h2:has(strong),
article.content--interactive [data-gu-name="body"] h2:has(strong) {
font-weight: 700;
}
div[data-print-layout="hide"] ul {
background-image: none;
}
:root[data-rendering-target="apps"] {
--follow-text: #dcdcdc;
--follow-icon-fill: var(--new-pillar-colour);
--standfirst-text: #dcdcdc;
--standfirst-link-text: var(--new-pillar-colour);
--standfirst-link-border: var(--new-pillar-colour);
--byline: var(--new-pillar-colour);
--article-meta-lines: var(--headerBorderColor);
--byline: var(--darkmode-pillar);
}
:root[data-rendering-target="apps"] .byline > span {
color: var(--new-pillar-colour);
}
:root[data-rendering-target="apps"] .byline > span > div:has(+[name="FollowWapper"]) {
background-image: var(--headerBorderColor), var(--headerBorderColor) 1px, transparent 1px;
}
@media (prefers-color-schemeJeg reiste til Oslo i tidlig høst, og det føltes som å tre inn i fremtiden – eller i det minste et glimt av en mulig fremtid. Jeg kjørte nordover i den stille, digitale boblen til min elektriske leiebil. I 2024 ble Norge det første landet i verden der elbiler utgjorde flere enn bensinbiler.
En glatt, perfekt motorvei strakte seg mellom jordbruksland og lave åser dekket av tett grønn skog. Lange tunneler førte veien opp over bredden av Mjøsa, Norges største innsjø. Etter litt over en time svingte veien nedover og løp parallelt med strandkanten.
Gjennom glipene i en rekke gullfargede bjørketrær brøt en høy, slank struktur horisonten. Den reiste seg fra vannkanten, kronet av en trekantet krone av nakne, sammenlåste bjelker. Mot den tunge grå himmelen og den omliggende tåken ga den bleke brente oransje fasaden en myk varme. Det var den eneste høye bygningen i landskapet, kjent som Mjøstårnet: et 18-etasjers, 84 meter høyt tre skyskraper – den høyeste heltrebygningen i verden.
Mjøstårnet ligger på en strandlinje ved den lille byen Brumunddal. Det huser kontorer, leiligheter og et hotell med 72 rom. Jeg bodde i 11. etasje, og jeg kjørte opp i en heissjakt laget helt av tre (selv om heiskabinen selv var av stål og glass).
To sider av hjørnerommet mitt hadde store bilde vinduer – ett vendt vestover over innsjøen, det andre nordover langs stranden. Gulvene var av tre, det samme var bordene og lampene. Det var en seng av tre og et par lave svingstoler laget av tynne lister av bøyd furu.
Det mest slående trekket var den enorme tre søylen som dannet både hjørnet av rommet mitt og, som strakte seg i segmenter over og under meg, en av de fire kantpunktene i hele tårnet. Den så betryggende solid ut, som stammen til et massivt tre strippet for bark og formet til en glatt, organisk versjon av en stål- eller betongstiver. Det var nesten akkurat hva det var – bortsett fra at det ikke bare var ett tre, men mange: en serie presisjonskuttede tømmerblokker presset og holdt sammen med ekstremt sterk lim, noe som skapte det som er kjent som massivtre, eller limtre (kort for «limt laminert tømmer»).
Stykket i rommet mitt var det største av sitt slag i bygningen, med et tverrsnitt på omtrent 0,6 m x 1,5 m. Selv om det var belagt med en blek voks-laminat, kunne man fortsatt se de unike knutene og virvlene som løp over de sammensatte skivene av tre.
Gjennom vinduet gled tåke i bølger nedover de skogkledde skråningene på den andre siden. Vindkast blåste fin regn mot glasset. Inne var det ingen lyd. Utsikten skiftet fra hvit til grå til den nærme blå natten. Til slutt la jeg meg til å sove i det jeg innså var en slags barndomsfantasi – et gigantisk trehus i himmelen.
Mjøstårnet begynte som en skisse på en serviett. To rektangulære bokser tegnet med blå kulepenn: en liggende flat, den andre stående på ende oppå den. Den ferdige strukturen er ikke langt fra det opprinnelige utkastet – bortsett fra at det andre rektangelet fortsatte å strekke seg høyere og høyere. «Høyde var veldig viktig her,» sa Arthur Buchardt, utvikleren som tegnet skissen, til meg. «Det måtte være et signal. For å vise hva som er mulig. Og jeg tror nå det har fått mange mennesker til å våkne.»
Jeg møtte Buchardt dagen etter at jeg ankom, i 18. etasje i tårnet, hvor han har sin egen penthouse-leilighet. Nå i slutten av 70-årene har han utseendet til en Bond-skurk – høy, bred, kraftig sunn, perfekt skallet – og manerene til en elsket grandonkel, rask til å le og full av en lys, ungdommelig energi. Vi satt ved stuebordet hans – av tre, naturligvis – og nippet til svart kaffe mens vi så ut gjennom de gulv-til-tak-vinduene som utgjør hele den vestlige siden av penthouset.
Alt treverket, fortalte Buchardt meg, mens han gestikulerte rundt i leiligheten og bygningen som helhet, kom fra det nærliggende landskapet. I midten av rommet sto en L-formet søyle av gr