*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background:#120f0b; color:#f1dfc2; font-family:'Cormorant Garamond', Georgia, serif; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { color: inherit; }
:root {
  --bg:#120f0b; --bg2:#1b1510; --bg3:#241b13; --paper:#f1dfc2; --muted:#d4b58e;
  --gold:#d7a35a; --gold2:#e0b875; --line:rgba(215,163,90,.20); --shadow:rgba(0,0,0,.45);
}
.grain { pointer-events:none; position:fixed; inset:-20%; width:140%; height:140%; opacity:.035; z-index:50; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.topnav { position:fixed; top:0; left:0; right:0; z-index:40; display:flex; justify-content:center; padding:.85rem 1rem; background:linear-gradient(to bottom,rgba(18,15,11,.92),rgba(18,15,11,.35),transparent); }
.topnav-inner { max-width:1180px; width:100%; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.brand { font-family:'Jost',sans-serif; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; text-decoration:none; color:#f3dfbd; }
.navlinks { display:flex; gap:.75rem; flex-wrap:wrap; justify-content:flex-end; }
.navlinks a { font-family:'Jost',sans-serif; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; color:#d4b58e; padding:.45rem .55rem; border-radius:999px; }
.navlinks a:hover { color:#fff2da; background:rgba(215,163,90,.08); }
.hero { min-height:100dvh; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,5rem); align-items:center; padding:clamp(5rem,10vw,8rem) clamp(1.4rem,5vw,4rem) clamp(3rem,8vw,5rem); background:radial-gradient(circle at 35% 45%,rgba(215,163,90,.22),transparent 34%),linear-gradient(135deg,#17120e,#241910 60%,#100d0a); overflow:hidden; position:relative; }
.hero::after { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at center,transparent 35%,rgba(18,15,11,.72) 100%); pointer-events:none; }
.hero > * { position:relative; z-index:2; }
.kicker { font-family:'Jost',sans-serif; font-size:.74rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold2); margin-bottom:1.25rem; }
h1 { font-size:clamp(3.6rem,9vw,7.4rem); line-height:.92; font-weight:300; letter-spacing:.075em; color:#f5ead9; margin:0 0 1.4rem; }
h1 em { display:block; font-style:italic; color:#ead0aa; font-size:.9em; }
.subtitle { font-size:clamp(1.28rem,2.6vw,1.8rem); line-height:1.45; color:#f0d8b4; font-style:italic; margin-bottom:1.6rem; }
.lead { font-size:clamp(1.12rem,2vw,1.34rem); line-height:1.75; color:#efdcc0; max-width:660px; }
.hero-caption { display:block; font-family:'Jost',sans-serif; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:#cfa36a; padding:.9rem 1rem; background:rgba(18,15,11,.72); }
.hero-book { display:flex; justify-content:center; }
.hero-book a { display:block; width:100%; max-width:400px; text-decoration:none; border:1px solid rgba(215,163,90,.22); border-radius:6px; overflow:hidden; background:#0d0a08; box-shadow:0 30px 90px rgba(0,0,0,.52); transition:.3s ease; }
.hero-book a:hover { transform:translateY(-4px); border-color:rgba(215,163,90,.6); box-shadow:0 38px 110px rgba(0,0,0,.62); }
.hero-book a:hover .hero-caption { color:#fff0d4; }
.hero-book img { width:100%; }
.mc-photo { max-width:760px; margin:3.25rem auto 0; }
.mc-photo img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:5px; border:1px solid rgba(215,163,90,.18); box-shadow:0 20px 60px rgba(0,0,0,.45); }
.mc-photo figcaption { text-align:center; }
.button-row { display:flex; gap:.85rem; flex-wrap:wrap; margin-top:2rem; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.84rem 1.5rem; border:1px solid rgba(215,163,90,.42); color:#e3b878; font-family:'Jost',sans-serif; font-size:.72rem; font-weight:400; letter-spacing:.17em; text-transform:uppercase; text-decoration:none; background:rgba(215,163,90,.035); transition:.25s ease; cursor:pointer; }
.btn:hover { background:rgba(215,163,90,.14); color:#fff0d4; border-color:rgba(215,163,90,.72); }
.btn.primary { background:#d7a35a; color:#120f0b; border-color:#d7a35a; font-weight:500; }
.btn.primary:hover { background:#e4b46d; color:#0f0b08; }
section { padding:clamp(4rem,9vw,7rem) clamp(1.4rem,5vw,4rem); }
.dark { background:#16110d; } .mid { background:#211810; } .warm { background:#1b1510; }
.wrap { max-width:980px; margin:0 auto; }
.narrow { max-width:760px; margin:0 auto; }
.ornament { display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:2.5rem; }
.ornament:before,.ornament:after { content:""; width:52px; height:1px; background:linear-gradient(to right,transparent,var(--gold),transparent); opacity:.45; }
.ornament span { width:6px; height:6px; background:var(--gold); opacity:.7; border-radius:50%; box-shadow:-14px 1px 0 rgba(215,163,90,.30),14px 1px 0 rgba(215,163,90,.30); }
h2 { font-size:clamp(2rem,5vw,3.3rem); font-weight:300; letter-spacing:.045em; line-height:1.13; color:#f7ead7; margin:0 0 1.5rem; }
h3 { font-family:'Jost',sans-serif; font-size:.75rem; letter-spacing:.17em; text-transform:uppercase; color:var(--gold2); margin:0 0 .75rem; }
p { font-size:clamp(1.08rem,2vw,1.28rem); line-height:1.75; color:#f1dfc2; margin:0 0 1.3rem; }
.muted { color:#d3b28a; font-style:italic; }
.action-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.card { min-height:235px; display:flex; flex-direction:column; padding:1.35rem; border:1px solid rgba(215,163,90,.22); background:rgba(255,255,255,.025); border-radius:5px; text-decoration:none; transition:.25s ease; }
.card:hover { transform:translateY(-3px); background:rgba(215,163,90,.07); border-color:rgba(215,163,90,.55); }
.price { margin-top:auto; padding-top:1rem; font-family:'Jost',sans-serif; color:#f0d09f; font-size:.78rem; letter-spacing:.13em; text-transform:uppercase; }
.book-layout { display:grid; grid-template-columns:230px 1fr; gap:clamp(2rem,5vw,3.5rem); align-items:start; }
.cover { border-radius:5px; box-shadow:0 20px 70px var(--shadow); border:1px solid rgba(215,163,90,.18); }
.quote { text-align:center; max-width:820px; margin:0 auto; padding:clamp(2rem,6vw,4rem) 0; }
.quote blockquote { font-size:clamp(2rem,5.5vw,3.6rem); line-height:1.16; color:#fff1dc; font-weight:300; }
.quote cite { display:block; margin-top:1.5rem; color:#d7b07a; font-family:'Jost',sans-serif; font-style:normal; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; }
.profile { display:grid; grid-template-columns:minmax(220px,330px) 1fr; gap:clamp(2rem,5vw,3.5rem); align-items:center; }
.profile img { border-radius:6px; border:1px solid rgba(215,163,90,.22); box-shadow:0 20px 60px rgba(0,0,0,.45); }
.gallery-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
figure { margin:0; } figure img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:5px; border:1px solid rgba(215,163,90,.16); transition:.25s ease; }
figure a { display:block; overflow:hidden; border-radius:5px; } figure a:hover img { transform:scale(1.025); filter:brightness(1.08); }
figcaption { color:#d4b58e; font-size:1.05rem; line-height:1.55; font-style:italic; margin-top:.9rem; } figcaption strong { color:#f1dfc2; font-style:normal; font-weight:500; }
.order-box { border:1px solid rgba(215,163,90,.22); border-radius:6px; background:rgba(255,255,255,.025); padding:1.35rem; }
label { display:block; font-family:'Jost',sans-serif; font-size:.67rem; letter-spacing:.16em; text-transform:uppercase; color:#d7b07a; margin:.95rem 0 .35rem; }
input, textarea { width:100%; border:1px solid rgba(215,163,90,.22); background:#110d0a; color:#f5ead9; padding:.85rem; font-family:'Jost',sans-serif; font-size:.95rem; border-radius:4px; }
textarea { min-height:110px; resize:vertical; }
.note { font-size:1rem; color:#d7b58a; }
.contact-row { display:flex; gap:1.5rem; align-items:baseline; border-bottom:1px solid rgba(215,163,90,.13); padding:1.15rem 0; }
.contact-label { min-width:170px; color:#d7b07a; font-family:'Jost',sans-serif; font-size:.68rem; letter-spacing:.17em; text-transform:uppercase; }
.contact-value { color:#f0d7b3; text-decoration:none; font-size:1.2rem; }
.lightbox { position:fixed; inset:0; background:rgba(10,8,6,.94); display:none; align-items:center; justify-content:center; padding:2rem; z-index:100; }
.lightbox:target { display:flex; } .lightbox img { max-height:86vh; max-width:92vw; box-shadow:0 24px 80px rgba(0,0,0,.7); border-radius:4px; }
.lightbox-close { position:fixed; top:1.25rem; right:1.5rem; color:#fff0d8; font-family:'Jost',sans-serif; font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; text-decoration:none; }
footer { text-align:center; padding:3rem 1.5rem; background:#0f0c09; border-top:1px solid rgba(215,163,90,.10); }
.tiny { font-family:'Jost',sans-serif; font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:#8f6b43; }
@media (max-width:900px) { .hero { grid-template-columns:1fr; text-align:center; } .lead { margin:0 auto 1.3rem; } .button-row { justify-content:center; } .action-grid { grid-template-columns:repeat(2,1fr); } .profile { grid-template-columns:1fr; } }
@media (max-width:640px) { .navlinks { display:none; } .hero { padding-top:5.5rem; } .action-grid,.gallery-grid,.book-layout { grid-template-columns:1fr; } .book-layout { text-align:left; } .cover { max-width:230px; } .contact-row { flex-direction:column; gap:.25rem; } }

/* ---------- Blogg og skrivesiden ---------- */
.page-head { padding:clamp(7rem,14vw,10rem) clamp(1.4rem,5vw,4rem) clamp(2rem,5vw,3rem); text-align:center; background:radial-gradient(circle at 50% 0%,rgba(215,163,90,.18),transparent 55%); }
.page-head h1 { font-size:clamp(2.6rem,7vw,4.6rem); margin-bottom:.75rem; }
.page-head p { color:#d9bd95; font-style:italic; max-width:620px; margin:0 auto; }
.post { max-width:760px; margin:0 auto clamp(3rem,7vw,4.5rem); padding-bottom:clamp(2rem,5vw,3rem); border-bottom:1px solid rgba(215,163,90,.14); }
.post:last-child { border-bottom:none; }
.post h2 { font-size:clamp(1.7rem,4vw,2.6rem); margin-bottom:.6rem; }
.post-meta { font-family:'Jost',sans-serif; font-size:.66rem; letter-spacing:.17em; text-transform:uppercase; color:#b58f5e; margin-bottom:1.5rem; }
.post-image { width:100%; border-radius:5px; border:1px solid rgba(215,163,90,.18); margin-bottom:1.5rem; }
.post-body p { white-space:pre-wrap; }
.post-tools { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1rem; }
.badge { display:inline-block; font-family:'Jost',sans-serif; font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; color:#120f0b; background:#d7a35a; padding:.25rem .55rem; border-radius:3px; vertical-align:middle; margin-left:.6rem; }
.panel { max-width:760px; margin:0 auto; border:1px solid rgba(215,163,90,.22); border-radius:6px; background:rgba(255,255,255,.025); padding:clamp(1.5rem,4vw,2.25rem); }
.panel + .panel { margin-top:2rem; }
.field-help { font-family:'Cormorant Garamond',Georgia,serif; font-size:1rem; color:#c2a077; font-style:italic; margin:.4rem 0 0; }
.status { margin-top:1.25rem; padding:.9rem 1.1rem; border-radius:4px; font-size:1.05rem; display:none; }
.status.show { display:block; }
.status.ok { background:rgba(120,170,110,.14); border:1px solid rgba(140,190,130,.4); color:#d7edcd; }
.status.feil { background:rgba(190,90,70,.14); border:1px solid rgba(210,110,90,.45); color:#f4cfc4; }
.toolbar { display:flex; gap:.85rem; flex-wrap:wrap; align-items:center; margin-top:1.75rem; }
.toolbar .spacer { flex:1 1 auto; }
.btn.slett { border-color:rgba(210,110,90,.45); color:#e8a595; }
.btn.slett:hover { background:rgba(210,110,90,.16); border-color:rgba(210,110,90,.8); color:#ffd9cd; }
.btn[disabled] { opacity:.5; cursor:not-allowed; }
.checkline { display:flex; align-items:center; gap:.6rem; margin-top:1.25rem; }
.checkline input { width:auto; }
.checkline span { font-family:'Jost',sans-serif; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:#d7b07a; }
.mine-innlegg { list-style:none; margin-top:1rem; }
.mine-innlegg li { display:flex; gap:1rem; align-items:baseline; flex-wrap:wrap; padding:.9rem 0; border-bottom:1px solid rgba(215,163,90,.13); }
.mine-innlegg li:last-child { border-bottom:none; }
.mine-innlegg .tittel { flex:1 1 220px; font-size:1.15rem; color:#f0d7b3; }
.mine-innlegg .dato { font-family:'Jost',sans-serif; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:#a8825a; }
.linklike { background:none; border:none; padding:0; font-family:'Jost',sans-serif; font-size:.64rem; letter-spacing:.15em; text-transform:uppercase; color:#d7a35a; cursor:pointer; text-decoration:underline; }
.linklike:hover { color:#fff0d4; }
.tom { color:#c2a077; font-style:italic; }
.hidden { display:none !important; }
@media (max-width:640px) { .page-head { padding-top:6rem; } }
