/* Tverrsnitt arkitekter: tegnepapir, grafitt, rød penn */
:root{
  --papir:#E7DFCB; --papir-2:#DDD4BD; --papir-3:#D2C8AE;
  --grafitt:#211E1B; --fg-2:#4B463F; --fg-3:#6E675C;
  --strek:#B7AD95; --strek-2:#948A72;
  --rod:#C22E1B; --rod-ink:#A32615;
  --display:'Familjen Grotesk',system-ui,sans-serif;
  --mono:'Martian Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --wrap:82rem; --gutter:clamp(1.25rem,4vw,3rem);
  --t-1:clamp(2.6rem,6.2vw,5.6rem);
  --t-2:clamp(1.9rem,3.4vw,3rem);
  --t-3:clamp(1.35rem,2vw,1.75rem);
  --t-body:clamp(1rem,1.05vw,1.125rem);
  --t-small:.9rem; --t-meta:.74rem;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:var(--strek-2) var(--papir);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papir);color:var(--grafitt);font:400 var(--t-body)/1.6 var(--display);font-feature-settings:"ss01";caret-color:var(--rod);
  background-image:linear-gradient(var(--papir-2) 1px,transparent 1px),linear-gradient(90deg,var(--papir-2) 1px,transparent 1px);background-size:2.5rem 2.5rem;background-position:center top}
::selection{background:var(--rod);color:var(--papir)}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--papir)}::-webkit-scrollbar-thumb{background:var(--strek-2);border:2px solid var(--papir)}
:focus-visible{outline:2px solid var(--rod);outline-offset:3px}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.025em;line-height:1.02;text-wrap:balance}
h1{font-size:var(--t-1)}h2{font-size:var(--t-2)}h3{font-size:var(--t-3);letter-spacing:-.015em;line-height:1.15}
p{margin:0;max-width:62ch}
.mono{font-family:var(--mono);font-size:var(--t-meta);font-weight:400;letter-spacing:.02em;font-variation-settings:"wdth" 80;font-variant-numeric:tabular-nums}
.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.skip{position:absolute;left:-999px;top:.5rem;background:var(--grafitt);color:var(--papir);padding:.5rem 1rem;z-index:100}.skip:focus{left:.5rem}

/* Topp */
.topp{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--papir) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--strek)}
.topp .wrap{display:flex;align-items:center;justify-content:space-between;min-height:4.25rem;gap:1rem}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:600;letter-spacing:-.02em;font-size:1.05rem}
.logo svg{width:2rem;height:2rem}
.meny{display:flex;gap:clamp(1rem,2.5vw,2.25rem);list-style:none;margin:0;padding:0}
.meny a{text-decoration:none;font-size:.95rem;padding:.4rem 0;border-bottom:1px solid transparent;transition:border-color .2s}
.meny a:hover,.meny a[aria-current]{border-bottom-color:var(--grafitt)}
.meny a[aria-current]{font-weight:600}
.burger{display:none;background:none;border:1px solid var(--strek-2);color:inherit;width:2.75rem;height:2.75rem;cursor:pointer;place-items:center;padding:0}
.burger svg{width:1.4rem;height:1.4rem}
@media (max-width:760px){
  .burger{display:grid}
  .meny{position:fixed;inset:4.25rem 0 auto 0;background:var(--papir);border-bottom:1px solid var(--strek);flex-direction:column;gap:0;padding:.5rem var(--gutter) 1rem;transform:translateY(-8px);opacity:0;pointer-events:none;transition:.25s var(--ease)}
  .meny.open{transform:none;opacity:1;pointer-events:auto}
  .meny a{display:block;padding:.85rem 0;font-size:1.15rem;border-bottom:1px solid var(--strek)}
  .meny a[aria-current]{border-bottom-color:var(--strek)}
}

/* Seksjoner */
.sek{padding-block:clamp(3.5rem,8vw,7.5rem)}
.sek--stram{padding-block:clamp(2.5rem,5vw,4.5rem)}
.intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:end}
.lede{font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.45;color:var(--fg-2);max-width:48ch}
@media (max-width:760px){.intro{grid-template-columns:1fr}}

/* Målsettingslinje: dimensjonsstrek med endemarkører, brukes som skille */
.maal{display:flex;align-items:center;gap:.75rem;color:var(--fg-3);margin-block:clamp(2rem,4vw,3rem)}
.maal::before,.maal::after{content:'';flex:1;height:1px;background:var(--strek-2);position:relative}
.maal::before{background:linear-gradient(90deg,var(--strek-2),var(--strek-2)) ,none}
.maal span{font-family:var(--mono);font-size:var(--t-meta);font-variation-settings:"wdth" 80;white-space:nowrap}
.maal i{width:1px;height:.8rem;background:var(--strek-2);transform:rotate(-30deg)}

