/* Fluid, full-screen treatment for the seven national service entrances.
   Each service retains its own layout and interaction model. */
.ns-page {
  --fss-gutter: clamp(20px, 3.8vw, 88px);
  overflow-x: clip;
}
.ns-page .csd-shell,
.ns-page .csd-shell.ns-header-inner {
  width: calc(100% - var(--fss-gutter) * 2);
  max-width: none;
  margin-inline: auto;
}
.ns-page .ns-promo .city-promo .csd-shell {
  width: min(1600px, calc(100% - var(--fss-gutter) * 2));
}
.ns-page :is(h1, h2) { text-wrap: balance; }
.ns-page h1 {
  max-width: 18ch;
  font-size: clamp(40px, 4.7vw, 86px);
  line-height: 1.09;
}
.ns-page h2 { font-size: clamp(32px, 3.4vw, 65px); }
.ns-page .ns-lead { max-width: 42em; font-size: clamp(17px, 1.08vw, 21px); }
.ns-page .ns-head-split { gap: clamp(35px, 5vw, 105px); }
.ns-page :is(.ns-rg-hero, .ns-ac-hero, .ns-pm-hero, .ns-ch-hero, .ns-cn-hero, .ns-cl-hero, .ns-ex-hero) {
  min-height: min(880px, calc(100svh - 136px));
  padding-block: clamp(60px, 6vw, 110px);
}
.ns-page :is(.ns-rg-hero, .ns-pm-hero, .ns-ch-hero, .ns-cn-hero, .ns-cl-hero, .ns-ex-hero) {
  display: flex;
  align-items: center;
}
.ns-register .ns-rg-hero-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(45px, 5vw, 110px); }
.ns-register .ns-rg-visual { padding: 0; border: 0; border-radius: 0; }
.ns-register .ns-rg-visual img { height: clamp(520px, 44vw, 790px); border-radius: 0; }
.ns-register .ns-rg-float { right: 0; bottom: 0; }
.ns-accounting .ns-ac-title { grid-template-columns: minmax(0, 1fr) minmax(350px, .6fr); }
.ns-accounting .ns-ac-board { margin-top: clamp(38px, 4vw, 72px); border-radius: 0; }
.ns-accounting .ns-ac-board img { height: clamp(470px, 36vw, 700px); border-radius: 0; }
.ns-accounting .ns-ac-month { padding: clamp(35px, 3.5vw, 64px); }
.ns-permit .ns-pm-hero,
.ns-change .ns-ch-hero,
.ns-cancel .ns-cn-hero,
.ns-cleanup .ns-cl-hero,
.ns-export .ns-ex-hero { width: 100%; }
.ns-page .ns-promo img { border-radius: 0; }
.ns-page .csd-pager { justify-content: flex-start; }

@media (max-width: 1100px) {
  .ns-page :is(.ns-rg-hero, .ns-ac-hero, .ns-pm-hero, .ns-ch-hero, .ns-cn-hero, .ns-cl-hero, .ns-ex-hero) {
    min-height: 0;
  }
  .ns-register .ns-rg-hero-grid { grid-template-columns: 1fr; }
  .ns-accounting .ns-ac-title { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .ns-page { --fss-gutter: 18px; }
  .ns-page h1 { font-size: clamp(32px, 8.5vw, 42px); }
  .ns-page h2 { font-size: clamp(28px, 7vw, 36px); }
  .ns-page .ns-lead { font-size: 16px; }
  .ns-page :is(.ns-rg-hero, .ns-ac-hero, .ns-pm-hero, .ns-ch-hero, .ns-cn-hero, .ns-cl-hero, .ns-ex-hero) {
    padding-block: 42px 58px;
  }
  .ns-register .ns-rg-visual img,
  .ns-accounting .ns-ac-board img { height: 340px; }
  .ns-page .ns-promo .city-promo .csd-shell { width: 100%; }
  .ns-page .ns-promo img { border-radius: 0; }
}

/* Accounting first-screen hierarchy 20260925 */
@media(min-width:1101px){
  .ns-accounting .ns-ac-hero{min-height:0;padding:58px 0 64px}
  .ns-accounting .ns-ac-hero>.csd-shell{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(42px,4vw,82px);align-items:center}
  .ns-accounting .ns-ac-title{display:block}
  .ns-accounting .ns-ac-title .ns-lead{margin-top:28px;max-width:690px}
  .ns-accounting .ns-ac-board{margin-top:0;grid-template-columns:minmax(0,1fr) 210px;border-radius:0;box-shadow:none}
  .ns-accounting .ns-ac-board figure{padding:10px}
  .ns-accounting .ns-ac-board img{height:455px;min-height:0;object-fit:cover;border-radius:0}
  .ns-accounting .ns-ac-month{padding:23px}
  .ns-accounting .ns-ac-month>b{font-size:28px}
  .ns-accounting .ns-ac-month li{padding:11px 0}
}
@media(max-width:1100px){
  .ns-accounting .ns-ac-title{display:block}
  .ns-accounting .ns-ac-title .ns-lead{margin-top:18px}
  .ns-accounting .ns-ac-board{margin-top:26px}
}
@media(max-width:680px){
  .ns-accounting .ns-ac-hero{padding:30px 0 40px}
  .ns-accounting .ns-ac-board img{height:225px;object-fit:cover}
  .ns-accounting .ns-ac-month{padding:18px}
  .ns-accounting .ns-ac-month>b{margin:4px 0 12px;font-size:27px}
  .ns-accounting .ns-ac-month ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
  .ns-accounting .ns-ac-month li{padding:7px 0;font-size:13px}
}
