/* Ønvik Eiendomsservice. Kalk-galleri med festede scener som skrubbes av scroll, samme system som Brusletto Eiendom.
   Gran er tekst og flater, signal er eneste aksent: én signalting per skjerm. */
:root{
  --bg:#F3F2EE; --paper:#FAF9F6; --ink:#16231C; --ink-2:#56605A; --ink-3:#969C97; --line:#DCDAD2;
  --gran:#1B2B22; --sig:#D9602E; --sig-ink:#B2461B; --sig-l:#F08A5D;
  --gress:#C9D2B4; --gress-2:#B7C29C; --lov:#A9B98C; --host:#C68A3E;
  --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{margin:0;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}
:focus-visible{outline:2px solid var(--sig);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;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--sig-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:.8em;line-height:1}
.lockup .mk{height:3.3em;width:3.3em}
.lockup i{display:block;width:1px;height:3.3em;background:currentColor;opacity:.42}
.wm{display:flex;flex-direction:column;gap:.62em;font-weight:500;white-space:nowrap;line-height:1}
.wm b{font-weight:500;font-size:2.3em;letter-spacing:.486em;line-height:.74;margin-right:-.486em}
.wm span{font-size:1em;letter-spacing:.16em;margin-right:-.16em}

/* ---------- 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:7px;opacity:var(--topo,0);transition:opacity .3s}
.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 a.hjem{border:0;padding:0;border-radius:0}
.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 ---------- */
#intro{height:380vh}
#intro .stage{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;padding:0 var(--gut)}
.lock{display:flex;align-items:center;transform:translateY(var(--ny,0px))}
#bigmark{height:clamp(64px,8.6vw,112px);width:auto;aspect-ratio:1;transform:scale(var(--s,1));transform-origin:50% 50%;color:var(--ink)}
#bigmark .seg{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1}
#bigmark .slash{stroke-width:3.2}
.cons{opacity:var(--co,1)}
.cons .grid line{stroke:var(--line);stroke-width:.6;vector-effect:non-scaling-stroke;opacity:var(--gk,0)}
.cons .sq{fill:none;stroke:var(--ink-3);stroke-width:.05;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--rk,0))}
.cons .ring{fill:none;stroke:var(--sig);stroke-width:.05;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--rk,0))}
.cons .ax{stroke:var(--sig);stroke-width:.8;vector-effect:non-scaling-stroke;stroke-dasharray:3 3;opacity:var(--ak,0)}
.cons .ang{fill:none;stroke:var(--sig);stroke-width:.8;vector-effect:non-scaling-stroke;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(--sig-ink);opacity:var(--ak,0);text-transform:uppercase}
.cons text.k{fill:var(--ink-2)}
.cons .dot{fill:var(--sig);opacity:var(--ak,0)}
.lock .rule{display:block;width:1px;height:clamp(64px,8.6vw,112px);background:var(--ink);opacity:.42;transform:scaleY(var(--t,0));margin:0 calc(var(--t,0) * clamp(14px,1.8vw,26px))}
.lock .wm{overflow:hidden;width:0;font-size:clamp(11px,1.45vw,18.5px);gap:.68em}
.intro-sub{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;transform:translateY(var(--ny,0px))}
.intro-sub .claim{font-size:clamp(18px,1.9vw,26px);font-weight:500;letter-spacing:-.025em}
.intro-sub .since{color:var(--ink-3)}
.intro-sub .since a{color:var(--sig-ink);text-decoration:none;border-bottom:1px solid currentColor}
.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:32ch}

