/* =====================================================================
   BANG REGNSKAP – designsystem (rolig utgave)
   Én lys flate. Stor serif. Mye luft. Gull kun som aksent. Håndskrift kun ett sted per side.
   ===================================================================== */

/* ---------- Fonter (selvhostet) ---------- */
@font-face{font-family:'Besley';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/besley-400.woff2') format('woff2');}
@font-face{font-family:'Besley';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/besley-400i.woff2') format('woff2');}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/albert-400.woff2') format('woff2');}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/albert-500.woff2') format('woff2');}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/albert-600.woff2') format('woff2');}
@font-face{font-family:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/caveat-600.woff2') format('woff2');}

/* ---------- Tokens ---------- */
:root{
  --bg:#F4EEE3;           /* background – varm krem */
  --surface:#FBF8F1;      /* surface – kort/skjema */
  --ink:#2B2431;          /* primary – plomme (tekst, footer) */
  --ink-soft:#6B5F70;     /* muted text */
  --line:#DCD2C2;         /* border */
  --gold:#C9973F;         /* accent */
  --gold-ink:#9A6D1E;     /* gull som tekst på lys flate */
  --cream:#F2EBDF;        /* tekst på plomme */
  --success:#5F7E4F;--warning:#C9973F;--error:#B4543C;
  --serif:'Besley',Georgia,serif;--sans:'Albert Sans',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--hand:'Caveat',cursive;
  --wrap:1120px;--gutter:24px;--ease:cubic-bezier(.2,.7,.2,1);--pop:cubic-bezier(.2,1.5,.4,1);
}
@media (min-width:760px){:root{--gutter:48px;}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;background:var(--bg);background-image:radial-gradient(rgba(43,36,49,.05) 1px,transparent 1px);background-size:22px 22px;color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
body.open{overflow:hidden;}
main{overflow-x:clip;}
[id]{scroll-margin-top:24px;}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0;letter-spacing:-.01em;text-wrap:balance;}
h1{font-size:clamp(40px,7vw,84px);}
h2{font-size:clamp(30px,4.2vw,50px);}
h3{font-size:clamp(22px,2.4vw,28px);line-height:1.2;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
button{font:inherit;color:inherit;}
::selection{background:var(--gold);color:var(--ink);}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:3px;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gold);color:var(--ink);padding:10px 16px;border-radius:8px;font-weight:600;}
.skip:focus{top:12px;}
.lede{font-size:clamp(18px,1.7vw,21px);line-height:1.55;color:var(--ink-soft);max-width:30em;}
.muted{color:var(--ink-soft);}
.small{font-size:15px;color:var(--ink-soft);}
.hand{font-family:var(--hand);font-weight:600;font-size:23px;line-height:1.2;color:var(--gold-ink);display:inline-block;transform:rotate(-1.5deg);}
.nb{white-space:nowrap;}
.mt1{margin-top:8px;}.mt2{margin-top:16px;}.mt3{margin-top:24px;}.mt4{margin-top:40px;}.mt5{margin-top:64px;}

/* Bang-merket som «hake» i lister */
ul.blist{list-style:none;margin:0;padding:0;}
ul.blist li{position:relative;padding-left:22px;margin:6px 0;}
ul.blist li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--gold);}
ul.blist li::after{content:"";position:absolute;left:5px;top:.9em;width:10px;height:3px;border-radius:3px;background:var(--ink);transform:rotate(-55deg);transform-origin:left center;}

