/* ConstruBIM Newsroom — front page (index.html). Pairs with js/news-home.js and js/sculpture.js.
   Idea: a night "studio" where a parametric tower draws itself (one floor per story), then the paper:
   editorial serif, hairlines and drawing-sheet title blocks, images that wipe open as you read. */
:root{
  --nr-ink:#0e1116; --nr-paper:#faf9f6; --nr-paper2:#f2f0ea; --nr-line:#e2dfd6; --nr-mute:#6b6f76;
  --nr-accent:#0066cc; --nr-cyan:#2ed8ff; --nr-red:#d9482b; --nr-night:#06080c;
  --nr-serif:'Instrument Serif','Iowan Old Style','Palatino Linotype',Georgia,serif;
  --nr-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --nr-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --nr-ease:cubic-bezier(.2,.7,.1,1);
}
html:lang(zh){ --nr-serif:'Noto Serif SC','Songti SC','STSong',serif; }
html:lang(ja){ --nr-serif:'Noto Serif JP','Hiragino Mincho ProN','Yu Mincho',serif; }
html:lang(ko){ --nr-serif:'Noto Serif KR','AppleMyungjo','Nanum Myeongjo',serif; }
html:lang(ar){ --nr-serif:'Amiri','Noto Naskh Arabic','Geeza Pro',serif; }
[lang|="en"]{ --nr-serif:'Instrument Serif','Iowan Old Style','Palatino Linotype',Georgia,serif; }

.nr{ font-family:var(--nr-sans); color:var(--nr-ink); background:var(--nr-paper); }
.nr a{ color:inherit; text-decoration:none; }

