:root{
  --night:#14284B; --night-2:#1B3460; --paper:#FAF8F4; --mist:#EEF1F6; --ink:#17202D; --mute:#5D6777;
  --line:#E2E0DA; --brass:#D6A54E; --brass-ink:#9A6B1E;
  --serif:"Newsreader", Georgia, serif; --sans:"Schibsted Grotesk", system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.row{display:flex;align-items:center;justify-content:space-between;gap:16px}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:4px}

/* buttons: outline only */
.btn{display:inline-block;border:1.5px solid var(--night);color:var(--night);border-radius:999px;padding:9px 18px;text-decoration:none;font-weight:600;font-size:15px;line-height:1.2;transition:background .15s,color .15s}
.btn:hover{background:var(--night);color:#fff}
.btn.light{border-color:rgba(255,255,255,.7);color:#fff}
.btn.light:hover{background:#fff;color:var(--night)}
.btn.big{padding:14px 26px;font-size:17px}
.textlink{color:#fff;font-weight:500;text-underline-offset:4px}

/* hero */
.hero{background:var(--night);color:#fff;padding-bottom:clamp(56px,7vw,104px)}
.top{display:flex;align-items:center;justify-content:space-between;height:76px}
.mark{font:500 22px/1 var(--serif);text-decoration:none;letter-spacing:.005em}
nav{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:500}
nav a:not(.btn){text-decoration:none;opacity:.85}
nav a:not(.btn):hover{opacity:1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:clamp(24px,5vw,72px)}
h1{font:400 clamp(52px,6.3vw,92px)/.98 var(--serif);letter-spacing:-.02em;margin:0 0 24px}
.lede{font-size:clamp(18px,1.55vw,21px);line-height:1.55;color:#D3DCEA;max-width:27em;margin:0 0 32px}
.cta{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.note{margin:28px 0 0;font-size:15px;color:#A9B7CD}

/* the listening panel */
.listen{background:var(--night-2);border-radius:20px;padding:22px 28px 22px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 -10px 6px}
.tabs button{background:none;border:0;color:#A9B7CD;font:500 15px/1 var(--sans);padding:10px;cursor:pointer;border-bottom:2px solid transparent}
.tabs button[aria-selected="true"]{color:#fff;border-bottom-color:var(--brass)}
.script{height:300px;overflow:hidden;position:relative;font:400 clamp(26px,2.5vw,34px)/1.32 var(--serif);font-style:italic;padding:18px 0 8px;-webkit-mask-image:linear-gradient(transparent 0,#000 18px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(transparent 0,#000 18px,#000 calc(100% - 40px),transparent)}
.script .w{color:rgba(255,255,255,.28);transition:color .18s}
.script .w.on{color:#fff}
.script .w.now{color:var(--brass)}
.script .br{display:block;height:0}
.player{display:flex;align-items:center;gap:16px;margin-top:6px}
.play{flex:none;width:56px;height:56px;border-radius:50%;border:1.5px solid var(--brass);background:transparent;color:var(--brass);display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}
.play:hover{background:var(--brass);color:var(--night)}
.play svg{width:24px;height:24px;fill:currentColor}
.play .i-pause,.playing .play .i-play{display:none}
.playing .play .i-pause{display:block}
.track{flex:1;height:3px;background:rgba(255,255,255,.18);border-radius:2px;overflow:hidden}
.bar{height:100%;width:0;background:var(--brass)}
.time{font-size:14px;color:#A9B7CD;font-variant-numeric:tabular-nums;min-width:3ch}
.caption{margin:14px 0 0;font-size:14px;line-height:1.5;color:#A9B7CD;min-height:3em}

/* sections */
.sec{padding:clamp(56px,6vw,96px) 0}
.sec:not(.tint) + .sec:not(.tint){padding-top:clamp(8px,1.4vw,24px)}
.tint{background:var(--mist)}
h2{font:400 clamp(36px,4.2vw,56px)/1.05 var(--serif);letter-spacing:-.015em;margin:0 0 16px;color:var(--night)}
.intro{font-size:19px;color:var(--mute);max-width:34em;margin:0 0 24px}
h3{font:600 21px/1.3 var(--sans);margin:0 0 10px;color:var(--ink)}

/* products as editorial rows */
.item{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;padding:48px 0;border-top:1px solid var(--line)}
.item:nth-of-type(even) .item-media{order:-1}
.item-text p{color:var(--mute);margin:0 0 12px;max-width:32em}
.item .meta{display:flex;gap:16px;align-items:baseline;margin-top:20px;color:var(--mute);font-size:15px}
.item .meta strong{color:var(--ink);font-size:18px}
.item.small{grid-template-columns:minmax(0,.9fr);padding-bottom:0}
.song-card,.quote-card{background:var(--night);color:#fff;border-radius:18px;padding:36px}
.lyric,.quote{font:italic 400 clamp(24px,2.3vw,30px)/1.35 var(--serif);margin:0 0 28px}
.pages{position:relative;height:500px}
.pages img{position:absolute;border-radius:6px;box-shadow:0 18px 40px -18px rgba(20,40,75,.45);border:1px solid var(--line)}
.pages img:first-child{width:58%;left:0;top:0;transform:rotate(-2deg)}
.pages img:last-child{width:70%;right:0;bottom:0;transform:rotate(1.5deg)}
.screen img{border-radius:14px;box-shadow:0 24px 50px -24px rgba(20,40,75,.55)}
.screen .mini{margin-top:18px;color:var(--night)}

/* small audio buttons */
.mini{display:inline-flex;align-items:center;gap:12px;background:none;border:0;padding:0;color:inherit;font:500 16px/1 var(--sans);cursor:pointer}
.mini-icon{width:40px;height:40px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;flex:none}
.mini-icon::before{content:"";margin-left:3px;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
.mini.playing .mini-icon::before{margin-left:0;width:10px;height:13px;border:0;border-left:3.5px solid currentColor;border-right:3.5px solid currentColor}
.mini-time{opacity:.65;font-variant-numeric:tabular-nums}
.song-card .mini,.quote-card .mini{color:var(--brass)}

/* steps */
.steps{list-style:none;counter-reset:s;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.steps li{counter-increment:s}
.steps li::before{content:counter(s);display:block;font:400 44px/1 var(--serif);color:var(--brass-ink);margin-bottom:14px}
.steps p{margin:0;color:var(--mute)}

/* promise */
.promise dl{display:grid;grid-template-columns:1fr 1fr;gap:28px 56px;margin:24px 0 0}
.promise dt{font-weight:600;font-size:19px;margin-bottom:6px}
.promise dd{margin:0;color:var(--mute)}

/* faq */
.faq details{border-top:1px solid var(--line);padding:18px 0;max-width:780px}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font:500 20px/1.4 var(--sans);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 26px/1 var(--serif);color:var(--brass-ink)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 0;color:var(--mute);max-width:40em}

/* footer */
.foot{background:var(--night);color:#C9D3E2;padding:40px 0;font-size:15px}
.foot p{margin:0}
.foot .mark{color:#fff;font-size:20px}
.foot .links{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.foot a{text-decoration:none;font-weight:500;color:#fff}
.foot a:hover{text-decoration:underline}

/* privacy page */
.page-top{background:var(--night);color:#fff}
.page{padding:clamp(48px,6vw,88px) 0}
.page .wrap{max-width:760px}
.page h1{font-size:clamp(44px,5vw,64px);color:var(--night)}
.page h2{font-size:28px;margin:40px 0 10px}
.page p{color:var(--mute)}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .item{grid-template-columns:1fr;gap:28px}
  .item:nth-of-type(even) .item-media{order:0}
}
@media (max-width:760px){
  .hide-sm{display:none}
  .listen{padding:16px 18px;border-radius:16px}
  .script{height:240px;font-size:24px}
  .pages{height:380px}
  .song-card,.quote-card{padding:26px}
  .steps,.promise dl{grid-template-columns:1fr;gap:28px}
  .item{padding:36px 0}
  .foot .row{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .script .w{transition:none}
}