/* ---------- I · Løftet ---------- */
#loftet{height:380vh}
#loftet .stage{display:flex;flex-direction:column;justify-content:center;padding:0 calc(var(--gut) + 110px) 0 var(--gut)}
.vow{font-size:clamp(34px,6vw,94px);letter-spacing:-.05em;line-height:.98;max-width:15ch}
.vow .w{opacity:.12;transition:opacity .25s}
.vow .w.on{opacity:1}
.vow2{margin-top:.4em;font-size:clamp(24px,3.4vw,52px);letter-spacing:-.04em;line-height:1.02;color:var(--sig-ink);font-weight:500}
.vow-panel{position:absolute;inset:0;background:var(--gran);color:var(--paper);clip-path:inset(calc(50% - var(--w,0) * 50%) calc(50% - var(--w,0) * 50%));display:flex;align-items:center;padding:0 calc(var(--gut) + 110px) 0 var(--gut)}
.vp-in{display:flex;flex-direction:column;gap:18px;opacity:var(--vo,0)}
.vp-in .mono{color:rgba(250,249,246,.55)}
.vp-tel{font-size:clamp(52px,11vw,180px);font-weight:500;letter-spacing:-.055em;line-height:.9;text-decoration:none;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:.18em}
.vp-tel::before{content:"";width:.14em;height:.14em;border-radius:50%;background:var(--sig);flex:none;animation:puls 2.2s infinite}
@keyframes puls{0%,100%{opacity:1}50%{opacity:.35}}
.vp-in p{max-width:46ch;color:rgba(250,249,246,.78);font-size:15px}

/* ---------- II · Året ---------- */
#aaret{height:620vh}
#aaret .stage{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5vw;align-items:center;padding:11vh calc(var(--gut) + 110px) 7vh var(--gut)}
.aar-copy{display:flex;flex-direction:column;gap:18px;min-width:0}
.aar-copy h2{font-size:clamp(24px,2.8vw,40px)}
.aar-dial{display:flex;align-items:center;gap:22px}
#dial{width:clamp(120px,15vw,210px);height:auto;flex:none;overflow:visible}
#dial .half{fill:none;stroke-width:2;transition:stroke .5s}
#dial .half.on{stroke:var(--ink)}
#dial .half.off{stroke:var(--line)}
#dial .slash{fill:var(--ink)}
#dial .tick{stroke:var(--ink-3);stroke-width:.08}
#dial text{font-family:var(--f-mono);font-size:.82px;letter-spacing:.06px;fill:var(--ink-3);text-anchor:middle;dominant-baseline:central;text-transform:uppercase;transition:fill .3s}
#dial text.on{fill:var(--sig-ink)}
#dial .hand{fill:var(--sig)}
#dial .halo{fill:var(--sig);opacity:.2}
.aar-now{display:flex;flex-direction:column;gap:6px}
.aar-mnd{font-size:clamp(30px,3.6vw,54px);font-weight:500;letter-spacing:-.05em;line-height:.95}
.aar-half{color:var(--ink-3)}
.aar-jobb{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);min-height:8.4em}
.aar-jobb li{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;letter-spacing:-.01em;animation:inn .45s both}
.aar-jobb li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ink);transform:translateY(1px)}
.aar-jobb li:first-child::before{background:var(--sig)}
@keyframes inn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.aar-tegning{min-width:0;display:flex;flex-direction:column;gap:10px}
.aar-tegning svg{width:100%;height:auto;max-height:70vh;display:block}
.aar-note{color:var(--ink-3)}

