/* ===========================================================================
   UNDERSIDOR
   Laddas av alla sidor utom startsidan, efter styles.css.

   Innehåller två saker:
   1. Chrome som varje sida utan hero behöver (sticky header, ankarmarginal).
   2. Rubrik- och brödtextskalan. Den behövs därför att skalan i styles.css är
      selektorbunden — `.statement h2, .signals h2, .use-cases h2, .contact h2`.
      En ny sida med en bar <h2> får alltså webbläsarens 1.5em. Det är den
      vanligaste orsaken till att en ny sida "ser trasig ut".

   Hela gamla legal.css ligger här nedan, oförändrad i utseende men med
   chromet flyttat från .legal-page till .subpage. Policysidan bär båda
   klasserna, så dess egen layout är opåverkad.
   =========================================================================== */

/* Ytskalan finns bara som hårdkodade literaler i styles.css. Här får de namn,
   dels för att undersidorna behöver dem, dels för att legal.css refererade
   var(--surface-1) som aldrig fanns definierad och tyst föll tillbaka. */
:root{
  --surface-0:#050609;
  --surface-1:#0a0c10;
  --surface-2:#0b0f14;
  --surface-3:#0d1319;
  --surface-4:#11161c;
  --surface-accent:#141d12;
}

/* --- Chrome -------------------------------------------------------------- */
.subpage{background:var(--ink)}

/* Utan hero att ligga ovanpå ska headern vara i flödet och ha en botten.
   position:absolute (grundläget) skulle annars låta den scrolla bort. */
.subpage .site-header{position:sticky;background:rgba(7,9,13,.93);
  backdrop-filter:blur(12px)}

/* Sticky header äter annars upp ankaret vid korsvisa länkar som
   tillampningar.html#case-01. */
.subpage [id]{scroll-margin-top:110px}

.subpage .site-footer a{color:#8e959d;text-decoration:none;
  border-bottom:1px solid rgba(142,149,157,.35)}
.subpage .site-footer a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* --- Sidhuvud ------------------------------------------------------------ */
.page-head{padding:150px 8vw 0;max-width:1100px}
.page-head h1{font-size:clamp(46px,7vw,96px);line-height:.94;letter-spacing:-.07em;
  font-weight:600;color:var(--paper);margin-top:22px}
