/* ═══════════════════════════════════════════════════════════
   Klarglas Glasmästeri · A6 corporate authority
   Midnattsblå och korall. Strikt linjerat, inga kort, inga
   skuggor, ingen rundning. Luften gör jobbet.
   ═══════════════════════════════════════════════════════════ */

:root{
  --bas:#141b2e;
  --yta:#1c2540;
  --yta2:#232d4d;
  --accent:#e5634d;        /* ytor, linjer, ikoner. ALDRIG liten text */
  --accent-txt:#ef8571;    /* accent som text: 5,9:1 mot yta, 6,6:1 mot bas */
  --pa-accent:#10162a;     /* text ovanpå korallfyllning: 5,3:1 */
  --txt:#eef1f7;
  --dim:#9aa6c2;           /* 6,2:1 mot yta */
  --dim2:#8b98b4;          /* diskret, 5,3:1 mot yta */
  --linje:rgba(238,241,247,.15);
  --linje-stark:rgba(238,241,247,.3);
  --gutter:clamp(20px,5vw,56px);
  --headh:72px;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box;}

html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--headh) + 16px);
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  background:var(--bas);
  color:var(--txt);
  font-family:"Geist","Segoe UI",system-ui,sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img,svg{max-width:100%;}
a{color:inherit;}
h1,h2,h3{overflow-wrap:break-word;}
p,li,dd,dt,blockquote{overflow-wrap:break-word;}

::selection{background:var(--accent);color:var(--pa-accent);}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

.wrap{
  width:100%;
  max-width:1220px;
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.skip{position:absolute;left:-9999px;top:0;}
.skip:focus{
  left:12px;top:12px;z-index:100;
  display:inline-flex;align-items:center;min-height:46px;
  background:var(--accent);color:var(--pa-accent);
  padding:0 20px;text-decoration:none;font-weight:500;
}

/* ── Gemensam typografi ─────────────────────────────────── */

.index{
  display:flex;align-items:center;gap:14px;
  margin:0 0 clamp(20px,2.6vw,32px);
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--dim);
}
.index .nr{color:var(--accent-txt);}
.index .strk{
  flex:0 0 auto;width:clamp(26px,4vw,54px);height:1px;
  background:var(--accent);
}

@media (max-width:520px){
  .index{font-size:.66rem;gap:10px;}
  .index .strk{width:22px;}
}

.sekhuv{max-width:76ch;}
.sekhuv h2{
  margin:0;
  font-size:clamp(1.95rem,4.1vw,3.3rem);
  font-weight:300;line-height:1.07;letter-spacing:-.025em;
  max-width:22ch;
}
.sekhuv--smal h2{max-width:14ch;}

.lead{
  margin:clamp(18px,2.2vw,28px) 0 0;
  max-width:64ch;
  font-size:clamp(1.02rem,1.35vw,1.15rem);
  font-weight:300;line-height:1.68;
}

.sek{
  padding-block:clamp(74px,10vw,150px);
  border-top:1px solid var(--linje);
}

/* ── Knappar ────────────────────────────────────────────── */

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 26px;
  font-family:inherit;font-size:.95rem;font-weight:500;
  text-decoration:none;cursor:pointer;
  border:1px solid transparent;border-radius:0;
  transition:background .25s ease,border-color .25s ease,color .25s ease;
}
.btn-fyll{background:var(--accent);color:var(--pa-accent);}
.btn-fyll:hover{background:#f0755f;}
.btn-linje{border-color:var(--linje-stark);color:var(--txt);background:none;}
.btn-linje:hover{border-color:var(--accent);color:var(--accent-txt);}
.btn-bred{width:100%;}

/* ── Header ─────────────────────────────────────────────── */

.head{
  position:sticky;top:0;z-index:60;
  background:var(--bas);
  border-bottom:1px solid var(--linje);
}
.head-in{
  display:flex;align-items:center;flex-wrap:nowrap;
  gap:clamp(12px,2vw,28px);
  min-height:var(--headh);
}

.brand{
  display:inline-flex;align-items:center;gap:11px;
  text-decoration:none;color:var(--txt);
  min-height:44px;flex:0 0 auto;
}
.brand-ikon{width:21px;height:25px;flex:none;color:var(--txt);}
.brand-txt{
  display:flex;flex-direction:column;line-height:1.05;
  font-weight:500;font-size:1.02rem;letter-spacing:.01em;
}
.brand-sub{
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dim);margin-top:4px;font-weight:400;
}

