/* Banesjekk identity: corner/check mark, blue actions, a visible case track. */
header {
  flex-wrap:wrap
}
a.brand {
  font-size:1.25rem;
  letter-spacing:-.6px
}
.brand-mark {
  display:block;
  width:38px;
  height:38px;
  border-radius:0;
  background:transparent
}
.brand {
  flex-shrink:0
}
header nav {
  gap:18px
}
a,button,summary {
  touch-action:manipulation
}
.badge.open {
  background:#fff0e8;
  color:#893711
}
.badge.working {
  background:#e7eeff;
  color:#2046a5
}
.badge.resolved {
  background:#e3f3ed;
  color:#116147
}
.stats a:nth-child(1) {
  border-top:3px solid #c55524
}
.stats a:nth-child(2) {
  border-top:3px solid #2355db
}
.stats a:nth-child(3) {
  border-top:3px solid #14745a
}
.event {
  border-color:#b4c5e9
}
.card,.issue-card {
  box-shadow:0 2px 0 #11233803
}
.button,button {
  border-radius:6px;
  gap:20px
}
.button {
  min-height:50px
}
/* Public home: a warm neutral surface, existing blue identity and early film. */
body.public-home {
  --paper:#faf9f6;
  --line:#dddfdf;
  --muted:#4f5f69;
  background:var(--paper)
}
.public-home main { padding-top:32px }
.public-page.landing { max-width:none }
.landing section { margin:56px 0 }
.landing .hero { margin:0 0 28px; padding:12px 0 }
.hero-grid { display:grid; grid-template-columns:1fr 1.04fr; gap:48px; align-items:center }
.hero-grid>* { min-width:0 }
.landing h1 { font-size:clamp(2.7rem,4.5vw,3.7rem); line-height:1.07; letter-spacing:-.045em; margin:18px 0 22px }
.landing h1 span { color:var(--green) }
.landing .lead { max-width:490px; font-size:1.06rem; line-height:1.65 }
.landing .eyebrow { font-size:.72rem; letter-spacing:1.2px }
.landing .free-label { display:inline-flex; gap:8px; background:#e6f1e8; color:#155e47; border-radius:4px; padding:7px 11px; font-size:.82rem; font-weight:700; margin:4px 0 0 }
.landing .public-actions { gap:18px; align-items:center; margin:24px 0 18px }
.quiet-link { font-size:.88rem; font-weight:650 }
.free-line { font-size:.85rem; color:var(--muted); margin:0 }
.film-panel { background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; box-shadow:0 10px 28px #11233808; scroll-margin-top:24px }
.film-heading { padding:22px 24px 18px }
.film-heading .eyebrow { margin-bottom:8px }
.landing .film-heading h2 { font-size:1.45rem; line-height:1.2; letter-spacing:-.5px; margin:0 }
.intro-film { display:block; width:100%; height:auto; aspect-ratio:16/9; background:#112338 }
.film-caption { color:var(--muted); padding:16px 24px 0; font-size:.8rem; line-height:1.55; margin:0 }
.landing .film-transcript { padding:14px 24px 18px; font-size:.85rem; border:0; margin:0 }
.film-transcript ol { padding-left:20px; margin-bottom:0 }
.film-transcript li+li { margin-top:8px }
.feature-line { display:flex; gap:18px 32px; flex-wrap:wrap; list-style:none; padding:22px 0; border-bottom:1px solid var(--line); margin:0; color:var(--muted); font-size:.88rem }
.feature-line li:before { content:'✓'; color:#155e47; margin-right:9px; font-weight:700 }
.section-heading { margin-bottom:24px }
.landing .section-heading h2,.landing .case-example h2,.landing .faq-section>h2,.landing .member-entry h2 { font-size:clamp(1.7rem,3vw,2.25rem); line-height:1.15; letter-spacing:-.8px; margin:12px 0 18px }
.landing .workflow { gap:0; border-top:1px solid var(--line) }
.landing .workflow li { background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; margin:0; padding:26px 28px 20px 0 }
.landing .workflow li+li { border-left:1px solid var(--line); padding-left:28px }
.step-number { color:var(--green); font-size:.75rem; font-weight:700; display:block; margin-bottom:16px; text-transform:uppercase; letter-spacing:.5px }
.workflow h3 { font-size:1.15rem; letter-spacing:-.3px }
.workflow p { font-size:.94rem; color:var(--muted) }
.case-example { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center }
.case-example>div { min-width:0 }
.case-example>div>p { max-width:470px }
.example-board { background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden; box-shadow:0 8px 24px #11233806 }
.board-top { display:flex; justify-content:space-between; gap:12px; font-size:.75rem; padding:14px 22px; background:#f2f5fa; color:var(--muted); border-bottom:1px solid var(--line) }
.example-head { padding:22px 22px 0 }
.example-head h3 { font-size:1.35rem; margin:12px 0 6px; letter-spacing:-.5px }
.example-head p { font-size:.85rem; color:var(--muted); border-bottom:1px solid var(--line); padding-bottom:16px; margin:0 }
.case-track { list-style:none; padding:8px 22px 16px; margin:0 }
.case-track li { position:relative; display:flex; gap:15px; padding:12px 0 }
.case-track li:not(:last-child):before { content:''; position:absolute; left:10px; top:34px; bottom:-12px; border-left:2px solid #d9e2ed }
.track-dot { flex:none; position:relative; width:22px; height:22px; border:6px solid #fff; outline:1px solid #d5deea; border-radius:50%; margin-top:1px }
.dot-open { background:#c55524 }
.dot-working { background:#2355db }
.dot-resolved { background:#14745a; color:#fff; font-size:.75rem; border:0; text-align:center; padding:1px }
.case-track strong { font-size:.9rem }
.case-track p { font-size:.85rem; color:var(--muted); margin:4px 0 0 }
.member-entry { display:flex; gap:36px; justify-content:space-between; align-items:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:30px 0 }
.member-entry>div { max-width:690px }
.member-entry>a { flex-shrink:0 }
.member-entry .help { margin-bottom:0 }
.landing .faq-section { max-width:780px; margin-left:auto; margin-right:auto }
.landing details { padding:20px 0 }
.landing summary::marker { color:var(--green) }
.landing .start-panel { background:#edf1fb; padding:36px; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; border-radius:8px }
.start-panel h2 { font-size:clamp(1.8rem,3.3vw,2.6rem); line-height:1.1; letter-spacing:-1px; margin:16px 0 0 }
.start-panel p { color:var(--muted) }
.start-guide { display:block; margin-top:20px; font-size:.85rem }
.landing .start-panel:last-child { margin-bottom:0 }
.intro-film:focus-visible,summary:focus-visible { outline:3px solid #a43d14; outline-offset:4px }
@media(min-width:801px) {
  header:has(nav a:nth-child(6)) { align-items:flex-start }
  header:has(nav a:nth-child(6)) nav { justify-content:flex-end; flex:1; min-width:500px }
}
@media(max-width:950px) {
  .hero-grid { gap:28px }
  .case-example { gap:32px }
  .landing .public-actions { gap:14px }
  .member-entry { align-items:flex-start; flex-direction:column; gap:16px }
}
@media(max-width:700px) {
  .public-home main { padding-top:22px }
  .public-home header { padding-top:16px; padding-bottom:16px; gap:12px }
  .public-home header nav { gap:20px }
  .landing section { margin:40px 0 }
  .hero-grid { grid-template-columns:1fr; gap:26px }
  .landing .hero { padding:0; margin-bottom:20px }
  .landing h1 { font-size:clamp(2.3rem,10.5vw,3rem); margin:16px 0 }
  .landing .lead { font-size:1rem; margin-bottom:0 }
  .landing .public-actions { margin:18px 0 12px; gap:12px 18px; flex-direction:row; flex-wrap:wrap }
  .landing .eyebrow { font-size:.68rem }
  .landing .free-label { font-size:.78rem }
  .free-line { font-size:.8rem }
  .film-heading { padding:18px 20px 14px }
  .landing .film-heading h2 { font-size:1.3rem }
  .film-caption { padding-left:20px; padding-right:20px }
  .landing .film-transcript { padding-left:20px; padding-right:20px }
  .feature-line { gap:10px; flex-direction:column; padding:20px 0; font-size:.85rem }
  .landing .workflow { grid-template-columns:1fr }
  .landing .workflow li,.landing .workflow li+li { border-left:0; padding:20px 0 }
  .step-number { margin-bottom:8px }
  .case-example { grid-template-columns:1fr; gap:22px }
  .landing .start-panel { grid-template-columns:1fr; gap:24px; padding:24px }
  .board-top { padding:14px 18px; font-size:.7rem }
  .example-head { padding:18px 18px 0 }
  .case-track { padding:8px 18px 12px }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after { scroll-behavior:auto!important; animation:none!important; transition:none!important }
}
@media print {
  .film-panel { display:none }
  .landing .hero-grid,.landing .case-example,.landing .start-panel { display:block }
  .example-board { box-shadow:none }
  .landing section { break-inside:avoid }
  .brand-mark { width:32px; height:32px }
}

/* Two focused, opt-in films; ordinary links also work without JavaScript. */
.film-switch{display:flex;gap:0;width:100%;justify-content:stretch;border-bottom:1px solid var(--line)}
.film-switch a{flex:1;min-width:0;text-align:center;font-size:.82rem;font-weight:650;padding:15px 10px;border-bottom:3px solid transparent;color:var(--muted)}
.film-switch a[aria-current=true]{color:#2355db;background:#edf1fb;border-bottom-color:#2355db}
.control-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;scroll-margin-top:24px}
.control-intro>div{min-width:0}.landing .control-intro h2{font-size:clamp(1.7rem,3vw,2.25rem);line-height:1.15;letter-spacing:-.8px;margin:12px 0 18px}
.control-intro>div>p{color:var(--muted)}.control-steps{list-style:none;padding:0;counter-reset:control-step;margin:26px 0}
.control-steps li{counter-increment:control-step;position:relative;padding:0 0 18px 30px}
.control-steps li:before{content:counter(control-step);position:absolute;left:0;top:0;color:#2355db;font-weight:750}
.control-steps strong{font-size:.94rem}.control-steps p{font-size:.9rem;color:var(--muted);margin:5px 0 0}
.control-example .example-head{padding-bottom:12px}.control-example-points{list-style:none;padding:0 24px;margin:0}
.control-example-points li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.88rem}
.control-result{flex-shrink:0;padding:4px 9px;border-radius:4px;font-size:.74rem;font-weight:700}
.control-result.ok{background:#e3f3ed;color:#14745a}.control-result.deviation{background:#fff0e8;color:#893711}
.control-followup{margin:20px 24px;background:#f2f5f9;border-left:3px solid #2355db;padding:16px}
.control-followup .eyebrow{font-size:.68rem;margin:0 0 8px}.control-followup strong{font-size:.92rem}.control-followup>p:last-child{font-size:.85rem;color:var(--muted);margin:6px 0 0}
.control-note{padding:0 24px 22px;font-size:.8rem;color:var(--muted)}
@media(max-width:800px){.control-intro{grid-template-columns:1fr;gap:26px}.film-switch a{font-size:.8rem;padding:14px 8px}}
@media print{.film-switch{display:none}.control-intro{display:block}.control-example{break-inside:avoid}}
