/* Noni website. Typography scales from AZ: body .875×, section H2 1×,
   service headings .72×H3, captions .8×Body. Saved AZ tokens remain authoritative. */
.az-child-noni-site { --az-child-noni-red: var(--az-color-accent, #993c31); background: var(--az-color-surface, #fff); }
.az-child-noni { color: var(--az-color-text, #424242); font-size: .875em; }
.az-child-noni__container { width: min(calc(100% - 2 * var(--az-gutter,24px)), var(--az-container,1140px)); margin-inline: auto; }
.az-child-noni :where(section,nav) { scroll-margin-top: 40px; }
.az-child-noni .az-child-noni__heading { margin: 0 0 24px; color: var(--az-color-heading,#222); font-size: var(--az-h2-size,34px); text-align: center; }
.az-child-noni :where(p) { margin: 0 0 16px; }
.az-child-noni :where(a,button,input):focus-visible, .az-child-noni-footer a:focus-visible { outline: 3px solid var(--az-child-noni-red); outline-offset: 4px; }
.az-child-noni__welcome { display: grid; grid-template-columns: minmax(0,3.2fr) minmax(0,1fr); gap: 30px; padding-block: 30px 56px; }
.az-child-noni__welcome--links { grid-template-columns: 1fr; }
.az-child-noni__overview { display: grid; grid-template-columns: 1.25fr 1fr; gap: 30px; }
.az-child-noni__promises { text-align: center; align-self: start; }
.az-child-noni__promise { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 12px; align-items: center; margin-bottom: 18px; }
.az-child-noni__promise > img { width: 100%; height: 98px; object-fit: contain; }
.az-child-noni__promise h3 { margin: 0 0 12px; color: var(--az-color-heading,#222); font-size: calc(var(--az-h3-size,26px) * .82); }
.az-child-noni__promise p { margin: 0; }
.az-child-noni .az-child-noni__promises > h2 { margin: 12px 0 18px; color: var(--az-child-noni-red); font-size: calc(var(--az-h2-size,34px) * .95); }
.az-child-noni__overview-photo img { height: 100%; min-height: 0; object-fit: cover; }
.az-child-noni__shortcuts { display: flex; flex-direction: column; align-self: start; gap: 16px; padding: 10px; border: 1px solid var(--az-child-noni-red); }
.az-child-noni__shortcuts a { display: grid; place-items: center; min-height: 152px; padding: 20px; border: 1px solid var(--az-child-noni-red); color: var(--az-color-heading,#222); text-align: center; font-family: var(--az-font-heading,sans-serif); font-size: calc(var(--az-h3-size,26px) * 1.1); font-weight: var(--az-heading-weight,600); line-height: 1.2; transition: background .18s; }
.az-child-noni__shortcuts a:hover { background: var(--az-color-primary,#ffdf00); color: var(--az-color-heading,#222); }
.az-child-noni__story { display: grid; grid-template-columns: 1fr 2fr; align-items: stretch; }
.az-child-noni__story--text { grid-template-columns: 1fr; }
.az-child-noni__story-copy { display: flex; flex-direction: column; justify-content: center; padding: 48px 28px; text-align: center; }
.az-child-noni__story-copy .az-child-noni__heading { margin-bottom: 28px; }
.az-child-noni__story-photo img { width: 100%; height: 100%; object-fit: cover; }
.az-child-noni__clients { padding-top: 62px; }
.az-child-noni__clients > h2 { margin-bottom: 24px; }
.az-child-noni__clients-body { position: relative; min-height: 400px; display: flex; align-items: center; }
.az-child-noni__clients-photo { width: 75%; }
.az-child-noni__clients-photo img { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.az-child-noni__clients-logos { width: 27%; margin: 0 8% 0 -10%; padding: 12px; background: var(--az-color-surface,#fff); border: 2px solid var(--az-color-heading,#222); box-shadow: 0 3px 10px #0002; }
.az-child-noni__clients-logos:only-child { margin: 20px auto; width: min(450px,80%); }
.az-child-noni__services { padding-block: 60px 85px; }
.az-child-noni__service-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; }
.az-child-noni__service { margin: 0; }
.az-child-noni__service a { display: block; height: 100%; }
.az-child-noni__service h3 { display: grid; place-items: center; min-height: 176px; margin: 0; padding: 24px 10px; background: linear-gradient(#b37e24, var(--az-color-primary,#ffe000)); color: #fff; font-size: calc(var(--az-h3-size,26px) * .72); text-align: center; }
.az-child-noni__service:nth-child(even) h3 { background: linear-gradient(#89331c,#eb3800); }
.az-child-noni__service img { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.az-child-noni__service a:hover img { filter: brightness(.94); }
.az-child-noni__highlights { width: min(660px,calc(100% - 2 * var(--az-gutter,24px))); margin: 0 auto; padding-bottom: 100px; text-align: center; }
.az-child-noni__highlights > h2 { margin-bottom: 52px; }
.az-child-noni__journal { display: grid; grid-template-columns: .85fr 1.15fr; gap: 56px 32px; align-items: start; text-align: left; margin-bottom: 80px; }
.az-child-noni__event { border-bottom: 1px solid var(--az-color-muted,#777); padding-bottom: 22px; }
.az-child-noni__event:nth-child(2n) { transform: translateY(145px); }
.az-child-noni__event:nth-child(3) { margin-top: 50px; }
.az-child-noni__event a { display: block; }
.az-child-noni__event img { width: 100%; height: auto; border-radius: var(--az-radius-sm,4px); }
.az-child-noni__event-copy { padding: 18px 10px 0; }
.az-child-noni__event h3 { margin: 0 0 14px; font-size: calc(var(--az-h3-size,26px) * .75); color: var(--az-color-heading,#222); }
.az-child-noni__event p { font-size: .85em; line-height: 1.65; }
.az-child-noni__read-more { display: table; margin: 20px auto 0; padding: 6px 12px; background: var(--az-color-heading,#222); color: #fff; font-size: .7em; }
.az-child-noni__button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 9px 20px; border: 1px solid var(--az-color-heading,#222); border-radius: 2px; background: var(--az-color-heading,#222); color: #fff; font: inherit; font-size: .8em; font-weight: 600; text-decoration: none; cursor: pointer; }
.az-child-noni a.az-child-noni__button:hover { color: #fff; background: var(--az-child-noni-red); }
.az-child-noni .az-child-noni__highlights > a.az-child-noni__button { color: #fff; }
.az-child-noni__button:disabled { opacity: .6; cursor: wait; }
.az-child-noni__highlights > .az-child-noni__button { margin-top: 130px; box-shadow: 0 4px 12px #0003; }
.az-child-noni__contact { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; padding-block: 0 64px; }
.az-child-noni__contact--text { grid-template-columns: 1fr; }
.az-child-noni__contact-photo img { width: 100%; height: 100%; object-fit: cover; }
.az-child-noni__contact-content { padding: 22px 30px 0; text-align: center; }
.az-child-noni__contact-content .az-child-noni__heading { color: var(--az-color-info,#376393); margin-bottom: 20px; }
.az-child-noni__contact-content > p { max-width: 600px; margin: 0 auto 8px; font-size: .9em; }
.az-child-noni__contact-phone { display: inline-block; margin-bottom: 18px; font-weight: 600; }
.az-child-noni__form { max-width: 800px; margin-inline: auto; }
.az-child-noni__form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; text-align: left; }
.az-child-noni__field { display: block; min-width: 0; color: var(--az-color-muted,#777); font-size: .85em; }
.az-child-noni__field--wide { grid-column: 1/-1; }
.az-child-noni__field > span { display: block; margin-bottom: 4px; }
.az-child-noni__form input:not([type=hidden]) { display: block; width: 100%; min-width: 0; height: 38px; padding: 8px 12px; border: 1px solid var(--az-color-border,#e5e5e5); border-radius: 2px; background: var(--az-color-page,#f6f6f6); color: var(--az-color-text,#424242); font: inherit; }
.az-child-noni__captcha > div { display: flex; align-items: center; gap: 12px; margin-top: 4px; }
.az-child-noni__captcha input { flex: 1; }
.az-child-noni__captcha strong { letter-spacing: .2em; padding: 4px 10px; color: var(--az-color-heading,#222); background: var(--az-color-primary,#ffdf00); font-size: 1.1em; }
.az-child-noni__captcha button { min-height: 38px; min-width: 38px; border: 1px solid var(--az-color-border,#ddd); background: #fff; color: var(--az-color-heading,#222); cursor: pointer; }
.az-child-noni__form-status { margin: 10px 0; font-size: .85em; }
.az-child-noni__honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
/* Shared chrome retains existing branding, menus, sticky/mobile contracts and switches. */
#page.az-child-noni-site .az-shared-header { border: 0; background: var(--az-color-surface,#fff); }
#page.az-child-noni-site .az-shared-header .az-shared-brandbar { position: relative; width: min(calc(100% - 48px),1400px); max-width: none; min-height: var(--az-header-main-height,140px); gap: 18px; justify-content: center; flex-wrap: wrap; }
#page.az-child-noni-site .az-shared-header .az-steel-logo { flex: 0 0 var(--az-child-logo-width,110px); margin: 0; }
#page.az-child-noni-site .az-shared-header .az-steel-logo img { width: var(--az-child-logo-width,110px); height: auto; max-height: calc(var(--az-header-main-height,140px) - 16px); object-fit: contain; }
#page.az-child-noni-site .az-shared-header .az-child-noni-header__menu { order: 2; width: auto; flex: 1 1 auto; }
#page.az-child-noni-site .az-shared-header .az-steel-menu { justify-content: center; gap: 4px; flex-wrap: wrap; background: transparent; font-size: var(--az-navigation-size,16px); }
#page.az-child-noni-site .az-shared-header .az-steel-menu > li > a { padding: 12px 9px; color: var(--az-menu-text,var(--az-color-text,#424242)); font-size: var(--az-navigation-size,16px); text-transform: uppercase; background: transparent; }
#page.az-child-noni-site .az-shared-header .az-steel-menu > li:is(.current-menu-item,.current_page_item) > a { color: var(--az-menu-active-text,var(--az-child-noni-red)); background: var(--az-menu-active-background,transparent); }
#page.az-child-noni-site .az-shared-header .az-steel-menu > li > a:hover { color: var(--az-menu-hover-text,var(--az-child-noni-red)); background: var(--az-menu-hover-background,transparent); }
#page.az-child-noni-site .az-shared-header .az-lang-switcher, #page.az-child-noni-site .az-shared-header .az-child-language { order: 3; }
#page.az-child-noni-site .az-shared-header .az-child-shop-header__search { order: 4; min-width: 150px; max-width: 300px; }
#page.az-child-noni-site .az-shared-header .az-shared-utilities { order: 5; }
.az-child-noni-footer { padding-top: 44px; background: var(--az-color-primary,#ffdf00); color: var(--az-color-heading,#222); font-size: .875em; }
.az-child-noni-footer__grid { display: grid; grid-template-columns: 1.5fr .8fr; gap: 80px; padding-bottom: 100px; }
.az-child-noni-footer h2 { position: relative; margin: 0 0 24px; padding-bottom: 12px; font-family: var(--az-font-heading,sans-serif); font-weight: var(--az-heading-weight,600); font-size: calc(var(--az-h3-size,26px) * 1.1); line-height: var(--az-heading-line-height,1.2); letter-spacing: var(--az-heading-letter-spacing,0); color: inherit; }
.az-child-noni-footer h2::after { content: ''; position: absolute; bottom: 0; left: 0; width: 32px; height: 2px; background: currentColor; }
.az-child-noni-footer :where(ul) { list-style: none; margin: 0; padding: 0; }
.az-child-noni-footer li { margin-bottom: 14px; }
.az-child-noni-footer a { color: inherit; text-decoration: none; }
.az-child-noni-footer a:hover { text-decoration: underline; }
.az-child-noni-footer .az-footer-contact-list li { display: flex; align-items: baseline; gap: 6px; }
.az-child-noni-footer .az-footer-contact-list svg { width: 16px; height: 16px; flex: 0 0 16px; align-self: center; }
.az-child-noni-footer__social { margin-top: 55px; }
.az-child-noni-footer__social > div { display: flex; align-items: center; gap: 24px; }
.az-child-noni-footer__social img { width: 56px; height: 56px; object-fit: contain; }
.az-child-noni-footer .az-steel-social { display: flex; flex-wrap: wrap; gap: 24px; color: var(--az-color-muted,#777); }
.az-child-noni-footer .az-steel-social svg { width: 32px; height: 32px; }
.az-child-noni-footer__copyright { padding: 20px; background: var(--az-color-heading,#222); color: #aaa; text-align: center; font-size: .8em; }
@media(min-width:1200px) {
  #page.az-child-noni-site .az-shared-header:has(.az-child-noni-header-gap) .az-steel-logo { position: absolute; left: 50%; transform: translateX(-50%); }
  #page.az-child-noni-site .az-shared-header .az-child-noni-header__menu { flex: 0 1 auto; }
  #page.az-child-noni-site .az-shared-header .az-steel-menu > .az-child-noni-header-gap { margin-right: calc(var(--az-child-logo-width,110px) + 35px); }
}
@media(max-width:1199px) and (min-width:783px) {
  #page.az-child-noni-site .az-shared-header .az-child-noni-header__menu { order: 4; width: 100%; padding-bottom: 12px; }
}
@media(min-width:783px) {
  #page.az-child-noni-site .az-child-home-overlay { background: rgb(255 255 255 / .94); }
}
@media(max-width:960px) {
  .az-child-noni__container { max-width: var(--az-container-tablet,960px); }
  .az-child-noni__welcome { gap: 20px; padding-block: 28px 40px; }
  .az-child-noni__overview { gap: 18px; }
  .az-child-noni__promise { grid-template-columns: 64px minmax(0,1fr); }
  .az-child-noni__promise > img { height: 64px; }
  .az-child-noni__shortcuts a { min-height: 120px; font-size: calc(var(--az-h3-size,26px) * .8); }
  .az-child-noni__service-grid { gap: 18px; }
  .az-child-noni__service h3 { min-height: 130px; }
  .az-child-noni__contact-content { padding: 24px; }
}
@media(max-width:782px) {
  #page.az-child-noni-site .az-shared-header .az-shared-brandbar { display: none; }
  .az-child-noni__story { grid-template-columns: 1fr 1.5fr; }
  .az-child-noni__story-copy { padding: 30px 20px; }
  .az-child-noni__clients { padding-top: 40px; }
  .az-child-noni__clients-body { min-height: 0; }
  .az-child-noni__clients-logos { width: 30%; padding: 6px; margin-right: 3%; }
  .az-child-noni__services { padding-block: 45px 60px; }
  .az-child-noni__service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .az-child-noni__contact { grid-template-columns: 1fr; }
  .az-child-noni__contact-content { padding: 32px 24px 0; }
  .az-child-noni-footer__grid { gap: 35px; padding-bottom: 50px; }
  .az-child-noni-footer h2 { font-size: var(--az-h4-size,18px); }
}
@media(max-width:640px) {
  .az-child-noni__container { width: calc(100% - 2 * var(--az-mobile-gutter,24px)); }
  .az-child-noni__welcome { grid-template-columns: 1fr; }
  .az-child-noni__overview { grid-template-columns: 1.25fr 1fr; gap: 16px; }
  .az-child-noni__promise { grid-template-columns: 42px minmax(0,1fr); gap: 6px; margin-bottom: 14px; }
  .az-child-noni__promise > img { height: 48px; }
  .az-child-noni__promise h3 { font-size: calc(var(--az-h4-size,18px) * .85); margin-bottom: 6px; }
  .az-child-noni__promise p { font-size: .75em; }
  .az-child-noni .az-child-noni__promises > h2 { font-size: var(--az-h4-size,18px); }
  .az-child-noni__promises > p { font-size: .8em; }
  .az-child-noni__shortcuts { flex-direction: row; gap: 8px; padding: 6px; }
  .az-child-noni__shortcuts a { min-height: 86px; flex: 1; padding: 10px 4px; font-size: calc(var(--az-h4-size,18px) * .85); }
  .az-child-noni__story { grid-template-columns: 1fr; }
  .az-child-noni__story-copy { padding: 32px 24px; }
  .az-child-noni__clients > h2 { padding-inline: 24px; }
  .az-child-noni__clients-body { display: grid; grid-template-columns: 1fr; }
  .az-child-noni__clients-photo { width: 100%; }
  .az-child-noni__clients-logos { width: min(260px,68%); margin: -30px auto 0; position: relative; }
  .az-child-noni__service h3 { min-height: 100px; }
  .az-child-noni__highlights { width: calc(100% - 48px); padding-bottom: 50px; }
  .az-child-noni__highlights > h2 { margin-bottom: 30px; }
  .az-child-noni__journal { gap: 24px 16px; margin-bottom: 30px; }
  .az-child-noni__event:nth-child(2n) { transform: translateY(70px); }
  .az-child-noni__event:nth-child(3) { margin-top: 0; }
  .az-child-noni__event-copy { padding: 12px 0 0; }
  .az-child-noni__event h3 { font-size: var(--az-h4-size,18px); }
  .az-child-noni__event p { font-size: .8em; }
  .az-child-noni__highlights > .az-child-noni__button { margin-top: 70px; }
  .az-child-noni-footer__grid { grid-template-columns: 1fr; gap: 40px; }
  .az-child-noni-footer__social { margin-top: 30px; }
}
@media(prefers-reduced-motion:reduce) { .az-child-noni__shortcuts a { transition: none; } }
.az-child-noni-footer__profile, .az-child-noni-footer .az-child-shop-footer__logo { display: block; width: min(220px,100%); margin-block: 20px; }
.az-child-noni-footer__profile img, .az-child-noni-footer .az-child-shop-footer__logo img { max-width: 100%; height: auto; }
/* The first two event pairs follow the reference's editorial title/photograph rhythm. */
.az-child-noni__clients-logos { padding: 0; border: 0; }
.az-child-noni__event:first-child { position: relative; }
.az-child-noni__event:first-child img { aspect-ratio: 1; object-fit: cover; object-position: center top; }
.az-child-noni__event:first-child h3 { position: absolute; top: 50px; left: calc(100% + 32px); width: 128%; padding-bottom: 18px; border-bottom: 1px solid var(--az-color-muted,#777); font-size: var(--az-h3-size,26px); }
.az-child-noni__event .az-child-noni__event-feature-title { margin: 0 0 100px; text-align: center; font-size: calc(var(--az-h2-size,34px) * .9); }
.az-child-noni__event:nth-child(4) img { aspect-ratio: .95; object-fit: cover; }
@media(max-width:640px) {
  .az-child-noni__event:first-child h3 { left: calc(100% + 16px); top: 10px; font-size: var(--az-h4-size,18px); padding-bottom: 10px; }
  .az-child-noni__event .az-child-noni__event-feature-title { font-size: var(--az-h4-size,18px); margin-bottom: 38px; }
}
/* Explicit left / logo / right composition; equal side columns keep the logo centered. */
#page.az-child-noni-site .az-shared-header .az-child-split-brandbar { gap: 0 18px; }
#page.az-site .az-child-split-nav { --az-child-split-logo-width: var(--az-child-logo-width,110px); display: grid; grid-template-columns: minmax(0,1fr) var(--az-child-split-logo-width) minmax(0,1fr); align-items: center; gap: 28px; width: 100%; min-width: 0; flex: 1 0 100%; }
#page.az-site .az-child-split-nav__left, #page.az-site .az-child-split-nav__right { min-width: 0; }
#page.az-site .az-child-split-nav__right { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
#page.az-site .az-child-split-nav__right > nav { min-width: 0; }
#page.az-site .az-child-split-nav__left :is(.az-steel-menu,.az-sticky-menu) { justify-content: flex-end; }
#page.az-site .az-child-split-nav__right :is(.az-steel-menu,.az-sticky-menu) { justify-content: flex-start; }
#page.az-site .az-child-split-nav :is(.az-steel-menu,.az-sticky-menu) { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; gap: 0 3px; list-style: none; background: transparent; font-family: var(--az-font-main,sans-serif); }
#page.az-site .az-child-split-nav :is(.az-steel-menu,.az-sticky-menu) > li { margin: 0; min-width: 0; max-width: 100%; }
#page.az-site .az-child-split-nav :is(.az-steel-menu,.az-sticky-menu) > li > a { padding: 12px 7px; font-size: var(--az-navigation-size,16px); font-weight: var(--az-navigation-weight,600); letter-spacing: var(--az-navigation-letter-spacing,0); text-transform: uppercase; white-space: normal; overflow-wrap: anywhere; }
#page.az-site .az-child-split-nav__logo { display: flex; justify-content: center; min-width: 0; }
#page.az-site .az-child-split-nav__logo > a { position: static; display: block; max-width: 100%; margin: 0; transform: none; color: var(--az-color-heading,#222); text-align: center; }
#page.az-site .az-child-split-nav__logo img { display: block; width: var(--az-child-split-logo-width); max-width: 100%; height: auto; max-height: calc(var(--az-header-main-height,140px) - 16px); object-fit: contain; }
#page.az-site .az-child-split-nav--sticky { --az-child-split-logo-width: min(var(--az-child-logo-width,110px),80px); padding-block: 6px; }
#page.az-site .az-child-split-nav--sticky .az-child-split-nav__logo img { max-height: 64px; }
#page.az-site .az-child-split-sticky { width: min(calc(100% - 48px),1400px); max-width: none; }
#page.az-site .az-child-split-nav--sticky .az-lang-switcher { display: inline-flex; gap: 3px; }
#page.az-site .az-child-split-nav--sticky .az-lang-btn { padding: 3px; }
#page.az-site .az-child-split-nav--sticky .az-lang-btn > span, #page.az-site .az-child-split-nav--sticky .az-lang-divider { display: none; }
#page.az-site .az-child-split-nav--sticky .az-lang-btn img { width: 20px; height: 14px; }
@media(max-width:1100px) and (min-width:783px) {
  #page.az-site .az-child-split-nav { gap: 16px; }
  #page.az-site .az-child-split-nav__right { gap: 8px; }
}
@media(max-width:782px) { #page.az-site .az-child-split-nav { display: none; } }
/* AZ's language script updates html[lang]; secondary flags follow that state without another controller. */
html[lang="vi"] #page.az-site .az-child-split-nav--sticky .az-lang-btn[data-lang="vi"],
html[lang="en"] #page.az-site .az-child-split-nav--sticky .az-lang-btn[data-lang="en"] { border-color: var(--az-color-border,#ddd); background: var(--az-color-page,#f5f5f5); }
