
/* Plakatstil: flate geometriske motiver i kremhvitt, blekksvart, oker, havgrønt og terrakotta. Geometrisk sans i versaler for overskrifter, runer som bord. */
:root{--bg:#EADCC0;--surface:#F5ECD9;--line:#D3BE98;--ink:#2E1F14;--muted:#6E5A44;--accent:#A8471F;--ochre:#B8862A;--teal:#8E9783;--tealD:#5D6650;--sea:#A7AE97;--land:#F3E9D3;--ga:#55614F;--gb:#5A3A22;--gc:#94701F;--gd:#8E3B1E;--shadow:0 1px 2px rgba(46,31,20,.08),0 6px 18px rgba(46,31,20,.08);
--display:"Alegreya SC","Alegreya",Georgia,serif;--body:"Alegreya Sans",system-ui,sans-serif;--serif:"Alegreya",Georgia,serif;--sc:"Alegreya Sans SC","Alegreya Sans",system-ui,sans-serif;--rune:"Noto Sans Runic",serif}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#1F1610;--surface:#2A1F17;--line:#4A3828;--ink:#F1E4CA;--muted:#B9A386;--accent:#E08A5C;--ochre:#D9A848;--teal:#A3AC96;--tealD:#A3AC96;--sea:#3A3A2E;--land:#2E241B;--ga:#A3AC96;--gb:#D6B48C;--gc:#D9A848;--gd:#E08A5C;--shadow:0 1px 2px rgba(0,0,0,.35)}}
:root[data-theme="dark"]{--bg:#1F1610;--surface:#2A1F17;--line:#4A3828;--ink:#F1E4CA;--muted:#B9A386;--accent:#E08A5C;--ochre:#D9A848;--teal:#A3AC96;--tealD:#A3AC96;--sea:#3A3A2E;--land:#2E241B;--ga:#A3AC96;--gb:#D6B48C;--gc:#D9A848;--gd:#E08A5C;--shadow:0 1px 2px rgba(0,0,0,.35)}
html,body{background:var(--bg);color:var(--ink)}
body{font-family:var(--body);font-size:17px;line-height:1.55;margin:0}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--surface)}
.font-display{font-family:var(--display);font-weight:500;letter-spacing:-.005em}
h1,h2,h3{text-wrap:balance}
.balance{text-wrap:balance}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font-family:var(--sc);font-size:.82rem;letter-spacing:.08em;color:var(--accent);text-transform:lowercase}
.muted{color:var(--muted)} .accent{color:var(--accent)} .tnum{font-variant-numeric:tabular-nums}
.hr{border-color:var(--line)}
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.5rem;color:var(--accent)} .brand span{color:var(--ink)}
.tabs{display:flex;gap:.15rem;overflow-x:auto;scrollbar-width:none;min-width:0} .tabs::-webkit-scrollbar{display:none}
.tab{padding:.45rem .8rem;border-radius:.75rem;white-space:nowrap;color:var(--muted);font-weight:500}
.tab:hover{color:var(--ink);background:var(--bg)} .tab.on{color:var(--ink);background:var(--bg);box-shadow:inset 0 -2px 0 var(--accent)}
.iconbtn{width:40px;height:40px;display:grid;place-items:center;border-radius:.75rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);flex:none}
.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1rem;border-radius:.75rem;background:var(--accent);color:#FBF7EE;font-weight:500;border:1px solid var(--accent);transition:transform .15s,filter .15s}
.btn:hover{filter:brightness(1.08)} .btn:active{transform:translateY(1px)} .btn:disabled{opacity:.4;pointer-events:none}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)} .btn.ghost:hover{background:var(--surface)}
.btn.sm{padding:.4rem .75rem;font-size:.9rem}
:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}
.chip{padding:.35rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:.9rem}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.badge{display:inline-flex;align-items:center;padding:.12rem .55rem;border-radius:999px;font-size:.75rem;font-family:var(--sc);letter-spacing:.04em;border:1px solid currentColor;white-space:nowrap}
.badge.g-a{color:var(--ga)} .badge.g-b{color:var(--gb)} .badge.g-c{color:var(--gc)} .badge.g-d{color:var(--gd)}
.dot{width:14px;height:14px;border-radius:999px;flex:none;margin-top:.35rem} .dot.g-a{background:var(--ga)} .dot.g-b{background:var(--gb)} .dot.g-c{background:var(--gc)} .dot.g-d{background:var(--gd)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1rem 1.1rem;box-shadow:var(--shadow)}
.plink{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:3px;display:inline-flex;align-items:center;gap:.25rem;text-align:left}
.plink:hover{text-decoration-color:var(--accent)}
.search{display:flex;align-items:center;gap:.5rem;padding:.5rem .8rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface);color:var(--muted);min-width:0}
.search input{background:transparent;outline:none;color:var(--ink);width:100%;min-width:0}
.select{padding:.55rem .8rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface);color:var(--ink);max-width:100%}
.hero{background:radial-gradient(1200px 400px at 80% 0%,color-mix(in srgb,var(--ochre) 14%,transparent),transparent),var(--bg);border-bottom:1px solid var(--line)}
.sealbox{max-width:300px;margin-left:auto;margin-right:auto} .seal{width:100%;height:auto}
.sealring{fill:none;stroke:var(--accent);stroke-width:2} .sealring.thin{stroke-width:.8;stroke:var(--muted)}
.rose{stroke:var(--ink);stroke-width:1} .rose.thin{stroke:var(--muted);stroke-width:.7}
.sealmark{fill:var(--accent)} .sealmark.soft{fill:var(--ochre)} .sealeye{fill:var(--surface);stroke:var(--ink)}
.sealtext{font-family:var(--sc);font-size:11px;letter-spacing:2.2px;fill:var(--muted)}
.moment{background:var(--surface);border:1px solid var(--line);border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow);border-left:4px solid var(--accent)}
@media(min-width:768px){.moment{padding:2.25rem}}
.entry{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1.25rem;transition:transform .2s,border-color .2s}
.entry:hover{transform:translateY(-2px);border-color:var(--ochre)}
.treebox{overflow:auto;max-height:78vh;border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:var(--shadow)}
.gridline{stroke:var(--line);stroke-dasharray:2 4} .axislabel{font-family:var(--sc);font-size:12px;fill:var(--muted)}
.lanelabel{font-family:var(--sc);font-size:13px;fill:var(--accent);letter-spacing:.05em}
.edge{fill:none;stroke:var(--muted);stroke-width:1.2;opacity:.75;transition:opacity .2s} .edge.dim{opacity:.12}
.spouse{stroke:var(--ochre);stroke-width:1.4;stroke-dasharray:4 3}
.node{cursor:pointer;transition:opacity .2s} .node.dim{opacity:.25}
.node rect{fill:var(--surface);stroke-width:1.8} .node text{font-size:12px;fill:var(--ink);font-family:var(--body);font-weight:500}
.node.g-a rect{stroke:var(--ga)} .node.g-b rect{stroke:var(--gb)} .node.g-c rect{stroke:var(--gc)} .node.g-d rect{stroke:var(--gd);stroke-dasharray:4 3}
.node.king rect{fill:color-mix(in srgb,var(--gb) 12%,var(--surface))}
.node:hover rect,.node.on rect{fill:color-mix(in srgb,var(--ochre) 22%,var(--surface))} .node:focus-visible{outline:none} .node:focus-visible rect{stroke:var(--ochre);stroke-width:3}
.mapbox{position:relative;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:var(--sea);box-shadow:var(--shadow);aspect-ratio:1.25;max-width:100%}
.mapbox > svg{width:100%;height:100%;display:block}
.mapback{white-space:nowrap}.mapback svg{width:16px!important;height:16px!important;flex:none}
.sea{fill:var(--sea)} .land{fill:var(--land);stroke:var(--muted);stroke-linejoin:round}
.route{fill:none;stroke:var(--accent);stroke-linecap:round;animation:dash 30s linear infinite}
@keyframes dash{to{stroke-dashoffset:-400}}
@media (prefers-reduced-motion: reduce){.route{animation:none}.entry,.btn{transition:none}}
.pt{cursor:pointer} .pt circle{fill:var(--ink);stroke:var(--surface);stroke-width:.4} .pt text{fill:var(--ink);font-family:var(--body);paint-order:stroke;stroke:var(--land);stroke-width:2.5px}
.pt.in circle{fill:var(--accent)} .pt.cur circle{fill:var(--ochre);stroke:var(--accent)} .pt.faded{opacity:.35}
.maploading{position:absolute;inset:auto 0 1rem 0;text-align:center;color:var(--muted);font-size:.9rem}
.mapbtns{position:absolute;top:.75rem;left:.75rem;display:flex;gap:.4rem;flex-wrap:wrap} .mapbtns .btn.ghost{background:var(--surface)}
.journey{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:.85rem 1rem;transition:border-color .2s}
.journey:hover{border-color:var(--ochre)}
.stops{display:flex;flex-direction:column;gap:.25rem} .stops button{display:flex;align-items:center;gap:.6rem;width:100%;padding:.4rem .5rem;border-radius:.6rem;text-align:left}
.stops li.on button{background:color-mix(in srgb,var(--ochre) 18%,transparent)} .stops .num{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--accent);color:var(--accent);font-size:.75rem;flex:none}
.stops li.on .num{background:var(--accent);color:#FBF7EE}
.tl{position:relative;display:flex;flex-direction:column;gap:1rem;padding-left:0}
.tl li{display:grid;grid-template-columns:64px 1fr;gap:1rem;align-items:start}
.tlyear{font-family:var(--display);font-size:1.5rem;color:var(--accent);text-align:right;padding-top:.6rem}
.tlbody{min-width:0}
@media(max-width:520px){.tl li{grid-template-columns:1fr;gap:.25rem}.tlyear{text-align:left;padding-top:0}}
.lettercard{width:100%;height:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1rem;transition:border-color .2s}
.lettercard:hover{border-color:var(--ochre)} .clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.letterrow{text-align:left;padding:.5rem .65rem;border:1px solid var(--line);border-radius:.75rem;width:100%;background:var(--bg)} .letterrow:hover{border-color:var(--ochre)}
.overlay{position:fixed;inset:0;z-index:80;background:rgba(30,27,22,.35);display:flex;justify-content:flex-end}
.panel{position:relative;width:min(560px,100%);height:100%;overflow-y:auto;background:var(--surface);border-left:1px solid var(--line);padding:calc(1.5rem + env(safe-area-inset-top,0px)) max(1.5rem,env(safe-area-inset-right,0px)) calc(2rem + env(safe-area-inset-bottom,0px)) 1.5rem;box-shadow:-10px 0 30px rgba(0,0,0,.15);animation:slide .25s ease-out}
@keyframes slide{from{transform:translateX(30px);opacity:.4}}
@media (prefers-reduced-motion: reduce){.panel{animation:none}}
.closebtn{position:absolute;top:calc(1rem + env(safe-area-inset-top,0px));right:max(1rem,env(safe-area-inset-right,0px));width:38px;height:38px;display:grid;place-items:center;border-radius:.75rem;border:1px solid var(--line);background:var(--bg)}
.quote{border-left:3px solid var(--ochre);padding-left:1rem}
.srcline{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:.75rem}

.font-display{font-family:var(--display);font-weight:600;letter-spacing:.01em}
h1.font-display,h2.font-display{text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.eyebrow{font-family:var(--sc);font-size:.78rem;letter-spacing:.22em;color:var(--accent);text-transform:uppercase;font-weight:600}
.serif{font-family:var(--serif)}
.art{display:block;border-radius:1rem;overflow:hidden;background:#F1EBDD;border:1px solid var(--line)} .art svg{display:block;width:100%;height:auto}
:root[data-theme="dark"] .art svg{filter:brightness(.88) saturate(.95)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .art svg{filter:brightness(.88) saturate(.95)}}
.art.flat{border:none;border-radius:0}
.moment .art{height:100%;min-height:240px} .moment .art svg{height:100%;min-height:240px}
.runes{font-family:var(--rune);color:var(--ochre);letter-spacing:.35em;white-space:nowrap;overflow:hidden;font-size:.85rem;line-height:1}
.runebar{border-top:3px solid var(--ink);border-bottom:1px solid var(--ochre);padding:.45rem 0;background:var(--surface)}
.hero{background:var(--bg);border-bottom:none}
.posterwrap{width:100%;max-width:470px;margin:0 auto;box-shadow:0 2px 0 var(--ink),0 18px 40px rgba(31,37,35,.18);border-radius:.5rem;overflow:hidden}
.posterwrap svg{display:block;width:100%;height:auto}
.moment{border-left:none;padding:0;overflow:hidden}
@media(min-width:768px){.moment{padding:0}}
.momentbody{padding:1.5rem} @media(min-width:768px){.momentbody{padding:2rem 2.25rem}}
.entry{padding:0;overflow:hidden;display:flex;flex-direction:column}
.entry .entrybody{padding:1rem 1.15rem 1.2rem}
.journey{padding:.5rem;display:flex;gap:.75rem;align-items:center}
.journey .jart{width:108px;flex:none;border-radius:.6rem;overflow:hidden;border:1px solid var(--line)} .journey .jart svg{display:block;width:100%;height:auto}
.tlglyph{width:52px;height:52px;margin-left:auto} .tlglyph svg{width:100%;height:100%}
.tl li{grid-template-columns:84px 1fr}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.mapcard{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:1rem;overflow:hidden;transition:transform .2s,border-color .2s}
.mapcard:hover{transform:translateY(-2px);border-color:var(--ochre)} .mapcard img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#E8E0CC}
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(15,18,17,.86);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) 16px 16px}
.lightbox img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:.5rem;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.lightbox .cap{color:#EFE7D6;max-width:760px;margin-top:1rem;font-size:.95rem;text-align:center}
.shipmark{pointer-events:none}
.node rect{rx:3}
.node text{font-family:var(--body)}

.normal{text-transform:none!important;letter-spacing:.01em!important}
.tapsec{--th:clamp(180px,34vh,300px);--linen:#ECE2CA}
.tapestry{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--ochre) transparent;outline:none;background:var(--linen);border-block:3px solid var(--ink);box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}
.tapestry:focus-visible{box-shadow:inset 0 0 0 3px var(--ochre)}
.taprow{display:flex;align-items:stretch;width:max-content;background-image:repeating-linear-gradient(0deg,rgba(80,60,30,.035) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(80,60,30,.03) 0 1px,transparent 1px 3px)}
.tapend{width:max(180px,calc(50vw - var(--th)*0.81 - var(--th)*0.75));display:flex;align-items:center;border-block:30px solid transparent}
.tapend.start{justify-content:flex-end}.tapend.end{width:max(200px,calc(50vw - var(--th)*0.81))}
.tapendin{padding:1rem 1.5rem;color:#1F2523;max-width:260px} .tapendin .chr{color:#5B5547} .tapendin .runes{color:#A8893A}
.tapestry{cursor:grab} .tapestry.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none} .tapestry.dragging .scene{pointer-events:none}
.scene,.tapdiv,.tapchapter{display:flex;flex-direction:column;flex:none;scroll-snap-align:center}
.scene{width:calc(var(--th)*1.625);text-align:left;position:relative;transition:filter .3s}

.scene:focus-visible{outline:none} .scene:focus-visible .tapcap{text-decoration:underline}
.tapband{height:30px;background-repeat:repeat-x;background-size:auto 100%;position:relative;flex:none}
.tapband span{position:absolute;inset:0;display:flex;align-items:center;padding:0 .6rem;font-family:var(--display);font-size:.72rem;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tapyear{font-weight:700;color:#1F2523} .tapyear,.tapctx{background:linear-gradient(90deg,var(--linen) 0,var(--linen) calc(100% - 6px),transparent)}
.tapband span{background:none} .tapband .tapyear{left:.4rem;right:auto;padding:0 .5rem;background:var(--linen);inset:4px auto 4px .4rem}
.tapband .tapctx{color:#5B5547;inset:4px .4rem 4px .4rem;background:var(--linen);justify-content:center;font-size:.68rem;text-transform:none}
.tapcap{font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:#2F4A5C;padding:.5rem .8rem 0;line-height:1.3;min-height:2.9em}
.scene.on .tapcap{color:#A4543C}
.tapart{flex:1;display:flex;align-items:flex-end} .tapart svg{width:100%;height:auto;display:block}
.tapdiv{width:calc(var(--th)*.1875)} .tapdivin{flex:1;display:flex;align-items:flex-end} .tapdivin svg{width:100%;height:auto;display:block}
.tapchapter{width:calc(var(--th)*.75);background:rgba(168,137,58,.10)}
.tapchin{flex:1;display:flex;flex-direction:column;justify-content:center;padding:1rem;color:#1F2523;border-inline:2px solid #1F2523}
.tapchin .roman{font-family:var(--display);font-size:2.4rem;font-weight:700;color:#A4543C;line-height:1} .tapchin .chr{color:#5B5547}
:root[data-theme="dark"] .tapestry{filter:brightness(.9)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tapestry{filter:brightness(.9)}}
.scrub{position:relative;height:46px;margin:0 .25rem}
.scrub::before{content:"";position:absolute;left:0;right:0;top:16px;height:2px;background:var(--line)}
.scrubch{position:absolute;top:12px;height:10px;border-radius:999px;opacity:.35}
.scrubch.on{opacity:.9} .scrubch.c0{background:#3F6E6A}.scrubch.c1{background:#2F4A5C}.scrubch.c2{background:#A8893A}.scrubch.c3{background:#B5634A}.scrubch.c4{background:#5F7234}.scrubch.c5{background:#68645A}
.scrubdot{position:absolute;top:10px;width:14px;height:14px;margin-left:-7px;border-radius:999px;background:var(--surface);border:2px solid var(--ink);padding:0}
.scrubdot:hover{background:var(--ochre)} .scrubdot.on{background:var(--accent);border-color:var(--accent);transform:scale(1.25)}
.scrubtick{position:absolute;top:28px;transform:translateX(-50%);font-size:.7rem;color:var(--muted)}
.iconbtn:disabled{opacity:.35}

.banwrap{position:relative;margin:0 0 2rem}
.banwrap .art{margin:0}
.medal{display:inline-block;border-radius:999px;overflow:hidden;border:3px solid #1F2523;box-shadow:0 0 0 4px #F1EBDD,0 0 0 5px #A8893A,0 6px 16px rgba(31,37,35,.18);background:#E8E0CC}
.medal img{display:block;width:100%;height:100%;object-fit:cover;filter:sepia(.15) saturate(.9)}
.banmed{position:absolute;right:3.5%;top:50%;transform:translateY(-58%);height:74%;aspect-ratio:1}
@media(max-width:640px){.banmed{height:62%;right:4%}}
.decocap{font-size:.72rem;color:var(--muted);text-align:right;margin-top:.4rem;font-style:italic} .decocap.left{text-align:left}
.chmed{width:76%;aspect-ratio:1;margin-top:1.1rem;align-self:center;box-shadow:0 0 0 3px #ECE2CA,0 0 0 4px #A8893A}
.taphead{position:relative;overflow:hidden}
.tapsea{position:absolute;inset:0 0 0 auto;width:min(62%,900px);background-size:cover;background-position:center;opacity:.32;filter:sepia(.3);-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%)}
:root[data-theme="dark"] .tapsea{opacity:.18}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tapsea{opacity:.18}}
@media(max-width:768px){.tapsea{width:100%;opacity:.14}}
.footsea{height:110px;background-size:cover;background-position:center 40%;opacity:.38;filter:sepia(.25);-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 40%,#000 70%,transparent);margin-top:2rem}

h1.font-display,h2.font-display{text-transform:none;letter-spacing:.01em;font-weight:700}
.font-display{font-family:var(--display);font-weight:500;letter-spacing:.01em}
.eyebrow{font-family:var(--sc);letter-spacing:.16em;font-weight:700}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .18 0 0 0 0 .12 0 0 0 0 .08 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.22;mix-blend-mode:multiply}
:root[data-theme="dark"] body::after{opacity:.35;mix-blend-mode:normal}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) body::after{opacity:.35;mix-blend-mode:normal}}
.tapsec{--linen:#D9C4A0}
.tapcap{font-family:var(--display);letter-spacing:.08em;font-size:.86rem;color:#5A3A22}
.scene.on .tapcap{color:#A8471F}
.tapyear,.tapband .tapyear{font-family:var(--display);color:#2E1F14;background:#E9DABA}
.tapband .tapctx{background:#E9DABA;color:#5A4632;font-family:var(--serif);font-style:italic;letter-spacing:0}
.tapchapter{background:rgba(90,58,34,.08)} .tapchin .roman{color:#A8471F;font-family:var(--display)}
.art{background:#E9DABA}
.medal{border-color:#2E1F14;box-shadow:0 0 0 4px #E9DABA,0 0 0 5px #B8862A,0 6px 16px rgba(46,31,20,.2)}
.scrubch.c0{background:#5D6650}.scrubch.c1{background:#5A3A22}.scrubch.c2{background:#B8862A}.scrubch.c3{background:#A8471F}.scrubch.c4{background:#8E9783}.scrubch.c5{background:#6E5A44}

.tapsec{--linen:#D9C29A}
.taprow{background-image:repeating-linear-gradient(90deg,rgba(43,29,18,.05) 0 1px,transparent 1px 7px),repeating-linear-gradient(0deg,rgba(43,29,18,.03) 0 1px,transparent 1px 22px)}
.tapcap{color:#2B1D12} .scene.on .tapcap{color:#9E3A1E}
.tapyear,.tapband .tapyear,.tapband .tapctx{background:#E3D3AE}
.scene:not(.on) .tapart{filter:none}
.chknot{width:64%;align-self:center;margin-top:1rem} .chknot svg{width:100%;height:auto;display:block}
.tapchapter{background:rgba(43,29,18,.06)}
.footband{height:30px;margin-top:3rem;background-repeat:repeat-x;background-size:auto 100%}
.ledd{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;counter-reset:l}
.leddbtn{display:flex;gap:.6rem;align-items:center;width:100%;text-align:left;padding:.5rem .6rem;border:1px solid var(--line);border-left:5px solid var(--muted);border-radius:.7rem;background:var(--surface)}
.leddbtn:hover{border-color:var(--ochre)} .leddbtn.gA{border-left-color:var(--ga)}.leddbtn.gB{border-left-color:var(--gb)}.leddbtn.gC{border-left-color:var(--gc)}.leddbtn.gD{border-left-color:var(--gd)}
.leddno{flex:none;width:1.8rem;height:1.8rem;border-radius:999px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:.85rem;border:1.5px solid var(--ink)}
.leddtag{font-family:var(--sc);font-size:.7rem;letter-spacing:.08em;font-weight:700;color:var(--accent);border:1px solid currentColor;border-radius:999px;padding:.05rem .5rem}
.leddlist{position:relative;display:flex;flex-direction:column;gap:1rem}
.leddlist::before{content:"";position:absolute;left:1.3rem;top:.5rem;bottom:.5rem;width:3px;background:var(--line)}
.leddrow{display:grid;grid-template-columns:2.6rem 1fr;gap:1rem;align-items:start;position:relative}
.leddno.big{width:2.6rem;height:2.6rem;font-size:1rem;background:var(--surface);position:relative;z-index:1;border-width:2px}
.leddrow.gA .leddcard{border-left:5px solid var(--ga)}.leddrow.gB .leddcard{border-left:5px solid var(--gb)}.leddrow.gC .leddcard{border-left:5px solid var(--gc)}.leddrow.gD .leddcard{border-left:5px solid var(--gd)}
.leddfacts{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.95rem}
.leddfacts dt{font-family:var(--sc);font-weight:700;letter-spacing:.06em;color:var(--accent);font-size:.78rem;padding-top:.15rem}
@media(max-width:640px){.leddfacts{grid-template-columns:1fr}.leddfacts dd{margin-bottom:.4rem}}
.giskebadge{font-family:var(--sc);font-size:.72rem;font-weight:700;letter-spacing:.06em;background:var(--accent);color:#FBF3E6;border-radius:999px;padding:.12rem .6rem}
.node .nodeyrs{font-size:9.5px;fill:var(--muted);font-family:var(--body)}
.tapcap{text-transform:none!important;letter-spacing:.02em!important;font-size:.95rem!important}

/* vertikal tidslinje */
.vtl{max-width:68rem;margin:0 auto}
.vchap{scroll-margin-top:5rem}
.vchap+.vchap{margin-top:3.5rem}
.vchead{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.vchead .roman{min-width:3rem;text-align:center}
.vlist{position:relative;list-style:none;margin:0;padding:0 0 0 1.75rem}
.vlist::before{content:"";position:absolute;left:.45rem;top:.5rem;bottom:.5rem;width:2px;background:var(--line)}
.vrow{position:relative;scroll-margin-top:5rem}
.vrow+.vrow{margin-top:1.75rem}
.vmark{position:absolute;left:-1.75rem;top:1.6rem;width:1rem;display:flex;justify-content:center}
.vdot{width:.95rem;height:.95rem;border-radius:999px;background:var(--surface);border:3px solid var(--accent)}
.vcard{padding:0;overflow:hidden;overflow:clip;display:grid;grid-template-columns:1fr}
.vimg{margin:0;background:var(--line);aspect-ratio:4/3;overflow:hidden}
.vimg img{width:100%;height:100%;object-fit:cover;display:block}
.vimgart{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#5A3A22}
.vimgart svg{width:100%;height:auto}
.vtext{padding:1.25rem 1.25rem 1.25rem}
.vyear{font-family:var(--display);font-size:1.25rem;font-weight:700;color:var(--accent)}
.vtoggle{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--sc);font-weight:700;letter-spacing:.06em;font-size:.85rem;color:var(--accent);border:1px solid currentColor;border-radius:999px;padding:.4rem .9rem}
.vtoggle:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.ptoggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:.75rem;padding:.35rem .8rem}
.ptoggle:hover{color:var(--ink);border-color:var(--accent)}
.vfacts{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.95rem;border-top:1px solid var(--line);padding-top:.9rem}
.vfacts dt{font-family:var(--sc);font-weight:700;font-size:.78rem;letter-spacing:.08em;color:var(--accent);padding-top:.15rem}
.vnote{border-left:3px solid var(--ochre);padding:.5rem .9rem;background:color-mix(in srgb,var(--ochre) 9%,transparent);border-radius:0 .5rem .5rem 0}
@media (min-width:768px){
 .vlist{padding-left:2.5rem}.vmark{left:-2.5rem}
 .vcard{grid-template-columns:1fr}
 .vimg{aspect-ratio:16/9}
 .vtext{padding:1.5rem 1.75rem}
}
.srclink{color:var(--accent,#8B3A2B);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.srclink:hover{text-decoration-thickness:2px}
button.srclink{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.vrefs{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1rem}
.vrefs .letterrow{display:block;text-align:left;width:100%}
.pbgrid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
@media (min-width:900px){.pbgrid>.pbox:only-child dl{columns:2;column-gap:2rem}.pbgrid>.pbox:only-child .pbrow{break-inside:avoid}}
.pbox{border:1px solid var(--line);border-radius:1rem;padding:.85rem 1rem;background:color-mix(in srgb,var(--surface) 70%,transparent)}
.pbrow{display:grid;grid-template-columns:5.5rem 1fr;gap:.5rem;font-size:.85rem;padding:.15rem 0;border-top:1px dashed color-mix(in srgb,var(--line) 70%,transparent)}
.pbrow:first-child{border-top:0}
.pbrow dt{color:var(--muted)}
.pbsum{font-family:var(--serif);font-size:1rem;color:var(--ink)}

/* === Mindre historisk preg (v7) === */
:root{--bg:#F7F3EA;--surface:#FFFDF8;--line:#E4DACA;--ink:#2B2A28;--muted:#6F6656;--accent:#8B3A2B;--land:#F8F3E8;
--display:"Alegreya",Georgia,serif;--sc:"Alegreya Sans",system-ui,sans-serif;--shadow:0 1px 2px rgba(43,42,40,.05),0 4px 14px rgba(43,42,40,.06)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#1C1A17;--surface:#26231F;--line:#3E3931;--ink:#EEE8DC;--muted:#ABA290;--land:#24211D}}
:root[data-theme="dark"]{--bg:#1C1A17;--surface:#26231F;--line:#3E3931;--ink:#EEE8DC;--muted:#ABA290;--land:#24211D}
body::after{display:none!important}
.font-display{font-family:var(--display);font-weight:700;letter-spacing:-.01em}
.eyebrow{letter-spacing:.12em}
.badge,.leddtag{letter-spacing:.02em;text-transform:none}
.tapcap,.tapyear,.tapband .tapyear,.tapchin .roman,.tapband span{font-family:var(--display)}
.tapsea{opacity:.16;filter:sepia(0) saturate(.8)}
:root[data-theme="dark"] .tapsea{opacity:.1}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tapsea{opacity:.1}}
.taprow{background-image:none}
.art,.tapband .tapctx,.tapyear,.tapband .tapyear{background:#F1EADB}
:root[data-theme="dark"] .art{background:#2A2622}
.arms{display:flex;gap:.9rem;align-items:flex-start;margin:.6rem 0 .4rem}
.arms img{width:96px;flex:none;border-radius:.6rem;border:1px solid var(--line)}
.arms.sm img{width:72px}
.arms figcaption{color:var(--muted)}

/* === Heraldisk dekor (v9): rose, stjerne, sparre, grip og skjold fra våpnene === */
.tapsea,.medal,.banmed,.decocap,.banwrap{display:none!important}
.herpat{position:absolute;inset:0;background-repeat:repeat;background-size:96px 96px;pointer-events:none;opacity:.7;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 58%,#000 85%);mask-image:linear-gradient(90deg,transparent 0,transparent 58%,#000 85%)}
@media(max-width:768px){.herpat{display:none}}
.topband{height:18px;background-repeat:repeat-x;background-size:auto 100%;opacity:.9}
.footband{height:26px;margin-top:3rem;background-repeat:repeat-x;background-size:auto 100%}
.brandmark{display:inline-flex;width:22px;height:26px}.brandmark svg{width:100%;height:100%}
.armrow{position:relative;padding:.5rem 0 0}
.armrow-line{position:absolute;left:0;right:0;top:2.1rem;height:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:3px}
.armrow-shields{position:relative;display:flex;justify-content:center;gap:clamp(.8rem,4vw,2.6rem);flex-wrap:wrap}
.armrow-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;background:var(--bg);padding:0 .4rem}
.armrow-item img{width:44px;height:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}
.armrow-item span{font-size:.7rem;color:var(--muted)}
.erashield{display:inline-block;height:auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}
.erashield.plain svg{width:100%;height:auto;display:block}
.vmark{display:flex;justify-content:center}
.vchead .roman{display:inline-flex;width:46px;flex:none;background:none!important;border:none!important;box-shadow:none!important}
.vchead .roman svg{width:100%;height:auto}
.tlglyph{display:flex;justify-content:flex-end;margin-top:.35rem;width:auto;height:auto}
.vmark{width:26px;left:calc(-1.75rem + .5rem - 13px);top:1.2rem}
@media (min-width:768px){.vmark{left:calc(-2.5rem + .5rem - 13px)}}
.vlist::before{width:0;background:none;border-left:1px solid var(--line);border-right:1px solid var(--line);padding-left:2px;left:calc(.5rem - 2px)}

.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-in{position:relative;display:grid;gap:2.5rem;align-items:center;padding-top:3.5rem;padding-bottom:2rem;min-height:min(78vh,760px)}
@media(min-width:960px){.hero-in{grid-template-columns:minmax(0,46rem);padding-top:4.5rem}}
.hero-title{font-size:clamp(2.8rem,8vw,6.2rem);line-height:.95;font-weight:700;letter-spacing:-.02em;margin-top:.8rem;text-wrap:balance}
.hero-lead{font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.45;margin-top:1.4rem;max-width:36rem}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem;max-width:36rem;border-top:1px solid var(--line);padding-top:1.2rem}
.hero-stats dt{font-family:var(--display);font-weight:700;font-size:clamp(1.3rem,2.6vw,1.9rem);color:var(--accent);line-height:1.1}
.hero-stats dd{font-size:.88rem;color:var(--muted);margin-top:.3rem;line-height:1.35}
.hero-img{margin:0;border-radius:1.25rem;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:4/5}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:42% center;display:block}
@media(max-width:959px){.hero-img{aspect-ratio:16/10}}
.hero-arms{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.hero-arms img{width:34px;height:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}
@media(max-width:520px){.hero-stats{grid-template-columns:1fr}}

.herokart{position:absolute;inset:0;background-size:cover;background-position:65% 40%;mix-blend-mode:multiply;opacity:.55;pointer-events:none;
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 22%,rgba(0,0,0,.45) 45%,#000 70%),linear-gradient(180deg,#000 70%,transparent 100%);-webkit-mask-composite:source-in;
 mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 20%,rgba(0,0,0,.5) 42%,#000 62%),linear-gradient(180deg,#000 70%,transparent 100%);mask-composite:intersect;opacity:.7}
:root[data-theme="dark"] .herokart{mix-blend-mode:screen;filter:invert(1) sepia(.4);opacity:.35}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .herokart{mix-blend-mode:screen;filter:invert(1) sepia(.4);opacity:.35}}
.herokart-cap{position:absolute;right:1rem;bottom:.4rem;font-size:.7rem;color:var(--muted);max-width:22rem;text-align:right}
@media(max-width:959px){.herokart-cap{position:static;text-align:left}}
@media(max-width:959px){.herokart{opacity:.3;-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent 100%);mask-image:linear-gradient(180deg,#000 40%,transparent 100%)}}

/* === Moderne skrift (v11): Inter Tight til overskrifter, Inter til tekst === */
:root{--display:"Inter Tight","Inter",system-ui,sans-serif;--serif:"Inter",system-ui,sans-serif;--body:"Inter",system-ui,sans-serif;--sc:"Inter",system-ui,sans-serif}
body,.serif{font-family:var(--body);font-feature-settings:"ss01","cv11"}
.font-display,h1,h2,h3{font-family:var(--display);letter-spacing:-.02em}
.font-display{font-weight:600}
.hero-title{font-weight:600;letter-spacing:-.035em;line-height:.98}
.hero-lead.serif{font-weight:400;letter-spacing:-.01em;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.5}
.eyebrow,.vfacts dt,.vtoggle{font-family:var(--body);letter-spacing:.08em;font-weight:600}
.serif{font-size:.97em;line-height:1.7}
h1.hero-title{text-transform:uppercase;letter-spacing:-.015em;font-size:clamp(2.6rem,7.4vw,5.8rem)}

/* === Header etter mønster fra Vikingtidsmuseet (v12) === */
.topbar{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transition:background .25s,border-color .25s}
.topbar.over{background:transparent;border-color:transparent;backdrop-filter:none}
.topbar-in{display:flex;align-items:center;justify-content:space-between;padding-top:.9rem;padding-bottom:.9rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--ink)}
.brandmark{width:34px;height:40px}
.brandword{font-family:var(--display);font-weight:600;font-size:1.15rem;line-height:1.02;letter-spacing:-.01em;text-align:left;color:var(--ink)}
.topbar-right{display:flex;gap:.4rem;align-items:center}
.seg{display:flex;background:#2B2233;border-radius:.7rem;padding:.25rem;gap:.15rem}
.seg button{padding:.35rem .7rem;border-radius:.5rem;color:#D9785A;font-weight:500;font-size:.92rem}
.seg button.on{background:#D9604A;color:#2B2233}
.menubtn{width:48px;height:42px;border-radius:.7rem;background:#2B2233;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.menubtn span{display:block;width:22px;height:2px;background:#F4ECD8;border-radius:2px;transition:transform .2s,opacity .2s}
.menubtn[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menubtn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menubtn[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.menupanel{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:1.2rem 0 1.6rem}
.menupanel .wrap{display:grid;gap:.2rem}
@media(min-width:760px){.menupanel .wrap{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}}
.menuitem{text-align:left;font-family:var(--display);font-weight:600;font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.02em;padding:.45rem 0;color:var(--ink);border-bottom:1px solid var(--line)}
.menuitem:hover,.menuitem.on{color:var(--accent)}
.topband{display:none}
.hero{margin-top:-74px}.hero-in{padding-top:calc(74px + 3rem)}
@media(min-width:960px){.hero-in{padding-top:calc(74px + 4rem)}}

/* === Palett: korall #EC6A4D og plomme #39182B (v13) === */
:root{--coral:#EC6A4D;--plum:#39182B;--bg:#F8F3F0;--surface:#FFFFFF;--line:#E8DCD8;--ink:#39182B;--muted:#76606A;--accent:#C2462B;--ochre:#C2462B;--land:#F8F3F0}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#2A1020;--surface:#39182B;--line:#56334A;--ink:#F8EDEA;--muted:#C9AFB8;--accent:#EC6A4D;--ochre:#EC6A4D;--land:#2A1020}}
:root[data-theme="dark"]{--bg:#2A1020;--surface:#39182B;--line:#56334A;--ink:#F8EDEA;--muted:#C9AFB8;--accent:#EC6A4D;--ochre:#EC6A4D;--land:#2A1020}
body{background:var(--bg);color:var(--ink)}
.btn{background:var(--coral);color:var(--plum);border-color:var(--coral);font-weight:600}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.seg,.menubtn{background:var(--plum)}
:root[data-theme="dark"] .seg,:root[data-theme="dark"] .menubtn{background:#4E2540}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .seg,:root:not([data-theme="light"]) .menubtn{background:#4E2540}}
.seg button{color:var(--coral)}.seg button.on{background:var(--coral);color:var(--plum)}
.hero-stats dt{color:var(--accent)}
.menuitem:hover,.menuitem.on{color:var(--accent)}

/* === Bredere tekstspalter (v14) === */
.max-w-2xl,.max-w-prose{max-width:58rem!important}
.max-w-4xl{max-width:72rem!important}
@media(min-width:960px){.max-w-2xl,.max-w-prose{font-size:1.125rem;line-height:1.75}}
.hero .max-w-2xl{max-width:42rem!important}
.armrow-item img{width:clamp(60px,9vw,92px)}
.armrow-line{top:calc(.5rem + clamp(60px,9vw,92px) * .55)}
.armrow-item span{font-size:.85rem}
.armrow-shields{gap:clamp(1rem,5vw,3.5rem)}
.hero-arms img{width:34px}

.armsband{background:var(--plum);color:#F8EDEA;padding:2.6rem 0 2.4rem}
:root[data-theme="dark"] .armsband{background:#160812}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .armsband{background:#160812}}
.armsband-row{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.armsband-item{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1 1 120px;gap:.35rem}
.armsband-item img{width:clamp(64px,8vw,96px);height:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.armsband-item span{font-weight:600;color:var(--coral);font-size:.95rem;margin-top:.4rem}
.armsband-item small{font-size:.8rem;color:#D9C3CB;line-height:1.3;max-width:12rem}
.hero{border-bottom:none}
#innledning{background:var(--surface)}

/* === Hero med korall tittel (v16) === */
.hero .hero-title{color:var(--coral)}
.hero .eyebrow{color:var(--accent)}
.brandword{font-size:1.3rem;line-height:1;white-space:nowrap}
img.brandmark{width:34px;height:auto;display:block}

/* === Forside: innledning på plomme, våpen nederst (v17) === */
.introplum{background:var(--plum);color:#F8EDEA}
:root[data-theme="dark"] .introplum{background:#4A1F38}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .introplum{background:#4A1F38}}
.introplum .eyebrow{color:var(--coral)}
.introplum h2{color:#FFFFFF}
.introplum p{color:#EADCE0}
.introplum a,.introplum .srclink,.introplum .plink{color:var(--coral)!important}
.introplum .btn{background:var(--coral);color:var(--plum);border-color:var(--coral)}
.introplum + .armsband{background:#2A0F1F;border-top:1px solid rgba(255,255,255,.08)}
#innledning{background:var(--plum)}

/* === Felles sidehode og navigasjon (v18) === */
.pagebody{padding-top:3rem;padding-bottom:1rem}
.pagehead .armrow{margin-bottom:2.25rem}
.pagehead .eyebrow{margin-bottom:.5rem}
.pagetitle{font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.05;font-weight:600;letter-spacing:-.025em;margin:0}
.pagehead-text > p,.pagelead{margin-top:1rem;font-size:1.15rem;line-height:1.65;color:var(--ink)}
.pagehead-text h1 + p{margin-top:1rem}
.pagenav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3.5rem;margin-bottom:1rem;padding-top:2rem;border-top:1px solid var(--line)}
.pnav{display:flex;align-items:center;gap:.9rem;padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s;text-align:left}
.pnav:hover{border-color:var(--coral);box-shadow:var(--shadow)}
.pnav:hover svg{transform:translateX(var(--nx,0))}
.pnav svg{transition:transform .15s;flex:none;color:var(--coral)}
.pnav.prev{--nx:-3px}.pnav.next{--nx:3px;justify-content:flex-end;text-align:right;grid-column:2}
.pnav small{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.pnav b{display:block;font-family:var(--display);font-weight:600;font-size:1.25rem;letter-spacing:-.015em;margin-top:.1rem}
@media(max-width:560px){.pnav{padding:.9rem}.pnav b{font-size:1.05rem}}
.stepnav{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:.85rem;padding:.25rem;background:var(--surface)}
.stepbtn{width:38px;height:34px;border-radius:.6rem;display:flex;align-items:center;justify-content:center;background:var(--plum);color:#F8EDEA}
.stepbtn:hover{background:var(--coral);color:var(--plum)}
.stepbtn:disabled{opacity:.3;pointer-events:none}
.stepcount{font-size:.9rem;color:var(--muted);min-width:3.5rem;text-align:center}
.chip{border-radius:.75rem;border:1px solid var(--line);background:var(--surface);padding:.4rem .8rem;font-size:.9rem;color:var(--ink)}
.chip:hover{border-color:var(--coral);color:var(--accent)}
.max-w-2xl.text-sm,.text-sm .max-w-2xl{font-size:.9rem!important;line-height:1.55!important}
.vtl{margin:0;max-width:68rem}

/* === Små sideknapper øverst (v19) === */
.pagenav{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:0 auto;padding-top:1.1rem;padding-bottom:0;border:none}
.pnav{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .8rem .38rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:.88rem;font-weight:500;line-height:1;box-shadow:none;text-align:left}
.pnav:hover{border-color:var(--coral);color:var(--accent);box-shadow:none}
.pnav svg{color:var(--coral);transform:none!important}
.pnav small,.pnav b{display:none}
.pagenav + * .pagebody,.pagenav + .pagebody,.pagenav + section.pagebody{padding-top:1.75rem}
.pagebody{padding-top:1.75rem}

/* === Fast undermeny på undersidene (v20) === */
.subnav{position:sticky;top:74px;z-index:55;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.subnav-in{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;padding-top:.6rem;padding-bottom:.6rem}
.subnav-in::-webkit-scrollbar{display:none}
.subtab{white-space:nowrap;padding:.42rem .9rem;border-radius:999px;font-size:.92rem;font-weight:500;color:var(--muted);border:1px solid transparent}
.subtab:hover{color:var(--ink);border-color:var(--line);background:var(--surface)}
.subtab.on{background:var(--plum);color:#F8EDEA}
:root[data-theme="dark"] .subtab.on{background:var(--coral);color:var(--plum)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .subtab.on{background:var(--coral);color:var(--plum)}}
.pagebody{padding-top:2.25rem}

/* === Kart og reiser i ny palett (v21) === */
:root{--sea:#E9DEDF;--land:#FFFFFF}
:root[data-theme="dark"]{--sea:#22101B;--land:#4A2A3C}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--sea:#22101B;--land:#4A2A3C}}
.land{stroke:#CDB8BF}
.jimg{width:112px;flex:none;aspect-ratio:16/10;border-radius:.7rem;overflow:hidden;background:var(--sea)}
.jimg img{width:100%;height:100%;object-fit:cover;display:block}
.jimg.ph{display:flex;align-items:center;justify-content:center;background:var(--plum)}
.jimg.ph svg{width:30px;height:auto}
.jimg.big{width:100%;aspect-ratio:16/9;border-radius:.9rem}
.jimg.big.ph svg{width:56px}
.jart{display:none}

/* === Bunn (v22) === */
.sitefoot{background:var(--plum);color:var(--coral);margin-top:4rem;padding:3.5rem 0 2rem}
:root[data-theme="dark"] .sitefoot{background:#160812}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .sitefoot{background:#160812}}
.foot-grid{display:grid;gap:2.5rem;grid-template-columns:1fr}
@media(min-width:760px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.foot-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:600;font-size:1.4rem;letter-spacing:-.015em;color:var(--coral)}
.foot-brand img{width:32px;height:auto}
.foot-about p{margin-top:1rem;font-size:.95rem;line-height:1.6;color:var(--coral);opacity:.85;max-width:24rem}
.sitefoot h3{font-family:var(--body);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--coral);opacity:.7;margin-bottom:.9rem}
.sitefoot ul{display:grid;gap:.5rem}
.sitefoot li button,.sitefoot li a{color:var(--coral);font-size:.95rem;text-align:left;text-decoration:none;background:none;border:0;padding:0}
.sitefoot li button:hover,.sitefoot li a:hover{text-decoration:underline;text-underline-offset:3px;color:#FF9A80}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(236,106,77,.25);font-size:.8rem;color:var(--coral);opacity:.75}
.foot-bottom span:last-child{max-width:40rem}
.armsband + .sitefoot,.introplum ~ .sitefoot{margin-top:0}
.sitefoot{margin-top:0!important}.main-sub{padding-bottom:4rem}.main-front > div > section,.main-front{padding-bottom:0!important;margin-bottom:0!important}

/* === Kartsiden ny oppbygging (v23) === */
.jstrip{display:flex;gap:.6rem;overflow-x:auto;padding:.2rem .1rem .6rem;margin-top:1.75rem;scrollbar-width:thin;scroll-snap-type:x proximity}
.jchip{flex:none;scroll-snap-align:start;display:flex;align-items:center;gap:.7rem;padding:.45rem .9rem .45rem .45rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);text-align:left;max-width:270px;transition:border-color .15s,background .15s}
.jchip:hover{border-color:var(--coral)}
.jchip.on{background:var(--plum);border-color:var(--plum);color:#F8EDEA}
.jchip.on small{color:#D9C3CB}
.jchip .jimg{width:64px;border-radius:.55rem}
.jchip-ico{width:64px;aspect-ratio:16/10;border-radius:.55rem;display:flex;align-items:center;justify-content:center;background:var(--sea);color:var(--accent)}
.jchip.on .jchip-ico{background:var(--coral);color:var(--plum)}
.jchip-t b{display:block;font-family:var(--display);font-weight:600;font-size:.98rem;line-height:1.15;letter-spacing:-.01em}
.jchip-t small{display:block;font-size:.78rem;color:var(--muted);margin-top:.15rem}
.mapbox{aspect-ratio:16/9;max-height:78vh}
.mapbox > svg{width:100%;height:100%;display:block}
.mapback{white-space:nowrap}.mapback svg{width:16px!important;height:16px!important;flex:none}
.mapback{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border-radius:999px;background:var(--plum);color:#F8EDEA;font-weight:600;font-size:.92rem;box-shadow:var(--shadow)}
.mapback:hover{background:var(--coral);color:var(--plum)}
.curring{fill:none;stroke:var(--coral)}
.shipmark{display:none}
.jdetail{display:grid;gap:2rem;margin-top:1.75rem;padding:1.75rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--surface)}
@media(min-width:900px){.jdetail{grid-template-columns:1.15fr 1fr}}
.jdetail .jimg.big{aspect-ratio:16/9}
@media(max-width:700px){.mapbox{aspect-ratio:4/5}}

/* === Inspirert av Vikingtidsmuseet (v24) === */
.obtn{display:inline-flex;align-items:center;gap:1.1rem;padding:.95rem 1.3rem;border:1.5px solid currentColor;border-radius:.6rem;font-size:1.05rem;font-weight:500;color:var(--plum);background:transparent;transition:background .15s,color .15s}
.obtn svg{flex:none;transition:transform .15s}
.obtn:hover svg{transform:translateX(4px)}
.obtn:hover{background:var(--plum);color:var(--coral)}
.obtn.quiet{border-color:rgba(57,24,43,.35)}
.hero-in{align-items:end;min-height:min(82vh,820px)}
.hero-text{padding-bottom:1.5rem}
.marquee{background:var(--plum);color:var(--coral);overflow:hidden;white-space:nowrap;border-top:1px solid rgba(236,106,77,.25)}
.marquee-track{display:inline-flex;animation:mq 38s linear infinite;padding:.85rem 0}
.marquee-track span{display:inline-flex;align-items:center}
.marquee b{font-weight:500;font-size:1.15rem;padding:0 1.1rem}
.marquee i{font-style:normal;opacity:.6}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none}}
.introplum{background:#2A0F1F}
.introplum + .ctablock{background:#2A0F1F}
.ctablock{position:relative}
.ctablock > .wrap{background:var(--coral);color:var(--plum);border-radius:0 0 5rem 0;padding:4.5rem 2.5rem 5rem;max-width:1240px}
@media(min-width:1240px){.ctablock > .wrap{padding-left:3rem;padding-right:3rem}}
.cta-title{font-size:clamp(2.2rem,5.5vw,4.4rem);line-height:1.02;letter-spacing:-.03em;font-weight:500;color:var(--plum)}
.cta-lead{margin-top:1.5rem;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.55;max-width:42rem;color:var(--plum)}
.ctablock .obtn{margin-top:2.2rem}
.ctablock{background:var(--plum)}
.explore{background:var(--plum);color:var(--coral);padding:4.5rem 0 4rem}
.explore-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.8rem}
.explore-head h2{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:500;letter-spacing:-.025em;color:var(--coral)}
.explore-arrows{display:flex;gap:.6rem}
.cbtn{width:48px;height:48px;border-radius:999px;border:1.5px solid var(--coral);color:var(--coral);display:flex;align-items:center;justify-content:center}
.cbtn:hover{background:var(--coral);color:var(--plum)}
.explore-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,30%);gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.5rem}
.explore-row::-webkit-scrollbar{display:none}
@media(max-width:700px){.explore-row{grid-auto-columns:78%}}
.xcard{scroll-snap-align:start;text-align:left;color:var(--coral)}
.ximg{aspect-ratio:4/3;overflow:hidden;border-radius:0 0 1.5rem 0;background:#2A0F1F}
.ximg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.xcard:hover .ximg img{transform:scale(1.04)}
.xyr{display:block;margin-top:1rem;font-size:.85rem;opacity:.7}
.xt{display:block;margin-top:.25rem;font-size:1.25rem;line-height:1.3;font-weight:500}
.xcard:hover .xt{text-decoration:underline;text-underline-offset:4px}
.explore + .armsband{background:#2A0F1F}
.xcard{display:block;width:100%}.ximg{width:100%;display:block}
.explore-row{grid-auto-columns:calc((100% - 3rem)/3)}
@media(max-width:700px){.explore-row{grid-auto-columns:80%}}

/* === Egen identitet (v25) === */
.themebtn{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--ink);border:1px solid var(--line);background:var(--surface)}
.themebtn:hover{border-color:var(--coral);color:var(--accent)}
.menutxt{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem .3rem .5rem .9rem;font-weight:600;font-size:.95rem;color:var(--ink);letter-spacing:.01em}
.menulines{display:inline-flex;flex-direction:column;gap:5px;width:22px}
.menulines i{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .2s}
.menulines i:last-child{width:70%;margin-left:auto}
.menutxt[aria-expanded="true"] .menulines i:first-child{transform:translateY(3.5px) rotate(45deg)}
.menutxt[aria-expanded="true"] .menulines i:last-child{width:100%;transform:translateY(-3.5px) rotate(-45deg)}
.menutxt:hover{color:var(--accent)}
/* CTA som sparre (V) i stedet for avrundet hjørne */
.ctablock{background:#2A0F1F}
.ctablock > .wrap{border-radius:0;max-width:none;width:100%;padding:4.5rem max(16px,calc((100vw - 1240px)/2 + 16px)) 8rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 4.5rem),50% 100%,0 calc(100% - 4.5rem))}
.cta-title{font-weight:600}
.ctablock .btn{background:var(--plum);color:var(--coral);border-color:var(--plum);margin-top:2rem}
/* krønike-rutenett */
.chron{background:var(--bg);padding:4.5rem 0 4rem}
.chron-head h2{font-size:clamp(2rem,4vw,3rem);font-weight:600;letter-spacing:-.025em;margin-top:.4rem}
.chron-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1.25rem;margin-top:2rem}
@media(min-width:900px){.chron-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ccard{display:block;width:100%;text-align:left;color:var(--ink)}
.cimg{aspect-ratio:1/1;overflow:hidden;background:var(--sea);clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%)}
.cimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.ccard:hover .cimg img{transform:scale(1.05)}
.cmeta{display:flex;align-items:center;gap:.45rem;margin-top:.9rem;font-size:.85rem;color:var(--muted)}
.ct{display:block;margin-top:.3rem;font-family:var(--display);font-weight:600;font-size:1.1rem;line-height:1.25;letter-spacing:-.01em}
.ccard:hover .ct{color:var(--accent)}
.chron + .armsband{background:#2A0F1F}

/* === Brevene (v26) === */
.lrail{position:relative;max-width:58rem}
.lcent{margin:2.2rem 0 .8rem;display:flex;align-items:center;gap:1rem;font-family:var(--display);font-weight:600;font-size:1.35rem;letter-spacing:-.015em;color:var(--ink)}
.lcent::after{content:"";flex:1;height:1px;background:var(--line)}
.lcent:first-child{margin-top:0}
.lrow + .lrow{border-top:1px solid var(--line)}
.lcard{display:grid;grid-template-columns:5.5rem 1fr auto;gap:1.25rem;align-items:start;width:100%;text-align:left;padding:1.15rem .5rem 1.15rem 0;border-radius:.75rem;transition:background .15s}
.lcard:hover{background:var(--surface)}
.lcard:hover .ltitle{color:var(--accent)}
.lcard:hover .larrow{color:var(--coral);transform:translateX(3px)}
.lyear{font-family:var(--display);font-weight:600;font-size:1.9rem;line-height:1;letter-spacing:-.03em;color:var(--coral);padding-top:.1rem}
.lbody{display:block;min-width:0}
.lmeta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-size:.82rem;color:var(--muted)}
.ldn{display:inline-block;padding:.12rem .5rem;border-radius:999px;background:var(--plum);color:#F8EDEA;font-size:.72rem;font-weight:600;letter-spacing:.02em}
.ldot{opacity:.6}
.ltitle{display:block;margin-top:.4rem;font-family:var(--display);font-weight:600;font-size:1.25rem;line-height:1.25;letter-spacing:-.015em;color:var(--ink);transition:color .15s}
.lsays{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:.35rem;font-size:.97rem;line-height:1.55;color:var(--muted)}
.larrow{color:var(--line);padding-top:.4rem;transition:transform .15s,color .15s}
@media(max-width:600px){.lcard{grid-template-columns:3.8rem 1fr}.lyear{font-size:1.35rem}.larrow{display:none}}

/* === Bilder på undersider (v27) === */
.showcase{margin:2.25rem 0 .5rem;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);background:#0A0708;border-radius:1.25rem;overflow:hidden;box-shadow:0 10px 30px -18px rgba(57,24,43,.55)}
.showcase .sc-imgs{display:flex;align-items:center;justify-content:center;padding:1.5rem;min-height:20rem}
.showcase .sc-img img{display:block;max-width:100%;max-height:26rem;object-fit:contain}
.showcase.tall .sc-img img{max-height:30rem}
.showcase.multi .sc-imgs{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;gap:.6rem;padding:.6rem;align-items:stretch}
.showcase.multi .sc-img{overflow:hidden;border-radius:.75rem;background:#000}
.showcase.multi .sc-img.main{grid-row:span 2}
.showcase.multi .sc-img img{width:100%;height:100%;max-height:none;object-fit:cover}
.sc-cap{display:flex;flex-direction:column;justify-content:center;gap:.6rem;padding:2rem 2.25rem;border-left:1px solid rgba(236,106,77,.25);color:#EADBD5}
.sc-e{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral)}
.sc-t{font-family:var(--display);font-weight:600;font-size:1.75rem;line-height:1.15;letter-spacing:-.02em;color:#FFF5F1}
.sc-d{font-size:1rem;line-height:1.6;color:#CDB9B3}
.sc-cr{font-size:.75rem;color:#8E7A80;margin-top:.25rem}
.photoband{position:relative;margin:2.25rem 0 .5rem;border-radius:1.25rem;overflow:hidden;background:#111}
.photoband img{display:block;width:100%;height:24rem;object-fit:cover;object-position:center 45%}
.photoband figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:.4rem;padding:4rem 2.25rem 1.75rem;background:linear-gradient(to top,rgba(20,8,14,.88),rgba(20,8,14,0));color:#EADBD5}
.photoband .sc-d{max-width:40rem;color:#E3D3CD}
.photoband .sc-cr{position:absolute;right:1.25rem;bottom:1rem}
.showcase:not(.multi) .sc-imgs{padding:0}
.showcase:not(.multi) .sc-img img{-webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 55%,transparent 100%)}
.showcase.tall .sc-img img{max-height:25rem}
.showcase.multi .sc-img.main img{object-fit:contain;background:#000}
@media(max-width:760px){.showcase{grid-template-columns:1fr}.sc-cap{border-left:0;border-top:1px solid rgba(236,106,77,.25);padding:1.5rem}.showcase .sc-imgs{min-height:0}.showcase.multi .sc-imgs{height:18rem}.photoband img{height:20rem}.photoband figcaption{padding:3rem 1.25rem 1.25rem}.photoband .sc-cr{position:static}.sc-t{font-size:1.4rem}}

/* === Slektstre v28 === */
.tlegend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.85rem;color:var(--muted)}
.tlegend > span{display:inline-flex;align-items:center;gap:.4rem}
.tlegend .dot,.tnode .dot{width:10px;height:10px;margin:0}
.tnode{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .8rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface);text-align:left;transition:border-color .15s,box-shadow .15s}
.tnode:hover{border-color:var(--coral);box-shadow:0 4px 14px -8px rgba(57,24,43,.35)}
.tnode.hit{border-color:var(--coral);box-shadow:0 0 0 3px rgba(236,106,77,.25)}
.tn-txt{display:flex;flex-direction:column;line-height:1.2}
.tn-n{font-weight:600;font-size:.9rem;color:var(--ink)}
.tn-y{font-size:.75rem;color:var(--muted)}
.tnode.big{padding:.7rem 1rem;border-radius:1rem;min-width:15rem}
.tnode.big .tn-n{font-family:var(--display);font-size:1.12rem;letter-spacing:-.01em}
.tnode.big .tn-y{font-size:.82rem}
.spine{position:relative;max-width:64rem}
.spine::before{content:"";position:absolute;left:1.05rem;top:0;bottom:0;width:2px;background:linear-gradient(var(--coral),var(--plum))}
.spine-row{position:relative;display:grid;grid-template-columns:2.1rem 17rem 1fr;gap:1rem;align-items:center;padding:.45rem 0}
.spine-n{position:relative;z-index:1;display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:999px;background:var(--plum);color:#FBEDE8;font-size:.8rem;font-weight:700;box-shadow:0 0 0 4px var(--bg)}
.spine-side{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center}
.ss-g{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.ss-l{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:.15rem}
.spine-era{position:relative;padding:1.6rem 0 .5rem 3.1rem}
.spine-era span{font-family:var(--display);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.spine-era:first-child{padding-top:0}
.branches{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1rem}
.branch{background:var(--surface);border:1px solid var(--line);border-radius:1.25rem;padding:1.25rem}
.br-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem .75rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}
.br-root{font-size:.82rem;color:var(--muted)}
.br-chain{position:relative;margin-top:.9rem;display:flex;flex-direction:column;gap:.4rem;padding-left:1rem}
.br-chain::before{content:"";position:absolute;left:.3rem;top:.6rem;bottom:.6rem;width:2px;background:var(--line)}
.br-chain .tnode{width:100%;background:var(--bg)}
@media(max-width:800px){.spine-row{grid-template-columns:2.1rem 1fr}.spine-side{grid-column:2}.tnode.big{min-width:0;width:100%}}

/* === Toppbilde v29 === */
.topimg{margin:0 0 2.25rem}
.ti-frame{position:relative;height:22rem;border-radius:1.25rem;overflow:hidden;background:#0A0708;display:flex;align-items:center;justify-content:center}
.ti-frame img{height:100%;width:auto;max-width:100%;object-fit:contain;-webkit-mask-image:radial-gradient(ellipse 70% 75% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 70% 75% at 50% 50%,#000 55%,transparent 100%)}
.topimg.cover .ti-frame{height:28rem}.topimg.cover .ti-frame img{width:100%;object-fit:cover;object-position:center 70%;-webkit-mask-image:none;mask-image:none}
.topimg figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.6rem;font-size:.85rem;line-height:1.5;color:var(--muted)}
.ti-cr{flex:none;font-size:.75rem;opacity:.8}
@media(max-width:760px){.ti-frame{height:15rem}}

/* === Slektstre-perioder v30 === */
.spine::before{display:none}
.spine{display:flex;flex-direction:column;gap:1rem;max-width:none}
.spine-group{--sg:#EC6A4D;--sgbg:rgba(236,106,77,.08);position:relative;border-radius:1.5rem;padding:1.5rem 1.75rem 1.25rem;background:var(--sgbg);border:1px solid color-mix(in srgb,var(--sg) 22%,transparent)}
.sg-bjarkoy{--sg:#7A3B5E;--sgbg:rgba(122,59,94,.09)}
.sg-sudreim{--sg:#B8862F;--sgbg:rgba(192,138,62,.11)}
.sg-treroser{--sg:#3F6C93;--sgbg:rgba(63,108,147,.10)}
.sg-head{display:flex;gap:1rem;align-items:center;padding-bottom:1rem;margin-bottom:.5rem;border-bottom:1px solid color-mix(in srgb,var(--sg) 25%,transparent)}
.sg-shield{width:3rem;height:auto;flex:none}
.sg-ph{display:block;width:2.6rem;height:2.6rem;color:var(--sg)}
.sg-ph svg{width:100%;height:100%}
.sg-y{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sg)}
.sg-t{font-size:1.6rem;line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin-top:.1rem}
.sg-d{font-size:.92rem;color:var(--muted);margin-top:.2rem;max-width:44rem}
.sg-rows{position:relative}
.sg-rows::before{content:"";position:absolute;left:1.05rem;top:.6rem;bottom:.6rem;width:2px;background:var(--sg);opacity:.5}
.spine-group .spine-n{background:var(--sg);box-shadow:0 0 0 4px color-mix(in srgb,var(--sg) 8%,var(--bg))}
.spine-group .tnode.big{border-color:color-mix(in srgb,var(--sg) 35%,var(--line))}
@media(max-width:800px){.spine-group{padding:1.1rem 1rem}}

/* === Samtidige v31 === */
.samtid{background:var(--plum);color:#F3E6E1;border-radius:1.5rem;padding:2.5rem 2.25rem}
.samtid .eyebrow{color:var(--coral)}
.samtid-h{font-size:2rem;letter-spacing:-.02em;color:#FFF5F1;margin-top:.2rem}
.samtid-p{max-width:46rem;margin-top:.9rem;font-size:1.05rem;line-height:1.65;color:#E3D0CA}
.samtid .btn{display:inline-flex}
.samtid-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:.6rem;margin-top:2rem}
.samtid-list li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:.9rem;padding:.7rem .9rem;font-size:.9rem;line-height:1.45}
.samtid-list .plink{color:#FFB6A3;font-weight:600}
.samtid-list .muted{color:#C9B3AD}
@media(max-width:700px){.samtid{padding:1.75rem 1.25rem}.samtid-list{grid-template-columns:1fr}}

/* === Kartprikker v32 === */
.mapbox .pt.home circle{fill:var(--coral)}
.mapbox .pt circle{stroke:var(--surface);stroke-width:1.5px;vector-effect:non-scaling-stroke}
.mapbox .pt text{font-weight:600;paint-order:stroke;stroke:var(--land);stroke-width:3.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}

/* === Giskegodset på kartet v33 === */
.greg circle{fill:var(--coral);fill-opacity:.28;stroke:var(--coral)}
.greg circle.halo{fill-opacity:.1;stroke:none}
.greg.other circle{fill:none;stroke:var(--plum);stroke-opacity:.55}
.greg text{fill:var(--ink);font-family:var(--body);font-weight:700;paint-order:stroke;stroke:var(--land);stroke-width:3.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.greg text.gsub{font-weight:500;fill:var(--muted)}
.gtabs{display:flex;flex-wrap:wrap;gap:.4rem}
.gtab{padding:.4rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--bg);font-size:.85rem;font-weight:600;color:var(--ink)}
.gtab:hover{border-color:var(--coral)}
.gtab.on{background:var(--plum);border-color:var(--plum);color:#FBEDE8}
.glist{display:flex;flex-direction:column;gap:.5rem}
.glist li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;font-size:.95rem}
.gdot{width:.8rem;height:.8rem;border-radius:999px;background:var(--coral);opacity:.8;flex:none;align-self:center}
.gdot.o{background:none;border:2px dashed var(--plum);opacity:.6}
.glist li.oth b{font-weight:600;color:var(--muted)}

/* === Riket v34 === */
.rk path,.rk circle{fill:var(--coral);fill-opacity:.32;stroke:var(--coral)}
.rk-union path,.rk-union circle{fill:var(--plum);fill-opacity:.12;stroke:var(--plum);stroke-opacity:.6}
.rk-out path,.rk-out circle{fill:none;stroke:var(--plum);stroke-opacity:.55}
.rk text{fill:var(--ink);font-family:var(--body);font-weight:700;paint-order:stroke;stroke:var(--land);stroke-width:3.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.rk text.gsub{font-weight:500;fill:var(--muted)}
.rk-out text{fill:var(--muted)}
.gdot.u{background:var(--plum);opacity:.35}
.rk-felles path{fill:var(--ochre);fill-opacity:.28;stroke:var(--ochre);stroke-opacity:.9}
.rk-felles text{fill:var(--ink)}
.gdot.f{background:var(--ochre);opacity:.6;border:1px dashed var(--ochre)}

/* === Innledning v35 === */
.intro-h{font-size:clamp(2.2rem,4.5vw,3.6rem);line-height:1.02;letter-spacing:-.03em;margin-top:.4rem;color:#FFF5F1}
.intro-lead{margin-top:1.25rem;max-width:48rem;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.45;color:#F6DCD3}
.intro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:3rem}
.icard{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
.icard:hover{transform:translateY(-3px);border-color:rgba(236,106,77,.5)}
.icard-img{aspect-ratio:16/10;overflow:hidden;background:#2A1220}
.icard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.icard:hover .icard-img img{transform:scale(1.04)}
.icard-b{padding:1.4rem 1.5rem 1.6rem}
.icard-e{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral)}
.icard-h{font-size:1.6rem;letter-spacing:-.02em;color:#FFF5F1;margin-top:.25rem}
.icard p{margin-top:.6rem;font-size:1rem;line-height:1.6;color:#E3D0CA}
.intro-band{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:3rem;margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid rgba(236,106,77,.3)}
.intro-h3{font-size:1.9rem;letter-spacing:-.02em;color:#FFF5F1}
.intro-p{margin-top:.8rem;font-size:1.1rem;line-height:1.65;color:#E3D0CA}
.intro-q{display:flex;flex-direction:column;gap:1rem}
.intro-q li{display:flex;gap:1rem;align-items:baseline;font-family:var(--display);font-weight:600;font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.25;letter-spacing:-.015em;color:#FFF5F1}
.iq-n{flex:none;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:999px;background:var(--coral);color:var(--plum);font-size:1rem;transform:translateY(-.1rem)}
.intro-q li.iq-end{font-family:var(--body);font-weight:400;font-size:1rem;color:#C9B3AD;padding-left:3.2rem}
@media(max-width:900px){.intro-grid{grid-template-columns:1fr}.intro-band{grid-template-columns:1fr;gap:2rem}}

/* === Mobil v36 === */
.hero .btn.ghost{background:var(--surface);border-color:color-mix(in srgb,var(--plum) 25%,var(--line))}
.hero-text{position:relative;z-index:2}
@media (max-width:640px){
 .hero-in{min-height:100vh!important;min-height:100svh!important;padding-top:calc(74px + 1.5rem)!important;padding-bottom:2.25rem;align-content:end!important;align-items:end!important;gap:1.5rem}
 .hero-text{display:flex;flex-direction:column;padding-bottom:0!important}
 .herokart{opacity:.55!important;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 22%,transparent 52%)!important;mask-image:linear-gradient(180deg,#000 0%,#000 22%,transparent 52%)!important;background-position:60% 0!important}
 .hero-lead{color:var(--ink)}
 h1.hero-title{font-size:clamp(2.2rem,10.5vw,3.1rem)!important;line-height:1}
 .hero .eyebrow{font-size:.66rem;letter-spacing:.1em}
 .hero-lead{font-size:1.06rem!important;line-height:1.55}
 .hero-text .flex{gap:.6rem!important;margin-top:1.5rem!important}
 .hero-text .flex .btn{flex:1 1 calc(50% - .3rem);justify-content:center;padding-left:.75rem;padding-right:.75rem}
 .hero-text .flex .btn:first-child{flex-basis:100%}
 .seg{padding:.2rem}.seg button{padding:.3rem .55rem;font-size:.82rem}
 .menubtn{width:40px;height:36px;gap:5px}
 .intro-h{font-size:2.2rem}.intro-lead{font-size:1.15rem}
 .introplum .wrap{padding-top:3.25rem;padding-bottom:3.25rem}
 .intro-grid{margin-top:2rem;gap:1rem}.intro-band{margin-top:2.5rem;padding-top:2rem}
 .icard-b{padding:1.15rem 1.2rem 1.3rem}.icard-h{font-size:1.4rem}
 .intro-q li{font-size:1.15rem}
 .cta-title{font-size:clamp(2rem,9vw,2.6rem)!important}
 .pagetitle{font-size:clamp(2rem,8.5vw,2.6rem)!important;line-height:1.05}
 .ti-frame{height:13rem!important}.topimg.cover .ti-frame{height:15rem!important}.topimg figcaption{flex-direction:column;gap:.2rem;font-size:.8rem}
 .samtid-h{font-size:1.6rem}.samtid-p{font-size:1rem}
 .sg-t{font-size:1.3rem}.sg-shield{width:2.4rem}
 .spine-group{padding:1rem .9rem}
 .spine-row{gap:.6rem}
 .tnode.big .tn-n{font-size:1rem}
 .branches{grid-template-columns:1fr}
 .gtabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}
 .gtab{flex:none}
}

.vlead{font-weight:500;color:var(--ink);font-size:1.075rem;line-height:1.6}

.srcbox{border-top:1px solid var(--line);padding-top:1rem}
.srcbtn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--bg);font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--accent)}
.srcbtn:hover{border-color:var(--coral)}
.srcn{display:inline-grid;place-items:center;min-width:1.3rem;height:1.3rem;padding:0 .3rem;border-radius:999px;background:var(--plum);color:#FBEDE8;font-size:.7rem}

.gods-toc{display:flex;flex-wrap:wrap;gap:.5rem;max-width:58rem}
.gods-toc a{padding:.4rem .85rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:.88rem;font-weight:600;color:var(--ink)}
.gods-toc a:hover{border-color:var(--coral);color:var(--accent)}
.gods-sec{scroll-margin-top:9rem}

.langbtn{display:inline-grid;place-items:center;height:2.4rem;min-width:2.6rem;padding:0 .6rem;border-radius:.7rem;background:var(--plum);color:var(--coral);font-weight:700;font-size:.85rem;letter-spacing:.06em;margin-right:.4rem}
:root[data-theme="dark"] .langbtn{background:#4E2540}
@media(max-width:640px){.langbtn{height:2.1rem;min-width:2.2rem;font-size:.78rem}}

/* cta-overgang v2: slak spiss mot våpenbåndet, samme farge under */
.ctablock{background:var(--plum)}
:root[data-theme="dark"] .ctablock{background:#160812}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ctablock{background:#160812}}
.ctablock > .wrap{padding-bottom:6.5rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 2.75rem),50% 100%,0 calc(100% - 2.75rem))}
.ctablock + .armsband{background:var(--plum);border-top:0;padding-top:2rem}
:root[data-theme="dark"] .ctablock + .armsband{background:#160812}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ctablock + .armsband{background:#160812}}
@media(max-width:640px){.ctablock > .wrap{padding-bottom:5rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 1.75rem),50% 100%,0 calc(100% - 1.75rem))}}
/* cta-overgang v3: våpenbåndet går opp under spissen */
.introplum + .ctablock,.ctablock{background:transparent!important;position:relative;z-index:2}
.ctablock + .armsband{position:relative;z-index:1;margin-top:-2.75rem;padding-top:calc(2rem + 2.75rem)}
@media(max-width:640px){.ctablock + .armsband{margin-top:-1.75rem;padding-top:calc(2rem + 1.75rem)}}
/* hero: parallakse og fetere tittel */
.herokart{will-change:transform;transform-origin:50% 0;top:-4%;bottom:-12%}
h1.hero-title{font-weight:800!important;letter-spacing:-.025em}
.hero-text{will-change:transform,opacity}
/* nedlastinger */
.dl-list{border:1px solid var(--line);border-radius:1rem;background:var(--surface);overflow:hidden}
.dl-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 1rem;border-top:1px solid var(--line)}
.dl-row:first-child{border-top:0}
.dl-name{min-width:0;font-size:.95rem;line-height:1.35}
.dl-name>.muted{display:block;margin-top:.1rem;white-space:nowrap}
.dl-btns{display:flex;gap:.4rem;flex:none}
.dl-btn{display:inline-flex;align-items:center;justify-content:center;width:5.25rem;gap:.3rem;padding:.35rem .65rem;border-radius:.6rem;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:.8rem;font-weight:600;letter-spacing:.02em}
.dl-btn:hover{border-color:var(--accent);color:var(--accent)}
.dl-btn svg{opacity:.75}
.dl-ph{visibility:hidden}
/* bokhylle */
.bookshelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:1rem}
.bookcard{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--line,#D9CBAE);border-radius:1rem;background:var(--surface,#FBF7EE);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.bookcard:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(43,42,40,.12)}
.bookcard img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:.4rem;box-shadow:0 2px 8px rgba(43,42,40,.18)}
.bookcard-t{font-size:.8rem;line-height:1.35}
.bookcard-l{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;color:var(--accent,#8B3A2B);margin-top:auto}

/* hero: tegnet kirkebilde (erstatter kartet). Vises i egne farger, og tones ut mot teksten */
.hero .herokart{left:46%;background-repeat:no-repeat;background-size:cover;background-position:60% 45%;mix-blend-mode:normal!important;filter:none!important;opacity:1!important;
 -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.12) 10%,rgba(0,0,0,.5) 22%,rgba(0,0,0,.88) 32%,#000 40%)!important;-webkit-mask-composite:source-over;mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.12) 10%,rgba(0,0,0,.5) 22%,rgba(0,0,0,.88) 32%,#000 40%)!important;mask-composite:add}
:root[data-theme="dark"] .hero .herokart{filter:brightness(.82)!important}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .hero .herokart{filter:brightness(.82)!important}}
@media (min-width:960px){.hero-in{min-height:100vh;min-height:100svh}}
@media (max-width:959px){.hero .herokart{left:0;background-size:100% auto;background-position:50% 0!important;
 -webkit-mask-image:linear-gradient(180deg,#000 26vw,transparent 53vw)!important;mask-image:linear-gradient(180deg,#000 26vw,transparent 53vw)!important}}
@media (max-width:640px){.hero .herokart{background-size:auto 50%;-webkit-mask-image:linear-gradient(180deg,#000 28%,transparent 48%)!important;mask-image:linear-gradient(180deg,#000 28%,transparent 48%)!important}}
