:root {
  --ink: #102033;
  --muted: #667085;
  --line: #d9dee7;
  --paper: #ffffff;
  --soft: #f5f2ed;
  --navy: #102a43;
  --accent: #b77942;
  --accent-dark: #915c2f;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.55;
}
a { color: inherit; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 18px clamp(20px, 5vw, 72px);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(16,32,51,.08);
}
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 800; }
.brand-mark {
  width: 42px; height: 42px; border-radius: 12px;
  display: grid; place-items: center;
  color: white; background: var(--navy); letter-spacing: -.04em;
}
.brand-text { letter-spacing: -.02em; }
.nav { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; font-size: 14px; font-weight: 600; max-width: 980px; }
.nav-row { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px 18px; }
.nav a { text-decoration: none; color: #26384d; white-space: nowrap; }
.nav-row-secondary { font-size: 13px; color: var(--muted); }
.nav-cta { padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; background: white; }
.hero {
  min-height: 620px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .7fr);
  gap: clamp(32px, 6vw, 72px);
  padding: clamp(48px, 7vw, 88px) clamp(20px, 5vw, 72px);
  background:
    radial-gradient(circle at 85% 18%, rgba(183,121,66,.18), transparent 28%),
    linear-gradient(135deg, #f8f6f2 0%, #ffffff 55%, #edf2f7 100%);
}
.hero-content { max-width: 820px; align-self: center; }
.eyebrow, .section-label {
  margin: 0 0 12px;
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
}
h1, h2, h3, p { margin-top: 0; }
h1 {
  font-size: clamp(44px, 7vw, 82px);
  line-height: .98;
  letter-spacing: -.065em;
  margin-bottom: 24px;
}
h2 { font-size: clamp(30px, 4vw, 48px); line-height: 1.08; letter-spacing: -.045em; margin-bottom: 18px; }
h3 { font-size: 21px; line-height: 1.2; letter-spacing: -.025em; }
.lead { font-size: clamp(18px, 2vw, 23px); color: #34465d; max-width: 760px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 20px; border-radius: 999px;
  text-decoration: none; border: 1px solid transparent; font-weight: 800;
  cursor: pointer; font-family: inherit; font-size: 15px;
}
.button.primary { background: var(--navy); color: white; }
.button.secondary { background: white; color: var(--navy); border-color: var(--line); }
.hero-card {
  align-self: center;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(16,32,51,.1);
  border-radius: 28px;
  padding: 36px;
  box-shadow: 0 24px 80px rgba(16,32,51,.12);
}
.card-line { width: 64px; height: 5px; background: var(--accent); border-radius: 10px; margin-bottom: 26px; }
.hero-card ul { padding-left: 20px; margin-bottom: 0; color: #34465d; }
.hero-card li { margin: 12px 0; }
.section { padding: clamp(42px, 5vw, 70px) clamp(20px, 5vw, 72px); }
.intro { display: grid; grid-template-columns: .9fr 1fr; gap: 48px; background: var(--navy); color: white; }
.intro p:last-child { color: #d7e1ec; font-size: 20px; }
.section-heading { max-width: 800px; margin-bottom: 28px; }
.grid.three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.service-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 28px;
  background: white;
}
.number { color: var(--accent); font-weight: 900; letter-spacing: .08em; font-size: 13px; }
.service-card p, .method p, .about p, .contact-copy p { color: var(--muted); }
.proof { display: grid; grid-template-columns: .8fr 1.2fr; gap: 46px; background: var(--soft); }
.proof-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.proof-list div { background: white; border: 1px solid rgba(16,32,51,.08); border-radius: 20px; padding: 22px; }
.proof-list strong { display: block; margin-bottom: 8px; }
.proof-list span { color: var(--muted); }
.timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.timeline div { border-left: 3px solid var(--accent); padding-left: 22px; }
.timeline span { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--navy); color: white; font-weight: 800; margin-bottom: 18px; }
.about { display: grid; grid-template-columns: 360px 1fr; gap: 52px; align-items: center; background: #fafafa; }
.portrait-card { border-radius: 28px; padding: 24px; background: white; border: 1px solid var(--line); text-align: center; }
.portrait-placeholder {
  height: 320px; border-radius: 20px; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--navy), #254b68);
  color: white; font-size: 72px; font-weight: 900; letter-spacing: -.08em;
}
.portrait-card p { margin: 16px 0 0; color: var(--muted); font-size: 14px; }
.contact { display: grid; grid-template-columns: .85fr 1.15fr; gap: 48px; }
.contact-form { background: var(--soft); border-radius: 28px; padding: 30px; display: grid; gap: 16px; }
.contact-form label { font-weight: 700; font-size: 14px; }
.contact-form input, .contact-form textarea {
  width: 100%; margin-top: 7px; border: 1px solid var(--line); border-radius: 14px;
  padding: 13px 14px; font: inherit; color: var(--ink); background: white;
}
.contact-form textarea { resize: vertical; }
.checkbox { display: flex; align-items: flex-start; gap: 10px; font-weight: 500 !important; color: var(--muted); }
.checkbox input { width: auto; margin-top: 3px; }
.honeypot { display:none; }
.site-footer { display:flex; justify-content:space-between; gap:20px; padding: 28px clamp(20px, 5vw, 72px); border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.site-footer p { margin: 0; }
@media (max-width: 900px) {
  .hero, .intro, .proof, .about, .contact { grid-template-columns: 1fr; }
  .grid.three, .timeline, .proof-list { grid-template-columns: 1fr; }
  .hero { min-height: auto; }
  .about { gap: 28px; }
}
@media (max-width: 560px) {
  .brand-text { display: none; }
  h1 { font-size: 42px; }
  .hero-card, .contact-form { padding: 22px; }
  .hero-actions .button { width: 100%; }
}


.hero-visual {
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
  background: #10202a;
}

.hero-visual img,
.image-card img {
  display: block;
  width: 100%;
  height: auto;
}

.case-section {
  background: #f6f2ea;
  border-radius: 28px;
}

.case-card {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 32px;
  background: #ffffff;
  border: 1px solid rgba(15, 30, 42, 0.10);
  border-radius: 22px;
  padding: 32px;
  box-shadow: 0 16px 40px rgba(15, 30, 42, 0.08);
}

.case-card h3 {
  margin-top: 0;
}

.case-points p {
  margin: 0 0 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(15, 30, 42, 0.10);
}

.image-card {
  overflow: hidden;
  padding: 0;
}

@media (max-width: 800px) {
  .case-card {
    grid-template-columns: 1fr;
  }
}

/* Rekommendationer */
.recommendations-hero { background: var(--soft); }
.recommendation-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.recommendation-card, .empty-state, .success-box, .error-box, .admin-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 26px;
  box-shadow: 0 12px 36px rgba(15, 30, 42, 0.06);
}
.quote { font-size: 18px; line-height: 1.65; color: var(--ink); }
.recommendation-byline { margin-top: 22px; display: grid; gap: 4px; }
.recommendation-byline span, .small { color: var(--muted); font-size: 14px; }
.recommendation-form-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: 48px; background: #fafafa; }
.success-box h3 { margin-top: 0; }
.error-box { border-color: #b94a48; color: #7d1f1c; background: #fff7f6; margin-bottom: 18px; }
.admin-section h2 { margin-top: 42px; }
.admin-login { max-width: 520px; }
.admin-list { display: grid; gap: 18px; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.admin-actions form, .logout-form { margin: 0; }
.button.danger { background: #7d1f1c; color: #fff; border-color: #7d1f1c; }
@media (max-width: 900px) {
  .recommendation-grid, .recommendation-form-section { grid-template-columns: 1fr; }
}

/* Kontakt utan kontaktformulär */
.contact-simple {
  grid-template-columns: 1fr;
  max-width: 980px;
}
.contact-details-large {
  margin-top: 24px;
  display: grid;
  gap: 10px;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 26px;
}


.case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.case-grid .case-card { height: 100%; }
.clients-section { background: #fbfaf7; }
.client-cloud { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.client-cloud span { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid rgba(34,34,34,.12); border-radius: 999px; background: #fff; font-weight: 700; color: var(--ink); box-shadow: 0 10px 22px rgba(16,24,40,.04); }
@media (max-width: 900px) { .case-grid { grid-template-columns: 1fr; } }
.recommendation-details { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 14px; }
.recommendation-details summary { cursor: pointer; font-weight: 700; color: var(--accent); }
.recommendation-details[open] summary { margin-bottom: 12px; }
.quote.preview { margin-top: 18px; }


/* Master release additions */
.collaboration-section { background: #f8f6f2; }
.text-link { color: var(--accent-dark); font-weight: 800; text-decoration: none; border-bottom: 1px solid currentColor; }
.landing-hero { min-height: auto; grid-template-columns: 1fr; }
.landing-content { max-width: 960px; }
.landing-list { display: grid; gap: 14px; margin: 28px 0; padding-left: 0; list-style: none; }
.landing-list li { border-left: 4px solid var(--accent); background: #fff; padding: 16px 18px; border-radius: 12px; box-shadow: 0 8px 20px rgba(16,24,40,.04); }


/* Styrningsdiagnos och AI-kunskapsbank */
.diagnosis-section { background: #f8f6f2; border-radius: 28px; }
.diagnosis-tool { display: grid; gap: 22px; }
.question-group { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 28px; box-shadow: 0 12px 34px rgba(15,30,42,.06); }
.question-group h3 { margin-top: 0; }
.diagnosis-question { display: grid; gap: 10px; padding: 18px 0; border-top: 1px solid var(--line); }
.diagnosis-question:first-of-type { border-top: 0; }
.diagnosis-question p { margin: 0; font-weight: 700; }
.diagnosis-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.diagnosis-options label { display: flex; align-items: flex-start; gap: 8px; background: #fbfaf7; border: 1px solid var(--line); border-radius: 14px; padding: 12px; font-size: 14px; line-height: 1.35; }
.diagnosis-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.diagnosis-result { display: none; background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 30px; box-shadow: 0 18px 46px rgba(15,30,42,.10); }
.diagnosis-result.visible { display: block; }
.result-score { font-size: 42px; font-weight: 800; color: var(--accent-dark); margin: 8px 0; }
.result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.result-card { border: 1px solid var(--line); border-radius: 18px; padding: 18px; background: #fbfaf7; }
.result-card strong { display: block; margin-bottom: 6px; }
.ai-hub { background: #f6f2ea; border-radius: 28px; }
.insight-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.insight-card { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 28px; box-shadow: 0 12px 34px rgba(15,30,42,.06); }
.insight-card h3 { margin-top: 0; }
.faq-list { display: grid; gap: 14px; }
.faq-list details { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 18px 20px; }
.faq-list summary { cursor: pointer; font-weight: 800; color: var(--ink); }
.faq-list details[open] summary { margin-bottom: 10px; }
@media (max-width: 900px) {
  .diagnosis-options, .result-grid, .insight-grid { grid-template-columns: 1fr; }
}


/* Stabil master: tvåradig meny och robust admin */
.admin-panel { background: var(--soft); border: 1px solid var(--line); border-radius: 24px; padding: 24px; margin: 24px 0; }
.admin-card { border: 1px solid var(--line); border-radius: 22px; padding: 22px; background: #fff; margin: 18px 0; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.admin-card textarea, .admin-card input[type="text"] { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; font: inherit; margin: 6px 0 12px; }
.admin-card textarea { min-height: 150px; resize: vertical; }
.admin-meta { color: var(--muted); font-size: 14px; }
.error-box, .success-box, .empty-state { border-radius: 18px; padding: 18px 20px; margin: 18px 0; }
.error-box { background: #fff1f0; border: 1px solid #f4b6b1; }
.success-box { background: #eef8f0; border: 1px solid #a7d9ae; }
.empty-state { background: var(--soft); border: 1px solid var(--line); }
@media (max-width: 1180px) {
  .site-header { flex-direction: column; gap: 14px; }
  .nav { align-items: flex-start; width: 100%; }
  .nav-row { justify-content: flex-start; }
}
@media (max-width: 900px) {
  .site-header { align-items: center; }
}


/* Mobile stabiliseringsfix: visa menyn även på iPhone och undvik horisontell scroll */
html, body { max-width: 100%; overflow-x: hidden; }
.site-header, .nav, .nav-row { max-width: 100%; }
.nav-two-line { display: flex; }
.collaboration-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
@media (max-width: 900px) {
  .site-header {
    position: static;
    align-items: stretch;
    flex-direction: column;
    padding: 14px 16px;
    gap: 12px;
  }
  .brand { align-self: flex-start; }
  .nav {
    display: flex !important;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    font-size: 13px;
  }
  .nav-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
  }
  .nav a {
    white-space: normal;
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    line-height: 1.2;
  }
  .nav-row-secondary a { background: #fbfaf7; }
  .nav-cta { background: var(--navy) !important; color: #fff !important; border-color: var(--navy) !important; }
  .recommendation-grid { grid-template-columns: 1fr !important; }
  .recommendation-card, .empty-state, .success-box, .error-box, .admin-card { width: 100%; }
  .section { padding-left: 16px; padding-right: 16px; }
  .hero { padding-left: 16px; padding-right: 16px; }
  .hero-visual { border-radius: 20px; }
}
@media (max-width: 560px) {
  .brand-text { display: inline; font-size: 14px; }
  .brand-mark { width: 38px; height: 38px; border-radius: 10px; }
  .nav { font-size: 12.5px; }
  .nav a { min-height: 36px; padding: 7px 9px; }
  .site-footer { flex-direction: column; }
}


/* Diagnoser release */
.diagnosis-hub { background: #f8f6f2; border-radius: 28px; }
.diagnosis-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.diagnosis-card { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 26px; box-shadow: 0 12px 34px rgba(15,30,42,.06); display: flex; flex-direction: column; gap: 12px; }
.diagnosis-card h3 { margin: 0; }
.diagnosis-card .button { margin-top: auto; align-self: flex-start; }
.diagnosis-promo { background: linear-gradient(135deg, #102a43, #254b68); color: #fff; border-radius: 28px; }
.diagnosis-promo p { color: rgba(255,255,255,.85); }
.diagnosis-promo .button.secondary { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.35); }
@media (max-width: 1000px) { .diagnosis-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 720px) { .diagnosis-card-grid { grid-template-columns: 1fr; } .diagnosis-options { grid-template-columns: 1fr !important; } }


/* Artiklar och insikter */
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 36px; align-items: start; }
.article-body { background: #fff; border: 1px solid var(--line); border-radius: 28px; padding: 42px; box-shadow: 0 12px 34px rgba(15,30,42,.06); }
.article-body p { font-size: 18px; line-height: 1.72; color: #263b52; }
.article-body p:first-child { font-size: 20px; color: var(--navy); }
.article-callout { margin-top: 34px; padding: 28px; border-radius: 22px; background: #f8f6f2; border: 1px solid var(--line); }
.article-callout h2 { margin-top: 0; }
.article-aside { position: sticky; top: 120px; }
.article-card p { color: var(--muted); }
@media (max-width: 900px) { .article-layout { grid-template-columns: 1fr; } .article-body { padding: 28px 22px; } .article-body p { font-size: 16px; } .article-aside { position: static; } }

.article-cta{margin-top:2rem;padding:1.5rem;border:1px solid rgba(0,0,0,.08);border-radius:20px;background:#f8f7f4}.diagnosis-hub+.diagnosis-hub{padding-top:1rem}.diagnosis-card-grid{align-items:stretch}


/* Fastighetsautomation 360 */
.fa360-matrix { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
.fa360-box { background:#fff; border:1px solid var(--line); border-radius:22px; padding:24px; box-shadow:0 12px 34px rgba(15,30,42,.06); }
.fa360-box h3 { margin-top:0; }
.fa360-table { width:100%; border-collapse:collapse; margin:18px 0 26px; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; display:table; }
.fa360-table th, .fa360-table td { padding:12px 14px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.fa360-table th { background:#f8f6f2; color:var(--navy); font-weight:800; }
.fa360-table tr:last-child td { border-bottom:0; }
.fa360-calc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.fa360-calc-grid label { display:grid; gap:6px; font-weight:700; color:var(--navy); }
.fa360-calc-grid input { width:100%; border:1px solid var(--line); border-radius:12px; padding:12px 14px; font:inherit; }
.fa360-result-card { display:none; margin-top:24px; background:#fff; border:1px solid var(--line); border-radius:24px; padding:26px; box-shadow:0 18px 46px rgba(15,30,42,.10); }
.fa360-result-card.visible { display:block; }
.fa360-pill { display:inline-flex; align-items:center; padding:6px 12px; border-radius:999px; background:#f1ede5; color:var(--navy); font-weight:800; margin:4px 8px 4px 0; }
.fa360-note { font-size:15px; color:var(--muted); }
@media (max-width: 800px) { .fa360-matrix, .fa360-calc-grid { grid-template-columns:1fr; } .fa360-table { font-size:14px; } .fa360-table th, .fa360-table td { padding:10px; } }


/* Företagsuppgifter och adminstatistik */
.company-details { font-size: 0.9rem; color: #6b7280; margin: 0.2rem 0 0.4rem; }
.site-footer .company-details { flex-basis: 100%; }
.admin-dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.admin-stat-card { background: #fff; border: 1px solid rgba(15,23,42,0.10); border-radius: 16px; padding: 1rem; box-shadow: 0 10px 30px rgba(15,23,42,0.06); }
.admin-stat-card .stat-number { display:block; font-size: 2rem; font-weight: 800; color: #0f172a; line-height: 1.1; }
.admin-table-wrap { overflow-x:auto; margin-top: 1rem; }
.admin-table { width:100%; border-collapse: collapse; font-size: 0.92rem; }
.admin-table th, .admin-table td { border-bottom: 1px solid rgba(15,23,42,0.10); padding: .55rem .45rem; text-align: left; vertical-align: top; }
.admin-table th { color: #0f172a; font-weight: 700; background: rgba(15,23,42,0.03); }
.admin-muted { color: #6b7280; font-size: 0.9rem; }
@media (max-width: 760px) { .admin-dashboard-grid { grid-template-columns: 1fr; } }


/* Peters Blogg */
.blog-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.blog-card { background:#fff; border:1px solid var(--line); border-radius:22px; padding:26px; box-shadow:0 12px 34px rgba(15,30,42,.06); }
.blog-card h3 { margin-top:0; }
.blog-card h3 a { color:var(--navy); text-decoration:none; }
.blog-card h3 a:hover { text-decoration:underline; }
.blog-body p { font-size:18px; line-height:1.72; color:#263b52; }
.admin-card select { width:100%; border:1px solid var(--line); border-radius:12px; padding:10px 12px; font:inherit; margin:6px 0 12px; background:#fff; }
@media (max-width: 1000px) { .blog-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .blog-list { grid-template-columns: 1fr; } }

/* Bloggadmin tvåspråkigt */
.admin-language-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
.admin-language-box { background: rgba(248,250,252,.9); border: 1px solid rgba(15,23,42,.08); border-radius: 18px; padding: 18px; }
.admin-language-box h3 { margin-top: 0; }
.blog-admin-card textarea[name=body], .blog-admin-card textarea[name=body_en] { min-height: 260px; }
@media (max-width: 980px) { .admin-language-grid { grid-template-columns: 1fr; } }


/* Newsletter / Peters Blogg */
.newsletter-section{padding-top:1rem}
.newsletter-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:2rem;align-items:start;background:#f5f1ea;border:1px solid rgba(39,50,45,.12);border-radius:28px;padding:2rem;box-shadow:0 18px 50px rgba(39,50,45,.08)}
.newsletter-box h2{margin-top:.2rem}
.newsletter-form{display:grid;gap:.9rem;background:#fff;border-radius:22px;padding:1.25rem;border:1px solid rgba(39,50,45,.10)}
.newsletter-form label{display:grid;gap:.35rem;font-weight:700;color:#27322d}
.newsletter-form input[type="text"],.newsletter-form input[type="email"]{width:100%;border:1px solid rgba(39,50,45,.2);border-radius:12px;padding:.8rem .9rem;font:inherit;background:#fff}
.newsletter-form .checkbox{display:flex;align-items:flex-start;gap:.6rem;font-weight:500;font-size:.92rem;line-height:1.45}
.newsletter-form .checkbox input{margin-top:.2rem}
.hidden-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:800px){.newsletter-box{grid-template-columns:1fr;padding:1.4rem}}

/* OEbergs 3.0 Alpha 1 – Governance Assessment */
.assessment-meta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.assessment-meta span{display:inline-flex;padding:8px 13px;border-radius:999px;background:#f1ede5;color:var(--navy);font-size:14px;font-weight:700}
.assessment-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0;color:var(--navy);font-size:14px;font-weight:750}
.assessment-facts span{display:inline-flex;align-items:center}
.assessment-facts span+span:before{content:"";width:4px;height:4px;margin-right:18px;border-radius:50%;background:var(--accent)}
.assessment-area{border:0;margin:0 0 28px;padding:0}
.assessment-area legend{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 14px;padding:18px 20px;border-radius:18px;background:var(--navy);color:#fff;font-size:20px;font-weight:800}
.assessment-area legend span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.16);font-size:14px}
.assessment-area .diagnosis-question{margin-bottom:12px}
.assessment-context{margin-bottom:36px;padding:22px;border:1px solid rgba(181,139,69,.42);border-radius:18px;background:linear-gradient(145deg,#fffdf8,#f3eee5)}
.assessment-context legend{margin:-22px -22px 20px;width:calc(100% + 44px);border-radius:18px 18px 0 0}
.assessment-context-intro{margin:0 0 20px;color:var(--muted)}
.assessment-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.assessment-context-grid label{display:grid;gap:8px;color:var(--navy);font-weight:800}
.assessment-context-grid select{width:100%;padding:13px 38px 13px 14px;border:1px solid rgba(22,48,62,.22);border-radius:10px;background:#fff;color:var(--navy);font:inherit;font-weight:500}
.assessment-context-grid select:focus{outline:3px solid rgba(181,139,69,.22);border-color:#b58b45}
.executive-result{margin-top:40px;border:1px solid var(--line);border-radius:28px;padding:38px;background:#fff;box-shadow:0 20px 54px rgba(15,30,42,.12)}
.executive-result-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.executive-result-header h2{margin:0}
.executive-score{margin:0;font-size:54px;line-height:1;font-weight:800;color:var(--navy)}
.executive-summary,.executive-insight,.benchmark-section,.executive-review-cta{margin-top:28px;padding:28px;border-radius:22px}
.executive-summary{background:#f8f6f2;border-left:5px solid #b58b45}
.executive-summary h3,.executive-insight h3,.benchmark-section h3,.executive-review-cta h3{margin-top:0}
.executive-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.executive-panel{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.executive-panel h3{margin-top:0}
.executive-panel li{margin-bottom:12px;line-height:1.55}
.strength-panel{border-top:5px solid #3c8067}
.risk-panel{border-top:5px solid #a75048}
.priority-panel{margin-top:20px;border-top:5px solid #b58b45;background:#fcfaf6}
.executive-insight{background:linear-gradient(135deg,#102a43,#254b68);color:#fff}
.executive-insight p{color:rgba(255,255,255,.88)}
.executive-insight .section-label{color:#d8ba80}
.assessment-bars{display:grid;gap:15px;margin-top:18px}
.assessment-bar-label{display:flex;justify-content:space-between;gap:16px;margin-bottom:6px;color:var(--navy)}
.assessment-bar{height:12px;border-radius:999px;background:#e9e5dd;overflow:hidden}
.assessment-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b58b45,#254b68)}
.benchmark-section{background:#f8fafc;border:1px solid var(--line)}
.benchmark-wrap{overflow-x:auto}
.benchmark-table{width:100%;border-collapse:collapse;background:#fff}
.benchmark-table th,.benchmark-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.benchmark-table thead th{background:var(--navy);color:#fff}
.benchmark-table tbody th{color:var(--navy)}
.assessment-disclaimer{font-size:14px;color:var(--muted);line-height:1.55}
.executive-review-cta{background:#f1ede5;text-align:center;border:1px solid #ded6c8}
.executive-review-cta .diagnosis-actions{justify-content:center}
.executive-result,.executive-result *{box-sizing:border-box}
.executive-result{text-align:left}
.assessment-report-section{width:100%;margin:28px 0 0;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.assessment-report-section h3{margin-top:0}
.assessment-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;margin-top:24px}
.assessment-columns>section{min-width:0;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.assessment-columns h3{margin-top:0}
.assessment-columns li,.assessment-report-section li{margin-bottom:12px;line-height:1.55}
.assessment-insight{background:linear-gradient(135deg,#102a43,#254b68);color:#fff}
.assessment-insight p{color:rgba(255,255,255,.9)}
.assessment-table-wrap{width:100%;overflow-x:auto}
.assessment-table-wrap table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}
.assessment-table-wrap th,.assessment-table-wrap td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.assessment-table-wrap thead th{background:var(--navy);color:#fff}
.assessment-table-wrap tbody th{width:31%;color:var(--navy)}
.assessment-table-wrap tbody td:nth-child(2),.assessment-table-wrap tbody td:nth-child(3){white-space:nowrap}
.assessment-review-cta{width:100%;margin-top:28px;padding:28px;border:1px solid #ded6c8;border-radius:22px;background:#f1ede5;text-align:left}
.assessment-review-cta h3{margin-top:0}
.assessment-report-contact{margin-top:24px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}
.assessment-report-contact h3{margin-bottom:8px}
.assessment-report-contact p{margin-bottom:8px}
.assessment-contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.executive-result.leading{border-top:7px solid #3c8067}
.executive-result.established{border-top:7px solid #527d96}
.executive-result.developing{border-top:7px solid #b58b45}
.executive-result.foundational{border-top:7px solid #a75048}
@media(max-width:760px){
  .executive-result{padding:24px 18px}
  .executive-result-header{align-items:flex-start;flex-direction:column}
  .executive-score{font-size:44px}
  .executive-columns{grid-template-columns:1fr}
  .executive-summary,.executive-insight,.benchmark-section,.executive-review-cta{padding:22px 18px}
  .assessment-columns{grid-template-columns:1fr}
  .assessment-report-section,.assessment-columns>section,.assessment-review-cta{padding:22px 18px}
  .assessment-area legend{font-size:17px}
  .assessment-context-grid{grid-template-columns:1fr}
}

/* OEbergs 3.0 Alpha 2: assessment library */
.assessment-finder{max-width:1180px;margin:0 auto}
.assessment-search-label{display:block;font-weight:700;margin:0 0 8px}
.assessment-search{width:100%;max-width:680px;padding:14px 16px;border:1px solid rgba(22,48,62,.24);border-radius:10px;background:#fff;color:#17303d;font:inherit;box-shadow:0 8px 24px rgba(17,39,51,.06)}
.assessment-search:focus{outline:3px solid rgba(183,137,73,.22);border-color:#b78949}
.assessment-search-status{min-height:24px;color:#536873;margin:8px 0 0}
.assessment-category{padding:46px 0 8px}
.assessment-category+.assessment-category{border-top:1px solid rgba(22,48,62,.12);margin-top:34px}
.assessment-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.assessment-library-card{display:flex;flex-direction:column;align-items:flex-start;min-height:260px;padding:25px;border:1px solid rgba(22,48,62,.13);border-radius:15px;background:#fff;box-shadow:0 10px 30px rgba(17,39,51,.06)}
.assessment-library-card.featured{border-color:rgba(183,137,73,.55);box-shadow:0 12px 34px rgba(118,82,37,.11)}
.assessment-library-card h3{margin:3px 0 12px;font-size:1.18rem;line-height:1.3}
.assessment-library-card h3 a{color:inherit;text-decoration:none}
.assessment-library-card h3 a:hover{text-decoration:underline}
.assessment-library-card>p:not(.assessment-card-label){color:#526671}
.assessment-card-label{margin:0 0 5px;color:#8a5b24;font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.assessment-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin:auto 0 15px;padding-top:18px}
.assessment-card-meta span{padding:5px 9px;border-radius:999px;background:#eef3f5;color:#405762;font-size:.78rem;font-weight:700}
.assessment-library-card[hidden],.assessment-category[hidden]{display:none}
@media(max-width:900px){.assessment-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.assessment-library-grid{grid-template-columns:1fr}.assessment-library-card{min-height:0}.assessment-category{padding-top:34px}}

/* OEbergs 3.0 Alpha 2: AI knowledge guide */
.ai-guide{max-width:980px;margin:0 auto}
.ai-guide-intro{padding:30px 0 36px;border-bottom:1px solid var(--line)}
.ai-guide-intro h2{max-width:760px}
.ai-guide-intro p{max-width:820px;font-size:1.08rem;line-height:1.75}
.ai-guide-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:30px 0 10px}
.ai-guide-index a{display:block;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-weight:700;text-decoration:none}
.ai-guide-index a:hover{border-color:#b58b45;background:#fcfaf6}
.ai-guide-section{padding:52px 0 22px;scroll-margin-top:110px}
.ai-guide-section h2{font-size:clamp(1.55rem,3vw,2.15rem)}
.ai-guide-section>p{max-width:840px;font-size:1.04rem;line-height:1.75}
.ai-checklist,.ai-steps{margin-top:25px;padding:24px 27px;border-left:5px solid #b58b45;border-radius:10px;background:#f7f4ee}
.ai-checklist h3,.ai-steps h3{margin-top:0}
.ai-checklist li,.ai-steps li{margin:8px 0;line-height:1.55}
.ai-steps{border-left-color:#254b68;background:#f2f6f8}
.ai-sources{margin:48px 0 30px;padding:28px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}
.ai-sources li{margin:9px 0}
.ai-guide .assessment-review-cta{margin-top:40px}
@media(max-width:620px){.ai-guide-index{grid-template-columns:1fr}.ai-guide-section{padding-top:40px}.ai-checklist,.ai-steps,.ai-sources{padding:20px}}

@media print{
  @page{size:A4;margin:14mm}
  body.assessment-printing{background:#fff;color:#111;font-size:10.5pt}
  body.assessment-printing .site-header,
  body.assessment-printing .hero,
  body.assessment-printing #assessmentForm,
  body.assessment-printing .section-heading,
  body.assessment-printing .assessment-review-cta,
  body.assessment-printing .site-footer{display:none!important}
  body.assessment-printing main,
  body.assessment-printing .assessment-shell{display:block!important;margin:0!important;padding:0!important;max-width:none!important}
  body.assessment-printing .executive-result{display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
  body.assessment-printing .assessment-report-section,
  body.assessment-printing .assessment-columns,
  body.assessment-printing .assessment-report-contact{break-inside:avoid;box-shadow:none}
  body.assessment-printing .assessment-report-section,
  body.assessment-printing .assessment-columns>section{padding:14px!important}
  body.assessment-printing .assessment-insight{background:#eef2f5!important;color:#111!important}
  body.assessment-printing .assessment-insight p{color:#111!important}
  body.assessment-printing .assessment-bar span{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  body.assessment-printing .assessment-table-wrap{overflow:visible}
  body.assessment-printing .assessment-table-wrap table{min-width:0;font-size:8.5pt}
  body.assessment-printing a{color:#111;text-decoration:none}
}

/* OEbergs 3.0 Alpha 2: long-form insight articles */
.article-deepening{margin-top:38px}
.article-deepening h2{margin-top:44px;padding-top:8px;font-size:clamp(1.35rem,2.7vw,1.9rem)}
.article-deepening p,.article-deepening li{line-height:1.72}
.article-deepening ul,.article-deepening ol{margin:18px 0 26px;padding-left:24px}
.article-deepening li{margin:8px 0}
.article-deepening h2+ol,.article-deepening h2+ul{padding:22px 24px 22px 44px;border-radius:10px;background:#f5f7f8}

/* OEbergs 3.0 Alpha 2: focused navigation and situation-led homepage */
.nav-focused{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.nav-focused a{white-space:nowrap}
.nav-focused .nav-assessment{padding:9px 13px;border-radius:8px;background:#b58b45;color:#fff}
.nav-focused .nav-language{font-size:.82rem;color:var(--muted)}
.footer-secondary-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;width:100%;margin-top:8px}
.situation-section{background:#f7f4ee}
.situation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.situation-grid article{padding:24px;border:1px solid rgba(22,48,62,.12);border-radius:12px;background:#fff}
.situation-grid h3{margin:0 0 10px;font-size:1.12rem}
.situation-grid p{margin:0;color:var(--muted);line-height:1.6}
.situation-section>.hero-actions{margin-top:30px}
.situation-kicker{margin:0 0 8px!important;color:var(--accent-dark)!important;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.journey-grid article{display:flex;flex-direction:column;align-items:flex-start}
.journey-grid .text-link{margin-top:auto;padding-top:16px;font-weight:800}
.decision-journey{background:var(--navy);color:#fff}
.decision-journey .section-label{color:#d8ba80}
.journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.journey-steps article{padding:24px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.07)}
.journey-steps span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:16px;border-radius:50%;background:#b58b45;color:#fff;font-weight:800}
.journey-steps h3{margin-bottom:8px}
.journey-steps p{margin:0;color:#d7e1ec}
.decision-journey .button.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.article-page{max-width:920px;margin:0 auto}
.article-page>.lead{max-width:820px}
.article-cta{margin-top:34px;padding:26px;border-radius:14px;background:#f1ede5}
.insight-library{padding-top:48px}
.insight-category{padding:34px 0 24px}
.insight-category:first-child{padding-top:0}
.insight-category+.insight-category{border-top:1px solid var(--line)}
.insight-category .section-heading{margin-bottom:22px}
.insight-card h3 a{text-decoration:none}
.insight-card h3 a:hover{text-decoration:underline}
.insight-card-actions{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:auto;padding-top:15px}
@media(max-width:980px){.nav-focused{gap:12px}.nav-focused a{font-size:.85rem}.situation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.nav-focused{align-items:stretch;flex-direction:column;width:100%;padding-top:14px}.nav-focused a{padding:8px 0}.nav-focused .nav-assessment{padding:11px 13px;text-align:center}.situation-grid,.journey-steps{grid-template-columns:1fr}}
@media(min-width:761px){
  .site-header .nav-focused{display:flex!important;flex-direction:row!important;align-items:center!important;width:auto!important;gap:16px!important;padding:0!important}
  .site-header .nav-focused a{display:inline-flex;align-items:center;padding-top:8px;padding-bottom:8px}
}

/* OEbergs 3.0 Alpha 7: compact mobile navigation */
@media(max-width:760px){
  .site-header .nav-focused{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    gap:6px;
    width:100%;
    padding-top:0;
  }
  .site-header .nav-focused a{
    min-height:34px;
    padding:7px 9px;
    border-radius:8px;
    font-size:12px;
    line-height:1.15;
    white-space:normal;
  }
  .site-header .nav-focused .nav-assessment{
    padding:7px 9px;
    text-align:left;
  }
  .assessment-facts{gap:7px 12px;margin:18px 0}
  .assessment-facts span+span:before{margin-right:12px}
}
