/* Visittkortet v2, 10.09. Portrettet fyller skjermen, og alt får plass på én
   mobilhøyde uten scrolling. Brukes av kort/<navn>.html. Visningssidene (-qr)
   bruker fortsatt kort-v1. Ny mappe fordi /assets/ ligger med ett års
   immutable-buffer. */
:root{--ink:#16191d;--coal:#22262b;--paper:#f2f0eb;--muted:#bcbdbb;--amber:#c07a2d;--rule:rgba(242,240,235,.18);--mono:'IBM Plex Mono',ui-monospace,monospace;--ease:cubic-bezier(.22,1,.36,1);--gutter:22px;color-scheme:dark}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.5 Archivo,'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
p,h1,ul{margin:0}
::selection{background:var(--amber);color:var(--ink)}
a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.mono{font:400 10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.ar{display:inline-block;transition:transform .4s var(--ease)}
a:hover .ar{transform:translateX(4px)}

/* Kortet er hele skjermen. Innholdet ligger i bunnen, portrettet under alt. */
.kort{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;background:var(--coal)}
.kfoto{position:absolute;inset:0;z-index:0}
.kfoto img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;filter:grayscale(1) contrast(1.05);display:block}
.kfoto:after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(22,25,29,.62) 0,rgba(22,25,29,.18) 12%,rgba(22,25,29,0) 24%,rgba(22,25,29,0) 32%,rgba(22,25,29,.84) 55%,var(--ink) 72%)}
.kfoto.initialer{display:flex;align-items:flex-start;justify-content:center;padding-top:13svh;font-size:min(30vw,130px);font-weight:450;letter-spacing:-.08em;line-height:1;color:rgba(242,240,235,.9)}
.kfoto.initialer:before{content:'';position:absolute;inset:16px;border:1px solid rgba(242,240,235,.12)}

.khead{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(12px + env(safe-area-inset-top)) var(--gutter) 0}
.brand{display:inline-flex;align-items:center;gap:9px;line-height:1;min-height:44px}
.brand svg{width:26px;height:26px;flex-shrink:0}
.wm{font-size:17px;font-weight:600;font-stretch:88%;letter-spacing:-.04em}
.khead .mono{color:var(--paper);opacity:.85;text-shadow:0 1px 12px rgba(22,25,29,.8)}
.brand{text-shadow:0 1px 12px rgba(22,25,29,.8)}

.kbody{position:relative;z-index:1;margin-top:auto;padding:0 var(--gutter) calc(14px + env(safe-area-inset-bottom))}
h1{font-size:clamp(38px,11.5vw,54px);font-weight:550;font-stretch:78%;letter-spacing:-.055em;line-height:.95;overflow-wrap:anywhere;text-shadow:0 2px 28px rgba(22,25,29,.7)}
.rolle{margin-top:9px;color:var(--muted)}
.en{font-size:14.5px;line-height:1.45;color:var(--muted);margin-top:9px;max-width:38ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Nummer og adresse som lesbar, trykkbar tekst. To fliser, ikke tre rader. */
.kontakt{list-style:none;padding:0;margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kontakt a{display:flex;flex-direction:column;gap:3px;min-height:54px;padding:9px 12px;border:1px solid var(--rule);background:rgba(242,240,235,.05);transition:border-color .3s}
.kontakt a:hover{border-color:rgba(242,240,235,.5)}
.kontakt .mono{color:var(--muted);font-size:9px}
.kontakt b{font-weight:500;font-size:15px;letter-spacing:-.01em;overflow-wrap:anywhere;line-height:1.2}

/* Den ene knappen. Pilleformen er husets eneste knapp, rav er husets ene peilepunkt. */
.btn{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:54px;margin-top:12px;padding:12px 22px;background:var(--amber);color:var(--ink);border-radius:40px;font-size:16px;font-weight:600;transition:background .3s}
.btn:hover{background:var(--paper)}
.hint{font-size:12px;line-height:1.45;color:var(--muted);margin-top:8px}
.hint[hidden]{display:none}
.hint b{font-weight:600;color:var(--paper)}

.kfot{margin-top:12px;padding-top:10px;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:5px}
.kfot-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.retur{display:inline-flex;align-items:center;gap:10px;min-height:32px;font:400 10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.nett{font:400 10px/1.5 var(--mono);letter-spacing:.04em;color:var(--muted)}
.kfot small{display:block;font:400 9px/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:#8d918e}

/* Brede skjermer: kortet står som en telefon på bordet. */
@media(min-width:640px){
  body{display:grid;place-items:center;padding:24px;background:#0f1114;min-height:100svh}
  .kort{width:430px;min-height:min(880px,calc(100svh - 48px));border:1px solid rgba(242,240,235,.12)}
  .kfoto img{object-position:50% 12%}
  .kfoto.initialer{padding-top:120px}
}
/* Lave skjermer i stående format: alt skal fortsatt inn uten scrolling. */
@media(max-height:600px) and (orientation:portrait){
  h1{font-size:clamp(34px,10vw,44px)}
  .en{-webkit-line-clamp:2;margin-top:6px}
  .kontakt{margin-top:10px}.kontakt a{min-height:48px;padding:7px 10px}
  .btn{min-height:50px;margin-top:10px}
  .kfot small{display:none}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
@media print{body{background:#fff;color:#000}.kfoto,.btn,.hint,.retur{display:none}.kontakt a,.kfot{border-color:#000}}
