:root{
  --paper:#f7f1df;
  --ink:#201d45;
  --coral:#f3785e;
  --sage:#9eb69b;
  --line:#d9d2bf;
  --white:#fffdf6;
  --green:#176c4b;
  --green2:#10583e;
  --soft:#eee8d7;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.jump{
  position:absolute;left:-9999px;top:auto;
}
.jump:focus{
  left:16px;top:16px;z-index:1000;background:var(--white);
  padding:10px 14px;border:2px solid var(--ink);border-radius:8px;
}
.topline{
  border-bottom:1px solid rgba(32,29,69,.16);
  background:rgba(247,241,223,.94);
}
.topline-inner{
  width:min(1180px,calc(100% - 36px));
  margin:auto;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.identity{
  display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:-.02em;
}
.sigil{
  width:34px;height:34px;border-radius:10px;background:var(--ink);position:relative;overflow:hidden;
}
.sigil:before,.sigil:after{
  content:"";position:absolute;inset:auto;
}
.sigil:before{
  width:24px;height:8px;background:var(--coral);left:5px;top:7px;transform:skewX(-25deg);
}
.sigil:after{
  width:20px;height:8px;background:var(--sage);right:4px;bottom:7px;transform:skewX(25deg);
}
.topline-note{font-size:13px;color:#5e5b70}
.introgrid{
  width:min(1180px,calc(100% - 36px));margin:42px auto 54px;
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:46px;align-items:center;
}
.copydeck h1{
  font-size:clamp(38px,5vw,70px);line-height:1.02;letter-spacing:-.055em;margin:0 0 24px;max-width:850px;
}
.copydeck p{font-size:18px;margin:0 0 16px}
.copydeck em{font-size:14px;color:#676275}
.visualdeck{
  position:relative;border-radius:26px;overflow:hidden;box-shadow:0 22px 55px rgba(32,29,69,.16);
  border:1px solid rgba(32,29,69,.12);background:var(--soft);
}
.visualdeck img{width:100%;aspect-ratio:16/9;object-fit:cover}
.catalogue{
  width:min(1180px,calc(100% - 36px));margin:0 auto 68px;
  background:var(--white);border:1px solid var(--line);border-radius:24px;padding:28px;
  box-shadow:0 12px 34px rgba(32,29,69,.07);
}
.catalogue-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.catalogue h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.035em;line-height:1.1;margin:0}
.catalogue-head p{margin:0;color:#686477;font-size:14px}
.offer-stream{display:grid;gap:12px}
.offer-unit{
  display:grid;grid-template-columns:42px 82px minmax(150px,.9fr) minmax(220px,1.45fr) 150px;
  align-items:center;gap:14px;padding:14px;border:1px solid #ded8c9;border-radius:16px;background:#fff;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.offer-unit:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(32,29,69,.09);border-color:#c9c0aa}
.offer-unit:first-child{border-color:var(--coral);box-shadow:inset 5px 0 0 var(--coral)}
.position-dot{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eee9dc;font-weight:800;font-size:13px;
}
.brand-tile{
  width:76px;height:76px;border-radius:14px;display:grid;place-items:center;overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(32,29,69,.10);
}
.brand-tile img{width:82%;height:82%;object-fit:contain}
.brand-name{font-weight:850;font-size:17px;line-height:1.2}
.score-line{display:flex;align-items:center;gap:8px;margin-top:7px}
.score-track{position:relative;display:inline-block;letter-spacing:1px;color:#d7d2c6;line-height:1}
.score-track b{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#e7a123;font-weight:inherit}
.score-number{font-size:12px;font-weight:800;color:#5d596c}
.bonus-pane small{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#716d7b;font-weight:800;margin-bottom:3px}
.bonus-pane strong{font-size:15px;line-height:1.35}
.launch-link{
  display:block;text-align:center;text-decoration:none;background:var(--green);color:white;font-weight:850;
  padding:13px 12px;border-radius:11px;transition:background .15s ease,transform .15s ease;
}
.launch-link:hover{background:var(--green2);transform:translateY(-1px)}
.loading-row{
  min-height:108px;border-radius:16px;border:1px solid #e1dacb;
  background:linear-gradient(100deg,#fbfaf5 38%,#efe9dc 50%,#fbfaf5 62%);
  background-size:220% 100%;animation:drift 1.25s linear infinite;
}
@keyframes drift{to{background-position:-220% 0}}
.reading-grid{
  width:min(1180px,calc(100% - 36px));margin:0 auto 72px;
  display:grid;grid-template-columns:230px minmax(0,760px);gap:64px;justify-content:center;align-items:start;
}
.chapter-nav{
  position:sticky;top:24px;border-left:2px solid var(--coral);padding:2px 0 2px 18px;
}
.chapter-nav strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:12px}
.chapter-nav a{display:block;text-decoration:none;color:#625e70;font-size:13px;line-height:1.35;padding:6px 0}
.chapter-nav a:hover{color:var(--ink)}
.story h2,.questions h2{
  margin:60px 0 18px;font-size:clamp(29px,4vw,44px);line-height:1.08;letter-spacing:-.04em;
}
.story h2:first-child{margin-top:0}
.story h3{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:38px 0 14px}
.story p{margin:0 0 18px}
.story ul,.story ol{padding-left:24px;margin:0 0 24px}
.story li{margin:7px 0;padding-left:5px}
.story blockquote{
  margin:28px 0;padding:18px 20px;border-left:4px solid var(--sage);background:#eeeadf;border-radius:0 12px 12px 0;
}
.story blockquote p{margin:0}
.story table{
  width:100%;border-collapse:collapse;margin:24px 0 30px;background:var(--white);font-size:14px;
  border:1px solid var(--line);
}
.story th,.story td{text-align:left;vertical-align:top;padding:12px 13px;border-bottom:1px solid var(--line)}
.story th{background:#ece6d7;font-weight:850}
.story tr:last-child td{border-bottom:0}
.plate{
  margin:34px 0 42px;border:1px solid var(--line);background:var(--white);border-radius:18px;overflow:hidden;
}
.plate img{width:100%;aspect-ratio:16/9;object-fit:cover}
.plate figcaption{padding:12px 15px;font-size:12px;color:#6d6878}
.questions{margin-top:68px}
.question{border-top:1px solid var(--line)}
.question:last-child{border-bottom:1px solid var(--line)}
.question summary{
  list-style:none;cursor:pointer;padding:19px 46px 19px 0;font-weight:820;font-size:18px;position:relative;
}
.question summary::-webkit-details-marker{display:none}
.question summary span:before,.question summary span:after{
  content:"";position:absolute;right:8px;top:50%;width:16px;height:2px;background:var(--ink);transition:transform .16s ease;
}
.question summary span:after{transform:rotate(90deg)}
.question[open] summary span:after{transform:rotate(0)}
.answer{padding:0 0 18px;color:#504c61}
.answer p:last-child{margin-bottom:0}
.footline{
  border-top:1px solid rgba(32,29,69,.16);padding:28px 18px 36px;text-align:center;color:#6b6777;font-size:13px;
}
@media(max-width:900px){
  .introgrid{grid-template-columns:1fr;gap:26px}
  .visualdeck{order:-1}
  .reading-grid{grid-template-columns:1fr;max-width:800px}
  .chapter-nav{position:relative;top:auto;border-left:0;border-bottom:1px solid var(--line);padding:0 0 18px;display:flex;gap:10px;overflow:auto}
  .chapter-nav strong{display:none}
  .chapter-nav a{white-space:nowrap;border:1px solid var(--line);padding:8px 10px;border-radius:999px;background:var(--white)}
  .offer-unit{grid-template-columns:34px 68px 1fr 140px;grid-template-areas:"pos logo brand action" "bonus bonus bonus bonus"}
  .position-dot{grid-area:pos}
  .brand-tile{grid-area:logo;width:64px;height:64px}
  .brand-block{grid-area:brand}
  .bonus-pane{grid-area:bonus;background:#f4efe3;border-radius:10px;padding:12px;text-align:center}
  .launch-link{grid-area:action}
}
@media(max-width:620px){
  .topline-inner,.introgrid,.catalogue,.reading-grid{width:min(100% - 24px,1180px)}
  .topline-note{display:none}
  .introgrid{margin-top:18px}
  .copydeck h1{font-size:42px}
  .copydeck p{font-size:16px}
  .catalogue{padding:16px;border-radius:18px}
  .catalogue-head{display:block}
  .catalogue-head p{margin-top:8px}
  .offer-unit{
    grid-template-columns:56px minmax(0,1fr);
    grid-template-areas:"logo brand" "bonus bonus" "action action";
    position:relative;padding:14px;
  }
  .position-dot{position:absolute;right:10px;top:10px;width:26px;height:26px;font-size:11px}
  .brand-tile{width:56px;height:56px}
  .launch-link{padding:14px}
  .story table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .story h2,.questions h2{margin-top:46px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

.legal-shell{width:min(860px,calc(100% - 32px));margin:54px auto 80px}
.legal-shell h1{font-size:clamp(38px,6vw,66px);line-height:1.03;letter-spacing:-.05em;margin:0 0 28px}
.legal-shell h2{font-size:27px;line-height:1.2;letter-spacing:-.025em;margin:38px 0 12px}
.legal-shell p,.legal-shell li{font-size:17px;line-height:1.7}
.legal-shell ul{padding-left:24px}
.legal-back{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;margin-bottom:26px}
.legal-back:before{content:"←";font-size:20px}
.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:10px}
.legal-links a{text-decoration:none;color:inherit}
.legal-links a:hover{text-decoration:underline}
