/* Bährings Autolak – Ro og præcision. Ingen build-step.
   Tokens: farver, afstande (8px-skala), typografi. To skrifttyper, selvhostet. */
@font-face{font-family:"Instrument Serif";font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-weight:400;font-display:swap;src:url(../fonts/hanken-grotesk-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-weight:500;font-display:swap;src:url(../fonts/hanken-grotesk-latin-500-normal.woff2) format("woff2")}

:root{
  --bg:#f6f5f2; --ink:#151515; --muted:#5f5f5b; --line:#e4e3de;
  --accent:#3b5a73;                 /* stålblå: hvid tekst 6,8:1, som tekst på --bg 6,2:1 */
  --head:"Instrument Serif",Georgia,"Times New Roman",serif;
  --body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--s6:96px;--s7:136px;
  --r:2px; --max:1200px; --gut:clamp(24px,6vw,64px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.7 var(--body);padding-bottom:56px}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--muted)}
a:hover{color:var(--accent);text-decoration-color:var(--accent)}
h1,h2,h3{font-family:var(--head);font-weight:400;margin:0 0 var(--s3);letter-spacing:-.01em}
h1{font-size:clamp(3rem,8.5vw,6.5rem);line-height:1.02}
h2{font-size:clamp(2.2rem,5vw,3.5rem);line-height:1.08}
h3{font-size:1.75rem;line-height:1.2}
p{margin:0 0 var(--s2);max-width:62ch}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
section{padding:var(--s6) 0;border-top:1px solid var(--line)}
section.first{border-top:0}
.muted{color:var(--muted)}
.lead{font-size:1.25rem;color:var(--muted);max-width:48ch}
.label{font-size:.9rem;color:var(--muted);margin:0 0 var(--s2)}
.eyebrow{font-size:.9rem;color:var(--muted);margin:0 0 var(--s2)}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:var(--s2);z-index:100}
.skip:focus{left:0}
[hidden]{display:none!important}
.todo{background:#fbeeb8;color:#151515;padding:0 4px;border-radius:var(--r);font-size:.88em}

/* 12-kolonners grid */
.grid{display:grid;gap:var(--s4) var(--s3);grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){
  .grid{grid-template-columns:repeat(12,minmax(0,1fr))}
  .c-1-5{grid-column:1/6}.c-1-7{grid-column:1/8}.c-1-8{grid-column:1/9}
  .c-6-13{grid-column:6/13}.c-8-13{grid-column:8/13}.c-5-12{grid-column:5/12}.c-1-13{grid-column:1/-1}
}

/* knap og link */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 var(--s4);border-radius:var(--r);border:1px solid var(--accent);background:var(--accent);color:#fff;font:500 1rem/1 var(--body);text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:#2f4a60;border-color:#2f4a60;color:#fff}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.btn[disabled]{opacity:.6;cursor:wait}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-top:var(--s4)}
.link{color:var(--accent);text-decoration-color:var(--accent)}

/* header */
.top{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:72px}
.brand{text-decoration:none;font:400 1.6rem/1 var(--head);color:var(--ink)}
.brand:hover{color:var(--ink)}
.brand b{font-weight:400}
.nav{display:none;gap:var(--s4);align-items:center}
.nav a{text-decoration:none;font-size:.95rem}
.nav a:not(.btn):hover{text-decoration:underline;text-decoration-color:var(--accent)}
.nav .btn{min-height:44px;padding:0 var(--s3);font-size:.95rem}
.nav a.btn:hover{color:#fff}
@media (min-width:820px){.nav{display:flex}}

/* hero */
.hero{padding:var(--s5) 0 var(--s6)}
@media (min-width:900px){.hero{padding-top:var(--s6)}}
.hero h1{max-width:12ch}

/* fotoplads: neutral lysegrå med motivbeskrivelse */
.photo{margin:0;background:var(--line);aspect-ratio:var(--ar,16/9);display:flex;align-items:flex-end;padding:var(--s3);color:var(--muted);font-size:.88rem;line-height:1.5}
.photo img{width:100%;height:100%;object-fit:cover}
.photo span{max-width:46ch}

/* ydelser: kort med foto, punkter og knap i bunden */
.svc-grid{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:var(--s5)}
.svc{display:flex;flex-direction:column;border:1px solid var(--line);background:#fbfaf8;border-radius:var(--r);overflow:hidden}
.svc .ba{aspect-ratio:3/2;border-radius:0}
.svc-body{display:flex;flex-direction:column;flex:1;padding:var(--s3)}
.svc h3{font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.1;overflow-wrap:break-word;hyphens:auto}
.svc ul{margin:0 0 var(--s4);padding:0 0 0 var(--s3);color:var(--muted)}
.svc li{margin-bottom:var(--s1)}
.svc .btn{margin-top:auto;align-self:flex-start;padding:0 var(--s3)}

/* før/efter */
.ba{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--line);--pos:50%;border-radius:var(--r)}
.ba .pane{position:absolute;inset:0;display:flex;align-items:flex-end;padding:var(--s3);font-size:.88rem;line-height:1.5;color:var(--muted)}
.ba .pane img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba .after{background:#d9d8d2;justify-content:flex-end;text-align:right}
.ba .before{background:#c9c8c2;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba .tag{position:absolute;top:var(--s2);font-size:.8rem;color:var(--ink);background:var(--bg);padding:2px var(--s1)}
.ba .tag.l{left:var(--s2)}.ba .tag.r{right:var(--s2)}
.ba .handle{position:absolute;top:0;bottom:0;left:var(--pos);width:1px;background:var(--ink);transform:translateX(-.5px);pointer-events:none}
.ba .handle::after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px;background:var(--accent);border-radius:50%}
.ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba:focus-within{outline:2px solid var(--accent);outline-offset:4px}

/* trin */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--s4) var(--s3);grid-template-columns:minmax(0,1fr)}
.steps li{border-top:1px solid var(--ink);padding-top:var(--s2)}
.steps .n{font:400 1.75rem/1 var(--head);color:var(--muted);display:block;margin-bottom:var(--s3)}
.steps h3{font-size:1.5rem}
.steps p{color:var(--muted);font-size:1rem}
@media (min-width:900px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* kontakt */
address{font-style:normal}

/* formular */
.form{display:grid;gap:var(--s3);max-width:640px}
.field label,.field legend{display:block;font-weight:500;margin-bottom:var(--s1)}
.field .hint{font-size:.9rem;color:var(--muted);margin:var(--s1) 0 0}
.field input[type=text],.field input[type=tel],.field input[type=email],.field select,.field textarea{width:100%;min-height:52px;padding:12px var(--s2);font:inherit;color:var(--ink);background:#fff;border:1px solid #8c8c86;border-radius:var(--r)}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}
.field input[type=file]{font:inherit}
.check{display:flex;gap:var(--s2);align-items:flex-start}
.check input{width:24px;height:24px;margin-top:3px;flex:none;accent-color:var(--accent)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.err{color:#9a2c1c}
.status{padding:var(--s2);border-radius:var(--r);background:#fff;border:1px solid var(--ink)}
.status.bad{border-color:#9a2c1c;color:#7a2113}
.thumbs{display:flex;flex-wrap:wrap;gap:var(--s1);list-style:none;padding:0;margin:var(--s1) 0 0}
.thumbs li{font-size:.85rem;background:#fff;border:1px solid var(--line);padding:2px var(--s1)}
progress{width:100%;height:8px;accent-color:var(--accent)}

/* fod + mobilbar */
footer{border-top:1px solid var(--line);padding:var(--s5) 0 var(--s4);font-size:.95rem;color:var(--muted)}
footer strong{color:var(--ink);font-weight:500}
footer .cols{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.mbar{position:fixed;inset:auto 0 0 0;z-index:60;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);background:var(--bg)}
.mbar a{display:flex;align-items:center;justify-content:center;min-height:56px;font-weight:500;text-decoration:none;color:var(--ink)}
.mbar a.go{background:var(--accent);color:#fff}
@media (min-width:820px){.mbar{display:none}body{padding-bottom:0}}

.prose{max-width:68ch}
.prose h2{font-size:1.9rem;margin-top:var(--s4)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* faktaliste */
.facts{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--ink)}
.facts dt{font-size:.9rem;color:var(--muted);padding-top:var(--s2)}
.facts dd{margin:0;padding:0 0 var(--s2);border-bottom:1px solid var(--line)}
@media (min-width:700px){.facts{grid-template-columns:200px minmax(0,1fr)}.facts dt,.facts dd{padding:var(--s2) 0;border-bottom:1px solid var(--line)}}
.nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent)}
