
.home-audience { padding:clamp(55px,7vw,95px) 0; background:#eef6f1; border-block:1px solid #d2e3d6; }
.home-audience h2 { max-width:850px; margin:14px 0 16px; }
.home-audience > .container > p { max-width:780px; font-size:1.08rem; }
.home-audience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:30px; }
.home-audience-card { display:flex; flex-direction:column; min-height:230px; padding:clamp(22px,3vw,35px); background:white; border:1.5px solid #a8c9be; border-radius:16px; transition:transform .15s,box-shadow .15s; }
.home-audience-card:hover { transform:translateY(-3px); box-shadow:0 12px 24px rgba(32,85,75,.12); }
.home-audience-card > span { color:#326f73; text-transform:uppercase; font-size:.8rem; letter-spacing:.08em; font-weight:800; }
.home-audience-card h3 { margin:15px 0 10px; }
.home-audience-card strong { margin-top:auto; color:#276269; }
.home-audience-card:focus-visible { outline:3px solid #bd5e13; outline-offset:3px; }
@media(max-width:650px) { .home-audience-grid { grid-template-columns:1fr; }.home-audience-card { min-height:190px; } }
@media(prefers-reduced-motion:reduce) { .home-audience-card { transition:none; } }

/* Editorial blocks created in /admin. They are also used by long-form reading pages. */
.fk-block { margin:1.5rem 0; }
.fk-block :last-child { margin-bottom:0; }
.fk-card,.fk-note,.fk-warning,.fk-tip { padding:clamp(18px,3vw,30px); border:1px solid #cbdde0; border-radius:16px; background:#f4faf9; }
.fk-card { background:#fff; box-shadow:0 12px 34px rgba(8,53,60,.07); }
.fk-note { border-left:5px solid #32727a; }
.fk-warning { background:#fff4e5; border-color:#d89842; border-left:5px solid #bd6a09; }
.fk-tip { background:#e7f5eb; border-color:#a4cdb5; border-left:5px solid #437f5c; }
.fk-block h3 { font-size:clamp(1.2rem,2vw,1.65rem); margin:0 0 .65em; }
.fk-columns { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; }
.fk-column { min-width:0; padding:clamp(18px,2.6vw,28px); border:1px solid #d6e2e4; border-radius:14px; background:#fff; }
.fk-accordion { border-top:1px solid #c8dadd; }
.fk-accordion details { border-bottom:1px solid #c8dadd; padding:4px 0; }
.fk-accordion summary { cursor:pointer; font-weight:700; padding:14px 26px 14px 4px; }
.fk-accordion details > div { padding:0 8px 16px; }
.fk-timeline { list-style:none; padding:0 0 0 27px; border-left:2px solid #32727a; }
.fk-timeline li { position:relative; padding:0 0 24px 19px; }
.fk-timeline li::before { content:""; position:absolute; left:-35px; top:5px; width:12px; height:12px; border-radius:50%; background:#32727a; border:3px solid white; }
.fk-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:12px; }
.fk-stats > div { display:flex; flex-direction:column; gap:5px; background:#eaf5f7; border-radius:12px; padding:18px; }
.fk-stats strong { font:700 clamp(1.7rem,3vw,2.6rem)/1 Georgia,serif; color:#235b62; }
.fk-feature-quote { padding:16px 25px; border-left:5px solid #32727a; color:#244e54; font:italic clamp(1.15rem,2vw,1.5rem)/1.45 Georgia,serif; }
.fk-text-small { font-size:.88rem; }.fk-text-large { font-size:1.25rem; line-height:1.5; }
.fk-text-center { text-align:center; padding:18px; font:italic clamp(1.2rem,2vw,1.6rem)/1.4 Georgia,serif; }
.fk-button a { display:inline-flex; padding:12px 20px; border-radius:8px; background:#326f73; color:white; font-weight:700; text-decoration:none; }
.fk-button a:hover { background:#255b60; }
.fk-html img,.fk-column img,.knowledge-prose img,.del2-prose img,.admin-preview img { max-width:100%; height:auto; }
.fk-unknown-block { overflow:auto; }

:root { --paper:#ffffff; --paper-light:#ffffff; --ink:#111820; --muted:#48616a; --line:#d2e3e6; --forest:#326f73; --sage:#eaf5f7; --ochre:#ffb638; --clay:#cc3200; --cream:#f0f7f9; --navy:#07376b; --radius:18px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; line-height:1.55; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.55; }
a { color:inherit; text-decoration:none; }
p { margin:0 0 1.1em; }
h1,h2,h3 { font-family:Georgia, 'Times New Roman', serif; line-height:1.09; letter-spacing:-.045em; margin:0; font-weight:700; }
h1 { font-size:clamp(2.4rem,4vw,4.5rem); }
h2 { font-size:clamp(1.8rem,2.8vw,3rem); }
h3 { font-size:clamp(1.25rem,1.7vw,1.65rem); }
ul,ol { padding-left:1.4em; }
:focus-visible { outline:3px solid var(--clay); outline-offset:3px; }
::selection { background:#cde8ec; color:var(--ink); }
.container { width:min(100% - 64px, 1376px); margin-inline:auto; }
.skip-link { position:absolute; z-index:100; top:-100px; left:16px; background:var(--ink); color:white; padding:12px 18px; border-radius:8px; }
.skip-link:focus { top:16px; }
.eyebrow { display:inline-block; font-size:.75rem; font-weight:800; letter-spacing:.15em; line-height:1.35; text-transform:uppercase; color:var(--clay); }
.button { display:inline-flex; justify-content:center; align-items:center; gap:16px; min-height:52px; padding:12px 22px; border-radius:6px; font-size:.92rem; font-weight:700; line-height:1.2; border:1px solid var(--ink); transition:background .18s,color .18s,transform .18s; }
.button:hover { transform:translateY(-2px); }
.button-dark { background:var(--forest); color:white; border-color:var(--forest); }
.button-dark:hover { background:#255b60; }
.button-outline { background:transparent; color:var(--ink); }
.button-outline:hover { background:var(--sage); }
.button-plain { border-color:transparent; background:transparent; text-decoration:underline; text-underline-offset:4px; }
.text-link { display:inline-block; border-bottom:1px solid currentColor; padding-bottom:3px; font-weight:700; }
.text-link:hover { color:var(--forest); }
.site-header { background:var(--forest); color:white; position:relative; z-index:30; }
.header-inner { width:min(100% - 64px,1376px); margin:auto; min-height:76px; display:flex; justify-content:space-between; align-items:center; gap:28px; }
.brand { display:flex; align-items:center; gap:12px; font-family:Georgia,serif; font-weight:700; font-size:1.5rem; letter-spacing:-.04em; line-height:1; white-space:nowrap; }
.brand-logo { width:48px; height:48px; overflow:hidden; display:block; position:relative; flex:none; border-radius:50%; background:white; }
.brand-logo img { position:absolute; width:125px; height:125px; max-width:none; left:-38px; top:-27px; }
.brand small { display:block; font-family:Arial,sans-serif; font-size:.64rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; margin-top:8px; }
.brand-mark { font-family:Georgia,serif; font-size:2.5rem; line-height:.8; color:var(--forest); }
.desktop-nav { display:flex; align-items:center; gap:clamp(12px,2.15vw,32px); }
.desktop-nav a { font-weight:700; font-size:.88rem; white-space:nowrap; border-bottom:2px solid transparent; padding:8px 0; }
.desktop-nav a:hover { border-bottom-color:white; }
.mobile-nav { display:none; }
.site-footer { background:var(--forest); color:white; padding:74px 0 20px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:70px; }
.footer-grid p { color:#e0f1f3; max-width:380px; }
.footer-grid a,.footer-grid nav span { display:block; color:white; margin:9px 0; text-decoration:underline; text-decoration-color:#a7ced3; text-underline-offset:4px; }
.footer-grid nav span { opacity:.75; text-decoration:none; }
.footer-grid strong { display:block; margin-bottom:20px; }
.footer-brand { font:700 2rem Georgia,serif; letter-spacing:-.05em; margin-bottom:20px; }
.footer-brand span { color:var(--ochre); }
.footer-bottom { border-top:1px solid #75a3a8; color:#def0f2; margin-top:70px; padding-top:20px; font-size:.78rem; }

/* Editorial home */
.home-hero { background:white; overflow:hidden; }
.hero-grid { min-height:700px; display:grid; grid-template-columns:minmax(0,1.13fr) minmax(340px,.87fr); align-items:center; gap:7vw; padding-block:90px 108px; }
.hero-copy { max-width:710px; }
.partner-link { display:inline-flex; gap:26px; align-items:center; border:1px solid var(--forest); color:var(--forest); border-radius:50px; padding:7px 13px; font-size:.78rem; font-weight:700; margin-bottom:36px; }
.partner-link:hover { background:var(--sage); }
.hero-copy > .eyebrow { display:block; margin-bottom:10px; }
.hero-copy h1 { color:var(--ink); margin-bottom:25px; }
.hero-copy h1 span { color:var(--forest); }
.hero-copy p { font-size:1.08rem; max-width:660px; }
.hero-copy .hero-lead { font-size:clamp(1.28rem,1.8vw,1.65rem); line-height:1.45; font-weight:600; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.hero-facts { display:flex; gap:24px; padding:0; margin:36px 0 0; list-style:none; font-size:.77rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.hero-facts li+li:before { content:'✳'; margin-right:24px; color:var(--clay); }
.hero-visual { position:relative; aspect-ratio:1; max-width:555px; width:100%; border-radius:50%; background:radial-gradient(circle at 45% 45%,#fff7e8 0 17%,#9bcbd0 18% 18.5%,transparent 19%),linear-gradient(130deg,#eaf5f7,#cce8eb); border:1px solid #a5cdd1; box-shadow:23px 28px 0 rgba(50,111,115,.12); display:grid; place-items:center; transform:rotate(-5deg); }
.visual-ring { position:absolute; border:1px solid var(--forest); border-radius:50%; }
.visual-ring-one { inset:14%; }
.visual-ring-two { inset:28%; }
.hero-visual:before,.hero-visual:after { content:''; position:absolute; background:var(--forest); }
.hero-visual:before { width:1px; top:10%; bottom:10%; }
.hero-visual:after { height:1px; left:10%; right:10%; }
.visual-center { z-index:2; color:var(--forest); font-size:10rem; line-height:1; transform:rotate(5deg); }
.hero-visual span:not(.visual-center):not(.visual-caption) { position:absolute; z-index:2; background:var(--paper-light); border:1px solid var(--forest); padding:6px 10px; border-radius:3px; font-size:.66rem; font-weight:800; letter-spacing:.08em; }
.visual-north { top:5%; }.visual-east { right:1%; }.visual-south { bottom:6%; }.visual-west { left:1%; }
.visual-caption { position:absolute; bottom:-64px; right:0; width:240px; font-family:Georgia,serif; font-style:italic; line-height:1.25; font-size:1.12rem; text-align:right; }
.section { padding-block:112px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:60px; margin-bottom:40px; }
.section-heading .eyebrow { margin-bottom:18px; }
.section-heading > p { max-width:420px; font-size:1.15rem; margin:0 0 6px; }
.theme-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.theme-card { min-height:255px; padding:26px 30px 30px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper-light); display:flex; flex-direction:column; position:relative; }
.theme-card:nth-child(2),.theme-card:nth-child(5) { background:var(--cream); }.theme-card:nth-child(3),.theme-card:nth-child(6) { background:#fff7ee; }
.theme-number { font-size:.75rem; font-weight:800; letter-spacing:.1em; }
.theme-icon { position:absolute; right:27px; top:10px; font:normal 3.4rem Georgia,serif; color:var(--forest); }
.theme-card h3 { margin-top:auto; margin-bottom:10px; }
.theme-card p { margin:0; max-width:285px; }
.school-band { background:var(--sage); border-block:1px solid var(--line); }
.school-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.school-card { min-height:252px; padding:26px 30px; background:var(--paper-light); border:1px solid var(--ink); border-radius:var(--radius); position:relative; display:flex; flex-direction:column; transition:transform .18s, box-shadow .18s; }
.school-card:hover { transform:translateY(-4px); box-shadow:6px 8px 0 #9bcbd0; }
.school-card h3 { font-size:1.7rem; margin-top:auto; }
.school-card p { margin:10px 0 0; }
.school-1,.school-2 { background:var(--cream); }
.school-card-disabled { border-color:var(--line); cursor:default; }
.school-card-disabled:hover { transform:none; box-shadow:none; }
.launch-badge { display:inline-block; align-self:flex-start; margin-top:18px; padding:7px 11px; border-radius:30px; background:#d7e8eb; color:var(--forest); font-size:.75rem; font-weight:800; }
.school-arrow { position:absolute; right:24px; top:16px; font-size:2rem; }
.chapter-section { background:var(--paper-light); }
.chapter-group { margin-top:62px; }
.group-heading { display:flex; align-items:baseline; gap:22px; border-bottom:1px solid var(--ink); padding-bottom:16px; margin-bottom:20px; }
.group-heading h2,.group-heading h3 { font-size:2.35rem; white-space:nowrap; }
.group-heading p { color:var(--muted); margin:0; }
.chapter-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.chapter-card { display:grid; grid-template-columns:41% 59%; min-height:260px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:transform .18s, box-shadow .18s; }
.chapter-card:hover { transform:translateY(-3px); box-shadow:5px 7px 0 #c8e0e3; }
.chapter-card-body { padding:23px 26px; position:relative; display:flex; flex-direction:column; align-items:flex-start; }
.chapter-card h3 { font-size:1.55rem; margin:13px 0 10px; }
.chapter-card p { font-size:.9rem; line-height:1.45; margin:0 0 14px; }
.chapter-time { color:var(--muted); margin-top:auto; font-size:.72rem; font-weight:700; padding-right:24px; }
.card-arrow { position:absolute; right:20px; bottom:19px; font-size:1.5rem; }
.chapter-art { min-height:230px; background:var(--sage); position:relative; overflow:hidden; display:grid; place-items:center; border-right:1px solid var(--line); }
.art-1 { background:#eaf5f7; }.art-2 { background:#fff4e5; }.art-3 { background:#e1f2ef; }.art-4 { background:#dceef1; }.art-5 { background:#fff2ed; }.art-6 { background:#e5f0f2; }.art-7 { background:#f4f7e8; }.art-8 { background:#e4f4ef; }
.art-orbit { position:absolute; border:1px solid var(--forest); border-radius:50%; aspect-ratio:1; }
.orbit-one { width:80%; }.orbit-two { width:56%; }
.art-path { position:absolute; width:130%; height:34%; border-top:2px solid var(--forest); border-radius:50%; transform:rotate(-32deg); top:49%; }
.art-symbol { position:relative; z-index:1; font:normal clamp(5rem,10vw,10rem) Georgia,serif; color:var(--forest); line-height:1; text-shadow:4px 4px 0 white; }
.art-index { position:absolute; bottom:10px; left:17px; font-family:Georgia,serif; font-size:3.3rem; line-height:1; opacity:.32; }
.tools-band { background:var(--sage); }
.tools-grid { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:center; }
.tools-grid h2 { margin:16px 0 24px; }
.tools-grid p { max-width:435px; font-size:1.15rem; }
.tool-links a { display:flex; align-items:center; gap:20px; font:700 clamp(1.2rem,2vw,2rem) Georgia,serif; letter-spacing:-.035em; border-top:1px solid var(--ink); padding:18px 4px; }
.tool-links a:last-child { border-bottom:1px solid var(--ink); }
.tool-links a:hover { color:var(--forest); }
.tool-links a span { font:800 .72rem Arial,sans-serif; letter-spacing:.08em; }
.tool-links a b { margin-left:auto; font:normal 1.4rem Arial,sans-serif; }
.tool-link-paused { display:flex; align-items:center; gap:20px; border-top:1px solid var(--ink); padding:18px 4px; color:var(--muted); font:700 clamp(1.2rem,2vw,2rem) Georgia,serif; letter-spacing:-.035em; }
.tool-link-paused:last-child { border-bottom:1px solid var(--ink); }
.tool-link-paused > span { font:800 .72rem Arial,sans-serif; letter-spacing:.08em; }
.tool-link-paused small { font:700 .68rem Arial,sans-serif; margin-left:auto; text-transform:uppercase; letter-spacing:.05em; }
.about-preview { background:var(--paper-light); }
.about-preview-grid { display:grid; grid-template-columns:1fr .78fr; gap:10vw; align-items:center; }
.about-preview h2 { max-width:675px; margin:15px 0 24px; }
.about-preview p { max-width:590px; font-size:1.08rem; }
.contact-card { background:var(--cream); border:1px solid var(--line); border-radius:var(--radius); padding:30px; display:grid; grid-template-columns:115px minmax(0,1fr); gap:20px; align-items:start; }
.contact-photo { width:115px; height:115px; object-fit:cover; object-position:52% 26%; border-radius:50%; }
.contact-card h3 { font-size:clamp(1.35rem,2vw,1.7rem); margin:14px 0 25px; overflow-wrap:break-word; }
.contact-card strong { display:block; font-size:1.1rem; }
.contact-card p { font-size:.91rem; line-height:1.52; margin:8px 0; }
.contact-card a { display:inline-block; margin-top:18px; font-weight:800; border-bottom:1px solid currentColor; color:var(--forest); }
.development-notice { max-width:760px; background:var(--cream); border:1px solid var(--line); border-radius:var(--radius); padding:38px; }
.development-notice h2 { font-size:clamp(2rem,4vw,3rem); margin:15px 0; }
.development-notice p { font-size:1.08rem; max-width:620px; }
.development-notice .button { margin-top:14px; }

/* Interior pages */
.inner-page { padding-block:78px 120px; min-height:70vh; }
.page-heading { max-width:900px; margin-bottom:64px; }
.page-heading .eyebrow { margin-bottom:18px; }
.page-heading h1 { font-size:clamp(2.5rem,4vw,4rem); margin-bottom:20px; }
.page-heading p { font-size:1.12rem; max-width:760px; }
.inner-page .chapter-group { margin-top:62px; }
.stage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.stage-card { background:var(--paper-light); border:1px solid var(--line); border-radius:var(--radius); padding:30px; min-height:230px; }
.stage-card h2 { font-size:2rem; margin:24px 0 16px; }
.section-small { padding-top:100px; }
.school-chapter-list { border-top:1px solid var(--ink); }
.school-chapter-list a { display:grid; grid-template-columns:138px 1fr auto; align-items:center; gap:24px; padding:15px 4px; border-bottom:1px solid var(--line); }
.school-chapter-list a:hover { background:var(--sage); }
.school-chapter-list .chapter-art { min-height:105px; width:138px; border-radius:7px; border:0; }
.school-chapter-list .art-symbol { font-size:3.7rem; }.school-chapter-list .art-index { font-size:1.3rem; }
.school-chapter-list h3 { margin:6px 0; font-size:1.36rem; }.school-chapter-list p { margin:0; font-size:.91rem; max-width:900px; }
.school-chapter-list a > span:last-child { font-size:1.6rem; }
.next-cta { display:flex; justify-content:space-between; align-items:center; gap:20px; background:var(--sage); padding:38px; margin-top:80px; border-radius:var(--radius); }
.next-cta h2 { font-size:2.4rem; margin-top:10px; }
.glossary-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.glossary-grid > div { background:var(--paper-light); padding:26px; border:1px solid var(--line); border-radius:var(--radius); }
.glossary-grid dt { font:700 1.7rem Georgia,serif; letter-spacing:-.04em; margin-bottom:12px; }
.glossary-grid dd { margin:0 0 15px; }.glossary-grid small { color:var(--forest); font-weight:800; }
.about-columns { display:grid; grid-template-columns:1.2fr .75fr; gap:10vw; align-items:start; }
.about-columns section { padding-block:28px 52px; border-top:1px solid var(--line); }
.about-columns h2 { font-size:2.7rem; margin:12px 0 22px; }
.about-columns p { font-size:1.07rem; }

/* Chapter */
.chapter-hero { background:var(--sage); border-bottom:1px solid var(--line); }
.chapter-hero-grid { display:grid; grid-template-columns:1.15fr .75fr; gap:7vw; align-items:stretch; min-height:470px; }
.chapter-hero-grid > div:first-child { padding:46px 0 62px; display:flex; flex-direction:column; align-items:flex-start; }
.back-link { font-weight:700; font-size:.85rem; margin-bottom:58px; }
.back-link:hover { text-decoration:underline; }
.chapter-hero h1 { font-size:clamp(2.5rem,4vw,4.25rem); max-width:750px; margin:16px 0 26px; }
.chapter-hero p { font-size:1.18rem; max-width:640px; }
.chapter-meta { display:flex; gap:10px; flex-wrap:wrap; margin-top:auto; }
.chapter-meta span { border:1px solid var(--ink); border-radius:30px; padding:6px 12px; font-size:.76rem; font-weight:700; }
.chapter-hero .chapter-art { min-height:100%; border-left:1px solid var(--line); }
.chapter-layout { display:grid; grid-template-columns:250px minmax(0,760px); gap:7vw; align-items:start; padding-block:65px 120px; }
.chapter-sidebar { position:sticky; top:20px; }
.chapter-sidebar nav { display:flex; flex-direction:column; border-top:2px solid var(--ink); padding-top:18px; }
.chapter-sidebar nav strong { font:700 1.4rem Georgia,serif; margin-bottom:15px; }
.chapter-sidebar nav a { border-top:1px solid var(--line); padding:9px 2px; font-size:.83rem; }
.chapter-sidebar nav a:hover { color:var(--forest); text-decoration:underline; }
.chapter-sidebar p { font-size:.72rem; color:var(--muted); margin-top:26px; }
.chapter-content { min-width:0; }
.opening-scene { border-left:5px solid var(--clay); background:var(--cream); padding:27px 34px; margin-bottom:57px; }
.opening-scene p { font:italic 1.55rem/1.48 Georgia,serif; margin:14px 0 0; }
.chapter-block { padding:0 0 60px; margin:0 0 55px; border-bottom:1px solid var(--line); scroll-margin-top:30px; }
.chapter-block h2 { font-size:clamp(1.9rem,2.8vw,2.6rem); margin:15px 0 22px; }
.chapter-block p,.chapter-content > section > p { font-size:1.07rem; line-height:1.72; }
.chapter-block p a { text-decoration:underline; }
.check-list { padding-left:0; list-style:none; }
.check-list li { position:relative; padding:8px 0 8px 30px; font-size:1.1rem; }
.check-list li:before { content:'✓'; position:absolute; left:0; color:var(--forest); font-weight:800; }
.core-toggle { display:flex; justify-content:space-between; align-items:center; gap:20px; background:var(--sage); padding:18px 20px; border-radius:9px; margin-bottom:55px; }
.core-toggle strong,.core-toggle small { display:block; }.core-toggle small { color:var(--muted); margin-top:3px; }
.prose-block + .prose-block { margin-top:46px; }
.activity-box { background:var(--cream); border:1px solid var(--line); border-radius:var(--radius); padding:34px; margin-bottom:64px; scroll-margin-top:30px; }
.activity-box h2 { font-size:clamp(1.9rem,2.8vw,2.5rem); margin:14px 0; }.activity-box > p { max-width:600px; }
.activity-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:28px; }
.field-stack { display:flex; flex-direction:column; gap:8px; }
.field-stack label { font-weight:800; font-size:.84rem; }
.field-stack input,.field-stack select,.field-stack textarea { width:100%; min-height:45px; border:1px solid #9fa89b; border-radius:6px; padding:10px 12px; background:var(--paper-light); color:var(--ink); outline-color:var(--forest); }
.field-stack textarea { resize:vertical; line-height:1.5; }
.field-stack small { color:var(--muted); }
.activity-actions,.export-bar { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.activity-reason { margin-top:22px; }
.feedback { margin-top:23px; padding:18px 22px; background:var(--paper-light); border-left:4px solid var(--forest); }
.feedback p { margin:7px 0 0; }
.deep-dive { background:var(--cream); padding:33px; border:0; border-radius:var(--radius); }
.practice-box { border:1px solid var(--line); padding:32px; background:var(--paper-light); border-radius:var(--radius); }
.school-support { display:grid; gap:16px; }.school-support > div { border-top:1px solid var(--line); padding-top:20px; }.school-support h3 { font-size:1.45rem; margin-bottom:10px; }
.question-list li { margin-bottom:13px; font-size:1.1rem; }
.compass-box { background:var(--sage); border-radius:var(--radius); padding:36px; margin-bottom:64px; }
.compass-box h2 { font-size:2.35rem; margin:17px 0 26px; }
.compass-box .text-link { margin-top:20px; }
.source-list { list-style:none; padding:0; }
.source-list li { border-top:1px solid var(--line); padding:12px 0; }
.source-list a { text-decoration:underline; text-underline-offset:3px; }
.source-list small { display:block; color:var(--muted); margin-top:2px; }
.source-note { color:var(--muted); font-size:.84rem!important; }
.chapter-end { display:flex; flex-wrap:wrap; gap:10px; }

/* Tools */
.compass-status { display:flex; justify-content:space-between; gap:20px; background:var(--sage); border-radius:9px; padding:18px 22px; margin-bottom:18px; }
.compass-list article { display:grid; grid-template-columns:1fr 1fr; gap:38px; border-bottom:1px solid var(--line); padding:30px 0; }
.compass-list article h2 { font-size:1.7rem; margin:10px 0 15px; }.compass-list article a { text-decoration:underline; font-size:.83rem; }
.filter-bar { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:14px; padding:22px; background:var(--sage); border-radius:var(--radius); }
.results-count { color:var(--muted); font-size:.83rem; font-weight:800; margin:26px 0 14px; }
.method-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.method-grid article { background:var(--paper-light); border:1px solid var(--line); padding:27px; border-radius:var(--radius); display:flex; flex-direction:column; }
.method-grid h2 { font-size:2rem; margin:12px 0 17px; }.method-grid p { font-size:.94rem; }
.method-adaptation { background:var(--cream); padding:15px; margin:12px 0 20px; }.method-adaptation p { margin:6px 0 0; }.method-adaptation ul { margin:10px 0 0; padding-left:1.25em; }
.method-grid .text-link { margin-top:auto; align-self:flex-start; }
.workshop-layout { display:grid; grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr); gap:18px; align-items:start; }
.workshop-form,.lesson-output { border:1px solid var(--line); background:var(--paper-light); border-radius:var(--radius); padding:30px; }
.workshop-form { display:flex; flex-direction:column; gap:19px; }
.workshop-form h2 { font-size:2rem; margin-bottom:5px; }.workshop-form .button { align-self:start; }
.microcopy { font-size:.76rem; color:var(--muted); margin:0; }
.lesson-output { min-height:565px; display:flex; flex-direction:column; gap:22px; }
.output-top { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding-bottom:15px; }.output-top > span:last-child { font-size:.75rem; color:var(--forest); }
.empty-output { margin:auto; text-align:center; max-width:330px; }.empty-output > span { font:normal 5rem Georgia,serif; color:#739071; }.empty-output h2 { font-size:2.2rem; margin:12px 0; }.empty-output p { color:var(--muted); }
.plan-intro { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:20px 0; border-block:1px solid var(--line); }.plan-intro p { max-width:660px; margin:0; }
.plan-empty { text-align:center; padding:100px 20px; }.plan-empty span { font:normal 4rem Georgia,serif; color:var(--forest); }.plan-empty h2 { font-size:2.2rem; margin:10px 0; }
.plan-list { display:grid; gap:18px; margin-top:25px; }.plan-row { background:var(--paper-light); border:1px solid var(--line); padding:28px; border-radius:var(--radius); }
.plan-row-top { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:22px; }.plan-row-top h2 { font-size:2rem; }
.text-button { border:0; background:none; text-decoration:underline; text-underline-offset:3px; font-size:.85rem; }
.plan-fields { display:grid; grid-template-columns:repeat(2,1fr); gap:17px; }

@media (max-width:1100px) { .desktop-nav { gap:13px; }.desktop-nav a { font-size:.78rem; }.hero-grid { gap:4vw; }.chapter-card { grid-template-columns:36% 64%; }.chapter-card h3 { font-size:1.34rem; } }
@media (max-width:860px) { .container,.header-inner { width:min(100% - 36px,1376px); }.desktop-nav { display:none; }.mobile-nav { display:block; position:relative; }.mobile-nav summary { list-style:none; cursor:pointer; border:1px solid var(--ink); padding:8px 13px; border-radius:6px; font-weight:800; }.mobile-nav summary::-webkit-details-marker { display:none; }.mobile-nav nav { position:absolute; right:0; top:45px; width:230px; padding:12px; background:var(--paper-light); border:1px solid var(--line); box-shadow:4px 6px 0 #cdd8c9; display:flex; flex-direction:column; z-index:50; }.mobile-nav nav a { padding:11px 8px; border-bottom:1px solid var(--line); }.hero-grid { grid-template-columns:1fr; padding-block:60px 100px; }.hero-visual { max-width:440px; justify-self:center; margin-top:25px; }.visual-caption { bottom:-52px; }.theme-grid,.school-grid,.stage-grid { grid-template-columns:repeat(2,1fr); }.chapter-grid { grid-template-columns:1fr; }.chapter-card { grid-template-columns:36% 64%; }.chapter-layout { grid-template-columns:1fr; gap:30px; }.chapter-sidebar { position:static; }.chapter-sidebar nav { display:grid; grid-template-columns:repeat(3,1fr); gap:0 14px; }.chapter-sidebar nav strong { grid-column:1/-1; }.chapter-sidebar p { display:none; }.chapter-hero-grid { gap:0; }.about-preview-grid,.about-columns { gap:5vw; }.footer-grid { gap:30px; } }
@media (max-width:640px) { .container,.header-inner { width:min(100% - 32px,1376px); }.header-inner { min-height:68px; }.brand { font-size:1.18rem; }.brand-mark { font-size:2rem; }.brand small { font-size:.52rem; }.home-hero { overflow:hidden; }.hero-grid { padding-block:48px 82px; }.partner-link { margin-bottom:28px; }.hero-copy h1 { font-size:clamp(2.5rem,9vw,3.5rem); }.hero-copy p { font-size:1rem; }.hero-copy .hero-lead { font-size:1.25rem; }.hero-actions { flex-direction:column; align-items:stretch; }.hero-facts { flex-wrap:wrap; gap:9px 16px; }.hero-facts li+li:before { margin-right:16px; }.hero-visual { width:78%; max-width:300px; margin-block:25px 28px; }.visual-center { font-size:6rem; }.visual-caption { font-size:.83rem; width:170px; bottom:-54px; }.hero-visual span:not(.visual-center):not(.visual-caption) { font-size:.43rem; padding:4px; }.section { padding-block:70px; }.section-heading { display:block; }.section-heading > p { margin-top:20px; font-size:1rem; }.theme-grid,.school-grid,.stage-grid,.glossary-grid,.method-grid { grid-template-columns:1fr; }.theme-card { min-height:205px; }.school-card { min-height:195px; }.chapter-group { margin-top:42px; }.group-heading { display:block; }.group-heading h2,.group-heading h3 { white-space:normal; }.group-heading p { margin-top:7px; }.chapter-card { grid-template-columns:1fr; }.chapter-art { min-height:190px; border-right:0; border-bottom:1px solid var(--line); }.chapter-card-body { min-height:220px; }.tools-grid,.about-preview-grid,.about-columns,.footer-grid { grid-template-columns:1fr; gap:38px; }.contact-card { padding:28px; }.contact-card h3 { font-size:1.9rem; }.inner-page { padding-block:56px 85px; }.page-heading { margin-bottom:42px; }.page-heading h1 { font-size:clamp(2.35rem,8vw,3.1rem); }.page-heading p { font-size:1.05rem; }.school-chapter-list a { grid-template-columns:80px 1fr; gap:12px; }.school-chapter-list .chapter-art { width:80px; min-height:100px; }.school-chapter-list a > span:last-child { display:none; }.school-chapter-list h3 { font-size:1.15rem; }.school-chapter-list p { font-size:.8rem; }.section-small { padding-top:65px; }.next-cta { display:block; padding:26px; }.next-cta .button { margin-top:25px; }.chapter-hero-grid { grid-template-columns:1fr; }.chapter-hero-grid > div:first-child { padding:30px 0 40px; }.back-link { margin-bottom:38px; }.chapter-hero h1 { font-size:clamp(2.4rem,8vw,3rem); }.chapter-hero .chapter-art { display:none; }.chapter-layout { padding-block:40px 75px; }.chapter-sidebar nav { grid-template-columns:repeat(2,1fr); }.opening-scene { padding:22px; }.opening-scene p { font-size:1.25rem; }.chapter-block h2 { font-size:2.2rem; }.activity-box,.compass-box { padding:23px; }.activity-box h2 { font-size:2.2rem; }.activity-grid,.compass-list article,.filter-bar,.workshop-layout,.plan-fields { grid-template-columns:1fr; }.core-toggle { align-items:start; flex-direction:column; }.workshop-form,.lesson-output { padding:23px; }.compass-status,.plan-intro { flex-direction:column; align-items:start; }.site-footer { padding-top:55px; }.footer-bottom { margin-top:42px; } }
.mobile-nav summary { border-color:white!important; }
.mobile-nav nav { color:var(--ink); }
@media (max-width:700px) { .contact-card { grid-template-columns:1fr; gap:20px; }.contact-photo { width:120px; height:120px; }.tool-link-paused { flex-wrap:wrap; }.tool-link-paused small { width:100%; margin-left:0; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button,.chapter-card,.school-card { transition:none; } }
@media print { .site-header,.site-footer,.chapter-sidebar,.hero-actions,.button,.filter-bar,.activity-actions,.export-bar,.plan-intro,.skip-link { display:none!important; } body { background:white; color:black; } .container { width:100%; } .inner-page,.chapter-layout { padding:0; } .chapter-layout,.workshop-layout,.compass-list article { display:block; } .lesson-output,.plan-row,.compass-list article { border:0; break-inside:avoid; } textarea,input { border:0!important; background:white!important; } }

/* Framtidskunskaps editorial reading system */
:root { --reading:#fcfbf6; --display:Arial,Helvetica,sans-serif; }
body { background:var(--reading); }
h1,h2,h3 { font-family:var(--display); font-weight:800; letter-spacing:-.055em; }
.container { width:min(100% - 64px,1280px); }
.site-header { background:var(--reading); color:var(--ink); border-bottom:1px solid var(--line); }
.header-inner { width:min(100% - 64px,1280px); min-height:72px; }
.brand { display:block; font-family:var(--display); font-size:1.35rem; font-weight:900; letter-spacing:-.055em; }
.brand small { display:block; font-size:.67rem; font-weight:500; letter-spacing:0; text-transform:none; margin-top:5px; }
.desktop-nav a:hover { border-bottom-color:var(--forest); color:var(--forest); }
.eyebrow { color:var(--forest); }
.section { padding-block:72px; }
.section-heading { align-items:end; border-bottom:1px solid var(--ink); padding-bottom:24px; }
.section-heading h2 { font-size:clamp(2rem,3vw,3.15rem); }

.editorial-hero { background:var(--forest); color:white; border-bottom:2px solid var(--ink); }
.editorial-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); align-items:center; gap:5vw; padding-block:68px 62px; }
.editorial-hero-copy { max-width:830px; }
.hero-partner { display:inline-block; font-size:.78rem; font-weight:700; border-bottom:1px solid currentColor; margin-bottom:24px; }
.editorial-hero .eyebrow { color:#d7ecef; display:block; margin-bottom:14px; }
.editorial-hero h1 { font-size:clamp(3rem,4.2vw,4.5rem); line-height:1.03; margin-bottom:24px; overflow-wrap:break-word; }
.editorial-hero p { max-width:760px; font-size:1.06rem; line-height:1.55; }
.editorial-hero .editorial-lead { font-size:clamp(1.15rem,1.5vw,1.4rem); line-height:1.45; font-weight:600; }
.editorial-hero .hero-actions { margin-top:32px; }
.hero-ebook-link { display:inline-block; margin-top:18px; border-bottom:1px solid currentColor; font-weight:700; }
.hero-ebook-link:hover { color:#e4f2e6; }
.editorial-hero .button-dark,.reader-hero .button-dark { background:var(--ink); border-color:var(--ink); }
.editorial-hero .button-outline,.reader-hero .button-outline { border-color:white; color:white; }
.editorial-hero .button-outline:hover,.reader-hero .button-outline:hover { background:#245e62; }
.editorial-hero .hero-facts { margin-top:27px; flex-wrap:wrap; gap:8px; }
.editorial-hero .hero-facts li { border:1px solid rgba(255,255,255,.72); border-radius:50px; padding:7px 12px; letter-spacing:0; font-size:.72rem; text-transform:none; }
.editorial-hero .hero-facts li+li:before { display:none; }
.hero-chapter-nav { padding-bottom:16px; }
.hero-chapter-nav a { border-top:1px solid white; display:flex; justify-content:space-between; align-items:center; gap:15px; padding:10px 4px 12px; }
.hero-chapter-nav a:last-child { border-bottom:1px solid white; }
.hero-chapter-nav a:hover { background:rgba(255,255,255,.1); }
.hero-chapter-nav strong { font:900 clamp(1.65rem,2.3vw,2.45rem)/1.12 var(--display); letter-spacing:-.045em; }
.hero-chapter-nav span { white-space:nowrap; font-size:.78rem; font-weight:700; }
.hero-audience-nav strong { font-size:clamp(1.35rem,1.85vw,1.95rem); letter-spacing:-.035em; }
.hero-audience-nav span { font-size:1.25rem; }
.hero-chapter-nav a:focus-visible,.hero-ebook-link:focus-visible { outline:3px solid white; outline-offset:4px; }
.chapter-guides { background:var(--reading); border-bottom:1px solid var(--line); }
.guide-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.guide-grid > div { padding:19px 20px 21px; border-right:1px solid var(--line); }
.guide-grid > div:first-child { border-left:1px solid var(--line); }
.guide-grid h2 { font-size:1.16rem; margin-bottom:7px; }
.guide-grid p { color:var(--muted); margin:0; font-size:.95rem; line-height:1.45; }

.catalog-section { background:var(--reading); padding-block:64px 85px; }
.catalog-page-hero { background:var(--forest); color:white; padding-block:70px 65px; }
.catalog-page-hero .eyebrow { color:#d7ecef; }
.catalog-page-hero h1 { font-size:clamp(2.8rem,4.5vw,4.8rem); line-height:1.05; max-width:1000px; margin:17px 0 24px; }
.catalog-page-hero p { font-size:1.3rem; max-width:730px; }
.catalog-page-hero .button-outline { border-color:white; color:white; margin-top:18px; }
.catalog-page-hero .button-outline:hover { background:#245e62; }
.catalog-ebook-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.9fr); align-items:center; gap:5vw; }
.catalog-ebook-hero-grid h1 { font-size:clamp(2.6rem,4vw,4.2rem); overflow-wrap:break-word; }
.catalog-intro { max-width:860px; margin-bottom:35px; }
.catalog-intro h2 { font-size:clamp(2.3rem,3.3vw,3.5rem); margin:13px 0 16px; }
.catalog-intro p { font-size:1.12rem; color:var(--muted); }
.catalog-group { scroll-margin-top:24px; margin-top:52px; }
.catalog-group-heading { display:flex; gap:25px; align-items:baseline; border-bottom:2px solid var(--ink); padding-bottom:12px; margin-bottom:22px; }
.catalog-group-heading h2 { font-size:clamp(2.2rem,3vw,3rem); white-space:nowrap; }
.catalog-group-heading p { font-size:1.04rem; margin:0; color:var(--muted); }
.catalog-chapters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.catalog-chapters .chapter-card { display:flex; flex-direction:column; min-height:0; border:2px solid var(--ink); border-radius:18px; background:white; box-shadow:none; }
.catalog-chapters .chapter-card:hover { transform:translateY(-4px); box-shadow:6px 7px 0 var(--forest); }
.catalog-chapters .chapter-art { min-height:190px; height:190px; border-right:0; border-bottom:2px solid var(--ink); }
.catalog-chapters .chapter-card-body { min-height:190px; padding:18px 21px 22px; }
.catalog-chapters .chapter-card h3 { font-size:clamp(1.35rem,1.6vw,1.7rem); margin:9px 0; }
.catalog-chapters .chapter-card p { font-size:1.01rem; }
.catalog-chapters .chapter-time { font-size:.78rem; }
.catalog-group-2 .chapter-card { display:grid; grid-template-columns:38% 62%; min-height:230px; }
.catalog-group-2 .chapter-art { min-height:230px; height:100%; border-bottom:0; border-right:2px solid var(--ink); }
.catalog-group-2 .chapter-card-body { min-height:230px; }
.catalog-group-2 .art-symbol { font-size:7rem; }
.catalog-group-3 .chapter-art { background:var(--cream); }
.catalog-group-4 .chapter-art { background:var(--sage); }
.chapter-art { background-image:radial-gradient(circle at 15% 15%,rgba(255,255,255,.6),transparent 40%),linear-gradient(140deg,transparent 55%,rgba(50,111,115,.09)); }
.art-symbol { font-family:var(--display); font-weight:800; }
.school-band { background:var(--sage); }
.school-card,.theme-card { border-radius:16px; }
.theme-card h3 { font-size:1.8rem; }
.about-preview { background:var(--reading); border-top:1px solid var(--line); }
.contact-card { background:var(--cream); }

/* Split chapter hero and article rhythm */
.reader-page { background:var(--reading); }
.reader-hero { display:grid; grid-template-columns:55% 45%; min-height:500px; }
.reader-hero-copy { background:var(--forest); color:white; padding:56px 56px 56px max(32px,calc((100vw - 1280px)/2)); display:flex; align-items:center; }
.reader-hero-inner { max-width:770px; }
.reader-chapter-label { display:flex; align-items:center; gap:12px; font-size:.95rem; font-weight:800; }
.reader-chapter-label span { display:inline-grid; place-items:center; width:35px; height:35px; background:var(--ink); color:white; border-radius:5px; }
.reader-chapter-label b { font-weight:400; }
.reader-hero h1 { font-size:clamp(2.9rem,4vw,4.35rem); line-height:1.04; margin:27px 0 25px; overflow-wrap:break-word; }
.reader-question { font-size:clamp(1.3rem,1.7vw,1.8rem); font-weight:700; line-height:1.3; margin-bottom:25px; }
.reader-times { display:flex; gap:10px; flex-wrap:wrap; }
.reader-times span { border:1px solid white; border-radius:50px; padding:8px 15px; font-size:.82rem; font-weight:700; }
.reader-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.reader-hero-art { position:relative; min-width:0; background:var(--cream); overflow:hidden; }
.reader-hero-art .chapter-art { width:100%; height:100%; min-height:500px; border:0; }
.reader-hero-art .art-symbol { font-size:clamp(8rem,13vw,16rem); }
.reader-hero-art .art-index { font-size:5rem; }
.reader-art-caption { position:absolute; right:22px; bottom:20px; background:rgba(17,24,32,.9); color:white; padding:9px 12px; max-width:250px; font-size:.76rem; line-height:1.3; }
.reader-layout { display:grid; grid-template-columns:220px minmax(0,780px); gap:clamp(35px,5vw,90px); align-items:start; padding-block:65px 100px; }
.reader-sidebar { position:sticky; top:22px; font-size:.93rem; }
.reader-sidebar nav { display:flex; flex-direction:column; }
.reader-sidebar nav > strong { font-size:.76rem; letter-spacing:.08em; margin-bottom:18px; }
.reader-sidebar nav > a { display:flex; gap:12px; align-items:center; padding:8px 0; line-height:1.3; }
.reader-sidebar nav > a:hover,.reader-side-more a:hover { color:var(--forest); text-decoration:underline; }
.reader-sidebar nav > a span { flex:none; display:grid; place-items:center; border-radius:50%; width:30px; height:30px; background:#e8ece9; font-size:.75rem; font-weight:700; }
.reader-side-more { display:flex; flex-direction:column; gap:13px; border-top:1px solid var(--line); margin-top:18px; padding-top:20px; }
.reader-sidebar p { border-top:1px solid var(--line); padding-top:18px; color:var(--muted); margin-top:22px; font-size:.76rem; }
.reader-content { min-width:0; }
.reader-opening,.reader-section { scroll-margin-top:25px; }
.reader-opening { padding-bottom:54px; border-bottom:1px solid var(--line); }
.reader-opening h2 { font-size:clamp(1.8rem,2.5vw,2.4rem); line-height:1.28; letter-spacing:-.035em; margin-bottom:29px; }
.reader-content p { font:normal clamp(1.05rem,1.2vw,1.22rem)/1.68 Georgia,serif; }
.reader-note { background:var(--sage); border:1px solid var(--line); border-radius:14px; padding:22px 28px; margin-top:38px; }
.reader-note strong { font-size:1.05rem; }
.reader-note p { font:normal 1rem/1.5 var(--display); margin:8px 0 0; }
.reader-section { padding:54px 0; border-bottom:1px solid var(--line); }
.reader-section h2 { font-size:clamp(2.1rem,3vw,3.15rem); line-height:1.1; margin:17px 0 27px; }
.reader-prose-part { margin-top:55px; }
.reader-part-number { font-weight:800; color:var(--forest); }
.reader-prose-part h3 { font-size:clamp(1.6rem,2.2vw,2.25rem); margin:10px 0 22px; }
.reader-takeaway { border:2px solid var(--ink); border-radius:18px; padding:33px 38px; margin:35px 0; background:var(--cream); }
.reader-takeaway h2 { font-size:clamp(1.8rem,3vw,2.8rem); margin:17px 0; }
.reader-takeaway li { margin:8px 0; }
.reader-prompts { counter-reset:question; list-style:none; padding:0; margin:24px 0; }
.reader-prompts li { counter-increment:question; border:1px solid var(--line); border-radius:12px; margin:9px 0; padding:15px 17px; font-weight:700; }
.reader-prompts li::before { content:counter(question,upper-alpha); display:inline-grid; place-items:center; width:32px; height:32px; margin-right:14px; border-radius:50%; background:var(--sage); color:var(--forest); }
.reader-practice { background:var(--sage); padding-inline:30px; border-radius:16px; }
.reader-practice a,.reader-section p a { text-decoration:underline; }
.reader-section .source-list { font-family:var(--display); }
.reader-section .source-note { font:normal .9rem/1.5 var(--display); color:var(--muted); }
.reader-content .chapter-end { display:flex; gap:14px; flex-wrap:wrap; padding-top:38px; }

/* About page holds the supplied logo and the compass motif */
.about-hero { background:var(--sage); border-bottom:1px solid var(--line); }
.about-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.8fr); gap:clamp(30px,5vw,90px); align-items:center; padding-block:58px; }
.about-hero h1 { font-size:clamp(2.5rem,3.7vw,3.8rem); margin:18px 0 24px; overflow-wrap:break-word; }
.about-hero p { font-size:clamp(1.1rem,1.4vw,1.35rem); max-width:700px; }
.about-logo-panel { display:flex; flex-direction:column; align-items:center; justify-content:center; background:white; border:1px solid var(--line); border-radius:20px; padding:28px 16px 48px; overflow:hidden; }
.about-logo-symbol { width:240px; height:220px; overflow:hidden; position:relative; flex:none; }
.about-logo-symbol img { position:absolute; width:560px; height:560px; max-width:none; left:-160px; top:-115px; }
.about-logo-wordmark { display:block; color:var(--navy); font:700 clamp(2rem,3vw,3.4rem)/1.08 Arial,Helvetica,sans-serif; letter-spacing:-.045em; text-align:center; overflow-wrap:anywhere; }
.about-compass-section { background:var(--reading); }
.about-compass-grid { display:grid; grid-template-columns:1fr .85fr; gap:8vw; align-items:center; }
.about-compass-grid h2 { margin:18px 0 25px; }
.about-compass-grid p { max-width:640px; font-size:1.13rem; }
.about-compass-grid .hero-visual { margin:20px auto 80px; }
.about-directions { list-style:none; padding:0; margin-top:32px; }
.about-directions li { display:grid; grid-template-columns:140px 1fr; gap:18px; border-top:1px solid var(--line); padding:13px 0; }
.about-directions strong { color:var(--forest); }
.about-purpose { background:var(--sage); }
.about-purpose-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.about-purpose-grid article { border:1px solid var(--line); background:white; border-radius:16px; padding:28px; min-height:245px; }
.about-purpose-grid article > span { color:var(--forest); font-weight:800; }
.about-purpose-grid h3 { font-size:1.65rem; margin:27px 0 13px; }
.about-contact { background:var(--reading); }
.about-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:start; }
.about-contact-grid h2 { margin:18px 0; }
.inner-page .page-heading h1 { font-family:var(--display); font-weight:900; }
.stage-card { border:2px solid var(--ink); background:var(--sage); }
.school-chapter-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; border:0; }
.school-chapter-list a { display:grid; grid-template-columns:125px 1fr; gap:16px; border:2px solid var(--ink); background:white; border-radius:15px; padding:0; overflow:hidden; align-items:stretch; }
.school-chapter-list a:hover { background:white; box-shadow:5px 6px 0 var(--forest); }
.school-chapter-list .chapter-art { width:125px; height:100%; min-height:178px; border-radius:0; border-right:2px solid var(--ink); }
.school-chapter-list a > div:nth-child(2) { padding:18px 16px 18px 0; }
.school-chapter-list a > span:last-child { display:none; }

@media (max-width:1100px) {
  .editorial-hero-grid { gap:5vw; }
  .reader-hero-copy { padding-inline:40px; }
  .reader-layout { grid-template-columns:210px minmax(0,1fr); gap:45px; }
}
@media (max-width:860px) {
  .container,.header-inner { width:min(100% - 36px,1280px); }
  .mobile-nav summary { border-color:var(--ink); }
  .editorial-hero-grid { grid-template-columns:1fr; min-height:0; padding-block:52px; gap:34px; }
  .hero-chapter-nav { max-width:720px; width:100%; }
  .catalog-ebook-hero-grid { grid-template-columns:1fr; }
  .guide-grid { grid-template-columns:repeat(2,1fr); }
  .guide-grid > div:nth-child(3) { border-left:1px solid var(--line); }
  .catalog-group-2 .chapter-card { display:flex; flex-direction:column; }
  .catalog-group-2 .chapter-art { height:190px; min-height:190px; border-right:0; border-bottom:2px solid var(--ink); }
  .reader-hero { grid-template-columns:1fr; }
  .reader-hero-copy { min-height:0; }
  .reader-hero-art .chapter-art { min-height:240px; height:240px; }
  .reader-layout { grid-template-columns:1fr; }
  .reader-sidebar { position:static; }
  .reader-sidebar nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 18px; }
  .reader-sidebar nav > strong,.reader-side-more { grid-column:1/-1; }
  .reader-side-more { flex-direction:row; flex-wrap:wrap; }
  .about-hero-grid,.about-compass-grid,.about-contact-grid { grid-template-columns:1fr; }
  .about-logo-panel { max-width:460px; }
  .about-purpose-grid { grid-template-columns:1fr; }
  .school-chapter-list { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .container,.header-inner { width:min(100% - 32px,1280px); }
  .brand { font-size:1.18rem; }
  .brand small { font-size:.58rem; }
  .editorial-hero-grid { padding-block:40px 48px; }
  .editorial-hero h1 { font-size:clamp(2rem,8vw,3rem); letter-spacing:-.055em; }
  .hero-chapter-nav strong { font-size:clamp(1.55rem,6vw,2rem); }
  .hero-audience-nav strong { font-size:clamp(1.2rem,5vw,1.5rem); }
  .guide-grid { grid-template-columns:1fr; }
  .guide-grid > div { border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
  .catalog-section { padding-block:58px 80px; }
  .catalog-group { margin-top:55px; }
  .catalog-group-heading { display:block; }
  .catalog-group-heading h2 { white-space:normal; }
  .catalog-group-heading p { margin-top:8px; }
  .catalog-chapters { grid-template-columns:1fr; }
  .catalog-chapters .chapter-card,.catalog-group-2 .chapter-card { min-height:0; }
  .catalog-chapters .chapter-art,.catalog-group-2 .chapter-art { min-height:165px; height:165px; }
  .catalog-chapters .chapter-card-body { min-height:0; }
  .reader-hero-copy { min-height:0; padding:38px 22px; }
  .reader-hero h1 { font-size:clamp(2.45rem,9vw,3.1rem); }
  .reader-question { font-size:1.28rem; }
  .reader-hero-art .chapter-art { min-height:190px; height:190px; }
  .reader-art-caption { font-size:.65rem; }
  .reader-layout { padding-block:45px 85px; }
  .reader-sidebar nav { grid-template-columns:1fr; }
  .reader-opening h2 { font-size:2rem; }
  .reader-content p { font-size:1.1rem; }
  .reader-section { padding-block:50px; }
  .reader-section h2 { font-size:clamp(1.9rem,7vw,2.35rem); }
  .reader-takeaway { padding:24px; }
  .about-hero-grid { padding-block:50px; }
  .about-hero h1 { font-size:clamp(2rem,9vw,3rem); }
  .about-directions li { grid-template-columns:1fr; gap:2px; }
  .about-compass-grid .hero-visual { width:85%; margin-bottom:80px; }
  .school-chapter-list a { grid-template-columns:95px 1fr; }
  .school-chapter-list .chapter-art { width:95px; min-height:170px; border-bottom:0; }
}
@media print {
  .reader-hero { display:block; min-height:0; }
  .reader-hero-copy { color:black; background:white; min-height:0; padding:0; }
  .reader-hero-art,.reader-sidebar,.reader-actions { display:none; }
  .reader-layout { display:block; padding:0; }
  .reader-section { break-inside:avoid; }
}

/* Pedagogiska läsblock, samma färgskala som resten av Framtidskunskap. */
.home-foundation { padding:clamp(48px,6vw,80px) 0; background:var(--sage); border-bottom:1px solid var(--line); }
.home-foundation-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:26px; }
.home-foundation-heading h2 { max-width:760px; font-size:clamp(2rem,3vw,3rem); line-height:1.1; margin:12px 0 0; }
.home-foundation-heading > p { max-width:420px; color:var(--muted); margin:0 0 2px; }
.home-foundation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.home-foundation-card { display:flex; flex-direction:column; min-width:0; gap:13px; padding:23px 23px 20px; background:var(--reading); border:1.5px solid var(--ink); border-radius:15px; transition:transform .15s,box-shadow .15s; }
.home-foundation-card:hover { transform:translateY(-3px); box-shadow:5px 5px 0 var(--forest); }
.home-foundation-card:focus-visible { outline:3px solid var(--clay); outline-offset:3px; }
.home-foundation-number { width:max-content; padding:5px 10px; border-radius:30px; background:var(--forest); color:white; font-size:.73rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.home-foundation-card h3 { font-size:clamp(1.3rem,1.6vw,1.6rem); line-height:1.2; margin:0; }
.home-foundation-card p { font-size:.96rem; line-height:1.55; margin:0; color:var(--muted); }
.home-foundation-link { margin-top:auto; padding-top:15px; border-top:1px solid var(--line); font-weight:800; color:var(--forest); }
.home-foundation-all { display:inline-block; margin-top:22px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.reading-block-label { display:block; color:var(--forest); font:900 .7rem/1.3 var(--display); letter-spacing:.09em; text-transform:uppercase; }
.reading-scenario,.reading-steps,.reading-check,.reading-pause,.reading-timeline { margin:30px 0; padding:clamp(20px,3vw,29px); border-radius:14px; }
.reading-scenario { border-left:5px solid var(--ochre); background:#fff5e5; }
.reading-scenario h3,.reading-steps h3,.reading-check h3,.reading-pause h3 { font:850 clamp(1.23rem,1.7vw,1.6rem)/1.22 var(--display); letter-spacing:-.025em; margin:10px 0 13px; }
.reading-scenario p,.reading-pause p,.reading-steps p,.reading-check p,.reading-timeline p { font:normal 1rem/1.55 var(--display); margin:0; }
.reading-scenario p + p { margin-top:10px; }
.reading-scenario-question { font-weight:700!important; }
.reading-steps { background:var(--sage); border:1px solid var(--line); }
.reading-steps ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0; margin:20px 0 0; list-style:none; }
.reading-steps li { display:flex; align-items:start; gap:10px; min-width:0; padding:14px; background:white; border-radius:9px; }
.reading-steps li > span { flex:none; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--forest); color:white; font:800 .72rem var(--display); }
.reading-steps strong { display:block; font:800 .93rem/1.3 var(--display); margin-bottom:5px; }
.reading-steps p { color:var(--muted); font-size:.86rem; }
.reading-check { border:1.5px solid var(--ink); background:white; }
.reading-check-options { display:grid; gap:8px; margin-top:18px; }
.reading-check button { display:flex; align-items:center; text-align:left; gap:11px; width:100%; border:1px solid #bdc9c7; border-radius:9px; background:var(--reading); padding:9px 12px; color:var(--ink); font:600 .92rem/1.4 var(--display); cursor:pointer; }
.reading-check button:hover,.reading-check button.is-selected { border-color:var(--forest); background:var(--sage); }
.reading-check button:focus-visible { outline:3px solid var(--clay); outline-offset:2px; }
.reading-check button span { flex:none; display:grid; place-items:center; width:27px; height:27px; background:#e3ecea; border-radius:50%; font-size:.72rem; }
.reading-check-feedback { margin-top:14px!important; padding:13px 15px; border-left:4px solid var(--forest); background:var(--sage); }
.reading-pause { background:var(--forest); color:white; }
.reading-pause .reading-block-label { color:#d8edf0; }
.reading-pause p { color:white; }
.reading-detail { margin-top:20px; padding:15px 18px; border:1px solid var(--forest); border-radius:9px; background:white; }
.reading-detail summary { font-weight:800; cursor:pointer; }
.reading-detail p { font:normal 1rem/1.5 var(--display); margin:12px 0 0; }
.reading-timeline { background:#fff5e5; border:1px solid #e2bd7a; }
.reading-timeline > div { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:20px 0 12px; }
.reading-timeline article { padding:16px; background:white; border-top:4px solid var(--ochre); border-radius:7px; }
.reading-timeline strong { font:900 1.1rem var(--display); }
.reading-timeline small { color:var(--muted); }
.intro-main > .reading-steps,.intro-main > .reading-check,.intro-main > .reading-pause { max-width:860px; }
@media (max-width:850px) { .home-foundation-heading { display:block; }.home-foundation-heading > p { max-width:680px; margin-top:12px; }.home-foundation-grid { grid-template-columns:1fr; }.reading-steps ol,.reading-timeline > div { grid-template-columns:1fr; } }
@media (max-width:600px) { .home-foundation-card { padding:20px; }.reading-scenario,.reading-steps,.reading-check,.reading-pause,.reading-timeline { margin:23px 0; padding:20px; } }
@media (prefers-reduced-motion:reduce) { .home-foundation-card { transition:none; } }
@media print { .reading-check button { break-inside:avoid; }.reading-check-feedback { display:none; }.home-foundation-card { break-inside:avoid; } }

/* Grundskolans pedagogiska introduktion */
.school-reading-order { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:55px 0 15px; }
.school-reading-order a { display:flex; flex-direction:column; gap:11px; min-height:165px; border:2px solid var(--forest); border-radius:16px; padding:25px; background:var(--sage); }
.school-reading-order a:hover { box-shadow:5px 6px 0 #b7d4d7; }
.school-reading-order strong { font:700 clamp(1.35rem,2vw,1.9rem)/1.15 Georgia,serif; }
.school-reading-order a > span:last-child { color:var(--muted); }
.intro-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding-block:16px; font-size:.82rem; color:var(--muted); }
.intro-breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.intro-overview-hero { background:var(--sage); border-block:1px solid var(--line); padding:clamp(45px,5vw,75px) 0; }
.intro-overview-hero .container { padding-bottom:clamp(45px,5vw,75px); }
.intro-overview-hero h1 { max-width:1100px; margin:16px 0 26px; font-family:var(--display); font-size:clamp(2.5rem,3.7vw,4.3rem); font-weight:900; letter-spacing:-.055em; overflow-wrap:break-word; }
.intro-overview-hero p { max-width:900px; font-size:clamp(1.05rem,1.3vw,1.2rem); line-height:1.55; }
.intro-overview-main { padding-block:clamp(50px,5vw,80px); }
.intro-overview-heading { max-width:760px; margin-bottom:38px; }
.intro-overview-heading h2 { font-family:var(--display); font-weight:900; margin:12px 0 14px; }
.intro-overview-heading p { font-size:1.13rem; }
.intro-overview-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.intro-overview-card { border:2px solid var(--ink); border-radius:17px; overflow:hidden; background:white; display:flex; flex-direction:column; min-width:0; }
.intro-overview-card:hover { box-shadow:6px 7px 0 var(--forest); transform:translateY(-2px); }
.intro-overview-card-art { height:160px; background:var(--sage); border-bottom:2px solid var(--ink); display:flex; align-items:flex-end; gap:10px; padding:20px; position:relative; overflow:hidden; }
.intro-overview-card:nth-child(2) .intro-overview-card-art { background:#f4efe1; }
.intro-overview-card:nth-child(3) .intro-overview-card-art { background:#e6eff1; }
.intro-overview-card-art b { position:absolute; right:20px; top:-25px; font:900 9rem/1 var(--display); color:rgba(50,111,115,.18); }
.intro-overview-card-art i { position:relative; z-index:1; font:700 1rem var(--display); font-style:normal; color:var(--forest); background:white; border:1px solid var(--forest); border-radius:50px; padding:8px 12px; }
.intro-overview-card-copy { display:flex; flex-direction:column; gap:11px; padding:21px; flex:1; }
.intro-overview-card-copy strong { font:800 clamp(1.35rem,1.8vw,1.8rem)/1.17 var(--display); letter-spacing:-.04em; }
.intro-card-role { font-weight:700; color:var(--forest); }
.intro-term-list { font-size:.84rem; color:var(--muted); margin-top:auto; }
.intro-card-link { display:block; border-top:1px solid var(--line); padding-top:13px; font-weight:800; }
.intro-layers { margin-top:70px; padding:35px; border:1px solid var(--line); border-radius:19px; background:var(--sage); }
.intro-layers h2 { max-width:900px; font-family:var(--display); font-size:clamp(1.9rem,2.8vw,2.8rem); margin:15px 0 28px; }
.intro-layer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:28px; }
.intro-layer-grid > div { background:white; border-left:5px solid var(--forest); padding:25px; }
.intro-layer-grid span { font-weight:900; color:var(--forest); }
.intro-layer-grid h3 { font:800 1.5rem/1.17 var(--display); margin:20px 0 10px; }
.intro-layer-grid p { margin:0; }
.intro-overview-next,.intro-next { display:flex; flex-wrap:wrap; gap:12px; border-top:1px solid var(--line); padding-top:30px; margin-top:60px; }
.intro-how-to { padding-bottom:110px; }
.intro-how-to h1 { font-family:var(--display); font-size:clamp(2.4rem,3.8vw,4rem); font-weight:900; max-width:930px; margin:15px 0 25px; }
.intro-how-lead { max-width:810px; font-size:1.2rem; }
.intro-how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:55px; }
.intro-how-grid section { border:2px solid var(--ink); border-radius:16px; padding:30px; background:var(--sage); }
.intro-how-grid span { font-weight:900; color:var(--forest); }
.intro-how-grid h2 { font:800 1.8rem/1.13 var(--display); margin:22px 0; }
.intro-hero { background:var(--sage); border-block:1px solid var(--line); }
.intro-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); align-items:center; gap:clamp(30px,5vw,75px); padding-block:55px; }
.intro-hero h1 { font-family:var(--display); font-size:clamp(2.6rem,4vw,4.2rem); font-weight:900; letter-spacing:-.055em; margin:22px 0 24px; overflow-wrap:break-word; }
.intro-hero-subtitle { font-size:clamp(1.15rem,1.6vw,1.5rem); font-weight:700; max-width:790px; }
.intro-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:35px; }
.intro-hero-art { aspect-ratio:1.45; border:2px solid var(--forest); border-radius:17px; background:radial-gradient(circle at 67% 28%,#ffb638 0 8%,transparent 8.5%),linear-gradient(130deg,#d8eef0,#fff); position:relative; overflow:hidden; display:flex; align-items:end; padding:26px; }
.intro-hero-art > span { position:absolute; top:-8%; right:-4%; font:900 clamp(12rem,22vw,22rem)/1 var(--display); color:rgba(50,111,115,.14); }
.intro-hero-art > div { display:flex; flex-wrap:wrap; gap:9px; position:relative; }
.intro-hero-art b { background:white; color:var(--forest); border:1px solid var(--forest); border-radius:40px; padding:8px 13px; }
.intro-mode-bar { position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; background:var(--reading); border-block:1px solid var(--line); padding:9px 16px; }
.intro-mode-bar > span { font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin-right:12px; }
.intro-mode-bar button { background:white; border:1px solid var(--forest); color:var(--forest); border-radius:50px; padding:7px 14px; font-size:.84rem; font-weight:800; }
.intro-mode-bar button.active { background:var(--forest); color:white; }
.intro-core-note { text-align:center; background:#fff4d9; padding:13px; margin:0; font-size:.9rem; }
.intro-reading { display:grid; grid-template-columns:minmax(190px,265px) minmax(0,850px); gap:clamp(35px,6vw,110px); align-items:start; padding-block:70px 120px; }
.intro-aside { position:sticky; top:68px; max-height:calc(100vh - 85px); overflow:auto; font-size:.88rem; }
.intro-aside nav { display:flex; flex-direction:column; gap:8px; }
.intro-aside nav > strong { text-transform:uppercase; letter-spacing:.09em; font-size:.72rem; margin-bottom:6px; }
.intro-aside ol,.intro-aside ul { margin:0; padding-left:22px; }
.intro-aside li { margin:7px 0; }
.intro-aside li::marker { color:var(--forest); font-weight:800; }
.intro-aside a:hover { text-decoration:underline; color:var(--forest); }
.intro-aside ul { font-size:.78rem; color:var(--muted); }
.intro-aside nav > a { border-top:1px solid var(--line); padding-top:8px; }
.intro-main { min-width:0; }
.intro-prose { max-width:850px; }
.intro-prose p,.intro-prose li { font:normal clamp(1.05rem,1.3vw,1.23rem)/1.7 Georgia,serif; }
.intro-prose p { margin:0 0 1.25em; }
.intro-prose h2 { font-family:var(--display); font-weight:900; font-size:clamp(2rem,2.8vw,3rem); letter-spacing:-.05em; margin:0 0 24px; }
.intro-prose h3 { font-family:var(--display); font-weight:800; font-size:clamp(1.5rem,2vw,2rem); letter-spacing:-.04em; margin:40px 0 16px; scroll-margin-top:88px; }
.intro-front { border-bottom:1px solid var(--line); padding-bottom:44px; }
.intro-front blockquote,.intro-prose blockquote { margin:30px 0; padding:22px 28px; background:var(--sage); border-left:5px solid var(--forest); border-radius:0 12px 12px 0; }
.intro-front blockquote p,.intro-prose blockquote p { margin:0; }
.intro-prose blockquote strong { font:800 clamp(1.2rem,1.8vw,1.75rem)/1.35 var(--display); }
.intro-section { padding:65px 0; border-bottom:1px solid var(--line); scroll-margin-top:86px; }
.intro-section:focus { outline:none; }
.intro-section:focus-visible { outline:3px solid var(--clay); }
.intro-section ul { margin:20px 0 25px; }
.intro-section li { margin:10px 0; }
.intro-table-wrap { max-width:100%; overflow-x:auto; margin:25px 0; }
.intro-table-wrap table { width:100%; border-collapse:collapse; background:white; min-width:490px; }
.intro-table-wrap th,.intro-table-wrap td { border:1px solid var(--line); text-align:left; vertical-align:top; padding:12px 14px; }
.intro-table-wrap th { background:var(--sage); font-weight:800; }
.intro-table-wrap td { font:normal 1rem/1.45 var(--display); }
.intro-core .intro-depth { display:none!important; }
.intro-interactive,.intro-glossary,.intro-sources { border-top:1px solid var(--line); padding:65px 0 0; margin-top:20px; }
.intro-interactive > h2,.intro-glossary h2,.intro-sources h2 { font-family:var(--display); font-size:clamp(1.9rem,2.6vw,2.8rem); font-weight:900; margin:12px 0 16px; }
.intro-tool { border:1px solid var(--forest); background:var(--sage); border-radius:16px; padding:30px; margin:30px 0; }
.intro-tool h3 { font:800 clamp(1.4rem,1.8vw,1.85rem)/1.2 var(--display); margin:10px 0 16px; }
.intro-tool p { max-width:750px; }
.intro-perspective-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.intro-perspective-card { border:1px solid var(--line); border-radius:10px; background:white; overflow:hidden; min-width:0; }
.intro-perspective-card summary { display:flex; align-items:center; gap:10px; cursor:pointer; padding:16px; font-size:1rem; list-style:none; }
.intro-perspective-card summary::-webkit-details-marker { display:none; }
.intro-perspective-card summary > span:last-child { margin-left:auto; font-size:1.3rem; }
.intro-perspective-card[open] summary > span:last-child { transform:rotate(45deg); }
.intro-card-number { color:var(--forest); font-size:.78rem; font-weight:900; }
.intro-perspective-body { border-top:1px solid var(--line); padding:17px; }
.intro-perspective-body p { font-size:.95rem; }
.intro-perspective-body p:last-child { margin-bottom:0; }
.intro-perspective-body .text-link { font-size:.88rem; }
.intro-tool label,.intro-tool legend { display:block; font-weight:800; margin:16px 0 8px; }
.intro-tool select,.intro-tool textarea { display:block; width:100%; border:1px solid var(--forest); border-radius:8px; background:white; padding:12px; color:var(--ink); }
.intro-tool textarea { resize:vertical; }
.intro-tool fieldset { border:1px solid var(--line); border-radius:10px; margin:25px 0; padding:12px 20px 20px; }
.intro-tool fieldset legend { padding:0 6px; }
.intro-check { display:flex!important; align-items:start; gap:10px; margin:10px 0!important; font-weight:400!important; }
.intro-check input { width:18px; height:18px; flex:none; accent-color:var(--forest); margin-top:3px; }
.intro-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0; }
.intro-comparison > div,.intro-choice { border:1px solid var(--line); border-radius:10px; background:white; padding:20px; }
.intro-comparison small { color:var(--forest); text-transform:uppercase; font-weight:800; letter-spacing:.09em; }
.intro-comparison p { font:700 1.15rem/1.4 var(--display); margin:10px 0 0; }
.intro-choice { text-align:left; font-weight:700; }
.intro-choice.active { border:2px solid var(--forest); box-shadow:3px 4px 0 #b7d4d7; }
.intro-feedback { background:white; border-left:5px solid var(--forest); padding:17px 20px; }
.intro-feedback p { margin:8px 0 0; }
.intro-tool-actions { display:flex; gap:10px; flex-wrap:wrap; margin:20px 0 5px; }
.intro-tool-actions .button { min-height:44px; padding:8px 14px; }
.intro-status { min-height:1.4em; color:var(--forest); font-weight:700; font-size:.85rem; }
.intro-saved { margin:25px 0 0; padding-left:25px; }
.intro-saved li { white-space:pre-wrap; border-top:1px solid var(--line); padding:14px 0; }
.intro-saved li p { margin:0 0 10px; }
.intro-saved button { background:none; border:0; padding:0; color:var(--forest); }
.intro-map-print { display:none; }
.intro-glossary details { border-bottom:1px solid var(--line); padding:15px 0; }
.intro-glossary summary { font-weight:800; cursor:pointer; }
.intro-glossary details p { margin:13px 0 0; }
.intro-source-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:22px; }
.intro-source-grid > div { border:1px solid var(--line); border-radius:10px; padding:20px; background:white; }
.intro-source-grid h3 { font:800 1.1rem var(--display); margin-bottom:15px; }
.intro-source-grid ul { padding-left:19px; }
.intro-source-grid li { margin:10px 0; }
.intro-source-grid a { text-decoration:underline; color:var(--forest); }

/* The full-length introductory chapter sits before the eight-question series. */
.art-0 { background:var(--sage); }
.chapter-zero-card { display:grid; grid-template-columns:210px minmax(0,1fr); min-height:172px; overflow:hidden; border:2px solid var(--ink); border-radius:16px; background:white; transition:transform .18s,box-shadow .18s; }
.chapter-zero-card:hover { transform:translateY(-3px); box-shadow:5px 6px 0 var(--forest); }
.chapter-zero-card .chapter-art { min-height:172px; height:100%; border-right:2px solid var(--ink); }
.chapter-zero-card .art-symbol { font-size:5rem; }
.chapter-zero-card .art-index { font-size:2.3rem; }
.chapter-zero-card-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:20px 28px; }
.chapter-zero-card-copy h3 { font-size:clamp(1.4rem,2vw,2rem); line-height:1.15; margin:8px 0 9px; }
.chapter-zero-card-copy p { color:var(--muted); font-size:1rem; margin:0; }
.chapter-zero-card-link { color:var(--forest); font-weight:800; margin-top:15px; }
.chapter-zero-page .reader-hero h1 { font-size:clamp(2.7rem,3.7vw,4rem); }
.chapter-zero-subtitle { max-width:650px; font-size:1.03rem!important; line-height:1.5!important; margin:4px 0 0; }
.chapter-zero-sidebar { max-height:calc(100vh - 44px); overflow:auto; padding-right:10px; }
.chapter-zero-sidebar nav > a { font-size:.79rem; }
.chapter-zero-sidebar nav > a span { width:26px; height:26px; }
.chapter-zero-opening { padding-bottom:55px; }
.chapter-zero-quote { background:var(--sage); border-left:6px solid var(--forest); border-radius:0 12px 12px 0; margin:0 0 36px; padding:27px 32px; }
.chapter-zero-quote p { font:800 clamp(1.3rem,2vw,1.9rem)/1.35 var(--display)!important; letter-spacing:-.035em; margin:0!important; }
.chapter-zero-section h2 { font-size:clamp(1.85rem,2.5vw,2.65rem); line-height:1.14; overflow-wrap:break-word; }
.chapter-zero-section h3 { font-size:clamp(1.35rem,1.8vw,1.7rem); }
.chapter-zero-section li { margin-bottom:10px; }
.chapter-zero-section a { color:var(--forest); text-decoration:underline; overflow-wrap:anywhere; }
.chapter-zero-section hr,.chapter-zero-opening hr { border:0; border-top:1px solid var(--line); margin:40px 0; }
@media (max-width:900px) { .chapter-zero-sidebar { max-height:none; overflow:visible; } }
@media (max-width:600px) { .chapter-zero-card { grid-template-columns:1fr; }.chapter-zero-card .chapter-art { min-height:125px; height:125px; border-right:0; border-bottom:2px solid var(--ink); }.chapter-zero-card-copy { padding:20px; }.chapter-zero-quote { padding:22px; }.chapter-zero-quote p { font-size:1.28rem!important; } }
@media (max-width:1000px) {
  .intro-overview-cards { grid-template-columns:1fr; }
  .intro-overview-card { display:grid; grid-template-columns:220px 1fr; }
  .intro-overview-card-art { height:100%; min-height:170px; border-bottom:0; border-right:2px solid var(--ink); }
  .intro-reading { grid-template-columns:minmax(160px,210px) minmax(0,1fr); gap:30px; }
  .intro-source-grid { grid-template-columns:1fr; }
}
@media (min-width:861px) and (max-width:1050px) {
  .desktop-nav { display:none; }
  .mobile-nav { display:block; position:relative; }
  .mobile-nav summary { list-style:none; cursor:pointer; border:1px solid var(--ink); padding:8px 13px; border-radius:6px; font-weight:800; }
  .mobile-nav summary::-webkit-details-marker { display:none; }
  .mobile-nav nav { position:absolute; right:0; top:45px; width:230px; padding:12px; background:var(--paper-light); color:var(--ink); border:1px solid var(--line); box-shadow:4px 6px 0 #cdd8c9; display:flex; flex-direction:column; z-index:50; }
  .mobile-nav nav a { padding:11px 8px; border-bottom:1px solid var(--line); }
}
@media (max-width:860px) {
  .school-reading-order,.intro-layer-grid,.intro-how-grid,.intro-hero-grid,.intro-reading { grid-template-columns:1fr; }
  .intro-hero-grid { gap:24px; }
  .intro-hero-art { max-width:420px; width:100%; aspect-ratio:1.8; }
  .intro-aside { position:static; max-height:none; border:1px solid var(--line); border-radius:10px; padding:16px; }
  .intro-aside nav > ol { columns:2; column-gap:24px; }
  .intro-aside li { break-inside:avoid; }
  .intro-reading { padding-block:35px 80px; }
  .intro-perspective-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .intro-overview-card { display:flex; }
  .intro-overview-card-art { height:145px; min-height:145px; border-right:0; border-bottom:2px solid var(--ink); }
  .intro-overview-card-art b { font-size:7rem; }
  .intro-layers,.intro-tool { padding:20px; }
  .intro-overview-hero h1,.intro-hero h1 { font-size:clamp(2.15rem,7.5vw,2.8rem); }
  .intro-aside nav > ol { columns:1; }
  .intro-comparison { grid-template-columns:1fr; }
  .intro-hero-art { aspect-ratio:1.5; }
  .intro-prose p,.intro-prose li { font-size:1.05rem; }
  .intro-section { padding-block:42px; }
  .intro-mode-bar { position:static; }
}
@media (prefers-reduced-motion:reduce) { .intro-overview-card { transition:none; } html { scroll-behavior:auto; } }
@media print {
  .intro-mode-bar,.intro-aside,.intro-hero-art,.intro-hero-actions,.intro-glossary,.intro-sources,.intro-next,.intro-overview-next,.intro-tool-actions { display:none!important; }
  .intro-core .intro-depth { display:block!important; }
  .intro-reading { display:block; padding:0; }
  .intro-hero-grid { display:block; min-height:0; padding:0; }
  .intro-hero { background:white; }
  .intro-hero h1 { font-size:2.4rem; }
  .intro-section { padding:25px 0; break-inside:avoid; }
  .intro-table-wrap { overflow:visible; }
  .intro-table-wrap table { min-width:0; }
  .intro-reflections { border:0; padding:0; background:white; }
  .intro-reflections label,.intro-reflections select,.intro-reflections textarea { display:none; }
  .intro-interactive > p,.intro-tool:not(.intro-school-map):not(.intro-reflections),.intro-school-map fieldset,.intro-school-map label,.intro-school-map textarea,.intro-school-map .intro-status { display:none!important; }
  .intro-school-map { border:0; background:white; padding:0; }
  .intro-map-print { display:block; white-space:pre-wrap; font:normal 11pt/1.4 Arial,sans-serif; }
}

/* Samlad huvudmeny på alla skärmstorlekar. */
.site-menu { position:relative; flex:none; }
.site-menu summary { display:flex; align-items:center; gap:10px; padding:10px 14px; border:1.5px solid var(--ink); border-radius:9px; font-size:.9rem; font-weight:800; cursor:pointer; list-style:none; background:transparent; }
.site-menu summary::-webkit-details-marker { display:none; }
.site-menu summary:hover,.site-menu[open] summary { background:var(--sage); }
.site-menu summary:focus-visible,.site-menu nav a:focus-visible { outline:3px solid var(--ochre); outline-offset:3px; }
.site-menu-icon { display:flex; width:19px; flex-direction:column; gap:4px; }
.site-menu-icon i { display:block; height:2px; width:100%; border-radius:2px; background:currentColor; }
.site-menu nav { position:absolute; right:0; top:calc(100% + 9px); width:min(360px,calc(100vw - 32px)); max-height:calc(100vh - 100px); overflow:auto; display:flex; flex-direction:column; padding:10px; border:1.5px solid var(--ink); border-radius:12px; background:var(--reading); box-shadow:0 14px 32px rgba(17,24,32,.18); z-index:60; }
.site-menu nav a { display:block; padding:12px 13px; border-radius:7px; font-size:.93rem; font-weight:700; line-height:1.3; }
.site-menu nav a:hover { background:var(--sage); color:var(--forest); }
.site-header .desktop-nav,.site-header .mobile-nav { display:none; }

/* Kapitel 0: fyra sammanhängande läsetapper. */
.chapter-zero-roadmap { margin-top:34px; padding:20px 22px; border:1px solid var(--line); border-radius:14px; background:white; }
.chapter-zero-roadmap > span { display:block; color:var(--forest); font-size:.78rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.chapter-zero-roadmap ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; list-style:none; padding:0; margin:15px 0 0; }
.chapter-zero-roadmap a { display:flex; gap:11px; align-items:center; min-height:50px; padding:10px; border:1px solid var(--line); border-radius:8px; font-size:.9rem; font-weight:750; line-height:1.25; }
.chapter-zero-roadmap a:hover { background:var(--sage); }
.chapter-zero-roadmap b { color:var(--forest); }
.chapter-zero-roadmap a span { margin-left:auto; }
.chapter-zero-act { scroll-margin-top:25px; padding-top:42px; }
.chapter-zero-act-intro { padding:24px 28px; border-radius:16px; border:1px solid var(--line); background:var(--sage); }
.chapter-zero-act:nth-of-type(2n) .chapter-zero-act-intro { background:var(--cream); }
.chapter-zero-act-index { color:var(--forest); font-size:.76rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.chapter-zero-act-intro h2 { font-size:clamp(1.65rem,2.2vw,2.2rem); line-height:1.15; margin:9px 0 11px; }
.chapter-zero-act-intro p { font:normal 1rem/1.55 var(--display); margin:0; max-width:680px; }
.chapter-zero-act .chapter-zero-section { padding:39px 0; }
.chapter-zero-act .chapter-zero-section:last-child { border-bottom:0; }
.chapter-zero-act .chapter-zero-section h2 { margin:9px 0 20px; }
.chapter-zero-act .chapter-zero-section .eyebrow { font-size:.72rem; }

/* För lärare och skola: modulöversikt och fullständiga lässidor. */
.teacher-page { background:var(--reading); }
.teacher-overview-hero { background:var(--forest); color:white; }
.teacher-overview-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); gap:clamp(35px,6vw,95px); align-items:end; padding-block:clamp(52px,6vw,85px); }
.teacher-overview-hero .eyebrow,.teacher-reader-hero .eyebrow { color:#d7ecef; }
.teacher-overview-hero h1 { max-width:900px; font-size:clamp(2.7rem,4.3vw,4.6rem); line-height:1.05; margin:16px 0 22px; }
.teacher-overview-hero p { max-width:760px; font-size:1.05rem; line-height:1.55; }
.teacher-overview-hero .teacher-hero-lead { font-size:clamp(1.2rem,1.7vw,1.5rem); font-weight:700; line-height:1.4; }
.teacher-overview-hero .button { margin-top:16px; }
.teacher-overview-hero .button-dark,.teacher-reader-hero .button-dark { background:var(--ink); border-color:var(--ink); }
.teacher-hero-path { border-top:1px solid rgba(255,255,255,.75); }
.teacher-hero-path a { display:flex; align-items:center; gap:15px; padding:17px 3px; border-bottom:1px solid rgba(255,255,255,.75); }
.teacher-hero-path a:hover { background:rgba(255,255,255,.1); }
.teacher-hero-path span { font-size:.8rem; font-weight:900; }
.teacher-hero-path strong { font-size:clamp(1.2rem,1.6vw,1.55rem); }
.teacher-premise { padding-block:54px; border-bottom:1px solid var(--line); }
.teacher-premise-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,6vw,85px); }
.teacher-premise h2,.teacher-section-heading h2,.teacher-progression h2,.teacher-sources h2 { font-size:clamp(1.9rem,2.6vw,2.65rem); line-height:1.14; margin:11px 0 16px; }
.teacher-premise p { font-size:1.05rem; line-height:1.6; margin:0 0 15px; }
.teacher-editorial-intro { padding-block:54px 62px; border-bottom:1px solid var(--line); background:white; }
.teacher-editorial-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,6vw,85px); }
.teacher-editorial-intro h2 { font-size:clamp(1.9rem,2.6vw,2.65rem); line-height:1.14; margin:11px 0 16px; }
.teacher-editorial-intro p { font:normal 1.08rem/1.65 Georgia,serif; margin:0 0 1.1em; }
.teacher-overview-modules { padding-block:66px 75px; }
.teacher-section-heading { max-width:760px; margin-bottom:26px; }
.teacher-section-heading p { color:var(--muted); font-size:1.06rem; line-height:1.55; }
.teacher-module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.teacher-module-card { display:flex; flex-direction:column; gap:12px; min-width:0; padding:24px; border:1.5px solid var(--ink); border-radius:15px; background:white; scroll-margin-top:25px; }
.teacher-module-index { color:var(--forest); font-size:.76rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.teacher-module-card h3 { font-size:clamp(1.32rem,1.65vw,1.7rem); line-height:1.2; margin:0; }
.teacher-module-card p { color:var(--muted); line-height:1.5; margin:0; }
.teacher-module-card .teacher-module-bridge { color:var(--ink); padding-top:12px; border-top:1px solid var(--line); }
.teacher-module-card a { margin-top:auto; padding-top:16px; color:var(--forest); font-weight:900; text-decoration:underline; text-underline-offset:4px; }
.teacher-progression { padding-block:66px; background:var(--sage); }
.teacher-progression-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(25px,6vw,90px); }
.teacher-progression-grid > div p { max-width:500px; }
.teacher-progression ol { list-style:none; padding:0; margin:0; border-top:1px solid var(--ink); }
.teacher-progression li { display:grid; grid-template-columns:82px 1fr; gap:16px; padding:15px 0; border-bottom:1px solid var(--ink); }
.teacher-progression li strong { font-size:1.3rem; }
.teacher-sources { padding-block:62px 76px; }
.teacher-sources .container { max-width:1000px; }
.teacher-sources p { line-height:1.65; }
.teacher-sources a,.teacher-reader-sources a { color:var(--forest); text-decoration:underline; text-underline-offset:3px; }

.teacher-reader-hero { background:var(--forest); color:white; padding-block:48px 58px; }
.teacher-reader-hero .container { max-width:1280px; }
.teacher-back { display:inline-block; margin-bottom:30px; font-size:.86rem; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.teacher-reader-hero .eyebrow { display:block; }
.teacher-reader-hero h1 { max-width:920px; font-size:clamp(2.45rem,3.9vw,4rem); line-height:1.08; margin:15px 0 18px; }
.teacher-reader-hero p { max-width:790px; font-size:1.14rem; line-height:1.5; }
.teacher-reader-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin-top:27px; }
.teacher-reader-actions span { font-size:.85rem; font-weight:800; }
.teacher-reader-layout { display:grid; grid-template-columns:220px minmax(0,770px); gap:clamp(36px,5vw,80px); align-items:start; padding-block:60px 90px; }
.teacher-reader-sidebar { position:sticky; top:22px; max-height:calc(100vh - 40px); overflow:auto; }
.teacher-reader-sidebar nav { display:flex; flex-direction:column; gap:2px; }
.teacher-reader-sidebar nav strong { font-size:.75rem; letter-spacing:.09em; margin-bottom:10px; }
.teacher-reader-sidebar nav a { display:flex; gap:10px; align-items:start; padding:8px 4px; border-radius:5px; font-size:.84rem; line-height:1.35; }
.teacher-reader-sidebar nav a:hover,.teacher-reader-sidebar nav a:focus-visible { color:var(--forest); background:var(--sage); }
.teacher-reader-sidebar nav a span { flex:none; color:var(--forest); font-size:.76rem; font-weight:900; }
.teacher-reader-content { min-width:0; }
.teacher-reader-purpose,.teacher-reader-chapter,.teacher-reader-progression,.teacher-reader-supplement,.teacher-reader-sources { scroll-margin-top:25px; }
.teacher-reader-purpose { padding-bottom:45px; border-bottom:1px solid var(--line); }
.teacher-practice { scroll-margin-top:24px; margin:35px 0 40px; padding:clamp(22px,3vw,34px); border-radius:18px; background:#e8f1ee; border:1px solid #bfd5cc; }
.teacher-practice h2,.teacher-reading-map h2 { font-size:clamp(1.65rem,2.2vw,2.25rem); margin:10px 0 18px; }
.teacher-practice blockquote { margin:0 0 22px; padding:17px 22px; border-left:4px solid var(--forest); border-radius:0 10px 10px 0; background:white; font:700 clamp(1.08rem,1.5vw,1.3rem)/1.45 Georgia,serif; }
.teacher-practice-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.teacher-practice-steps > div { padding:17px; background:#fff; border:1px solid #cddfd8; border-radius:11px; }
.teacher-practice-steps span { display:block; color:#265c51; font-size:.73rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.teacher-practice-steps p { margin:10px 0 0; font-size:.89rem; line-height:1.55; }
.teacher-practice details { margin-top:16px; padding:13px 18px; border:1px solid #99b9ad; border-radius:9px; background:white; }
.teacher-practice summary { color:#205448; font-weight:800; cursor:pointer; }.teacher-practice details p { margin:12px 0 0; line-height:1.6; }
.teacher-reading-map { scroll-margin-top:24px; padding:0 0 38px; border-bottom:1px solid var(--line); }
.teacher-reading-map > p { max-width:60ch; line-height:1.6; }
.teacher-reading-map > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:20px; }
.teacher-reading-map a { display:flex; align-items:start; gap:10px; padding:14px; background:white; border:1px solid var(--line); border-radius:9px; line-height:1.35; }
.teacher-reading-map a:hover { background:var(--sage); border-color:var(--forest); }
.teacher-reading-map a span:first-child { color:var(--forest); font-size:.79rem; font-weight:900; flex:none; }
.teacher-reading-map a strong { font-size:.88rem; font-weight:700; }.teacher-reading-map a span:last-child { margin-left:auto; color:var(--forest); }
.teacher-reader-purpose h2,.teacher-reader-progression h2,.teacher-reader-supplement h2,.teacher-reader-sources h2 { font-size:clamp(1.7rem,2.3vw,2.4rem); line-height:1.15; margin:10px 0 22px; }
.teacher-reader-chapter { padding:42px 0 48px; border-bottom:1px solid var(--line); }
.teacher-reader-chapter-number { color:var(--forest); font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.teacher-reader-chapter h2 { font-size:clamp(1.8rem,2.35vw,2.55rem); line-height:1.12; margin:11px 0 25px; overflow-wrap:anywhere; }
.teacher-prose p,.teacher-reader-sources p { font:normal clamp(1.04rem,1.2vw,1.16rem)/1.68 Georgia,serif; margin:0 0 1.15em; }
.teacher-prose h4 { font:800 1.12rem/1.3 var(--display); margin:25px 0 8px; }
.teacher-module-note { padding:15px 19px; margin:22px 0; border-left:4px solid var(--forest); border-radius:0 10px 10px 0; background:var(--sage); }
.teacher-module-note-pedagogisk-ovning { background:var(--cream); border-color:var(--ochre); }
.teacher-module-note-reflektionsfraga,.teacher-module-note-fordjupning { background:#fff5e5; border-color:var(--ochre); }
.teacher-module-note span { display:block; color:var(--forest); font:900 .75rem/1.2 var(--display); letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px; }
.teacher-module-note p { font:700 1rem/1.5 var(--display); margin:0; }
.teacher-module-step { display:flex; align-items:start; gap:12px; padding:10px 14px; margin:9px 0; border:1px solid var(--line); border-radius:8px; background:white; }
.teacher-module-step > span { flex:none; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:var(--forest); color:white; font-size:.77rem; font-weight:900; }
.teacher-module-step p { font:700 .98rem/1.5 var(--display); margin:0; }
.teacher-reader-progression { padding:42px 0; }
.teacher-reader-progression .intro-table-wrap { overflow-x:auto; }
.teacher-reader-progression table { min-width:560px; }
.teacher-reader-supplement { padding:42px 0 48px; border-top:1px solid var(--line); }
.teacher-reader-supplement .intro-table-wrap { overflow-x:auto; margin:22px 0; }
.teacher-reader-supplement table { min-width:560px; }
.teacher-reader-supplement .teacher-prose > h3 { font-size:clamp(1.3rem,1.7vw,1.65rem); line-height:1.25; margin:34px 0 14px; }
.teacher-reader-supplement .teacher-prose > blockquote { margin:24px 0; padding:18px 22px; border-left:4px solid var(--ochre); background:var(--cream); font:700 1.15rem/1.5 var(--display); }
.teacher-interpretation { font-size:.84rem; color:var(--muted); }
.teacher-reader-sources { padding:32px 28px; border-radius:13px; background:var(--sage); }
.teacher-reader-sources p { font-size:1.02rem; margin-bottom:0; }
.teacher-next { display:flex; justify-content:space-between; gap:15px; flex-wrap:wrap; padding-top:35px; }
.teacher-next a { color:var(--forest); font-weight:900; text-decoration:underline; text-underline-offset:4px; }

/* Modulernas kort följer startsidans introduktion. */
.home-teacher-modules { padding-block:clamp(50px,6vw,76px); border-bottom:1px solid var(--line); background:var(--reading); }
.home-teacher-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:25px; }
.home-teacher-heading > div { max-width:820px; }
.home-teacher-heading h2 { font-size:clamp(2rem,3vw,3rem); line-height:1.1; margin:12px 0; }
.home-teacher-heading p { max-width:690px; color:var(--muted); font-size:1.03rem; margin:0; }
.home-teacher-heading > a { flex:none; color:var(--forest); font-weight:900; text-decoration:underline; text-underline-offset:4px; }
.home-teacher-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.home-teacher-card { display:flex; flex-direction:column; gap:12px; min-width:0; min-height:280px; padding:23px; border:1.5px solid var(--ink); border-radius:14px; background:white; transition:transform .16s,box-shadow .16s; }
.home-teacher-card:hover { transform:translateY(-3px); box-shadow:5px 5px 0 var(--forest); }
.home-teacher-card > span { color:var(--forest); font-size:.77rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.home-teacher-card h3 { font-size:clamp(1.3rem,1.6vw,1.65rem); line-height:1.2; margin:0; }
.home-teacher-card p { color:var(--muted); line-height:1.5; margin:0; }
.home-teacher-card strong { margin-top:auto; padding-top:14px; border-top:1px solid var(--line); color:var(--forest); }

@media (max-width:900px) {
  .teacher-overview-grid,.teacher-premise-grid,.teacher-editorial-grid,.teacher-progression-grid,.teacher-reader-layout { grid-template-columns:1fr; }
  .teacher-hero-path { max-width:720px; }
  .teacher-module-grid,.home-teacher-grid { grid-template-columns:1fr; }
  .teacher-reader-sidebar { position:static; max-height:none; overflow:visible; }
  .teacher-reader-sidebar nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 15px; }
  .teacher-reader-sidebar nav strong { grid-column:1/-1; }
}
@media (max-width:800px) and (min-width:641px) { .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }.footer-grid > div:last-child { grid-column:1/-1; }.about-preview-grid { grid-template-columns:1fr; gap:30px; }.about-preview-grid .contact-card { max-width:560px; } }
@media (max-width:600px) {
  .teacher-practice-steps,.teacher-reading-map > div { grid-template-columns:1fr; }
  .site-menu summary { padding:9px 11px; }
  .chapter-zero-roadmap ol { grid-template-columns:1fr; }
  .chapter-zero-roadmap { padding:17px; }
  .chapter-zero-act-intro { padding:21px; }
  .teacher-overview-grid { padding-block:42px 48px; }
  .teacher-overview-hero h1 { font-size:clamp(2.3rem,9vw,3rem); }
  .teacher-premise,.teacher-overview-modules,.teacher-progression,.teacher-sources { padding-block:48px; }
  .teacher-module-card,.home-teacher-card { padding:20px; min-height:0; }
  .teacher-reader-hero { padding-block:35px 43px; }
  .teacher-reader-hero h1 { font-size:clamp(2.15rem,8vw,3rem); }
  .teacher-reader-layout { padding-block:35px 65px; }
  .teacher-reader-sidebar nav { grid-template-columns:1fr; }
  .teacher-reader-sources { padding:22px; }
  .reader-hero { grid-template-columns:minmax(0,1fr); }
  .reader-hero-copy,.reader-hero-inner { min-width:0; }
  .reader-hero h1 { overflow-wrap:anywhere; }
  .chapter-zero-page .reader-hero h1 { font-size:clamp(2.05rem,8vw,2.3rem); overflow-wrap:normal; }
  .home-teacher-heading { display:block; }
  .home-teacher-heading > a { display:inline-block; margin-top:15px; }
}
@media (prefers-reduced-motion:reduce) { .home-teacher-card { transition:none; } }
@media print { .site-menu,.teacher-reader-sidebar,.teacher-hero-path,.home-teacher-modules { display:none!important; } .teacher-reader-hero { background:white; color:black; padding:0; } .teacher-reader-layout { display:block; } }

/* Kontaktknapp och Framtidskunskaps bildmärke. */
.header-actions { display:flex; align-items:center; gap:10px; flex:none; }
.header-email { display:inline-flex; align-items:center; min-height:42px; padding:9px 13px; border:1.5px solid var(--ink); border-radius:9px; font-size:.85rem; font-weight:700; white-space:nowrap; }
.header-email:hover { background:var(--sage); }
.header-email:focus-visible { outline:3px solid var(--ochre); outline-offset:3px; }
.footer-grid .footer-brand { display:inline-flex; align-items:center; gap:13px; margin:0 0 15px; color:white; font:800 clamp(1.3rem,2vw,1.75rem)/1.12 var(--display); letter-spacing:-.04em; text-decoration:none; }
.footer-brand img { display:block; width:58px; height:58px; flex:none; object-fit:contain; }
.footer-brand span { color:white; }
@media (max-width:700px) {
  .header-inner { flex-wrap:wrap; gap:9px; padding-block:11px; }
  .header-actions { width:100%; justify-content:space-between; }
}
@media (max-width:420px) {
  .header-email { font-size:.78rem; padding-inline:9px; }
  .footer-brand img { width:47px; height:47px; }
}

/* Kunskapspaketet: långa lästexter med återhållsam typografi och tydliga avsnitt. */
.knowledge-chapter .reader-sidebar { max-height:calc(100vh - 38px); overflow:auto; }
.knowledge-chapter .reader-hero h1 { max-width:22ch; font-size:clamp(2.1rem,3.1vw,3.25rem); line-height:1.1; }
.knowledge-chapter .reader-content { min-width:0; }
.knowledge-section { padding:36px 0 46px; scroll-margin-top:22px; }
.knowledge-section h2 { max-width:21ch; font-size:clamp(1.7rem,2.2vw,2.25rem); line-height:1.16; margin:10px 0 23px; overflow-wrap:anywhere; }
.knowledge-prose { min-width:0; overflow-wrap:anywhere; }
.knowledge-prose p,.knowledge-prose li { max-width:70ch; font:normal clamp(1.04rem,1.12vw,1.15rem)/1.72 Georgia,'Times New Roman',serif; }
.knowledge-prose p { margin:0 0 1.14em; }
.knowledge-prose ul,.knowledge-prose ol { max-width:73ch; margin:0 0 1.2em; padding-left:1.4em; }
.knowledge-prose li { margin:.38em 0; }
.knowledge-prose h2 { font-size:clamp(1.7rem,2.2vw,2.3rem); margin:38px 0 18px; }

/* En aning luftigare överblick på stora skärmar, utan att krympa lästext på mobil. */
@media (min-width:900px) { html { zoom:.95; } }

.guide-facts { list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:13px 0 0; padding:0; }
.guide-facts li { border:1px solid var(--forest); border-radius:99px; padding:4px 8px; color:var(--forest); font-size:.68rem; font-weight:750; line-height:1.2; }

.featured-tools { background:var(--reading); border-block:1px solid var(--line); padding-block:clamp(55px,7vw,95px); }
.featured-tools-heading { max-width:760px; margin-bottom:30px; }
.featured-tools-heading h2 { font-size:clamp(2rem,3vw,3rem); margin:10px 0; }
.featured-tools-heading p { color:var(--muted); font-size:1.06rem; }
.featured-tools-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.featured-tool { overflow:hidden; border:1.5px solid var(--ink); border-radius:17px; background:#fff; }
.featured-tool-image { display:grid; place-items:center; height:250px; padding:10px; overflow:hidden; background:#f0f5f4; border-bottom:1.5px solid var(--ink); }
.featured-tool:nth-child(2) .featured-tool-image { background:#f2edfa; }
.featured-tool-image img { display:block; width:100%; height:100%; object-fit:contain; }
.featured-tool-content { padding:25px 28px 30px; }
.featured-tool h3 { font-size:clamp(1.55rem,2.2vw,2.05rem); margin:0 0 12px; }
.featured-tool p { max-width:58ch; color:var(--muted); line-height:1.58; margin:0 0 13px; }
.featured-tool .featured-tool-lead { color:var(--ink); font-size:1.08rem; font-weight:750; line-height:1.4; }
.featured-tool-link { display:inline-flex; gap:10px; align-items:center; margin-top:12px; padding:11px 16px; border-radius:8px; background:var(--forest); color:white; font-weight:750; }
.featured-tool-link:hover { background:var(--ink); color:white; }
.featured-tool-image:focus-visible,.featured-tool-link:focus-visible { outline:3px solid var(--ochre); outline-offset:3px; }

/* Del 2: långläsning och lärarhandledning */
.site-footer .footer-grid { grid-template-columns:minmax(0,2fr) minmax(220px,1fr); }
.del2-entry { background:#eaf5f7; border-block:1px solid var(--line); padding-block:48px; }
.del2-entry-inner { display:flex; align-items:center; justify-content:space-between; gap:36px; }
.del2-entry-inner > div { max-width:790px; }
.del2-entry h2 { font-size:clamp(1.7rem,2.5vw,2.5rem); margin:10px 0 16px; }
.del2-entry p { font-size:1.05rem; line-height:1.65; margin:0; }
.del2-entry .button { flex:none; }
.del2-hero .button { margin-top:20px; }
.del2-breadcrumb { display:flex; gap:10px; flex-wrap:wrap; margin:0 0 27px; font-size:.82rem; font-weight:700; }
.del2-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.del2-layout { display:grid; grid-template-columns:minmax(180px,230px) minmax(0,820px); gap:clamp(36px,5vw,86px); align-items:start; padding-block:clamp(44px,6vw,80px) 110px; }
.del2-sidebar { position:sticky; top:22px; max-height:calc(100vh - 44px); overflow:auto; }
.del2-sidebar nav { display:flex; flex-direction:column; gap:2px; }
.del2-sidebar strong { margin-bottom:10px; font-size:.75rem; letter-spacing:.1em; }
.del2-sidebar a { padding:9px 11px; border-left:2px solid transparent; border-radius:0 6px 6px 0; font-size:.88rem; line-height:1.35; }
.del2-sidebar a:hover,.del2-sidebar a:focus-visible { background:var(--sage); border-left-color:var(--forest); }
.del2-main { min-width:0; }
.del2-main section,.del2-main [id="skolans-checklista"] { scroll-margin-top:24px; }
.del2-opening,.del2-section,.del2-chapter { padding-bottom:50px; margin-bottom:50px; border-bottom:1px solid var(--line); }
.del2-opening h2,.del2-section > h2,.del2-chapter > h2 { font-size:clamp(1.8rem,2.7vw,2.7rem); line-height:1.13; margin:10px 0 25px; }
.del2-opening .knowledge-prose p { max-width:70ch; }
.del2-section > p,.del2-supplement > p { max-width:69ch; font:normal 1.08rem/1.7 Georgia,serif; }
.del2-module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin-top:30px; }
.del2-module-card { display:flex; flex-direction:column; min-width:0; padding:23px; border:1.5px solid var(--ink); border-radius:12px; background:white; }
.del2-module-card > span { color:var(--forest); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.del2-module-card h3 { font-size:1.45rem; margin:13px 0; }
.del2-module-card p { line-height:1.55; color:var(--muted); }
.del2-module-card a { align-self:start; margin-top:auto; color:var(--forest); font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.del2-model > p { max-width:70ch; font:normal 1.07rem/1.65 Georgia,serif; }
.del2-model-foundation,.del2-model-process { padding:23px; margin:22px 0; border:1px solid var(--line); border-radius:11px; background:white; }
.del2-model-foundation { border-left:5px solid var(--forest); background:var(--sage); }
.del2-model-foundation > span { color:var(--forest); font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }
.del2-model h3 { font-size:1.25rem; margin:8px 0; }
.del2-model-foundation p,.del2-model-process p,.del2-model-grid p { margin:0; }
.del2-model-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.del2-model-grid > div { padding:19px; border:1px solid var(--line); border-radius:10px; background:#fff8e8; }
.del2-model-process h3:not(:first-child) { margin-top:21px; padding-top:17px; border-top:1px solid var(--line); }
.del2-chapter { padding-top:6px; }
.del2-chapter-toc { display:grid; gap:6px; margin:0 0 30px; padding:17px 20px; border-left:4px solid var(--forest); background:var(--sage); }
.del2-chapter-toc a { width:fit-content; font-size:.89rem; line-height:1.4; text-decoration:underline; text-underline-offset:3px; }
.del2-prose { min-width:0; overflow-wrap:anywhere; }
.del2-prose p,.del2-prose li { max-width:71ch; font:normal clamp(1.04rem,1.15vw,1.14rem)/1.72 Georgia,'Times New Roman',serif; }
.del2-prose p { margin:0 0 1.05em; }
.del2-prose h3 { font-size:clamp(1.42rem,1.85vw,1.95rem); line-height:1.25; margin:42px 0 18px; scroll-margin-top:24px; }
.del2-prose h4 { font-size:1.2rem; line-height:1.3; margin:31px 0 14px; }
.del2-prose ul,.del2-prose ol { max-width:74ch; padding-left:1.45em; margin:0 0 1.4em; }
.del2-prose li { margin:.55em 0; }
.del2-prose blockquote { max-width:69ch; margin:26px 0; padding:20px 25px; border-left:4px solid var(--ochre); border-radius:0 10px 10px 0; background:#fff4dd; }
.del2-prose blockquote p { margin:0; font-style:italic; }
.del2-prose a { color:var(--forest); text-decoration:underline; text-underline-offset:3px; }
.del2-prose hr { margin:40px 0; border:0; border-top:1px solid var(--line); }
.del2-table-scroll { max-width:100%; margin:25px 0 30px; overflow-x:auto; border:1px solid var(--line); border-radius:9px; }
.del2-table-scroll table { width:100%; min-width:570px; border-collapse:collapse; background:white; font-size:.9rem; line-height:1.5; }
.del2-table-scroll th,.del2-table-scroll td { padding:12px 13px; border:1px solid var(--line); text-align:left; vertical-align:top; }
.del2-table-scroll th { background:var(--sage); font-weight:800; }
.del2-checklist { padding:27px; margin:0 0 55px; border:1.5px solid var(--ink); border-radius:14px; background:#f4f9f9; }
.del2-checklist h3 { font-size:clamp(1.55rem,2vw,2rem); margin:10px 0 14px; }
.del2-checklist > p { max-width:68ch; }
.del2-checklist-count { font-weight:800; color:var(--forest); }
.del2-checklist fieldset { display:grid; gap:8px; padding:0; margin:24px 0; border:0; }
.del2-checklist label { display:flex; gap:13px; align-items:flex-start; padding:12px 14px; border:1px solid var(--line); border-radius:8px; background:white; cursor:pointer; }
.del2-checklist input { flex:none; width:20px; height:20px; margin:2px 0 0; accent-color:var(--forest); }
.del2-copy-status { display:block; min-height:1.6em; margin-top:9px; font-size:.87rem; }
.del2-checklist-note { color:var(--muted); font-size:.9rem; margin:15px 0 0; }
.del2-next { display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px; }
.del2-next a { color:var(--forest); font-weight:800; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:900px) { .del2-layout { grid-template-columns:1fr; }.del2-sidebar { position:static; max-height:none; }.del2-sidebar nav { display:flex; flex-direction:row; flex-wrap:wrap; gap:5px; }.del2-sidebar nav strong { width:100%; }.del2-sidebar a { border:1px solid var(--line); border-radius:6px; }.del2-entry-inner { align-items:start; flex-direction:column; } }
@media (max-width:650px) { .site-footer .footer-grid,.del2-module-grid,.del2-model-grid { grid-template-columns:1fr; }.del2-layout { padding-bottom:70px; }.del2-checklist { padding:19px; }.del2-chapter-toc { padding:14px; } }
@media print { .del2-sidebar,.del2-chapter-toc,.del2-entry,.del2-checklist button { display:none!important; }.del2-layout { display:block; }.del2-chapter { break-inside:auto; }.del2-table-scroll { overflow:visible; } }

.site-menu nav { width:min(620px,calc(100vw - 32px)); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 17px; padding:18px; }
.site-menu-group { min-width:0; }
.site-menu-group h2 { margin:3px 0 7px; padding:0 12px 8px; border-bottom:1px solid var(--line); color:var(--forest); font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.site-menu nav a { padding:9px 12px; }

.language-menu { position:relative; flex:none; }
.language-menu summary { display:flex; align-items:center; gap:7px; min-height:42px; padding:9px 12px; border:1.5px solid var(--ink); border-radius:9px; font-size:.86rem; font-weight:800; cursor:pointer; list-style:none; }
.language-menu summary::-webkit-details-marker { display:none; }
.language-menu summary:hover,.language-menu[open] summary { background:var(--sage); }
.language-menu summary:focus-visible,.language-menu nav a:focus-visible { outline:3px solid var(--ochre); outline-offset:3px; }
.language-menu nav { position:absolute; right:0; top:calc(100% + 9px); width:min(240px,calc(100vw - 32px)); max-height:min(75vh,540px); overflow:auto; display:flex; flex-direction:column; padding:11px; border:1.5px solid var(--ink); border-radius:12px; background:var(--reading); box-shadow:0 14px 32px rgba(17,24,32,.18); z-index:70; }
.language-menu-label { padding:6px 10px 8px; color:var(--forest); font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.language-menu nav a { padding:8px 10px; border-radius:6px; font-size:.92rem; font-weight:650; }
.language-menu nav a:hover { background:var(--sage); }
.language-menu nav p { margin:8px 10px 3px; padding-top:10px; border-top:1px solid var(--line); color:var(--muted); font-size:.72rem; line-height:1.35; }

@media (max-width:700px) {
  .featured-tools-grid { grid-template-columns:1fr; }
  .featured-tool-image { height:215px; }
  .site-menu nav { grid-template-columns:1fr; width:min(340px,calc(100vw - 32px)); }
}
@media (max-width:420px) {
  .header-actions { flex-wrap:wrap; justify-content:flex-start; }
  .header-email { width:100%; }
  .featured-tool-content { padding:21px; }
}
.knowledge-prose h3 { font-size:clamp(1.25rem,1.65vw,1.65rem); margin:30px 0 14px; line-height:1.22; }
.knowledge-prose h4 { font-size:1.1rem; margin:25px 0 10px; line-height:1.3; }
.knowledge-prose a,.knowledge-related a,.knowledge-essay-links a,.about-editorial a { color:var(--forest); text-decoration:underline; text-underline-offset:3px; }
.knowledge-prose blockquote { max-width:68ch; margin:26px 0; padding:16px 22px; border-left:4px solid var(--ochre); background:var(--cream); }
.knowledge-prose blockquote p { margin:0; font-size:1.12rem; font-style:italic; }
.knowledge-prose table { width:100%; border-collapse:collapse; font:normal .9rem/1.5 Arial,sans-serif; min-width:570px; }
.knowledge-prose th,.knowledge-prose td { padding:10px 12px; border:1px solid var(--line); vertical-align:top; text-align:left; }
.knowledge-prose th { background:var(--sage); }
.knowledge-prose:has(table) { overflow-x:auto; }
.knowledge-prose hr { margin:38px 0; border:0; border-top:1px solid var(--line); }
.knowledge-section-3,.knowledge-section-4 { border-bottom:1px solid var(--line); }
.knowledge-section-5,.knowledge-section-6 { padding:30px 28px 36px; border:1px solid var(--line); border-radius:15px; background:var(--cream); margin:26px 0; }
.knowledge-section-6 { background:var(--sage); }
.knowledge-section-5 h2,.knowledge-section-6 h2 { font-size:clamp(1.6rem,2vw,2rem); }
.knowledge-section-9 { border-top:1px solid var(--line); }
.chapter-activity-workspace { margin-top:26px; padding:22px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.chapter-activity-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px; }
.chapter-activity-heading strong { font-size:1.08rem; }
.chapter-activity-heading span { color:var(--muted); font-size:.8rem; }
.chapter-activity-workspace > p { max-width:68ch; margin:11px 0 18px; font-size:.9rem; }
.chapter-activity-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.chapter-activity-fields .field-stack { display:flex; flex-direction:column; gap:6px; }
.chapter-activity-fields label { font-size:.86rem; font-weight:700; line-height:1.35; }
.chapter-activity-fields textarea,.chapter-activity-fields select { width:100%; min-width:0; padding:10px 12px; border:1px solid #9fb8bd; border-radius:8px; background:white; color:var(--ink); }
.chapter-activity-fields textarea { resize:vertical; min-height:74px; }
.chapter-activity-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:20px; }
.chapter-activity-actions .button { min-height:40px; padding:9px 14px; }
.chapter-activity-actions .text-button { border:0; background:none; color:var(--forest); text-decoration:underline; font-size:.85rem; font-weight:700; }
.school-adaptation-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 22px; }
.school-adaptation-tabs button { padding:9px 13px; border:1px solid var(--forest); border-radius:20px; background:#fff; color:var(--forest); font-size:.86rem; font-weight:700; }
.school-adaptation-tabs button[aria-pressed="true"] { background:var(--forest); color:white; }
.school-adaptation-content { padding:21px 24px; border-radius:12px; background:var(--sage); }
.school-adaptation-content h3 { font-size:1.23rem; margin:0 0 10px; }
.school-adaptation-content p { font:normal 1.08rem/1.65 Georgia,serif; margin:0; }
.knowledge-related { margin:38px 0; padding:24px; border-radius:13px; background:var(--sage); }
.knowledge-related h2 { max-width:25ch; font-size:1.45rem; margin:8px 0; }
.source-note { max-width:70ch; padding:13px 17px; border-left:3px solid var(--ochre); background:var(--cream); font-size:.9rem; }
.knowledge-intro,.knowledge-home-welcome { max-width:900px; padding:24px 28px; margin:22px 0 40px; border-left:4px solid var(--forest); background:var(--sage); }
.knowledge-home-welcome { max-width:none; margin:0; padding:48px 0; border-left:0; border-block:1px solid var(--line); }
.knowledge-home-welcome .container { max-width:1000px; }
.home-future { padding:clamp(48px,6vw,72px) 0; border-bottom:1px solid var(--line); background:var(--cream); }
.home-editorial-inner { max-width:1000px; }
.home-editorial-inner > h2 { max-width:25ch; margin:0 0 20px; font-size:clamp(1.8rem,2.7vw,2.65rem); line-height:1.14; }
.home-editorial-lead { max-width:72ch; margin-bottom:20px; font:normal clamp(1.05rem,1.25vw,1.18rem)/1.65 Georgia,'Times New Roman',serif; }
.home-future blockquote { max-width:72ch; margin:0 0 22px; padding:10px 0 10px 20px; border-left:4px solid var(--ochre); font:700 clamp(1.1rem,1.4vw,1.3rem)/1.45 Georgia,'Times New Roman',serif; }
.home-disclosure { max-width:860px; }
.home-disclosure summary { display:inline-flex; align-items:center; gap:13px; min-height:45px; padding:9px 17px; border:1.5px solid var(--forest); border-radius:7px; background:white; color:var(--forest); font-size:.9rem; font-weight:800; cursor:pointer; list-style:none; }
.home-disclosure summary::-webkit-details-marker { display:none; }
.home-disclosure summary:hover { background:var(--forest); color:white; }
.home-disclosure-open { display:none; }
.home-disclosure[open] .home-disclosure-closed { display:none; }
.home-disclosure[open] .home-disclosure-open { display:inline; }
.home-disclosure[open] .home-disclosure-icon { transform:rotate(180deg); }
.home-disclosure-content { padding-top:28px; }
.home-disclosure-content .knowledge-prose h3:first-child { margin-top:0; }
.knowledge-essay-page { max-width:1100px; }
.knowledge-essay-body { max-width:800px; margin:30px 0 50px; }
.knowledge-essay-hero { padding:50px 0 55px; background:var(--forest); color:white; }
.knowledge-essay-hero .container { max-width:1100px; }
.knowledge-essay-hero a { display:inline-block; margin-bottom:28px; font-size:.87rem; font-weight:700; text-decoration:underline; }
.knowledge-essay-hero .eyebrow { display:block; color:#d7ecef; }
.knowledge-essay-hero h1 { max-width:17ch; margin:12px 0 18px; font-size:clamp(2.2rem,3.4vw,3.6rem); }
.knowledge-essay-hero p { max-width:60ch; font-size:1.05rem; }
.knowledge-essay-content { max-width:1100px; padding-block:55px 90px; }
.knowledge-essay-content .knowledge-prose { max-width:800px; }
.knowledge-essay-links { display:flex; flex-wrap:wrap; gap:20px; padding:22px 0; border-top:1px solid var(--line); font-weight:700; }
.about-editorial { background:var(--cream); }
.about-editorial .knowledge-essay-body { margin-bottom:0; }
.knowledge-method-entry { padding:28px 0 32px; border-top:1px solid var(--line); }
.knowledge-method-entry h3 { font-size:1.65rem; margin-bottom:14px; }
.knowledge-method-grid h2 { font-size:clamp(1.28rem,1.5vw,1.55rem); line-height:1.2; }
.knowledge-method-grid .knowledge-prose p { font:normal .95rem/1.58 Arial,sans-serif; }
.knowledge-method-common { max-width:900px; margin-top:50px; padding:28px; border-radius:13px; background:var(--sage); }
.knowledge-method-common h2 { font-size:1.7rem; margin-bottom:15px; }

@media (max-width:800px) {
  .knowledge-chapter .reader-sidebar { max-height:none; overflow:visible; }
  .chapter-activity-fields { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .knowledge-section { padding:28px 0 36px; }
  .knowledge-section-5,.knowledge-section-6 { padding:22px 18px; }
  .chapter-activity-workspace { padding:18px; }
  .knowledge-intro,.knowledge-home-welcome { padding:20px; }
  .home-future { padding-block:45px; }
  .home-editorial-inner > h2 { font-size:clamp(1.8rem,8vw,2.15rem); }
  .knowledge-prose p,.knowledge-prose li { font-size:1.04rem; }
}
@media print {
  .knowledge-chapter .reader-sidebar,.chapter-activity-actions,.school-adaptation-tabs { display:none!important; }
  .knowledge-section { break-inside:auto; padding:18px 0; }
  .knowledge-section-5,.knowledge-section-6,.chapter-activity-workspace { background:white; }
  .chapter-activity-fields textarea,.chapter-activity-fields select { border:1px solid #aaa; }
}
.home-about-intro { padding:clamp(32px,5vw,66px) 0; background:var(--cream); border-bottom:1px solid var(--line); }
.home-about-intro-inner { max-width:1080px; border-left:6px solid var(--forest); padding:clamp(20px,3vw,36px); background:white; box-shadow:0 12px 30px rgba(7,55,107,.07); }
.home-about-intro-inner p { font-size:clamp(1rem,1.4vw,1.14rem); line-height:1.7; max-width:82ch; }
.home-about-intro-inner p:last-child { margin-bottom:0; }
.home-about-intro-inner a { color:var(--navy); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* Publiceringsstatus och förenklad huvudnavigation. */
.release-notice { background:#f7f2e6; color:var(--ink); border-bottom:1px solid #dccfb3; }
.release-notice-inner { display:flex; align-items:center; gap:12px 20px; padding-block:12px; font-size:.9rem; line-height:1.45; }
.release-notice strong { flex:none; color:var(--forest); }
.release-notice p { margin:0; }
.header-about { display:inline-flex; align-items:center; min-height:42px; padding:9px 13px; border:1.5px solid var(--ink); border-radius:9px; font-size:.85rem; font-weight:700; white-space:nowrap; }
.access-page { min-height:65vh; display:grid; place-items:center; padding-block:70px; }
.access-card { width:min(100%,540px); padding:clamp(26px,5vw,48px); background:var(--reading); border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 30px rgba(17,24,32,.07); }
.access-card h1 { font-size:clamp(2rem,5vw,3rem); line-height:1.08; margin:12px 0 18px; }
.access-card p { line-height:1.65; }
.access-card form { display:grid; gap:11px; margin:28px 0; }
.access-card label { font-weight:800; }
.access-card input { width:100%; min-height:50px; padding:10px 14px; border:1.5px solid var(--ink); border-radius:9px; background:white; font:inherit; }
.access-card input:focus-visible,.access-card a:focus-visible { outline:3px solid var(--ochre); outline-offset:3px; }
.access-card button { justify-self:start; margin-top:8px; }
.access-error { padding:12px 15px; border-left:4px solid #a63b32; background:#fff0ed; color:#74251f; font-weight:700; }
.header-about:hover { background:var(--sage); }
.header-about:focus-visible { outline:3px solid var(--ochre); outline-offset:3px; }
.footer-bottom { display:flex; align-items:start; justify-content:space-between; gap:16px 30px; }
.footer-bottom nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
.footer-bottom a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.home-launch-note { max-width:690px!important; margin:23px 0 0!important; padding:12px 16px; border:1px solid rgba(255,255,255,.75); border-left:4px solid var(--ochre); border-radius:7px; background:rgba(255,255,255,.1); font-size:.91rem!important; line-height:1.5!important; }
.home-launch-note strong { display:block; margin-bottom:2px; }
.home-about-intro-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,270px); align-items:center; gap:clamp(24px,4vw,55px); max-width:1160px; }
.home-about-intro-copy { min-width:0; }
.home-about-intro-image { display:grid; place-items:center; padding:14px; border-radius:16px; background:#f8faf8; }
.home-about-intro-image img { display:block; width:100%; height:auto; max-width:270px; }
@media (max-width:800px) { .home-about-intro-inner { grid-template-columns:1fr; }.home-about-intro-image { width:min(100%,280px); justify-self:center; }.footer-bottom { flex-direction:column; } }
@media (max-width:600px) { .release-notice-inner { display:block; }.release-notice strong { display:block; margin-bottom:3px; }.header-about { white-space:normal; text-align:center; }.header-actions { flex-wrap:wrap; }.header-about,.language-menu { flex:1; }.home-about-intro-image { width:min(100%,220px); } }
.teacher-del2-modules { padding:clamp(46px,5vw,74px) 0; background:var(--sage); }
.teacher-del2-modules h2 { margin:12px 0 16px; }
.teacher-del2-modules > .container > p { max-width:75ch; }
.teacher-ai-entry { padding:clamp(42px,5vw,70px) 0; background:var(--cream); }
.teacher-ai-entry-inner { display:flex; justify-content:space-between; align-items:center; gap:28px; }
.teacher-ai-entry-inner > div { max-width:74ch; }
.teacher-ai-entry h2 { margin:12px 0 15px; }
.teacher-ai-entry .button { flex:none; }
@media (max-width:760px) { .teacher-ai-entry-inner { align-items:flex-start; flex-direction:column; } }
@media (max-width:850px) { .home-foundation-grid { grid-template-columns:1fr; } }
