/* Neutral Spine stylesheet. Prefix ns-. Width 1224. Instrument Sans + Literata. */
:root{
  --ns-ink:#22305E;
  --ns-ink-2:#3A4672;
  --ns-text:#24283A;
  --ns-mute:#5E6A80;
  --ns-chalk:#F5F7FB;
  --ns-white:#FFFFFF;
  --ns-butter:#F3DA8C;
  --ns-butter-soft:#FBF3D8;
  --ns-steel:#8693A6;
  --ns-line:#DDE3EC;
  --ns-plum:#6E4C7E;
  --ns-plum-soft:#F1EBF4;
  --ns-ok:#3F7A5A;
  --ns-wrap:1224px;
  --ns-col:70ch;
  --ns-r1:4px;
  --ns-r2:12px;
  --ns-ticking:repeating-linear-gradient(90deg,var(--ns-ink) 0 2px,transparent 2px 7px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;background:var(--ns-chalk);color:var(--ns-text);font:400 1.06rem/1.72 "Literata",Georgia,"Times New Roman",serif}
h1,h2,h3,h4{font-family:"Instrument Sans","Helvetica Neue",Arial,sans-serif;color:var(--ns-ink);line-height:1.15;margin:0 0 .5em;letter-spacing:-.012em}
h1{font-size:clamp(2.1rem,1.4rem + 2.6vw,3.3rem);font-weight:700}
h2{font-size:clamp(1.5rem,1.15rem + 1.2vw,2.1rem);font-weight:700}
h3{font-size:1.22rem;font-weight:600}
p{margin:0 0 1em;max-width:var(--ns-col)}
a{color:var(--ns-ink);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ns-plum)}
:focus-visible{outline:3px solid var(--ns-plum);outline-offset:2px}
img{max-width:100%;height:auto;display:block}
.ns-wrap{max-width:var(--ns-wrap);margin:0 auto;padding:0 24px}
.ns-skip{position:absolute;left:-999px}.ns-skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}

