/* Layout: kalkpuss-galleri. Festede scener skrubbes av scroll. Merket konstrueres på et modulnett i introen,
   og kobber er eneste aksent: én kobberting per skjerm. Ett lyst uttrykk, valgt med vilje. */
:root{
  --bg:#F3F1EC; --paper:#FBFAF7; --ink:#171C20; --ink-2:#5E6266; --ink-3:#9B9D9F; --line:#DDD9D1;
  --slate:#1D2327; --cu:#B0703F; --cu-ink:#8C5329;
  --f-sans:"Geist", "Helvetica Neue", Arial, sans-serif;
  --f-mono:"Geist Mono", ui-monospace, Consolas, monospace;
  --gut:clamp(16px,4vw,56px);
  color-scheme:light;
}
html{scroll-behavior:auto}
body{background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
*{box-sizing:border-box}
a{color:inherit}
em{font-style:normal;color:var(--cu-ink)}
:focus-visible{outline:2px solid var(--cu);outline-offset:3px}
h1,h2,h3{font-family:var(--f-sans);font-weight:500;margin:0;text-wrap:balance;letter-spacing:-.035em;line-height:1.05}
p{margin:0}
.mono{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}
.eyebrow{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--cu-ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- merket ---------- */
.mk{display:block;overflow:visible;color:currentColor}
.lockup{display:inline-flex;align-items:center;gap:.7em;line-height:1}
.lockup .mk{height:2.35em;width:auto}
.lockup i{display:block;width:1px;height:2.35em;background:currentColor;opacity:.45}
.lockup .wm{display:flex;flex-direction:column;gap:.42em;font-weight:500;letter-spacing:.24em;font-size:1em;white-space:nowrap}

/* ---------- topp og skinne ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:center;
  padding:calc(16px + env(safe-area-inset-top,0px)) var(--gut) 16px;mix-blend-mode:difference;color:#fff;pointer-events:none}
.top .lockup{font-size:8.5px}
.top a{pointer-events:auto;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1px solid currentColor;padding:8px 13px;border-radius:999px}
.top .lockup{opacity:var(--topo,0);transition:opacity .3s}
.rail{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:50;mix-blend-mode:difference;color:#fff;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.rail ol{margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.rail li{list-style:none}
.rail a{display:flex;flex-direction:row-reverse;align-items:center;gap:10px;padding:5px 0;text-decoration:none;opacity:.42;transition:opacity .3s}
.rail a:hover,.rail a:focus-visible{opacity:1}
.rail a i{display:inline-block;width:14px;height:1px;background:currentColor;transition:width .35s}
.rail a b{font-weight:400;white-space:nowrap}
.rail a.on{opacity:1}
.rail a.on i{width:34px}
@media (max-width:1180px){.rail a b{max-width:0;overflow:hidden;transition:max-width .35s}.rail:hover a b,.rail a.on b{max-width:12em}}

/* ---------- scenemotor ---------- */
.scene{position:relative}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}

/* ---------- 0 · Intro: merket konstrueres ---------- */
#intro{height:420vh}
#intro .stage{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:0 var(--gut)}
.lock{display:flex;align-items:center;transform:translateY(var(--ny,0px));will-change:transform}
#bigmark{height:clamp(56px,8vw,104px);width:auto;transform:scale(var(--s,1));transform-origin:50% 50%;color:var(--ink)}
#bigmark .seg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:butt;stroke-dasharray:1;stroke-dashoffset:1}
.cons{opacity:var(--co,1)}
.cons .grid line{stroke:var(--line);stroke-width:.6;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--gk,0))}
.cons .ring{fill:none;stroke:var(--cu);stroke-width:.8;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--rk,0))}
.cons .ax{stroke:var(--cu);stroke-width:.8;vector-effect:non-scaling-stroke;stroke-dasharray:3 3;opacity:var(--ak,0)}
.cons .dim{stroke:var(--ink-2);stroke-width:.8;vector-effect:non-scaling-stroke;opacity:var(--ak,0)}
.cons text{font-family:var(--f-mono);font-size:.44px;letter-spacing:.06px;fill:var(--cu-ink);opacity:var(--ak,0);text-transform:uppercase}
.cons text.k{fill:var(--ink-2)}
.cons .dot{fill:var(--cu);opacity:var(--ak,0)}
.lock .rule{display:block;width:1px;height:clamp(56px,8vw,104px);background:var(--ink);opacity:.45;transform:scaleY(var(--t,0));margin:0 calc(var(--t,0) * clamp(14px,1.8vw,26px))}
.lock .wm{display:flex;flex-direction:column;gap:.5em;overflow:hidden;width:0;white-space:nowrap;
  font-size:clamp(17px,2.35vw,30px);font-weight:500;letter-spacing:.24em;line-height:1}
