/* Shared styles for every page (EN and DA). */
@font-face{font-family:"Fraunces";src:url(/fonts/fraunces.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/fonts/fraunces-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --ink:#0c1719; --ink-2:#13252a; --ink-3:#1c343a;
  --sand:#f4efe6; --sand-2:#e9e1d2; --paper:#fffdf8;
  --text:#14211f; --muted:#5d6b69; --on-dark:#eef2ef; --on-dark-muted:#a9b8b5;
  --amber:#f2a541; --amber-2:#ffbe63; --sea:#4fb3a9;
  --line:rgba(20,33,31,.12); --line-dark:rgba(238,242,239,.14);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --r:14px; --gutter:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sand);color:var(--text);font:400 17px/1.65 var(--sans);overflow-x:hidden}
/* Never stretch a photo: width scales, height follows. */
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
.eyebrow{font:600 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin:0 0 18px}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.015em;margin:0}
h2{font-size:clamp(34px,5.2vw,64px);line-height:1.02}
h2 em,h1 em{font-style:italic;font-weight:400;color:var(--amber)}
.lede{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:40ch}
.dark{background:var(--ink);color:var(--on-dark)}
.dark .lede{color:var(--on-dark-muted)}

.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;
  font:600 16px/1 var(--sans);text-decoration:none;cursor:pointer;border:0;
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.btn-primary{background:var(--amber);color:#1b1206;box-shadow:0 10px 30px -10px rgba(242,165,65,.7)}
.btn-primary:hover{background:var(--amber-2);transform:translateY(-2px)}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px)}
.btn-ghost:hover{background:rgba(255,255,255,.2)}
.btn svg{width:18px;height:18px}

/* Header */
.top{position:fixed;inset:0 0 auto;z-index:20;transition:background .35s ease,box-shadow .35s ease}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;transition:height .35s ease}
.top .logo img{height:34px;width:auto;filter:brightness(0) invert(1)}
.top nav{display:flex;align-items:center;gap:30px}
.top nav a{color:#fff;text-decoration:none;font-size:15px;font-weight:500;opacity:.85}
.top nav a:hover{opacity:1}
.top nav .btn{padding:11px 20px;font-size:15px;opacity:1}
.top.scrolled{background:rgba(12,23,25,.86);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line-dark)}
.top.scrolled .wrap{height:64px}
@media (max-width:760px){.top nav a:not(.btn){display:none}}