/* ---------- Knapper og lenker ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 28px;border-radius:999px;border:1.5px solid transparent;font-family:var(--sans);font-size:16px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap;transition:transform .18s var(--ease),background .2s,color .2s,border-color .2s;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(1px);}
.btn-gold{background:var(--gold);color:var(--ink);}
.btn-gold:hover{background:#D6A54B;}
.btn-ink{background:var(--ink);color:var(--cream);}
.btn-ink:hover{background:#3B3142;}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-line:hover{background:rgba(43,36,49,.06);}
.site-foot .btn-line,.curtain .btn-line{color:var(--cream);border-color:rgba(242,235,223,.5);}
.btn-sm{min-height:44px;padding:10px 20px;font-size:15px;}
.btn[aria-busy="true"]{pointer-events:none;opacity:.7;}
.btn[aria-busy="true"]::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.link{display:inline-flex;align-items:center;gap:6px;font-weight:500;border-bottom:1.5px solid var(--gold);padding-bottom:2px;transition:color .2s;}
.link:hover{color:var(--gold-ink);}
.link .arr{transition:transform .25s var(--ease);}
.link:hover .arr{transform:translateX(4px);}
.cta-note{display:block;margin-top:12px;font-size:15px;color:var(--ink-soft);}

/* ---------- Header ---------- */
.site-head{padding:22px 0;}
.site-head .in{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.brand .mk{width:34px;height:34px;transition:transform .35s var(--pop);}
.brand:hover .mk{transform:rotate(-8deg) scale(1.06);}
.brand .wm{font-size:13.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;}
.nav{display:none;}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center;}
.nav a{display:inline-flex;align-items:center;gap:0;padding:8px 12px;font-size:15.5px;font-weight:500;color:var(--ink-soft);transition:color .2s,gap .25s var(--ease);}
.nav a .tick{width:0;height:5px;border-radius:4px;background:var(--gold);transform:rotate(-30deg);transition:width .25s var(--pop);}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink);gap:8px;}
.nav a:hover .tick,.nav a[aria-current="page"] .tick{width:13px;}
.nav .head-cta{margin-left:14px;}
.menubtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1.5px solid var(--line);border-radius:999px;background:transparent;cursor:pointer;}
.menubtn .lines{position:relative;width:20px;height:14px;}
.menubtn .lines i{position:absolute;left:0;width:20px;height:2px;border-radius:2px;background:var(--ink);transition:transform .35s var(--ease),top .35s var(--ease),opacity .2s;}
.menubtn .lines i:nth-child(1){top:0;}
.menubtn .lines i:nth-child(2){top:6px;}
.menubtn .lines i:nth-child(3){top:12px;}
body.open .menubtn{border-color:rgba(242,235,223,.4);}
body.open .menubtn .lines i{background:var(--cream);}
body.open .menubtn .lines i:nth-child(1){top:6px;transform:rotate(45deg);}
body.open .menubtn .lines i:nth-child(2){opacity:0;}
body.open .menubtn .lines i:nth-child(3){top:6px;transform:rotate(-45deg);}
.menubtn .lbl-open,.menubtn .lbl-close{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
body.open .site-head{position:relative;z-index:35;}
body.open .brand{color:var(--cream);}
@media (min-width:921px){.nav{display:block;}.menubtn{display:none;}}

/* Gardin – mobilmeny */
.curtain{position:fixed;inset:0;z-index:30;background:var(--ink);color:var(--cream);transform:translateY(-102%);visibility:hidden;overflow-x:hidden;overflow-y:auto;transition:transform .5s cubic-bezier(.55,.08,.25,1),visibility 0s linear .5s;}
body.open .curtain{transform:translateY(0);visibility:visible;transition:transform .5s cubic-bezier(.55,.08,.25,1),visibility 0s;}
.curtain .menu{padding:110px var(--gutter) 60px;}
.menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.menu-list a{font-family:var(--serif);font-size:clamp(38px,9vw,56px);line-height:1.25;display:inline-flex;align-items:center;gap:0;transition:color .25s,gap .25s var(--ease);}
.menu-list a .tick{width:0;height:8px;border-radius:5px;background:var(--gold);transform:rotate(-30deg);transition:width .3s var(--pop);}
.menu-list a:hover,.menu-list a[aria-current="page"]{color:var(--gold);gap:14px;}
.menu-list a:hover .tick,.menu-list a[aria-current="page"] .tick{width:28px;}
.menu-cta{margin-top:36px;}
.menu-contact{margin-top:44px;display:flex;flex-direction:column;gap:8px;font-size:15px;color:rgba(242,235,223,.75);}
.menu-contact a{width:max-content;border-bottom:1px solid rgba(242,235,223,.25);}

/* ---------- Seksjoner ---------- */
.sec{padding:clamp(56px,9vw,120px) 0;}
.sec + .sec{border-top:1px solid var(--line);}
.sec.tight{padding:clamp(40px,6vw,72px) 0;}
.sec-head{max-width:36em;margin-bottom:clamp(32px,5vw,56px);}
.sec-head .lede{margin-top:16px;}
.two{display:grid;gap:clamp(32px,5vw,72px);grid-template-columns:1fr;align-items:start;}
@media (min-width:860px){.two{grid-template-columns:1fr 1fr;}}
.three{display:grid;gap:clamp(28px,4vw,48px);grid-template-columns:1fr;}
@media (min-width:700px){.three{grid-template-columns:repeat(3,1fr);}}

/* Sidetopp */
.page-top{padding:clamp(40px,7vw,96px) 0 clamp(40px,6vw,72px);}
.page-top .lede{margin-top:20px;}
.page-top .hand{margin-top:22px;}

/* «Korreksjonen» – overstreket ord + håndskrevet rettelse (én per side) */
.korr{position:relative;display:inline-block;opacity:.5;white-space:nowrap;}
.korr::after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:.08em;min-height:3px;background:var(--error);border-radius:2px;transform:rotate(-2deg) scaleX(0);transform-origin:left center;animation:strike .5s cubic-bezier(.4,0,.3,1) .4s forwards;}
@keyframes strike{to{transform:rotate(-2deg) scaleX(1);}}
.fix{font-family:var(--hand);font-weight:600;color:var(--gold-ink);font-size:1.1em;display:inline-block;opacity:0;transform:scale(.7) translateY(8px);animation:popin .5s var(--pop) .9s forwards;white-space:nowrap;}
@keyframes popin{to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.korr::after{animation:none;transform:rotate(-2deg) scaleX(1);}.fix{animation:none;opacity:1;transform:none;}}