.lock .wm span{display:block}
.intro-sub{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transform:translateY(var(--ny,0px))}
.intro-sub .claim{font-size:clamp(15px,1.3vw,18px);font-weight:500;letter-spacing:-.01em}
.intro-sub .since{color:var(--ink-3)}
.intro-img{position:absolute;left:var(--gut);right:var(--gut);bottom:var(--gut);height:0;overflow:hidden;will-change:height}
.intro-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.hint{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);color:var(--ink-3)}
.hint::after{content:"";display:block;width:1px;height:34px;background:var(--ink-3);margin:10px auto 0;animation:drip 1.8s infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.cons-cap{position:absolute;left:var(--gut);bottom:28px;color:var(--ink-3);max-width:30ch}

/* ---------- I · Løftet ---------- */
#loftet{height:400vh}
#loftet .stage{display:flex;flex-direction:column;justify-content:center;padding:0 calc(var(--gut) + 110px) 0 var(--gut)}
.vow{font-size:clamp(34px,6.2vw,96px);letter-spacing:-.05em;line-height:.98;max-width:13ch}
.vow .w{opacity:.12;transition:opacity .25s}
.vow .w.on{opacity:1}
.vow2{margin-top:.35em;font-size:clamp(34px,6.2vw,96px);letter-spacing:-.05em;line-height:.98;color:var(--cu-ink)}
.vow-img{position:absolute;inset:0;clip-path:inset(calc(50% - var(--w,0) * 50%) calc(50% - var(--w,0) * 50%));will-change:clip-path}
.vow-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.vow-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,28,32,0) 40%,rgba(23,28,32,.62))}
.vow-foot{position:absolute;left:var(--gut);right:var(--gut);bottom:10vh;z-index:2;color:#fff;display:flex;flex-direction:column;gap:12px}
.vow-foot h2{font-size:clamp(28px,4.2vw,64px);letter-spacing:-.045em;max-width:16ch}
.vow-foot p{max-width:40ch;color:rgba(255,255,255,.86);font-size:15px}

/* ---------- II · Tomten ---------- */
#tomten{height:400vh}
#tomten .stage{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:5vw;align-items:center;padding:12vh calc(var(--gut) + 110px) 8vh var(--gut)}
.copy{display:flex;flex-direction:column;gap:16px;max-width:430px}
.copy h2{font-size:clamp(24px,2.8vw,40px)}
.copy p{color:var(--ink-2)}
.site{position:relative;min-width:0}
.site svg{width:100%;height:auto;max-height:72vh;display:block;overflow:visible}
.site .cont{fill:none;stroke:var(--ink-3);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.6}
.site .cont.b{stroke:var(--ink-2);opacity:.75}
.site .arc{fill:none;stroke:var(--ink-2);stroke-width:1;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}
.site .ray{stroke:var(--cu);stroke-width:1.4;vector-effect:non-scaling-stroke}
.site .hus rect,.site .hus path{fill:var(--paper);stroke:var(--ink);stroke-width:1.4;vector-effect:non-scaling-stroke}
.site .hus .ter{fill:var(--cu);fill-opacity:.18;stroke:var(--cu)}
.site text{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;fill:var(--ink-2);text-transform:uppercase}
.site .sun{fill:var(--cu)}
.site .halo{fill:var(--cu);opacity:.18}
.readout{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--ink-3);margin-top:10px}
.readout b{color:var(--cu-ink);font-weight:500}

