:root{--green:#26734d;--dark:#194e36;--soft:#eaf3e9;--lime:#c8df9a;--ink:#1d2a22;--muted:#657169;--paper:#fff;--bg:#f7faf5;--line:#e2eae0;--shadow:0 16px 50px #234b311a;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border:0;border-radius:999px;background:var(--green);color:#fff;font-weight:750;cursor:pointer;transition:.2s}.btn:hover{background:var(--dark);transform:translateY(-2px);box-shadow:0 8px 22px #26734d30}.btn.small{padding:9px 16px;font-size:.88rem}.btn.secondary{background:transparent;color:var(--dark);border:1px solid #bed3c1}.btn.secondary:hover{background:#fff}.brand{display:flex;align-items:center;gap:10px;font-weight:850;letter-spacing:-.03em}.brand-mark{width:41px;height:41px;border-radius:14px;background:var(--green);display:grid;place-items:center;color:#fff;font-size:1.2rem;font-weight:900}.brand small{display:block;color:var(--muted);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase;margin-top:-3px}header{position:sticky;z-index:20;top:0;background:#f7faf5ed;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.nav nav{display:flex;align-items:center;gap:27px;color:#425148;font-size:.91rem;font-weight:650}.nav nav>a:not(.btn):hover{color:var(--green)}.menu-toggle{display:none;border:0;background:none;color:var(--dark);font-size:1.5rem}.hero{padding:66px 0 62px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;z-index:-1;right:-180px;top:-210px;width:530px;height:530px;border-radius:50%;background:radial-gradient(circle,#e3efcf,transparent 70%)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:.75rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.eyebrow:before{content:"";width:21px;height:2px;background:var(--lime)}h1{font-size:clamp(2.8rem,5.5vw,4.8rem);line-height:1.04;letter-spacing:-.065em;margin:19px 0}h1 em{display:block;color:var(--green);font-style:normal}.lead{max-width:510px;color:var(--muted);font-size:1.08rem}.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:27px}.local{display:flex;align-items:center;gap:9px;margin-top:26px;color:#526158;font-size:.88rem}.local span{display:grid;place-items:center;width:31px;height:31px;background:var(--soft);color:var(--green);border-radius:10px}.hero-art{height:405px;position:relative;border-radius:32px;background:linear-gradient(145deg,#dcebd4,#bfd7b7);overflow:hidden;box-shadow:var(--shadow)}.hero-art:before{content:"";position:absolute;width:220px;height:220px;border:1px solid #ffffffaa;border-radius:50%;top:-60px;right:-50px;box-shadow:0 0 0 25px #ffffff1d,0 0 0 52px #ffffff12}.sun{position:absolute;z-index:1;right:101px;top:55px;width:37px;height:37px;border-radius:50%;background:#f3d87d}.window{position:absolute;right:52px;top:46px;width:142px;height:164px;border:8px solid white;border-radius:7px;background:linear-gradient(135deg,#edf8eb,#b8d4b4);box-shadow:0 12px 28px #426f4a22}.window:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,white 48% 52%,transparent 52%),linear-gradient(0deg,transparent 48%,white 48% 52%,transparent 52%)}.floor{position:absolute;bottom:0;width:100%;height:35%;background:repeating-linear-gradient(0deg,transparent 0 32px,#b99f7b30 33px 34px),linear-gradient(165deg,#eadcc5,#d9c3a3);clip-path:polygon(0 32%,100% 0,100% 100%,0 100%)}.sofa{position:absolute;z-index:2;left:48px;bottom:91px;width:248px;height:128px;border-radius:30px 30px 17px 17px;background:#fff;box-shadow:0 16px 22px #536c4d24}.sofa:before{content:"";position:absolute;inset:auto -10px -13px;height:39px;background:#edf0df;border-radius:14px}.sofa:after{content:"";position:absolute;left:34px;top:23px;width:72px;height:61px;background:#d6e6cb;border-radius:13px;box-shadow:84px 0 #b9d1b5}.plant{position:absolute;z-index:2;right:33px;bottom:53px;width:95px;height:140px}.plant i{position:absolute;bottom:44px;left:43px;width:20px;height:82px;background:#46835a;border-radius:100% 0 100% 0;transform-origin:bottom center}.plant i:nth-child(1){transform:rotate(-43deg);height:70px}.plant i:nth-child(2){transform:rotate(-17deg);height:96px;background:#559164}.plant i:nth-child(3){transform:rotate(18deg);height:88px;background:#397650}.plant i:nth-child(4){transform:rotate(43deg);height:68px;background:#6b9a64}.plant b{position:absolute;bottom:0;left:22px;width:60px;height:52px;background:#d99a69;clip-path:polygon(5% 0,95% 0,82% 100%,18% 100%)}.label{position:absolute;z-index:4;left:20px;top:20px;background:#fff;border-radius:14px;padding:12px 15px;color:var(--muted);font-size:.82rem;box-shadow:var(--shadow)}.label strong{color:var(--dark)}.benefits{background:#fff;border-block:1px solid var(--line)}.benefit-row{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#526158;font-size:.88rem;font-weight:650}.benefit-row span{display:flex;align-items:center;gap:9px}.benefit-row span:first-letter{color:var(--green)}section{padding:82px 0}.services,.faq{background:#fff}.section-title{max-width:650px;margin-bottom:35px}.section-title h2,.about h2,.contact h2{font-size:clamp(2rem,4vw,3.15rem);line-height:1.1;letter-spacing:-.055em;margin:12px 0}.section-title p,.about p,.contact-info>p{margin:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:23px;background:#fff;transition:transform .2s,box-shadow .2s,border .2s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#c5d9c3}.icon{width:47px;height:47px;border-radius:15px;background:var(--soft);display:grid;place-items:center;color:var(--green);font-size:1.42rem;font-weight:800;margin-bottom:15px}.card h3{font-size:1.12rem;margin:0 0 7px}.card p{font-size:.9rem;color:var(--muted);margin:0 0 15px;min-height:70px}.card a{font-size:.88rem;font-weight:800;color:var(--green)}.extra{display:flex;align-items:center;gap:13px;margin-top:19px;padding:15px 19px;border:1px solid #e2ecd9;border-radius:16px;background:#f1f6ed;color:#526158;font-size:.89rem}.extra>span{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:#fff;color:var(--green)}.extra p{margin:0}.extra strong{color:var(--dark)}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:68px;align-items:center}.about-art{height:380px;position:relative;overflow:hidden;border-radius:29px;background:#e5efdf}.circle{position:absolute;width:300px;height:300px;border-radius:50%;background:#c7ddbb;left:50%;top:52%;transform:translate(-50%,-50%)}.bucket{position:absolute;z-index:2;left:50%;top:54%;transform:translate(-50%,-20%);width:125px;height:110px;border-radius:9px 9px 19px 19px;background:#fff;box-shadow:0 17px 25px #365a3f22;display:grid;place-items:center;color:#81aa74;font-size:2.5rem}.bucket:before{content:"";position:absolute;left:12px;right:12px;top:-14px;height:18px;border:5px solid #fff;border-bottom:0;border-radius:14px 14px 0 0}.about-tag{position:absolute;z-index:3;right:17px;bottom:18px;padding:12px 15px;border-radius:14px;background:#fff;box-shadow:var(--shadow);font-size:.8rem;color:var(--muted)}.about-tag b{display:block;color:var(--dark);font-size:.9rem}.about h2{margin:13px 0 15px}.checks{display:grid;gap:12px;padding:0;margin:22px 0 27px;list-style:none;font-weight:650;color:#435047;font-size:.93rem}.checks li:first-letter{color:var(--green)}.steps-section{background:#edf4e9}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps article{padding:23px;border:1px solid #e0e9da;border-radius:18px;background:#fff}.steps small{font-size:.74rem;color:var(--green);font-weight:850;letter-spacing:.1em}.steps h3{margin:7px 0 5px;font-size:1.1rem}.steps p{margin:0;color:var(--muted);font-size:.9rem}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:46px;align-items:start}.contact h2{margin:13px 0}.contact-info>p{margin-bottom:23px}.contact-line{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.contact-line>span{width:34px;height:34px;border-radius:11px;background:var(--soft);color:var(--green);display:grid;place-items:center}.contact-line small{display:block;color:var(--muted)}.contact-line b{font-size:.92rem}.setup-note{margin-top:18px!important;font-size:.78rem}.form-card{background:#fff;border:1px solid var(--line);border-radius:23px;padding:27px;box-shadow:0 8px 30px #375b3d0a}.form-card h3{font-size:1.3rem;letter-spacing:-.025em;margin:0 0 4px}.form-card>p{margin:0 0 18px;color:var(--muted);font-size:.88rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid>label{display:grid;gap:5px;color:#425148;font-weight:700;font-size:.82rem}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea{width:100%;border:1px solid #dce5d9;border-radius:10px;background:#fbfcfa;padding:10px 11px;color:var(--ink);outline:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#6eaa81;box-shadow:0 0 0 3px #69a77b20}.form-grid textarea{min-height:95px;resize:vertical}.full{grid-column:1/-1}.form-grid>label.consent{display:flex;align-items:flex-start;gap:9px;font-weight:500;color:var(--muted)}.consent input{accent-color:var(--green);margin-top:5px}.form-submit{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.form-submit small{font-weight:400;color:var(--muted);font-size:.76rem}.result{display:none;margin-top:14px;padding:12px;border-radius:11px;background:#edf7eb;color:var(--dark);font-size:.88rem}.result.show{display:block}.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px}.faq-grid .section-title{margin:0}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{padding:18px 35px 18px 0;cursor:pointer;list-style:none;font-weight:750;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:2px;top:13px;color:var(--green);font-size:1.35rem;font-weight:400}details[open] summary:after{content:"−"}details p{color:var(--muted);font-size:.91rem;margin:-2px 0 18px}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0;color:#eef5eb}.footer .brand small{color:#b9d0bc}.footer>div{display:flex;gap:19px;color:#d4e3d3;font-size:.85rem}.footer>small{color:#b9d0bc;font-size:.78rem}.footer .brand-mark{background:#fff;color:var(--green)}footer{background:#173f2d}.chat-launcher{position:fixed;z-index:30;right:23px;bottom:20px;border:0;border-radius:999px;background:var(--green);color:white;display:flex;align-items:center;gap:9px;padding:13px 18px;font-weight:760;box-shadow:0 10px 28px #204d3360;cursor:pointer}.chat-launcher span{font-size:1.25rem}.chat-panel{position:fixed;z-index:31;right:22px;bottom:83px;width:min(355px,calc(100vw - 28px));height:475px;max-height:calc(100dvh - 110px);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 60px #1b3c2840;display:none;overflow:hidden;flex-direction:column}.chat-panel.open{display:flex}.chat-head{padding:15px 17px;background:var(--green);color:#fff;display:flex;justify-content:space-between;align-items:center}.chat-head b,.chat-head small{display:block}.chat-head small{color:#d5e9d7;font-size:.75rem}.chat-head button{border:0;background:#ffffff20;color:white;width:31px;height:31px;border-radius:50%;font-size:1.2rem;cursor:pointer}.chat-log{flex:1;overflow:auto;padding:15px;background:#f8faf6;display:flex;flex-direction:column;gap:9px}.bubble{max-width:88%;padding:10px 12px;border-radius:14px;font-size:.85rem;line-height:1.5}.bubble.bot{align-self:flex-start;background:white;border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.user{align-self:flex-end;background:var(--green);color:white;border-bottom-right-radius:4px}.quick{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 10px;background:#f8faf6}.quick button{border:1px solid #c8ddc7;color:var(--dark);background:white;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:700;cursor:pointer}.chat-form{display:flex;gap:8px;padding:11px;border-top:1px solid var(--line)}.chat-form input{flex:1;min-width:0;border:1px solid #dce5d9;border-radius:999px;padding:9px 12px;outline:0}.chat-form input:focus{border-color:#75a984}.chat-form button{width:40px;height:40px;border:0;border-radius:50%;background:var(--green);color:white;cursor:pointer;font-size:1.1rem}
@media(max-width:900px){.hero-grid{gap:26px}.hero-art{height:360px}.sofa{transform:scale(.84);transform-origin:left bottom;left:28px}.plant{right:13px}.cards{grid-template-columns:repeat(2,1fr)}.about{gap:35px}.contact{gap:25px}.faq-grid{gap:32px}.benefit-row{font-size:.79rem}}
@media(max-width:700px){.wrap{width:calc(100% - 30px)}.nav{height:67px}.menu-toggle{display:block}.nav nav{display:none;position:absolute;top:66px;left:0;right:0;padding:12px 20px 18px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav nav.open{display:flex}.nav nav>a{padding:10px 4px}.nav nav .nav-cta{text-align:center;margin-top:7px}.hero{padding:45px 0}.hero-grid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(2.7rem,12vw,4rem)}.lead{font-size:1rem}.hero-art{height:330px}.benefit-row{display:grid;grid-template-columns:1fr 1fr;padding:15px 0;gap:10px}.benefit-row span{font-size:.76rem}section{padding:63px 0}.section-title{margin-bottom:26px}.cards{grid-template-columns:1fr;gap:12px}.card{padding:20px}.card p{min-height:0}.about,.contact,.faq-grid{grid-template-columns:1fr;gap:28px}.about-art{height:305px;order:2}.steps{grid-template-columns:1fr;gap:11px}.steps article{padding:20px}.form-card{padding:21px 17px}.form-grid{grid-template-columns:1fr}.full{grid-column:1}.form-submit{align-items:flex-start;flex-direction:column}.footer{align-items:flex-start;flex-direction:column}.footer>div{flex-wrap:wrap;gap:14px}.chat-launcher{right:14px;bottom:13px}.chat-panel{right:14px;bottom:74px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Brand identity sampled from the supplied Viktor Städ & Bygg logo. */
:root{--green:#789d68;--dark:#263f58;--soft:#eff5eb;--lime:#a5c991;--ink:#233447}
.nav{height:98px}
.brand{display:block;flex:none;line-height:0}
.brand-logo{display:block;width:138px;height:91px;object-fit:cover;object-position:center top;border-radius:8px;background:#fff}
.eyebrow,.card a{color:#4f7546}
.btn,.chat-launcher,.chat-form button{background:var(--dark)}
.btn:hover{background:#172d42}
.btn.secondary{color:var(--dark);border-color:#c8d5c8}
.icon,.local span{color:var(--dark)}
.chat-head{background:var(--dark)}
.chat-head small{color:#dbe8ee}
.bubble.user{background:var(--dark)}
.footer .brand-logo{height:91px}
@media(max-width:700px){.nav{height:89px}.nav nav{top:88px}.brand-logo{width:124px;height:82px}.footer .brand-logo{height:82px}}
