/* Layout: dispatch-desk feel. Wide left-aligned headlines, a live "lead desk" panel, quiet cool neutrals, one cobalt accent, green only for live status. */
:root{
  --paper:#F3F5F7; --surface:#FFFFFF; --ink:#0F1B26; --muted:#4D5B69; --line:#D8DEE4;
  --accent:#1D4ED8; --accent-soft:#E3EAFB; --accent-ink:#FFFFFF; --signal:#0E8F62; --signal-soft:#DDF3EA;
  --band:#0F1B26; --band-ink:#EEF2F6; --band-muted:#A8B4C0;
  --f-display:"Familjen Grotesk","Helvetica Neue",Arial,sans-serif;
  --f-body:"Public Sans","Segoe UI",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --wrap:1180px; --r:10px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#0B131B; --surface:#111C27; --ink:#E6ECF1; --muted:#9DABB8; --line:#22313F;
  --accent:#7097FF; --accent-soft:#17264A; --accent-ink:#0B131B; --signal:#3ED19A; --signal-soft:#11302A;
  --band:#060C12; --band-ink:#E6ECF1; --band-muted:#8E9CAA; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#0B131B; --surface:#111C27; --ink:#E6ECF1; --muted:#9DABB8; --line:#22313F;
  --accent:#7097FF; --accent-soft:#17264A; --accent-ink:#0B131B; --signal:#3ED19A; --signal-soft:#11302A;
  --band:#060C12; --band-ink:#E6ECF1; --band-muted:#8E9CAA; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--f-body);-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.12;letter-spacing:-.015em;text-wrap:balance;margin:0}
h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:700}
h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700}
h3{font-size:1.25rem;font-weight:600}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:20px}
.eyebrow{font:500 .78rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.lede{font-size:1.18rem;color:var(--muted);max-width:60ch}
.muted{color:var(--muted)}
.stack{display:flex;flex-direction:column;gap:16px}

/* Top bar + header */
.topbar{background:var(--band);color:var(--band-ink);font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-block:8px;flex-wrap:wrap}
.topbar a{color:var(--band-ink);text-decoration:none;font-weight:600}
.live{display:inline-flex;align-items:center;gap:8px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 0 var(--signal);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--signal) 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo-mark{width:38px;height:38px;border-radius:9px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font:700 .95rem/1 var(--f-mono);letter-spacing:-.02em}
.logo-text{font:700 1.15rem/1 var(--f-display)}
.logo-text small{display:block;font:500 .7rem/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
nav.main{display:flex;align-items:center;gap:6px}
nav.main > a, .dd > button{font:500 .98rem/1 var(--f-body);color:var(--ink);text-decoration:none;background:none;border:0;padding:10px 12px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
nav.main > a:hover,.dd > button:hover,.dd.open > button{background:var(--accent-soft)}
nav.main > a[aria-current="page"]{color:var(--accent)}
.dd{position:relative}
.dd > button svg{width:12px;height:12px;transition:transform .2s}
.dd.open > button svg{transform:rotate(180deg)}
.dd-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 40px -18px rgba(15,27,38,.35);padding:8px;display:none}
.dd.open .dd-panel{display:grid}
.dd-panel a{display:block;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--ink)}
.dd-panel a:hover{background:var(--accent-soft)}
.dd-panel a b{display:block;font-weight:600;font-size:.97rem}
.dd-panel a span{display:block;font-size:.84rem;color:var(--muted);line-height:1.4}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 1rem/1 var(--f-body);text-decoration:none;padding:14px 20px;border-radius:9px;border:1.5px solid transparent;cursor:pointer;white-space:nowrap}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--surface)}
.btn-ghost:hover{border-color:var(--accent)}
.btn-band{background:var(--band-ink);color:var(--band)}
.nav-cta{display:flex;gap:10px;align-items:center}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:10px;cursor:pointer;color:var(--ink)}
.menu-toggle svg{width:22px;height:22px;display:block}
@media (max-width:980px){
  .menu-toggle{display:block}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px 20px 20px;gap:2px;max-height:80vh;overflow:auto}
  header.site.menu-open nav.main{display:flex}
  .dd-panel{position:static;box-shadow:none;border:0;padding:0 0 0 10px;min-width:0}
  .nav-cta .btn-primary{display:none}
}

/* Sections */
section{padding-block:clamp(56px,8vw,96px)}
.sec-head{display:flex;flex-direction:column;gap:14px;margin-bottom:40px;max-width:760px}
.alt{background:var(--surface);border-block:1px solid var(--line)}