/* ───────────── Hero: the studio ───────────── */
.nr-hero{ position:relative; isolation:isolate; overflow:hidden; color:#fff;
  min-height:calc(100svh - var(--cb-nav-h,74px)); min-height:max(640px, calc(100svh - var(--cb-nav-h,74px)));
  background:radial-gradient(1100px 760px at 68% 62%, #11203a 0%, #0a1220 38%, var(--nr-night) 72%); }
.nr-hero::before{ content:""; position:absolute; inset:0; z-index:-1;
  background-image:linear-gradient(rgba(120,170,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(120,170,255,.07) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 66% 58%,#000 20%,transparent 78%); mask-image:radial-gradient(ellipse 70% 80% at 66% 58%,#000 20%,transparent 78%); }
.nr-hero::after{ content:""; position:absolute; inset:auto 0 0; height:140px; z-index:0; background:linear-gradient(transparent, rgba(6,8,12,.7)); pointer-events:none; }
#nr-sculpture{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.nr-hero-in{ position:relative; z-index:1; max-width:1320px; margin:0 auto; padding:clamp(48px,9vh,112px) 28px 150px; pointer-events:none; }
.nr-hero-in > *{ pointer-events:auto; }
.nr-meta{ display:flex; align-items:center; gap:12px; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.62); margin:0 0 26px; }
.nr-meta .nr-dot{ width:7px; height:7px; border-radius:50%; background:var(--nr-cyan); box-shadow:0 0 0 0 rgba(46,216,255,.6); animation:nrPulse 2.4s infinite; }
@keyframes nrPulse{ 0%{box-shadow:0 0 0 0 rgba(46,216,255,.55)} 70%{box-shadow:0 0 0 12px rgba(46,216,255,0)} 100%{box-shadow:0 0 0 0 rgba(46,216,255,0)} }
.nr-name{ font-family:var(--nr-serif); font-weight:400; font-size:clamp(58px,9.4vw,150px); line-height:.9; letter-spacing:-.025em; margin:0; max-width:9.5ch; text-wrap:balance;
  animation:nrRise 1.4s var(--nr-ease) both; }
html:lang(zh) .nr-name, html:lang(ja) .nr-name, html:lang(ko) .nr-name{ max-width:7em; letter-spacing:0; line-height:1.08; font-size:clamp(48px,7.4vw,112px); }
html:lang(ar) .nr-name{ line-height:1.2; letter-spacing:0; max-width:8em; }
@keyframes nrRise{ from{ opacity:0; transform:translateY(28px); filter:blur(8px); } to{ opacity:1; transform:none; filter:none; } }
.nr-tag{ font-size:clamp(15px,1.4vw,18px); line-height:1.55; color:rgba(255,255,255,.72); max-width:44ch; margin:26px 0 0; animation:nrRise 1.4s .15s var(--nr-ease) both; }
.nr-stats{ display:flex; gap:clamp(22px,4vw,54px); margin:34px 0 0; animation:nrRise 1.4s .3s var(--nr-ease) both; }
.nr-stat b{ display:block; font-family:var(--nr-serif); font-weight:400; font-size:clamp(38px,4vw,56px); line-height:1; letter-spacing:-.02em; }
.nr-stat span{ display:block; margin-top:6px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.nr-langs{ display:flex; flex-wrap:wrap; gap:6px; margin:36px 0 0; animation:nrRise 1.4s .45s var(--nr-ease) both; }
.nr-langs button{ font:500 13px/1 var(--nr-sans); color:rgba(255,255,255,.82); background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14);
  padding:9px 13px; border-radius:999px; cursor:pointer; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); transition:all .25s; }
.nr-langs button:hover{ border-color:rgba(46,216,255,.6); color:#fff; }
.nr-langs button.on{ background:#fff; color:var(--nr-night); border-color:#fff; }
.nr-floors{ position:absolute; z-index:1; inset-inline-end:28px; bottom:30px; margin:0; max-width:30ch; text-align:end;
  font-family:var(--nr-serif); font-style:italic; font-size:16px; line-height:1.35; color:rgba(255,255,255,.62); }
.nr-floors b{ font-style:normal; color:var(--nr-cyan); }
.nr-scroll{ position:absolute; z-index:1; inset-inline-start:28px; bottom:30px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.55) !important; display:flex; align-items:center; gap:12px; }
.nr-scroll::before{ content:""; width:1px; height:44px; background:linear-gradient(var(--nr-cyan),transparent); animation:nrDrop 2.2s var(--nr-ease) infinite; transform-origin:top; }
@keyframes nrDrop{ 0%{ transform:scaleY(0); } 50%{ transform:scaleY(1); } 100%{ transform:scaleY(1); opacity:0; } }

/* Language: one quiet globe button (hero corner + section bar) */
.nr-lang{ position:relative; }
.nr-lang-btn{ display:inline-flex; align-items:center; gap:6px; font:600 11.5px/1 var(--nr-sans); letter-spacing:.08em; color:var(--nr-ink); background:transparent;
  border:1px solid var(--nr-line); border-radius:999px; padding:7px 10px 7px 8px; cursor:pointer; transition:border-color .2s, background .2s; }
.nr-lang-btn:hover{ border-color:var(--nr-ink); }
.nr-lang.dark .nr-lang-btn{ color:rgba(255,255,255,.8); border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.04); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.nr-lang.dark .nr-lang-btn:hover{ border-color:rgba(46,216,255,.6); color:#fff; }
.nr-lang-menu{ position:absolute; z-index:60; inset-inline-end:0; top:calc(100% + 8px); list-style:none; margin:0; padding:6px; min-width:150px;
  background:rgba(250,249,246,.97); border:1px solid var(--nr-line); border-radius:14px; box-shadow:0 18px 50px rgba(0,0,0,.18); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.nr-lang-menu button{ display:block; width:100%; text-align:start; font:500 14px var(--nr-sans); color:var(--nr-ink); background:none; border:0; border-radius:9px; padding:9px 12px; cursor:pointer; }
.nr-lang-menu button:hover{ background:var(--nr-paper2); }
.nr-lang-menu button.on{ background:var(--nr-ink); color:var(--nr-paper); }
.nr-lang-hero{ position:absolute; z-index:3; inset-inline-end:28px; top:24px; }
@media (max-width:640px){ .nr-lang-hero{ inset-inline-end:16px; top:16px; } }

/* ───────────── Sticky section bar ───────────── */
.nr-bar{ position:sticky; top:var(--cb-nav-h,74px); z-index:40; background:rgba(250,249,246,.86);
  backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px); border-bottom:1px solid var(--nr-line); }
.nr-bar-in{ max-width:1320px; margin:0 auto; padding:10px 28px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.nr-tabs{ display:flex; gap:2px; overflow-x:auto; scrollbar-width:none; flex:1 1 auto; min-width:0; }
.nr-tabs::-webkit-scrollbar{ display:none; }
.nr-tabs a{ white-space:nowrap; font-size:14px; font-weight:500; padding:8px 13px; border-radius:999px; color:var(--nr-ink); transition:background .2s,color .2s; }
.nr-tabs a:hover{ background:var(--nr-paper2); }
.nr-tabs a.on{ background:var(--nr-ink); color:var(--nr-paper); }
.nr-tabs a.comp{ color:var(--nr-red); }
.nr-tabs a.comp.on{ background:var(--nr-red); color:#fff; }
.nr-filters{ display:flex; gap:8px; align-items:center; flex:0 0 auto; }
.nr-filters select{ max-width:150px; text-overflow:ellipsis; }
.nr-filters select,.nr-filters input{ font:13.5px var(--nr-sans); color:var(--nr-ink); background:transparent; border:1px solid var(--nr-line); border-radius:999px; padding:8px 14px; min-width:0; }
.nr-filters input{ width:170px; }
.nr-filters select:focus,.nr-filters input:focus{ outline:none; border-color:var(--nr-ink); background:#fff; }

/* ───────────── Paper ───────────── */
.nr-paper{ background:var(--nr-paper); overflow-x:clip; }
.nr-wrap{ max-width:1320px; margin:0 auto; padding:52px 28px 90px; }
.nr.loading #nh-body{ opacity:.4; transition:opacity .2s; }
.nr-kicker{ font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--nr-accent); margin:0 0 12px; }
html:lang(zh) .nr-kicker,html:lang(ja) .nr-kicker,html:lang(ko) .nr-kicker,html:lang(ar) .nr-kicker{ letter-spacing:.02em; }
.nr-h{ font-family:var(--nr-serif); font-weight:400; letter-spacing:-.015em; margin:0; color:var(--nr-ink); text-wrap:balance; }
.nr-h a{ background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat; transition:background-size .5s var(--nr-ease); }
.nr-h a:hover, a:hover > .nr-h, .nr-card a:hover .nr-h{ background-size:100% 1px; }
.nr-card a:hover .nr-h{ background:none; }
.nr-dek{ font-size:16px; line-height:1.6; color:#3b3f46; margin:14px 0 0; }
.nr-by{ font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--nr-mute); margin-top:16px; }
.nr-img{ display:block; overflow:hidden; background:var(--nr-paper2); border-radius:2px; }
.nr-img img{ width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.001); transition:transform 1.4s var(--nr-ease); }
a:hover .nr-img img, .nr-img:hover img{ transform:scale(1.045); }

/* Front: lead + schedule, then a row of three */
.nr-front{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:32px; }
.nr-lead{ grid-column:1 / span 8; }
.nr-lead .nr-img{ aspect-ratio:16/10; }
.nr-lead-card{ position:relative; background:var(--nr-paper); width:min(660px,86%); margin:-110px 0 0; margin-inline-start:auto; padding:30px 32px 6px; }
.nr-lead-card::before{ content:""; position:absolute; inset:0 0 auto; height:2px; background:var(--nr-ink); transform-origin:left; }
[dir=rtl] .nr-lead-card::before{ transform-origin:right; }
.nr-h1{ font-size:clamp(34px,3.7vw,60px); line-height:1.02; }
.nr-read{ display:inline-flex; align-items:center; gap:10px; margin-top:20px; font-size:14px; font-weight:600; color:var(--nr-ink); }
.nr-read::after{ content:"→"; transition:transform .3s var(--nr-ease); }
[dir=rtl] .nr-read::after{ content:"←"; }
.nr-read:hover::after{ transform:translateX(5px); }
[dir=rtl] .nr-read:hover::after{ transform:translateX(-5px); }

.nr-sched{ grid-column:9 / span 4; border-top:2px solid var(--nr-ink); padding-top:14px; }
.nr-sched-h{ display:flex; justify-content:space-between; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--nr-mute); margin:0 0 6px; }
.nr-sched ol{ list-style:none; margin:0; padding:0; counter-reset:s; }
.nr-sched li{ border-bottom:1px solid var(--nr-line); }
.nr-sched li a{ display:grid; grid-template-columns:44px 1fr; gap:6px 12px; padding:15px 0; }
.nr-sched li a::before{ counter-increment:s; content:counter(s, decimal-leading-zero); grid-row:span 2; font-family:var(--nr-serif); font-size:30px; line-height:.95; color:#c9c5ba; transition:color .3s; }
.nr-sched li a:hover::before{ color:var(--nr-accent); }
.nr-sched-t{ font-size:15.5px; font-weight:600; line-height:1.3; letter-spacing:-.005em; }
.nr-sched-m{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--nr-mute); }
.nr-sched li a:hover .nr-sched-t{ color:var(--nr-accent); }

.nr-row3{ grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:64px; padding-top:28px; border-top:1px solid var(--nr-ink); }
.nr-card .nr-img{ aspect-ratio:3/2; margin-bottom:18px; }
.nr-h2{ font-size:clamp(23px,2vw,29px); line-height:1.08; }
.nr-card .nr-dek{ font-size:14.5px; line-height:1.55; margin-top:10px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* Section title block (drawing sheet) */
.nr-sh{ display:grid; grid-template-columns:auto auto 1fr auto auto; align-items:end; gap:18px; margin:92px 0 30px; padding-top:14px; border-top:1px solid var(--nr-ink); }
.nr-sh-no{ font-family:var(--nr-mono); font-size:12px; color:var(--nr-mute); padding-bottom:9px; }
.nr-sh h2{ font-family:var(--nr-serif); font-weight:400; font-size:clamp(34px,3.6vw,52px); line-height:1; letter-spacing:-.02em; margin:0; }
.nr-sh-rule{ height:10px; align-self:center; margin-top:14px; border-bottom:1px solid var(--nr-line);
  background:repeating-linear-gradient(90deg,var(--nr-line) 0 1px,transparent 1px 22px) 0 100%/100% 7px no-repeat; }
.nr-sh-n{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--nr-mute); padding-bottom:9px; white-space:nowrap; }
.nr-sh-all{ font-size:13.5px; font-weight:600; color:var(--nr-accent) !important; padding-bottom:7px; white-space:nowrap; }
.nr-sec{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:32px; }
.nr-sec > .nr-card{ grid-column:1 / span 7; }
.nr-sec > .nr-card .nr-img{ aspect-ratio:16/9; }
.nr-sec > .nr-card .nr-h2{ font-size:clamp(28px,2.7vw,40px); }
.nr-sec-list{ grid-column:8 / span 5; list-style:none; margin:0; padding:0; border-top:1px solid var(--nr-line); }
.nr-sec-list li{ border-bottom:1px solid var(--nr-line); }
.nr-sec-list a{ display:grid; grid-template-columns:96px 1fr; gap:16px; padding:16px 0; align-items:start; }
.nr-sec-list .nr-img{ aspect-ratio:1; }
.nr-sec-list .nr-h3{ font-size:19px; line-height:1.18; }
.nr-sec-list a:hover .nr-h3{ color:var(--nr-accent); }

/* Competitions: the pin-up wall (full bleed, night) */
.nr-comp{ margin:96px calc(50% - 50vw) 0; padding:70px max(28px, calc(50vw - 632px)) 80px; background:#0a0d13; color:#fff; position:relative; isolation:isolate; }
.nr-comp::before{ content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(rgba(120,170,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(120,170,255,.06) 1px,transparent 1px); background-size:56px 56px; }
.nr-comp .nr-sh{ margin-top:0; border-top-color:rgba(255,255,255,.8); }
.nr-comp .nr-sh h2{ color:#fff; }
.nr-comp .nr-sh-no,.nr-comp .nr-sh-n{ color:rgba(255,255,255,.5); }
.nr-comp .nr-sh-rule{ border-bottom-color:rgba(255,255,255,.14); background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 1px,transparent 1px 22px); }
.nr-comp .nr-sh-all{ color:var(--nr-cyan) !important; }
.nr-cgrid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.nr-cgrid.big{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.nr-cc a{ display:flex; flex-direction:column; height:100%; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.02); transition:border-color .3s, transform .5s var(--nr-ease), background .3s; }
.nr-cc a:hover{ border-color:rgba(46,216,255,.55); transform:translateY(-4px); background:rgba(46,216,255,.04); }
.nr-cc .nr-img{ aspect-ratio:16/9; border-radius:0; filter:saturate(.75); }
.nr-cc-b{ padding:18px 20px 22px; display:flex; flex-direction:column; flex:1; }
.nr-cc-days{ display:flex; align-items:baseline; gap:10px; }
.nr-cc-days b{ font-family:var(--nr-serif); font-weight:400; font-size:64px; line-height:.9; color:var(--nr-cyan); letter-spacing:-.03em; }
.nr-cc-days.soon b{ color:#ff6b4a; }
.nr-cc-days.closed b{ color:rgba(255,255,255,.35); font-size:30px; }
.nr-cc-days span{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.nr-cc-dl{ font-family:var(--nr-mono); font-size:12px; color:rgba(255,255,255,.6); margin:10px 0 14px; }
.nr-cc .nr-h{ color:#fff; font-size:23px; line-height:1.12; }
.nr-cc-meta{ margin-top:auto; padding-top:16px; font-size:13px; line-height:1.45; color:rgba(255,255,255,.62); }
.nr-cc-meta b{ color:#fff; font-weight:600; }
.nr-comp .nr-kicker{ color:var(--nr-cyan); }

/* More stories */
.nr-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 28px; }
.nr-grid .nr-h2{ font-size:22px; }
.nr-more{ text-align:center; margin-top:48px; }
.nr-more button{ font:600 14px var(--nr-sans); color:var(--nr-ink); background:transparent; border:1px solid var(--nr-ink); border-radius:999px; padding:13px 26px; cursor:pointer; transition:all .25s; }
.nr-more button:hover{ background:var(--nr-ink); color:var(--nr-paper); }
.nr-archive{ display:block; text-align:center; margin:84px 0 0; font-family:var(--nr-serif); font-size:clamp(28px,3vw,44px); color:var(--nr-ink) !important; }
.nr-archive:hover{ color:var(--nr-accent) !important; }
.nr-empty{ text-align:center; padding:80px 0; font-family:var(--nr-serif); font-size:28px; color:var(--nr-mute); }
.nr-empty button{ display:block; margin:18px auto 0; font:600 14px var(--nr-sans); color:var(--nr-accent); background:none; border:0; cursor:pointer; }

/* Skeleton */
.nr-skel{ display:grid; grid-template-columns:2fr 1fr; gap:32px; }
.nr-skel div{ height:420px; background:linear-gradient(90deg,var(--nr-paper2),#ebe8e0,var(--nr-paper2)); background-size:200% 100%; animation:nrSk 1.4s ease-in-out infinite; }
@keyframes nrSk{ 0%{background-position:100% 0} 100%{background-position:-100% 0} }

/* From ConstruBIM */
.nr-house{ background:var(--nr-paper); border-top:1px solid var(--nr-ink); }
.nr-house-in{ max-width:1320px; margin:0 auto; padding:34px 28px 44px; display:grid; grid-template-columns:200px repeat(5,minmax(0,1fr)); gap:24px; align-items:start; }
.nr-house h2{ font-family:var(--nr-serif); font-weight:400; font-size:26px; margin:0; }
.nr-house a{ display:block; padding-top:10px; border-top:1px solid var(--nr-line); transition:border-color .3s; }
.nr-house a:hover{ border-top-color:var(--nr-accent); }
.nr-house b{ display:block; font-size:14.5px; font-weight:600; }
.nr-house span{ display:block; margin-top:4px; font-size:12.5px; line-height:1.4; color:var(--nr-mute); }

/* Reveal on scroll (added by news-home.js) */
.rv{ opacity:0; transform:translateY(22px); transition:opacity 1s var(--nr-ease), transform 1s var(--nr-ease); }
.rv.in{ opacity:1; transform:none; }
.rv .nr-img{ clip-path:inset(0 0 100% 0); transition:clip-path 1.3s var(--nr-ease) .1s; }
.rv.in .nr-img{ clip-path:inset(0 0 0 0); }
.rv .nr-lead-card::before{ transform:scaleX(0); transition:transform 1.2s var(--nr-ease) .35s; }
.rv.in .nr-lead-card::before{ transform:scaleX(1); }

/* ───────────── Responsive ───────────── */
@media (max-width:1240px){
  .nr-tabs a{ padding:8px 10px; font-size:13.5px; }
  .nr-filters select{ max-width:128px; }
  .nr-filters input{ width:130px; }
}
@media (max-width:1100px){
  .nr-cgrid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nr-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .nr-house-in{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .nr-house h2{ grid-column:1 / -1; }
}
@media (max-width:900px){
  .nr-bar-in{ flex-direction:column; align-items:stretch; gap:8px; padding:8px 16px; }
  .nr-filters input{ width:auto; flex:1; }
  .nr-filters select{ flex:0 1 38%; }
  .nr-lead,.nr-sched,.nr-sec > .nr-card,.nr-sec-list{ grid-column:1 / -1; }
  .nr-sched{ margin-top:48px; }
  .nr-lead-card{ width:auto; margin:-54px 14px 0; padding:22px 20px 4px; }
  .nr-row3{ grid-template-columns:1fr 1fr; }
  .nr-row3 > :nth-child(3){ display:none; }
  .nr-sec-list{ margin-top:26px; }
  .nr-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nr-sh{ grid-template-columns:auto 1fr auto; }
  .nr-sh-rule,.nr-sh-n{ display:none; }
}
@media (max-width:640px){
  .nr-hero{ min-height:max(600px, calc(100svh - var(--cb-nav-h,74px))); }
  .nr-hero-in{ padding:36px 18px 150px; }
  #nr-sculpture{ opacity:.55; }
  .nr-meta{ letter-spacing:.12em; }
  .nr-meta > :nth-child(3), #nr-newsroom{ display:none; }
  .nr-stats{ gap:22px; }
  .nr-floors{ inset-inline-end:18px; bottom:24px; font-size:14px; max-width:22ch; }
  .nr-scroll{ inset-inline-start:18px; bottom:24px; }
  .nr-wrap{ padding:34px 16px 70px; }
  .nr-row3{ grid-template-columns:1fr; margin-top:44px; }
  .nr-row3 > :nth-child(3){ display:block; }
  .nr-cgrid,.nr-cgrid.big,.nr-grid{ grid-template-columns:1fr; }
  .nr-comp{ padding:54px 16px 60px; }
  .nr-sh{ margin-top:70px; }
  .nr-sec-list a{ grid-template-columns:78px 1fr; }
  .nr-house-in{ grid-template-columns:1fr 1fr; padding:30px 16px 40px; }
  .nr-skel{ grid-template-columns:1fr; } .nr-skel div:last-child{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .rv,.rv .nr-img,.rv .nr-lead-card::before{ opacity:1; transform:none; clip-path:none; transition:none; }
  .nr-name,.nr-tag,.nr-stats,.nr-langs{ animation:none; }
  .nr-meta .nr-dot,.nr-scroll::before{ animation:none; }
}

/* ───────────── Competitions board (competitions.html) ───────────── */
.nr-bhero{ min-height:auto; }
.nr-bhero-in{ position:relative; z-index:1; max-width:1320px; margin:0 auto; padding:clamp(48px,8vh,96px) 28px 64px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); gap:32px; align-items:center; }
.nr-bname{ font-size:clamp(52px,7.4vw,118px); max-width:8ch; }
.nr-globe-wrap{ position:relative; aspect-ratio:1; width:100%; max-width:560px; justify-self:end; }
#cb-globe{ width:100%; height:100%; display:block; }
.nr-gtip{ position:absolute; pointer-events:none; font:600 12px var(--nr-sans); color:#fff; background:rgba(6,8,12,.85); border:1px solid rgba(46,216,255,.5); border-radius:8px; padding:5px 9px; white-space:nowrap; }
.nr-tl{ margin:0 0 48px; }
.nr-tl-h{ display:flex; justify-content:space-between; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--nr-mute); margin:0 0 12px; }
.nr-tl-track{ position:relative; height:64px; border-top:1px solid var(--nr-ink);
  background:repeating-linear-gradient(90deg,var(--nr-line) 0 1px,transparent 1px calc(100%/90)) 0 0/100% 8px no-repeat; }
.nr-tl-m{ position:absolute; top:12px; font:12px var(--nr-mono); color:var(--nr-mute); transform:translateX(0); }
.nr-tl-dot{ position:absolute; top:-7px; width:13px; height:13px; margin-inline-start:-6px; border-radius:50%; background:var(--nr-accent); box-shadow:0 0 0 4px rgba(0,102,204,.14); transition:transform .2s; }
.nr-tl-dot.soon{ background:var(--nr-red); box-shadow:0 0 0 4px rgba(217,72,43,.16); }
.nr-tl-dot span{ position:absolute; top:38px; inset-inline-start:50%; transform:translateX(-50%); font:11px var(--nr-mono); color:var(--nr-ink); white-space:nowrap; opacity:0; transition:opacity .2s; }
.nr-tl-dot:hover{ transform:scale(1.35); } .nr-tl-dot:hover span{ opacity:1; }
.nr-tl-now{ position:absolute; top:-12px; inset-inline-start:0; width:2px; height:22px; background:var(--nr-ink); }
.nr-bgrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.nr-bc{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--nr-line); transition:border-color .3s, box-shadow .4s var(--nr-ease), transform .5s var(--nr-ease); }
.nr-bc:hover{ border-color:var(--nr-ink); box-shadow:0 22px 60px -30px rgba(0,0,0,.35); transform:translateY(-3px); }
.nr-bc .nr-img{ aspect-ratio:16/9; border-radius:0; }
.nr-bc-b{ padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.nr-bc-days{ display:flex; align-items:baseline; gap:10px; }
.nr-bc-days b{ font-family:var(--nr-serif); font-weight:400; font-size:60px; line-height:.9; letter-spacing:-.03em; color:var(--nr-accent); }
.nr-bc-days b small{ font-size:.42em; margin-inline:1px 6px; color:var(--nr-mute); }
.nr-bc-days.soon b{ color:var(--nr-red); }
.nr-bc-days.closed b{ font-size:28px; color:var(--nr-mute); }
.nr-bc-days span{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--nr-mute); }
.nr-bc-dl{ font:12px var(--nr-mono); color:var(--nr-mute); margin:8px 0 14px; }
.nr-bc .nr-h{ font-size:24px; line-height:1.1; }
.nr-bc-meta{ display:grid; grid-template-columns:max-content 1fr; gap:6px 12px; margin:16px 0 0; font-size:13.5px; line-height:1.45; }
.nr-bc-meta dt{ color:var(--nr-mute); } .nr-bc-meta dd{ margin:0; color:var(--nr-ink); }
.nr-bc-act{ display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:20px; }
.nr-bc-act button,.nr-bc-act a{ font:600 12.5px var(--nr-sans); color:var(--nr-ink); background:transparent; border:1px solid var(--nr-line); border-radius:999px; padding:8px 13px; cursor:pointer; transition:all .2s; }
.nr-bc-act button:hover,.nr-bc-act a:hover{ border-color:var(--nr-ink); }
.nr-bc-save.on{ background:var(--nr-ink); color:var(--nr-paper); border-color:var(--nr-ink); }
@media (max-width:1100px){ .nr-bgrid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px){ .nr-bhero-in{ grid-template-columns:1fr; } .nr-globe-wrap{ max-width:420px; justify-self:center; } }
@media (max-width:640px){ .nr-bgrid{ grid-template-columns:1fr; } .nr-bhero-in{ padding:36px 18px 40px; } .nr-tl-m{ font-size:10px; } }

/* ───────────── Render studio (render.html) ───────────── */
.rs-offer{ display:flex; flex-direction:column; gap:4px; margin:30px 0 0; padding-inline-start:14px; border-inline-start:2px solid var(--nr-cyan); animation:nrRise 1.4s .3s var(--nr-ease) both; }
.rs-offer b{ font-family:var(--nr-serif); font-weight:400; font-size:clamp(30px,3vw,42px); line-height:1; color:#fff; }
.rs-offer span{ font-size:13.5px; color:rgba(255,255,255,.62); max-width:40ch; }
.rs-cta{ display:inline-flex; align-items:center; gap:10px; margin-top:30px; font:600 15px var(--nr-sans); color:var(--nr-night) !important; background:#fff; border-radius:999px; padding:15px 24px; box-shadow:0 0 0 0 rgba(46,216,255,.5); transition:box-shadow .4s, transform .3s; animation:nrRise 1.4s .45s var(--nr-ease) both; }
.rs-cta::after{ content:"→"; } [dir=rtl] .rs-cta::after{ content:"←"; }
.rs-cta:hover{ box-shadow:0 0 0 8px rgba(46,216,255,.18); transform:translateY(-1px); }
.rs-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; border-top:1px solid var(--nr-ink); padding-top:28px; }
.rs-steps span{ font-family:var(--nr-serif); font-size:44px; color:#c9c5ba; }
.rs-steps h2{ font-size:28px; margin:10px 0 8px; }
.rs-steps p{ color:#3b3f46; font-size:15.5px; line-height:1.6; margin:0; }
.rs-facts{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:72px; padding-top:24px; border-top:1px solid var(--nr-line); }
.rs-facts b{ display:block; font-size:15px; margin-bottom:6px; }
.rs-facts p{ margin:0; color:var(--nr-mute); font-size:14.5px; line-height:1.55; }
@media (max-width:800px){ .rs-steps,.rs-facts{ grid-template-columns:1fr; } }

/* ───────────── Codes & regulations (codes.html) ───────────── */
.cl-filters{ flex:1 1 auto; flex-wrap:wrap; }
.cl-filters input[type=search]{ flex:1 1 220px; width:auto; }
.cl-freebox{ display:inline-flex; align-items:center; gap:7px; font-size:13.5px; white-space:nowrap; padding:0 6px; cursor:pointer; }
.cl-freebox input{ accent-color:var(--nr-ink); }
.cl-cats-row{ padding-top:0; }
.nr-tabs a i{ font-style:normal; color:var(--nr-mute); font-size:12px; margin-inline-start:2px; }
.nr-tabs a.on i{ color:rgba(255,255,255,.65); }
.cl-disclaimer{ font-size:13.5px; line-height:1.55; color:var(--nr-mute); border-inline-start:2px solid var(--nr-line); padding-inline-start:12px; margin:0 0 20px; max-width:80ch; }
.cl-country .nr-sh{ margin-top:56px; }
.cl-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; }
.cl-row{ border-top:1px solid var(--nr-line); padding:18px 0 20px; }
.cl-row-h{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 8px; }
.cl-cat,.cl-jur,.cl-acc{ font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:3px 8px; border-radius:999px; background:var(--nr-paper2); color:var(--nr-ink); }
.cl-jur{ background:transparent; border:1px solid var(--nr-line); color:var(--nr-mute); }
.cl-acc.free,.cl-acc.free-read,.cl-acc.registration{ background:#e5f4ea; color:#1d6b3a; }
.cl-acc.paid{ background:#f6eee4; color:#8a5a1a; }
.cl-row .nr-h{ font-size:22px; line-height:1.18; }
.cl-row .nr-h b{ font-family:var(--nr-sans); font-weight:700; font-size:.72em; letter-spacing:.02em; color:var(--nr-accent); margin-inline-end:4px; }
.cl-row p{ font-size:14.5px; line-height:1.55; color:#3b3f46; margin:8px 0 0; }
.cl-row dl{ display:grid; grid-template-columns:max-content 1fr; gap:3px 12px; font-size:13px; margin:10px 0 0; }
.cl-row dt{ color:var(--nr-mute); } .cl-row dd{ margin:0; }
.cl-note{ font-size:12.5px !important; color:#8a5a1a !important; }
.cl-open{ display:inline-block; margin-top:12px; font-size:13.5px; font-weight:600; color:var(--nr-accent) !important; }
@media (max-width:900px){ .cl-list{ grid-template-columns:1fr; } }