.nav ul{display:flex;gap:clamp(14px,1.7vw,28px);list-style:none;margin:0;padding:0;}
.nav a{
  display:inline-flex;align-items:center;min-height:44px;
  color:var(--txt);text-decoration:none;font-size:.92rem;
  transition:color .2s ease;
}
.nav a:hover{color:var(--accent-txt);}
.nav a.nav-tel{display:none;}

.head-tel{
  display:inline-flex;align-items:center;gap:9px;
  min-height:44px;padding:0 14px;margin-left:auto;
  border:1px solid var(--accent);
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.86rem;color:var(--txt);text-decoration:none;
  white-space:nowrap;flex:0 0 auto;
  transition:background .25s ease,color .25s ease;
}
.head-tel:hover{background:var(--accent);color:var(--pa-accent);}
.head-tel:hover .head-tel-et{color:var(--pa-accent);}
.head-tel-et{
  display:none;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-txt);transition:color .25s ease;
}

.menyknapp{
  display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:0 8px;flex:0 0 auto;
  background:none;border:0;cursor:pointer;
}
.menyknapp span{
  display:block;height:1.5px;width:100%;background:var(--txt);
  transition:transform .3s ease,opacity .2s ease;
}
body.meny-oppen .menyknapp span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
body.meny-oppen .menyknapp span:nth-child(2){opacity:0;}
body.meny-oppen .menyknapp span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

@media (max-width:899px){
  .nav{
    position:fixed;left:0;right:0;top:calc(var(--headh) + 1px);bottom:0;
    z-index:55;display:none;flex-direction:column;
    background:var(--bas);
    padding:clamp(18px,5vw,36px) var(--gutter) 48px;
    overflow-y:auto;
  }
  body.meny-oppen{overflow:hidden;}
  body.meny-oppen .nav{display:flex;}
  .nav ul{flex-direction:column;gap:0;width:100%;}
  .nav li{border-bottom:1px solid var(--linje);}
  .nav li:first-child{border-top:1px solid var(--linje);}
  .nav a{min-height:60px;width:100%;font-size:1.12rem;font-weight:300;}
  .nav a.nav-tel{
    display:inline-flex;align-items:center;justify-content:center;
    min-height:56px;margin-top:28px;
    background:var(--accent);color:var(--pa-accent);
    font-family:"Geist Mono",ui-monospace,monospace;font-size:1rem;
    text-decoration:none;
  }
}

@media (min-width:900px){
  .menyknapp{display:none;}
  .nav{display:flex;align-items:center;margin-left:auto;}
  .head-tel{margin-left:0;}
}
@media (min-width:1100px){
  .head-tel-et{display:inline;}
}
@media (max-width:399px){
  .head-tel{font-size:.78rem;padding:0 10px;}
  .brand-sub{display:none;}
}

/* ── Hero ───────────────────────────────────────────────── */

.hero{position:relative;overflow:hidden;}

.hero-txt-in{padding-block:clamp(56px,8vw,120px);}

.hero .index--hero .nr{color:var(--txt);}

.hero h1{
  margin:0;
  font-size:clamp(2.5rem,7vw,4.9rem);
  font-weight:300;line-height:1.02;letter-spacing:-.035em;
}
.hero .lead{max-width:44ch;}

.hero-knappar{
  display:flex;flex-wrap:wrap;gap:14px;
  margin-top:clamp(28px,3.4vw,42px);
}
@media (max-width:560px){
  .hero-knappar .btn{width:100%;}
}

