/* Når KI er i rommet · Mari-Ann Letnes · NTNU
   Samme formspråk som ressursportalen «Læring i en digital tid».
   Skriftene ligger lokalt i fonts/, så ingen besøkende sendes videre til eksterne tjenester. */

/* ============ Skrifter (SIL Open Font License, se fonts/) ============ */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-latin-opsz-normal.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-latin-opsz-italic.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(fonts/dm-sans-latin-opsz-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:100 1000;font-display:swap;src:url(fonts/dm-sans-latin-opsz-italic.woff2) format('woff2')}

/* ============ Tokens ============ */
:root{
  --marine:#1e2a45; --deep:#161f33; --forest:#5e6e67; --mauve:#9e7a8a; --mauve-light:#c9a0b0;
  --cream:#f0ece2; --lin:#d9d5cc; --lin-dark:#cac6bc; --warm:#555250; --muted:#5a5650; --pale:#817c78;
  --white:#fffdf8; --focus:#c6794d;
  --tint-forest:#e8e9e2; --tint-mauve:#eee3e8;

  /* Navn som sidene bruker */
  --paper:var(--cream); --ink:var(--marine); --body:var(--warm); --quiet:var(--muted); --hair:var(--lin-dark);
  --card-bg:var(--white); --accent:var(--forest); --tint:var(--tint-forest);
  --r-lg:16px; --r-md:14px; --r-sm:12px;
  --shadow:0 10px 28px rgba(30,42,69,.09);

  /* De fire engasjementsdimensjonene, dempet til paletten */
  --dim-atferd:#b08a2e; --dim-emo:#9e7a8a; --dim-kog:#5e6e67; --dim-agent:#c6794d; --dim-femte:#1e2a45;

  --serif:'Fraunces',Georgia,serif;
  --sans:'DM Sans',system-ui,-apple-system,sans-serif;
  --wrap:1120px; --gutter:32px;
}

