:root{
  --nesk-blue:#0A4FA3;       /* IKEA-ish blue */
  --nesk-yellow:#FFD200;     /* IKEA-ish yellow */
  --nesk-ink:#0F172A;        /* slate-900 */
  --nesk-muted:#475569;      /* slate-600 */
  --nesk-bg:#F8FAFC;         /* slate-50 */
  --nesk-card:#FFFFFF;
  --nesk-line:#E2E8F0;       /* slate-200 */
  --nesk-radius:14px;
  --nesk-shadow:0 14px 40px rgba(2,6,23,.06);
  --nesk-max:1180px;
  --nesk-font:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--nesk-font);
  color:var(--nesk-ink);
  background:var(--nesk-bg);
  line-height:1.6;
}

a{color:var(--nesk-blue); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; height:auto; display:block}

.container{max-width:var(--nesk-max); margin:0 auto; padding:0 20px}
.stack>*+*{margin-top:14px}

.skip-link{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{left:20px; top:20px; width:auto; height:auto; padding:10px 12px; background:#fff; border:1px solid var(--nesk-line); border-radius:10px; z-index:9999}

.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(248,250,252,.85);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--nesk-line);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:18px; position:relative;}
.brand{display:flex; align-items:center; gap:10px; min-width:180px}
.brand-mark{
  width:38px; height:38px; border-radius:12px;
  background:linear-gradient(135deg,var(--nesk-blue),#083B7A);
  display:grid; place-items:center;
  box-shadow:0 10px 20px rgba(10,79,163,.25);
}
.brand-mark span{color:#fff; font-weight:800; letter-spacing:.5px}
.brand-name{font-weight:800; letter-spacing:.2px}
.brand-tag{color:var(--nesk-muted); font-size:13px}

.nav-toggle {
    display:none;
    flex-direction:column;
    gap:4px;
    background:none;
    border:0;
    cursor:pointer;
    margin-left:auto;
}

.nav-toggle span{
  width:22px;
  height:2px;
  background:#0f172a;
  display:block;
  transition:transform .2s ease, opacity .2s ease;
}

.nav-toggle.open span:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}

.nav-toggle.open span:nth-child(2){
  opacity:0;
}

.nav-toggle.open span:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}

.primary-nav ul{display:flex; gap:14px; list-style:none; padding:0; margin:0; align-items:center}
.primary-nav a{display:inline-block; padding:10px 12px; border-radius:12px; color:var(--nesk-ink)}
.primary-nav a:hover{background:#fff; text-decoration:none; box-shadow:0 8px 20px rgba(2,6,23,.06)}
.primary-nav .cta a{
  background:var(--nesk-yellow);
  color:#111827;
  font-weight:800;
  border:1px solid rgba(0,0,0,.08);
}
.primary-nav .cta a:hover{filter:brightness(.97)}

.hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--nesk-line);
  margin-bottom:40px;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(248,250,252,.98) 0%, rgba(248,250,252,.82) 35%, rgba(248,250,252,.55) 60%, rgba(248,250,252,.25) 100%),
    var(--hero-image);
  background-size:cover;
  background-position:center;
  filter:saturate(1.05) contrast(1.02);
  transform:scale(1.02);
}
.hero-inner{
  position:relative;
  padding:72px 0;
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:28px;
  align-items:center;
}
.hero h1{
  margin:0;
  font-size:clamp(32px, 4vw, 54px);
  line-height:1.05;
  letter-spacing:-.02em;
}
.hero p{color:var(--nesk-muted); font-size:18px; margin:12px 0 0}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid var(--nesk-line);
  background:#fff;
  color:var(--nesk-ink);
  font-weight:700;
  box-shadow:0 10px 24px rgba(2,6,23,.06);
}
.btn:hover{text-decoration:none; transform:translateY(-1px)}
.btn-primary{
  background:var(--nesk-blue);
  color:#fff;
  border-color:rgba(255,255,255,.18);
  box-shadow:0 16px 34px rgba(10,79,163,.22);
}
.btn-primary:hover{filter:brightness(1.02)}

.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 5px 15px;
  border:1px solid var(--nesk-line);
  background:rgba(255,255,255,.8);
  border-radius:999px;
  font-size:13px;
  color:var(--nesk-muted);
  margin-bottom: 24px;
  background-color: white;
}

.card{
  background:var(--nesk-card);
  border:1px solid var(--nesk-line);
  border-radius:var(--nesk-radius);
  box-shadow:var(--nesk-shadow);
}
.card-pad{padding:18px}

.grid{
  display:grid;
  gap:16px;
}

.grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.grid-2{grid-template-columns:repeat(2,1fr)}
.section{padding:72px 0}

.section h2{
    margin:0 0 14px; 
    font-size:32px;
    letter-spacing:-0.015em;
    line-height:1.2;
    font-weight:800;
}

