/* Avtalslagen design system v1. Shared rules load after page-specific layouts. */
:root{--ink:#171714;--soft:#69665e;--muted:#69665e;--ink-soft:#4b4943;--paper:#f4f1ea;--paper2:#faf8f3;--paper-2:#faf8f3;--white:#fffdf8;--deep:#12130f;--warm:#b9894e;--line:rgba(23,23,20,.18);--danger:#9d3d32;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--ds-accent-ink:#805a2e;--ds-space-1:8px;--ds-space-2:16px;--ds-space-3:24px;--ds-space-4:32px;--ds-space-6:48px;--ds-space-8:64px;--ds-space-12:96px;--ds-width:1240px;--ds-reading:740px;--ds-gutter:clamp(20px,4vw,48px);--ds-h1:clamp(44px,6vw,80px);--ds-h2:clamp(32px,4vw,48px);--ds-h3:clamp(24px,2.4vw,30px)}
*{box-sizing:border-box}body{font-family:var(--sans);color:var(--ink);background:var(--paper2)}
.container,.ds-container{width:min(var(--ds-width),calc(100% - 2*var(--ds-gutter)));margin-inline:auto}
button,input,select,textarea{font-family:var(--sans)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--warm);outline-offset:4px}
.eyebrow,.ai-eyebrow,.step-count{font-size:11px;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;font-weight:700;color:var(--ds-accent-ink)}
.hero .eyebrow,.cta .eyebrow,.ds-header .eyebrow{color:#d7b37e}
body:not([data-page-kind="home"]):not([data-page-kind="wizard"]) .hero{padding:var(--ds-space-8) 0 var(--ds-space-8);background:var(--deep);color:var(--white)}
body:not([data-page-kind="home"]):not([data-page-kind="wizard"]) .hero h1{font:400 var(--ds-h1)/1.04 var(--serif);letter-spacing:-.035em;max-width:1000px;margin:var(--ds-space-2) 0 var(--ds-space-3)}
.hero .crumbs{margin-bottom:var(--ds-space-4)}
.hero p,.hero .lead{max-width:800px}
.article h2,.law h3,.section-head h2,.clusters h2,.latest h2{font:400 var(--ds-h2)/1.12 var(--serif);letter-spacing:-.025em}
.article h3{font:400 var(--ds-h3)/1.25 var(--serif)}
.article,.law{max-width:var(--ds-reading);line-height:1.75}
.cta{padding:var(--ds-space-8) 0;background:var(--deep);color:var(--white)}
.cta h2{font:400 clamp(36px,4.5vw,60px)/1.08 var(--serif);letter-spacing:-.03em;margin:var(--ds-space-2) 0 var(--ds-space-3)}
.btn,.button,.cta-button,.ds-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:14px 20px;border:1px solid var(--warm);border-radius:0;font:700 11px/1.5 var(--sans);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.btn.filled,.button,.button.primary,.cta-button,.ds-button{background:var(--warm);color:var(--deep);border-color:var(--warm)}
.btn.filled:hover,.button:hover,.cta-button:hover,.ds-button:hover{background:#cfab7b;color:var(--deep)}
.button:not(.primary)[type="button"]{background:transparent;color:var(--ink);border-color:var(--line)}
.button:disabled{opacity:.4;cursor:not-allowed}
.notice,.callout,.source-note,.privacy-note,.ai-page .ai-note{background:var(--paper);border:0;border-left:3px solid var(--warm);padding:var(--ds-space-3);line-height:1.65}
.field input,.field textarea,.field select{min-height:48px;border:1px solid var(--line);padding:12px 14px;border-radius:0;background:var(--white);color:var(--ink)}
.field{margin-block:24px}.field label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.field small{display:block;color:var(--soft);font-size:12px;margin-top:8px}.ds-guide-section .field{max-width:520px}.ds-guide-section .field input{width:100%}
.ds-header{position:relative;z-index:10;background:var(--deep);color:var(--white);border-bottom:1px solid #ffffff26}
.ds-header-inner{min-height:88px;display:flex;gap:32px;align-items:center;justify-content:space-between}
.ds-brand{font:24px/1.2 var(--serif);letter-spacing:.02em;text-decoration:none;white-space:nowrap;color:var(--white)}
.ds-desktop{display:flex;gap:22px;align-items:center}
.ds-header a:not(.ds-brand){font:700 10px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--white)}
.ds-header a[aria-current="page"],.ds-header a[aria-current="location"]{color:#d7b37e;text-decoration:underline;text-underline-offset:7px}
.ds-header a:hover{color:#d7b37e}.ds-header .ds-nav-cta{border:1px solid #ffffff80;padding:13px 16px;white-space:nowrap}
.ds-header--home{background:transparent}.ds-header--home .ds-container{width:100%}
.ds-mobile{display:none}.ds-mobile summary{cursor:pointer;list-style:none;border:1px solid #ffffff80;padding:12px 18px;font-size:12px}.ds-mobile summary::-webkit-details-marker{display:none}
.ds-mobile nav{position:absolute;top:100%;left:0;right:0;padding:24px var(--ds-gutter);display:grid;gap:4px;background:var(--deep);border-bottom:1px solid #ffffff40;box-shadow:0 16px 24px #0002}
.ds-mobile nav a{display:block;padding:12px 0}.ds-mobile .ds-nav-cta{margin-top:12px;padding:14px}
.ds-footer{background:var(--deep);color:var(--white);padding:var(--ds-space-8) 0 var(--ds-space-3);border-top:1px solid #ffffff26}
.ds-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--ds-space-8)}
.ds-footer p{font:14px/1.7 var(--sans);color:#fffdf8b8;max-width:340px}.ds-footer h2{font:700 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:#d7b37e;margin:0 0 18px}
.ds-footer nav{display:grid;gap:12px}.ds-footer nav a{font-size:13px;text-decoration:none}.ds-footer nav a:hover{text-decoration:underline;text-underline-offset:4px}
.ds-footer .ds-button{margin-top:10px}.ds-footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid #ffffff26;font-size:11px;color:#fffdf8a6}
.ds-skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--white);color:var(--ink);padding:12px 20px}.ds-skip:focus{top:12px}
.ds-guide-section{padding:64px 0;border-bottom:1px solid var(--line)}.ds-guide-section h2{font:400 var(--ds-h2)/1.1 var(--serif);margin:0 0 28px}.ds-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.ds-swatch{border:1px solid var(--line);padding:20px}.ds-color{height:80px;margin-bottom:16px}.ds-samples{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.ds-guide-section p{max-width:740px}.ds-rule-list{line-height:1.8;max-width:800px}
@media(max-width:1100px){.ds-desktop{display:none}.ds-mobile{display:block}.ds-header-inner{min-height:76px}.ds-footer-grid{gap:32px}}
@media(max-width:700px){.ds-footer-grid,.ds-swatches{grid-template-columns:1fr 1fr}.ds-footer-grid>div:first-child{grid-column:1/-1}.ds-header-inner{gap:16px}.ds-brand{font-size:21px}.ds-footer{padding-top:48px}.ds-guide-section{padding:40px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
