*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:color-mix(in srgb,var(--paper) 85%,#000);color:var(--ink);font:400 18px/1.62 var(--txt);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--ink);text-decoration-color:var(--red);text-underline-offset:3px}
a:hover{color:var(--red)}
h1,h2,h3{font-family:var(--head);line-height:1.12;margin:0 0 .45em;font-weight:700}
h1{font-size:clamp(30px,5vw,54px);letter-spacing:-.01em}
h2{font-size:clamp(22px,2.8vw,30px)}
h3{font-size:20px}
p{margin:0 0 .9em}
.nn-paper{max-width:1180px;margin:0 auto;background:var(--paper);padding:0 28px;box-shadow:0 0 40px rgba(0,0,0,.18)}

/* masthead */
.nn-mh{text-align:center;border-bottom:4px double var(--ink);padding-bottom:4px}
.nn-mh-line{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:600 12px/1 var(--txt);letter-spacing:.08em;text-transform:uppercase;padding:12px 0;border-bottom:1px solid var(--ink)}
.nn-mh-line a{color:var(--red);text-decoration:none;font-weight:700}
.nn-mh-title{display:block;font:700 clamp(40px,8vw,84px)/1 var(--head);color:var(--ink);text-decoration:none;margin:18px 0 6px;letter-spacing:-.02em}
.nn-mh-motto{font-style:italic;margin:0 0 12px;color:color-mix(in srgb,var(--ink) 70%,transparent)}
.nn-rub{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 0;border-top:1px solid var(--ink);padding:8px 0}
.nn-rub a{font:600 14px/1 var(--txt);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;padding:4px 14px;border-right:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.nn-rub a:last-child{border:0}
.nn-rub-cta{color:var(--red)!important}
.nn-body{padding:22px 0 10px}

/* buttons */
.nn-ink-btn{display:inline-block;background:var(--ink);color:var(--paper);border:2px solid var(--ink);padding:12px 22px;font:700 14px/1 var(--txt);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.nn-ink-btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.nn-ink-ghost{background:transparent;color:var(--ink)}
.nn-linkbtn{background:none;border:0;padding:0;font:italic 15px var(--txt);color:var(--red);text-decoration:underline;cursor:pointer}

/* front page */
.nn-front{display:grid;grid-template-columns:2fr 1fr;gap:0;border-bottom:1px solid var(--ink);padding-bottom:22px}
.nn-front-lead{padding-right:26px;border-right:1px solid var(--ink)}
.nn-front-side{padding-left:26px}
.nn-kicker{font:700 13px/1 var(--txt);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.nn-standfirst{font-size:21px;font-style:italic;color:color-mix(in srgb,var(--ink) 85%,transparent)}
.nn-front-fig{margin:18px 0}
.nn-front-fig img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 25%;filter:grayscale(1) contrast(1.05);transition:filter .4s}
.nn-front-fig:hover img{filter:none}
.nn-front-fig figcaption{font-size:14px;font-style:italic;border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding:6px 0}
.nn-side-h,.nn-box-h,.nn-colo-h{font:700 13px/1.2 var(--txt);letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:10px}
.nn-briefs{list-style:none;padding:0;margin:0 0 18px;counter-reset:b}
.nn-briefs li{counter-increment:b;border-bottom:1px dotted color-mix(in srgb,var(--ink) 40%,transparent)}
.nn-briefs a{display:block;padding:10px 0;text-decoration:none}
.nn-briefs b{display:block;font:700 17px/1.25 var(--head)}
.nn-briefs b::before{content:counter(b) ". ";color:var(--red)}
.nn-briefs span{font-size:13px;font-style:italic;color:color-mix(in srgb,var(--ink) 65%,transparent)}
.nn-proof-list{list-style:none;padding:0;margin:0;font-size:15px}
.nn-proof-list li{padding:4px 0}
.nn-proof-list li::before{content:"■ ";color:var(--red);font-size:10px;vertical-align:2px}

/* sections */
.nn-sect{padding:26px 0;border-bottom:1px solid var(--ink)}
.nn-sect-h{text-align:center;border-top:1px solid var(--ink);margin:0 0 22px;line-height:0;padding-top:0}
.nn-sect-h span{background:var(--paper);padding:0 16px;position:relative;top:-.05em;display:inline-block;line-height:1.2;transform:translateY(-50%)}
.nn-center-note{text-align:center;font-style:italic}
.nn-cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.nn-classified{padding:0 18px 20px;border-right:1px solid color-mix(in srgb,var(--ink) 30%,transparent);margin-bottom:18px}
.nn-classified:nth-child(3n){border-right:0}
.nn-classified:nth-child(3n+1){padding-left:0}
.nn-ref{font:600 12px/1.3 var(--txt);letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.nn-classified-pic img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 25%;filter:grayscale(1);transition:filter .4s;margin-bottom:10px}
.nn-classified:hover img{filter:none}
.nn-classified h3 a{text-decoration:none}
.nn-classified-txt{font-size:15px;color:color-mix(in srgb,var(--ink) 82%,transparent)}
.nn-classified-foot{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-style:italic;border-top:1px dotted color-mix(in srgb,var(--ink) 40%,transparent);padding-top:6px;margin:0}
.nn-avail{color:#2e7d32;font-weight:600;font-style:normal}
.nn-columns-txt{columns:2 340px;column-gap:36px;column-rule:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}
.nn-columns-txt article{break-inside:avoid-column;margin-bottom:12px}
.nn-columns-txt h2{font-size:24px}
.nn-index{list-style:none;padding:0;margin:0;columns:4 200px;column-gap:24px}
.nn-index li{padding:3px 0;border-bottom:1px dotted color-mix(in srgb,var(--ink) 30%,transparent);display:flex;justify-content:space-between;break-inside:avoid}
.nn-index a{text-decoration:none}
.nn-index span{font-size:13px;color:color-mix(in srgb,var(--ink) 55%,transparent)}
.nn-roman{list-style:upper-roman;padding-left:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0}
.nn-roman li::marker{font:700 22px var(--head);color:var(--red)}
.nn-courrier dt{font:700 19px/1.3 var(--head);margin-top:16px}
.nn-courrier dt::before{content:"Q. ";color:var(--red)}
.nn-courrier dd{margin:6px 0 0;padding-left:18px;border-left:2px solid var(--brass)}

/* city / page title */
.nn-path{font-size:13px;font-style:italic;margin:0 0 10px}
.nn-path a{text-decoration:none}
.nn-page-title{text-align:center;border-bottom:1px solid var(--ink);padding-bottom:14px;margin-bottom:20px}
.nn-page-title.nn-left{text-align:left;border:0}
.nn-twocol{display:grid;grid-template-columns:1fr 300px;gap:30px;align-items:start;padding-bottom:20px}
.nn-dropcap>p:first-child::first-letter{float:left;font:700 64px/.85 var(--head);padding:6px 8px 0 0;color:var(--red)}
.nn-listing{border-top:1px solid var(--ink)}
.nn-line{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.nn-line-pic img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1);transition:filter .4s}
.nn-line:hover img{filter:none}
.nn-line h3 a{text-decoration:none}
.nn-sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:16px}
.nn-box{border:1px solid var(--ink);padding:16px;background:color-mix(in srgb,var(--paper) 70%,#fff)}
.nn-box ul{list-style:none;padding:0;margin:0}
.nn-box li{padding:4px 0;border-bottom:1px dotted color-mix(in srgb,var(--ink) 30%,transparent)}
.nn-box li a{text-decoration:none}
.nn-regions4{columns:3 260px;column-gap:28px;padding-bottom:20px}
.nn-regions4 section{break-inside:avoid;margin-bottom:22px}
.nn-regions4 h2{font-size:22px;border-bottom:2px solid var(--ink);padding-bottom:4px}
.nn-regions4 ul{list-style:none;padding:0;margin:0}
.nn-regions4 li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dotted color-mix(in srgb,var(--ink) 30%,transparent)}
.nn-regions4 a{text-decoration:none}
.nn-regions4 span{font-size:13px;font-style:italic;white-space:nowrap}

/* notice (ad page) */
.nn-notice{border:2px solid var(--ink);padding:24px;margin-bottom:10px;background:color-mix(in srgb,var(--paper) 60%,#fff)}
.nn-notice-head{border-bottom:1px solid var(--ink);margin-bottom:20px}
.nn-byline{font-style:italic}
.nn-notice-grid{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:start}
.nn-notice-fig{margin:0}
.nn-notice-fig img{width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--ink)}
.nn-notice-fig figcaption{padding-top:8px}
.nn-conditions{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:16px}
.nn-conditions th{text-align:left;vertical-align:top;width:150px;padding:10px 12px 10px 0;font:700 13px/1.4 var(--txt);letter-spacing:.08em;text-transform:uppercase;color:var(--red);border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.nn-conditions td{padding:10px 0;border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.nn-reply-box{border:1px dashed var(--ink);padding:16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.nn-reply-box p{margin:0;font-style:italic;font-size:15px}

/* signup / legal */
.nn-join4{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:36px;align-items:start;padding-bottom:24px}
.nn-formbox{padding:10px;box-shadow:6px 6px 0 var(--ink)}
.nn-formbox iframe{display:block;width:100%;height:480px;border:0;background:#fff}
.nn-legal4{max-width:760px;margin:0 auto;padding-bottom:20px}
.nn-legal4 h2{font-size:22px;margin-top:20px}

/* colophon */
.nn-colophon{border-top:4px double var(--ink);padding:24px 0 18px;font-size:15px}
.nn-colo-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}
.nn-colo-inline a{text-decoration:none}
.nn-colo-gap{margin-top:16px}
.nn-colo-age{font-weight:700;color:var(--red)}
.nn-colo-end{text-align:center;font:600 12px var(--txt);letter-spacing:.12em;text-transform:uppercase;border-top:1px solid var(--ink);padding-top:10px;margin:22px 0 0}

/* overlays */
.nn-envelope{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:14px;background:rgba(20,16,12,.7)}
.nn-envelope[hidden]{display:none}
.nn-envelope-age{background:rgba(20,16,12,.95)}
.nn-letter{position:relative;width:100%;max-width:570px;background:var(--paper);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:24px 18px 12px;max-height:94vh;overflow:auto}
.nn-letter iframe{width:100%;height:520px;border:0;background:#fff}
.nn-letter-h{font:700 26px/1.2 var(--head);text-align:center;margin:0 26px 12px}
.nn-letter-x{position:absolute;top:6px;right:12px;background:none;border:0;font-size:30px;cursor:pointer;color:var(--ink)}
.nn-letter-age{max-width:440px;text-align:center;padding:30px 26px}
.nn-stamp{display:inline-block;border:3px solid var(--red);color:var(--red);font:700 26px/1 var(--head);padding:10px 14px;transform:rotate(-6deg);margin-bottom:14px}
.nn-letter-acts{display:flex;flex-direction:column;gap:10px;margin-top:18px}

@media (max-width:900px){
  .nn-front,.nn-twocol,.nn-notice-grid,.nn-join4{grid-template-columns:1fr}
  .nn-front-lead{padding-right:0;border-right:0}
  .nn-front-side{padding-left:0;margin-top:20px}
  .nn-cols3{grid-template-columns:1fr 1fr}
  .nn-classified{border-right:0;padding:0 0 18px}
  .nn-cols3 .nn-classified:nth-child(odd){padding-right:16px;border-right:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
  .nn-cols3 .nn-classified:nth-child(even){padding-left:16px}
  .nn-roman{grid-template-columns:1fr}
  .nn-colo-grid{grid-template-columns:1fr}
  .nn-sidebar{position:static}
  .nn-notice-fig{max-width:420px}
}
@media (max-width:620px){
  body{font-size:17px}
  .nn-paper{padding:0 16px}
  .nn-mh-line{justify-content:center;font-size:11px}
  .nn-mh-line span:first-child{display:none}
  .nn-rub-x{display:none!important}
  .nn-rub a{padding:4px 9px;font-size:12px}
  .nn-cols3{grid-template-columns:1fr}
  .nn-cols3 .nn-classified:nth-child(n){padding:0 0 18px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
  .nn-line{grid-template-columns:100px 1fr;gap:14px}
  .nn-notice{padding:16px}
  .nn-conditions th{width:auto;display:block;border:0;padding-bottom:0}
  .nn-conditions td{display:block;border:0;padding-top:2px}
  .nn-conditions tr{display:block;border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent);padding:6px 0}
}
@media (max-width:620px){.nn-envelope{padding:8px}.nn-letter{padding:20px 6px 6px;box-shadow:4px 4px 0 var(--ink)}.nn-formbox{padding:4px;box-shadow:4px 4px 0 var(--ink)}}