/* ---------- III · Spørsmålene ---------- */
#sporsmal{height:460vh}
#sporsmal .stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;align-items:center;padding:12vh calc(var(--gut) + 110px) 8vh var(--gut)}
.q-head{display:flex;flex-direction:column;gap:18px;max-width:520px}
.q-head h2{font-size:clamp(30px,4.2vw,64px);letter-spacing:-.045em}
.q-head p{color:var(--ink-2);max-width:40ch}
.qs{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.qs li{display:grid;grid-template-columns:18px 1fr;gap:14px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;letter-spacing:-.01em;color:var(--ink-3);transition:color .35s}
.qs li::before{content:"";width:10px;height:10px;border:1px solid var(--ink-3);transform:translateY(1px);transition:background .35s,border-color .35s}
.qs li.on{color:var(--ink)}
.qs li.on::before{background:var(--cu);border-color:var(--cu)}
.q-end{margin-top:18px;color:var(--ink-2)}
.q-end b{color:var(--ink);font-weight:500}

/* ---------- IV · Detaljene ---------- */
#detaljer{height:440vh}
#detaljer .stage{display:flex;flex-direction:column;justify-content:center;gap:28px;padding:11vh 0 7vh}
.det-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;padding:0 calc(var(--gut) + 110px) 0 var(--gut)}
.det-head h2{font-size:clamp(24px,2.8vw,40px);max-width:15ch}
.det-head p{max-width:42ch;color:var(--ink-2)}
.track{display:flex;gap:clamp(14px,2vw,28px);padding:0 var(--gut);transform:translateX(var(--x,0px));will-change:transform;width:max-content}
.det{width:clamp(250px,30vw,460px);display:flex;flex-direction:column;gap:12px;flex:none}
.det-img{position:relative;aspect-ratio:4/5;max-height:56vh;overflow:hidden}
.det-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.det h3{font-size:17px;letter-spacing:-.02em;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.det h3 span{color:var(--ink-3)}
.det p{color:var(--ink-2);max-width:38ch}

/* ---------- V · Arkivet ---------- */
#arkivet{height:560vh}
#arkivet .stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:1fr auto;gap:4vh 5vw;padding:12vh calc(var(--gut) + 110px) 7vh var(--gut)}
.ark-copy{display:flex;flex-direction:column;gap:14px;align-self:center;min-width:0}
.ark-copy h2{font-size:clamp(22px,2.4vw,34px)}
.ark-year{font-size:clamp(64px,10vw,150px);font-weight:500;letter-spacing:-.06em;line-height:.85;font-variant-numeric:tabular-nums}
.ark-name{font-size:clamp(20px,2vw,28px);letter-spacing:-.03em;font-weight:500}
.ark-desc{color:var(--ink-2)}
.ark-lenke{margin-top:8px;font-size:14px}
.ark-lenke a{font-weight:500;border-bottom:1px solid var(--cu);padding-bottom:1px}
.ark-sum{display:flex;gap:36px;border-top:1px solid var(--line);padding-top:14px;margin-top:6px}
.ark-sum div{display:flex;flex-direction:column;gap:2px}
.ark-sum b{font-size:30px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.ark-sum span{color:var(--ink-3)}
.ark-img{position:relative;align-self:center;aspect-ratio:4/3;max-height:58vh;width:100%;background:var(--paper)}
.ark-img div{position:absolute;inset:0;opacity:0;transition:opacity .45s}
.ark-img div img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.ark-img div.on{opacity:1}
.ark-img .none{display:flex;align-items:center;justify-content:center;color:var(--ink-3);background:var(--paper)}
.axis{grid-column:1/-1;position:relative;height:46px}
.axis .base{position:absolute;left:0;right:0;top:14px;height:1px;background:var(--line)}
.axis .fill{position:absolute;left:0;top:14px;height:1px;background:var(--ink);width:var(--ax,0%)}
.axis i{position:absolute;top:10px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--bg);border:1px solid var(--ink-3)}
.axis i.past{background:var(--ink);border-color:var(--ink)}
.axis i.cur{background:var(--cu);border-color:var(--cu);transform:scale(1.35)}
.axis .yr{position:absolute;top:28px;font-family:var(--f-mono);font-size:10px;color:var(--ink-3);transform:translateX(-50%)}

/* ---------- VI · Til salgs ---------- */
.salg{padding:16vh calc(var(--gut) + 110px) 14vh var(--gut);display:flex;flex-direction:column;gap:36px;border-top:1px solid var(--line)}
.salg header{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.salg h2{font-size:clamp(26px,3.2vw,48px);max-width:14ch}
.salg header p{max-width:40ch;color:var(--ink-2)}
.salg-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,40px)}
.obj{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink)}
.obj-img{position:relative;aspect-ratio:4/3;overflow:hidden}
.obj-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.obj-img i{position:absolute;left:0;top:0;z-index:1;background:var(--bg);font-style:normal;padding:6px 10px;color:var(--ink-2)}
.obj h3{font-size:clamp(20px,2vw,28px);letter-spacing:-.03em}
.obj p{color:var(--ink-2);max-width:44ch}
.obj .go{align-self:flex-start;font-weight:500;border-bottom:1px solid var(--cu);padding-bottom:2px}
.obj:hover .go{color:var(--cu-ink)}