/* Accenten sätts med <em> i h1 — regeln i styles.css är `h1 em`, inte `h1 span`. */
.page-head h1 em,.page-head h1 span{color:var(--accent);font-style:normal}
.page-lede{margin-top:30px;max-width:640px;font-size:17px;line-height:1.7;color:#b3b9bf}
.page-meta{margin-top:32px;display:flex;gap:26px;flex-wrap:wrap;
  font:10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#707780}

/* --- Sektioner ----------------------------------------------------------- */
.page-section{padding:90px 8vw;max-width:1100px;border-top:1px solid var(--line)}
.page-section:first-of-type{border-top:none}
.page-section h2{font-size:clamp(34px,4.6vw,62px);line-height:.96;letter-spacing:-.07em;
  font-weight:600;color:var(--paper)}
.page-section h2 span{color:var(--accent)}
.page-section h3{font-size:22px;font-weight:600;letter-spacing:-.04em;color:var(--paper)}

.prose{max-width:680px}
.prose p{margin-top:18px;font-size:16px;line-height:1.75;color:#a9aeb4}
.prose p strong{color:var(--paper);font-weight:600}
.prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(199,255,84,.4)}
.prose a:hover{border-bottom-color:var(--accent)}
.prose ul{margin:18px 0 0;padding:0;list-style:none}
.prose li{font-size:16px;line-height:1.7;color:#a9aeb4;padding:9px 0 9px 24px;position:relative}
.prose li:before{content:"—";position:absolute;left:0;color:#707780}
.prose li strong{color:var(--paper);font-weight:600}

/* --- Faktalista: hårfina nyckel/värde-rader ------------------------------
   Mörk motsvarighet till .about .cv, som bara fungerar i ljust läge. */
.fact-list{margin-top:34px;border-top:1px solid var(--line);max-width:760px}
.fact-list div{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:16px 0;
  border-bottom:1px solid rgba(232,229,223,.07);align-items:baseline}
.fact-list b{font:10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;
  color:#8d9298;font-weight:400;padding-top:3px}
.fact-list span{font-size:15px;line-height:1.65;color:#a9aeb4}
.fact-list span strong{color:var(--paper);font-weight:600}

/* --- Titan: åtta faktiska analysverktyg ---------------------------------- */
.titan-module-section>.prose{margin-top:24px}
.analysis-area-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:46px;
  border-top:1px solid var(--line)}
.analysis-area-grid>article,.analysis-area-grid>a{min-height:210px;padding:30px 34px 34px 0;
  border-bottom:1px solid var(--line)}
.analysis-area-grid>article:nth-child(even),.analysis-area-grid>a:nth-child(even){padding-left:34px;padding-right:0;
  border-left:1px solid var(--line)}
.analysis-area-grid>article>span,.analysis-area-grid>a>span{font:10px 'DM Mono',monospace;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent)}
.analysis-area-grid h3{margin-top:18px}
.analysis-area-grid p{margin-top:12px;max-width:430px;color:#9299a1;font-size:14px;line-height:1.65}
.analysis-area-grid .restricted{background:linear-gradient(120deg,rgba(224,182,84,.07),transparent 60%)}
.analysis-area-grid .restricted>span{color:#e0b654}
.analysis-area-grid>a{display:block;color:inherit;text-decoration:none}
.analysis-area-grid>.enterprise-ai-module{background:rgba(199,255,84,.035)}
.analysis-area-grid>.enterprise-ai-module:hover{background:rgba(199,255,84,.075)}
.analysis-area-grid>.enterprise-ai-module:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.enterprise-ai-cta{display:block;margin-top:20px;color:var(--accent);font:10px 'DM Mono',monospace;font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.titan-enterprise-module-section{border-top:1px solid var(--line)}
.enterprise-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:32px;background:var(--line)}
.enterprise-module-grid article{min-width:0;padding:24px;background:rgba(199,255,84,.025)}
.enterprise-module-grid span{color:var(--accent);font:10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.enterprise-module-grid h3{margin:12px 0 0;color:var(--paper);font-size:20px;letter-spacing:-.04em}
.enterprise-module-grid p{margin:10px 0 0;color:#a9aeb4;font-size:13px;line-height:1.65}

/* --- Produktöversikter ---------------------------------------------------
   Bilderna är konceptuella systemkartor, inte verifierade kundresultat.
   Därför har de en fast plats med tydlig bildtext snarare än att efterlikna
   en levande dashboard eller bära påhittade statusvärden. */
.titan-architecture-section>.prose{margin-top:24px}
.product-architecture{max-width:760px;margin:44px auto 0;border:1px solid var(--line);
  background:var(--surface-0)}
.product-architecture>a{display:block}
.product-architecture img{display:block;width:100%;height:auto}
.product-architecture figcaption{padding:14px 16px;border-top:1px solid var(--line);
  color:#8e959d;font:10px 'DM Mono',monospace;letter-spacing:.06em;
  line-height:1.6;text-transform:uppercase}

/* --- Konfidensklasser ---------------------------------------------------- */
.status-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);margin-top:30px}
.status-cell{background:var(--surface-3);padding:22px 20px}
.status-cell .name{display:flex;align-items:center;gap:9px;font:10px 'DM Mono',monospace;
  letter-spacing:.1em;text-transform:uppercase;color:var(--paper)}
.status-cell .dot{width:8px;height:8px;border-radius:50%;flex:none}
.status-cell p{margin-top:12px;font-size:13px;line-height:1.6;color:#8e959d}
.status-ok{background:#7ac67a}
.status-warn{background:#e0b654}
.status-alert{background:#e07a5f}
.status-unknown{background:#91969d}

/* ===========================================================================
   JURIDISKA SIDOR — oförändrat från legal.css, bara chromet borttaget
   (det ligger nu på .subpage ovan).
   =========================================================================== */
.legal{padding:150px 8vw 90px;max-width:1100px}

.legal-head{border-bottom:1px solid var(--line);padding-bottom:44px}
.legal h1{font-size:clamp(46px,7vw,96px);line-height:.94;letter-spacing:-.07em;
  font-weight:600;color:var(--paper);margin-top:22px;hyphens:manual}
.legal-lede{margin-top:30px;max-width:620px;font-size:17px;line-height:1.7;
  color:#b3b9bf}
.legal-meta{margin-top:32px;display:flex;gap:26px;font:10px 'DM Mono',monospace;
  letter-spacing:.1em;text-transform:uppercase;color:#707780}

.legal-body{max-width:680px}
.legal-body section{padding:44px 0;border-bottom:1px solid rgba(232,229,223,.07)}
.legal-body section:last-of-type{border-bottom:none}
.legal h2{font-size:21px;font-weight:600;letter-spacing:-.03em;color:var(--paper)}
.legal-body p{margin-top:18px;font-size:16px;line-height:1.75;color:#a9aeb4}
.legal-body p strong{color:var(--paper);font-weight:600}
.legal-body a{color:var(--accent);text-decoration:none;
  border-bottom:1px solid rgba(199,255,84,.4)}
.legal-body a:hover{border-bottom-color:var(--accent)}

.legal-body ul{margin:18px 0 0;padding:0;list-style:none}
.legal-body li{font-size:16px;line-height:1.7;color:#a9aeb4;padding:9px 0 9px 24px;
  position:relative}
.legal-body li:before{content:"—";position:absolute;left:0;color:#707780}
.legal-body li strong{color:var(--paper);font-weight:600}

/* Rad som väntar på uppgift — märkt så den inte glöms kvar vid lansering */
.legal-todo{border-left:2px solid var(--blue);padding-left:16px;
  font-size:14px !important;color:#8e959d !important}

.legal-table{margin-top:22px;border-top:1px solid var(--line)}
.legal-table div{display:grid;grid-template-columns:1fr auto;gap:24px;
  padding:15px 0;border-bottom:1px solid rgba(232,229,223,.07);align-items:baseline}
.legal-table b{font-size:15px;font-weight:500;color:var(--paper)}
.legal-table span{font:10px 'DM Mono',monospace;letter-spacing:.08em;
  text-transform:uppercase;color:#8e959d;text-align:right}

.legal-note{margin-top:52px;background:var(--surface-1);
  border:1px solid var(--line);padding:28px 30px}
.legal-note p{margin:0;font-size:14px;line-height:1.7;color:#8e959d}

@media(max-width:900px){
  .status-row{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
  .page-head{padding:110px 6vw 0}
  .page-section{padding:60px 6vw}
  .fact-list div{grid-template-columns:1fr;gap:6px}
  .analysis-area-grid{grid-template-columns:1fr}
  .analysis-area-grid>article,.analysis-area-grid>a,.analysis-area-grid>article:nth-child(even),.analysis-area-grid>a:nth-child(even){min-height:0;
    padding:26px 0;border-left:0}
  .enterprise-module-grid{grid-template-columns:1fr}
  .product-architecture{margin-top:32px}
  .status-row{grid-template-columns:1fr}
  .foot-nav{padding:26px 6vw;gap:18px}
  .legal{padding:110px 6vw 60px}
  .legal-body section{padding:34px 0}
  .legal-table div{grid-template-columns:1fr;gap:6px}
  .legal-table span{text-align:left}
}