.kicker{color:var(--nesk-blue); font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:12px}
.small{color:var(--nesk-muted); font-size:14px}
.icon{
  width:42px; height:42px; border-radius:14px;
  background:rgba(10,79,163,.10);
  display:grid; place-items:center;
  border:1px solid rgba(10,79,163,.18);
}
.icon svg{width:20px; height:20px; fill:var(--nesk-blue)}
.list{margin:12px 0 0; padding-left:18px; color:var(--nesk-muted)}
.list li{margin:6px 0}

.steps{
  counter-reset:step;
  display:grid; gap:14px;
}
.step{
  display:flex; gap:12px; align-items:flex-start;
  padding:16px;
  border-radius:var(--nesk-radius);
  border:1px solid var(--nesk-line);
  background:rgba(255,255,255,.75);
}
.step::before{
  counter-increment:step;
  content:counter(step);
  width:32px; height:32px;
  border-radius:12px;
  background:var(--nesk-yellow);
  display:grid; place-items:center;
  font-weight:900;
  border:1px solid rgba(0,0,0,.08);
}


.site-footer{
  background:linear-gradient(to bottom,#f1f5f9,#f8fafc);
  border-top:1px solid rgba(2,6,23,.06);
  /*border-top:1px solid var(--nesk-line);*/
  margin-top:80px;
  padding:56px 0 32px;
}

.footer-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
  margin-bottom:24px;
}

.footer-col h4{
  margin:0 0 10px;
  font-size:14px;
  letter-spacing:.04em;
}

.footer-col p{
  margin:0 0 10px;
  color:var(--nesk-muted);
}

.footer-col ul{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-col li{
  margin-bottom:6px;
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}


.footer-copy{
  margin:0;
}


.content{padding:34px 0}
.content .card{padding:22px}
.wp-block{max-width:var(--nesk-max)}
.wp-block-image{margin:0}
.alignwide{max-width:calc(var(--nesk-max) + 200px)}
.alignfull{max-width:none}

.price{
  font-size:28px;
  font-weight:900;
  letter-spacing:-.02em;
}

.price-meta{
  font-size:13px;
  color:var(--nesk-muted);
  margin-top:4px;
  font-style:italic;
}

.card-badge{
  display:inline-flex;
  align-items:center;
  padding: 12px 10px;
  border-radius:999px;
  background: rgba(255,210,0,.35);
  border: 1px solid rgba(0,0,0,.08);
  font-weight: 900;
  font-size: 12px;
  color: #111827;
  margin-top: 10px;
  margin-bottom: 10px;
}

.price-subnote{
  margin-top: 8px;
  margin-bottom: 4px;
  font-size: 13px;
  color: var(--nesk-muted);
}

/* === Pricing alignment + spacing === */

/* Alla pricingkort ska vara flex */
.price-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

/* Reservera plats för badge (även när ingen badge finns) */
.badge-slot{
  min-height: 44px;          /* justera vid behov */
  margin-bottom: 16px;       /* MER luft mellan badge och titel */
  display:flex;
  align-items:flex-start;
}

/* Badge-look (behåll din stil, men lite “luftigare”) */
.card-badge{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  background: rgba(255,210,0,.35);
  border: 1px solid rgba(0,0,0,.08);
  font-weight: 900;
  font-size: 12px;
  color: #111827;
}

/* Lås headerhöjd så priset startar på samma rad */
.price-header{
  min-height: 96px;          /* justera om tag-raden radbryter */
}

/* Lås prisområdet */
.price-area{
  min-height: 92px;          /* pris + faktureringsrad + ev subnote */
  margin-bottom: 18px;
}

/* Prisrad: lås höjd så alla priser hamnar på samma baseline */
.price-area .price{
  min-height: 44px;          /* justera vid behov */
  display:flex;
  align-items:flex-end;      /* baseline-liknande känsla */
  margin:14px 0 6px;
}

/* Features fyller ut, CTA längst ned */
.price-features{ flex-grow:1; }
.price-card .cta{ margin-top:auto; }

.price-card.featured {
  /*transform: scale(1.03);*/
  transform: translateY(-6px);
  transform:scale(1.035);
  border:2px solid var(--nesk-blue);
  box-shadow: 0 24px 60px rgba(10,79,163,.16);
}

.grid-3 .card{
  transition: transform .18s ease, box-shadow .18s ease;
  display:flex;
  flex-direction:column;
  height:100%;
}

.grid-3 .card:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(2,6,23,.12);
}

.grid-3 .card p{
  margin-top:auto;
}

.grid-3 .card .list{
  flex-grow:1;
}

.card .list{
  margin-bottom: 20px;
}

.card p{
  margin-top: 16px;
  color: var(--nesk-muted);
}