/* top bar */
.ns-bar{position:sticky;top:0;z-index:20;background:var(--ns-white);border-bottom:1px solid var(--ns-line)}
.ns-bar-in{display:flex;align-items:center;gap:28px;height:68px}
.ns-brand{display:flex;align-items:center;gap:10px;font:700 1.12rem "Instrument Sans",sans-serif;color:var(--ns-ink);text-decoration:none;white-space:nowrap}
.ns-brand svg{width:30px;height:30px}
.ns-menu{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex:1;overflow-x:auto;scrollbar-width:none}
.ns-menu::-webkit-scrollbar{display:none}
.ns-menu a{font:600 .92rem "Instrument Sans",sans-serif;color:var(--ns-mute);text-decoration:none;white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent}
.ns-menu a:hover,.ns-menu a[aria-current="page"]{color:var(--ns-ink);border-bottom-color:var(--ns-butter)}
.ns-cta{font:600 .9rem "Instrument Sans",sans-serif;background:var(--ns-ink);color:#fff;text-decoration:none;padding:10px 16px;border-radius:999px;white-space:nowrap}
.ns-cta:hover{background:var(--ns-ink-2);color:#fff}

/* lead (home) */
.ns-lead{padding:56px 0 40px}
.ns-lead-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:start}
.ns-lead p.ns-deck{font-size:1.18rem;color:var(--ns-mute);max-width:56ch}
.ns-byline{display:flex;flex-wrap:wrap;gap:6px 22px;font:500 .88rem "Instrument Sans",sans-serif;color:var(--ns-mute);margin-top:22px}
.ns-byline strong{color:var(--ns-ink)}

/* matcher */
.ns-matcher{background:var(--ns-white);border:1px solid var(--ns-line);border-radius:var(--ns-r2);padding:22px 22px 18px;box-shadow:0 18px 40px -28px rgba(34,48,94,.45)}
.ns-matcher h2{font-size:1.2rem;margin-bottom:4px}
.ns-matcher > p{font-size:.95rem;color:var(--ns-mute);margin-bottom:14px}
.ns-q{border:0;margin:0 0 12px;padding:0}
.ns-q legend{font:600 .86rem "Instrument Sans",sans-serif;color:var(--ns-ink);margin-bottom:6px}
.ns-opts{display:flex;flex-wrap:wrap;gap:6px}
.ns-opts button{font:500 .88rem "Instrument Sans",sans-serif;border:1px solid var(--ns-line);background:var(--ns-chalk);color:var(--ns-text);border-radius:999px;padding:7px 13px;cursor:pointer}
.ns-opts button[aria-pressed="true"]{background:var(--ns-ink);border-color:var(--ns-ink);color:#fff}
.ns-spine{margin:8px 0 6px;background:var(--ns-chalk);border-radius:var(--ns-r1);padding:8px}
.ns-spine svg{width:100%;height:auto}
.ns-result{font-size:.98rem;border-top:1px solid var(--ns-line);padding-top:12px;min-height:84px}
.ns-result strong{font-family:"Instrument Sans",sans-serif;color:var(--ns-ink)}
.ns-scale{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin:8px 0 4px}
.ns-scale i{height:10px;border-radius:2px;background:var(--ns-line)}
.ns-scale i.ns-lit{background:var(--ns-butter)}
.ns-scale-l{display:flex;justify-content:space-between;font:500 .75rem "Instrument Sans",sans-serif;color:var(--ns-mute)}

/* sections */
.ns-main{padding-bottom:40px}
.ns-sec{padding:44px 0;border-top:1px solid var(--ns-line)}
.ns-sec:first-of-type{border-top:0}
.ns-short{background:var(--ns-butter-soft);border-radius:var(--ns-r2);padding:18px 22px 6px 58px;position:relative;max-width:calc(var(--ns-col) + 80px);margin:0 0 26px}
.ns-short::before{content:"";position:absolute;left:22px;top:20px;width:20px;height:28px;background:linear-gradient(var(--ns-ink),var(--ns-ink)) center/3px 100% no-repeat,radial-gradient(circle,var(--ns-ink) 0 3px,transparent 3.5px) center 2px/8px 8px repeat-y}
.ns-short b:first-child{font-family:"Instrument Sans",sans-serif;color:var(--ns-ink);margin-right:4px}
.ns-note{border:1px dashed var(--ns-steel);border-radius:var(--ns-r1);padding:12px 16px;font-size:.95rem;max-width:calc(var(--ns-col) + 40px)}
.ns-med{background:var(--ns-plum-soft);border-radius:var(--ns-r1);padding:12px 16px;font-size:.9rem;color:#3d2c46;max-width:calc(var(--ns-col) + 40px)}

/* rank list */
.ns-quick{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.ns-quick li{background:var(--ns-white);border:1px solid var(--ns-line);border-radius:var(--ns-r1);padding:12px 14px}
.ns-quick a{font:600 .98rem "Instrument Sans",sans-serif;text-decoration:none}
.ns-quick span{display:block;font-size:.88rem;color:var(--ns-mute)}

/* product */
.ns-pick{background:var(--ns-white);border:1px solid var(--ns-line);border-radius:var(--ns-r1);margin:0 0 26px;position:relative;overflow:hidden}
.ns-pick::before{content:"";display:block;height:6px;background:var(--ns-ticking);opacity:.85}
.ns-pick-in{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;padding:22px 24px}
.ns-rank{display:inline-flex;align-items:baseline;gap:8px;font:600 .88rem "Instrument Sans",sans-serif;color:var(--ns-plum);margin-bottom:6px}
.ns-rank b{font-size:1.5rem;color:var(--ns-ink)}
.ns-pick h3{font-size:1.45rem;margin-bottom:4px}
.ns-who{color:var(--ns-mute);margin-bottom:12px}
.ns-firm{margin:10px 0 14px}
.ns-firm-l{font:600 .82rem "Instrument Sans",sans-serif;color:var(--ns-ink);display:flex;justify-content:space-between}
.ns-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.ns-chips li{font:500 .8rem "Instrument Sans",sans-serif;border:1px solid var(--ns-line);border-radius:999px;padding:3px 10px;color:var(--ns-mute)}
.ns-chips li.ns-chip-y{border-color:var(--ns-ok);color:var(--ns-ok)}
.ns-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0 0 14px;font-size:.92rem}
.ns-facts div{border-bottom:1px solid var(--ns-line);padding-bottom:6px}
.ns-facts dt{font:600 .76rem "Instrument Sans",sans-serif;color:var(--ns-steel)}
.ns-facts dd{margin:0}
.ns-fit{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.ns-fit div{font-size:.95rem}
.ns-fit h4{font-size:.9rem;margin-bottom:4px}
.ns-fit .ns-fit-no{border-left:3px solid var(--ns-plum);padding-left:12px}
.ns-fit .ns-fit-yes{border-left:3px solid var(--ns-ok);padding-left:12px}
.ns-art{background:var(--ns-chalk);border-radius:var(--ns-r1);padding:10px;align-self:start}
.ns-buy{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 24px;border-top:1px solid var(--ns-line);background:#FAFBFD}
.ns-btn{font:600 .92rem "Instrument Sans",sans-serif;background:var(--ns-ink);color:#fff;text-decoration:none;padding:11px 18px;border-radius:999px}
.ns-btn:hover{background:var(--ns-ink-2);color:#fff}
.ns-btn.ns-btn-soft{background:var(--ns-butter);color:var(--ns-ink)}
.ns-btn.ns-btn-soft:hover{background:#EDCB66}

/* table */
.ns-table-wrap{overflow-x:auto;border:1px solid var(--ns-line);border-radius:var(--ns-r1);background:var(--ns-white);margin:18px 0}
.ns-table{border-collapse:collapse;width:100%;min-width:640px;font-size:.93rem}
.ns-table th,.ns-table td{padding:10px 12px;border-bottom:1px solid var(--ns-line);text-align:left;vertical-align:top}
.ns-table thead th{font:600 .82rem "Instrument Sans",sans-serif;color:var(--ns-ink);background:var(--ns-chalk)}
.ns-table tbody tr:last-child td{border-bottom:0}

/* faq */
.ns-faq details{border-bottom:1px solid var(--ns-line);padding:12px 0;max-width:calc(var(--ns-col) + 60px)}
.ns-faq summary{cursor:pointer;font:600 1.02rem "Instrument Sans",sans-serif;color:var(--ns-ink)}
.ns-faq details p{margin:8px 0 0}

/* footer */
.ns-foot{background:var(--ns-ink);color:#C9D0E4;padding:44px 0 28px;font-size:.92rem;margin-top:40px}
.ns-foot a{color:#E6EAF5}
.ns-foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}
.ns-foot h3{color:#fff;font-size:1rem}
.ns-foot ul{list-style:none;margin:0;padding:0}
.ns-foot li{margin:0 0 6px}
.ns-legal{border-top:1px solid rgba(255,255,255,.14);margin-top:26px;padding-top:18px;font-size:.84rem;color:#A9B2CC}
.ns-legal p{max-width:none}

@media (max-width:900px){
  .ns-lead-grid,.ns-pick-in{grid-template-columns:1fr}
  .ns-art{order:-1;max-width:420px}
  .ns-foot-grid{grid-template-columns:1fr 1fr}
  .ns-cta{display:none}
}
@media (max-width:560px){
  body{font-size:1rem}
  .ns-fit,.ns-facts{grid-template-columns:1fr}
  .ns-short{padding-left:22px}.ns-short::before{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.ns-mini{font-size:.82rem;color:var(--ns-mute);margin-top:6px}

/* ── article layout ── */
.ns-body{display:block}
.ns-article{max-width:none}
.ns-article > .ns-short,.ns-article > .ns-note,.ns-article > .ns-med{max-width:880px}
.ns-article .ns-quick{padding-left:0;max-width:none}
.ns-article > h2{margin-top:1.6em;scroll-margin-top:90px}
.ns-article > h3{margin-top:1.2em}
.ns-article ul,.ns-article ol{max-width:var(--ns-col);padding-left:1.2em}
.ns-article li{margin:0 0 .45em}
.ns-steps{counter-reset:s;list-style:none;padding-left:0!important}
.ns-steps li{counter-increment:s;position:relative;padding-left:44px;margin-bottom:.8em}
.ns-steps li::before{content:counter(s);position:absolute;left:0;top:1px;width:30px;height:30px;border-radius:50%;background:var(--ns-butter);color:var(--ns-ink);font:700 .9rem/30px "Instrument Sans",sans-serif;text-align:center}

/* ── lead / hero ── */
.ns-lead-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center}
.ns-hero-art{margin:0;border-radius:var(--ns-r2);overflow:hidden;border:1px solid var(--ns-line);background:var(--ns-white);box-shadow:0 20px 44px -34px rgba(34,48,94,.55)}
.ns-hero-art img{width:100%;height:auto}
.ns-lead-home .ns-hero-art{margin-top:26px;max-width:620px}
.ns-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 18px;padding:0;font:500 .84rem "Instrument Sans",sans-serif;color:var(--ns-mute)}
.ns-crumbs li+li::before{content:"/";margin-right:6px;color:var(--ns-steel)}
.ns-crumbs a{color:var(--ns-mute);text-decoration:none}
.ns-crumbs a:hover{color:var(--ns-ink);text-decoration:underline}

/* ── quick list ── */
.ns-quick a{display:flex;gap:10px;align-items:baseline}
.ns-quick em{font:700 .82rem "Instrument Sans",sans-serif;font-style:normal;color:var(--ns-plum);min-width:18px}

/* ── product card tweaks ── */
.ns-pick h3 small{font:500 .9rem "Instrument Sans",sans-serif;color:var(--ns-steel)}
.ns-why{background:var(--ns-chalk);border-left:3px solid var(--ns-butter);padding:10px 14px;border-radius:0 var(--ns-r1) var(--ns-r1) 0;font-size:.97rem}
.ns-why b{font-family:"Instrument Sans",sans-serif;color:var(--ns-ink)}
.ns-btn.ns-btn-line{background:transparent;color:var(--ns-ink);border:1px solid var(--ns-line)}
.ns-btn.ns-btn-line:hover{border-color:var(--ns-ink);background:var(--ns-white);color:var(--ns-ink)}
.ns-art img{border-radius:var(--ns-r1)}

/* ── missing-beds box ── */
.ns-off{border:1px solid var(--ns-line);border-left:4px solid var(--ns-plum);background:var(--ns-white);border-radius:var(--ns-r1);padding:18px 22px;margin:22px 0}
.ns-off h3{font-size:1.08rem}
.ns-off ul{margin:8px 0 6px;padding-left:1.1em}
.ns-off li{font-size:.95rem}

/* ── mini matcher ── */
.ns-mini-match{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;justify-content:space-between;background:var(--ns-ink);color:#E6EAF5;border-radius:var(--ns-r2);padding:18px 22px;margin:26px 0}
.ns-mini-match p{margin:0;max-width:58ch;font-size:.98rem}

/* ── related ── */
.ns-related{margin:36px 0 0;padding-top:26px;border-top:1px solid var(--ns-line)}
.ns-related h2{font-size:1.25rem}
.ns-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.ns-related li{background:var(--ns-white);border:1px solid var(--ns-line);border-radius:var(--ns-r1);padding:12px 14px}
.ns-related a{font:600 .97rem "Instrument Sans",sans-serif;text-decoration:none}
.ns-related span{display:block;font-size:.86rem;color:var(--ns-mute)}

/* ── desk box ── */
.ns-desk{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;background:var(--ns-white);border:1px solid var(--ns-line);border-radius:var(--ns-r2);padding:16px 18px;margin:30px 0 18px;font-size:.93rem}
.ns-desk-mark svg{width:42px;height:42px}
.ns-desk p{margin:0 0 6px;max-width:none}

/* ── versus ── */
.ns-vs{display:grid;grid-template-columns:1fr 60px 1fr;gap:18px;align-items:start;margin:8px 0 18px}
.ns-vs-col{background:var(--ns-white);border:1px solid var(--ns-line);border-radius:var(--ns-r2);padding:16px}
.ns-vs-col img{border-radius:var(--ns-r1);margin-bottom:10px}
.ns-vs-col h3{font-size:1.12rem}
.ns-vs-col p{font-size:.94rem}
.ns-vs-mid{align-self:center;justify-self:center;width:56px;height:56px;border-radius:50%;background:var(--ns-ink);color:var(--ns-butter);font:700 1.2rem/56px "Instrument Sans",sans-serif;text-align:center}
.ns-vs-t th:first-child{width:24%}
.ns-vs-t tbody th{font:600 .84rem "Instrument Sans",sans-serif;color:var(--ns-ink);background:var(--ns-chalk)}

@media (max-width:900px){
  .ns-lead-split{grid-template-columns:1fr}
  .ns-vs{grid-template-columns:1fr}
  .ns-vs-mid{display:none}
}

/* ── stage 4: buying aids, nav fit ── */
.ns-gets{list-style:none;margin:12px 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font:600 .86rem/1.35 "Instrument Sans","Helvetica Neue",Arial,sans-serif;color:var(--ns-ink)}
.ns-gets li{position:relative;padding-left:21px}
.ns-gets li::before{content:"\2713";position:absolute;left:0;top:.05em;width:15px;height:15px;border-radius:50%;background:var(--ns-ok);color:#fff;font-size:.66rem;line-height:15px;text-align:center}
.ns-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:14px 0 30px}
.ns-podium-card{position:relative;display:flex;flex-direction:column;background:var(--ns-white);border:1px solid var(--ns-line);border-radius:var(--ns-r2);padding:22px 18px 16px;box-shadow:0 14px 30px -24px rgba(34,48,94,.6)}
.ns-podium-card:first-child{border:2px solid var(--ns-ink)}
.ns-podium-n{position:absolute;top:-12px;left:16px;background:var(--ns-butter);color:var(--ns-ink);font:700 .78rem "Instrument Sans",sans-serif;padding:3px 11px;border-radius:999px}
.ns-podium-award{font:700 .76rem/1.3 "Instrument Sans",sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--ns-plum);margin:0 0 10px}
.ns-podium-card img{border-radius:8px;margin:0 0 12px}
.ns-podium-card h3{font-size:1.08rem;margin:0 0 4px}
.ns-podium-card h3 a{text-decoration:none}
.ns-podium-firm{font-size:.88rem;line-height:1.45;color:var(--ns-mute);margin:0 0 4px}
.ns-podium-card .ns-gets{flex-direction:column;gap:5px;margin:8px 0 16px}
.ns-podium-card .ns-btn{margin-top:auto;text-align:center}
.ns-podium-more{display:block;text-align:center;font:600 .82rem "Instrument Sans",sans-serif;margin-top:10px}
.ns-log{border:1px dashed var(--ns-steel);border-radius:var(--ns-r2);background:var(--ns-white);padding:14px 18px;margin:0 0 30px}
.ns-log-h{font:700 .78rem "Instrument Sans",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--ns-ok);margin:0 0 6px}
.ns-log p:last-child{margin:0}
.ns-menu{gap:18px}
.ns-menu a{font-size:.88rem}
@media (max-width:1260px) and (min-width:901px){.ns-menu li:nth-child(8){display:none}}
@media (max-width:1120px) and (min-width:901px){.ns-menu li:nth-child(n+6){display:none}}
@media (max-width:900px){.ns-podium{grid-template-columns:1fr}}

/* ── stage 4b: answer-first lead ── */
.ns-lead{padding:38px 0 30px}
.ns-lead-home h1{font-size:clamp(2rem,1.3rem + 2.1vw,2.85rem)}
.ns-lead-answer{background:var(--ns-white);border:1px solid var(--ns-line);border-radius:var(--ns-r2);padding:16px 20px 18px;box-shadow:0 20px 44px -34px rgba(34,48,94,.55)}
.ns-lead-home .ns-lead-answer{margin-top:20px}
.ns-lead-top-h{font:700 .76rem/1.3 "Instrument Sans","Helvetica Neue",Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--ns-plum);margin:0 0 8px}
.ns-lead-rows{list-style:none;margin:0;padding:0}
.ns-lead-rows li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--ns-line)}
.ns-lead-rows li:first-child{border-top:0;padding-top:2px}
.ns-lt-n{width:26px;height:26px;border-radius:50%;background:var(--ns-butter);color:var(--ns-ink);font:700 .8rem/26px "Instrument Sans",sans-serif;text-align:center}
.ns-lt-t a{display:block;font:700 1rem/1.25 "Instrument Sans","Helvetica Neue",Arial,sans-serif;color:var(--ns-ink);text-decoration:none}
.ns-lt-t a:hover{text-decoration:underline}
.ns-lt-t span{display:block;font-size:.88rem;line-height:1.35;color:var(--ns-text);margin-top:1px}
.ns-lt-t small{display:block;font:500 .75rem "Instrument Sans",sans-serif;color:var(--ns-mute);margin-top:2px}
.ns-btn.ns-btn-sm{padding:8px 13px;font-size:.82rem;white-space:nowrap}
.ns-lead-more{font:600 .85rem "Instrument Sans",sans-serif;margin:10px 0 0;color:var(--ns-mute)}
.ns-lead-jump{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:10px 0 0;padding:0}
.ns-lead-jump a{display:inline-block;font:600 .82rem "Instrument Sans",sans-serif;padding:6px 12px;border:1px solid var(--ns-line);border-radius:999px;background:var(--ns-chalk);color:var(--ns-ink);text-decoration:none}
.ns-lead-jump a:hover{border-color:var(--ns-ink)}
.ns-verdict-who{font-size:1rem;line-height:1.5;margin:0 0 6px}
.ns-lead-meta{font:500 .8rem "Instrument Sans",sans-serif;color:var(--ns-mute);margin:0}
.ns-lead-answer .ns-gets{margin:10px 0 14px}
.ns-lead-btns{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:900px){
  .ns-menu{-webkit-mask-image:linear-gradient(90deg,#000 78%,transparent);mask-image:linear-gradient(90deg,#000 78%,transparent)}
  .ns-lead-rows li{grid-template-columns:26px minmax(0,1fr)}
  .ns-lead-rows .ns-btn-sm{grid-column:2;justify-self:start}
}