/* ---------- Forsiden (som originalen: sentrert overskrift, bildet i ramme under) ---------- */
.hero{padding:clamp(28px,5vw,64px) 0 clamp(48px,7vw,88px);text-align:center;position:relative;}
.hero .wrap{display:flex;flex-direction:column;align-items:center;}
.hero h1{font-size:clamp(40px,6vw,74px);line-height:1.08;max-width:12em;}
.hero h1 .bang{font-family:var(--hand);color:var(--gold-ink);font-size:1.12em;line-height:1;}
.hero .lede{margin:22px auto 0;max-width:30em;}
.hero .cta{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:10px;}
.hero .cta .hand{font-size:21px;}
.stage{margin-top:clamp(36px,5vw,56px);width:min(800px,100%);}
.frame{background:linear-gradient(160deg,#9C7A4F,#7C5F3E 42%,#5A4429 100%);padding:clamp(12px,2vw,20px);box-shadow:0 30px 60px rgba(43,36,49,.28),inset 0 0 0 1px rgba(255,255,255,.1);position:relative;}
.frame::before{content:"";position:absolute;inset:7px;border:1px solid rgba(0,0,0,.22);pointer-events:none;}
.frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 2px 3px rgba(255,255,255,.18),inset 0 -3px 5px rgba(0,0,0,.28);pointer-events:none;}
.frame .mat{background:var(--surface);padding:clamp(12px,2.2vw,22px);box-shadow:inset 0 3px 10px rgba(43,36,49,.16);}
.frame img{width:100%;height:auto;aspect-ratio:1600/967;object-fit:cover;box-shadow:0 2px 10px rgba(0,0,0,.25);}
.stage figcaption{margin-top:16px;font-size:14.5px;color:var(--ink-soft);}
/* v1-detalj: den lille håndskrevne pilen mot chatten (kun desktop) */
.chatnote{position:fixed;right:118px;bottom:82px;z-index:41;pointer-events:none;font-family:var(--hand);font-weight:600;font-size:24px;color:var(--ink-soft);transform:rotate(-3deg);white-space:nowrap;}
.chatarrow{position:fixed;right:98px;bottom:44px;z-index:41;pointer-events:none;width:64px;height:50px;overflow:visible;}
.chatarrow path{fill:none;stroke:var(--ink-soft);stroke-width:2.4;stroke-linecap:round;}
body.chat-open .chatnote,body.chat-open .chatarrow{opacity:0;}
@media (max-width:920px){.chatnote,.chatarrow{display:none;}}

/* Tre ting */
.tre h3{margin-bottom:8px;font-size:clamp(21px,2.2vw,25px);}
.tre p{color:var(--ink-soft);font-size:16px;}
.tre .item{padding-top:18px;border-top:1.5px solid var(--ink);}

/* Sitat / merkevareidé */
.statement{max-width:780px;}
.statement h2{max-width:15em;}
.statement p{margin-top:24px;color:var(--ink-soft);max-width:34em;font-size:18px;}

/* Menneskene */
.people{display:grid;gap:clamp(16px,3vw,40px);grid-template-columns:repeat(3,1fr);}
.person{display:block;}
.person .pic{background:var(--ink);aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;transition:transform .5s var(--ease);}
.person .pic img{width:90%;height:auto;object-fit:contain;object-position:bottom;}
.person:hover .pic{transform:translateY(-4px);}
.person b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(18px,2.4vw,26px);margin-top:14px;}
.person span{display:block;font-size:clamp(13px,1.4vw,15.5px);color:var(--ink-soft);margin-top:2px;}