.hero-fakta{
  display:grid;gap:0;margin:clamp(40px,5vw,64px) 0 0;
  border-top:1px solid var(--linje);
}
.hero-fakta div{
  display:flex;justify-content:space-between;gap:18px;
  padding-block:13px;border-bottom:1px solid var(--linje);
}
.hero-fakta dt{
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);
}
.hero-fakta dd{margin:0;font-size:.94rem;text-align:right;}

.hero-bild{background:var(--yta);}
.hero-foto{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 46%;}
.hero-kant{display:none;}

@media (max-width:999px){
  .hero-bild{
    height:clamp(230px,44vw,380px);
    clip-path:polygon(0 14%,100% 0,100% 100%,0 100%);
    margin-top:-4px;
  }
}
@media (min-width:1000px){
  .hero{min-height:clamp(560px,80vh,800px);display:flex;align-items:center;}
  .hero-grid{position:relative;width:100%;}
  .hero-bild{
    position:absolute;top:0;right:0;bottom:0;width:48%;z-index:0;
    clip-path:polygon(17% 0,100% 0,100% 100%,0 100%);
  }
  .hero-kant{
    display:block;position:absolute;top:0;right:0;bottom:0;width:48%;z-index:1;
    clip-path:polygon(17% 0,17.4% 0,.4% 100%,0 100%);
    background:var(--accent);
  }
  .hero-txt{position:relative;z-index:2;}
  .hero-txt-in > *{max-width:min(43vw,590px);}
}

/* ── Jourrad ────────────────────────────────────────────── */

.jour{
  position:relative;overflow:hidden;
  background:var(--yta);
  border-top:2px solid var(--accent);
  border-bottom:1px solid var(--linje);
}
.jour-bg{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:52% 30%;
  opacity:.5;
}
.jour::after{
  content:"";position:absolute;inset:0;
  background:rgba(20,27,46,.68);
}
.jour-in{
  position:relative;z-index:1;
  display:grid;gap:clamp(24px,3vw,40px);
  padding-block:clamp(40px,5.5vw,76px);
}
.jour-txt h2{
  margin:0 0 12px;
  font-size:clamp(1.6rem,3vw,2.35rem);
  font-weight:300;line-height:1.1;letter-spacing:-.02em;
}
.jour-txt p{margin:0;max-width:56ch;font-size:1rem;font-weight:300;color:var(--txt);}

.tel-stor{
  display:inline-block;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:clamp(1.5rem,3.4vw,2.3rem);
  color:var(--txt);text-decoration:none;
  border-bottom:2px solid var(--accent);
  padding-bottom:6px;white-space:nowrap;
}
.tel-stor:hover{color:var(--accent-txt);}
.jour-not{margin:16px 0 0;font-size:.86rem;color:var(--dim);max-width:36ch;}

@media (min-width:900px){
  .jour-in{
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:start;gap:clamp(30px,4vw,64px);
  }
  .jour .index--jour{margin-bottom:0;padding-top:8px;}
  .jour-tel{text-align:right;}
  .jour-not{margin-left:auto;}
  .jour::after{
    background:linear-gradient(90deg,
      rgba(20,27,46,.58) 0%,
      rgba(20,27,46,.66) 32%,
      rgba(20,27,46,.78) 66%,
      rgba(20,27,46,.84) 100%);
  }
}

/* ═══════════════════════════════════════════════════════════
   SIGNATUR · GLASREGISTRET
   ═══════════════════════════════════════════════════════════ */

.reg-band{margin:clamp(34px,4.5vw,60px) 0 0;}
.reg-band img{
  display:block;width:100%;height:auto;
  border:1px solid var(--linje-stark);
  background:var(--yta);
}
.reg-band figcaption{
  margin-top:11px;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);
}

.reg-lista{border-bottom:1px solid var(--linje);margin-top:clamp(44px,5.5vw,80px);}

