/* Kvern & Skorpe · designsystem «Døgnhjulet» */
:root{
  --mel:#F1E9DB; --mel-2:#E7DCC9; --skorpe:#3A1D0E; --rug:#1E120A; --blekk:#26150B; --blekk-2:#5A4130; --blekk-3:#7B6553;
  --kobber:#B4501C; --kobber-ink:#8E3D12; --linje:rgba(58,29,14,.18);
  --d:'Bricolage Grotesque',Georgia,serif; --b:'Hanken Grotesk',system-ui,sans-serif;
  --r:6px; --wrap:1180px; --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--mel);color:var(--blekk);font:16px/1.6 var(--b);font-feature-settings:"tnum";}
::selection{background:var(--kobber);color:var(--mel)} html{caret-color:var(--kobber);scrollbar-color:var(--skorpe) var(--mel-2)}
:focus-visible{outline:3px solid var(--kobber);outline-offset:3px;border-radius:2px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
h1,h2,h3{font-family:var(--d);line-height:1.02;letter-spacing:-.025em;margin:0;text-wrap:balance;font-weight:800}
h1{font-size:clamp(2.6rem,7vw,5.6rem)} h2{font-size:clamp(2rem,4.2vw,3.4rem)} h3{font-size:1.35rem;letter-spacing:-.01em}
p{margin:0;max-width:62ch} .lede{font-size:1.2rem;color:var(--blekk-2);max-width:48ch}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}
.sek{padding-block:clamp(3.5rem,8vw,7rem)} .sek--tett{padding-block:clamp(2rem,5vw,4rem)}
.morkt{background:var(--rug);color:var(--mel)} .morkt .lede,.morkt .meta{color:#C9B59E} .morkt .linje{border-color:rgba(241,233,219,.18)}
.meta{font-size:.9rem;color:var(--blekk-3)} .num{font-variant-numeric:tabular-nums}
.knapp{display:inline-flex;align-items:center;gap:.55rem;min-height:48px;padding:.75rem 1.35rem;border-radius:999px;background:var(--skorpe);color:var(--mel);font-weight:600;text-decoration:none;border:0;cursor:pointer;font:inherit;font-weight:600;transition:background .2s,transform .2s var(--ease)}
.knapp:hover{background:var(--kobber-ink)} .knapp--lys{background:var(--mel);color:var(--skorpe)} .knapp--lys:hover{background:#fff}
.knapp--kant{background:transparent;color:var(--skorpe);box-shadow:inset 0 0 0 1.5px var(--skorpe)} .knapp--kant:hover{background:var(--skorpe);color:var(--mel)}
.knapp svg{width:18px;height:18px}
/* topp */
.topp{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--mel) 92%,transparent);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--linje)}
.topp__i{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:1rem}
.logo{font-family:var(--d);font-weight:800;font-size:1.35rem;letter-spacing:-.03em;text-decoration:none;display:flex;align-items:center;gap:.55rem}
.logo svg{width:28px;height:28px}
.nav{display:flex;gap:1.6rem;align-items:center} .nav a{text-decoration:none;font-weight:500;padding:.5rem 0;border-bottom:2px solid transparent}
.nav a[aria-current]{border-color:var(--kobber)} .nav a:hover{color:var(--kobber-ink)}
.burger{display:none;background:none;border:0;width:48px;height:48px;cursor:pointer;color:inherit;border-radius:var(--r)}
.burger svg{width:26px;height:26px}
.status{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;white-space:nowrap}
.status i{width:9px;height:9px;border-radius:50%;background:#6a8f3a;display:inline-block} .status.stengt i{background:#a33}
@media(max-width:860px){.nav{display:none;position:absolute;inset:68px 0 auto 0;background:var(--mel);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1rem 1.25rem;border-bottom:1px solid var(--linje);box-shadow:0 18px 40px -20px rgba(58,29,14,.4)}
.nav.open{display:flex} .nav a{padding:.9rem .25rem;border-bottom:1px solid var(--linje);font-size:1.15rem} .burger{display:inline-flex;align-items:center;justify-content:center}.status{display:none}}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:clamp(2.5rem,6vw,5rem)}
.hero h1 em{font-style:normal;color:var(--kobber-ink)}
.hero__txt{display:grid;gap:1.5rem;justify-items:start}
.hero__cta{display:flex;gap:.75rem;flex-wrap:wrap}
.hjul{position:relative;aspect-ratio:1;max-width:560px;margin-inline:auto;width:100%}
.hjul svg{width:100%;height:100%;overflow:visible}
.hjul__na{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:.2rem;pointer-events:none;padding:27%}
.hjul__na .hva{font-family:var(--d);font-weight:800;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.05;letter-spacing:-.02em}
.hjul__na .tid{font-size:.95rem;color:var(--blekk-2)} .hjul__na .tid strong{color:var(--kobber-ink)}
.hjul__na .kl{font-size:.8rem;color:var(--blekk-3);letter-spacing:.04em}
.hjul .viser{transform-origin:280px 280px;transition:transform 1.4s var(--ease)}
.hjul .merke text{font:600 15px var(--b);fill:var(--blekk-2)} .hjul .merke.aktiv text{fill:var(--kobber-ink)} .hjul .merke circle{fill:var(--mel);stroke:var(--skorpe);stroke-width:1.5}
.hjul .merke.ferdig circle{fill:var(--skorpe)} .hjul .merke.aktiv circle{fill:var(--kobber);stroke:var(--kobber)}
@media(prefers-reduced-motion:no-preference){.hjul .ring-bake{stroke-dasharray:6 8;animation:drift 60s linear infinite}@keyframes drift{to{stroke-dashoffset:-140}}
.hjul svg{animation:inn 1.2s var(--ease) both}@keyframes inn{from{opacity:0;transform:scale(.94)}}}
/* dagens brød */
.brod{display:grid;gap:0;border-top:1px solid var(--linje)}
.brod li{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem 1.25rem;align-items:baseline;padding:1rem 0;border-bottom:1px solid var(--linje);list-style:none}
.brod .kl{font-family:var(--d);font-weight:700;font-size:1.1rem;width:3.4ch} .brod .navn{font-weight:600} .brod .navn small{display:block;font-weight:400;color:var(--blekk-3);font-size:.9rem}
.brod .pris{font-weight:600} .brod .st{font-size:.85rem;padding:.2rem .6rem;border-radius:999px;background:var(--mel-2);color:var(--blekk-2)}
.brod .st.na{background:var(--kobber);color:var(--mel)} .brod .st.ut{background:transparent;box-shadow:inset 0 0 0 1px var(--linje);color:var(--blekk-3)} .brod .st.snart{background:var(--skorpe);color:var(--mel)}
ul.brod{padding:0;margin:0}
/* bilderad */
.tofelt{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.tofelt figure{margin:0;border-radius:var(--r);overflow:hidden} .tofelt figure img{aspect-ratio:3/2;object-fit:cover;width:100%}
.stripe{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.75rem} .stripe img{width:100%;height:100%;object-fit:cover;border-radius:var(--r);aspect-ratio:4/3}
.stripe img:first-child{grid-row:span 2;aspect-ratio:auto}
.tre{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem} .tre h3{margin-bottom:.5rem} .tre p{color:var(--blekk-2)}
.morkt .tre p{color:#C9B59E}
.sitat{font-family:var(--d);font-weight:600;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.2;letter-spacing:-.02em;max-width:24ch}
.sitat + .meta{margin-top:1rem}
/* tabeller/meny */
.meny{width:100%;border-collapse:collapse} .meny th,.meny td{text-align:left;padding:.85rem .5rem .85rem 0;border-bottom:1px solid var(--linje);vertical-align:top}
.meny th{font-weight:600;font-size:.85rem;color:var(--blekk-3);letter-spacing:.02em} .meny td.p{text-align:right;white-space:nowrap;font-weight:600} .meny td small{display:block;color:var(--blekk-3);font-size:.88rem}
.meny .al{font-size:.8rem;color:var(--blekk-3)}
.kat{margin-top:3rem} .kat h2{font-size:clamp(1.6rem,3vw,2.4rem);padding-bottom:1rem}
/* tidslinje 36 t */
.tl{display:grid;grid-template-columns:5rem 1fr;gap:0 1.5rem;position:relative;padding:0;margin:0;list-style:none}
.tl li{display:contents} .tl .t{font-family:var(--d);font-weight:700;font-size:1.15rem;color:var(--kobber-ink);padding:1.25rem 0;text-align:right}
.tl .x{padding:1.25rem 0 1.25rem 1.75rem;border-left:1px solid var(--linje);position:relative}
.tl .x::before{content:'';position:absolute;left:-5px;top:1.75rem;width:9px;height:9px;border-radius:50%;background:var(--skorpe)}
.tl .x h3{margin-bottom:.35rem} .tl .x p{color:var(--blekk-2)}
/* kurs */
.kurs{display:grid;gap:1rem;padding:0;margin:0;list-style:none}
.kurs li{display:grid;grid-template-columns:auto 1fr auto;gap:1rem 1.5rem;align-items:center;padding:1.25rem 0;border-bottom:1px solid var(--linje)}
.kurs .dato{font-family:var(--d);font-weight:800;font-size:1.6rem;line-height:1;width:5.5ch} .kurs .dato small{display:block;font:500 .8rem var(--b);color:var(--blekk-3);letter-spacing:.04em}
.kurs .ledig{font-size:.9rem;color:var(--blekk-2)} .kurs .full{color:var(--blekk-3)}
/* skjema */
.skjema{display:grid;gap:1.1rem;max-width:34rem}
.felt{display:grid;gap:.35rem} .felt label{font-weight:600;font-size:.95rem}
.felt input,.felt select,.felt textarea{font:inherit;padding:.75rem .9rem;border:1.5px solid var(--linje);border-radius:var(--r);background:#fff;color:var(--blekk);min-height:48px;width:100%}
.felt input:focus,.felt textarea:focus,.felt select:focus{border-color:var(--skorpe);outline:3px solid rgba(180,80,28,.25);outline-offset:0}
.felt .feil{font-size:.9rem;color:#8E2A12;display:none} .felt.har-feil .feil{display:block} .felt.har-feil input,.felt.har-feil textarea,.felt.har-feil select{border-color:#8E2A12}
.to{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.kvitt{background:var(--rug);color:var(--mel);padding:2rem;border-radius:var(--r);display:none;max-width:34rem}
.kvitt.vis{display:grid;gap:.75rem} .kvitt h3{font-size:1.6rem} .kvitt p{color:#C9B59E}
.info{display:grid;gap:1.5rem} .info dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.25rem} .info dt{color:var(--blekk-3)} .info dd{margin:0}
.kart{border-radius:var(--r);overflow:hidden;background:var(--mel-2);aspect-ratio:4/3} .kart svg{width:100%;height:100%;display:block}
/* fot */
.fot{padding-block:3rem;border-top:1px solid var(--linje);font-size:.95rem} .fot__i{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}
.fot a{text-decoration:none} .fot a:hover{text-decoration:underline} .fot ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}
.fot .liten{color:var(--blekk-3);margin-top:1.5rem;font-size:.85rem}
.sideint{padding-block:clamp(3rem,7vw,5.5rem) clamp(2rem,4vw,3rem)} .sideint h1{font-size:clamp(2.4rem,6vw,4.6rem)} .sideint .lede{margin-top:1rem}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hjul{max-width:440px}.tofelt,.tre,.fot__i{grid-template-columns:1fr}.stripe{grid-template-columns:1fr 1fr}.stripe img:first-child{grid-column:span 2;grid-row:auto}}
@media(max-width:560px){.brod li{grid-template-columns:auto 1fr;grid-template-areas:"kl navn" "pris st";}.brod .kl{grid-area:kl}.brod .navn{grid-area:navn}.brod .pris{grid-area:pris;padding-left:4.4ch}.brod .st{grid-area:st;justify-self:end}.to{grid-template-columns:1fr}.tl{grid-template-columns:3.5rem 1fr}.kurs li{grid-template-columns:auto 1fr}.kurs li .knapp{grid-column:2}.meny .al{display:block}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.morkt .tl .x p{color:#C9B59E} .morkt .tl .x::before{background:var(--kobber)} .morkt .tl .x{border-color:rgba(241,233,219,.2)}
.hjul svg text{font-size:15px}
@media(max-width:900px){.hjul{max-width:none;width:min(100%,520px)}.hjul__na .hva{font-size:1.15rem}.hjul__na .tid{font-size:.85rem}.hjul__na .kl{font-size:.72rem}.hjul__na{padding:29%}.hjul svg text{font-size:17px}}
