/* ---------- 1. reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,figure{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
input,select,textarea,button{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit}

/* ---------- 2. tokens ---------- */
:root{
  --paper:#FFFDF5;
  --cell:#FFFFFF;
  --ink:#111014;
  --dim:#5E5B63;
  --k:#FF4D00;
  --on-k:#FFFFFF;
  --t-h1:clamp(2.3rem,6vw,4.6rem);
  --t-h2:clamp(1.45rem,2.8vw,2.1rem);
  --t-short:clamp(1.14rem,1.8vw,1.44rem);
  --t-body:1.04rem;
  --t-mini:.69rem;
  --pad:clamp(16px,4.2vw,52px);
  --air:clamp(44px,6vw,86px);
  --max:1320px;
}
/* ЦВЕТ ИДЁТ РОТАЦИЕЙ ПО ПОРЯДКУ ОТЕЛЕЙ: 01→k1, 02→k2, 03→k3, 04→k4, 05→k1 и так далее */
.k1{--k:#FF4D00;--on-k:#FFFFFF}
.k2{--k:#0038FF;--on-k:#FFFFFF}
.k3{--k:#00A63F;--on-k:#FFFFFF}
.k4{--k:#FFC300;--on-k:#111014}

/* ---------- 3. base ---------- */
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Outfit",Helvetica,Arial,sans-serif;
  font-size:var(--t-body);
  line-height:1.58;
  -webkit-font-smoothing:antialiased;
}
h1,h2{font-family:"Instrument Serif",Georgia,"Times New Roman",serif;font-weight:400;line-height:1.02;letter-spacing:-.01em}
h1{font-size:var(--t-h1)}
h2{font-size:var(--t-h2)}
.nb-kick{font-size:var(--t-mini);letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--dim)}

/* ---------- 4. каркас ---------- */
.nb-hold{width:100%;max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.nb-air{padding-top:var(--air);padding-bottom:var(--air)}

/* ---------- 5. КАТАЛОГ: сетка ячеек ---------- */
.nb-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-top:30px}
@media (min-width:720px){.nb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.nb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:720px){.nb-wide{grid-column:span 2}}
.nb-cell{border:3px solid var(--ink);background:var(--cell);display:flex;flex-direction:column}
.nb-cap{background:var(--k);color:var(--on-k);padding:13px 16px;display:flex;align-items:baseline;gap:12px}
.nb-num{font-family:"Instrument Serif",Georgia,serif;font-size:1.9rem;line-height:1}
.nb-place{font-size:var(--t-mini);letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.nb-shot{overflow:hidden;background:var(--paper);aspect-ratio:16/9;border-bottom:3px solid var(--ink)}
.nb-shot img{width:100%;height:100%;object-fit:cover}
.nb-in{padding:18px 16px 16px;display:flex;flex-direction:column;flex:1 1 auto}
.nb-in h2{margin-top:2px}
.nb-short{font-family:"Instrument Serif",Georgia,serif;font-size:var(--t-short);line-height:1.22;margin-top:11px}
.nb-part{margin-top:18px}
.nb-h{display:block;font-size:var(--t-mini);letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--dim)}
.nb-h::before{content:"";display:inline-block;width:.6em;height:.6em;background:var(--k);margin-right:.55em}
.nb-part p{margin-top:7px}
.nb-route{margin-top:auto;padding-top:16px;border-top:3px solid var(--k)}
.nb-route b{display:block;font-size:var(--t-mini);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.nb-noted{margin-top:14px;font-size:var(--t-mini);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}

/* ---------- 6. hero, полки главной ---------- */
.nb-hero{overflow:hidden;background:var(--cell);aspect-ratio:8/3;border:3px solid var(--ink)}
.nb-hero img{width:100%;height:100%;object-fit:cover}
.nb-hero-mark{
  width:min(280px, 64vw);
  aspect-ratio:1;
  margin-inline:auto;
  background:#1c1c1c;
}
.nb-hero + h1{margin-top:22px}
.nb-hero-mark + h1{margin-top:28px}
.nb-shelf{border-top:8px solid var(--k);padding-top:18px;margin-top:34px}
.nb-shelf h2{margin-top:6px}
.nb-run{margin-top:14px;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(1.3rem,3vw,2.1rem);line-height:1.3}
.nb-run a{text-decoration:none;border-bottom:3px solid var(--k)}
.nb-run span{color:var(--dim)}
.nb-said{margin-top:12px;display:grid;gap:6px;grid-template-columns:minmax(0,1fr)}
@media (min-width:720px){.nb-said{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nb-said li{font-size:.95rem;color:var(--dim)}

/* ---------- 7. шапка с бургером ---------- */
.nb-top{background:var(--paper);border-bottom:3px solid var(--ink);padding:13px var(--pad);display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.nb-logo{font-family:"Instrument Serif",Georgia,serif;font-size:1.45rem;text-decoration:none;margin-right:auto}
.nb-burger{display:none;border:3px solid var(--ink);padding:5px 13px;font-size:.79rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.nb-nav{display:flex;flex-wrap:wrap;gap:9px 18px;width:100%}
.nb-nav a{font-weight:600;text-decoration:none;font-size:.93rem}
.nb-nav a[aria-current="page"]{background:var(--ink);color:var(--paper);padding:2px 8px}
.nb-js .nb-burger{display:block}
.nb-js .nb-nav{display:none}
.nb-js .nb-nav.is-open{display:flex;flex-direction:column;gap:12px}
@media (min-width:800px){
  .nb-nav{width:auto;flex-wrap:nowrap}
  .nb-js .nb-nav{display:flex;flex-direction:row}
  .nb-js .nb-burger{display:none}
}

/* ---------- 8. служебное ---------- */
.nb-lede{font-size:1.18rem;color:var(--dim);max-width:56ch}
.nb-link{text-decoration:none;border-bottom:3px solid var(--ink)}
.nb-fine{border-top:3px solid var(--ink);margin-top:var(--air);padding-top:18px;font-size:.94rem;color:var(--dim);max-width:70ch}
.nb-foot{border-top:3px solid var(--ink);padding:26px var(--pad)}
.nb-foot-in{width:100%;max-width:var(--max);margin:0 auto;display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:720px){.nb-foot-in{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}}
.nb-foot p{font-size:.92rem;color:var(--dim);max-width:58ch}
.nb-foot a{text-decoration:none}
.nb-prose p{max-width:64ch;margin-top:14px}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- 9. дописано для nycbox ---------- */
.nb-intro{max-width:64ch;margin-top:20px}
.nb-note{margin-top:16px;padding:12px 16px;border:3px solid var(--ink);max-width:70ch;font-size:.94rem}
.nb-onward{margin-top:26px;font-size:.95rem;color:var(--dim)}
.nb-onward a{color:var(--ink)}
.nb-close{margin-top:var(--air);max-width:64ch}
.nb-more{margin-top:26px;font-size:1.05rem}
.nb-help{border-top:3px solid var(--ink);margin-top:22px;padding-top:16px;font-size:.9rem;color:var(--dim);max-width:70ch}
.nb-foot-links li{margin-top:6px;font-size:.92rem}
.nb-form{margin-top:26px;max-width:44rem;display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:720px){.nb-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nb-field{display:flex;flex-direction:column;gap:6px}
.nb-field label{font-size:var(--t-mini);letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--dim)}
.nb-field input,.nb-field select,.nb-field textarea{border:3px solid var(--ink);background:var(--cell);padding:10px 12px;width:100%}
.nb-span2{grid-column:1 / -1}
.nb-agree{display:flex;gap:10px;align-items:flex-start;font-size:.94rem}
.nb-agree input{width:18px;height:18px;margin-top:5px}
.nb-send{border:3px solid var(--ink);background:var(--ink);color:var(--paper);padding:11px 26px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;justify-self:start}
