:root{
 --bg:#faf6ee;--bg2:#f2ebdc;--card:#fffdf9;--ink:#1c2a2b;--ink2:#334244;--muted:#4f5d5f;
 --line:#e2d8c5;--accent:#13706a;--accent-d:#0d5652;--accent-l:#e3f1ef;--warm:#fbecd0;--warm-d:#7a4a0c;
 --radius:18px;--max:1120px
}
*{box-sizing:border-box}
html{font-size:112.5%;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
@media (min-width:900px){html{font-size:118.75%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-d);text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e39b2d;outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;font-weight:700;letter-spacing:-.01em;line-height:1.15;color:var(--ink)}
h1{font-size:clamp(2.05rem,5.2vw,3.2rem);margin:0 0 .5em}
h2{font-size:clamp(1.6rem,3.6vw,2.2rem);margin:0 0 .35em}
h3{font-size:1.3rem;margin:0 0 .3em}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:10px;top:10px}
/* header */
header.site{position:sticky;top:0;z-index:20;background:rgba(250,246,238,.96);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{width:44px;height:44px;border-radius:10px}
.brand b{display:block;font-size:1.08rem;line-height:1.2}
.brand small{display:block;color:var(--muted);font-size:.8rem;line-height:1.2}
nav.main{display:flex;gap:22px}
nav.main a{color:var(--ink2);text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 0}
nav.main a:hover{color:var(--accent-d);text-decoration:underline}
.callbtn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;text-decoration:none;border-radius:999px;padding:11px 18px;font-weight:700;white-space:nowrap;min-height:48px}
.callbtn:hover{background:var(--accent-d)}
.callbtn svg{width:20px;height:20px}
/* hero */
.hero{padding:56px 0 36px}
.hero .g{display:grid;grid-template-columns:1.4fr .9fr;gap:48px;align-items:center}
.kicker{color:var(--accent-d);font-weight:700;font-size:.9rem;letter-spacing:.04em;margin:0 0 12px}
.lead{font-size:1.2rem;color:var(--ink2);max-width:34em}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:12px 24px;border-radius:14px;font-weight:700;text-decoration:none;font-size:1.05rem}
.btn.primary{background:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-d)}
.btn.ghost{border:2px solid var(--ink);color:var(--ink);background:transparent}
.btn.ghost:hover{background:var(--card)}
.portrait{justify-self:center;max-width:340px;text-align:center}
.portrait img{border-radius:22px;box-shadow:0 16px 36px rgba(28,42,43,.16)}
.portrait p{margin:12px 0 0;color:var(--muted);font-size:.92rem}
.facts{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.facts li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:.95rem;color:var(--ink2)}
.facts b{display:block;color:var(--ink);font-size:1rem}
/* sections */
section{padding:64px 0 8px}
.intro{color:var(--muted);max-width:42em;font-size:1.08rem;margin-bottom:28px}
.offers{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.offer{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;display:flex;flex-direction:column}
.offer.main{border:2px solid var(--accent)}
.tag{display:inline-block;align-self:flex-start;background:var(--accent-l);color:var(--accent-d);font-weight:700;font-size:.8rem;padding:4px 12px;border-radius:999px;margin-bottom:12px}
.offer .for{color:var(--muted);margin-bottom:16px}
.price{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:0 0 16px}
.price .big{font-size:2.1rem;font-weight:800;color:var(--ink);line-height:1.1}
.price .big small{font-size:1rem;font-weight:600;color:var(--ink2)}
.price .sub{color:var(--ink2);font-size:.97rem;margin-top:4px}
.price .ask{font-size:1.35rem;font-weight:800}
ul.check{list-style:none;padding:0;margin:0 0 8px}
ul.check li{position:relative;padding:6px 0 6px 30px}
ul.check li:before{content:"";position:absolute;left:2px;top:.72em;width:16px;height:9px;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);transform:rotate(-45deg)}
.small{font-size:.92rem;color:var(--muted)}
.offer .more{margin-top:auto;padding-top:10px}
.more a{font-weight:700}
/* also */
.also{margin-top:28px;background:var(--bg2);border-radius:var(--radius);padding:24px 26px}
.also h3{font-size:1.15rem}
.also dl{display:grid;grid-template-columns:1fr auto;gap:10px 24px;margin:12px 0 0}
.also dt{font-weight:600}
.also dd{margin:0;text-align:right;color:var(--ink2);white-space:nowrap}
.also dd.l{white-space:normal}
/* stuga */
.stuga{margin-top:28px;border:2px dashed #d7b56f;background:var(--warm);border-radius:var(--radius);padding:24px 26px}
.stuga .tag{background:#fff;color:var(--warm-d)}
.stuga ul{margin:8px 0 12px;padding-left:1.2em}
.stuga li{margin:4px 0}
/* rut */
.rut{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
.rut ol{padding-left:1.3em;margin:0}
.rut ol li{margin:0 0 12px}
table.calc{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:1rem}
table.calc caption{text-align:left;font-weight:700;padding:0 0 10px;font-size:1.05rem}
table.calc th,table.calc td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left}
table.calc td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
table.calc tr.sum td{font-weight:800;background:var(--accent-l);border-bottom:0}
/* steps */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.steps li:before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;margin-bottom:10px}
.steps h3{font-size:1.1rem}
.steps p{margin:0;color:var(--muted)}
/* about */
.about{display:block;max-width:860px;gap:34px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px}
.about img{border-radius:18px}
.about ul{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.about ul li{background:var(--bg2);border-radius:999px;padding:6px 14px;font-size:.92rem}
/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:10px 0;padding:0 20px}
.faq summary{cursor:pointer;font-weight:700;padding:16px 30px 16px 0;list-style:none;position:relative;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:0;top:12px;color:var(--accent);font-size:1.5rem;line-height:1}
.faq details[open] summary:after{content:"–"}
.faq details p{color:var(--ink2)}
/* contact */
.contact{background:var(--ink);color:#fff;border-radius:24px;padding:40px 34px;margin:72px 0 28px;display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:center}
.contact h2{color:#fff}
.contact p{color:#dbe5e4;margin:0}
.contact .tel{display:block;font-size:clamp(1.9rem,4.5vw,2.5rem);font-weight:800;color:#fff;text-decoration:none;line-height:1.2}
.contact .tel:hover{text-decoration:underline}
.contact .mail{color:#a8e3dc;font-size:1.1rem;display:inline-block;margin-top:6px}
.contact .meta{margin-top:12px;color:#c3d0cf;font-size:.95rem}
footer{border-top:1px solid var(--line);padding:26px 0 46px;color:var(--muted);font-size:.92rem}
footer .f{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
footer a{color:var(--muted)}
@media (max-width:980px){
 nav.main{display:none}
 .facts{grid-template-columns:repeat(2,1fr)}
 .steps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
 .hero{padding:30px 0 20px}
 .hero .g,.offers,.rut,.contact,.about{grid-template-columns:1fr}
 .portrait{max-width:170px;justify-self:start}
 .portrait p{text-align:left}
 .steps{grid-template-columns:1fr}
 .facts{grid-template-columns:1fr 1fr;gap:10px}
 .facts li{padding:12px;font-size:.88rem}
 .price .ask{font-size:1.15rem}
 .about{text-align:left;padding:22px}
 .about img{max-width:180px}
 .brand small{display:none}
 .callbtn .txt{display:none}
 .callbtn{padding:10px 14px}
 .also dl{grid-template-columns:1fr}
 .also dd{text-align:left;white-space:normal;margin-bottom:8px}
 .contact{padding:30px 22px}
 .btn{width:100%}
}
/* subpages, mobile nav, form (2026-10-08) */
nav.mob{display:none;background:var(--bg2);border-bottom:1px solid var(--line)}
nav.mob .wrap{display:flex;flex-wrap:wrap;gap:4px 18px;padding-top:8px;padding-bottom:8px}
nav.mob a{color:var(--ink2);font-weight:600;font-size:.92rem;text-decoration:none;padding:6px 0}
nav.mob a[aria-current],nav.main a[aria-current]{color:var(--accent-d);text-decoration:underline}
.pagehero{padding:48px 0 12px}
.pagehero .lead{max-width:38em}
.crumb{font-size:.9rem;color:var(--muted);margin:0 0 14px}
.crumb a{color:var(--muted)}
.prose{max-width:46em}
.prose ul{padding-left:1.2em}
.prose li{margin:6px 0}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;margin-top:24px}
.box.alt{background:var(--bg2);border:0}
.offers.three{grid-template-columns:repeat(3,1fr)}
.form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;max-width:720px}
.form label{display:block;font-weight:600;margin:0 0 14px}
.form .opt{font-weight:400;color:var(--muted)}
.form input,.form textarea{display:block;width:100%;margin-top:6px;font:inherit;font-size:1rem;padding:12px 14px;border:1px solid #cbbfa8;border-radius:12px;background:#fff;color:var(--ink)}
.form input:focus,.form textarea:focus{outline:3px solid #e39b2d;outline-offset:1px;border-color:var(--accent)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.form button{border:0;cursor:pointer;font:inherit}
.form .note{font-size:.9rem;color:var(--muted);margin:12px 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:980px){nav.mob{display:block}.offers.three{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.offers.three{grid-template-columns:1fr}.form .row{grid-template-columns:1fr}.pagehero{padding:28px 0 4px}.form{padding:22px 18px}}
.price .big small{white-space:nowrap}
.offers.three .price .big{font-size:1.85rem}

/* 2026-10-08b: rubriken störst, pris sist och lågmält */
.offer h3{font-size:1.6rem;margin-bottom:.35em}
.offer .for{font-size:1.05rem;color:var(--ink2)}
.offer ul.check{margin-bottom:12px}
.offer .price{margin:auto 0 0;padding:14px 0 0;border-top:1px solid var(--line);border-bottom:0}
.offer .price .pline{margin:0;font-size:1rem;font-weight:600;color:var(--ink2)}
.offer .price .pnote{margin:2px 0 0;font-size:.9rem;color:var(--muted)}
.offer .price .ask{font-size:1rem;font-weight:600;color:var(--ink2)}
.offer .price ~ .more{margin-top:0;padding-top:12px}
.offer .small{margin-bottom:12px}
.offers.three .offer h3{font-size:1.45rem}
@media (max-width:720px){.offer h3,.offers.three .offer h3{font-size:1.45rem}}