/* Hero */
.hero{position:relative;height:100svh;min-height:600px;color:#fff;overflow:hidden;background:var(--ink)}
.hero-media{position:absolute;inset:0}
.hero-media video,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media video{animation:zoomin 32s ease-in-out infinite alternate;transform-origin:50% 60%}
@keyframes zoomin{from{transform:scale(1)}to{transform:scale(1.12)}}
@media (max-width:700px){.hero-media video{object-position:40% 50%}}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(8,16,18,.55) 0%,rgba(8,16,18,0) 65%),linear-gradient(180deg,rgba(8,16,18,.55) 0%,rgba(8,16,18,.05) 30%,rgba(8,16,18,.25) 55%,rgba(8,16,18,.9) 100%)}
.hero-copy{position:absolute;z-index:2;left:0;right:0;bottom:clamp(40px,9vh,96px)}
.hero h1{font-size:clamp(46px,9vw,124px);line-height:.94;font-weight:600;max-width:12ch;text-wrap:balance}
.hero p{font-size:clamp(17px,1.7vw,21px);max-width:46ch;color:rgba(255,255,255,.86);margin:22px 0 32px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-price{font-family:var(--serif);font-size:22px;margin-left:8px;color:rgba(255,255,255,.9)}
.hero-price small{font:500 13px var(--sans);opacity:.7;margin-left:6px}
.scroll-cue{position:absolute;z-index:2;right:var(--gutter);bottom:clamp(40px,9vh,96px);width:26px;height:44px;border:2px solid rgba(255,255,255,.6);border-radius:14px}
.scroll-cue::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
@media (max-width:760px){.scroll-cue{display:none}}
.hero-in>*{opacity:0;transform:translateY(24px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero-in>*:nth-child(2){animation-delay:.15s}.hero-in>*:nth-child(3){animation-delay:.3s}.hero-in>*:nth-child(4){animation-delay:.45s}
@keyframes rise{to{opacity:1;transform:none}}

/* Marquee */
.ticker{background:var(--amber);color:#1b1206;overflow:hidden;white-space:nowrap;padding:14px 0;font:600 14px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.ticker div{display:inline-flex;gap:44px;padding-right:44px;animation:marquee 32s linear infinite}
.ticker span::before{content:"✦";margin-right:44px;opacity:.6}
@keyframes marquee{to{transform:translateX(-100%)}}

/* Intro */
.intro{padding:clamp(80px,12vw,160px) 0}
.intro .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.intro figure{margin:0;position:relative}
.intro figure img{border-radius:var(--r);width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 40px 80px -40px rgba(12,23,25,.5)}
.intro .badge{position:absolute;left:-18px;bottom:28px;background:var(--ink);color:#fff;border-radius:12px;padding:16px 20px;font-size:14px;line-height:1.3;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}
.intro .badge b{display:block;font:600 30px/1 var(--serif);color:var(--amber);margin-bottom:4px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}
.stats b{display:block;font:600 clamp(30px,3.6vw,44px)/1 var(--serif)}
.stats span{font-size:14px;color:var(--muted)}
@media (max-width:860px){.intro .wrap{grid-template-columns:1fr}.intro .badge{left:12px}}

/* Features: sticky photo that changes as you read */
.features{padding:clamp(80px,10vw,140px) 0}
.features header{max-width:760px;margin-bottom:clamp(40px,6vw,80px)}
.f-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,90px)}
.f-stage{position:sticky;top:96px;height:min(76vh,640px);border-radius:var(--r);overflow:hidden;background:#fff}
.f-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .7s ease,transform 1.2s ease}
.f-stage img.on{opacity:1;transform:none}
.f-stage .count{position:absolute;left:20px;bottom:18px;z-index:2;font:600 13px var(--sans);letter-spacing:.12em;color:var(--ink);background:rgba(255,255,255,.85);padding:8px 12px;border-radius:999px}
.f-item{min-height:58vh;display:flex;flex-direction:column;justify-content:center;padding:20px 0;opacity:.28;transition:opacity .5s ease}
.f-item.on{opacity:1}
.f-item .n{font:600 14px var(--sans);color:var(--amber);letter-spacing:.1em}
.f-item h3{font-size:clamp(30px,3.6vw,46px);line-height:1.05;margin:10px 0 16px}
.f-item p{margin:0;color:var(--on-dark-muted);font-size:18px;max-width:42ch}
.f-item img{display:none}
@media (max-width:860px){
  .f-grid{grid-template-columns:1fr}
  .f-stage{display:none}
  .f-item{min-height:0;opacity:1;padding:0 0 48px}
  .f-item img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;margin-bottom:20px}
}

/* Full-bleed parallax band */
.band{position:relative;height:clamp(420px,80vh,760px);overflow:hidden;color:#fff;display:flex;align-items:center}
.band img{position:absolute;left:0;top:-15%;width:100%;height:130%;object-fit:cover;will-change:transform}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,16,18,.8),rgba(8,16,18,.15) 70%)}
.band blockquote{position:relative;z-index:2;margin:0;max-width:20ch;font:500 clamp(30px,4.4vw,58px)/1.08 var(--serif);text-wrap:balance}
.band cite{display:block;margin-top:22px;font:500 15px var(--sans);font-style:normal;color:rgba(255,255,255,.75)}

/* Specs */
.specs{padding:clamp(80px,10vw,130px) 0}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(calc(50% - 1px),240px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:50px}
.spec{background:var(--paper);padding:clamp(18px,3vw,28px) clamp(16px,3vw,26px);transition:background .3s ease}
.spec:hover{background:#fff}
.spec svg{width:30px;height:30px;color:var(--ink-3);margin-bottom:18px}
.spec h3{font:600 20px/1.2 var(--serif);margin:0 0 6px}
.spec p{margin:0;color:var(--muted);font-size:15px}

/* Reviews */
.reviews{padding:clamp(80px,10vw,130px) 0}
.q-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px;margin-top:50px}
.q{margin:0;background:var(--ink-2);border:1px solid var(--line-dark);border-radius:var(--r);padding:clamp(26px,3vw,40px);display:flex;flex-direction:column}
.q .stars{color:var(--amber);letter-spacing:4px;font-size:18px;margin-bottom:16px}
.q p{margin:0 0 14px;font:400 clamp(18px,1.5vw,20px)/1.55 var(--serif);color:var(--on-dark)}
.q footer{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:18px;font-size:15px;color:var(--on-dark-muted)}
.q footer img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.q footer strong{color:#fff;display:block}
.q a{color:var(--amber)}

/* Gallery */
.gallery{padding:clamp(80px,10vw,130px) 0 clamp(60px,8vw,100px)}
.masonry{columns:3 280px;column-gap:14px;margin-top:50px}
.masonry button{display:block;width:100%;padding:0;border:0;background:none;margin:0 0 14px;cursor:zoom-in;border-radius:12px;overflow:hidden;break-inside:avoid}
.masonry img{width:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.masonry button:hover img{transform:scale(1.04)}
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(6,12,13,.94);display:none;align-items:center;justify-content:center;padding:20px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1400px,100%);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:8px}
.lightbox button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:22px;cursor:pointer}
.lightbox .x{top:18px;right:18px}.lightbox .prev{left:18px;top:50%;margin-top:-24px}.lightbox .next{right:18px;top:50%;margin-top:-24px}