.footer-social a:hover svg{
  fill:var(--nesk-blue);
}

.trust-row{
  display:flex;
  gap:28px;
  justify-content:center;
  margin-top:18px;
  font-size:14px;
  color:var(--nesk-muted);
}

.testimonial p{
  position:relative;
  padding-left:22px;
}

.testimonial p:before{
  content:"“";
  position:absolute;
  left:0;
  top:-2px;
  font-size:26px;
  color:var(--nesk-blue);
  opacity:.25;
}

.section p{
  max-width:640px;
}

.section-flash{
  animation: sectionFlash 1.2s ease;
}

@keyframes sectionFlash{
  0%   { box-shadow: 0 0 0 0 rgba(10,79,163,0); }
  20%  { box-shadow: 0 0 0 8px rgba(10,79,163,.08); }
  100% { box-shadow: 0 0 0 0 rgba(10,79,163,0); }
}

/* VIP: subtil premium-markering */
.price-card.vip{
  border: 1px solid rgba(15,23,42,.12);
  background: linear-gradient(to bottom, #ffffff, #f8fafc);
  border-top:3px solid #1e293b;
  box-shadow:0 14px 36px rgba(2,6,23,.08);
}

.price-card.vip .kicker{
  color: #1e293b;
}

.price-card.vip .btn{
  border-color: rgba(15,23,42,.12);
}

.services-links-text a,
.internal-links a{
  text-decoration: underline;
  text-underline-offset: 2px;
}

.internal-links{
  font-size:14px;
  color:var(--nesk-muted);
}

.service-card{
  display:block;
  color:inherit;
  transition:transform .15s ease, box-shadow .15s ease;
}

.service-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,0,0,0.06);
}

a:hover{text-decoration:underline}

.service-card h3{
  transition:color .15s ease;
}

.service-card:hover h3{
  color:#0A4FA3 !important;; 
}

.service-card,
.service-card:hover,
.service-card:focus,
.service-card:active{
  text-decoration: none !important;
}

.service-card h3,
.service-card p,
.service-card ul,
.service-card li,
.service-card span,
.service-card:hover h3,
.service-card:hover p,
.service-card:hover ul,
.service-card:hover li,
.service-card:hover span{
  text-decoration: none !important;
}

.about-niclas{
  display:flex;
  align-items:center;
  gap:18px;
}

.about-niclas__media{
  flex:0 0 260px;
  text-align:right;
}

.about-niclas__media img{
  width:240px;
  max-width:100%;
  height:auto;
  display:inline-block;
  border-radius:20px;
  border:1px solid var(--nesk-line);
  box-shadow:0 18px 40px rgba(2,6,23,.08);
}

.about-niclas__content{
  flex:1 1 auto;
  min-width:0;
  margin-top:34px;
}

@media (max-width:920px){
  .about-niclas{
    display:block;
  }

  .about-niclas__media{
    margin-bottom:20px;
    text-align:left;
  }

  .about-niclas__media img{
    width:220px;
  }
}

.proof {
  margin-top: 24px;
  padding: 16px 18px;
  background: #f8fafc;
  border: 1px solid var(--nesk-line);
  border-radius: 12px;
}

.proof strong {
  display:block;
  margin-bottom:8px;
}

.proof ul {
  margin:0;
  padding-left:18px;
}

.proof li {
  margin-bottom:6px;
}










/* Mobile unit display below */