.glas{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"nr" "bild" "txt" "spec";
  gap:clamp(18px,3vw,34px);
  padding-block:clamp(34px,4.5vw,64px);
  border-top:1px solid var(--linje);
}

.glas-nr{
  grid-area:nr;margin:0;
  display:flex;align-items:baseline;gap:14px;
  font-family:"Geist Mono",ui-monospace,monospace;
}
.glas-nr > span:first-child{
  font-size:clamp(1.4rem,2.4vw,1.9rem);
  color:var(--accent-txt);line-height:1;
}
.glas-kod{
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dim);
}

.brott{grid-area:bild;margin:0;max-width:300px;align-self:start;}
.brott-svg{
  display:block;width:100%;aspect-ratio:1/1;
  border:1px solid var(--linje-stark);
  background:var(--yta);
}
.brott figcaption{
  margin-top:11px;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);
}

.glas-txt{grid-area:txt;min-width:0;}
.glas-txt h3{
  margin:0 0 12px;
  font-size:clamp(1.35rem,2.4vw,1.85rem);
  font-weight:400;letter-spacing:-.015em;line-height:1.15;
}
.glas-vad{margin:0;font-size:1rem;font-weight:300;line-height:1.65;max-width:52ch;}
.glas-veta{
  margin:22px 0 0;padding-left:16px;
  border-left:2px solid var(--accent);
  font-size:.92rem;color:var(--dim);line-height:1.6;max-width:52ch;
}
.veta-et{
  display:block;margin-bottom:5px;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-txt);
}

.spec{grid-area:spec;margin:0;min-width:0;}
.spec div{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 18px;
  padding-block:10px;border-bottom:1px solid var(--linje);
}
.spec div:first-child{border-top:1px solid var(--linje);}
.spec dt{
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);flex:0 0 auto;padding-top:2px;
}
.spec dd{margin:0;font-size:.92rem;text-align:right;flex:1 1 auto;min-width:0;}

@media (min-width:760px){
  .glas{
    grid-template-columns:64px 204px minmax(0,1fr);
    grid-template-areas:
      "nr bild txt"
      "nr bild spec";
    align-content:start;
    column-gap:clamp(22px,3vw,44px);
    row-gap:clamp(24px,3vw,36px);
  }
  .glas-nr{flex-direction:column;gap:8px;}
}
@media (min-width:1160px){
  .glas{
    grid-template-columns:76px 228px minmax(0,1fr) 278px;
    grid-template-areas:"nr bild txt spec";
    column-gap:clamp(28px,3vw,52px);
  }
  .spec div:first-child{border-top:none;}
}

/* U-värdesskalan */

.uv{margin-top:clamp(64px,8vw,120px);}
.uv-huv{max-width:64ch;}
.uv-rub{
  margin:0;font-size:clamp(1.35rem,2.5vw,1.95rem);
  font-weight:300;letter-spacing:-.02em;line-height:1.15;
}
.uv-lead{margin:14px 0 0;font-size:.98rem;font-weight:300;color:var(--dim);max-width:56ch;}

.uv-lista{list-style:none;margin:clamp(32px,4vw,52px) 0 0;padding:0;}
.uv-rad{
  display:grid;grid-template-columns:minmax(0,1fr) 52px;
  grid-template-areas:"namn tal" "spar spar";
  gap:10px 18px;align-items:center;
  padding-block:15px;border-top:1px solid var(--linje);
}
.uv-lista li:last-child{border-bottom:1px solid var(--linje);}
.uv-namn{grid-area:namn;font-size:.94rem;color:var(--txt);min-width:0;}
.uv-spar{grid-area:spar;display:block;height:9px;background:rgba(238,241,247,.09);}
.uv-stapel{
  display:block;height:100%;
  width:calc(var(--u) / 6 * 100%);
  background:rgba(238,241,247,.42);
  transform-origin:left center;
  transition:transform .8s cubic-bezier(.22,.61,.36,1);
}
html.js .uv-stapel{transform:scaleX(0);}
html.js .uv-rad.in .uv-stapel{transform:scaleX(1);}
.uv-rad--bra .uv-stapel{background:var(--accent);}
.uv-tal{
  grid-area:tal;text-align:right;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:1rem;font-variant-numeric:tabular-nums;color:var(--txt);
}
.uv-rad--bra .uv-tal{color:var(--accent-txt);}

