/* Styles for the Line Spool pages (/line-spool and /da/line-spool). Base copied from dealers.css, same design tokens as index.html. */
@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)}

.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)}

/* 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 nav .lang-switch{border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:6px 11px;font-size:13px;font-weight:600;letter-spacing:.06em}
.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{gap:14px}.top nav a:not(.btn):not(.lang-switch){display:none}}

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}
}

.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}.hero-in>*:nth-child(5){animation-delay:.6s}
@keyframes rise{to{opacity:1;transform:none}}
.top.light:not(.scrolled) .logo img{filter:none}
.top.light:not(.scrolled) nav a:not(.btn){color:var(--text)}
.top.light:not(.scrolled) nav .lang-switch{border-color:rgba(20,33,31,.3)}

/* Hero: the spool, big, on sand. Apple-style product reveal. */
.s-hero{padding:120px 0 clamp(40px,6vw,80px);text-align:center;overflow:hidden}
.s-hero .eyebrow{margin-bottom:14px}
.s-hero h1{font-size:clamp(52px,10vw,148px);line-height:.92}
.s-hero h1 em{font-style:italic;font-weight:400;color:var(--amber)}
.s-hero .tag{font:500 clamp(22px,2.6vw,34px)/1.2 var(--serif);margin:18px 0 0;color:var(--text)}
.s-hero .tag span{color:var(--muted)}
.s-hero figure{margin:clamp(0px,1vw,16px) auto 0;width:min(100%,calc(54svh*4/3),860px);position:relative}
.s-hero figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.s-hero .spin{animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(-2deg)}}
.s-hero .cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;margin-top:8px}
.s-hero .price{font:600 24px var(--serif);margin-right:6px}
.s-hero .price small{font:500 14px var(--sans);color:var(--muted);margin-left:6px}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--ink-3);transform:translateY(-2px)}
.btn-dark svg{width:18px;height:18px}

/* The problem */
.problem{padding:clamp(90px,12vw,170px) 0}
.problem .wrap{max-width:980px}
.problem h2{font-size:clamp(36px,6vw,80px);line-height:1}
.problem p.big{font:400 clamp(20px,2vw,26px)/1.5 var(--serif);color:var(--on-dark-muted);max-width:44ch;margin:30px 0 0}
.problem p.big b{color:var(--on-dark);font-weight:600}

/* Three verbs */
.verbs{padding:clamp(80px,10vw,140px) 0}
.v3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,36px);margin-top:56px}
.v3 article{background:var(--paper);border-radius:22px;overflow:hidden;box-shadow:0 40px 80px -50px rgba(12,23,25,.45)}
.v3 img{width:100%;aspect-ratio:4/3;object-fit:cover}
.v3 div{padding:clamp(22px,3vw,34px)}
.v3 b{font:600 14px var(--sans);letter-spacing:.1em;color:var(--amber)}
.v3 h3{font-size:clamp(30px,3.4vw,44px);margin:6px 0 10px}
.v3 p{margin:0;color:var(--muted)}
@media (max-width:900px){.v3{grid-template-columns:1fr}}

/* Video loop band */
.loop{position:relative;height:clamp(420px,72vh,720px);overflow:hidden;color:#fff;display:flex;align-items:flex-end}
.loop video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.loop::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,16,18,.1) 30%,rgba(8,16,18,.85))}
.loop .wrap{position:relative;z-index:2;width:100%;padding-bottom:clamp(36px,6vw,70px)}
.loop h2{max-width:16ch}

