:root{--red:#c51f26;--red-dark:#a81920;--ink:#242424;--muted:#6d6d6d;--soft:#f7f4f2;--line:#eadfdb;--shadow:0 18px 55px rgba(38,26,22,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:'Nunito Sans',Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eee}.nav{min-height:82px;display:flex;align-items:center;gap:28px}.brand{margin-right:auto}.brand img{width:155px;max-height:65px;object-fit:contain}.nav nav{display:flex;gap:24px;font-weight:700}.nav nav a:hover{color:var(--red)}.nav-contact{display:none;font-weight:800;color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 23px;border:1px solid transparent;border-radius:16px;background:var(--red);color:#fff;font-size:15px;font-weight:800;line-height:1.2;box-shadow:0 7px 20px rgba(197,31,38,.17);transition:background .2s,transform .2s,box-shadow .2s}.btn:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 11px 26px rgba(197,31,38,.2)}.btn.alt{background:#fff;color:var(--red);border-color:#e7c5c7;box-shadow:0 3px 12px rgba(0,0,0,.03)}.btn.alt:hover{background:#fff4f4}.btn.light{background:#fff;color:var(--red)}:is(a,button,input,textarea):focus-visible{outline:3px solid #f3a5aa;outline-offset:3px}
.hero{padding:80px 0 72px;background:linear-gradient(120deg,#fff 0%,#fff8f7 60%,#f5ece8 100%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.eyebrow{color:var(--red);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero h1{font-size:clamp(3rem,6vw,5.5rem);line-height:1.02;letter-spacing:-.045em;margin:14px 0 24px}.hero p{max-width:620px;color:var(--muted);font-size:1.18rem}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:30px}.hero .actions{gap:14px;margin-top:34px}.hero .actions .btn{min-height:54px;white-space:nowrap}.photo{overflow:hidden;border-radius:30px;background:#eadfdb;box-shadow:var(--shadow);aspect-ratio:4/4.4}.photo img{width:100%;height:100%;object-fit:cover;object-position:center}
section{padding:88px 0}.section-head{max-width:720px;margin-bottom:38px}.section-head h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.035em;margin:7px 0 15px}.section-head p{font-size:1.08rem;color:var(--muted)}.services{background:var(--soft)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{min-width:0;padding:15px;border-radius:24px;background:#fff;box-shadow:0 8px 28px rgba(45,30,25,.06)}.service-photo{height:180px;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;border-radius:18px;background:#f5efed}.service-photo img{width:100%;height:100%;max-width:140px;max-height:140px;object-fit:contain;object-position:center}.card h3{margin:18px 7px 6px;font-size:1.3rem;line-height:1.3}.card p{margin:0 7px 13px;color:var(--muted)}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px;align-items:center}.check{display:grid;gap:12px;margin-top:25px}.check div{padding:13px 16px;border:1px solid var(--line);border-radius:15px;background:#fff}.rut{background:#2b2928;color:#fff}.rut .section-head p{color:#d7d0cd}.rut .eyebrow{color:#ffaaa9}.contact{background:#fff7f5}.contact-box{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:48px;border-radius:30px;background:#fff;box-shadow:var(--shadow)}.contact-box h2{font-size:clamp(2rem,3vw,2.5rem);margin:0 0 8px}.contact-box p{margin:0;color:var(--muted)}.contact-phone{display:inline-block;margin-top:12px;color:var(--red);font-size:1.18rem;font-weight:800}.contact-phone:hover{text-decoration:underline}
footer{padding:35px 0;border-top:1px solid #eee;color:#777}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.foot a:hover{color:var(--red)}.floating{position:fixed;right:22px;bottom:22px;z-index:25}
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(20,16,15,.58)}.modal.open{display:flex}.dialog{position:relative;width:min(650px,100%);max-height:90vh;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:28px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.close{position:absolute;top:15px;right:17px;width:42px;height:42px;border:0;border-radius:50%;background:#f5eeee;font-size:1.45rem}.close:hover{background:#eadfdb}.dialog h2{font-size:2rem;line-height:1.2;margin:0 45px 6px 0}.dialog>p{color:var(--muted);margin:0}.dialog form{display:grid;gap:15px;margin-top:23px}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}form label{font-size:.92rem;font-weight:800}form input:not([type=radio]):not([type=checkbox]),form textarea{width:100%;margin-top:6px;padding:13px 14px;border:1px solid #d9d2cf;border-radius:13px;background:#fff;outline:none}form input:focus,form textarea:focus{border-color:var(--red)}textarea{min-height:115px;resize:vertical}.form-section{min-width:0;margin:2px 0 0;padding:0;border:0}.form-title{display:block;margin-bottom:11px;font-size:.92rem;font-weight:800}.choice-group{display:flex;flex-wrap:wrap;gap:10px}.choice{position:relative;cursor:pointer}.choice input{position:absolute;width:1px;height:1px;opacity:0}.choice span{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border:1px solid #e2d8d5;border-radius:12px;background:#fff;color:#333;font-size:14px;font-weight:700;transition:background .2s,color .2s,border-color .2s}.choice:hover span{background:#fff5f5;border-color:var(--red)}.choice input:checked+span{background:var(--red);color:#fff;border-color:var(--red)}.choice input:focus-visible+span{outline:3px solid #f3a5aa;outline-offset:3px}.submit-btn{width:100%}.note{margin:0;color:#777;font-size:.8rem}
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:200;padding:22px 26px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.cookie-banner[hidden]{display:none}.cookie-inner{width:min(1120px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.cookie-info{max-width:700px}.cookie-info h3{margin:0 0 6px}.cookie-info p{margin:0;color:var(--muted)}.cookie-info a{color:var(--red);font-weight:700;text-decoration:underline}.cookie-actions{display:flex;gap:10px;flex-shrink:0}
@media(max-width:900px){.nav nav{display:none}.nav-contact{display:inline}.hero-grid,.split{grid-template-columns:1fr;gap:38px}.hero{padding-top:55px}.photo{aspect-ratio:16/10}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-box{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.cookie-banner{left:10px;right:10px;bottom:10px;padding:20px}.cookie-inner{flex-direction:column;align-items:stretch;gap:18px}.cookie-actions{flex-direction:column}.cookie-actions .btn{width:100%}}
@media(max-width:560px){.wrap{width:calc(100% - 26px)}.nav{min-height:72px}.brand img{width:130px}.hero h1{font-size:clamp(2.7rem,11vw,3.2rem)}.hero .actions{gap:10px}.hero .actions .btn{padding:13px 18px;font-size:14px}.cards{grid-template-columns:1fr}.row{grid-template-columns:1fr}.dialog{padding:26px 20px}.floating{right:13px;bottom:13px}.contact-box{padding:30px}.choice-group{gap:8px}.choice span{padding:10px 14px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Formulärstatus och osynligt spamfält */
.hp-field { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.form-feedback {padding:12px 15px;border-radius:12px;background:#eaf7ed;color:#185c2c;margin:0;}
.form-feedback.error {background:#fff0f0;color:#9d1420;}
form button[type="submit"]:disabled {opacity:.65;cursor:wait;}
/* ==========================
   FOOTER
========================== */

footer {
    background: #f8f9fa;
    border-top: 1px solid #e5e5e5;
    padding: 35px 0;
    color: #667085;
}

.footer-content {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    gap: 40px;
    align-items: center;
}

/* Företagsinformation */

.footer-company {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-company strong {
    color: #333;
    font-size: 16px;
}

.footer-company span {
    font-size: 14px;
}

/* Kontaktuppgifter */

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-contact a {
    color: #667085;
    text-decoration: none;
    font-size: 14px;
}

.footer-contact a:hover {
    color: #c71920;
}

/* Länkar och copyright */

.footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    font-size: 14px;
}

.footer-links a {
    color: #667085;
    text-decoration: none;
}

.footer-links a:hover {
    color: #c71920;
}

/* Mobilanpassning */

@media (max-width: 768px) {

    .footer-content {
        grid-template-columns: 1fr;
        gap: 25px;
        text-align: center;
    }

    .footer-company,
    .footer-contact,
    .footer-links {
        align-items: center;
    }

}