@media (min-width:820px){
  .uv-rad{
    grid-template-columns:300px minmax(0,1fr) 56px;
    grid-template-areas:"namn spar tal";
    gap:24px;
  }
}

.rakning{
  margin-top:clamp(44px,5.5vw,76px);
  border:1px solid var(--linje-stark);
  padding:clamp(24px,3.4vw,48px);
}
.rakning-et{
  margin:0;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--dim);
}
.rakning-steg{list-style:none;margin:clamp(20px,2.6vw,30px) 0 0;padding:0;display:grid;}
.rakning-steg li{padding-block:16px;border-top:1px solid var(--linje);}
.rk-tal{
  display:block;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:clamp(1.5rem,3vw,2.05rem);
  font-weight:400;line-height:1.1;color:var(--txt);
  font-variant-numeric:tabular-nums;
}
.rk-slut .rk-tal{color:var(--accent-txt);}
.rk-txt{display:block;margin-top:7px;font-size:.86rem;color:var(--dim);}
.rakning-not{
  margin:clamp(24px,3vw,34px) 0 0;padding-top:20px;
  border-top:1px solid var(--linje);
  font-size:.86rem;color:var(--dim);max-width:70ch;
}

@media (min-width:820px){
  .rakning-steg{grid-template-columns:repeat(4,minmax(0,1fr));}
  .rakning-steg li{
    border-top:none;border-left:1px solid var(--linje);
    padding:2px 0 2px 22px;
  }
  .rakning-steg li:first-child{border-left:none;padding-left:0;}
}

/* ── Tjänster ───────────────────────────────────────────── */

.tjlista{list-style:none;margin:clamp(40px,5vw,72px) 0 0;padding:0;border-bottom:1px solid var(--linje);}
.tjrad{
  display:grid;grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:"nr txt" "pris pris";
  gap:14px 18px;
  padding-block:clamp(24px,3vw,34px);
  border-top:1px solid var(--linje);
  transition:background .3s ease;
}
.tj-nr{
  grid-area:nr;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.8rem;letter-spacing:.14em;color:var(--dim);
  padding-top:4px;transition:color .3s ease;
}
.tjrad:hover .tj-nr{color:var(--accent-txt);}
.tj-txt{grid-area:txt;min-width:0;}
.tj-txt h3{margin:0 0 8px;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:400;letter-spacing:-.01em;}
.tj-txt p{margin:0;font-size:.96rem;font-weight:300;color:var(--dim);max-width:58ch;line-height:1.62;}
.tj-pris{
  grid-area:pris;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:1rem;color:var(--txt);
}
.pris-et{
  display:block;margin-bottom:5px;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
}

@media (min-width:860px){
  .tjrad{
    grid-template-columns:76px minmax(0,1fr) 224px;
    grid-template-areas:"nr txt pris";
    gap:clamp(20px,3vw,40px);
  }
  .tjrad:hover{background:var(--yta);}
  .tj-pris{text-align:right;}
}

/* ── Akut mot planerat ──────────────────────────────────── */

.jmf{
  display:grid;gap:0;
  margin-top:clamp(40px,5vw,72px);
  border-top:1px solid var(--linje);
  border-bottom:1px solid var(--linje);
}
.jmf-kol{padding-block:clamp(28px,3.6vw,48px);}
.jmf-kol--plan{border-top:1px solid var(--linje);}

.jmf-et{
  display:flex;align-items:center;gap:11px;margin:0 0 16px;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dim);
}
.prick{display:inline-block;width:9px;height:9px;background:var(--accent);flex:none;}
.prick--lugn{background:var(--dim);}

