@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400 700; font-display:swap; src:url('assets/dm-sans-latin.woff2') format('woff2'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:500 800; font-display:swap; src:url('assets/manrope-latin.woff2') format('woff2'); }
@font-face { font-family:'Caveat'; font-style:normal; font-weight:500; font-display:swap; src:url('assets/caveat-latin.woff2') format('woff2'); }

:root { --ink:#000; --muted:#575757; --paper:#fff; --white:#fff; --line:rgba(0,0,0,.16); --radius:28px; --shadow:0 24px 70px rgba(0,0,0,.1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scrollbar-gutter:stable; }
body { margin:0; min-height:100vh; color:var(--ink); background:var(--paper); font-family:'DM Sans',sans-serif; -webkit-font-smoothing:antialiased; }
.home-document { position:relative; min-height:100%; background:#fff; }
.home-document::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:#fff url('assets/over-sverige-faded-white.jpg') center/cover no-repeat; }
.lactosefree-document::before { background-image:url('assets/milk-and-cookies-faded-white-88.jpg'); }
.ultrafree-document::before { background-image:url('assets/fork-and-knife-faded-white.jpg'); }
.radio-document::before { background-image:url('assets/radio-dj3-faded-white.jpg'); }
.placepilot-document::before { background-image:url('assets/earth-faded-white-88.jpg'); }
.home-page { position:relative; z-index:1; min-height:100vh; min-height:100lvh; display:flex; flex-direction:column; background:transparent; }
.home-page > main { flex:1 0 auto; }
a { color:inherit; -webkit-tap-highlight-color:transparent; }
.site-header,.page-shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.site-header { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.wordmark { flex:0 0 auto; color:var(--ink); text-decoration:none; font:800 2.5rem/.96 'Manrope',sans-serif; letter-spacing:-.045em; }
.main-nav { display:flex; align-items:center; gap:8px; }
.main-nav a { position:relative; padding:10px 14px; border-radius:999px; color:var(--muted); text-decoration:none; font-weight:600; }
.main-nav a[aria-current='page'] { color:var(--ink); background:transparent; }
.main-nav a[aria-current='page']::after { content:""; position:absolute; left:50%; bottom:2px; width:4px; height:4px; border-radius:50%; background:var(--ink); transform:translateX(-50%); }
.hero { min-height:auto; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(40px,8vw,110px); padding:60px 0; }
.eyebrow { margin:0 0 22px; color:#54545b; font:700 .76rem/1 'Manrope',sans-serif; letter-spacing:.17em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:'Manrope',sans-serif; letter-spacing:-.055em; }
.hero h1 { max-width:800px; margin-bottom:26px; font-size:clamp(2.6rem,5.5vw,5.3rem); line-height:.96; }
.hero h1 .spark { color:var(--ink); }
.lead { max-width:590px; color:var(--muted); font-size:clamp(1.06rem,2vw,1.28rem); line-height:1.65; }
.signature { color:var(--ink); font:500 clamp(1.7rem,3vw,2.2rem)/1.2 'Caveat',cursive; }
.button-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 22px; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:var(--white); text-decoration:none; font-weight:700; transition:transform .2s,box-shadow .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(23,23,27,.17); }
.button--light { background:rgba(255,255,255,.58); color:var(--ink); border-color:var(--line); }
.button--disabled { opacity:.42; cursor:default; pointer-events:none; }
.hero-art { min-height:560px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:center; gap:clamp(22px,4vw,42px); }
.hero-app { display:block; text-decoration:none; text-align:center; font-weight:700; }
.hero-app .app-icon { width:150px; height:150px; max-width:none; filter:grayscale(1); box-shadow:0 18px 45px rgba(0,0,0,.14); }
.hero-app > span:last-child { display:block; margin-top:14px; }
.app-icon { width:112px; height:112px; border-radius:25%; object-fit:cover; filter:none; box-shadow:0 16px 36px rgba(0,0,0,.18); }
.app-hero { min-height:auto; display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:clamp(50px,9vw,130px); padding:60px 0; }
.app-visual { display:flex; align-items:center; justify-content:center; position:relative; }
.app-visual::before { content:none; }
.app-icon--large { width:min(340px,75vw); height:min(340px,75vw); border-radius:24%; position:relative; box-shadow:0 35px 80px rgba(24,24,29,.22); }
.app-copy h1 { margin-bottom:18px; font-size:clamp(3.2rem,7vw,6.5rem); line-height:.94; }
.app-copy .tagline { margin-bottom:26px; font:700 clamp(1.3rem,2.5vw,1.8rem)/1.25 'Manrope',sans-serif; letter-spacing:-.035em; }
.app-copy .description { max-width:620px; color:var(--muted); font-size:1.08rem; line-height:1.72; }
.store-button { min-width:190px; justify-content:flex-start; padding:10px 20px; border-color:var(--line); border-radius:16px; background:#fff; color:var(--ink); line-height:1.1; text-align:left; }
.store-button > span { display:block; text-align:left; } .store-button small { display:block; margin-bottom:3px; font-size:.65rem; font-weight:500; opacity:.72; }
.store-logo { display:block; width:1.7rem; height:1.7rem; flex:0 0 1.7rem; object-fit:contain; filter:grayscale(1); }
.store-button:not(.button--disabled) .store-logo { filter:none; }
.content-card { max-width:820px; margin:40px 0 50px; padding:clamp(28px,5vw,56px); border:1px solid rgba(255,255,255,.72); border-radius:var(--radius); background:rgba(255,255,255,.58); box-shadow:0 22px 60px rgba(28,26,20,.06); }
.content-card h1 { font-size:clamp(2.5rem,6vw,4.8rem); }
.content-card h2 { margin:34px 0 12px; font-size:1.45rem; letter-spacing:-.035em; }
.content-card p { color:var(--muted); line-height:1.75; }
.contact-list { display:grid; gap:12px; margin:32px 0; } .contact-list a { width:fit-content; font-weight:700; text-underline-offset:4px; }
.site-footer { width:100%; margin-top:auto; padding:72px max(20px,env(safe-area-inset-right)) calc(48px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); display:flex; align-items:center; justify-content:center; color:var(--muted); background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 72px); font-size:.9rem; text-align:center; }
@media(max-width:800px) { .site-header{min-height:78px}.main-nav a{padding:9px 8px;font-size:.9rem}.hero{min-height:auto;grid-template-columns:1fr;padding:60px 0 50px}.hero-art{min-height:430px}.app-hero{min-height:auto;grid-template-columns:1fr;padding:40px 0 50px;text-align:center}.app-icon--large{width:200px;height:200px}.app-copy{display:flex;flex-direction:column;align-items:center}.button-row{justify-content:center}.content-card{margin-bottom:40px}.site-footer{align-items:center;flex-direction:column} }
@media(max-width:520px) { .site-header,.page-shell{width:min(100% - 28px,1180px)}.site-header{align-items:flex-start;gap:8px;padding:20px 0}.wordmark{padding-top:8px}.main-nav{gap:0;flex-wrap:nowrap;justify-content:flex-end;max-width:none}.main-nav a{padding:8px 4px;font-size:.78rem;white-space:nowrap}.hero h1{font-size:2.5rem}.hero-art{min-height:340px;gap:22px}.hero-app > span:last-child{font-size:.86rem}.app-icon{width:92px;height:92px}.app-icon--large{width:110px;height:110px}.hero-app .app-icon{width:110px;height:110px} }
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*::before,*::after{transition:none!important} }