/* ============ Grunnlag ============ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--cream);color:var(--marine);font-family:var(--sans);font-weight:350;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:3px}
h1,h2,h3{margin:0;color:var(--marine);font-weight:500}
h1,h2{font-family:var(--serif)}
p{margin:0}
strong{font-weight:650;color:var(--marine)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:10px 14px;border-radius:8px;z-index:200}
.skip:focus{left:15px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}

/* ============ Toppstripe ============ */
.sitebar{position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff;isolation:isolate}
.sitebar::before{content:"";position:absolute;z-index:-1;inset:0 -100vmax;background:var(--marine);border-bottom:2px solid var(--mauve)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;font-size:14px;letter-spacing:.02em;color:var(--cream)}
.brand .logo{width:34px;height:34px;background:var(--mauve);border-radius:8px 8px 8px 3px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;letter-spacing:0}
.context{font-size:13px;color:#ddced6;text-align:right}
.context a{text-decoration:none}
.context a:hover,.context a[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:6px}

/* ============ Toppseksjon ============ */
.hero{position:relative;isolation:isolate;color:var(--cream);padding-top:72px;padding-bottom:76px}
.hero::before{content:"";position:absolute;z-index:-2;inset:0 -100vmax;background:var(--marine)}
.hero::after{content:"";position:absolute;z-index:-1;right:-140px;top:-180px;width:600px;height:600px;border:1px solid rgba(201,160,176,.15);border-radius:50%;pointer-events:none;box-shadow:0 0 0 75px rgba(255,255,255,.008),0 0 0 160px rgba(255,255,255,.008)}
.hero--small{padding-top:52px;padding-bottom:58px}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:650;color:var(--mauve-light);margin-bottom:14px}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(52px,8vw,100px);line-height:.98;letter-spacing:-.045em;max-width:850px;color:var(--cream);margin-bottom:23px}
.hero--small h1{font-size:clamp(40px,6vw,66px);letter-spacing:-.034em;margin-bottom:14px}
.hero h1 em{font-style:italic;color:var(--mauve-light)}
.lead{font-size:clamp(17px,2.1vw,21px);color:#d7cfd0;max-width:740px;line-height:1.65}
.hero--small .lead{font-size:17px;max-width:750px}
.hero-quiet{font-size:13px;color:#b9b2b7;margin-top:22px}
.crumb{font-size:12px;letter-spacing:.02em;margin-bottom:16px}
.crumb a{color:var(--mauve-light);text-decoration:none}
.crumb a:hover{text-decoration:underline}

/* ============ Innholdsnavigasjon ============ */
.jump{position:sticky;top:64px;z-index:20;background:rgba(240,236,226,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--lin-dark)}
.jump ul{list-style:none;margin:0 auto;display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;padding-bottom:12px}
.jump a{display:block;text-decoration:none;white-space:nowrap;border:1px solid var(--lin-dark);background:var(--white);color:var(--marine);padding:7px 13px;border-radius:999px;font-size:13px;transition:border-color .15s}
.jump a:hover{border-color:var(--mauve)}

/* ============ Seksjoner ============ */
main{padding-bottom:10px}
.section{--accent:var(--forest);--tint:var(--tint-forest);padding:66px 0 4px;scroll-margin-top:130px}
.rose,.lavender,.peach{--accent:var(--mauve);--tint:var(--tint-mauve)}
.yellow,.aqua,.blue{--accent:var(--forest);--tint:var(--tint-forest)}
.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:650;color:var(--accent);margin-bottom:7px}
.section h2{font-family:var(--serif);font-weight:350;font-size:clamp(27px,3.5vw,39px);line-height:1.16;letter-spacing:-.02em;max-width:770px}
.copy{max-width:780px;margin-top:12px;font-size:15px;color:var(--muted)}
.copy p + p{margin-top:12px}
.copy strong{color:var(--marine)}
.subhead{font-family:var(--serif);font-weight:350;font-size:23px;line-height:1.2;margin-top:38px;color:var(--marine)}

/* ============ Kort ============ */
.cards{--cols:2;list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:15px}
.cards--3{--cols:3}
.cards--4{--cols:4}
.card{background:var(--white);border:1px solid var(--lin-dark);border-radius:14px;padding:24px 22px;font-size:14px;line-height:1.65;color:var(--muted)}
.card strong{display:block;font-family:var(--serif);font-weight:350;font-size:21px;line-height:1.2;margin-bottom:8px;color:var(--marine)}
.card .tag{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:650;color:var(--accent);margin-bottom:12px}
.card .ki{display:block;margin-top:14px;padding-top:12px;border-top:1px solid var(--lin-dark);color:var(--marine)}
.card .ki em{font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:650;color:var(--pale);display:block;margin-bottom:3px}
.cards > li:nth-child(even) .card,.cards > li.card:nth-child(even){background:var(--tint)}
.card[data-dim]{border-top:3px solid var(--dim)}
.card[data-dim="atferd"]{--dim:var(--dim-atferd)}
.card[data-dim="emo"]{--dim:var(--dim-emo)}
.card[data-dim="kog"]{--dim:var(--dim-kog)}
.card[data-dim="agent"]{--dim:var(--dim-agent)}

/* Sitatkort */
.quote-card{display:flex;flex-direction:column;gap:10px}
.quote-card blockquote{margin:0;font-family:var(--serif);font-weight:350;font-size:21px;line-height:1.35;color:var(--marine)}
.quote-card cite{font-style:normal;font-size:12px;color:var(--pale)}
.quote-card p{margin-top:auto;padding-top:12px;border-top:1px solid var(--lin-dark)}

.pull{margin-top:26px;background:var(--warm);color:var(--cream);padding:30px 35px;border-radius:13px;font-family:var(--serif);font-weight:350;font-size:clamp(20px,2.4vw,24px);line-height:1.4;max-width:900px}
.pull cite{display:block;font-family:var(--sans);font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:650;color:var(--mauve-light);margin-top:12px}

/* ============ Nummererte spørsmål ============ */
.numbered{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:0;border:1px solid var(--lin-dark);border-radius:14px;overflow:hidden;background:var(--white)}
.numbered li{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start;padding:18px 22px;border-bottom:1px solid var(--lin-dark)}
.numbered li:last-child{border-bottom:0}
.numbered .num{font-family:var(--serif);font-weight:350;font-size:26px;line-height:1;color:var(--c,var(--mauve))}
.numbered.colored li:nth-child(1){--c:var(--dim-atferd)}
.numbered.colored li:nth-child(2){--c:var(--dim-emo)}
.numbered.colored li:nth-child(3){--c:var(--dim-kog)}
.numbered.colored li:nth-child(4){--c:var(--dim-agent)}
.numbered.colored li:nth-child(5){--c:var(--dim-femte)}
.numbered strong{display:block;font-weight:500;font-size:15px;line-height:1.5}
.numbered span.sub{display:block;font-size:13px;color:var(--muted);margin-top:3px}

/* ============ Ressurslenker ============ */
.resources{margin-top:28px}
.resource{display:flex;flex-direction:column;height:100%;background:var(--lin);border:1px solid var(--lin-dark);border-radius:14px;padding:24px 22px 21px;text-decoration:none;position:relative;overflow:hidden;transition:transform .17s,box-shadow .17s,border-color .17s}
.resource::after{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.resource:hover{transform:translateY(-3px);border-color:#b5ada9;box-shadow:var(--shadow)}
.resource:hover::after{transform:scaleX(1)}
.resource-type{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:650;color:var(--accent);margin-bottom:12px}
.resource h3{font-family:var(--serif);font-weight:350;font-size:22px;line-height:1.15;margin-bottom:10px}
.resource p{font-size:13px;line-height:1.55;color:var(--muted)}
.resource-arrow{display:inline-block;margin-top:auto;padding-top:16px;color:var(--accent);font-size:12px;font-weight:650}

.note{margin-top:22px;max-width:900px;background:var(--tint);border-left:4px solid var(--accent);border-radius:0 10px 10px 0;padding:18px 22px;font-size:14px;line-height:1.75;color:var(--marine)}
.note a{text-underline-offset:3px}

/* ============ Skjemaspørsmål (prosessloggsiden) ============ */
.form-part{margin-top:30px}
.form-part h3{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:650;color:var(--accent);margin-bottom:4px}
.form-part > p{font-size:14px;color:var(--muted);margin-bottom:12px}
.qs{list-style:none;padding:0;margin:0;display:grid;gap:8px;counter-reset:q var(--start,0)}
.qs li{counter-increment:q;background:var(--white);border:1px solid var(--lin-dark);border-radius:12px;padding:15px 18px 15px 58px;position:relative}
.qs li::before{content:counter(q);position:absolute;left:18px;top:13px;font-family:var(--serif);font-size:22px;line-height:1;color:var(--mauve)}
.qs .q{display:block;color:var(--marine);font-weight:400}
.qs .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.badge{font-size:11px;letter-spacing:.03em;border-radius:999px;padding:2px 10px;background:var(--cream);border:1px solid var(--lin-dark);color:var(--warm)}
.badge.req{background:var(--marine);border-color:var(--marine);color:#fff}
.qs .opts{display:block;font-size:13px;color:var(--muted);margin-top:6px}
.qs .branch{display:block;font-size:13px;color:var(--accent);margin-top:4px}

.steps{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:0;counter-reset:s;border:1px solid var(--lin-dark);border-radius:14px;overflow:hidden;background:var(--white)}
.steps li{counter-increment:s;display:grid;grid-template-columns:40px 1fr;gap:16px;padding:18px 22px;border-bottom:1px solid var(--lin-dark)}
.steps li:last-child{border-bottom:0}
.steps li::before{content:counter(s);font-family:var(--serif);font-weight:350;font-size:26px;line-height:1;color:var(--accent)}
.steps strong{display:block;font-weight:500}
.steps p{font-size:14px;color:var(--muted);margin-top:2px}

/* ============ Avslutning og litteratur ============ */
.closing{margin-top:66px;background:var(--marine);color:var(--cream);border-radius:16px;padding:36px 40px;display:grid;grid-template-columns:1fr 1.4fr;gap:30px}
.closing h2{font-weight:350;font-size:clamp(27px,3vw,36px);line-height:1.12;color:var(--cream)}
.closing p{color:#d2c8cf;font-size:15px}
.closing p + p{margin-top:12px}
.literature{margin-top:66px;padding-top:40px;border-top:1px solid var(--lin-dark);scroll-margin-top:130px}
.literature .kicker{color:var(--pale)}
.literature h2{font-weight:350;font-size:clamp(27px,3.5vw,39px);line-height:1.16;margin-bottom:22px}
.references{list-style:none;padding:0;margin:0;max-width:900px}
.references li{margin-bottom:12px;padding-left:1.7rem;text-indent:-1.7rem;font-size:14px;line-height:1.7;color:var(--muted)}
.references a{color:var(--marine);text-underline-offset:2px;overflow-wrap:anywhere}

/* ============ Bunntekst ============ */
footer{position:relative;isolation:isolate;margin-top:75px;padding-top:32px;padding-bottom:32px;color:#c4bbc0;font-size:12px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer::before{content:"";position:absolute;z-index:-1;inset:0 -100vmax;background:var(--marine);border-top:3px solid var(--mauve)}
footer strong{color:var(--cream);font-weight:500;font-size:14px}
footer a{color:#e9c5d4;text-decoration:none}
footer a:hover{text-decoration:underline}

/* ============ Mobil ============ */
@media (max-width:960px){.cards--4{--cols:2}}
@media (max-width:730px){
  :root{--gutter:16px}
  .context{display:none}
  .hero{padding-top:56px;padding-bottom:62px}
  .hero--small{padding-top:40px;padding-bottom:44px}
  .jump ul{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .jump ul::-webkit-scrollbar{display:none}
  .section{padding-top:48px}
  .cards,.cards--3,.cards--4{--cols:1}
  .closing{grid-template-columns:1fr;gap:12px;padding:26px 22px}
  .pull{padding:24px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none !important}}
@media print{.jump,.skip,.sitebar{display:none}.hero{color:var(--marine)}.hero::before,.hero::after,footer::before{display:none}.hero h1,.lead{color:var(--marine)}.card,.resource{break-inside:avoid}}