/* tegningen: blekk på kalk, sesongen styres med klasser på svg-en */
.yr *{transition:opacity .6s,fill .6s,stroke .6s}
.yr .ground{stroke:var(--ink);stroke-width:1.4}
.yr .lawn{fill:var(--paper)}
.yr.l-var .lawn{fill:#E2E3D2}
.yr.l-gronn .lawn{fill:var(--gress)}
.yr.l-host .lawn{fill:#D9D5BC}
.yr.l-brun .lawn{fill:#E4DFD2}
.yr.l-sno .lawn{fill:#fff}
.yr .stripes rect{fill:var(--gress-2);opacity:0}
.yr.stripes .stripes rect{opacity:1}
.yr .tall path{fill:none;stroke:#7E8C62;stroke-width:1.3;opacity:0}
.yr.tall .tall path{opacity:1}
.yr .walk{fill:var(--paper);stroke:var(--ink);stroke-width:1.2}
.yr .trunk{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round}
.yr .crown{fill:var(--lov);stroke:var(--ink);stroke-width:1.4;opacity:0}
.yr.t-knopp .crown{opacity:.45;fill:#D6DDC0}
.yr.t-full .crown{opacity:1}
.yr.t-host .crown{opacity:1;fill:var(--host)}
.yr .hedge{fill:#9EAE80;stroke:var(--ink);stroke-width:1.4;opacity:0}
.yr.h-vill .shaggy{opacity:1}
.yr.h-klipt .trimmed{opacity:1}
.yr .flowers circle{fill:var(--sig);opacity:0}
.yr.flowers .flowers circle{opacity:.9}
.yr .rake{fill:none;stroke:var(--ink);stroke-width:1.4;opacity:0}
.yr .rake ellipse{fill:var(--host);stroke:none}
.yr.rake .rake{opacity:1}
.yr .chim,.yr .roof,.yr .wall,.yr .door{fill:var(--paper);stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round}
.yr .ridge{stroke:var(--ink);stroke-width:1.4}
.yr .gutter{fill:var(--paper);stroke:var(--ink);stroke-width:1.2}
.yr .pipe{fill:none;stroke:var(--ink);stroke-width:4;stroke-linejoin:round}
.yr .wins rect{fill:#EEF0EC;stroke:var(--ink);stroke-width:1.2}
.yr .wins path{stroke:var(--ink);stroke-width:1}
.yr .canopy{stroke:var(--ink);stroke-width:2.4}
.yr .knob{fill:var(--ink)}
.yr .glint path{stroke:var(--sig);stroke-width:1.6;stroke-linecap:round;opacity:0}
.yr.glint .glint path{opacity:1}
.yr .ladder{fill:none;stroke:var(--sig);stroke-width:1.6;opacity:0}
.yr.ladder .ladder{opacity:1}
.yr .roofsnow,.yr .snowcap,.yr .snow path{fill:#fff;stroke:var(--ink);stroke-width:1.1;opacity:0}
.yr.snow .snow path,.yr.snow .snowcap{opacity:1}
.yr.roofsnow .roofsnow{opacity:1}
.yr .plow{fill:none;stroke:var(--sig);stroke-width:2;opacity:0}
.yr.plow .plow{opacity:1}
.yr.hl-gutter .gutter{fill:var(--sig);stroke:var(--sig)}
.yr.hl-roof .roofsnow{stroke:var(--sig);stroke-width:2}
.yr.hl-door .door{stroke:var(--sig);stroke-width:2.2}
.yr.hl-hedge .trimmed{stroke:var(--sig);stroke-width:2.2}
.yr.hl-stripes .stripes rect{fill:#AAB78E}
.yr .flakes circle{fill:#fff;stroke:var(--ink-3);stroke-width:.6;opacity:0;animation:fall linear infinite}
.yr.flakes .flakes circle{opacity:1}
.yr .leaves ellipse{fill:var(--host);opacity:0;animation:blad linear infinite}
.yr.leaves .leaves ellipse{opacity:1}
@keyframes fall{from{transform:translateY(-60px)}to{transform:translateY(420px)}}
@keyframes blad{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(-14px,60px) rotate(140deg)}100%{transform:translate(6px,130px) rotate(300deg)}}

/* ---------- III · Svarene ---------- */
#svarene{height:440vh}
#svarene .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:540px}
.q-head h2{font-size:clamp(30px,4vw,60px);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 auto;gap:14px;align-items:baseline;padding:12px 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 em{font-weight:500;color:var(--ink);opacity:0;transform:translateX(-6px);transition:opacity .35s,transform .35s;text-align:right}
.qs li.on{color:var(--ink-2)}
.qs li.on em{opacity:1;transform:none}
.qs li.on::before{background:var(--ink);border-color:var(--ink)}
.qs li.siste::before{background:var(--sig);border-color:var(--sig)}
.q-end{margin-top:18px;color:var(--ink-2)}
.q-end b{color:var(--ink);font-weight:500}

/* ---------- IV · Tjenestene ---------- */
#tjenester{height:420vh}
#tjenester .stage{display:flex;flex-direction:column;justify-content:center;gap:34px;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:16ch}
.det-head p{max-width:42ch;color:var(--ink-2)}
.track{display:flex;gap:clamp(14px,2vw,24px);padding:0 var(--gut);transform:translateX(var(--x,0px));will-change:transform;width:max-content}
.tj{width:clamp(260px,26vw,380px);flex:none;display:flex;flex-direction:column;gap:12px;background:var(--paper);border:1px solid var(--line);padding:clamp(20px,2.2vw,30px)}
.tj svg{width:96px;height:72px;fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}
.tj svg .a{stroke:var(--sig);stroke-width:1.8}
.tj .mono{color:var(--ink-3)}
.tj h3{font-size:clamp(19px,1.7vw,24px);letter-spacing:-.03em}
.tj p{color:var(--ink-2)}
.tj ul{list-style:none;margin:6px 0 0;padding:0;border-top:1px solid var(--line)}
.tj li{padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}

/* ---------- V · Petter ---------- */
.petter{padding:18vh calc(var(--gut) + 110px) 14vh var(--gut);display:flex;flex-direction:column;gap:56px;border-top:1px solid var(--line)}
.p-head{display:flex;flex-direction:column;gap:16px}
.p-head h2{font-size:clamp(30px,4.6vw,70px);letter-spacing:-.05em;max-width:16ch}
.p-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:6vw;align-items:start}
.p-text{display:flex;flex-direction:column;gap:16px;max-width:560px}
.p-text p{color:var(--ink-2);font-size:15px}
.p-text .p-lead{color:var(--ink);font-size:clamp(17px,1.5vw,21px);letter-spacing:-.02em;line-height:1.45}
.p-fakta{margin:0;border-top:1px solid var(--line)}
.p-fakta div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);align-items:baseline}
.p-fakta dt{color:var(--ink-3)}
.p-fakta dd{margin:0;font-size:15px}
.p-fakta b{font-size:30px;font-weight:500;letter-spacing:-.04em;margin-right:4px}
.p-fakta div:first-child b{color:var(--sig-ink)}
.p-prin{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
.p-prin li{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--ink);padding-top:14px;color:var(--ink-2)}
.p-prin .mono{color:var(--ink-3)}
.p-prin b{color:var(--ink);font-weight:500;font-size:18px;letter-spacing:-.025em}

/* ---------- VI · Kundene ---------- */
.kundene{padding:14vh calc(var(--gut) + 110px) 16vh var(--gut);display:flex;flex-direction:column;gap:44px;border-top:1px solid var(--line)}
.kundene header{display:flex;flex-direction:column;gap:14px}
.kundene h2{font-size:clamp(26px,3.2vw,48px)}
.k-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,64px)}
.k-list figure{margin:0;display:flex;flex-direction:column;gap:22px;justify-content:space-between}
.k-list blockquote{margin:0;font-size:clamp(19px,1.9vw,27px);letter-spacing:-.03em;line-height:1.3}
.k-list figcaption{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:12px}
.k-list figcaption b{font-weight:500}
.k-list figcaption span{color:var(--ink-3)}

/* ---------- VII · Befaring ---------- */
.samtale{background:var(--gran);color:var(--paper);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:6vw;padding:18vh calc(var(--gut) + 110px) 16vh var(--gut);align-items:end}
.samtale h2{font-size:clamp(32px,4.6vw,68px);letter-spacing:-.045em;max-width:13ch}
.samtale .lead{color:rgba(250,249,246,.74);max-width:46ch;margin-top:22px;font-size:15px}
.kontakt{display:flex;flex-direction:column;border-top:1px solid rgba(250,249,246,.18);margin-top:40px;max-width:540px}
.kontakt div{display:grid;grid-template-columns:110px 1fr auto;gap:12px;padding:16px 0;border-bottom:1px solid rgba(250,249,246,.18);align-items:baseline}
.kontakt span{color:rgba(250,249,246,.5)}
.kontakt b{font-weight:500;font-size:17px;letter-spacing:-.01em}
.kontakt a{font-weight:500;font-size:17px;letter-spacing:-.01em;text-decoration:none;color:var(--paper)}
.kontakt a.cu{color:var(--sig-l)}
.kontakt a:hover{text-decoration:underline;text-underline-offset:4px}
.copy-btn{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;background:none;color:rgba(250,249,246,.6);border:1px solid rgba(250,249,246,.25);border-radius:999px;padding:5px 10px;cursor:pointer;justify-self:end}
.copy-btn:hover{color:var(--paper);border-color:rgba(250,249,246,.6)}
.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(250,249,246,.5)}
.skjema input,.skjema textarea,.skjema select{font:inherit;font-size:16px;color:var(--paper);background:transparent;border:0;border-bottom:1px solid rgba(250,249,246,.28);padding:8px 0;border-radius:0;resize:vertical}
.skjema select{appearance:none;background:linear-gradient(45deg,transparent 50%,rgba(250,249,246,.6) 50%) right 6px center/6px 6px no-repeat,linear-gradient(-45deg,transparent 50%,rgba(250,249,246,.6) 50%) right 0 center/6px 6px no-repeat;padding-right:24px;cursor:pointer}
.skjema select option{color:var(--ink);background:var(--paper)}
.skjema input:focus,.skjema textarea:focus,.skjema select:focus{outline:none;border-bottom-color:var(--sig-l)}
.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(--gran);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(--sig)}
.send:hover{background:#fff}

/* ---------- Spørsmål og svar ---------- */
.faq{padding:12vh calc(var(--gut) + 110px) 10vh var(--gut);display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:6vw;border-bottom:1px solid var(--line)}
.faq-list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:18px 0;font-size:clamp(16px,1.4vw,19px);font-weight:500;letter-spacing:-.02em;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-mono);font-weight:400;color:var(--ink-3)}
.faq details[open] summary::after{content:"–";color:var(--sig-ink)}
.faq details p{padding:0 0 20px;color:var(--ink-2);max-width:62ch;font-size:15px}

/* ---------- 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:470px}
.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:130px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.m-rules li span{color:var(--ink-3)}
.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-mer a{font-weight:500;text-decoration:none;border-bottom:1px solid var(--sig);padding-bottom:2px}
.m-mer a:hover{color:var(--sig-ink)}
.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}
.colo a{text-decoration:none}
.colo a:hover{color:var(--ink)}

/* ---------- mobil ---------- */
@media (max-width:820px){
  .rail{display:none}
  .top .ring-top{font-size:10px;padding:7px 11px}
  #loftet .stage{padding:0 var(--gut)}
  .vow-panel{padding:0 var(--gut)}
  #aaret .stage{grid-template-columns:1fr;align-content:center;gap:2.4vh;padding:10vh var(--gut) 4vh}
  .aar-copy{gap:12px}
  .aar-copy h2{display:none}
  #dial{width:112px}
  .aar-dial{gap:16px}
  .aar-jobb{min-height:0}
  .aar-jobb li{font-size:13px;padding:6px 0}
  .aar-jobb li:nth-child(n+3){display:none}
  .aar-tegning svg{max-height:38vh}
  .aar-note{display:none}
  #svarene .stage{grid-template-columns:1fr;align-content:center;gap:3vh;padding:11vh var(--gut) 5vh}
  .q-head h2{font-size:26px}
  .q-head p{display:none}
  .qs li{font-size:13px;padding:8px 0;gap:10px}
  .det-head{padding:0 var(--gut)}
  .det-head p{display:none}
  .tj{width:78vw}
  .tj ul{display:none}
  .petter,.kundene,.merket,.faq{padding:12vh var(--gut) 10vh}
  .p-body{grid-template-columns:1fr}
  .p-prin{grid-template-columns:1fr 1fr}
  .k-list{grid-template-columns:1fr}
  .samtale{grid-template-columns:1fr;padding:14vh var(--gut) 12vh;gap:40px}
  .kontakt div{grid-template-columns:84px 1fr auto}
  .skjema{justify-self:stretch}
  .kontakt{margin-top:28px}
  .faq{grid-template-columns:1fr;gap:20px}
  .m-top{grid-template-columns:1fr}
  .m-rules li{grid-template-columns:110px 1fr}
}
@media (prefers-reduced-motion:reduce){.hint::after,.vp-tel::before,.yr .flakes circle,.yr .leaves ellipse{animation:none}.vow .w,.qs li,.yr *{transition:none}}
