:root{
  --nb-border:#1f4b4a;
  --nb-accent:#c24b00;
  --nb-danger:#d10000;
}

body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#111;
  background:#fff;
}

.nb-container{max-width:1100px;margin:0 auto;padding:24px 16px}

.nb-header{
  border-bottom:1px solid rgba(0,0,0,.08);
}
.nb-header__inner{
  max-width:1100px;
  margin:0 auto;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.nb-brand{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.2px;
}
.nb-brand__logo{
  width:22px;height:22px;border-radius:4px;
  background:var(--nb-danger);
  display:inline-block;
}
.nb-nav a{ text-decoration:none; opacity:.9; }
.nb-nav a:hover{ opacity:1; text-decoration:underline; }

.nb-footer{
  border-top:1px solid rgba(0,0,0,.08);
  margin-top:48px;
}
.nb-footer__inner{
  max-width:1100px;
  margin:0 auto;
  padding:18px 16px;
  font-size:14px;
  opacity:.8;
}

/* Default page typography */
.nb-page h1{font-size:44px;line-height:1.1;margin:0 0 14px}
.nb-page h2{font-size:32px;margin:34px 0 10px}
.nb-page p{font-size:18px;line-height:1.6;margin:0 0 14px}
.nb-page ul, .nb-page ol{font-size:18px;line-height:1.6}

/* ---- Homepage Tiles ---- */
.nb-tiles{display:grid;gap:18px}

/* mobile-first: card like your screenshot */
.nb-tile{
  position:relative;
  border:2px solid var(--nb-border);
  border-radius:22px;
  padding:26px 18px;
  background:#fff;
  text-align:center;
}
.nb-tile__idx{
  position:absolute;
  top:-14px; left:-14px;
  width:34px; height:34px;
  border-radius:50%;
  border:2px solid var(--nb-border);
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;
}
.nb-tile__logoWrap{display:flex;justify-content:center;margin:6px 0 18px}
.nb-tile__logo{max-height:60px;width:auto;display:block}

.nb-tile__title{
  font-size:30px;
  line-height:1.15;
  margin:0 0 18px;
  font-weight:900;
}

.nb-tile__rating{display:flex;justify-content:center;gap:6px;margin-bottom:22px}
.nb-star{font-size:22px;line-height:1}
.nb-star--on{opacity:1}
.nb-star--off{opacity:.2}

.nb-tile__cta{display:flex;justify-content:center}

.nb-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:min(640px, 100%);
  height:70px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  font-size:28px;
  background:var(--nb-accent);
  color:#fff;
}
.nb-btn__text{text-decoration:underline}
.nb-btn:hover{filter:brightness(1.05)}

/* Optional desktop layout (cards inline-like); comment out if you want mobile style everywhere */
@media (min-width: 900px){
  .nb-tiles{gap:22px}
  .nb-tile{
    text-align:left;
    padding:18px 18px;
    display:grid;
    grid-template-columns: 220px 1fr 220px;
    align-items:center;
    gap:18px;
  }
  .nb-tile__idx{top:-14px;left:24px}
  .nb-tile__logoWrap{justify-content:flex-start;margin:0}
  .nb-tile__title{font-size:28px;margin:0 0 10px}
  .nb-tile__rating{justify-content:flex-start;margin:0}
  .nb-tile__cta{justify-content:flex-end}
  .nb-btn{width:190px;height:54px;font-size:22px}
}

/* ---- FAQ + References ---- */
.nb-h2{font-size:46px;margin:44px 0 16px}

.nb-faq__list{border-top:1px solid rgba(0,0,0,.08)}
.nb-faq__item{border-bottom:1px solid rgba(0,0,0,.08)}
.nb-faq__q{
  width:100%;
  padding:18px 0;
  display:flex;gap:14px;align-items:center;
  background:none;border:0;text-align:left;
  font-size:28px;color:var(--nb-danger);cursor:pointer;
}
.nb-faq__plus{font-size:40px;line-height:1;width:28px}
.nb-faq__a{padding:0 0 18px 42px}
.nb-faq__a p{font-size:18px;line-height:1.6;margin:0 0 12px}

.nb-refs__list{margin:10px 0 0 20px}
.nb-refs__link{color:var(--nb-danger)}
.nb-refs__src{opacity:.8;margin-left:6px}
