:root{--blue:#064a96;--navy:#102b49;--wine:#920e35;--ink:#17283a;--muted:#64748b;--pale:#f3f7fb;--line:#e2e9f0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.65}a{color:var(--blue)}a:hover{color:var(--wine)}.container{max-width:1160px}.site-header{background:#fff;box-shadow:0 2px 16px #122b4610;position:relative;z-index:5}.navbar{min-height:84px}.navbar-brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-size:1rem;font-weight:800;letter-spacing:.025em;white-space:normal}.navbar-brand:hover{color:var(--blue)}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:var(--blue);color:white;font-weight:800;font-size:.9rem}.navbar .nav-link{color:var(--navy);font-weight:650;font-size:.93rem}.navbar .nav-link:hover{color:var(--blue)}.btn{font-weight:700;border-radius:10px;padding:.75rem 1.25rem;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-1px)}.btn-blue{background:var(--blue);border:2px solid var(--blue);color:#fff}.btn-blue:hover{background:#073c77;border-color:#073c77;color:#fff}.btn-wine{background:var(--wine);color:#fff}.btn-wine:hover{background:#700c2b;color:#fff}.btn-outline-blue{color:var(--blue);border:2px solid #bed1e6}.btn-outline-blue:hover{background:#eaf2fc;color:var(--blue)}.btn-outline-wine{color:var(--wine);border:1.5px solid var(--wine)}.btn-outline-wine:hover{background:var(--wine);color:#fff}.eyebrow{color:var(--blue);font-weight:800;font-size:.77rem;letter-spacing:.13em;text-transform:uppercase}.eyebrow-dot{display:inline-block;width:8px;height:8px;background:var(--wine);border-radius:50%;margin-right:8px}.hero{padding:86px 0 92px;background:linear-gradient(135deg,#f3f8fd,#fff 65%);overflow:hidden}.hero h1{font-weight:800;letter-spacing:-.05em;font-size:clamp(2.9rem,5.4vw,5rem);line-height:1.08;color:var(--navy);margin:25px 0}.hero h1 span{color:var(--blue)}.hero-lead{font-size:1.13rem;color:#52657a;max-width:620px;margin-bottom:30px}.hero-note{font-size:.83rem;color:#64748b;margin-top:28px}.hero-photo-wrap{position:relative;margin:0 0 18px 16px}.hero-photo{width:100%;height:440px;object-fit:cover;object-position:65% 40%;border-radius:22px;box-shadow:0 24px 55px #0b2d4a23}.hero-photo-label{position:absolute;left:-28px;bottom:-20px;background:#fff;border-radius:14px;box-shadow:0 12px 30px #102b4926;padding:18px 24px;display:flex;flex-direction:column;line-height:1.4}.hero-photo-label strong{color:var(--navy)}.hero-photo-label span{color:var(--muted);font-size:.84rem}.section{padding:90px 0}.services{background:var(--pale)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}.section-heading h2,.about h2,.cta h2{font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.035em;font-weight:800;color:var(--navy);margin:12px 0 0}.section-heading p{max-width:460px;color:var(--muted);margin:0}.service-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 30px #1a395408}.service-card>img{width:100%;height:270px;object-fit:cover;display:block}.service-body{padding:28px 30px 32px}.service-number{font-size:.75rem;font-weight:800;letter-spacing:.09em;color:var(--wine);margin-bottom:12px}.service-card h3{font-size:1.52rem;letter-spacing:-.025em;font-weight:800;color:var(--navy)}.service-card p{color:var(--muted);margin-bottom:0}.about-image{overflow:hidden;border-radius:20px;box-shadow:0 18px 45px #12324a1a}.about-image img{display:block;width:100%;height:470px;object-fit:cover;object-position:68% 45%}.about h2{margin:16px 0 22px}.about p{color:#5e7083}.text-link{font-weight:800;text-decoration:none;display:inline-block;margin-top:12px}.cta{padding:0 0 80px}.cta-inner{background:var(--navy);color:#fff;border-radius:20px;padding:50px 55px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta .eyebrow{color:#a6c8f2}.cta h2{color:#fff;margin:12px 0}.cta p{color:#c4d2e2;margin:0}.cta .btn{white-space:nowrap;color:var(--navy)}.site-footer{background:#f6f8fb;border-top:1px solid var(--line);padding:50px 0 24px;color:#64748b}.site-footer a{color:var(--navy);text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-name{color:var(--navy);font-size:1.15rem}.footer-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--navy);margin-bottom:10px}.footer-bottom{border-top:1px solid #dce5ee;margin-top:35px;padding-top:20px;font-size:.8rem}.form-hero{text-align:center;padding:68px 0 55px;background:var(--pale)}.form-hero h1{font-size:clamp(2.4rem,4vw,3.8rem);font-weight:800;letter-spacing:-.04em;color:var(--navy);margin:13px 0}.form-hero p{color:var(--muted);max-width:620px;margin:0 auto}.form-section{padding:60px 0 100px;background:#fbfcfe}.form-card,.info-card{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px #122b4609}.form-card{padding:38px}.form-step{display:flex;align-items:center;gap:14px;color:var(--blue);font-size:.82rem;font-weight:800;margin-bottom:23px}.form-step span{color:var(--navy);font-size:1.25rem;letter-spacing:-.02em}.form-card label{display:block;font-weight:700;font-size:.9rem;color:var(--navy);margin-bottom:8px}.form-control,.form-select{background:#f7f9fc;border:1px solid #dce5ef;border-radius:10px;min-height:51px;padding:12px 15px;color:var(--ink)}textarea.form-control{min-height:160px}.form-control:focus,.form-select:focus{background:white;border-color:var(--blue);box-shadow:0 0 0 3px #064a9620}.field-error{font-size:.83rem;color:#ad183b;margin-top:5px}.form-hint{font-size:.83rem;color:var(--muted);margin-top:8px}.info-card{padding:30px}.info-card h2{font-size:1.28rem;font-weight:800;color:var(--navy);margin-bottom:14px}.info-card p{color:var(--muted);font-size:.95rem}.info-card.urgent{background:#fff8f9;border-color:#f4dce3}.info-icon{background:#fce2e8;color:var(--wine);border-radius:12px;width:40px;height:40px;display:grid;place-items:center;font-size:1.3rem;font-weight:800;margin-bottom:16px}.honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.confirmation{text-align:center;max-width:650px;margin:20px auto 50px;background:#fff;padding:60px 35px;border-radius:20px;border:1px solid var(--line)}.confirmation h1{font-size:2.4rem;font-weight:800;color:var(--navy);margin:12px 0}.confirmation p{color:var(--muted);margin-bottom:30px}.checkmark{display:grid;place-items:center;background:#e1f4eb;color:#087647;width:70px;height:70px;border-radius:50%;font-size:2rem;margin:0 auto 24px}.skip-link{position:absolute;top:8px;left:8px;z-index:1000;background:#fff;padding:8px}@media(max-width:991.98px){.navbar-collapse{padding:16px 0 10px}.navbar-nav{align-items:stretch!important}.navbar-nav .btn{margin-top:8px;text-align:center}.hero{padding:55px 0 70px}.hero-photo-wrap{margin:5px 15px 20px}.hero-photo{height:400px}.section{padding:65px 0}.section-heading{align-items:start;flex-direction:column;gap:12px}.cta-inner{padding:38px;align-items:start;flex-direction:column}.about-image img{height:390px}}@media(max-width:575.98px){.navbar{min-height:70px}.navbar-brand{font-size:.81rem;gap:8px}.brand-mark{width:37px;height:37px}.hero{padding:44px 0 62px}.hero h1{font-size:2.85rem}.hero-lead{font-size:1rem}.hero .btn{width:100%}.hero-photo{height:320px}.hero-photo-label{left:-10px;bottom:-12px;padding:12px 16px;font-size:.9rem}.hero-note{font-size:.78rem}.section{padding:55px 0}.service-card>img{height:220px}.service-body{padding:23px}.about-image img{height:330px}.cta{padding-bottom:50px}.cta-inner{padding:30px 24px}.cta .btn{width:100%;white-space:normal}.form-hero{padding:48px 0}.form-section{padding:35px 0 60px}.form-card{padding:23px 18px}.info-card{padding:24px}.confirmation{padding:40px 22px}.confirmation h1{font-size:2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}


/* Mobilanpassning */
@media (max-width: 767px) {

    .hero {
        padding-top: 42px;
        padding-bottom: 45px;
    }

    .hero h1 {
        font-size: clamp(2.3rem, 9vw, 3.2rem);
        line-height: 1.08;
        letter-spacing: -0.04em;
    }

    .hero p {
        font-size: 1.05rem;
        line-height: 1.6;
    }

    .hero-actions {
        gap: 12px;
        margin-top: 25px;
    }

    .hero-image {
        margin-top: 25px;
    }

    .hero-image img {
        width: 100%;
        max-height: 380px;
        object-fit: cover;
        object-position: center 35%;
    }
}

@media (max-width: 767px) {

    /* Sidans huvudrubrik */
    .page-hero {
        padding: 45px 16px;
    }

    .page-hero h1 {
        font-size: clamp(2rem, 8vw, 2.7rem);
        line-height: 1.15;
    }

    .page-hero p {
        font-size: 1rem;
        line-height: 1.5;
    }

    /* Formulärets kort */
    .form-card {
        padding: 24px 18px;
    }

    /* Formulärfält */
    .form-control,
    .form-select {
        font-size: 16px;
        min-height: 48px;
    }

    /* Rubriker i formuläret */
    .form-section-title {
        font-size: 1.25rem;
        margin-bottom: 20px;
    }
}

/* Felanmälan - dator */
.fault-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
    gap: 32px;
    align-items: start;
}

.fault-form,
.fault-sidebar {
    min-width: 0;
}

.fault-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Felanmälan - mobil */
@media (max-width: 991px) {
    .fault-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .fault-sidebar {
        width: 100%;
    }
}


/* Logotyp i navigationsfältet */
.navbar-brand .brand-logo {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 50%;
    flex-shrink: 0;
    display: block;
}

/* Företagsnamn */
.navbar-brand .brand-name {
    font-size: 18px;
    font-weight: 800;
    color: #102b4c;
    letter-spacing: 0.2px;
    white-space: nowrap;
}

/* Surfplatta och mobil */
@media (max-width: 576px) {
    .navbar-brand {
        gap: 10px !important;
        margin-right: 8px;
    }

    .navbar-brand .brand-logo {
        width: 42px;
        height: 42px;
    }

    .navbar-brand .brand-name {
        font-size: 13px;
        letter-spacing: 0;
    }
}

/* Extra små mobiler */
@media (max-width: 380px) {
    .navbar-brand .brand-logo {
        width: 38px;
        height: 38px;
    }

    .navbar-brand .brand-name {
        font-size: 11px;
    }
}