@media (min-width: 1024px){
  .brand-logo img { max-height: 46px; }
}
@media (max-width: 920px){
  .hero-inner{grid-template-columns:1fr; padding:54px 20px;}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  
  .primary-nav{
    position:absolute;
    top:70px;
    right:20px;
    background:#fff;
    border:1px solid var(--nesk-line);
    border-radius:12px;
    box-shadow:0 14px 36px rgba(2,6,23,.08);
    padding:12px;
    display:none;
    opacity:0;
    transform:translateY(-8px);
    transition:.2s ease;
  }

  .primary-nav ul{
      gap:6px; 
      flex-wrap:wrap; 
      justify-content:flex-end
      flex-direction:column;
  }
  
  .primary-nav.open{
    display:block;
    opacity:1;
    transform:translateY(0);
  }
  
  .nav-toggle{
    display:flex;
    margin-right:16px;
  }
}
/* Mer sidmarginal i hero på mobil */
@media (max-width: 768px){
  .hero-inner{
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Om texten fortfarande känns för nära kanten */
  .hero p{
    padding-left: 2px;
    padding-right: 2px;
  }
  .hero h1{ font-size: clamp(30px, 8vw, 42px); line-height: 1.08; paddint-top: 5px;}

  .hero::before{
    background:
      linear-gradient(90deg, rgba(248,250,252,.98) 0%, rgba(248,250,252,.9) 45%, rgba(248,250,252,.75) 70%, rgba(248,250,252,.4) 100%),
      var(--hero-image);
  }
  
  .hero-usp{
    padding-left:16px;
    padding-right:16px;
  }
  
  .hero-usp .grid{
    padding:0 16px;
  }
  
  .hero .grid{
    padding-left:16px;
    padding-right:16px;
    padding:0 18px;
  }
  
  .trust-row{
    padding: 0 18px;
    box-sizing: border-box;
    flex-wrap: wrap;
    gap: 14px 20px;
    justify-content: flex-start;
  }
}
@media (max-width: 480px){
  .hero-inner{ padding:48px 24px; }
  .hero p{
    color: rgba(15, 23, 42, 0.9);   /* mörkare än nu */
    text-shadow: 0 1px 2px rgba(255,255,255,.6); /* subtil kontrast mot ljusa partier */
  }
  
  .primary-nav .cta a{
    padding:10px 14px;
  }
  
  .site-header{
    padding:4px 0;
  }
}


.nesk-form-wrap input,
.nesk-form-wrap select,
.nesk-form-wrap textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--nesk-line);
  background:#fff;
  font:inherit;
}
.nesk-form-wrap textarea{min-height:140px}
.nesk-form-wrap button,
.nesk-form-wrap input[type="submit"]{
  margin-top:10px;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:var(--nesk-blue);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.brand-logo img {
  max-height: 40px;
  width: auto;
}

/* === Service cards hover (subtilt premium) === */
.card{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 48px rgba(2,6,23,.12);
  border-color: rgba(10,79,163,.25);
}

.card:hover .kicker{
  color: var(--nesk-blue);
}

/* === USP row under hero === */
.usp-row{
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:10px;
}
.usp-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 12px;
  border:1px solid var(--nesk-line);
  background: rgba(255,255,255,.78);
  border-radius: 14px;
}
.usp-ic{
  width:34px; height:34px;
  border-radius: 12px;
  display:grid; place-items:center;
  background: rgba(10,79,163,.10);
  border:1px solid rgba(10,79,163,.18);
  flex: 0 0 auto;
}
.usp-ic svg{ width:18px; height:18px; fill: var(--nesk-blue); }


/* USP responsiv */

@media (max-width:920px){
  .footer-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
}

@media (max-width: 920px){
  .usp-row{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px){
  .usp-row{ grid-template-columns: 1fr; }
}

/* === Quotes/testimonials === */
.quote blockquote{
  margin:0;
  font-size: 16px;
  color: var(--nesk-ink);
}
.quote blockquote::before{
  content:"“";
  font-size: 34px;
  line-height: 0;
  vertical-align: -10px;
  color: rgba(10,79,163,.35);
  margin-right: 6px;
}
.quote figcaption{ margin-top: 10px; }

/* === Final CTA block === */
.final-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.final-cta-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media (max-width: 920px){
  .final-cta{ flex-direction:column; align-items:flex-start; }
  .final-cta-actions{ justify-content:flex-start; }
}

/* === Footer social links === */
.footer-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.footer-social{
  display:flex;
  gap:13px;
}
.footer-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;

  border-radius:10px;
  background:#fff;
  border:1px solid var(--nesk-line);

  transition:all .18s ease;
}

.footer-social a:hover{
  border-color:var(--nesk-blue);
  box-shadow:0 6px 14px rgba(2,6,23,.08);
  transform:translateY(-1px);
}

.footer-social svg{
  width:16px;
  height:16px;
  fill:var(--nesk-muted);
  transition:fill .18s ease;
}

/* Fluent Forms – NESK styling */
.ff-el-group{ margin-bottom: 14px; }

.ff-el-input--label label{
  font-weight: 700;
  color: var(--nesk-ink);
  margin-bottom: 6px;
}

.ff-el-form-control{
  width: 100%;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid var(--nesk-line);
  background: #fff;
  font: inherit;
  transition: box-shadow .15s ease, border-color .15s ease;
}

.ff-el-form-control:focus{
  outline: none;
  border-color: rgba(10,79,163,.35);
  box-shadow: 0 0 0 4px rgba(10,79,163,.10);
}

.ff-btn-submit{
  padding: 12px 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: var(--nesk-blue);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 16px 34px rgba(10,79,163,.18);
}

.ff-btn-submit:hover{ filter: brightness(1.02); transform: translateY(-1px); }

.ff-message-success{
  border-radius: 14px;
  border: 1px solid rgba(34,197,94,.25);
  background: rgba(34,197,94,.08);
  padding: 12px 14px;
}

@media (min-width: 920px){
  .ff-form .ff-el-group.ff-el-form-control, 
  .ff-form .ff-el-group{ }

  /* Om du använder två kolumn-containers i Fluent Forms behövs oftast ingen extra CSS */
}
