/* ==========================================================================
   barnensrattigheter.se — PROAKTIV brand system (2026 guidelines)
   Deep Forest (70%) · Crème (20%) · Gold (10%). Marcellus + Inter.
   Gold = the chevron + moments of significance, never decorative.
   ========================================================================== */

:root {
  --green:      #0A4833;   /* Deep Forest — primary, Pantone 3435 C */
  --green-deep: #06371F;   /* darker forest for footer/contrast */
  --green-med:  #11684A;   /* Medium Green — hover / secondary */
  --gold:       #F5D52A;   /* Gold — accents, chevron, significance */
  --creme:      #FEFEF2;   /* Crème — breathing space / light bg */
  --beige:      #F6EEDD;   /* Beige — warm, personal context */
  --brown:      #D68F5B;   /* Warm Brown — sparing */
  --ink:        #1D1D1B;   /* Dark — text on light */
  --ink-soft:   #4A4A46;   /* secondary text on light */
  --sage:       #BFD0C6;   /* muted creme/sage — secondary text on green */
  --white:      #FFFFFF;
  --line:       #E6DFCF;   /* hairline on creme/beige */
  --line-green: rgba(255,255,255,0.16);

  --serif: "Marcellus", Georgia, "Times New Roman", serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --maxw: 1080px;
  --radius: 8px;
  --shadow: 0 16px 48px rgba(6, 55, 31, 0.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.68;
  color: var(--ink);
  background: var(--creme);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3 {
  font-family: var(--serif);
  font-weight: 400;           /* Marcellus is single-weight; hierarchy via size */
  line-height: 1.12;
  color: var(--green);
  letter-spacing: 0;
  margin: 0 0 0.5em;
}
h1 { font-size: clamp(2.3rem, 5.6vw, 3.7rem); }
h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); }
h3 { font-size: clamp(1.2rem, 2.2vw, 1.5rem); }

p { margin: 0 0 1.1em; }

a { color: var(--green-med); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--green); }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.lead { font-size: 1.22rem; color: var(--ink-soft); max-width: 60ch; }

.eyebrow {
  display: inline-block;
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green-med);
  margin-bottom: 1rem;
}

/* ---------- Skip link ---------- */
.skip { position:absolute; left:-999px; top:0; background:var(--green); color:#fff; padding:10px 16px; z-index:200; border-radius:0 0 8px 0; }
.skip:focus { left:0; }

/* ---------- Gold Lambda chevron mark (replaces old dot) ---------- */
.brand .dot {
  width: 24px; height: 19px; flex: none; border-radius: 0; box-shadow: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M3 18 L12 4 L21 18' fill='none' stroke='%23F5D52A' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ---------- Header / nav ---------- */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(254,254,242,0.92);
  backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid var(--line);
}
.nav { display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:var(--maxw); margin:0 auto; gap:16px; }
.brand { font-family:var(--serif); font-weight:400; font-size:1.22rem; color:var(--green); text-decoration:none; letter-spacing:.01em; display:flex; align-items:center; gap:11px; }
.nav-links { display:flex; gap:26px; align-items:center; }
.nav-links a { color:var(--ink-soft); text-decoration:none; font-size:0.96rem; font-weight:500; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color:var(--green); }
.nav-toggle { display:none; background:none; border:0; cursor:pointer; padding:6px; }
.nav-toggle svg { display:block; }
.nav-toggle svg line { stroke: var(--green); }

@media (max-width:760px){
  .nav-links { position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; align-items:stretch; background:var(--creme); border-bottom:1px solid var(--line); max-height:0; overflow:hidden; transition:max-height .25s ease; }
  .nav-links a { padding:14px 24px; border-top:1px solid var(--line); }
  .nav.open .nav-links { max-height:360px; }
  .nav-toggle { display:block; }
}

/* ---------- Buttons ---------- */
.btn { display:inline-block; font-weight:600; font-size:1rem; padding:14px 28px; border-radius:999px; text-decoration:none; transition:transform .12s ease, background .2s ease, color .2s ease; cursor:pointer; border:1.5px solid transparent; }
.btn-primary { background:var(--gold); color:var(--green); }            /* gold = transformation / main CTA */
.btn-primary:hover { background:#ecca16; color:var(--green); transform:translateY(-1px); }
.btn-ghost { background:transparent; color:var(--green); border-color:var(--green); }
.btn-ghost:hover { background:var(--green); color:var(--creme); }
.btn-row { display:flex; gap:14px; flex-wrap:wrap; margin-top:1.6rem; }

/* ---------- Sections (color discipline) ---------- */
section { padding:74px 0; }
.section-sand { background:var(--creme); }                 /* "breathe" */
.section-mint { background:var(--beige); }                 /* warm / personal context */
.section-deep { background:var(--green); color:var(--creme); }  /* green dominates */
.section-deep h1, .section-deep h2, .section-deep h3 { color:var(--creme); }
.section-deep .lead { color:var(--sage); }
.section-deep .eyebrow { color:var(--gold); }
.section-deep a { color:var(--gold); }
.section-deep p { color:var(--sage); }

/* ---------- Hero ---------- */
.hero { padding:90px 0 74px; }
.hero h1 { max-width:16ch; }
.hero .lead { margin-top:0.4rem; }

/* ---------- Grid / cards ---------- */
.grid { display:grid; gap:22px; }
.grid-2 { grid-template-columns:repeat(2,1fr); }
.grid-3 { grid-template-columns:repeat(3,1fr); }
@media (max-width:820px){ .grid-2,.grid-3 { grid-template-columns:1fr; } }

.card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:28px; }
.card h3 { margin-bottom:0.35em; }
.card p:last-child { margin-bottom:0; }
.card .num { font-family:var(--serif); font-size:2.5rem; color:var(--green-med); line-height:1; display:block; margin-bottom:0.3rem; }

/* ---------- Stat band ---------- */
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; text-align:center; }
@media (max-width:760px){ .stats { grid-template-columns:1fr; gap:32px; } }
.stat .big { font-family:var(--serif); font-size:clamp(2.5rem,6vw,3.5rem); color:var(--gold); line-height:1; }
.stat .label { color:var(--sage); font-size:0.98rem; margin-top:0.5rem; }

