/* Mäklarbetyg: a review platform. IBM Plex Sans, white, slate, teal; scores as coloured badges. */
@font-face{font-family:"IBM Plex Sans";src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/fonts/ibm-plex-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--slate:#1d2733;--slate2:#4b5866;--bg:#f4f6f8;--card:#fff;--teal:#0d6e66;--teal2:#e3f2f0;--amber:#e39b16;--line:#e1e6eb;--hi:#1f8a4c;--mid:#0d6e66;--lo:#b7791f;--none:#8a95a1}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--slate);font:400 16.5px/1.6 "IBM Plex Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums}
a{color:var(--teal)}
a:hover{color:var(--slate)}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:6px 10px;z-index:9}
h1,h2,h3{line-height:1.25;margin:0;color:var(--slate)}
h1{font-size:clamp(1.7rem,4vw,2.25rem);font-weight:700;margin:.3em 0 .3em}
h2{font-size:1.3rem;font-weight:700;margin:2.1em 0 .7em}
h3{font-size:1.05rem;font-weight:500}
p{margin:0 0 .9em}
.in{max-width:980px;margin:0 auto;padding:0 18px}
/* header */
.bar{background:#fff;border-bottom:1px solid var(--line)}
.bar .in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--slate);font-weight:700;font-size:1.15rem}
.brand .mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--teal);color:#fff;font-size:1rem}
.bar nav{display:flex;flex-wrap:wrap;gap:4px 18px;font-weight:500;font-size:.95rem}
.bar nav a{color:var(--slate2);text-decoration:none}
.bar nav a[aria-current],.bar nav a:hover{color:var(--teal)}
.crumbs{font-size:.85rem;color:var(--slate2);margin-top:16px}
.crumbs a{color:var(--slate2)}
/* summary + answer */
.summary{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:1em 0 1.4em}
.summary p:last-child{margin:0}
.updated{font-size:.86rem;color:var(--slate2)}
/* score badge */
.score{display:inline-grid;place-items:center;min-width:52px;height:52px;padding:0 8px;border-radius:10px;color:#fff;font-weight:700;font-size:1.3rem;background:var(--none)}
.score.hi{background:var(--hi)}.score.mid{background:var(--mid)}.score.lo{background:var(--lo)}
.score.big{min-width:96px;height:96px;font-size:2.4rem;border-radius:16px}
.stars{color:var(--amber);letter-spacing:1px;white-space:nowrap}
/* leaderboard */
.board{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.board li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 16px;align-items:center;padding:14px 18px;border-top:1px solid var(--line)}
.board li:first-child{border-top:0}
@media(min-width:720px){.board li{grid-template-columns:52px minmax(0,1fr) 220px}}
.board .who a{font-weight:500;color:var(--slate);text-decoration:none;font-size:1.05rem}
.board .who a:hover{color:var(--teal)}
.board .who small{display:block;color:var(--slate2);font-size:.85rem}
.vol{font-size:.85rem;color:var(--slate2)}
.vol b{display:block;height:6px;border-radius:3px;background:var(--line);margin-top:4px}
.vol b i{display:block;height:100%;border-radius:3px;background:var(--teal)}
@media(max-width:719px){.vol{grid-column:2}}
/* agent cards */
.agents{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.agent{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.agent a{font-weight:500;text-decoration:none;color:var(--slate)}
.agent a:hover{color:var(--teal)}
.agent .office{font-size:.86rem;color:var(--slate2)}
.agent .tag{display:inline-block;margin-top:8px;font-size:.78rem;background:var(--teal2);color:var(--teal);border-radius:6px;padding:2px 8px;font-weight:500}
/* office hero */
.hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;margin:.6em 0 1.4em}
.hero h1{margin:0 0 .2em}
.hero p{margin:0;color:var(--slate2)}
figure{margin:0}
.compare{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.compare svg{display:block;width:100%;height:auto}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.kv dt{color:var(--slate2)}.kv dd{margin:0;word-break:break-word}
.tbl{width:100%;border-collapse:collapse;background:var(--card);font-size:.95rem}
.tbl th{text-align:left;font-weight:500;color:var(--slate2);font-size:.85rem;padding:9px 12px;border-bottom:1px solid var(--line)}
.tbl td{padding:9px 12px;border-bottom:1px solid var(--line)}
.tbl .n{text-align:right;white-space:nowrap}
.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.scroll .tbl tr:last-child td{border-bottom:0}
.src{font-size:.84rem;color:var(--slate2)}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 16px;margin:8px 0}
.faq summary{cursor:pointer;font-weight:500}
.faq details p{margin:.5em 0 .2em}
.tip{background:var(--teal2);border-radius:12px;padding:14px 18px;margin:1.6em 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.chips a{display:inline-block;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 12px;text-decoration:none;color:var(--slate);font-size:.9rem}
.chips a:hover{border-color:var(--teal);color:var(--teal)}
.foot{margin-top:56px;border-top:1px solid var(--line);background:#fff;font-size:.88rem;color:var(--slate2)}
.foot .in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 30px;padding-top:22px;padding-bottom:30px}
.foot a{color:var(--slate)}