/* Tegningsark */
.ark{position:relative;background:#F1EBDA;border:1px solid var(--strek-2);box-shadow:0 1px 2px rgba(33,30,27,.06),0 10px 30px -14px rgba(33,30,27,.28);display:grid;grid-template-rows:1fr auto;text-decoration:none;color:inherit;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.ark::before{content:'';position:absolute;inset:.6rem;border:1px solid var(--strek);pointer-events:none}
.ark:hover{transform:translateY(-3px);box-shadow:0 2px 3px rgba(33,30,27,.08),0 22px 40px -16px rgba(33,30,27,.35)}
.ark__bilde{margin:1.25rem 1.25rem 0;aspect-ratio:16/10;overflow:hidden;background:var(--papir-2)}
.ark__bilde img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.02)}
.ark__felt{margin:1rem 1.25rem 1.25rem;border:1px solid var(--grafitt);display:grid;grid-template-columns:2.2fr 1fr 1fr;font-family:var(--mono);font-size:var(--t-meta);font-variation-settings:"wdth" 80}
.ark__felt>div{padding:.45rem .6rem;border-right:1px solid var(--grafitt);min-width:0}
.ark__felt>div:nth-child(3n){border-right:0}
.ark__felt>div:nth-child(-n+3){border-bottom:1px solid var(--grafitt)}
.ark__felt small{display:block;color:var(--fg-3);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.1rem}
.ark__felt b{font-family:var(--display);font-weight:600;font-size:1rem;letter-spacing:-.01em;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ark__felt .rod{color:var(--rod)}
.rist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2.25rem)}
@media (max-width:1000px){.rist{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.rist{grid-template-columns:1fr}.ark__felt{grid-template-columns:1.6fr 1fr 1fr}}

/* Knapper */
.knapp{display:inline-flex;align-items:center;gap:.6rem;min-height:2.9rem;padding:.7rem 1.35rem;background:var(--grafitt);color:var(--papir);text-decoration:none;font-weight:600;border:1px solid var(--grafitt);cursor:pointer;font:inherit;font-weight:600;transition:background .2s,color .2s}
.knapp:hover{background:var(--rod);border-color:var(--rod)}
.knapp--lett{background:transparent;color:var(--grafitt)}
.knapp--lett:hover{background:var(--grafitt);color:var(--papir);border-color:var(--grafitt)}
.knapp svg{width:1rem;height:1rem}

/* Lister med streker */
.liste{list-style:none;margin:0;padding:0;border-top:1px solid var(--grafitt)}
.liste li{display:grid;grid-template-columns:8rem 1fr;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--strek)}
.liste li .mono{color:var(--fg-3);padding-top:.35rem}
@media (max-width:600px){.liste li{grid-template-columns:1fr;gap:.3rem}}

/* Bunn */
.bunn{border-top:1px solid var(--grafitt);padding-block:3rem 2rem;margin-top:clamp(3rem,7vw,6rem)}
.bunn .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.bunn address{font-style:normal;color:var(--fg-2)}
.bunn ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.bunn .mono{color:var(--fg-3);margin-top:1.5rem;grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
@media (max-width:760px){.bunn .wrap{grid-template-columns:1fr}}

/* Skjema */
.felt{display:grid;gap:.4rem;margin-bottom:1.25rem}
.felt label{font-weight:600;font-size:.95rem}
.felt input,.felt textarea,.felt select{font:inherit;padding:.75rem .9rem;background:#F1EBDA;border:1px solid var(--strek-2);color:inherit;width:100%;min-height:2.9rem}
.felt input:focus-visible,.felt textarea:focus-visible,.felt select:focus-visible{outline:2px solid var(--rod);outline-offset:0;border-color:var(--rod)}
.felt [aria-invalid="true"]{border-color:var(--rod)}
.felt .feil{color:var(--rod-ink);font-size:var(--t-small);display:none}
.felt.har-feil .feil{display:block}
.hint{color:var(--fg-3);font-size:var(--t-small)}
.kvitto{border:1px solid var(--grafitt);padding:1.5rem;background:#F1EBDA;display:none}
.kvitto.vis{display:block}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