/* ---------- Tjenester ---------- */
.cards{display:grid;gap:clamp(16px,2.5vw,28px);grid-template-columns:1fr;}
@media (min-width:760px){.cards{grid-template-columns:1fr 1fr;}}
.svc-card{position:relative;background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:clamp(24px,3.2vw,36px);display:flex;flex-direction:column;box-shadow:0 14px 34px rgba(46,36,51,.08);}
.svc-card::before{content:"";position:absolute;top:-1.5px;left:-1.5px;right:-1.5px;height:6px;background:var(--gold);border-radius:8px 8px 0 0;}
.svc-card h2{font-size:clamp(26px,2.8vw,32px);}
.svc-card p{color:var(--ink-soft);margin-top:12px;flex:1;}
.svc-card .foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);}
.svc-card .price{font-size:14.5px;font-weight:600;color:var(--gold-ink);}

.svc{display:grid;gap:12px 48px;grid-template-columns:1fr;padding:clamp(32px,4vw,48px) 0;border-top:1.5px solid var(--ink);}
.svc:last-child{border-bottom:1.5px solid var(--ink);}
.svc h2{font-size:clamp(30px,3.6vw,42px);}
.svc .price{font-size:15px;color:var(--gold-ink);font-weight:600;margin-top:6px;}
.svc p{color:var(--ink-soft);max-width:32em;}
.svc .go{margin-top:20px;}
@media (min-width:860px){.svc{grid-template-columns:.9fr 1.1fr;}.svc .go{margin-top:16px;}}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;}
.steps li{position:relative;padding:18px 0 18px 56px;border-top:1px solid var(--line);}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:16px;width:36px;height:36px;border-radius:50%;background:var(--gold);color:var(--ink);font-weight:600;display:flex;align-items:center;justify-content:center;font-size:15px;}
.steps b{display:block;font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:4px;}
.steps p{color:var(--ink-soft);font-size:16px;}

/* ---------- Fradrag ---------- */
.pills{display:flex;flex-wrap:wrap;gap:10px;}
.pill{border:1.5px solid var(--line);background:transparent;border-radius:999px;padding:11px 18px;min-height:46px;font-size:15.5px;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s,color .2s;}
.pill:hover{border-color:var(--ink);}
.pill[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--cream);}
.frpanel{margin-top:32px;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:clamp(24px,3.5vw,40px);max-width:640px;transition:opacity .25s;}
.frpanel.fade{opacity:0;}
.frpanel .rh{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);line-height:1.25;max-width:20em;}
.frpanel .rk{font-size:14px;color:var(--ink-soft);margin-top:4px;}
.fritem{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);}
.fritem:first-of-type{margin-top:22px;}
.fritem b{font-weight:500;display:block;}
.fritem .d{font-size:14px;color:var(--ink-soft);display:block;}
.fritem .pr{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-soft);}
.frtotal{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:18px;flex-wrap:wrap;}
.frtotal .sum{font-family:var(--serif);font-size:clamp(30px,3.6vw,42px);font-variant-numeric:tabular-nums;position:relative;}
.frtotal .sum::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;background:var(--gold);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease) .6s;}
.frtotal.found .sum::after{transform:scaleX(1);}
.frtotal .lbl{font-size:14.5px;color:var(--ink-soft);max-width:18em;}
.frdisc{font-size:14px;color:var(--ink-soft);margin-top:20px;max-width:40em;}

