:root {
  --ink: #1a2e24; --ink-soft: #5b5b56; --ink-muted: #6b6b66;
  --gold: #a07a3d; --gold-light: #d4b78a;
  --green-dark: #1a3a2a; --green-mid: #2c4a38;
  --cream: #faf8f3; --cream-mid: #f0ece3;
  --white: #ffffff;
  --border: rgba(0,0,0,0.07); --border-soft: rgba(0,0,0,0.045);
  --font-serif: "Instrument Serif", Georgia, serif;
  --font-sans: "DM Sans", -apple-system, sans-serif;
}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-sans); background: var(--cream); color: var(--ink); font-size: 15px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }

/* NAV */
nav.site-nav { display: flex; align-items: center; justify-content: space-between; padding: 20px 48px; background: rgba(250,248,243,.9); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--border-soft); }
.logo { display: flex; align-items: center; gap: 11px; }
.compass { width: 34px; height: 34px; animation: spin 18s linear infinite; flex-shrink: 0; }
@keyframes spin { to { transform: rotate(360deg); } }
.logo-text { font-weight: 500; font-size: 14px; color: var(--ink); letter-spacing: -.01em; }
.nav-links { display: flex; align-items: center; gap: 4px; }
.nav-links a { font-size: 13px; color: var(--ink-muted); padding: 7px 11px; border-radius: 8px; transition: all .15s; }
.nav-links a:hover { color: var(--ink); background: rgba(26,46,36,.05); }
.nav-cta { background: var(--green-dark) !important; color: #fff !important; padding: 9px 18px !important; border-radius: 8px !important; font-weight: 500 !important; }
.nav-cta:hover { background: var(--green-mid) !important; }

/* ADMIN NAV */
nav.admin-nav { display: flex; align-items: center; justify-content: space-between; padding: 20px 36px; background: #1a3a2a; color: #fff; position: sticky; top: 0; z-index: 50; }
.admin-nav .nav-left { display: flex; align-items: center; gap: 14px; }
.admin-nav .compass { width: 24px; height: 24px; }
.nav-title { font-weight: 500; font-size: 14px; letter-spacing: -0.01em; }
.nav-sub { font-size: 11px; color: #d4b78a; letter-spacing: .1em; text-transform: uppercase; margin-left: 6px; }
.nav-actions { display: flex; align-items: center; gap: 14px; }
.nav-btn { font-size: 12px; color: rgba(255,255,255,.75); transition: color .2s; padding: 6px 12px; border-radius: 6px; cursor: pointer; background: transparent; border: 1px solid rgba(255,255,255,.2); font-family: inherit; }
.nav-btn:hover { color: #fff; border-color: rgba(255,255,255,.5); }
.nav-btn.danger { border-color: rgba(184,107,107,.5); color: #e8a6a6; }
.nav-btn.danger:hover { background: rgba(184,107,107,.15); color: #fff; }

/* BUTTONS */
.btn-primary { display: inline-flex; align-items: center; gap: 7px; background: var(--green-dark); color: #fff; padding: 13px 26px; border-radius: 10px; font-size: 14px; font-weight: 500; transition: all .2s; border: none; cursor: pointer; font-family: inherit; }
.btn-primary:hover { background: var(--green-mid); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(26,58,42,.3); color: #fff; }
.btn-ghost { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); font-size: 14px; font-weight: 500; padding: 13px 4px; background: none; border: none; cursor: pointer; transition: gap .18s; font-family: inherit; }
.btn-ghost:hover { gap: 13px; }
.btn-warm { display: inline-flex; align-items: center; gap: 7px; background: var(--gold-light); color: var(--green-dark); padding: 13px 26px; border-radius: 10px; font-size: 14px; font-weight: 500; transition: all .2s; border: none; cursor: pointer; font-family: inherit; }
.btn-warm:hover { background: #e0c79a; transform: translateY(-1px); color: var(--green-dark); }
.btn-outline { display: inline-flex; align-items: center; gap: 7px; color: #fff; padding: 13px 26px; border-radius: 10px; font-size: 14px; font-weight: 500; border: 1px solid rgba(255,255,255,.25); transition: all .2s; cursor: pointer; background: transparent; font-family: inherit; }
.btn-outline:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.5); color: #fff; }
.btn-submit { background: var(--green-dark); color: #fff; padding: 13px 28px; border-radius: 10px; font-size: 14px; font-weight: 500; border: none; cursor: pointer; transition: all .2s; display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-sans); }
.btn-submit:hover { background: var(--green-mid); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(26,58,42,.28); }
.btn-submit:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.btn-sm { padding: 7px 14px !important; font-size: 12px !important; border-radius: 7px !important; }
.btn-danger { background: #c0392b; color: #fff; }
.btn-danger:hover { background: #a93226; }

/* HERO */
.hero { padding: 80px 48px 96px; max-width: 1100px; margin: 0 auto; }
.eyebrow { font-size: 11px; font-weight: 500; color: var(--gold); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 22px; display: flex; align-items: center; gap: 10px; opacity: 0; animation: fadeUp .8s .1s ease forwards; transform: translateY(12px); }
.eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--gold); flex-shrink: 0; }
.hero-h1 { font-family: var(--font-serif); font-size: 60px; line-height: 1.06; color: var(--ink); font-weight: 400; margin-bottom: 22px; letter-spacing: -.025em; max-width: 860px; opacity: 0; animation: fadeUp .8s .2s ease forwards; transform: translateY(12px); }
.hero-h1 em { font-style: italic; color: var(--gold); }
.hero-sub { font-size: 17px; color: var(--ink-soft); line-height: 1.65; max-width: 560px; margin-bottom: 36px; opacity: 0; animation: fadeUp .8s .3s ease forwards; transform: translateY(12px); }
.hero-btns { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; opacity: 0; animation: fadeUp .8s .4s ease forwards; transform: translateY(12px); }
.hero-visual { margin-top: 60px; border-radius: 24px; overflow: hidden; aspect-ratio: 21/9; background: var(--cream-mid); position: relative; opacity: 0; animation: fadeUp 1s .5s ease forwards; transform: translateY(12px); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(26,46,36,.4) 0%, transparent 55%); }
.hero-badge { position: absolute; bottom: 26px; left: 26px; background: rgba(250,248,243,.95); backdrop-filter: blur(12px); border-radius: 14px; padding: 13px 17px; display: flex; align-items: center; gap: 11px; }
.badge-compass { width: 26px; height: 26px; animation: spin 12s linear infinite; }
.badge-name { font-size: 13px; color: var(--ink); font-weight: 500; line-height: 1.2; }
.badge-sub { font-size: 11px; color: #888; margin-top: 2px; }

/* TRUST STRIP */
.trust-strip { background: var(--white); border-top: 1px solid var(--border-soft); border-bottom: 1px solid var(--border-soft); padding: 26px 48px; }
.trust-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; gap: 40px; flex-wrap: wrap; }
.trust-item { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--ink-muted); }
.trust-item svg { width: 17px; height: 17px; stroke: var(--gold); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.trust-div { width: 1px; height: 18px; background: var(--border); flex-shrink: 0; }

/* SECTIONS */
.section { max-width: 1100px; margin: 0 auto; padding: 88px 48px; }
.section-head { display: grid; grid-template-columns: 180px 1fr; gap: 52px; margin-bottom: 56px; align-items: start; }
.section-eyebrow { font-size: 11px; font-weight: 500; color: var(--gold); letter-spacing: .14em; text-transform: uppercase; padding-top: 6px; }
.section-h2 { font-family: var(--font-serif); font-size: 42px; line-height: 1.1; color: var(--ink); font-weight: 400; letter-spacing: -.022em; margin-bottom: 13px; }
.section-h2 em { font-style: italic; color: var(--gold); }
.section-intro { font-size: 15.5px; color: var(--ink-soft); line-height: 1.72; max-width: 540px; }

/* CARDS */
.cards-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }
.ydelser-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }
.card, .ydelse-card { padding: 30px 26px; border-radius: 18px; background: var(--white); border: 1px solid var(--border-soft); transition: all .25s; }
.card:hover, .ydelse-card:hover { border-color: rgba(26,58,42,.18); transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,.07); }
.card-num { font-family: var(--font-serif); font-size: 15px; color: var(--gold); margin-bottom: 26px; letter-spacing: .04em; }
.card-title, .ydelse-title { font-family: var(--font-serif); font-size: 22px; color: var(--ink); font-weight: 400; margin-bottom: 9px; line-height: 1.2; }
.card-body, .ydelse-body { font-size: 13.5px; color: var(--ink-muted); line-height: 1.62; }
.ydelse-icon { width: 40px; height: 40px; border-radius: 50%; background: var(--cream-mid); display: grid; place-items: center; margin-bottom: 17px; }
.ydelse-icon svg { width: 19px; height: 19px; stroke: var(--gold); fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.ydelse-tag { display: inline-block; margin-top: 11px; font-size: 10px; background: var(--cream-mid); color: var(--gold); padding: 3px 10px; border-radius: 20px; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; }

/* PRISER */
.priser-section { background: var(--white); padding: 88px 48px; border-top: 1px solid var(--border-soft); border-bottom: 1px solid var(--border-soft); }
.priser-inner { max-width: 1100px; margin: 0 auto; }
.priser-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; margin-top: 48px; }
.pris-card { padding: 26px 22px; border-radius: 16px; border: 1px solid var(--border); background: var(--cream); transition: all .22s; position: relative; }
.pris-card:hover { border-color: rgba(26,58,42,.2); transform: translateY(-2px); box-shadow: 0 6px 22px rgba(0,0,0,.06); }
.pris-card.featured { background: var(--green-dark); color: #fff; border-color: var(--green-dark); }
.pris-label { font-size: 10px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-bottom: 13px; }
.pris-card.featured .pris-label { color: var(--gold-light); }
.pris-name { font-family: var(--font-serif); font-size: 19px; color: var(--ink); font-weight: 400; margin-bottom: 6px; }
.pris-card.featured .pris-name { color: #fff; }
.pris-desc { font-size: 12.5px; color: var(--ink-muted); line-height: 1.5; margin-bottom: 18px; }
.pris-card.featured .pris-desc { color: rgba(255,255,255,.62); }
.pris-price { font-family: var(--font-serif); font-size: 34px; color: var(--ink); line-height: 1; letter-spacing: -.02em; }
.pris-card.featured .pris-price { color: var(--gold-light); }
.pris-unit { font-size: 12px; color: var(--ink-muted); margin-top: 4px; }
.pris-card.featured .pris-unit { color: rgba(255,255,255,.45); }
.pris-badge { position: absolute; top: -10px; right: 14px; background: var(--gold); color: #fff; font-size: 9px; font-weight: 500; padding: 4px 10px; border-radius: 20px; letter-spacing: .08em; text-transform: uppercase; }

/* SAGSBEHANDLER */
.sags-section { max-width: 1100px; margin: 0 auto; padding: 80px 48px 0; }
.sags-card { background: var(--green-dark); border-radius: 24px; padding: 56px 52px; color: #fff; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; position: relative; overflow: hidden; }
.sags-card::before { content: ""; position: absolute; top: -30%; right: -5%; width: 45%; height: 160%; background: radial-gradient(circle, rgba(160,122,61,.18) 0%, transparent 62%); pointer-events: none; }
.sags-head { grid-column: 1/-1; margin-bottom: 8px; }
.sags-eyebrow { font-size: 11px; font-weight: 500; color: var(--gold-light); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
.sags-eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--gold-light); }
.sags-h { font-family: var(--font-serif); font-size: 34px; color: #faf8f3; font-weight: 400; line-height: 1.1; letter-spacing: -.02em; }
.sags-h em { font-style: italic; color: var(--gold-light); }
.sags-col { position: relative; z-index: 1; }
.sags-col-num { font-family: var(--font-serif); font-size: 13px; color: var(--gold-light); letter-spacing: .08em; margin-bottom: 12px; opacity: .7; }
.sags-col-title { font-family: var(--font-serif); font-size: 19px; color: #faf8f3; font-weight: 400; margin-bottom: 10px; line-height: 1.2; }
.sags-col-list { list-style: none; padding: 0; margin: 0; }
.sags-col-list li { font-size: 13px; color: rgba(250,248,243,.68); padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.07); line-height: 1.5; }
.sags-col-list li:last-child { border-bottom: none; }
.sags-col-list li::before { content: "→"; color: var(--gold-light); margin-right: 9px; font-size: 11px; }
.sags-footer { grid-column: 1/-1; margin-top: 8px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.sags-footer p { font-size: 13.5px; color: rgba(250,248,243,.65); line-height: 1.55; max-width: 600px; }

/* BROMAKING SECTION (forside) */
.bm-section { max-width: 1100px; margin: 0 auto; padding: 24px 48px 48px; }
.bm-card { background: linear-gradient(135deg, #1a3a2a 0%, #244e38 55%, #1f4332 100%); border-radius: 24px; padding: 60px 52px; color: #fff; position: relative; overflow: hidden; display: grid; grid-template-columns: 1.25fr 1fr; gap: 48px; align-items: center; }
.bm-card::before { content: ""; position: absolute; top: -40%; right: -8%; width: 55%; height: 180%; background: radial-gradient(circle, rgba(160,122,61,.2) 0%, transparent 62%); pointer-events: none; }
.bm-eyebrow { font-size: 11px; font-weight: 500; color: var(--gold-light); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 17px; display: flex; align-items: center; gap: 10px; position: relative; z-index: 1; }
.bm-eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--gold-light); }
.bm-h { font-family: var(--font-serif); font-size: 42px; line-height: 1.08; font-weight: 400; letter-spacing: -.022em; margin-bottom: 17px; color: #faf8f3; position: relative; z-index: 1; }
.bm-h em { font-style: italic; color: var(--gold-light); }
.bm-sub { font-size: 15px; color: rgba(250,248,243,.74); line-height: 1.68; margin-bottom: 28px; max-width: 480px; position: relative; z-index: 1; }
.bm-stats { display: flex; gap: 34px; margin-bottom: 28px; flex-wrap: wrap; position: relative; z-index: 1; }
.bm-stat-num { font-family: var(--font-serif); font-size: 28px; color: var(--gold-light); line-height: 1; display: block; }
.bm-stat-lbl { font-size: 10px; color: rgba(250,248,243,.52); letter-spacing: .1em; text-transform: uppercase; margin-top: 4px; display: block; }
.bm-btns { display: flex; gap: 11px; flex-wrap: wrap; position: relative; z-index: 2; }
.bm-visual { position: relative; display: flex; align-items: center; justify-content: center; z-index: 1; }
.bm-mock { width: 100%; max-width: 310px; background: rgba(250,248,243,.07); border: 1px solid rgba(250,248,243,.12); border-radius: 17px; padding: 21px; backdrop-filter: blur(8px); }
.mock-label { font-size: 9px; color: rgba(250,248,243,.42); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 13px; font-weight: 500; }
.mock-row { display: flex; align-items: center; gap: 11px; padding: 9px 0; border-bottom: 1px solid rgba(250,248,243,.07); }
.mock-row:last-child { border-bottom: none; }
.mock-av { width: 32px; height: 32px; border-radius: 50%; background: var(--gold-light); color: var(--green-dark); font-family: var(--font-serif); font-size: 14px; display: grid; place-items: center; flex-shrink: 0; }
.mock-av.g { background: #7a9b7e; color: #fff; }
.mock-av.w { background: #b8946a; color: #fff; }
.mock-av.b { background: rgba(250,248,243,.18); color: #fff; }
.mock-info { flex: 1; min-width: 0; }
.mock-name { font-family: var(--font-serif); font-size: 14px; color: #faf8f3; line-height: 1.2; }
.mock-prof { font-size: 9.5px; color: rgba(250,248,243,.48); text-transform: uppercase; letter-spacing: .1em; margin-top: 2px; }
.mock-badge { font-size: 9px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; padding: 3px 8px; border-radius: 20px; font-weight: 500; }
.mock-badge.tilg { background: rgba(122,155,126,.25); color: #a0d4a4; }
.mock-badge.match { background: rgba(212,183,138,.2); color: var(--gold-light); }
.mock-badge.ny { background: rgba(184,148,106,.2); color: #e8c498; }

/* METODE */
.process-section { max-width: 1100px; margin: 0 auto; padding: 60px 48px 88px; }
.process-list { margin-top: 8px; }
.proc-row { display: grid; grid-template-columns: 68px 1fr 1.3fr; gap: 38px; padding: 25px 0; border-top: 1px solid var(--border); align-items: start; transition: padding .18s; }
.proc-row:hover { padding-left: 11px; }
.proc-row:last-child { border-bottom: 1px solid var(--border); }
.proc-num { font-family: var(--font-serif); font-size: 28px; color: var(--gold); line-height: 1; }
.proc-title { font-family: var(--font-serif); font-size: 21px; color: var(--ink); font-weight: 400; line-height: 1.2; }
.proc-body { font-size: 14px; color: var(--ink-muted); line-height: 1.65; }

/* QUOTE */
.quote-block { background: var(--green-dark); color: #fff; padding: 88px 48px; margin: 0 auto 40px; max-width: calc(1100px - 0px); border-radius: 24px; }
.quote-inner { max-width: 760px; margin: 0 auto; text-align: center; }
.quote-mark { font-family: var(--font-serif); font-size: 70px; color: rgba(255,255,255,.14); line-height: .5; margin-bottom: 17px; }
.quote-text { font-family: var(--font-serif); font-size: 30px; font-style: italic; line-height: 1.3; font-weight: 400; margin-bottom: 19px; letter-spacing: -.01em; }
.quote-attr { font-size: 12px; color: rgba(255,255,255,.38); letter-spacing: .1em; text-transform: uppercase; }
.quote-wrap { max-width: 1100px; margin: 0 auto; padding: 0 48px 40px; }

/* CTA */
.cta-section { max-width: 1100px; margin: 0 auto; padding: 0 48px 88px; }
.cta-card { padding: 68px 56px; border-radius: 24px; background: var(--cream-mid); display: grid; grid-template-columns: 1.4fr 1fr; gap: 44px; align-items: center; }
.cta-h { font-family: var(--font-serif); font-size: 36px; color: var(--ink); line-height: 1.1; font-weight: 400; letter-spacing: -.02em; }
.cta-h em { font-style: italic; color: var(--gold); }
.cta-right { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.cta-sub { font-size: 14px; color: var(--ink-soft); line-height: 1.6; margin-bottom: 5px; }

/* FOOTER */
.site-footer { border-top: 1px solid var(--border); padding: 56px 48px 30px; max-width: 1100px; margin: 0 auto; }
.footer-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 44px; gap: 44px; flex-wrap: wrap; }
.footer-brand { max-width: 275px; }
.footer-tagline { font-size: 13px; color: var(--ink-muted); margin-top: 12px; line-height: 1.65; }
.footer-cols { display: flex; gap: 52px; flex-wrap: wrap; }
.footer-col h4 { font-size: 10px; color: var(--gold); letter-spacing: .14em; text-transform: uppercase; font-weight: 500; margin-bottom: 15px; }
.footer-col a, .footer-col p { display: block; font-size: 13px; color: var(--ink-muted); margin-bottom: 9px; transition: color .15s; line-height: 1.5; }
.footer-col a:hover { color: var(--ink); }
.footer-bottom { padding-top: 20px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; font-size: 12px; color: #999; flex-wrap: wrap; gap: 10px; }
.footer-bottom a { color: #999; }
.footer-bottom a:hover { color: var(--ink); }

/* CONTACT FORM */
.contact-section { max-width: 1100px; margin: 0 auto; padding: 80px 48px 100px; }
.page-h1 { font-family: var(--font-serif); font-size: 52px; line-height: 1.05; color: var(--ink); font-weight: 400; margin-bottom: 18px; letter-spacing: -.025em; max-width: 720px; opacity: 0; animation: fadeUp .8s .2s ease forwards; transform: translateY(12px); }
.page-h1 em { font-style: italic; color: var(--gold); }
.page-sub { font-size: 17px; color: var(--ink-soft); line-height: 1.65; max-width: 540px; margin-bottom: 52px; opacity: 0; animation: fadeUp .8s .3s ease forwards; transform: translateY(12px); }
.contact-layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 52px; align-items: start; opacity: 0; animation: fadeUp .9s .4s ease forwards; transform: translateY(12px); }
.form-card { background: var(--white); border-radius: 22px; padding: 44px; border: 1px solid var(--border-soft); }
.form-head { margin-bottom: 28px; }
.form-head h2 { font-family: var(--font-serif); font-size: 25px; color: var(--ink); font-weight: 400; line-height: 1.2; margin-bottom: 6px; }
.form-head h2 em { font-style: italic; color: var(--gold); }
.form-head p { font-size: 13.5px; color: var(--ink-muted); line-height: 1.55; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field.full { grid-column: 1/-1; }
.field label { font-size: 11px; font-weight: 500; color: var(--ink-muted); letter-spacing: .06em; text-transform: uppercase; }
.req { color: var(--gold); }
.field input, .field select, .field textarea { font-family: var(--font-sans); font-size: 14.5px; color: var(--ink); background: var(--cream); border: 1.5px solid transparent; border-radius: 9px; padding: 12px 14px; transition: all .18s; outline: none; width: 100%; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--green-dark); background: var(--white); box-shadow: 0 0 0 3px rgba(26,58,42,.07); }
.field input::placeholder, .field textarea::placeholder { color: #bbb; }
.field textarea { resize: vertical; min-height: 128px; }
.field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231a3a2a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 13px center; padding-right: 36px; cursor: pointer; }
.submit-row { margin-top: 26px; display: flex; align-items: center; justify-content: space-between; gap: 13px; flex-wrap: wrap; }
.submit-note { font-size: 12px; color: #999; line-height: 1.5; max-width: 290px; }
.c-sidebar { display: flex; flex-direction: column; gap: 18px; }
.cta-sidebar { background: var(--green-dark); color: #fff; border-radius: 22px; padding: 34px; position: relative; overflow: hidden; }
.cta-sidebar::before { content: ""; position: absolute; top: -20px; right: -20px; width: 100px; height: 100px; background: radial-gradient(circle, rgba(160,122,61,.28), transparent 65%); border-radius: 50%; }
.cta-eyebrow { font-size: 10px; font-weight: 500; color: var(--gold-light); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 13px; display: flex; align-items: center; gap: 7px; position: relative; z-index: 1; }
.cta-eyebrow::before { content: ""; width: 16px; height: 1px; background: var(--gold-light); }
.cta-sidebar h3 { font-family: var(--font-serif); font-size: 23px; color: #fff; font-weight: 400; line-height: 1.2; margin-bottom: 9px; letter-spacing: -.01em; position: relative; z-index: 1; }
.cta-sidebar h3 em { font-style: italic; color: var(--gold-light); }
.cta-sidebar p { font-size: 13.5px; color: rgba(255,255,255,.65); line-height: 1.6; margin-bottom: 20px; position: relative; z-index: 1; }
.phone-btn { display: flex; align-items: center; gap: 12px; padding: 17px 18px; background: rgba(255,255,255,.08); border-radius: 12px; color: #fff; transition: all .2s; border: 1px solid rgba(255,255,255,.1); position: relative; z-index: 1; }
.phone-btn:hover { background: rgba(255,255,255,.14); transform: translateY(-1px); }
.phone-icon { width: 36px; height: 36px; background: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.phone-icon svg { width: 16px; height: 16px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.phone-label { font-size: 10px; font-weight: 500; color: rgba(255,255,255,.42); letter-spacing: .1em; text-transform: uppercase; }
.phone-num { font-size: 20px; font-weight: 500; letter-spacing: -.01em; }
.info-card { background: var(--white); border-radius: 20px; padding: 26px; border: 1px solid var(--border-soft); }
.info-row { padding: 13px 0; border-top: 1px solid var(--border); }
.info-row:first-child { border-top: none; padding-top: 0; }
.info-row:last-child { padding-bottom: 0; }
.info-label { font-size: 10px; font-weight: 500; color: var(--gold); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 3px; }
.info-value { font-size: 14px; color: var(--ink); }
.info-value a:hover { color: var(--gold); }
.success-banner { background: #e8f5e9; border: 1px solid #a5d6a7; border-radius: 12px; padding: 18px 24px; margin-bottom: 24px; color: #2e7d32; font-size: 14px; }

/* ADMIN */
.admin-header { padding: 48px 36px 32px; max-width: 1300px; margin: 0 auto; }
.admin-h1 { font-family: var(--font-serif); font-size: 44px; line-height: 1.1; color: #1a2e24; font-weight: 400; margin-bottom: 8px; letter-spacing: -.02em; }
.admin-h1 em { font-style: italic; color: #a07a3d; }
.admin-lede { font-size: 15px; color: #5b5b56; }
.stats { max-width: 1300px; margin: 0 auto; padding: 0 36px 24px; display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.stat-card { background: #fff; border: 1px solid rgba(0,0,0,.06); border-radius: 14px; padding: 22px 24px; }
.stat-num { font-family: var(--font-serif); font-size: 38px; line-height: 1; color: #1a2e24; }
.stat-num.warm { color: #a07a3d; }
.stat-label { font-size: 11px; color: #6b6b66; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; margin-top: 8px; }
.tabs-wrap { max-width: 1300px; margin: 0 auto; padding: 24px 36px 0; }
.tabs { display: flex; gap: 4px; border-bottom: 1px solid rgba(0,0,0,.08); }
.tab { padding: 12px 20px; font-size: 13px; color: #6b6b66; cursor: pointer; border-bottom: 2px solid transparent; transition: all .15s; font-family: inherit; background: transparent; border-top: none; border-left: none; border-right: none; font-weight: 500; }
.tab:hover { color: #1a2e24; }
.tab.active { color: #1a3a2a; border-bottom-color: #1a3a2a; }
.tab-count { display: inline-block; margin-left: 6px; background: rgba(26,58,42,.1); color: #1a3a2a; font-size: 10px; font-weight: 500; padding: 2px 7px; border-radius: 10px; }
.toolbar { max-width: 1300px; margin: 0 auto; padding: 24px 36px; display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.search-input { flex: 1; min-width: 280px; padding: 10px 16px; border: 1px solid rgba(0,0,0,.1); border-radius: 10px; font-size: 14px; font-family: inherit; background: #fff; outline: none; transition: border-color .15s; }
.search-input:focus { border-color: #1a3a2a; }
.filter-select { padding: 10px 14px; border: 1px solid rgba(0,0,0,.1); border-radius: 10px; font-size: 13px; font-family: inherit; background: #fff; cursor: pointer; }
.list { max-width: 1300px; margin: 0 auto; padding: 0 36px 60px; }
.entry { background: #fff; border: 1px solid rgba(0,0,0,.05); border-radius: 14px; padding: 20px 24px; margin-bottom: 12px; display: grid; grid-template-columns: 8px 1fr auto auto; gap: 20px; align-items: center; transition: all .15s; }
.entry:hover { border-color: rgba(26,58,42,.2); box-shadow: 0 4px 12px rgba(0,0,0,.04); }
.entry-status { width: 8px; height: 8px; border-radius: 50%; }
.status-ny { background: #a07a3d; }
.status-kontaktet { background: #2e7d32; }
.status-aktiv { background: #1565c0; }
.status-afsluttet { background: #666; }
.entry-name { font-family: var(--font-serif); font-size: 17px; color: #1a2e24; font-weight: 400; }
.entry-meta { font-size: 12px; color: #888; margin-top: 3px; }
.entry-badge { font-size: 10px; font-weight: 500; padding: 4px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.badge-ny { background: rgba(160,122,61,.12); color: #a07a3d; }
.badge-kontaktet { background: rgba(46,125,50,.12); color: #2e7d32; }
.badge-aktiv { background: rgba(21,101,192,.12); color: #1565c0; }
.badge-afsluttet { background: rgba(0,0,0,.07); color: #666; }
.entry-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.empty { background: #fff; border: 1px dashed rgba(0,0,0,.12); border-radius: 14px; padding: 64px 32px; text-align: center; color: #6b6b66; }
.empty-title { font-family: var(--font-serif); font-size: 22px; color: #1a2e24; margin-bottom: 8px; }
.empty-text { font-size: 14px; line-height: 1.6; max-width: 420px; margin: 0 auto; }

/* PORTAL */
.portal-header { padding: 40px 36px 24px; max-width: 1300px; margin: 0 auto; }
.portal-h1 { font-family: var(--font-serif); font-size: 38px; color: #1a2e24; font-weight: 400; line-height: 1.1; letter-spacing: -.02em; margin-bottom: 8px; }
.portal-h1 em { font-style: italic; color: #a07a3d; }
.case-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; max-width: 1300px; margin: 0 auto; padding: 0 36px 60px; }
.case-card { background: #fff; border: 1px solid rgba(0,0,0,.06); border-radius: 16px; padding: 24px; transition: all .2s; }
.case-card:hover { border-color: rgba(26,58,42,.2); box-shadow: 0 4px 16px rgba(0,0,0,.06); }
.case-initialer { font-family: var(--font-serif); font-size: 28px; color: #1a2e24; font-weight: 400; }
.case-meta { font-size: 12px; color: #888; margin-top: 4px; margin-bottom: 16px; }
.case-info-row { display: flex; justify-content: space-between; font-size: 13px; color: #5b5b56; padding: 6px 0; border-bottom: 1px solid rgba(0,0,0,.05); }
.case-info-row:last-of-type { border-bottom: none; }
.case-actions { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 200; align-items: center; justify-content: center; }
.modal-overlay.open { display: flex; }
.modal { background: #fff; border-radius: 20px; padding: 40px; max-width: 580px; width: 90%; max-height: 85vh; overflow-y: auto; }
.modal h2 { font-family: var(--font-serif); font-size: 26px; color: #1a2e24; font-weight: 400; margin-bottom: 24px; }
.modal h2 em { font-style: italic; color: #a07a3d; }
.modal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.modal .field.full { grid-column: 1/-1; }
.modal-close { float: right; background: none; border: none; font-size: 22px; cursor: pointer; color: #888; line-height: 1; }

/* LOGIN */
.login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--cream); padding: 24px; }
.login-card { background: var(--white); border-radius: 24px; padding: 52px; max-width: 420px; width: 100%; border: 1px solid var(--border-soft); box-shadow: 0 8px 40px rgba(0,0,0,.06); }
.login-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 36px; }
.login-h { font-family: var(--font-serif); font-size: 30px; color: var(--ink); font-weight: 400; margin-bottom: 8px; }
.login-h em { font-style: italic; color: var(--gold); }
.login-sub { font-size: 14px; color: var(--ink-muted); margin-bottom: 32px; }
.login-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.login-field label { font-size: 11px; font-weight: 500; color: var(--ink-muted); letter-spacing: .06em; text-transform: uppercase; }
.login-field input { font-family: var(--font-sans); font-size: 15px; color: var(--ink); background: var(--cream); border: 1.5px solid transparent; border-radius: 10px; padding: 13px 15px; transition: all .18s; outline: none; width: 100%; }
.login-field input:focus { border-color: var(--green-dark); background: var(--white); box-shadow: 0 0 0 3px rgba(26,58,42,.07); }
.login-error { background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; padding: 12px 16px; font-size: 13.5px; color: #c0392b; margin-bottom: 16px; }
.login-btn { width: 100%; padding: 14px; background: var(--green-dark); color: #fff; border: none; border-radius: 10px; font-family: var(--font-sans); font-size: 15px; font-weight: 500; cursor: pointer; transition: all .2s; margin-top: 8px; }
.login-btn:hover { background: var(--green-mid); }
.login-success { background: #f0faf4; border: 1px solid #a7d7b8; border-radius: 10px; padding: 12px 16px; font-size: 13.5px; color: #1a6e3a; margin-bottom: 16px; }
.login-links { margin-top: 24px; text-align: center; font-size: 13px; color: var(--ink-muted); display: flex; flex-direction: column; gap: 8px; }
.login-links a { color: var(--gold); text-decoration: none; }
.login-links a:hover { text-decoration: underline; }
.login-icon { font-size: 40px; text-align: center; margin-bottom: 16px; }

/* BROMAKING PAGE */
.bm-page { max-width: 900px; margin: 0 auto; padding: 80px 48px 100px; }
.bm-page-eyebrow { font-size: 11px; font-weight: 500; color: var(--gold); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
.bm-page-eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--gold); }
.bm-page-h1 { font-family: var(--font-serif); font-size: 52px; line-height: 1.05; color: var(--ink); font-weight: 400; margin-bottom: 18px; letter-spacing: -.025em; }
.bm-page-h1 em { font-style: italic; color: var(--gold); }
.bm-page-sub { font-size: 17px; color: var(--ink-soft); line-height: 1.65; max-width: 600px; margin-bottom: 48px; }
.bm-form-card { background: var(--white); border-radius: 22px; padding: 44px; border: 1px solid var(--border-soft); }
.bm-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bm-form-grid .field.full { grid-column: 1/-1; }
.bm-check { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; border-top: 1px solid var(--border); }
.bm-check input[type=checkbox] { width: 17px; height: 17px; accent-color: var(--green-dark); margin-top: 2px; flex-shrink: 0; }
.bm-check label { font-size: 13.5px; color: var(--ink-muted); line-height: 1.5; }
.bm-check label a { color: var(--gold); }

/* ANIMATIONS */
@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }
:focus-visible { outline: 2px solid var(--green-dark); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* RESPONSIVE */
@media (max-width: 900px) {
  nav.site-nav { padding: 16px 20px; }
  .nav-links a:not(.nav-cta) { display: none; }
  .hero { padding: 52px 20px 60px; }
  .hero-h1 { font-size: 38px; }
  .trust-strip { padding: 18px 20px; }
  .trust-inner { gap: 20px; }
  .trust-div { display: none; }
  .section { padding: 60px 20px; }
  .section-head { grid-template-columns: 1fr; gap: 18px; margin-bottom: 36px; }
  .section-h2 { font-size: 32px; }
  .cards-grid, .ydelser-grid { grid-template-columns: 1fr; }
  .priser-section { padding: 60px 20px; }
  .priser-grid { grid-template-columns: 1fr 1fr; }
  .sags-section { padding: 60px 20px 0; }
  .sags-card { grid-template-columns: 1fr; padding: 36px 26px; gap: 24px; }
  .sags-h { font-size: 26px; }
  .sags-footer { flex-direction: column; align-items: flex-start; }
  .bm-section { padding: 16px 20px 44px; }
  .bm-card { grid-template-columns: 1fr; padding: 42px 28px; gap: 32px; }
  .bm-h { font-size: 32px; }
  .bm-visual { display: none; }
  .process-section { padding: 44px 20px 68px; }
  .proc-row { grid-template-columns: 52px 1fr; gap: 18px; }
  .proc-body { grid-column: 2; }
  .quote-block, .quote-wrap { padding: 60px 26px; margin: 0 0 32px; }
  .quote-text { font-size: 22px; }
  .cta-section { padding: 0 20px 68px; }
  .cta-card { padding: 40px 26px; grid-template-columns: 1fr; gap: 18px; }
  .cta-h { font-size: 26px; }
  .site-footer { padding: 44px 20px 26px; }
  .footer-cols { gap: 24px; }
  .contact-section { padding: 52px 20px 80px; }
  .page-h1 { font-size: 34px; }
  .contact-layout { grid-template-columns: 1fr; gap: 24px; }
  .form-card { padding: 26px 20px; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: 1; }
  .submit-row { flex-direction: column; align-items: stretch; }
  .btn-submit { width: 100%; justify-content: center; }
  .stats { grid-template-columns: repeat(2,1fr); }
  .case-grid { grid-template-columns: 1fr; padding: 0 20px 40px; }
  .admin-header, .portal-header { padding: 28px 20px 16px; }
  .toolbar, .tabs-wrap, .list { padding-left: 20px; padding-right: 20px; }
  .bm-page { padding: 52px 20px 80px; }
  .bm-form-grid { grid-template-columns: 1fr; }
  .bm-form-grid .field.full { grid-column: 1; }
  .modal-grid { grid-template-columns: 1fr; }
  .modal-grid .field.full { grid-column: 1; }
}

/* ADMIN NAV LINKS */
.admin-nav-links { display: flex; align-items: center; gap: 20px; }
.admin-nav-links a { color: rgba(255,255,255,.75); font-size: 14px; text-decoration: none; transition: color .15s; }
.admin-nav-links a:hover, .admin-nav-links a.active { color: #fff; }
.nav-logout { background: none; border: 1px solid rgba(255,255,255,.3); color: rgba(255,255,255,.75); border-radius: 8px; padding: 6px 14px; font-size: 13px; cursor: pointer; transition: all .15s; font-family: inherit; }
.nav-logout:hover { border-color: #fff; color: #fff; }

/* ADMIN MAIN LAYOUT */
.admin-main { max-width: 1300px; margin: 0 auto; padding: 40px 36px 80px; }
.admin-stats { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
.stat-chip { background: rgba(26,58,42,.08); border-radius: 20px; padding: 6px 14px; font-size: 13px; color: #1a3a2a; }
.stat-chip span { font-weight: 600; }

/* TABS */
.admin-tabs { display: flex; gap: 4px; border-bottom: 1px solid rgba(0,0,0,.1); margin-bottom: 24px; }
.tab-btn { background: none; border: none; border-bottom: 2px solid transparent; padding: 12px 20px; font-size: 14px; font-family: inherit; color: #6b6b66; cursor: pointer; transition: all .15s; font-weight: 500; margin-bottom: -1px; }
.tab-btn:hover { color: #1a2e24; }
.tab-btn.active { color: #1a3a2a; border-bottom-color: #1a3a2a; }
.tab-badge { display: inline-block; margin-left: 6px; background: rgba(160,122,61,.15); color: #a07a3d; font-size: 11px; font-weight: 600; padding: 2px 7px; border-radius: 10px; }
.tab-content { display: none; }
.tab-content.active { display: block; }

/* ENTRY CARDS (Admin) */
.entry-list { display: flex; flex-direction: column; gap: 12px; }
.entry-card { background: #fff; border: 1px solid rgba(0,0,0,.07); border-radius: 14px; padding: 20px 24px; transition: border-color .15s; }
.entry-card:hover { border-color: rgba(26,58,42,.2); }
.entry-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 6px; }
.entry-org { color: #6b6b66; font-weight: 400; }
.entry-date { font-size: 12px; color: #999; white-space: nowrap; }
.entry-contact { font-size: 13px; color: #6b6b66; margin-bottom: 8px; }
.entry-contact a { color: #1a3a2a; }
.entry-message { font-size: 14px; color: #444; line-height: 1.55; margin-bottom: 12px; }
.entry-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.meta-chip { font-size: 11px; padding: 3px 10px; border-radius: 20px; font-weight: 500; }
.meta-ok { background: rgba(46,125,50,.1); color: #2e7d32; }
.meta-missing { background: rgba(192,57,43,.1); color: #c0392b; }
.entry-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.status-select { padding: 7px 10px; border: 1px solid rgba(0,0,0,.12); border-radius: 8px; font-size: 13px; font-family: inherit; background: #fff; cursor: pointer; }
.status-badge { display: inline-block; margin-left: 8px; font-size: 10px; font-weight: 600; padding: 3px 9px; border-radius: 20px; letter-spacing: .06em; text-transform: uppercase; vertical-align: middle; }
.status-ny { background: rgba(160,122,61,.15); color: #a07a3d; }
.status-igangværende { background: rgba(21,101,192,.12); color: #1565c0; }
.status-godkendt { background: rgba(46,125,50,.12); color: #2e7d32; }
.status-afsluttet { background: rgba(0,0,0,.07); color: #666; }
.status-aktiv { background: rgba(46,125,50,.12); color: #2e7d32; }
.status-pauseret { background: rgba(255,152,0,.12); color: #e65100; }
.empty-state { text-align: center; color: #999; padding: 60px 20px; font-size: 15px; border: 1px dashed rgba(0,0,0,.12); border-radius: 14px; }

/* CASE CARDS (Portal) */
.case-card-header { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 12px; }
.case-meta-row { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: #1a2e24; }
.case-meta-sub { font-size: 12px; color: #888; margin-top: 3px; }
.case-formal { font-size: 13px; color: #555; line-height: 1.5; margin-bottom: 10px; }
.case-focus-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.focus-tag { background: rgba(26,58,42,.08); color: #1a3a2a; font-size: 11px; padding: 3px 10px; border-radius: 20px; font-weight: 500; }
.case-notes { border-top: 1px solid rgba(0,0,0,.07); padding-top: 12px; margin-top: 4px; }
.notes-header { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: #666; margin-bottom: 8px; }
.notes-list { margin-top: 8px; }
.note-item { background: #f8f8f6; border-radius: 10px; padding: 12px; margin-bottom: 8px; }
.note-meta { display: flex; gap: 10px; flex-wrap: wrap; font-size: 11px; color: #999; margin-bottom: 6px; }
.note-type { background: rgba(26,58,42,.1); color: #1a3a2a; padding: 2px 8px; border-radius: 10px; font-weight: 600; }
.note-text { font-size: 13px; color: #444; line-height: 1.5; margin: 3px 0; }

/* MODAL BOX */
.modal-box { background: #fff; border-radius: 20px; padding: 36px; max-width: 620px; width: 95%; max-height: 88vh; overflow-y: auto; }
.modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.modal-header h2 { font-family: var(--font-serif); font-size: 24px; color: #1a2e24; font-weight: 400; margin: 0; }
.modal-close { background: none; border: none; font-size: 24px; cursor: pointer; color: #999; line-height: 1; padding: 0; }
.modal-form { display: flex; flex-direction: column; gap: 12px; }
.modal-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 8px; }

/* FORM HELPERS */
.checkbox-label { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: #444; line-height: 1.5; cursor: pointer; }
.checkbox-label input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--green-dark); margin-top: 2px; flex-shrink: 0; }
.field-error { display: block; font-size: 12px; color: #c0392b; margin-top: 4px; }

@media (max-width: 900px) {
  .admin-main { padding: 24px 20px 60px; }
  .admin-tabs { flex-wrap: wrap; }
  .modal-box { padding: 24px 20px; }
  .modal-actions { flex-direction: column; }
}

/* BROMAKING PAGE SECTIONS */
.logo-sub { font-size: 10px; color: var(--gold); letter-spacing: .14em; text-transform: uppercase; margin-left: 5px; font-weight: 500; padding-left: 9px; border-left: 1px solid var(--border); }
.prof-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.prof-card { padding: 28px 24px; border-radius: 18px; background: var(--white); border: 1px solid var(--border-soft); transition: all .22s; }
.prof-card:hover { border-color: rgba(26,58,42,.18); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.prof-icon { width: 42px; height: 42px; border-radius: 50%; background: var(--cream-mid); display: grid; place-items: center; margin-bottom: 18px; }
.prof-icon svg { width: 20px; height: 20px; stroke: var(--gold); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.prof-title { font-family: var(--font-serif); font-size: 20px; color: var(--ink); font-weight: 400; margin-bottom: 8px; }
.prof-body { font-size: 13px; color: var(--ink-muted); line-height: 1.6; }
.trust-section { max-width: 1100px; margin: 0 auto; padding: 72px 48px; }
.trust-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px; margin-top: 8px; }
.trust-card { padding: 32px 28px; border-radius: 18px; background: var(--white); border: 1px solid var(--border-soft); }
.trust-num { font-family: var(--font-serif); font-size: 46px; color: var(--gold); line-height: 1; margin-bottom: 14px; }
.trust-title { font-family: var(--font-serif); font-size: 20px; color: var(--ink); font-weight: 400; margin-bottom: 8px; line-height: 1.2; }
.trust-body { font-size: 13px; color: var(--ink-muted); line-height: 1.6; }
.signup-wrap { background: linear-gradient(180deg, var(--green-dark) 0%, #15301f 100%); padding: 80px 0 96px; margin-top: 48px; position: relative; overflow: hidden; }
.signup-wrap::before { content: ""; position: absolute; top: -20%; left: -10%; width: 50%; height: 140%; background: radial-gradient(circle, rgba(160,122,61,.12) 0%, transparent 60%); pointer-events: none; }
.signup-inner { max-width: 920px; margin: 0 auto; padding: 0 48px; position: relative; z-index: 1; }
.signup-head { text-align: center; margin-bottom: 44px; color: #fff; }
.signup-eyebrow { font-size: 11px; color: var(--gold-light); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 18px; font-weight: 500; }
.signup-h { font-family: var(--font-serif); font-size: 46px; font-weight: 400; letter-spacing: -.022em; line-height: 1.1; margin-bottom: 14px; color: #faf8f3; }
.signup-h em { font-style: italic; color: var(--gold-light); }
.signup-sub { font-size: 16px; color: rgba(250,248,243,.72); line-height: 1.65; max-width: 560px; margin: 0 auto; }

@media (max-width: 900px) {
  .logo-sub { display: none; }
  .prof-grid { grid-template-columns: 1fr; }
  .trust-section { padding: 48px 20px; }
  .trust-grid { grid-template-columns: 1fr; }
  .signup-inner { padding: 0 20px; }
  .signup-h { font-size: 32px; }
}

/* PRIVATLIVSPOLITIK PAGE */
.privat-wrap { max-width: 1100px; margin: 0 auto; padding: 64px 48px 100px; display: grid; grid-template-columns: 220px 1fr; gap: 64px; align-items: start; }
.privat-toc { position: sticky; top: 88px; padding: 22px; border-radius: 16px; background: var(--white); border: 1px solid var(--border-soft); }
.privat-toc-label { font-size: 10px; font-weight: 500; color: var(--gold); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 14px; }
.privat-toc a { display: block; font-size: 13px; color: var(--ink-muted); padding: 6px 0 6px 12px; border-left: 2px solid transparent; margin-left: -12px; transition: all .15s; line-height: 1.4; }
.privat-toc a:hover, .privat-toc a.toc-active { color: var(--ink); border-left-color: var(--gold); }
.privat-content h2 { font-family: var(--font-serif); font-size: 22px; color: var(--ink); font-weight: 400; margin: 36px 0 10px; letter-spacing: -.01em; }
.privat-content h3 { font-size: 15px; font-weight: 500; color: var(--ink); margin: 20px 0 8px; }
.privat-content p { font-size: 15px; color: var(--ink-soft); line-height: 1.72; margin-bottom: 12px; }
.privat-content ul { margin: 8px 0 16px 20px; }
.privat-content ul li { font-size: 15px; color: var(--ink-soft); line-height: 1.65; margin-bottom: 5px; }
.privat-content a { color: var(--gold); text-decoration: underline; text-decoration-color: transparent; transition: text-decoration-color .15s; }
.privat-content a:hover { text-decoration-color: var(--gold); }
.privat-summary { background: var(--cream-mid); border-radius: 14px; padding: 24px 28px; margin-bottom: 32px; border-left: 3px solid var(--gold); }
.privat-summary-h { font-size: 11px; font-weight: 500; color: var(--gold); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 12px; }
.privat-summary ul { margin: 0; padding-left: 18px; }
.privat-summary li { font-size: 14px; color: var(--ink-soft); line-height: 1.65; margin-bottom: 5px; }
.privat-meta { background: var(--white); border: 1px solid var(--border-soft); border-radius: 12px; padding: 20px 22px; margin: 16px 0; font-size: 14px; color: var(--ink-soft); line-height: 1.8; }
.privat-meta strong { display: block; color: var(--ink); margin-bottom: 4px; }
.privat-dpo { background: var(--green-dark); color: #fff; border-radius: 18px; padding: 32px; margin-top: 32px; }
.privat-dpo-eyebrow { font-size: 10px; color: var(--gold-light); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 12px; font-weight: 500; }
.privat-dpo h3 { font-family: var(--font-serif); font-size: 22px; color: #fff; font-weight: 400; margin-bottom: 18px; }
.privat-dpo-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.privat-dpo-item { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.privat-dpo-item strong { font-size: 11px; color: var(--gold-light); letter-spacing: .08em; text-transform: uppercase; }
.privat-dpo-item a { color: rgba(255,255,255,.85); }
.privat-dpo-item a:hover { color: #fff; }
.privat-updated { font-size: 12px; color: #999; margin-top: 40px; border-top: 1px solid var(--border-soft); padding-top: 20px; }
@media (max-width: 900px) {
  .privat-wrap { grid-template-columns: 1fr; padding: 40px 20px 80px; gap: 32px; }
  .privat-toc { position: static; }
  .privat-dpo-list { grid-template-columns: 1fr; }
}

