/* obegransadsurf.com — Twilight Constellation
   Distinct cosmic theme: deep indigo + soft cream + amber CTA
   Typography: Cormorant Garamond display, Manrope body
*/

@font-face{font-family:'Cormorant';font-style:normal;font-weight:400 700;src:url('/fonts/obegransadsurf-com/cormorant-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:400 700;src:url('/fonts/obegransadsurf-com/cormorant-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap}
@font-face{font-family:'Cormorant';font-style:italic;font-weight:400 500;src:url('/fonts/obegransadsurf-com/cormorant-400-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap}
@font-face{font-family:'Cormorant';font-style:italic;font-weight:400 500;src:url('/fonts/obegransadsurf-com/cormorant-400-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;src:url('/fonts/obegransadsurf-com/manrope-variable.woff2') format('woff2-variations');font-display:swap}

:root{
  --os-night:#0d0f29;
  --os-night-2:#171a3d;
  --os-violet:#3a2f7a;
  --os-violet-2:#4c3a96;
  --os-cream:#f5efe0;
  --os-cream-soft:#ece4cf;
  --os-paper:#fbf7ec;
  --os-ink:#15163a;
  --os-ink-soft:#3d3f6a;
  --os-amber:#f0b54a;
  --os-amber-deep:#d99224;
  --os-amber-glow:rgba(240,181,74,.35);
  --os-rule:rgba(21,22,58,.12);
  --os-rule-dark:rgba(245,239,224,.16);
  --os-shadow:0 24px 60px rgba(13,15,41,.18);
  --os-shadow-dark:0 18px 50px rgba(0,0,0,.55);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Manrope',system-ui,sans-serif;
  font-weight:400;
  font-size:17px;
  line-height:1.65;
  color:var(--os-ink);
  background:var(--os-paper);
  margin:0;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
p{margin:0 0 1em}
img{max-width:100%;display:block;height:auto}
a{color:var(--os-violet);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s}
a:hover{color:var(--os-amber-deep)}

.os-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}

/* ── Top disclosure bar ─────────────────────── */
.os-bar{
  background:var(--os-night);
  color:#dad5c8;
  font-size:12.5px;
  letter-spacing:.04em;
  padding:8px 0;
  font-family:'Manrope',sans-serif;
}
.os-bar .os-wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.os-bar b{color:var(--os-amber);font-weight:600}
.os-bar em{font-style:normal;opacity:.7;font-size:11.5px}

/* ── Cosmic header ──────────────────────────── */
.os-cosmos{
  background:
    radial-gradient(ellipse 80% 60% at 50% 8%, rgba(76,58,150,.55), transparent 60%),
    radial-gradient(ellipse 60% 40% at 90% 100%, rgba(240,181,74,.08), transparent 70%),
    linear-gradient(180deg, var(--os-night) 0%, var(--os-night-2) 60%, var(--os-violet) 100%);
  color:var(--os-cream);
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--os-rule-dark);
}
.os-cosmos::before{
  /* starfield - generated radial-gradient stars */
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(1px 1px at 10% 20%, #fff 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 25% 65%, #fff 60%, transparent 100%),
    radial-gradient(1px 1px at 40% 30%, rgba(255,255,255,.6) 50%, transparent 100%),
    radial-gradient(1px 1px at 55% 80%, #fff 50%, transparent 100%),
    radial-gradient(2px 2px at 70% 15%, rgba(240,181,74,.6) 50%, transparent 100%),
    radial-gradient(1px 1px at 80% 55%, #fff 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 90% 35%, #fff 60%, transparent 100%),
    radial-gradient(1px 1px at 15% 90%, rgba(255,255,255,.7) 50%, transparent 100%),
    radial-gradient(1px 1px at 35% 95%, #fff 50%, transparent 100%),
    radial-gradient(1px 1px at 60% 5%, rgba(255,255,255,.5) 50%, transparent 100%),
    radial-gradient(1px 1px at 85% 92%, #fff 50%, transparent 100%);
  background-size:100% 100%;
  opacity:.85;
  pointer-events:none;
}
.os-cosmos::after{
  /* shooting comet hint */
  content:"";
  position:absolute;
  top:18%;
  right:-5%;
  width:200px;
  height:1px;
  background:linear-gradient(90deg, rgba(245,239,224,.7), rgba(245,239,224,0));
  transform:rotate(-22deg);
  pointer-events:none;
  opacity:.6;
}

.os-head{padding:18px 0;position:relative;z-index:2}
.os-head__row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.os-brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none}
.os-brand__mark{
  font-family:'Cormorant',serif;
  font-weight:600;
  font-size:26px;
  color:var(--os-cream);
  letter-spacing:-.005em;
  line-height:1;
}
.os-brand__mark em{font-style:italic;color:var(--os-amber);font-weight:400}
.os-brand__sub{
  font-family:'Cormorant',serif;
  font-style:italic;
  font-size:14px;
  color:var(--os-amber);
  letter-spacing:.04em;
}
.os-nav{display:flex;gap:1.4rem;flex-wrap:wrap;align-items:center;font-size:14.5px}
.os-nav a{
  color:var(--os-cream);
  text-decoration:none;
  font-weight:500;
  letter-spacing:.02em;
  position:relative;
  padding:.4em 0;
}
.os-nav a:hover{color:var(--os-amber)}
.os-nav a.os-nav__cta{
  background:var(--os-amber);
  color:var(--os-night);
  padding:.55em 1.1em;
  border-radius:999px;
  font-weight:600;
  box-shadow:0 0 0 4px rgba(240,181,74,.18);
}
.os-nav a.os-nav__cta:hover{background:#ffce6b;color:var(--os-night)}
.os-burger{display:none;background:none;border:0;color:var(--os-cream);font-size:24px;cursor:pointer}

/* ── Hero block ─────────────────────────────── */
.os-hero{position:relative;z-index:2;padding:48px 0 88px}
.os-hero__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}
.os-eyebrow{
  display:inline-flex;align-items:center;gap:.65em;
  font-family:'Manrope',sans-serif;
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--os-amber);
  font-weight:600;
  margin-bottom:1.2em;
}
.os-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--os-amber);box-shadow:0 0 12px var(--os-amber-glow)}

.os-h1{
  font-family:'Cormorant',serif;
  font-weight:500;
  font-size:clamp(2.2rem, 6vw, 4.2rem);
  line-height:1.02;
  letter-spacing:-.01em;
  margin:0 0 .6em;
  color:var(--os-cream);
}
.os-h1 em{
  font-style:italic;
  font-weight:400;
  color:var(--os-amber);
  position:relative;
}
.os-h1 .os-inf{
  display:inline-block;
  font-style:normal;
  font-weight:400;
  font-size:.9em;
  color:var(--os-amber);
}
.os-hero__lead{
  font-size:18.5px;
  color:#dad5c8;
  max-width:48ch;
  line-height:1.55;
  margin:0 0 1.7em;
}

.os-hero__ctas{display:flex;gap:.9rem;flex-wrap:wrap}
.os-btn{
  display:inline-flex;align-items:center;gap:.5em;
  padding:.85em 1.4em;
  border-radius:999px;
  font-family:'Manrope',sans-serif;
  font-weight:600;
  font-size:15px;
  text-decoration:none;
  border:0;
  cursor:pointer;
  transition:transform .15s, box-shadow .2s;
}
.os-btn--primary{
  background:var(--os-amber);
  color:var(--os-night);
  box-shadow:0 8px 32px rgba(240,181,74,.35), 0 0 0 1px rgba(240,181,74,.5) inset;
}
.os-btn--primary:hover{transform:translateY(-1px);box-shadow:0 12px 36px rgba(240,181,74,.5)}
.os-btn--ghost{
  background:transparent;
  color:var(--os-cream);
  border:1px solid rgba(245,239,224,.3);
}
.os-btn--ghost:hover{background:rgba(245,239,224,.06);border-color:var(--os-amber)}
.os-btn--solid{
  background:var(--os-violet-2);
  color:var(--os-cream);
}
.os-btn--solid:hover{background:#5e4cb6;color:var(--os-cream)}

.os-hero__meta{
  margin-top:2.6em;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem;
  border-top:1px solid var(--os-rule-dark);
  padding-top:1.6em;
}
.os-hero__meta>div b{
  display:block;
  font-family:'Cormorant',serif;
  font-style:italic;
  font-weight:500;
  font-size:13.5px;
  letter-spacing:.04em;
  color:var(--os-amber);
  margin-bottom:.15em;
}
.os-hero__meta>div span{
  display:block;
  color:#dad5c8;
  font-size:15px;
}

.os-hero__visual{
  position:relative;
  aspect-ratio:1/1.05;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.18) 0%, transparent 30%),
    radial-gradient(circle at 60% 60%, rgba(240,181,74,.25) 0%, transparent 40%),
    linear-gradient(135deg, #2a1f6e 0%, #1a1644 40%, #0d0f29 100%);
  box-shadow:
    0 0 80px rgba(76,58,150,.4),
    0 0 200px rgba(240,181,74,.15),
    inset 0 0 60px rgba(255,255,255,.04);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.os-hero__visual::before{
  /* orbit ring */
  content:"";
  position:absolute;
  inset:6%;
  border:1px solid rgba(245,239,224,.18);
  border-radius:50%;
  animation:rotate 120s linear infinite;
}
.os-hero__visual::after{
  content:"";
  position:absolute;
  inset:14%;
  border:1px dashed rgba(240,181,74,.25);
  border-radius:50%;
  animation:rotate 90s linear infinite reverse;
}
.os-hero__inf{
  font-family:'Cormorant',serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(8rem, 14vw, 16rem);
  color:var(--os-amber);
  text-shadow:0 0 60px rgba(240,181,74,.5);
  line-height:1;
  position:relative;
  z-index:2;
}

@keyframes rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* ── Sections / cream body ──────────────────── */
.os-section{padding:64px 0;position:relative}
.os-section--paper{background:var(--os-paper)}
.os-section--cream{background:var(--os-cream)}
.os-section--ink{
  background:var(--os-night-2);
  color:var(--os-cream);
}
.os-section--ink h2, .os-section--ink h3{color:var(--os-cream)}

.os-section__head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;
  margin-bottom:2.6em;
  border-bottom:1px solid var(--os-rule);
  padding-bottom:1.4em;
  flex-wrap:wrap;
}
.os-section--ink .os-section__head{border-bottom-color:var(--os-rule-dark)}
.os-section__eyebrow{display:none}
.os-eyebrow{display:none}
.os-hero__meta{display:none}
.os-article-hero__caption{display:none}
.os-hero__caption{display:none}
figcaption{display:none}
.os-section__title{
  font-family:'Cormorant',serif;
  font-weight:500;
  font-size:clamp(1.8rem, 4vw, 2.8rem);
  line-height:1.1;
  margin:0;
  letter-spacing:-.005em;
}
.os-section__title em{font-style:italic;color:var(--os-violet);font-weight:400}
.os-section--ink .os-section__title em{color:var(--os-amber)}
.os-section__sub{margin:.7em 0 0;color:var(--os-ink-soft);max-width:65ch;font-size:16px}
.os-section--ink .os-section__sub{color:#c8c3b3}
.os-section__pill{
  font-family:'Manrope',sans-serif;
  font-size:12px;letter-spacing:.06em;
  background:var(--os-cream);
  color:var(--os-violet);
  padding:.45em 1em;border-radius:999px;
  border:1px solid var(--os-rule);
  white-space:nowrap;
  font-weight:600;
}
.os-section--ink .os-section__pill{background:rgba(245,239,224,.08);color:var(--os-amber);border-color:var(--os-rule-dark)}

/* ── Deal cards (list) ──────────────────────── */
.os-deals{display:flex;flex-direction:column;gap:14px}
.os-deal{
  background:#fff;
  border-radius:18px;
  padding:22px 26px;
  display:grid;
  grid-template-columns:48px 1.6fr 1fr 1fr auto;
  gap:1.5rem;
  align-items:center;
  box-shadow:0 1px 0 var(--os-rule), 0 8px 24px rgba(13,15,41,.04);
  border:1px solid rgba(21,22,58,.05);
  transition:transform .15s, box-shadow .2s;
  position:relative;
}
.os-deal:hover{transform:translateY(-1px);box-shadow:0 12px 36px rgba(13,15,41,.1)}
.os-deal__rank{
  font-family:'Cormorant',serif;
  font-style:italic;
  font-size:36px;
  font-weight:500;
  color:var(--os-violet);
  line-height:1;
  text-align:center;
}
.os-deal__op{display:flex;gap:14px;align-items:center;min-width:0}
.os-deal__op img{width:54px;height:54px;border-radius:12px;object-fit:contain;background:var(--os-cream-soft);padding:6px;flex-shrink:0}
.os-deal__op-name{
  font-family:'Cormorant',serif;
  font-weight:600;
  font-size:21px;
  line-height:1.1;
  color:var(--os-ink);
  margin-bottom:2px;
}
.os-deal__op-sub{font-size:13px;color:var(--os-ink-soft);line-height:1.3}
.os-deal__stars{display:inline-flex;gap:2px;margin-top:4px}
.os-deal__stars span{
  width:13px;height:13px;
  background:linear-gradient(90deg, var(--os-amber) var(--fill,0%), rgba(21,22,58,.12) var(--fill,0%));
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon points='12,2 15,9 22,9 17,14 19,21 12,17 5,21 7,14 2,9 9,9'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon points='12,2 15,9 22,9 17,14 19,21 12,17 5,21 7,14 2,9 9,9'/></svg>") center/contain no-repeat;
}
.os-deal__spec{font-size:14px;color:var(--os-ink-soft)}
.os-deal__spec b{
  display:block;
  font-family:'Manrope',sans-serif;
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--os-violet);
  margin-bottom:4px;
  font-weight:600;
}
.os-deal__spec strong{font-weight:600;color:var(--os-ink);font-family:'Cormorant',serif;font-size:18px}
.os-deal__price{
  font-family:'Cormorant',serif;
  font-weight:600;
  font-size:30px;
  line-height:1;
  color:var(--os-ink);
  text-align:right;
  letter-spacing:-.01em;
}
.os-deal__price sub{font-size:11px;color:var(--os-ink-soft);font-weight:500;vertical-align:baseline;font-family:'Manrope',sans-serif}
.os-deal__price small{display:block;font-size:11px;color:var(--os-ink-soft);font-family:'Manrope',sans-serif;font-weight:400;margin-top:4px;letter-spacing:.02em}
.os-deal__jmf{
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%);
  padding:3px 11px;
  background:#fff;
  color:var(--os-ink-soft);
  font-family:'Manrope',sans-serif;
  font-weight:500;
  font-size:11.5px;
  line-height:1.4;
  letter-spacing:.01em;
  border-radius:999px;
  border:1px solid var(--os-rule);
  white-space:nowrap;
  cursor:help;
  z-index:2;
  text-transform:none;
}
.os-deal__jmf:hover{border-color:var(--os-violet);color:var(--os-violet)}
@media (max-width:640px){
  .os-deal__jmf{left:auto;right:14px;transform:none}
}
@media (max-width:480px){
  .os-deal__jmf{font-size:11px;padding:2px 9px;right:10px;top:-9px}
}

/* Bootstrap-tooltip — custom os-style för jämförpris */
.tooltip.os-tooltip .tooltip-inner{
  background:var(--os-night);
  color:var(--os-cream);
  font-family:'Manrope',sans-serif;
  font-size:13.5px;
  line-height:1.55;
  letter-spacing:.005em;
  padding:14px 18px;
  border-radius:14px;
  max-width:360px;
  text-align:left;
  box-shadow:0 12px 36px rgba(13,15,41,.35);
}
.tooltip.os-tooltip .tooltip-inner b{color:var(--os-amber);font-weight:600}
.tooltip.os-tooltip .tooltip-inner br + br{display:none}
.tooltip.os-tooltip.bs-tooltip-bottom .tooltip-arrow::before{border-bottom-color:var(--os-night)}
.tooltip.os-tooltip.bs-tooltip-top .tooltip-arrow::before{border-top-color:var(--os-night)}
.tooltip.os-tooltip.bs-tooltip-start .tooltip-arrow::before{border-left-color:var(--os-night)}
.tooltip.os-tooltip.bs-tooltip-end .tooltip-arrow::before{border-right-color:var(--os-night)}
.os-deal__cta{margin-top:8px;text-align:right}
.os-deal__cta a{
  display:inline-block;
  background:var(--os-night);
  color:var(--os-cream);
  padding:.55em 1.2em;
  border-radius:999px;
  text-decoration:none;
  font-size:13.5px;
  font-weight:600;
  transition:background .15s;
}
.os-deal__cta a:hover{background:var(--os-amber);color:var(--os-night)}

/* ── Deal-card mobile (kompakt vertikal stack) ────────── */
@media (max-width:760px){
  .os-deals{gap:22px}
  .os-deal{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "op op"
      "spec1 spec2"
      "price price";
    gap:0 14px;
    padding:20px 18px 18px;
    border-radius:16px;
    align-items:start;
  }
  /* Rank som badge på topplinjen vänster — speglar jämförpris-pillen till höger */
  .os-deal__rank{
    position:absolute;
    top:-11px;left:14px;
    font-family:'Manrope',sans-serif;
    font-style:normal;
    font-size:10.5px;
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--os-cream);
    background:var(--os-violet);
    line-height:1.4;
    padding:3px 11px;
    border-radius:999px;
    border:1px solid var(--os-violet);
    text-align:left;
    z-index:2;
    white-space:nowrap;
  }
  .os-deal__rank::before{content:"Nr.\00a0"}
  .os-deal__op{
    grid-area:op;
    align-items:flex-start;
    gap:12px;
    padding-bottom:16px;
    border-bottom:1px solid var(--os-rule);
    margin-bottom:16px;
  }
  .os-deal__op img{width:48px;height:48px;padding:5px;border-radius:11px}
  .os-deal__op-name{font-size:19px;margin-bottom:2px}
  .os-deal__op-sub{font-size:12.5px;line-height:1.4}
  .os-deal__stars{margin-top:6px}
  .os-deal__stars span{width:12px;height:12px}
  /* Spec-cellerna: ingen border-bottom (enhetlig divider sker via border-top på price-block) */
  .os-deal__spec{
    font-size:13.5px;
    padding-bottom:16px;
    display:flex;
    flex-direction:column;
    border-bottom:0;
    margin-bottom:0;
  }
  .os-deal__spec:nth-of-type(1){grid-area:spec1}
  .os-deal__spec:nth-of-type(2){grid-area:spec2;padding-left:14px;border-left:1px solid var(--os-rule)}
  .os-deal__spec b{
    font-size:9.5px;
    margin-bottom:5px;
    letter-spacing:.2em;
  }
  .os-deal__spec strong{
    font-size:17px;
    display:block;
    line-height:1.25;
  }
  /* En enhetlig horisontell divider mellan specs och pris-block — full bredd */
  .os-deal__price-block{
    grid-area:price;
    display:flex;
    flex-direction:column;
    gap:14px;
    text-align:left;
    padding-top:16px;
    border-top:1px solid var(--os-rule);
  }
  .os-deal__price{
    text-align:left;
    font-size:32px;
    line-height:1;
  }
  .os-deal__price sub{font-size:12px}
  .os-deal__price small{margin-top:6px;font-size:12px;line-height:1.4}
  .os-deal__cta{margin-top:0;text-align:left}
  .os-deal__cta a{
    display:block;
    width:100%;
    text-align:center;
    padding:13px 18px;
    font-size:14.5px;
    border-radius:12px;
    box-sizing:border-box;
    letter-spacing:.01em;
  }
  /* Jämförpris flyttar till top-höger på mobile */
  .os-deal__jmf{
    top:-11px;
    right:14px;
    left:auto;
    transform:none;
    font-size:10.5px;
    padding:3px 10px;
  }
}

@media (max-width:430px){
  .os-deal{padding:28px 14px 16px}
  .os-deal__op img{width:44px;height:44px;padding:4px;border-radius:10px}
  .os-deal__op-name{font-size:18px}
  .os-deal__op-sub{font-size:12px}
  .os-deal__spec{padding-bottom:12px;margin-bottom:12px}
  .os-deal__spec:nth-of-type(2){padding-left:12px}
  .os-deal__spec strong{font-size:16px}
  .os-deal__price{font-size:28px}
  .os-deal__cta a{padding:12px 14px;font-size:14px}
  .os-deal__jmf{font-size:10px;padding:2px 8px;right:12px;top:-10px}
}

/* ── Constellation feature grid ─────────────── */
.os-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.os-fact{
  background:var(--os-cream);
  padding:36px 28px;
  border-radius:20px;
  border:1px solid var(--os-rule);
  position:relative;
}
.os-fact::before{
  content:"";
  position:absolute;
  top:18px;right:22px;
  width:8px;height:8px;
  border-radius:50%;
  background:var(--os-amber);
  box-shadow:
    -14px 6px 0 -3px var(--os-violet),
    -6px 16px 0 -4px var(--os-violet-2);
}
.os-fact__num{
  font-family:'Cormorant',serif;
  font-weight:500;
  font-size:64px;
  line-height:1;
  color:var(--os-violet);
  letter-spacing:-.02em;
}
.os-fact__num em{font-style:italic;font-size:.4em;color:var(--os-amber-deep);font-weight:500;letter-spacing:0}
.os-fact__label{
  font-family:'Manrope',sans-serif;
  font-weight:600;
  font-size:15.5px;
  color:var(--os-ink);
  margin:.6em 0 .35em;
}
.os-fact__note{font-size:14px;color:var(--os-ink-soft);line-height:1.5}

@media(max-width:780px){.os-facts{grid-template-columns:1fr}}

/* ── Use-case grid (scenarios) ──────────────── */
.os-scenes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.os-scene{
  display:block;
  background:#fff;
  padding:24px 22px;
  border-radius:16px;
  border:1px solid var(--os-rule);
  text-decoration:none;
  color:inherit;
  transition:transform .15s,border-color .15s,box-shadow .15s;
  position:relative;
}
.os-scene:hover{transform:translateY(-2px);border-color:var(--os-violet);box-shadow:var(--os-shadow);color:inherit}
.os-scene__icon{
  width:42px;height:42px;
  border-radius:12px;
  background:var(--os-cream-soft);
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant',serif;
  font-style:italic;
  font-size:24px;
  color:var(--os-violet);
  margin-bottom:18px;
  font-weight:500;
}
.os-scene__title{
  font-family:'Cormorant',serif;
  font-weight:600;
  font-size:21px;
  line-height:1.2;
  margin:0 0 .35em;
  letter-spacing:-.005em;
}
.os-scene__desc{font-size:14.5px;color:var(--os-ink-soft);line-height:1.55;margin:0}
.os-scene__arrow{position:absolute;top:24px;right:22px;color:var(--os-violet);opacity:0;transition:opacity .15s,transform .15s;font-size:18px}
.os-scene:hover .os-scene__arrow{opacity:1;transform:translateX(2px)}

@media(max-width:780px){.os-scenes{grid-template-columns:1fr}}

/* ── Article prose ─────────────────────────── */
.os-prose{max-width:72ch;margin:0 auto}
.os-prose h2{
  font-family:'Cormorant',serif;
  font-weight:500;
  font-size:clamp(1.7rem,3.4vw,2.4rem);
  letter-spacing:-.005em;
  line-height:1.15;
  margin:2.2em 0 .7em;
  color:var(--os-ink);
}
.os-prose h2 em{font-style:italic;font-weight:400;color:var(--os-violet)}
.os-prose h3{
  font-family:'Cormorant',serif;
  font-weight:600;
  font-size:clamp(1.3rem,2.4vw,1.6rem);
  margin:1.8em 0 .5em;
  color:var(--os-ink);
}
.os-prose p{font-size:17px;line-height:1.72;color:#262848}
.os-prose p:first-of-type{font-size:19px;color:var(--os-ink);font-weight:400}
.os-prose ul, .os-prose ol{padding-left:1.4em;margin:0 0 1.2em}
.os-prose li{margin-bottom:.35em;line-height:1.65}
.os-prose blockquote{
  border-left:3px solid var(--os-amber);
  padding:.4em 1.4em;
  margin:1.6em 0;
  font-family:'Cormorant',serif;
  font-style:italic;
  font-size:1.35em;
  line-height:1.45;
  color:var(--os-violet);
}
.os-prose hr{border:0;border-top:1px solid var(--os-rule);margin:2em 0}

.os-article-hero{padding:48px 0 16px;background:var(--os-paper)}
.os-article-hero__meta{
  display:flex;gap:.7em;align-items:center;flex-wrap:wrap;
  font-family:'Manrope',sans-serif;
  font-size:12.5px;letter-spacing:.06em;
  color:var(--os-ink-soft);
  margin-bottom:1.2em;
}
.os-article-hero__meta a{color:var(--os-violet);text-decoration:none}
.os-article-hero__meta a:hover{color:var(--os-amber-deep)}
.os-article-hero__h1{
  font-family:'Cormorant',serif;
  font-weight:500;
  font-size:clamp(2rem,5vw,3.4rem);
  line-height:1.05;
  letter-spacing:-.01em;
  margin:0 0 .4em;
  color:var(--os-ink);
}
.os-article-hero__h1 em{font-style:italic;font-weight:400;color:var(--os-violet)}
.os-article-hero__lead{
  font-family:'Cormorant',serif;
  font-style:italic;
  font-size:clamp(1.15rem,2vw,1.4rem);
  line-height:1.45;
  color:var(--os-ink-soft);
  margin:0 0 1.6em;
  max-width:60ch;
}
.os-article-hero__image{margin:1.8em 0;border-radius:18px;overflow:hidden;border:1px solid var(--os-rule)}
.os-article-hero__image img{width:100%;display:block}
.os-article-hero__caption{
  font-family:'Manrope',sans-serif;
  font-size:12.5px;color:var(--os-ink-soft);
  letter-spacing:.04em;
  margin-top:.4em;
  text-align:center;
  font-style:italic;
}

/* ── Operator badge grid ────────────────────── */
.os-ops{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.os-op-card{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:22px 14px;border-radius:14px;
  background:#fff;border:1px solid var(--os-rule);
  text-decoration:none;color:inherit;
  transition:transform .15s,box-shadow .15s,border-color .15s;
  text-align:center;
  position:relative;
}
.os-op-card:hover{transform:translateY(-2px);border-color:var(--os-violet);box-shadow:var(--os-shadow);color:inherit}
.os-op-card img{width:58px;height:58px;object-fit:contain;background:var(--os-cream-soft);padding:8px;border-radius:12px}
.os-op-card__name{font-family:'Cormorant',serif;font-weight:600;font-size:18px;line-height:1.1;color:var(--os-ink)}
.os-op-card__from{font-size:12px;color:var(--os-ink-soft);font-family:'Manrope',sans-serif}
.os-op-card__from b{font-weight:600;color:var(--os-violet)}

@media(max-width:980px){.os-ops{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.os-ops{grid-template-columns:repeat(2,1fr)}}

/* ── FAQ (kollapsbar via <details>) ─────────────────── */
.os-faq{max-width:880px;margin:0 auto}
.os-faq__item{
  border-bottom:1px solid var(--os-rule);
  padding:0;
}
.os-faq__item:first-of-type{border-top:1px solid var(--os-rule)}
.os-faq__q{
  font-family:'Cormorant',serif;
  font-weight:600;
  font-size:22px;
  line-height:1.3;
  color:var(--os-ink);
  margin:0;
  letter-spacing:-.005em;
  cursor:pointer;
  list-style:none;
  display:flex;
  padding:22px 0;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  user-select:none;
  transition:color .15s;
}
.os-faq__q::-webkit-details-marker{display:none}
.os-faq__q::marker{display:none;content:""}
.os-faq__q:hover{color:var(--os-violet)}
.os-faq__q-text{flex:1;min-width:0}
.os-faq__q-icon{
  flex-shrink:0;
  width:32px;height:32px;
  border-radius:50%;
  background:var(--os-cream);
  color:var(--os-violet);
  display:inline-flex;
  align-items:center;justify-content:center;
  font-family:'Manrope',sans-serif;
  font-weight:500;
  font-size:22px;
  line-height:1;
  transition:transform .2s, background .15s, color .15s;
}
.os-faq__item[open] .os-faq__q-icon{transform:rotate(45deg);background:var(--os-amber);color:var(--os-night)}
.os-faq__a{
  color:#262848;
  font-size:16px;
  line-height:1.7;
  padding:0 0 22px;
  margin:0;
  max-width:72ch;
}

/* ── Inline CTA panel ─────────────────────── */
.os-cta-panel{
  background:linear-gradient(135deg, var(--os-night) 0%, var(--os-violet) 100%);
  color:var(--os-cream);
  border-radius:24px;
  padding:42px 36px;
  display:flex;justify-content:space-between;align-items:center;gap:2rem;
  flex-wrap:wrap;
  position:relative;
  overflow:hidden;
  margin:32px 0;
}
.os-cta-panel::before{
  content:"";
  position:absolute;
  top:-50%;right:-10%;
  width:300px;height:300px;
  background:radial-gradient(circle, rgba(240,181,74,.25) 0%, transparent 60%);
  pointer-events:none;
}
.os-cta-panel h3{
  font-family:'Cormorant',serif;
  font-weight:500;
  font-size:clamp(1.5rem,3vw,2.1rem);
  line-height:1.15;
  margin:0;
  color:var(--os-cream);
}
.os-cta-panel h3 em{font-style:italic;color:var(--os-amber);font-weight:400}
.os-cta-panel p{margin:.5em 0 0;font-size:15px;color:#dad5c8;max-width:50ch}

/* ── Footer ─────────────────────────────────── */
.os-foot{
  background:var(--os-night);
  color:#c8c3b3;
  padding:56px 0 28px;
  font-size:14px;
  position:relative;
  overflow:hidden;
}
.os-foot::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,.4), transparent),
    radial-gradient(1px 1px at 70% 80%, rgba(245,239,224,.5), transparent),
    radial-gradient(1.5px 1.5px at 40% 60%, rgba(240,181,74,.4), transparent);
  background-size:100% 100%;
  pointer-events:none;
}
.os-foot__grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.4rem;
  position:relative;z-index:1;
  margin-bottom:2.4em;
}
.os-foot__brand{
  font-family:'Cormorant',serif;
  font-weight:600;
  font-size:26px;
  color:var(--os-cream);
  letter-spacing:-.005em;
}
.os-foot__brand em{font-style:italic;color:var(--os-amber);font-weight:400}
.os-foot__tag{
  font-family:'Cormorant',serif;
  font-style:italic;
  font-size:16.5px;
  color:#c8c3b3;
  line-height:1.5;
  margin:.6em 0 0;
  max-width:42ch;
}
.os-foot__h{
  font-family:'Manrope',sans-serif;
  font-weight:600;font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--os-amber);
  margin-bottom:1em;
}
.os-foot__list{list-style:none;padding:0;margin:0}
.os-foot__list li{margin-bottom:.5em}
.os-foot__list a{color:#c8c3b3;text-decoration:none;font-size:14px;transition:color .15s}
.os-foot__list a:hover{color:var(--os-amber)}

.os-foot__bottom{
  border-top:1px solid var(--os-rule-dark);
  padding-top:1.6em;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.2rem;
  font-size:12.5px;color:#8a8576;
  position:relative;z-index:1;
}
.os-foot__bottom a{color:#c8c3b3;text-decoration:none;margin:0 .3em}
.os-foot__bottom a:hover{color:var(--os-amber)}

@media(max-width:860px){
  .os-foot__grid{grid-template-columns:1fr 1fr;gap:2rem}
}

/* ── Responsive ─────────────────────────────── */
@media(max-width:860px){
  .os-hero__grid{grid-template-columns:1fr;gap:2rem}
  .os-hero__visual{max-width:280px;margin:0 auto}
  .os-burger{display:block}
  .os-nav{display:none;flex-direction:column;width:100%;align-items:flex-start;padding:1rem 0;border-top:1px solid var(--os-rule-dark);margin-top:1em}
  .os-nav.open{display:flex}
  .os-hero__meta{grid-template-columns:1fr;gap:.6rem;padding-top:1.2em}
}

/* ── Marquee strip ──────────────────────────── */
.os-strip{
  background:var(--os-night);
  color:var(--os-cream);
  padding:14px 0;
  overflow:hidden;
  position:relative;
  border-top:1px solid var(--os-rule-dark);
  border-bottom:1px solid var(--os-rule-dark);
}
.os-strip__track{
  display:flex;gap:3rem;animation:marquee 40s linear infinite;
  white-space:nowrap;
  font-family:'Cormorant',serif;
  font-style:italic;
  font-size:17px;
  color:var(--os-amber);
  width:max-content;
}
.os-strip__track span{display:inline-flex;align-items:center;gap:.7em}
.os-strip__track span::after{content:"∞";color:var(--os-cream);font-style:normal;margin-left:2rem}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── TOC / Related ──────────────────────────── */
.os-related{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.os-related a{
  display:flex;flex-direction:column;gap:6px;
  padding:18px 22px;
  border-radius:14px;
  background:var(--os-cream);
  border:1px solid var(--os-rule);
  text-decoration:none;color:inherit;
  transition:transform .15s,border-color .15s;
}
.os-related a:hover{transform:translateY(-1px);border-color:var(--os-violet);color:inherit}
.os-related__label{
  font-family:'Manrope',sans-serif;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--os-violet);font-weight:600;
}
.os-related__title{font-family:'Cormorant',serif;font-weight:600;font-size:18px;line-height:1.2;color:var(--os-ink)}

@media(max-width:600px){.os-related{grid-template-columns:1fr}}

/* ── Tables ──────────────────────────────────── */
.os-table-wrap{overflow-x:auto;margin:1.5em 0}
.os-table{
  width:100%;
  border-collapse:collapse;
  font-size:14.5px;
}
.os-table th{
  text-align:left;
  font-family:'Manrope',sans-serif;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:600;color:var(--os-violet);
  padding:.8em 1em .8em 0;
  border-bottom:1px solid var(--os-rule);
}
.os-table td{
  padding:.9em 1em .9em 0;
  border-bottom:1px solid var(--os-rule);
  color:var(--os-ink);
}
.os-table td:last-child, .os-table th:last-child{text-align:right}
.os-table tr:last-child td{border-bottom:0}

/* ── Sitemap ────────────────────────────────── */
.os-sitemap{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2.4rem;
}
@media(max-width:980px){.os-sitemap{grid-template-columns:repeat(2,1fr);gap:1.8rem}}
@media(max-width:640px){.os-sitemap{grid-template-columns:1fr;gap:1.4rem}}
.os-sitemap__col{}
.os-sitemap__h{
  font-family:'Cormorant',serif;
  font-weight:500;
  font-size:24px;
  line-height:1.1;
  color:var(--os-violet);
  margin:0 0 .9em;
  padding-bottom:.5em;
  border-bottom:1px solid var(--os-rule);
  letter-spacing:-.005em;
}
.os-sitemap__list{
  list-style:none;
  padding:0;
  margin:0;
}
.os-sitemap__list li{margin-bottom:.5em;line-height:1.45}
.os-sitemap__list a{
  color:var(--os-ink);
  text-decoration:none;
  font-size:15px;
  border-bottom:1px solid transparent;
  transition:border-color .15s, color .15s;
}
.os-sitemap__list a:hover{color:var(--os-violet);border-bottom-color:var(--os-violet)}

/* ── Mobile spacing-skydd ───────────────────────────── */
@media(max-width:600px){
  .os-wrap{padding:0 18px}
  .os-section{padding:44px 0}
  .os-section__head{margin-bottom:1.8em;padding-bottom:1em}
  .os-hero{padding:36px 0 64px}
  .os-h1{font-size:clamp(1.9rem, 8.5vw, 2.6rem)}
  .os-hero__lead{font-size:16.5px}
  .os-btn{padding:.75em 1.2em;font-size:14.5px}
  .os-hero__visual{max-width:240px}
  .os-fact{padding:28px 22px}
  .os-fact__num{font-size:50px}
  .os-deal{padding:16px 16px}
  .os-deal__op img{width:42px;height:42px;padding:4px;border-radius:9px}
  .os-deal__op-name{font-size:18px}
  .os-deal__price{font-size:24px}
  .os-cta-panel{padding:30px 24px}
  .os-cta-panel h3{font-size:1.5rem}
  .os-foot{padding:42px 0 24px}
  .os-foot__grid{gap:1.6rem}
  .os-foot__brand{font-size:22px}
  .os-foot__bottom{flex-direction:column;align-items:flex-start;gap:.7rem}
  .os-faq__q{font-size:18px;padding:18px 0;gap:.6rem}
  .os-faq__q-icon{width:28px;height:28px;font-size:19px}
  .os-faq__a{font-size:15px;padding-bottom:18px}
  .os-article-hero{padding:32px 0 8px}
  .os-article-hero__h1{font-size:clamp(1.8rem,7vw,2.2rem)}
  .os-prose h2{font-size:clamp(1.55rem,5.5vw,1.9rem)}
  .os-prose h3{font-size:1.2rem}
  .os-prose p{font-size:16px}
  .os-sitemap{grid-template-columns:1fr;gap:1.2rem}
}

/* utility */
.os-mb-0{margin-bottom:0!important}
.os-mt-0{margin-top:0!important}
.os-center{text-align:center}
