/* Circular CNY · integrated site navigation v1.0 · scoped to header only */
.cny-global-header {position:relative; z-index:100; background:#fcfaf6; border-bottom:1px solid #d9e1d9; box-shadow:none;}
.cny-global-header .cny-head-shell {box-sizing:border-box; width:min(calc(100% - 80px),1410px); max-width:1410px; margin:0 auto; min-height:78px; display:flex; gap:clamp(16px,2vw,34px); align-items:center; padding:0;}
.cny-global-header .cny-brand {flex:0 0 auto; min-width:168px; text-decoration:none; display:flex; flex-direction:column; align-items:flex-start; line-height:1.16;}
.cny-global-header .cny-brand strong {font-family:Arial, sans-serif; font-size:13px; letter-spacing:.12em; color:#173b45; font-weight:800; white-space:nowrap;}
.cny-global-header .cny-brand span {font:400 10px/1.4 Arial,sans-serif; letter-spacing:normal; color:#738680; margin-top:3px;}
.cny-global-header .cny-primary-nav {margin-left:auto; display:flex; gap:clamp(14px,1.9vw,28px); align-items:center; width:auto; flex:0 1 auto;}
.cny-global-header .cny-direct-link, .cny-global-header .cny-nav-trigger {box-sizing:border-box; display:flex; align-items:center; gap:7px; border:0; border-bottom:2px solid transparent; padding:27px 0 25px; background:none; color:#355b5c; font:700 13px/1.1 Arial,sans-serif; letter-spacing:0; text-decoration:none; cursor:pointer; white-space:nowrap;}
.cny-global-header .cny-direct-link:hover, .cny-global-header .cny-nav-trigger:hover, .cny-global-header .cny-current, .cny-global-header .cny-nav-group[open] .cny-nav-trigger {color:#805e28; border-bottom-color:#b68e45;}
.cny-global-header .cny-nav-group {position:relative; min-width:0;}
.cny-global-header .cny-nav-trigger {list-style:none;}
.cny-global-header .cny-nav-trigger::-webkit-details-marker {display:none;}
.cny-global-header .cny-chevron {display:inline-block; font-size:16px; line-height:8px; color:#5e8273; transform-origin:center; transition:transform .15s ease;}
.cny-global-header .cny-nav-group[open] .cny-chevron {transform:rotate(180deg);}
.cny-global-header .cny-popover {box-sizing:border-box; position:absolute; z-index:110; left:-22px; top:calc(100% + 2px); min-width:264px; max-width:min(340px,calc(100vw - 32px)); padding:12px; display:flex; flex-direction:column; background:#fcfaf6; border:1px solid #d9e3d9; box-shadow:0 18px 40px #0d30252b; border-radius:12px; gap:2px;}
.cny-global-header .cny-popover a {font:600 13px/1.35 Arial,sans-serif; text-decoration:none; white-space:normal; color:#204938; padding:11px 12px; border-radius:7px;}
.cny-global-header .cny-popover a:hover, .cny-global-header .cny-popover a:focus-visible, .cny-global-header .cny-popover a[aria-current=page] {background:#e6f0e7; color:#123a2e;}
.cny-global-header .cny-primary-cta {flex:0 0 auto; min-height:43px; box-sizing:border-box; padding:12px 20px; border-radius:28px; color:white; background:#164636; text-decoration:none; font:750 12px/1.3 Arial,sans-serif; white-space:nowrap; display:flex; gap:13px; align-items:center;}
.cny-global-header .cny-primary-cta:hover, .cny-global-header .cny-primary-cta:focus-visible {background:#276447; color:white;}
.cny-global-header .cny-menu-toggle {box-sizing:border-box; display:none; flex:0 0 auto; align-items:center; justify-content:center; gap:7px; margin-left:auto; font:700 14px/1.2 Arial,sans-serif; color:#164636; background:#fcfaf6; padding:11px 16px; border:1px solid #b7cfc1; border-radius:9px; cursor:pointer;}
.cny-global-header .cny-mobile-menu {box-sizing:border-box; width:100%; background:#f6faf5; border-top:1px solid #d9e2d9; padding:18px max(22px,calc((100% - 1410px)/2)); max-height:min(75vh,720px); overflow-y:auto; overscroll-behavior:contain;}
.cny-global-header .cny-mobile-menu[hidden] {display:none !important;}
.cny-global-header .cny-mobile-menu> a, .cny-global-header .cny-mobile-menu .cny-mobile-group>a {display:block; font:600 14px/1.4 Arial,sans-serif; color:#245341; padding:12px 8px; text-decoration:none; border:0; border-radius:5px;}
.cny-global-header .cny-mobile-menu a:hover, .cny-global-header .cny-mobile-menu a:focus-visible, .cny-global-header .cny-mobile-menu a[aria-current=page] {background:#e4eee5; color:#153d30;}
.cny-global-header .cny-mobile-group {border-top:1px solid #d9e5db; margin-top:10px; padding:12px 0 2px;}
.cny-global-header .cny-mobile-heading {color:#956c2d; margin:0 0 3px 8px; text-transform:uppercase; font:800 10px/1.5 Arial,sans-serif; letter-spacing:.13em;}
.cny-global-header a:focus-visible,.cny-global-header summary:focus-visible,.cny-global-header button:focus-visible {outline:3px solid #997337; outline-offset:4px;}
@media (max-width:1230px) {
  .cny-global-header .cny-head-shell {min-height:70px; width:calc(100% - 52px);}
  .cny-global-header .cny-primary-nav, .cny-global-header .cny-primary-cta {display:none !important;}
  .cny-global-header .cny-menu-toggle {display:flex !important;}
}
@media (min-width:1231px) {
  .cny-global-header .cny-mobile-menu, .cny-global-header .cny-menu-toggle {display:none !important;}
}
@media (max-width:550px) {
  .cny-global-header .cny-head-shell {min-height:64px; width:calc(100% - 34px);}
  .cny-global-header .cny-brand {min-width:0;}
  .cny-global-header .cny-brand strong {font-size:11px;}
  .cny-global-header .cny-brand span {font-size:9px;}
  .cny-global-header .cny-menu-toggle {padding:10px 13px;}
  .cny-global-header .cny-mobile-menu {padding:12px 17px 22px;}
}
@media (prefers-reduced-motion:reduce) {.cny-global-header .cny-chevron{transition:none}}

/* Approved October 8 identity, displayed from its unchanged original asset board.
   Viewport: x=125, y=155, width=1200, height=180 of the 1448x1086 source.
   The text remains visible until the image loads and in forced colors; no generated replacement artwork. */
.cny-global-header .cny-brand.cny-logo-ready {
  position:relative;
  width:clamp(170px,24vw,260px);
  min-width:0;
  height:auto;
  aspect-ratio:20 / 3;
  background-image:url('../assets/brand/circular-cny-approved-board.png');
  background-repeat:no-repeat;
  background-size:120.6666667% 603.3333333%;
  background-position:50.4032258% 17.1081678%;
}
.cny-global-header .cny-brand.cny-logo-ready strong,
.cny-global-header .cny-brand.cny-logo-ready span {
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
@media (forced-colors:active) {
  .cny-global-header .cny-brand.cny-logo-ready {background-image:none; aspect-ratio:auto;}
  .cny-global-header .cny-brand.cny-logo-ready strong,
  .cny-global-header .cny-brand.cny-logo-ready span {
    position:static; width:auto; height:auto; overflow:visible; clip-path:none;
  }
}