/* ---------- VII · Samtalen ---------- */
.samtale{background:var(--slate);color:var(--paper);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6vw;padding:18vh calc(var(--gut) + 110px) 16vh var(--gut)}
.samtale h2{font-size:clamp(32px,4.6vw,68px);letter-spacing:-.045em;max-width:13ch}
.samtale .lead{color:rgba(251,250,247,.72);max-width:44ch;margin-top:22px;font-size:15px}
.kontakt{display:flex;flex-direction:column;border-top:1px solid rgba(251,250,247,.18);margin-top:40px;max-width:520px}
.kontakt div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid rgba(251,250,247,.18);align-items:baseline}
.kontakt span{color:rgba(251,250,247,.5)}
.kontakt b{font-weight:500;font-size:17px;letter-spacing:-.01em;user-select:all}
.kontakt b.cu{color:#D9A27A}

/* ---------- VIII · Merket ---------- */
.merket{padding:16vh calc(var(--gut) + 110px) 10vh var(--gut);display:flex;flex-direction:column;gap:48px}
.m-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;align-items:center}
.m-draw{background:var(--paper);padding:clamp(28px,5vw,72px);display:flex;justify-content:center;border:1px solid var(--line)}
.m-draw svg{width:min(100%,420px);height:auto;overflow:visible}
.m-copy{display:flex;flex-direction:column;gap:16px;max-width:460px}
.m-copy h2{font-size:clamp(24px,2.8vw,40px)}
.m-copy p{color:var(--ink-2)}
.m-rules{list-style:none;margin:6px 0 0;padding:0;border-top:1px solid var(--line)}
.m-rules li{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.m-rules li span{color:var(--ink-3)}
.m-var{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tile{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;position:relative;font-size:clamp(9px,1vw,12px)}
.tile small{position:absolute;left:12px;bottom:10px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.6}
.tile.kalk{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.tile.skifer{background:var(--slate);color:var(--paper)}
.tile.kobber{background:var(--cu);color:var(--paper)}
.m-sizes{display:flex;align-items:flex-end;gap:clamp(20px,4vw,56px);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px}
.m-sizes figure{margin:0;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.m-sizes figcaption{color:var(--ink-3)}
.fav{display:flex;align-items:center;justify-content:center;background:var(--slate);color:var(--paper)}
.sw{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}
.sw div{display:flex;flex-direction:column;gap:4px;font-size:13px}
.sw i{display:block;aspect-ratio:3/2;margin-bottom:6px}
.sw b{font-weight:500}
.sw span{color:var(--ink-3)}
.note{color:var(--ink-3);font-size:13px}
.m-app{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.2fr);gap:clamp(16px,3vw,40px);align-items:end}
.app{margin:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.app figcaption{color:var(--ink-3)}
.brev{aspect-ratio:210/297;background:var(--paper);border:1px solid var(--line);box-shadow:0 24px 40px -28px rgba(23,28,32,.35);padding:9% 10%;display:flex;flex-direction:column;gap:9%;color:var(--ink)}
.brev-meta{display:flex;justify-content:space-between;font-size:7px;color:var(--ink-3)}
.brev-body{display:flex;flex-direction:column;gap:7px;font-size:9px}
.brev-body b{font-weight:500;margin-bottom:4px}
.brev-body span{height:3px;background:var(--line)}
.brev-body span.s{width:58%;margin-bottom:6px}
.brev-foot{margin-top:auto;display:flex;justify-content:space-between;gap:6px;font-size:6px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:6px}
.kort-par{display:flex;flex-direction:column;gap:14px}
.kort{aspect-ratio:85/55;box-shadow:0 18px 30px -22px rgba(23,28,32,.45)}
.kort.fram{background:var(--slate);color:var(--paper);display:flex;align-items:center;justify-content:center;width:82%}
.kort.fram .mk{height:auto;width:15%}
.kort.bak{background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:7%;display:flex;flex-direction:column;justify-content:space-between;width:82%;margin-left:18%}
.kort.bak div{display:flex;flex-direction:column;gap:4px;font-size:11px}
.kort.bak b{font-weight:500}
.kort.bak .mono{font-size:7.5px;color:var(--ink-2);line-height:1.6}
.skilt{aspect-ratio:3/2;background:var(--slate);color:var(--paper);padding:7%;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 24px 40px -28px rgba(23,28,32,.5);border-bottom:6px solid var(--cu)}
.skilt p{font-size:clamp(16px,2vw,28px);font-weight:500;letter-spacing:-.035em;line-height:1.08;max-width:14ch}
.skilt div{display:flex;justify-content:space-between;font-size:8.5px;opacity:.7}
.copy-btn{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;background:none;color:rgba(251,250,247,.6);border:1px solid rgba(251,250,247,.25);border-radius:999px;padding:5px 10px;cursor:pointer;justify-self:end}
.copy-btn:hover{color:var(--paper);border-color:rgba(251,250,247,.6)}
.kontakt div{grid-template-columns:110px 1fr auto!important}
.axis button{position:absolute;top:2px;width:25px;height:25px;margin-left:-12.5px;background:none;border:0;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.axis button i{position:static;margin:0}
.axis button:hover i{border-color:var(--cu)}
.obj-img{transition:transform .8s}
.obj:hover .obj-img{transform:scale(1.02)}
@media (max-width:820px){.m-app{grid-template-columns:1fr}.brev{width:70%}.kontakt div{grid-template-columns:84px 1fr auto!important}}
.colo{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--ink-3);border-top:1px solid var(--line);padding:22px var(--gut) 28px}

/* ---------- mobil ---------- */
@media (max-width:820px){
  .rail{display:none}
  #loftet .stage{padding:0 var(--gut)}
  #tomten .stage{grid-template-columns:1fr;align-content:center;gap:3vh;padding:11vh var(--gut) 5vh}
  #tomten .copy p{display:none}
  .site svg{max-height:46vh}
  #sporsmal .stage{grid-template-columns:1fr;align-content:center;gap:3vh;padding:11vh var(--gut) 5vh}
  .q-head h2{font-size:28px}
  .q-head p{display:none}
  .qs li{font-size:13px;padding:7px 0;gap:10px}
  .det-head{padding:0 var(--gut)}
  .det-head p{display:none}
  .det{width:74vw}
  .det-img{max-height:46vh}
  #arkivet .stage{grid-template-columns:1fr;grid-template-rows:auto auto auto;align-content:center;padding:11vh var(--gut) 5vh;gap:2.4vh}
  .ark-img{order:-1;max-height:30vh}
  .ark-year{font-size:56px}
  .axis .yr{display:none}
  .axis .yr.edge{display:block}
  .salg,.merket{padding:12vh var(--gut) 10vh}
  .salg-list{grid-template-columns:1fr}
  .samtale{grid-template-columns:1fr;padding:14vh var(--gut) 12vh;gap:40px}
  .kontakt div{grid-template-columns:84px 1fr}
  .m-top{grid-template-columns:1fr}
  .m-var{grid-template-columns:1fr}
  .m-rules li{grid-template-columns:96px 1fr}
}
@media (prefers-reduced-motion:reduce){.hint::after{animation:none}.vow .w,.qs li,.ark-img div{transition:none}}

/* ---------- produksjon: lenker, skjema, profil ---------- */
.kontakt a{font-weight:500;font-size:17px;letter-spacing:-.01em;text-decoration:none;color:var(--paper)}
.kontakt a.cu{color:#D9A27A}
.kontakt a:hover{text-decoration:underline;text-underline-offset:4px}
.samtale{align-items:end}
.skjema{display:flex;flex-direction:column;gap:18px;width:100%;max-width:520px;justify-self:end}
.skjema label{display:flex;flex-direction:column;gap:8px}
.skjema label .mono{color:rgba(251,250,247,.5)}
.skjema input,.skjema textarea{font:inherit;font-size:16px;color:var(--paper);background:transparent;border:0;border-bottom:1px solid rgba(251,250,247,.28);padding:8px 0;border-radius:0;resize:vertical}
.skjema input:focus,.skjema textarea:focus{outline:none;border-bottom-color:#D9A27A}
.send{align-self:flex-start;margin-top:8px;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--paper);color:var(--slate);border:0;border-radius:999px;padding:15px 24px;cursor:pointer;display:inline-flex;gap:10px;align-items:center}
.send::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--cu)}
.send:hover{background:#fff}
.m-mer a{font-weight:500;text-decoration:none;border-bottom:1px solid var(--cu);padding-bottom:2px}
.m-mer a:hover{color:var(--cu-ink)}
.colo a{text-decoration:none}
.colo a:hover{color:var(--ink)}
.top a.hjem{border:0;padding:0;border-radius:0}
@media (max-width:820px){.skjema{justify-self:stretch}.kontakt{margin-top:28px}}
.sf-knapp{font-family:var(--f-mono)!important;font-weight:400!important}

/* ---------- tekstsider: /prosjekter/, /om/ ---------- */
.fotnav{display:flex;gap:18px;flex-wrap:wrap}
.side{padding:18vh var(--gut) 12vh;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:9vh}
.side-hode{display:flex;flex-direction:column;gap:18px;max-width:760px}
.side-hode h1{font-size:clamp(34px,5vw,72px);letter-spacing:-.05em;line-height:1}
.ingress{font-size:clamp(16px,1.4vw,19px);color:var(--ink-2);max-width:52ch}
.hopp{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:8px}
.hopp a{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--cu);padding-bottom:2px}
.gruppe{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line);padding-top:28px;scroll-margin-top:90px}
.gruppe h2{font-size:clamp(24px,2.8vw,40px)}
.gruppe-ingress{color:var(--ink-2);max-width:56ch}
.kort-rad{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:28px 20px;margin-top:12px}
.prosjekt{display:flex;flex-direction:column;gap:6px;min-width:0}
.prosjekt h3 a,.prosjekt-lenke{color:inherit;text-decoration:none}
.prosjekt-lenke{display:block}
.prosjekt-hero{margin:0}
.prosjekt-hero img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.prosjekt img,.uten-bilde{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--paper);margin-bottom:6px}
.uten-bilde{display:flex;align-items:center;justify-content:center;color:var(--ink-3);border:1px solid var(--line)}
.prosjekt .aar{color:var(--cu-ink)}
.prosjekt h3{font-size:19px;letter-spacing:-.025em}
.prosjekt .fakta{color:var(--ink-2);font-size:14px}
.prosjekt .go{align-self:flex-start;font-weight:500;text-decoration:none;border-bottom:1px solid var(--cu);padding-bottom:2px;margin-top:4px}
.prosjekt .solgt{color:var(--ink-3);margin-top:4px}
.side-slutt{border-top:1px solid var(--line);padding-top:28px;color:var(--ink-2)}
.side-slutt a,.tekst a{color:var(--ink);font-weight:500;text-decoration:none;border-bottom:1px solid var(--cu)}
.tekst{display:flex;flex-direction:column;gap:14px;max-width:68ch}
.tekst h2{font-size:clamp(22px,2.4vw,32px)}
.tekst p{color:var(--ink-2);font-size:16px;line-height:1.7}
.faq details{border-top:1px solid var(--line);padding:16px 0}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:500;font-size:17px;letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--cu-ink);font-family:var(--f-mono)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px}

/* ---------- merket i materialer ---------- */
.mat-hode{display:flex;flex-direction:column;gap:14px;max-width:640px;border-top:1px solid var(--line);padding-top:32px}
.mat-hode h2{font-size:clamp(24px,2.8vw,40px)}
.mat-hode p{color:var(--ink-2)}
.mat-rad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}
.mat{margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.mat-flis svg{display:block;width:100%;height:auto;aspect-ratio:4/3}
.mat figcaption{display:flex;flex-direction:column;gap:2px}
.mat figcaption b{font-weight:500;font-size:15px;letter-spacing:-.01em}
.mat figcaption span{color:var(--ink-3)}
@media (max-width:820px){.mat-rad{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.mat-rad{grid-template-columns:1fr}}