/* ---------- Om oss ---------- */
.team{display:grid;gap:clamp(20px,3vw,40px);grid-template-columns:1fr;}
@media (min-width:700px){.team{grid-template-columns:repeat(3,1fr);}}
.profile .pic{background:var(--ink);aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;max-width:260px;}
@media (min-width:700px){.profile .pic{max-width:none;}}
.profile .pic img{width:90%;height:auto;object-fit:contain;object-position:bottom;}
.profile h2{font-size:clamp(26px,2.8vw,32px);margin-top:16px;}
.profile .role{color:var(--gold-ink);font-weight:600;margin-top:2px;font-size:15px;}
.profile p{color:var(--ink-soft);margin-top:12px;font-size:16px;}
.profile .mail{margin-top:14px;display:inline-block;font-size:15px;}
.plain{list-style:none;margin:0;padding:0;}
.plain li{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);line-height:1.3;padding:16px 0;border-top:1px solid var(--line);}
.plain li:last-child{border-bottom:1px solid var(--line);}

/* ---------- Skjema ---------- */
.card{background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:clamp(24px,3.5vw,40px);position:relative;box-shadow:0 14px 34px rgba(46,36,51,.10);}
.card::before{content:"";position:absolute;top:-1.5px;left:-1.5px;right:-1.5px;height:6px;background:var(--gold);border-radius:8px 8px 0 0;}
.card h2{font-size:clamp(26px,3vw,34px);margin-bottom:6px;}
.card .sub{color:var(--ink-soft);margin-bottom:24px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field label,.flbl{font-size:14px;font-weight:600;color:var(--ink);}
.field input,.field textarea{width:100%;background:transparent;border:1.5px solid var(--line);border-radius:8px;padding:13px 14px;font-family:var(--sans);font-size:16px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s;resize:vertical;min-height:50px;}
.field input:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,151,63,.18);}
.field.err input,.field.err textarea{border-color:var(--error);}
.field .ferr{display:none;font-size:14px;color:var(--error);}
.field.err .ferr{display:block;}
.fwrap{display:flex;flex-direction:column;gap:18px;}
.fields2{display:grid;grid-template-columns:1fr;gap:18px;}
@media (min-width:560px){.fields2{grid-template-columns:1fr 1fr;}}
.sendrow{display:flex;align-items:center;gap:16px;margin-top:4px;flex-wrap:wrap;}
.warn{font-size:15px;color:var(--error);opacity:0;transition:opacity .3s;}
.warn.on{opacity:1;}
.privacy{font-size:13.5px;color:var(--ink-soft);line-height:1.5;}
.privacy a{border-bottom:1px solid var(--line);}
.thanks{display:none;text-align:center;padding:16px 0 8px;}
.card.sent form,.card.sent h2,.card.sent .sub,.card.sent .fail{display:none;}
.card.sent .thanks{display:block;}
.thanks .big{font-family:var(--serif);font-size:clamp(26px,3vw,34px);display:block;}
.thanks p{color:var(--ink-soft);margin-top:12px;}
.thanks .topics{display:block;margin-top:10px;font-size:15px;color:var(--gold-ink);font-weight:600;}
.thanks .stamp{width:44px;height:44px;margin:22px auto 0;transform:scale(1.6);opacity:0;transition:transform .35s var(--pop),opacity .3s;}
.thanks .stamp.on{transform:none;opacity:1;}
.fail{display:none;margin-top:8px;padding:14px 16px;border:1.5px solid var(--error);border-radius:8px;font-size:15px;line-height:1.5;}
.fail.on{display:block;}
.fail a{font-weight:600;border-bottom:1.5px solid var(--gold);}
.hp{position:absolute;left:-9999px;top:-9999px;}
.chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{border:1.5px solid var(--line);background:transparent;border-radius:999px;padding:11px 18px;min-height:46px;font-size:15.5px;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s,color .2s;}
.chip:hover{border-color:var(--ink);}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--cream);}
.subfield{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.subfield.on{max-height:160px;}
.subfield .field{margin-top:16px;}
.krow{margin-top:26px;}
.krow .flbl{display:block;margin-bottom:10px;}
.ways{display:flex;flex-direction:column;gap:18px;margin-top:40px;}
.way{display:flex;align-items:center;gap:14px;background:none;border:none;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit;}
.way .wic{width:38px;height:38px;flex-shrink:0;}
.way .wt{font-weight:600;}
.way .ws{font-size:15px;color:var(--ink-soft);border-bottom:1.5px solid var(--line);}
.way:hover .ws{color:var(--ink);border-color:var(--gold);}

/* Koppen */
.cup{display:flex;align-items:center;gap:20px;margin-bottom:28px;}
.cup svg{width:96px;height:auto;flex-shrink:0;overflow:visible;}
.cup .status{font-family:var(--hand);font-weight:600;font-size:23px;color:var(--gold-ink);line-height:1.15;transform:rotate(-1.5deg);}
.steam path{fill:none;stroke:var(--gold);stroke-width:2.6;stroke-linecap:round;opacity:0;transition:opacity .5s;}
.steam.s1 .p1,.steam.s2 .p1,.steam.s3 .p1{opacity:.85;animation:rise 2.6s ease-in-out infinite;}
.steam.s2 .p2,.steam.s3 .p2{opacity:.7;animation:rise 2.6s ease-in-out .6s infinite;}
.steam.s3 .p3{opacity:.75;animation:rise 2.6s ease-in-out 1.2s infinite;}
@keyframes rise{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
#fillGroup{transition:transform .7s var(--pop);}
@media (prefers-reduced-motion:reduce){.steam path{animation:none!important;}#fillGroup{transition:none;}}

/* ---------- Personvern ---------- */
.prose{max-width:660px;}
.prose .pv-item{border-top:1px solid var(--line);padding:22px 0;}
.prose .pv-item h2{font-size:24px;margin-bottom:8px;}
.prose .pv-item p{color:var(--ink-soft);line-height:1.7;}

/* ---------- Footer ---------- */
.site-foot{background:var(--ink);color:var(--cream);margin-top:clamp(40px,8vw,96px);}
.foot-cta{padding:clamp(56px,8vw,104px) 0;text-align:center;border-bottom:1px solid rgba(242,235,223,.14);}
.foot-cta h2{font-size:clamp(36px,5.5vw,64px);}
.foot-cta p{margin:18px auto 0;color:rgba(242,235,223,.75);max-width:30em;font-size:18px;}
.foot-cta .btn{margin-top:32px;}
.foot-main{padding:clamp(32px,5vw,48px) 0 24px;display:grid;gap:28px;grid-template-columns:1fr;}
@media (min-width:760px){.foot-main{grid-template-columns:1.2fr 1fr 1fr 1fr;}}
.foot-main .brand{color:var(--cream);margin-bottom:12px;}
.foot-main p{font-size:14.5px;color:rgba(242,235,223,.7);max-width:28em;}
.foot-col h4{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,235,223,.5);margin:0 0 12px;}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px;}
.foot-col a,.foot-col button{color:var(--cream);background:none;border:none;padding:0;cursor:pointer;font:inherit;border-bottom:1px solid transparent;}
.foot-col a:hover,.foot-col button:hover{border-color:var(--gold);}
.foot-sig{font-family:var(--hand);font-weight:600;font-size:28px;color:var(--gold);transform:rotate(-2deg);display:inline-block;align-self:end;}
.foot-legal{border-top:1px solid rgba(242,235,223,.14);padding:18px 0 28px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;color:rgba(242,235,223,.55);}
.foot-legal a:hover{color:var(--cream);}

/* ---------- Spør Bang ---------- */
.bx-launch{position:fixed;right:18px;bottom:18px;z-index:50;width:56px;height:56px;border-radius:50%;background:var(--ink);border:none;cursor:pointer;box-shadow:0 10px 24px rgba(43,36,49,.28);display:flex;align-items:center;justify-content:center;transition:transform .3s var(--pop),background .25s;}
.bx-launch:hover{transform:translateY(-3px);}
.bx-launch svg{width:26px;height:26px;}
body.chat-open .bx-launch{transform:rotate(90deg);background:var(--gold);}
body.open .bx-launch{opacity:0;pointer-events:none;}
.bx-panel{position:fixed;right:14px;left:14px;bottom:86px;z-index:49;max-width:400px;margin-left:auto;height:min(600px,calc(100dvh - 110px));background:var(--surface);border:1.5px solid var(--line);border-radius:14px;box-shadow:0 24px 60px rgba(43,36,49,.25);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(14px);pointer-events:none;visibility:hidden;transition:opacity .3s,transform .3s var(--ease),visibility 0s linear .3s;}
body.chat-open .bx-panel{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .3s,transform .3s var(--ease),visibility 0s;}
@media (min-width:921px){.bx-launch{right:26px;bottom:26px;}.bx-panel{right:26px;bottom:100px;left:auto;width:390px;}}
.bx-head{background:var(--ink);color:var(--cream);padding:14px 18px;display:flex;align-items:center;gap:11px;}
.bx-head .bxmk{width:26px;height:26px;flex-shrink:0;}
.bx-head .bxt{font-family:var(--serif);font-size:18px;}
.bx-head .bxs{font-size:12px;color:rgba(242,235,223,.7);}
.bx-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;}
.bx-msg{max-width:88%;padding:11px 14px;border-radius:14px;font-size:15px;line-height:1.5;white-space:pre-wrap;}
.bx-msg.me{align-self:flex-end;background:var(--ink);color:var(--cream);border-bottom-right-radius:4px;}
.bx-msg.bang{align-self:flex-start;background:var(--bg);border:1.5px solid var(--line);border-bottom-left-radius:4px;}
.bx-typing{align-self:flex-start;display:flex;gap:5px;padding:12px 14px;background:var(--bg);border:1.5px solid var(--line);border-radius:14px;}
.bx-typing i{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:bxb 1.1s ease-in-out infinite;}
.bx-typing i:nth-child(2){animation-delay:.18s;}.bx-typing i:nth-child(3){animation-delay:.36s;}
@keyframes bxb{0%,100%{transform:translateY(0);opacity:.5;}50%{transform:translateY(-5px);opacity:1;}}
.bx-chips{display:flex;flex-wrap:wrap;gap:8px;}
.bx-chip{border:1.5px solid var(--line);background:transparent;border-radius:999px;padding:9px 14px;font-size:13.5px;cursor:pointer;text-align:left;min-height:38px;}
.bx-chip:hover{border-color:var(--ink);}
.bx-esc{align-self:stretch;border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--bg);}
.bx-esc .bet{font-weight:600;margin-bottom:10px;}
.bx-esc input,.bx-esc textarea{width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:11px 12px;font-family:var(--sans);font-size:15px;color:var(--ink);outline:none;margin-bottom:10px;resize:vertical;}
.bx-esc input:focus,.bx-esc textarea:focus{border-color:var(--gold);}
.bx-esc .bew{font-size:14px;color:var(--error);margin-left:10px;opacity:0;transition:opacity .3s;}
.bx-esc .bew.on{opacity:1;}
.bx-esc.sentx{text-align:center;}
.bx-esc.sentx .big{font-family:var(--serif);font-size:22px;display:block;}
.bx-esc.sentx p{font-size:14px;color:var(--ink-soft);margin-top:6px;}
.bx-foot{border-top:1.5px solid var(--line);padding:12px 14px 10px;}
.bx-inrow{display:flex;gap:10px;align-items:center;}
.bx-in{flex:1;min-width:0;background:transparent;border:1.5px solid var(--line);border-radius:999px;padding:12px 16px;font-family:var(--sans);font-size:15px;color:var(--ink);outline:none;min-height:46px;}
.bx-in:focus{border-color:var(--gold);}
.bx-send{width:46px;height:46px;border-radius:50%;background:var(--ink);border:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.bx-send svg{width:20px;height:20px;}
.bx-legal{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-size:11.5px;color:var(--ink-soft);}
.bx-human{background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--gold-ink);padding:0;}
body.chat-lite .bx-foot{display:none;}
@media (prefers-reduced-motion:reduce){.bx-typing i{animation:none;}.bx-panel,.bx-launch{transition:none;}}

/* ---------- 404 / utskrift ---------- */
.p404 .links{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px;}
@media print{.site-head,.curtain,.bx-launch,.bx-panel,.foot-cta,.skip{display:none!important;}body{background:#fff;}}
