@font-face{font-family:"Bricolage Grotesque";src:url(/assets/fonts/bricolage-grotesque-latin.woff2) format("woff2");font-weight:600 800;font-display:swap}
@font-face{font-family:"Geist";src:url(/assets/fonts/geist-latin.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{
  --bg:oklch(97.2% .018 82);--fg:oklch(28% .035 45);--muted:oklch(47% .035 50);--secondary:oklch(94% .028 78);
  --card:oklch(99.3% .008 85);--primary:oklch(56% .135 40);--primary-deep:oklch(47% .115 36);--on-primary:oklch(98.5% .012 85);
  --accent:oklch(55% .09 122);--ink:oklch(30% .04 45);--border:oklch(28% .035 45/.12);--danger:oklch(55% .19 27);
  --r:1.25rem;--shadow-soft:0 1px 2px oklch(28% .035 45/.06),0 12px 32px -12px oklch(28% .035 45/.18);
  --shadow-device:0 30px 60px -28px oklch(30% .06 40/.55),0 0 0 1px oklch(28% .035 45/.08);
  --shadow-glow:0 10px 30px -10px oklch(56% .135 40/.55);
  --display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;--sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--display);line-height:1.05;letter-spacing:-.02em;margin:0;font-weight:700}
h1{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:800}
h2{font-size:clamp(2rem,4.2vw,3.1rem)}
h3{font-size:1.35rem}
p{margin:0}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--card);padding:.5rem 1rem;border-radius:999px}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.eyebrow::before{content:"";width:.35rem;height:.35rem;border-radius:50%;background:currentColor}
.lead{font-size:1.125rem;color:var(--muted);max-width:36rem}
.hl{color:var(--primary)}
/* header */
.site-header{position:fixed;inset:0 0 auto;z-index:50;padding:.75rem .75rem 0}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .6rem .6rem 1.25rem;border-radius:999px;transition:background .2s,box-shadow .2s}
.site-header.scrolled .bar,.site-header.solid .bar{background:oklch(99.3% .008 85/.85);backdrop-filter:blur(14px);box-shadow:var(--shadow-soft)}
.logo{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.03em;text-decoration:none}
.logo span{color:var(--primary)}
.nav{display:flex;gap:.25rem}
.nav a{font-size:.9rem;text-decoration:none;color:var(--muted);padding:.45rem .8rem;border-radius:999px}
.nav a:hover{color:var(--fg);background:var(--secondary)}
@media (max-width:900px){.nav{display:none}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:600 1rem/1 var(--sans);padding:1rem 1.5rem;border-radius:999px;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-glow)}
.btn-primary:hover{background:var(--primary-deep)}
.btn-accent{background:var(--accent);color:var(--on-primary)}
.btn-ghost{background:var(--card);border-color:var(--border);color:var(--fg)}
.btn-sm{padding:.65rem 1.1rem;font-size:.9rem}
.btn-light{background:var(--card);color:var(--primary-deep)}
/* hero */
.hero{padding:9rem 0 5rem;background:radial-gradient(55% 45% at 90% 15%,oklch(80% .1 45/.35),transparent 70%),radial-gradient(45% 45% at 0% 100%,oklch(85% .07 122/.35),transparent 70%),linear-gradient(180deg,oklch(96.5% .025 80),var(--bg))}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}
.pill{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;padding:.35rem .85rem;border-radius:999px;background:var(--card);border:1px solid var(--border);margin-bottom:1.5rem}
.pill::before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:var(--accent)}
.hero h1{margin-bottom:1.5rem}
.hero .lead{margin-bottom:2rem}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:.5rem;font-size:.9rem;color:var(--muted)}
.checks li{display:flex;gap:.6rem;align-items:center}
.checks li::before{content:"✓";display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;background:oklch(55% .09 122/.15);color:var(--accent);font-size:.7rem;font-weight:700}
/* device mockup (ren CSS) */
.devices{position:relative;padding-right:2.5rem}
.laptop{background:var(--ink);border-radius:1.25rem 1.25rem .4rem .4rem;padding:.6rem .6rem .9rem;box-shadow:var(--shadow-device)}
.laptop .dots{display:flex;gap:.3rem;padding:.15rem .3rem .55rem;align-items:center}
.laptop .dots i{width:.45rem;height:.45rem;border-radius:50%;background:oklch(100% 0 0/.25)}
.laptop .dots b{margin-left:.6rem;font:500 .65rem var(--sans);color:oklch(100% 0 0/.6);background:oklch(100% 0 0/.08);padding:.15rem .7rem;border-radius:999px}
.screen{background:oklch(98% .01 70);border-radius:.5rem;aspect-ratio:16/10;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;gap:1rem;padding:1.4rem;color:#3a2b23}
.screen .mini-nav{grid-column:1/-1;display:flex;justify-content:space-between;font-size:.55rem;opacity:.7}
.screen .mini-h{font:italic 600 clamp(1rem,2.2vw,1.6rem)/1.05 Georgia,serif}
.screen .mini-p{font-size:.55rem;opacity:.7;margin:.6rem 0}
.screen .mini-btns{display:flex;gap:.3rem}.screen .mini-btns span{font-size:.5rem;padding:.25rem .55rem;border-radius:999px;border:1px solid #3a2b23}.screen .mini-btns span:first-child{background:#3a2b23;color:#fff}
.screen .mini-img{border-radius:50% 50% .6rem .6rem/30% 30% .6rem .6rem;background:linear-gradient(160deg,oklch(80% .06 70),oklch(62% .08 50));min-height:8rem}
.laptop-base{height:.7rem;margin:0 -1.2rem;background:linear-gradient(oklch(85% .02 70),oklch(75% .02 60));border-radius:0 0 1rem 1rem}
.phone{position:absolute;right:0;bottom:-1rem;width:26%;aspect-ratio:9/16;background:var(--ink);border-radius:1.4rem;padding:.4rem;box-shadow:var(--shadow-device)}
.phone .p-screen{height:100%;border-radius:1.1rem;background:oklch(98% .01 70);padding:1.4rem .6rem .6rem;display:flex;flex-direction:column;gap:.4rem}
.phone .mini-h{font:italic 600 .95rem/1.05 Georgia,serif;color:#3a2b23}
.phone .p-img{flex:1;border-radius:.6rem;background:linear-gradient(160deg,oklch(80% .06 70),oklch(62% .08 50))}
.caption{margin-top:3rem;font-size:.8rem;color:var(--muted)}
.caption::before{content:"● ";color:var(--primary)}
/* marquee */
.marquee{background:var(--accent);color:var(--on-primary);overflow:hidden;padding:.9rem 0}
.marquee .track{display:flex;gap:2.5rem;width:max-content;animation:scroll 40s linear infinite;font:700 1.15rem var(--display)}
.marquee .track span::after{content:"•";margin-left:2.5rem;opacity:.5}
@keyframes scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none}}
/* sections */
.section{padding:6rem 0}
.section.alt{background:var(--secondary)}
.section-head{display:grid;gap:1rem;margin-bottom:3rem}
.section-head.center{text-align:center;justify-items:center}
.card{background:var(--card);border-radius:calc(var(--r)*1.6);box-shadow:var(--shadow-soft);border:1px solid var(--border)}
/* stil-eksempel kort */
.idea{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
@media (max-width:800px){.idea{grid-template-columns:1fr}}
.idea .board{position:relative;min-height:16rem;background:radial-gradient(oklch(28% .035 45/.15) 1px,transparent 1px) 0 0/18px 18px,oklch(97% .015 80)}
.tag{position:absolute;font:700 .85rem var(--sans);padding:.45rem .95rem;border-radius:999px;box-shadow:3px 3px 0 var(--ink);border:2px solid var(--ink)}
.tag.t1{left:10%;top:16%;background:var(--primary);color:var(--on-primary);transform:rotate(-6deg)}
.tag.t2{right:12%;top:34%;background:var(--accent);color:var(--on-primary);transform:rotate(4deg)}
.tag.t3{left:24%;bottom:18%;background:var(--card);transform:rotate(3deg)}
.idea .txt{padding:2.5rem;display:grid;gap:1rem;align-content:center}
.badge{justify-self:start;font:700 .7rem var(--sans);letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--on-primary);padding:.3rem .75rem;border-radius:999px}
.link-arrow{color:var(--primary);font-weight:600;text-decoration:none}
/* bento */
.bento{display:grid;grid-template-columns:2fr 1fr;gap:1rem}
.bento .big{grid-row:span 2;background:linear-gradient(160deg,var(--primary),var(--primary-deep));color:var(--on-primary);padding:2.5rem;border-radius:calc(var(--r)*1.6);display:flex;flex-direction:column;justify-content:flex-end;min-height:20rem}
.bento .tile{padding:2rem;border-radius:calc(var(--r)*1.6)}
.bento .tile.light{background:linear-gradient(135deg,oklch(96% .03 80),oklch(94% .04 110))}
.bento .tile.olive{background:var(--accent);color:var(--on-primary)}
.bento .wide{grid-column:1/-1;padding:2rem}
.bento p{margin-top:.6rem;opacity:.85}
@media (max-width:800px){.bento{grid-template-columns:1fr}.bento .big{grid-row:auto}}
/* warm blokk */
.warm{background:radial-gradient(50% 60% at 100% 0%,oklch(66% .13 50/.6),transparent 70%),linear-gradient(160deg,oklch(55% .13 40),oklch(47% .115 36));color:var(--on-primary);border-radius:calc(var(--r)*2);padding:clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.warm .eyebrow{color:oklch(98% .01 85/.8)}
.warm .lead{color:oklch(98% .01 85/.85)}
.qa{display:grid;gap:.75rem}
.qa div{border:1px solid oklch(100% 0 0/.18);background:oklch(100% 0 0/.06);border-radius:1.25rem;padding:1rem 1.25rem}
.qa small{opacity:.6}.qa b{display:block;font-size:1.05rem}.qa span{font-size:.85rem;opacity:.8}
@media (max-width:800px){.warm{grid-template-columns:1fr}}
/* sammenligning */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:42rem;margin:0 auto}
.compare .card{padding:1.75rem}
.compare .card.win{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-glow)}
.compare ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem;font-size:.92rem}
.compare li::before{content:"✕";display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;margin-right:.6rem;border-radius:50%;background:oklch(55% .19 27/.12);color:var(--danger);font-size:.65rem}
.compare .win li::before{content:"✓";background:var(--accent);color:var(--on-primary)}
@media (max-width:700px){.compare{grid-template-columns:1fr}}
/* steg */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:s}
.steps li{list-style:none;padding:1.5rem;position:relative}
.steps li::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--primary);color:var(--on-primary);font:700 1rem var(--display);margin-bottom:1rem}
.steps small{color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}
.steps p{color:var(--muted);font-size:.92rem;margin-top:.35rem}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}@media (max-width:560px){.steps{grid-template-columns:1fr}}
/* bestilling */
.order{background:radial-gradient(50% 60% at 100% 0%,oklch(66% .13 50/.6),transparent 70%),linear-gradient(160deg,oklch(55% .13 40),oklch(47% .115 36));color:var(--on-primary)}
.order .section-head .lead{color:oklch(98% .01 85/.85)}.order .eyebrow{color:oklch(98% .01 85/.8)}
.order-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:start}
@media (max-width:900px){.order-grid{grid-template-columns:1fr}}
.page-order{padding:8rem 0 5rem}
form.order-form{background:var(--card);color:var(--fg);border-radius:2rem;padding:clamp(1.5rem,4vw,2.25rem);box-shadow:var(--shadow-device);display:grid;gap:1.25rem}
fieldset{border:0;padding:0;margin:0;display:grid;gap:1rem}
legend{font:700 1.1rem var(--display);margin-bottom:.25rem;padding:0}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:600px){.row{grid-template-columns:1fr}}
label{display:grid;gap:.4rem;font-size:.88rem;font-weight:600}
label .opt{font-weight:400;color:var(--muted)}
.hint{font-size:.78rem;font-weight:400;color:var(--muted)}
input[type=text],input[type=email],input[type=url]{font:inherit;font-weight:400;width:100%;padding:.8rem 1.1rem;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--fg);box-shadow:inset 0 1px 2px oklch(28% .035 45/.06)}
input:focus-visible,.drop:focus-within{outline:2px solid var(--primary);outline-offset:2px}
.drop{position:relative;display:grid;gap:.25rem;place-items:center;text-align:center;padding:1.4rem;border:1.5px dashed oklch(28% .035 45/.25);border-radius:1.25rem;background:var(--bg);font-weight:400;cursor:pointer}
.drop:hover{border-color:var(--primary)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop strong{font-weight:600}.drop .names{font-size:.8rem;color:var(--primary-deep);word-break:break-all}
.field-error{color:var(--danger);font-size:.8rem;font-weight:500}
.invalid input{border-color:var(--danger)}
.errors{background:oklch(55% .19 27/.08);border:1px solid oklch(55% .19 27/.25);color:var(--danger);border-radius:1rem;padding:.9rem 1.1rem;font-size:.9rem}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;font-size:.85rem;color:var(--muted)}
.consent input{margin-top:.3rem;accent-color:var(--primary)}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.side{display:grid;gap:1rem}
.side .card{padding:1.5rem;color:var(--fg)}
.side ol{margin:.75rem 0 0;padding-left:1.2rem;display:grid;gap:.5rem;font-size:.92rem;color:var(--muted)}
.page-order .side .card{position:sticky;top:6rem}
/* takk */
.thanks{min-height:80vh;display:grid;place-items:center;padding:8rem 0 4rem}
.thanks .card{padding:clamp(2rem,5vw,3rem);max-width:40rem;text-align:center;display:grid;gap:1rem;justify-items:center}
.thanks .ok{width:4rem;height:4rem;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-primary);font-size:1.8rem}
.thanks code{font-size:.85rem;background:var(--secondary);padding:.2rem .5rem;border-radius:.4rem}
/* footer */
.site-footer{background:var(--ink);color:var(--on-primary);padding:4rem 0 2.5rem}
.site-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.site-footer h4{font:600 .75rem var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.6;margin:0 0 .8rem}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem;font-size:.92rem}
.site-footer a{text-decoration:none;opacity:.85}.site-footer a:hover{opacity:1}
.site-footer .logo span{color:oklch(75% .12 50)}
.site-footer .legal{margin-top:3rem;padding-top:1.5rem;border-top:1px solid oklch(100% 0 0/.12);font-size:.8rem;opacity:.6}
@media (max-width:700px){.site-footer .cols{grid-template-columns:1fr}}

.bento .big{position:relative;overflow:hidden}
.phones{position:absolute;top:-1.5rem;right:1.5rem;display:flex;gap:.9rem}
.phones i{display:block;width:7.5rem;height:13rem;border-radius:1.3rem;background:oklch(98% .01 70);border:5px solid var(--ink);box-shadow:var(--shadow-device);padding:1.5rem .6rem;color:#3a2b23;font-style:normal}
.phones i:nth-child(2){transform:translateY(2rem);background:oklch(92% .05 80)}
.phones i:nth-child(3){transform:translateY(-.5rem);background:oklch(95% .02 230)}
.phones b{font:italic 600 .95rem/1.1 Georgia,serif;display:block}
.phones i::after{content:"";display:block;height:5.5rem;margin-top:.7rem;border-radius:.6rem;background:linear-gradient(160deg,oklch(80% .06 70),oklch(62% .08 50))}
@media (max-width:800px){.phones{display:none}}