/* Hero */
.hero{padding-block:clamp(44px,6vw,80px) clamp(56px,7vw,90px)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.trust{display:flex;gap:22px;flex-wrap:wrap;font-size:.92rem;color:var(--muted)}
.trust span{display:inline-flex;gap:8px;align-items:center}
.trust svg{width:18px;height:18px;color:var(--signal);flex:none}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}

/* Lead desk panel */
.desk{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 60px -30px rgba(15,27,38,.35);overflow:hidden;min-width:0}
.desk-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);font:500 .78rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.clock{font:600 1.05rem/1 var(--f-mono);color:var(--ink);letter-spacing:0;font-variant-numeric:tabular-nums}
.desk-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.desk-row:last-child{border-bottom:0}
.src{width:34px;height:34px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.src svg{width:17px;height:17px}
.desk-row b{display:block;font-size:.95rem}
.desk-row small{display:block;color:var(--muted);font-size:.82rem}
.chip{font:500 .74rem/1 var(--f-mono);padding:6px 9px;border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums}
.chip.ok{background:var(--signal-soft);color:var(--signal)}
.chip.wait{background:var(--accent-soft);color:var(--accent)}
.desk-foot{padding:12px 18px;font-size:.8rem;color:var(--muted);background:var(--paper);border-top:1px solid var(--line)}

/* Grids & cards */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:12px;min-width:0}
.alt .card{background:var(--paper)}
a.card{text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
a.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.card .more{margin-top:auto;padding-top:6px;color:var(--accent);font-weight:600;font-size:.95rem}
.ico{width:44px;height:44px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.ico svg{width:22px;height:22px}

/* Split: problem/solution */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:32px}}
.ticks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.ticks li{display:grid;grid-template-columns:24px 1fr;gap:12px}
.ticks svg{width:20px;height:20px;color:var(--signal);margin-top:3px}
.ticks.x svg{color:var(--muted)}

/* Steps (real sequence) */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s;border-top:2px solid var(--ink)}
.step{padding:22px 22px 0 0;display:flex;flex-direction:column;gap:10px}
.step::before{counter-increment:s;content:"Step " counter(s);font:500 .78rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr;row-gap:28px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* Cost compare */
.compare{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.compare table{width:100%;border-collapse:collapse;min-width:560px}
.compare th,.compare td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.compare thead th{font:500 .78rem/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.compare thead th:last-child{color:var(--accent)}
.compare tr:last-child td{border-bottom:0}
.compare td:first-child{font-weight:600}
.compare td:last-child{background:var(--accent-soft)}

/* FAQ */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font:600 1.1rem/1.4 var(--f-display);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font:400 1.6rem/1 var(--f-mono);color:var(--accent)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 22px;color:var(--muted);max-width:70ch}

/* CTA band */
.band{background:var(--band);color:var(--band-ink)}
.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.band p{color:var(--band-muted);max-width:56ch;margin-top:12px}
.band .phone{font:600 clamp(1.6rem,3vw,2.2rem)/1 var(--f-mono);color:var(--band-ink);text-decoration:none;letter-spacing:-.02em}
.band .cta-side{display:flex;flex-direction:column;gap:14px;align-items:flex-start}

/* Page hero (inner) */
.page-hero{padding-block:clamp(44px,6vw,76px);border-bottom:1px solid var(--line)}
.page-hero .wrap{display:flex;flex-direction:column;gap:20px}
.crumbs{font:500 .82rem/1 var(--f-mono);color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--accent)}
.facts{display:flex;gap:12px;flex-wrap:wrap}
.fact{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font-size:.9rem}
.fact b{color:var(--accent)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
form.lead{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.lead .full{grid-column:1/-1}
@media (max-width:560px){form.lead{grid-template-columns:1fr}}
label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem}
input,select,textarea{font:400 1rem/1.4 var(--f-body);padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);width:100%}
textarea{min-height:120px;resize:vertical}
.form-note{font-size:.92rem;padding:14px 16px;border-radius:8px;background:var(--signal-soft);color:var(--ink)}
.phone-big{font:600 2rem/1 var(--f-mono);color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.copy{font:500 .82rem/1 var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:8px 12px;border-radius:8px;cursor:pointer}

/* Footer */
footer.site{background:var(--band);color:var(--band-muted);padding-block:56px 32px;font-size:.95rem}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media (max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer.site .cols{grid-template-columns:1fr}}
footer.site h4{font:500 .78rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--band-ink);margin-bottom:14px}
footer.site ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
footer.site a{color:var(--band-muted);text-decoration:none}
footer.site a:hover{color:var(--band-ink)}
footer.site .logo-text,footer.site .logo{color:var(--band-ink)}
footer.site .logo-text small{color:var(--band-muted)}
footer.site .base{margin-top:44px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--band-muted) 25%,transparent);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.85rem}