/* New product teaser: Line Spool */
.newprod{padding:clamp(80px,10vw,140px) 0;background:var(--sand);border-top:1px solid var(--line)}
.newprod .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.newprod figure{margin:0}
.newprod figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.newprod .tag{font:500 clamp(22px,2.4vw,30px)/1.2 var(--serif);margin:18px 0 0}
.newprod .acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px}
.newprod .price{font:600 22px var(--serif);margin-right:6px}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--ink-3);transform:translateY(-2px)}
@media (max-width:860px){.newprod .wrap{grid-template-columns:1fr}}

/* Videos */
.videos{padding:clamp(80px,10vw,130px) 0}
.v-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px}
.v-head a{color:var(--amber);font-weight:600;text-decoration:none}
.v-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px;margin-top:44px}
.video{position:relative;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;cursor:pointer;border:0;padding:0;width:100%}
.video img{width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .3s ease,transform .6s ease}
.video:hover img{opacity:1;transform:scale(1.04)}
.video .play{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;background:var(--amber);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .3s ease}
.video:hover .play{transform:scale(1.1)}
.video .play::after{content:"";border-left:18px solid #1b1206;border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.note{color:var(--on-dark-muted);font-size:15px;margin:10px 0 0}

/* Order */
.order{padding:clamp(80px,10vw,140px) 0}
.order-card{display:grid;grid-template-columns:1.1fr 1fr;background:var(--paper);border-radius:22px;overflow:hidden;box-shadow:0 50px 100px -50px rgba(12,23,25,.45)}
.order-card figure{margin:0;background:#f1f1f1}
.order-card figure img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.order-body{padding:clamp(28px,4vw,56px)}
.order-body h2{font-size:clamp(32px,4vw,52px)}
.big-price{font:600 clamp(48px,6vw,72px)/1 var(--serif);margin:22px 0 4px}
.big-price small{font:500 15px var(--sans);color:var(--muted);margin-left:8px}
.checks{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:10px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks li::before{content:"";flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--sea) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/14px no-repeat}
.order-body .small{font-size:15px;color:var(--muted);margin:22px 0 0}
.order-body .small a{color:var(--text)}
@media (max-width:900px){.order-card{grid-template-columns:1fr}}

/* About */
.about{padding:clamp(80px,10vw,130px) 0}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(24px,4vw,48px);margin-top:50px}
.team img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);margin-bottom:20px;filter:saturate(.9)}
.team h3{font-size:26px}
.team .role{color:var(--amber);font:600 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:6px 0 10px}
.team p{color:var(--muted);margin:0}
.dark .team p{color:var(--on-dark-muted)}

footer.site{padding:70px 0 50px;font-size:15px;color:var(--on-dark-muted)}
footer.site .wrap{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
footer.site img{height:32px;width:auto;filter:brightness(0) invert(1);margin-bottom:14px}
footer.site a{color:var(--on-dark);text-decoration:none}
footer.site a:hover{color:var(--amber)}
footer.site strong{color:var(--on-dark)}
@media (max-width:760px){footer.site .wrap{grid-template-columns:1fr 1fr}}

/* Cookie banner from tracking.js, restyled to match the page */
[aria-label="Cookies"]{left:16px!important;right:16px!important;bottom:16px!important;margin:0!important;max-width:400px!important;
  background:var(--ink-2)!important;color:var(--on-dark)!important;border:1px solid var(--line-dark)!important;border-radius:14px!important;
  font:400 14px/1.5 var(--sans)!important;box-shadow:0 20px 50px -10px rgba(0,0,0,.5)!important}
[aria-label="Cookies"] button{font:600 14px var(--sans)!important;border-radius:999px!important;padding:9px 18px!important}
[aria-label="Cookies"] button[data-c="no"]{background:transparent!important;color:var(--on-dark)!important;border:1px solid var(--line-dark)!important}
[aria-label="Cookies"] button[data-c="yes"]{background:var(--amber)!important;color:#1b1206!important}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.hero-in>*{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* Language switch (EN/DA) in the header */
.top nav a.lang{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.4);border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.08em;opacity:.9}
.top nav a.lang:hover{border-color:#fff;opacity:1}
@media (max-width:760px){.top nav a.lang{display:inline-flex}.top nav{gap:12px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Readability: small amber labels on the light sand/paper background use a deeper amber (contrast ≥ 4.5:1);
   on dark sections they keep the bright amber. The order button in the header always has dark text, like the other buttons. */
:root{--amber-ink:#94590f}
.eyebrow,.team .role{color:var(--amber-ink)}
.dark .eyebrow,.dark .team .role,.hero .eyebrow{color:var(--amber)}
.top nav a.btn-primary{color:#1b1206}