/* Steps */
.steps{padding:clamp(80px,10vw,140px) 0}
.steps ol{list-style:none;counter-reset:s;padding:0;margin:56px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);border-radius:var(--r);overflow:hidden}
.steps li{counter-increment:s;background:var(--ink);padding:clamp(22px,3vw,32px)}
.steps li::before{content:"0" counter(s);display:block;font:600 14px var(--sans);letter-spacing:.1em;color:var(--amber);margin-bottom:12px}
.steps h3{font-size:24px;margin:0 0 8px}
.steps p{margin:0;color:var(--on-dark-muted);font-size:16px}
@media (max-width:860px){.steps ol{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps ol{grid-template-columns:1fr}}

/* Film */
.film{padding:clamp(80px,10vw,130px) 0}
.film .frame{margin-top:44px;max-width:1000px}
.video{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--r);overflow:hidden;cursor:pointer;border:0;padding:0;width:100%;display:block}
.video img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .3s ease,transform .6s ease}
.video:hover img{opacity:1;transform:scale(1.03)}
.video .play{position:absolute;inset:0;margin:auto;width:76px;height:76px;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:22px solid #1b1206;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film .note{color:var(--muted);font-size:15px;margin:12px 0 0}

/* Works with */
.works{padding:clamp(80px,10vw,130px) 0}
.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.works figure{margin:0}
.works figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.chips li{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 16px;font-weight:600;font-size:15px}
@media (max-width:860px){.works-grid{grid-template-columns:1fr}}

/* Compare */
.compare{padding:clamp(80px,10vw,130px) 0}
.c-table{margin-top:44px;border:1px solid var(--line-dark);border-radius:var(--r);overflow:hidden}
.c-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;border-top:1px solid var(--line-dark)}
.c-row:first-child{border-top:0;font:600 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted)}
.c-row>*{padding:16px clamp(12px,2vw,22px)}
.c-row>:nth-child(2){background:rgba(242,165,65,.08);color:#fff;font-weight:600}
.c-row>:nth-child(3){color:var(--on-dark-muted)}
.yes::before{content:"✓ ";color:var(--amber)}
.no::before{content:"– ";opacity:.6}
@media (max-width:560px){.c-row{grid-template-columns:1.2fr 1fr 1fr;font-size:14px}}

/* Specs */
.specs{padding:clamp(80px,10vw,130px) 0}
.specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.specs figure{margin:0}
.specs figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.specs dl{display:grid;grid-template-columns:auto 1fr;gap:0;margin:30px 0 0;border-top:1px solid var(--line)}
.specs dt,.specs dd{padding:14px 0;border-bottom:1px solid var(--line);margin:0}
.specs dt{font-weight:600;padding-right:24px}
.specs dd{color:var(--muted)}
@media (max-width:860px){.specs-grid{grid-template-columns:1fr}}

/* Buy */
.buy{padding:clamp(80px,10vw,140px) 0}
.packs{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,3vw,28px);margin-top:50px;max-width:900px}
.pack{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:22px;padding:clamp(26px,4vw,44px);display:flex;flex-direction:column;position:relative}
.pack.best{border-color:var(--amber);background:var(--ink-3)}
.pack .flag{position:absolute;top:-13px;left:clamp(26px,4vw,44px);background:var(--amber);color:#1b1206;font:700 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;border-radius:999px}
.pack h3{font-size:28px}
.pack .p{font:600 clamp(44px,5vw,60px)/1 var(--serif);margin:18px 0 4px;color:#fff}
.pack .p small{font:500 15px var(--sans);color:var(--on-dark-muted);margin-left:8px}
.pack .alt{color:var(--on-dark-muted);font-size:15px;margin:0 0 22px}
.pack p.d{color:var(--on-dark-muted);margin:0 0 26px}
.pack .btn{margin-top:auto;align-self:flex-start}
.buy .small{color:var(--on-dark-muted);font-size:15px;margin:26px 0 0;max-width:70ch}
.buy .small a{color:var(--amber)}
@media (max-width:760px){.packs{grid-template-columns:1fr}}

/* FAQ */
.faq{padding:clamp(80px,10vw,130px) 0}
.faq .wrap{max-width:860px}
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font:600 clamp(19px,1.8vw,22px)/1.3 var(--serif);list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--amber);font:400 28px/1 var(--sans);transition:transform .25s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:12px 0 0;color:var(--muted)}

.works figure img.tall{aspect-ratio:3/4;max-height:680px;width:auto;margin:0 auto}

/* Real photos of the newest spools */
.real{padding:clamp(80px,10vw,130px) 0}
.real-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:clamp(12px,2vw,20px);margin-top:44px}
.real-grid figure{margin:0;border-radius:var(--r);overflow:hidden}
.real-grid figure:first-child{grid-row:1/3}
.real-grid img{width:100%;height:100%;object-fit:cover}
.real-grid figure:first-child img{aspect-ratio:5/3.6}
.real-grid figure:not(:first-child) img{aspect-ratio:16/9}
@media (max-width:760px){.real-grid{grid-template-columns:1fr}.real-grid figure:first-child{grid-row:auto}}

/* 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. Order buttons in the header always have dark text, like the other buttons. */
:root{--amber-ink:#94590f}
.eyebrow,.v3 b,.steps li::before{color:var(--amber-ink)}
.dark .eyebrow,.dark .v3 b,.dark .steps li::before,.d-hero .eyebrow{color:var(--amber)}
.top nav a.btn-primary{color:#1b1206}