.jmf-rub{
  margin:0 0 clamp(18px,2.4vw,28px);
  font-size:clamp(1.3rem,2.4vw,1.85rem);
  font-weight:300;letter-spacing:-.02em;line-height:1.15;
}
.jmf-lista{margin:0;}
.jmf-lista div{
  display:grid;gap:3px;
  padding-block:13px;border-top:1px solid var(--linje);
}
.jmf-lista dt{
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);
}
.jmf-lista dd{margin:0;font-size:.98rem;font-weight:300;}

@media (min-width:600px){
  .jmf-lista div{grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:baseline;}
}
@media (min-width:860px){
  .jmf{grid-template-columns:1fr 1fr;}
  .jmf-kol{padding-block:clamp(34px,4vw,56px);}
  .jmf-kol--plan{
    border-top:none;border-left:1px solid var(--linje);
    padding-left:clamp(28px,4vw,60px);
  }
  .jmf-kol--akut{padding-right:clamp(28px,4vw,60px);}
  .jmf-lista div{grid-template-columns:140px minmax(0,1fr);}
}
/* raderna ska ligga i höjd med varandra så kolumnerna går att jämföra */
@media (min-width:1100px){
  .jmf-lista dd{min-height:50px;}
}

/* ── Försäkring ─────────────────────────────────────────── */

.steg{list-style:none;margin:clamp(40px,5vw,72px) 0 0;padding:0;display:grid;}
.steg-post{
  border-top:1px solid var(--linje);
  padding-block:22px;
}
.steg-nr{
  display:block;margin-bottom:12px;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:clamp(1.6rem,2.6vw,2.1rem);
  line-height:1;color:var(--accent-txt);
}
.steg-post h3{margin:0 0 8px;font-size:1.12rem;font-weight:500;}
.steg-post p{margin:0;font-size:.94rem;font-weight:300;color:var(--dim);line-height:1.62;}

.fors-not{
  margin:clamp(32px,4vw,48px) 0 0;padding-top:22px;
  border-top:1px solid var(--linje);
  font-size:.9rem;color:var(--dim);max-width:72ch;
}

@media (min-width:900px){
  .steg{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(20px,2.6vw,44px);}
  .steg-post{padding-block:24px 0;}
}

/* ── Omdömen ────────────────────────────────────────────── */

.citat-par{display:grid;gap:0;margin-top:clamp(36px,4.5vw,64px);}
.citat{margin:0;padding-block:clamp(28px,3.4vw,40px);border-top:1px solid var(--linje);}
.citat blockquote{margin:0;}
.citat blockquote p{
  margin:0;
  font-size:clamp(1.12rem,1.9vw,1.45rem);
  font-weight:300;line-height:1.52;letter-spacing:-.012em;
}
.citat blockquote p::before{content:"\201D";color:var(--accent-txt);margin-right:2px;}
.citat figcaption{
  margin-top:24px;padding-top:16px;border-top:1px solid var(--linje);
  display:flex;align-items:center;gap:16px;
}
.citat-bild{
  flex:none;display:block;position:relative;overflow:hidden;
  width:68px;height:88px;background:var(--yta);
}
.citat-bild img{position:absolute;display:block;height:auto;max-width:none;}
.citat-bild--elin img{width:139%;left:-25%;top:-2%;}
.citat-bild--tobias img{width:238%;left:-85%;top:-43%;}
.citat-vem{display:block;min-width:0;}
.citat-namn{display:block;font-weight:500;font-size:1rem;}
.citat-roll{
  display:block;margin-top:6px;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);
}

@media (min-width:900px){
  .citat-par{grid-template-columns:1fr 1fr;}
  .citat{padding-block:clamp(30px,3.4vw,44px) 0;}
  .citat:last-child{border-left:1px solid var(--linje);padding-left:clamp(28px,4vw,60px);}
  .citat:first-child{padding-right:clamp(28px,4vw,60px);}
}

/* ── Kontakt ────────────────────────────────────────────── */

.kont-grid{display:grid;gap:clamp(40px,5vw,64px);margin-top:clamp(36px,4.5vw,60px);}