/* ---------- Callout ---------- */
.callout { border-left:4px solid var(--gold); background:var(--white); padding:24px 28px; border-radius:0 var(--radius) var(--radius) 0; box-shadow:var(--shadow); color:var(--ink); }
.callout p { color:var(--ink); }
.callout cite { display:block; margin-top:.6rem; font-style:normal; color:var(--ink-soft); font-size:.92rem; }

/* ---------- References ---------- */
.refs { font-size:0.92rem; color:var(--ink-soft); }
.refs ol { padding-left:1.3em; }
.refs li { margin-bottom:0.7em; }

/* ---------- Steps ---------- */
.steps { counter-reset:step; display:grid; gap:18px; }
.step { display:flex; gap:18px; align-items:flex-start; }
.step::before { counter-increment:step; content:counter(step); flex:none; width:42px; height:42px; border-radius:50%; background:var(--green); color:var(--gold); font-weight:400; display:grid; place-items:center; font-family:var(--serif); font-size:1.25rem; }
.step h3 { margin:6px 0 4px; }

/* ---------- Bridge box ---------- */
.bridge { background:var(--white); border:1px solid var(--line); border-left:4px solid var(--green); border-radius:var(--radius); padding:28px; margin-top:10px; }
.bridge .tag { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--green-med); font-weight:700; }

/* ---------- Footer ---------- */
.site-footer { background:var(--green-deep); color:var(--sage); padding:56px 0 40px; font-size:.95rem; }
.site-footer a { color:var(--creme); text-decoration:none; }
.site-footer a:hover { color:var(--gold); }
.footer-grid { display:flex; flex-wrap:wrap; gap:40px; justify-content:space-between; }
.footer-brand { font-family:var(--serif); color:var(--creme); font-size:1.2rem; }
.footer-links { display:flex; gap:26px; flex-wrap:wrap; }
.footer-fine { margin-top:32px; padding-top:22px; border-top:1px solid var(--line-green); font-size:.85rem; color:rgba(191,208,198,0.7); }

/* ---------- Utility ---------- */
.center { text-align:center; }
.mt-0 { margin-top:0; }
.narrow { max-width:70ch; }
.narrow.center { margin-left:auto; margin-right:auto; }
