/* Namely design system — extracted from mockup A */
:root{
  --bg:#faf7f2; --ink:#1c1a17; --mute:#7a736a; --line:#e8e2d8;
  --acc:#c2552b; --acc2:#3f6b5f; --soft:#f1ece3; --card:#fff;
  --up:#2f7a56; --dn:#b04a3a;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--acc)}
img,svg{max-width:100%}
.serif{font-family:var(--serif);font-weight:300;letter-spacing:-.02em}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);font-weight:600}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* nav */
nav{display:flex;align-items:center;justify-content:space-between;height:70px;position:sticky;top:0;background:rgba(250,247,242,.88);backdrop-filter:blur(12px);z-index:9}
.logo{font-family:var(--serif);font-weight:500;font-size:19px;letter-spacing:-.015em;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.logo .mark{width:22px;height:22px;border-radius:6px;background:var(--acc);flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:600;font-size:11px;color:#fff;letter-spacing:0}
.logo .mark::before{content:"BN"}
nav .logo{font-size:20px}

nav ul{display:flex;gap:26px;list-style:none;font-size:14px;color:var(--mute)}
.pill{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:13px;background:#fff}

/* section heads */
.sechead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px;gap:20px}
.sechead h2{font-family:var(--serif);font-weight:400;font-size:32px;letter-spacing:-.02em}
.more{font-size:13px;color:var(--acc);white-space:nowrap}
section{padding-top:64px}

/* search */
.search{max-width:640px;margin:0 auto;display:flex;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 6px 6px 22px;box-shadow:0 14px 44px -24px rgba(0,0,0,.22)}
.search input{flex:1;border:0;font:inherit;font-size:17px;outline:0;background:transparent;min-width:0}
.search button{background:var(--ink);color:#fff;border:0;border-radius:11px;padding:14px 24px;font:inherit;font-weight:500;cursor:pointer}
.chips{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.chips a{font-size:13px;color:var(--mute);border:1px solid var(--line);border-radius:999px;padding:6px 14px;background:#fff}
#results{max-width:640px;margin:14px auto 0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:none;text-align:left}
#results a{display:flex;justify-content:space-between;padding:11px 18px;border-top:1px solid var(--line);font-size:15px}
#results a:first-child{border-top:0}
#results a span{color:var(--mute);font-size:12px}

/* cards */
.card,.panel,.tcard,.tool,.list,.box{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px}
.tcard h3,.list h4,.panel h4,.tool h3{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
.tcard h3{font-size:19px;margin-bottom:2px}
.tcard .s,.list .s,.panel .sub,.box .s{font-size:12px;color:var(--mute);margin-bottom:14px}
.tcard ol,.list ol,.list ul,.box ul{list-style:none}
.tcard li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:15px}
.tcard li .r{font-size:12px;color:var(--mute);width:20px;flex:none}
.tcard li .n{flex:1}
.tcard li .d{font-size:12px;flex:none}
.up{color:var(--up)}.dn{color:var(--dn)}.eq{color:var(--mute)}
.spark{width:54px;height:18px;flex:none}
.list li,.box li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:15px}
.list li span,.box li span{color:var(--mute);font-size:12px;text-align:right;flex:none}

/* grids */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

/* letters */
.explore{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:32px}
.tabsrow{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.tabsrow a,.tabsrow span{font-size:13px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);color:var(--mute)}
.tabsrow .on{background:var(--ink);color:#fff;border-color:var(--ink)}
.letters{display:grid;grid-template-columns:repeat(13,1fr);gap:6px}
.letters a{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:17px;border-radius:10px;background:var(--soft)}
.letters a:hover{background:var(--acc);color:#fff}

/* cloud */
.cloud{display:flex;flex-wrap:wrap;gap:10px}
.cloud a{font-family:var(--serif);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:15px}
.cloud a.big{font-size:21px;padding:9px 20px;background:var(--soft);border-color:transparent}
.cloud a.acc{color:var(--acc);border-color:#ecd4c8}

/* state map */
.mapgrid{display:grid;grid-template-columns:repeat(11,1fr);gap:3px;margin-top:10px}
.mapgrid div{aspect-ratio:1;border-radius:3px;font-size:8px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}
.mapgrid div.e{background:transparent}
.maplegend{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--mute);margin-top:14px}
.maplegend i{height:8px;flex:1;border-radius:4px;background:linear-gradient(90deg,#f0dfd6,#c2552b,#7d3117)}

/* countries */
.countries{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.co{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;text-align:center}
.co .f{font-size:24px;line-height:1}
.co b{display:block;font-size:13px;font-weight:500;margin:8px 0 2px}
.co span{font-size:11px;color:var(--mute)}
.co.soon{opacity:.5;border-style:dashed;background:transparent}

/* list collection cards */
.lcard{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--card)}
.lcard .top{height:118px;display:flex;align-items:flex-end;padding:18px;font-family:var(--serif);font-size:25px;color:#fff;font-weight:400;line-height:1.15}
.lcard .body{padding:18px 20px 22px}
.lcard .body p{font-size:13px;color:var(--mute);margin-bottom:12px}
.lcard .names{display:flex;flex-wrap:wrap;gap:6px}
.lcard .names span{font-size:12px;background:var(--soft);border-radius:6px;padding:4px 9px;color:var(--mute)}

/* dark strip */
.dark{background:var(--ink);color:#fff;border-radius:24px;padding:38px 40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.dark h2{font-family:var(--serif);font-weight:400;font-size:32px;letter-spacing:-.02em;margin-bottom:12px}
.dark p{color:#bdb6ac;font-size:15px;max-width:400px;margin-bottom:20px}
.dark .btn{display:inline-block;background:#fff;color:var(--ink);border-radius:11px;padding:12px 20px;font-size:14px;font-weight:500}
.dark .chart{background:rgba(255,255,255,.06);border-radius:16px;padding:18px}
.lg{display:flex;gap:14px;font-size:11px;color:var(--mute);margin-bottom:8px;flex-wrap:wrap}
.dark .lg{color:#bdb6ac}
.lg i{width:10px;height:2px;display:inline-block;vertical-align:middle;margin-right:5px}

/* why */
.why div{padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--card)}
.why .num{font-family:var(--serif);font-size:40px;font-weight:300;line-height:1;margin-bottom:12px;color:var(--acc)}
.why h3{font-family:var(--serif);font-weight:500;font-size:19px;margin-bottom:6px}
.why p{font-size:14px;color:var(--mute)}

/* newsletter */
.news{border:1px solid var(--line);border-radius:24px;padding:44px;text-align:center;background:linear-gradient(180deg,#fff,#f7f2ea);margin-top:64px}
.news h2{font-family:var(--serif);font-weight:400;font-size:34px;letter-spacing:-.02em;margin:6px 0 10px}
.news p{color:var(--mute);max-width:430px;margin:0 auto 24px;font-size:15px}
.nform{display:flex;max-width:420px;margin:0 auto;gap:8px}
.nform input{flex:1;border:1px solid var(--line);border-radius:11px;padding:13px 16px;font:inherit;font-size:15px;outline:0;background:#fff;min-width:0}
.nform button{background:var(--ink);color:#fff;border:0;border-radius:11px;padding:0 22px;font:inherit;font-weight:500;cursor:pointer}
.news small{display:block;margin-top:14px;color:var(--mute);font-size:12px}

/* name page */
.crumb{font-size:13px;color:var(--mute);margin-bottom:22px}
.namehead{padding:44px 0 0;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.namehead h1{font-size:88px;line-height:.95;margin:8px 0 12px;font-family:var(--serif);font-weight:300;letter-spacing:-.03em}
.meta{display:flex;gap:12px;font-size:14px;color:var(--mute);margin-bottom:26px;align-items:center;flex-wrap:wrap}
.dot{width:8px;height:8px;border-radius:50%;background:var(--acc);display:inline-block;margin-right:6px}
.dot.m{background:var(--acc2)}
.lead{font-size:19px;line-height:1.6;max-width:520px;margin-bottom:30px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;font-size:14px;border-top:1px solid var(--line);padding-top:18px}
.facts b{display:block;font-weight:500;color:var(--ink);font-size:16px}
.facts span{color:var(--mute)}
.tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}
.tabs span,.tabs a{font-size:12px;padding:6px 12px;border-radius:999px;background:var(--soft);color:var(--mute)}
.tabs .on{background:var(--ink);color:#fff}
.prose{max-width:680px;font-size:17px;line-height:1.65}
.prose p{margin-bottom:16px}
.prose h2{font-family:var(--serif);font-weight:400;font-size:28px;margin:36px 0 12px;letter-spacing:-.02em}
.prose h3{font-family:var(--serif);font-weight:500;font-size:20px;margin:26px 0 8px}
.src{font-size:12px;color:var(--mute);border-top:1px solid var(--line);padding-top:14px;margin-top:34px}

/* index tables */
.ntable{width:100%;border-collapse:collapse;font-size:15px;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.ntable th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute);font-weight:600;padding:12px 18px;border-bottom:1px solid var(--line)}
.ntable td{padding:11px 18px;border-top:1px solid var(--line)}
.ntable tr:first-child td{border-top:0}
.ntable td.n{font-weight:500}
.ntable td.r,.ntable td.c{color:var(--mute);font-size:13px;text-align:right;white-space:nowrap}
.pager{display:flex;gap:8px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.pager a,.pager span{font-size:13px;padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--mute)}
.pager .on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* footer */
footer{border-top:1px solid var(--line);padding:44px 0 34px;margin-top:80px}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px;font-size:13px;color:var(--mute)}
.fgrid h5{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);margin-bottom:12px;font-weight:600}
.fgrid ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.fbot{display:flex;justify-content:space-between;gap:16px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--mute);flex-wrap:wrap}

@media(max-width:900px){
  .g2,.g3,.g4,.why,.dark,.namehead{grid-template-columns:1fr}
  .countries{grid-template-columns:repeat(3,1fr)}
  .letters{grid-template-columns:repeat(7,1fr)}
  .namehead h1{font-size:56px}
  .sechead h2,.dark h2,.news h2{font-size:26px}
  nav ul{display:none}
  .fgrid{grid-template-columns:1fr 1fr}
  .wrap{padding:0 20px}
  section{padding-top:48px}
  .dark{padding:28px 24px}
  .news{padding:32px 24px}
}

/* saved names */
.savebtn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 18px;font:inherit;font-size:14px;color:var(--mute);cursor:pointer;margin-bottom:26px}
.savebtn:hover{border-color:var(--acc);color:var(--acc)}
.savebtn[aria-pressed="true"]{background:var(--acc);border-color:var(--acc);color:#fff}
.pill.has{border-color:var(--acc);color:var(--acc)}