.kfakta{margin:0;border-bottom:1px solid var(--linje);}
.kfakta div{
  display:grid;gap:2px;
  padding-block:12px;border-top:1px solid var(--linje);
}
.kfakta dt{
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);
  align-self:center;
}
.kfakta dd{margin:0;font-size:1rem;font-weight:300;}
.kfakta a{
  display:inline-block;padding-block:11px;
  color:var(--txt);text-decoration:none;
  border-bottom:1px solid var(--accent);
  font-family:"Geist Mono",ui-monospace,monospace;font-size:.98rem;
}
.kfakta a:hover{color:var(--accent-txt);}
.kont-not{margin:24px 0 0;font-size:.88rem;color:var(--dim);max-width:56ch;}

@media (min-width:560px){
  .kfakta div{grid-template-columns:216px minmax(0,1fr);gap:22px;align-items:baseline;}
}
@media (min-width:900px){
  .kont-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(48px,6vw,92px);}
  .kfakta div{grid-template-columns:200px minmax(0,1fr);}
}

.kform{border:1px solid var(--linje-stark);padding:clamp(24px,3vw,40px);}
.kform-rub{
  margin:0 0 clamp(20px,2.4vw,28px);
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);
}
.falt{display:grid;gap:8px;margin-bottom:18px;}
.falt label{
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);
}
.falt input,.falt select,.falt textarea{
  width:100%;min-height:50px;
  background:var(--bas);color:var(--txt);
  border:1px solid var(--linje-stark);border-radius:0;
  padding:12px 14px;
  font-family:inherit;font-size:1rem;line-height:1.4;
}
.falt textarea{min-height:96px;resize:vertical;}
.falt input:focus,.falt select:focus,.falt textarea:focus{border-color:var(--accent);}
.kform-not{margin:16px 0 0;font-size:.84rem;color:var(--dim);}

/* ── Footer ─────────────────────────────────────────────── */

.fot{
  background:var(--yta);
  border-top:1px solid var(--linje);
  padding-block:clamp(48px,6vw,86px);
}
.fot-in{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:24px 40px;padding-bottom:26px;border-bottom:1px solid var(--linje);
}
.fot-nav ul{display:flex;flex-wrap:wrap;gap:2px 26px;list-style:none;margin:0;padding:0;}
.fot-nav a{
  display:inline-flex;align-items:center;min-height:44px;
  color:var(--dim);text-decoration:none;font-size:.9rem;
}
.fot-nav a:hover{color:var(--txt);}
.fot-rad{margin:26px 0 0;font-size:.88rem;color:var(--dim);max-width:70ch;}
.fot-demo{margin:14px 0 0;font-size:.78rem;color:var(--dim2);}

/* ── Modal · EGEN scroll-låsklass (modal-oppen) ─────────── */

.modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;}
.modal[hidden]{display:none;}
.modal-bak{position:absolute;inset:0;background:rgba(8,12,22,.8);border:0;}
.modal-ruta{
  position:relative;width:100%;max-width:460px;
  background:var(--yta);border:1px solid var(--linje-stark);
  padding:clamp(26px,4vw,44px);
}
.modal-et{
  margin:0 0 12px;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-txt);
}
.modal-ruta h2{margin:0 0 14px;font-size:clamp(1.5rem,3vw,2rem);font-weight:300;letter-spacing:-.02em;}
.modal-txt{margin:0 0 clamp(22px,3vw,30px);font-size:.98rem;font-weight:300;color:var(--dim);}
body.modal-oppen{overflow:hidden;}

/* ── Motion ─────────────────────────────────────────────── */

html.js .rev{
  opacity:0;transform:translateY(20px);
  transition:opacity .8s ease,transform .8s cubic-bezier(.22,.61,.36,1);
}
html.js .rev.in{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  html.js .rev{opacity:1;transform:none;transition:none;}
  html.js .uv-stapel{transform:scaleX(1);transition:none;}
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
