/* Product scenes: isolated to the NortGo landing. No global theme changes. */
.nortgo-landing { --ng-halo: #d8793e; --ng-title-size: clamp(4rem,calc(6.7 * var(--ng-vw)),6.5625rem); }
.ng-header { border: 0; padding-top: 1.625rem; }
.ng-header > .ng-container { padding: 0.75rem 1.125rem; border: 0; border-radius: 1rem; background: transparent; backdrop-filter: none; }
.ng-header .ng-nav-cta { background: #f0d4bb; color: #3d2517; border-color: #f4dbc6; border-radius: 62.4375rem; font-weight: 600; }
.ng-button { border-radius: 62.4375rem; }
.ng-button-primary { background: linear-gradient(145deg,#c76c33,#a8491f); box-shadow: 0 0.125rem 0 #f4b08130 inset,0 0.625rem 2.1875rem #b95c2626; }
.ng-phone { border-color: #8a7b6d; background: linear-gradient(125deg,#ac9380,#332a23 15%,#080808 50%,#807365); box-shadow: 0 2.1875rem 4.375rem -1.5625rem #000b,0 0 0 0.125rem #2b251f,inset 0 0 0 0.125rem #080808; }
.ng-cinema-hero { position: relative; background: #080908; }
.ng-cinema-running { height: 700svh; }
.ng-cinema-scene { position: relative; isolation: isolate; overflow: hidden; min-height: 53.125rem; height: 100svh; }
.ng-cinema-running .ng-cinema-scene { position: sticky; top: 0; height: 100svh; min-height: 0; }
.ng-cinema-running .ng-cinema-device-position { top: max(32.1875rem,52svh); }
.ng-cinema-grid { position: absolute; inset: 0; background-image: linear-gradient(#e6b08608 0.0625rem,transparent 0.0625rem),linear-gradient(90deg,#e6b08608 0.0625rem,transparent 0.0625rem); background-size: 6.875rem 6.875rem; mask-image: radial-gradient(ellipse at 50% 65%,#0009,transparent 68%); z-index: -2; }
.ng-cinema-halo { position: absolute; width: 75rem; height: 62.5rem; left: calc(50% - 37.5rem); top: 12.5rem; background: radial-gradient(ellipse at 50% 50%,#eea56b90 0%,#c5633248 14%,#a8451c1f 32%,transparent 60%); filter: blur(1.125rem); z-index: -1; }
.ng-cinema-halo::after { content: ''; position: absolute; width: 34.375rem; height: 34.375rem; left: 20.3125rem; top: 13.125rem; border-radius: 50%; border: 0.0625rem solid #dda46d45; box-shadow: 0 0 5.625rem #e39c6630, inset 0 0 5.625rem #e39c661a; }
.ng-cinema-copy { position: absolute; top: clamp(9.0625rem,15svh,11.5625rem); left: 1.5rem; right: 1.5rem; text-align: center; z-index: 5; }
.ng-cinema-copy .ng-eyebrow { justify-content: center; font-size: 0.5625rem; letter-spacing: .22em; }
.ng-cinema-copy h1 { margin: 1.4375rem auto 0; font-size: var(--ng-title-size); line-height: .99; letter-spacing: -.065em; font-weight: 500; }
.ng-cinema-copy h1 span { color: #edb189; }
.ng-mobile-hero-brand { display: none; }
.ng-mobile-hero-modules { display: none; }
.ng-cinema-copy p { color: #b6aaa0; font-size: 0.875rem; margin-top: 1.25rem; }
.ng-cinema-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: 1.5625rem; }
.ng-cinema-device-position { position: absolute; top: max(32.1875rem,52svh); left: calc(50% - 10.9375rem); width: 21.875rem; perspective: 81.25rem; z-index: 3; }
.ng-cinema-device { transform-origin: top center; }
.ng-cinema-device .ng-phone { width: 21.875rem; border-radius: 3rem; padding: 0.625rem; box-shadow: 0 0 0.25rem #fcd8b0,0 0 1.5625rem #e598585a,0 0 6.875rem #bf5e343f,0 2.5rem 5rem #000b; }
.ng-cinema-device .ng-phone-screen { border-radius: 2.375rem; }
.ng-cinema-screen-stack { position: relative; width: 100%; height: 100%; }
.ng-cinema-screen-layer { position: absolute; inset: 0; background: #000; }
.ng-cinema-screen-layer picture,.ng-cinema-screen-layer img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ng-cinema-screen-finance img { object-fit: contain; }
.ng-cinema-chapter-words > span { font-size: clamp(2.75rem,calc(5.3 * var(--ng-vw)),4.75rem); width: calc(50% - 14.375rem); max-width: 23.125rem; line-height: 1.08; }
.ng-cinema-chapter-words .ng-cinema-word-one { text-align: right; }
.ng-cinema-device::after { content: ''; position: absolute; inset: -0.125rem; border-radius: 3rem; pointer-events: none; background: linear-gradient(125deg,#ffefd920,transparent 30%); }
.ng-cinema-satellites { position: absolute; inset: 0; pointer-events: none; z-index: 4; }
.ng-satellite { position: absolute; display: flex; align-items: center; gap: 0.9375rem; background: linear-gradient(140deg,#7b563945,#18130fea); border: 0.0625rem solid #ca926453; box-shadow: 0 1.5rem 4.0625rem #0007,inset 0 0.0625rem #ffe1b712; color: #edbb90; padding: 1.1875rem 1.4375rem; border-radius: 1.0625rem; backdrop-filter: blur(0.9375rem); }
.ng-satellite > span { padding: 0.625rem; border: 0.0625rem solid #bc885342; border-radius: 0.75rem; background: #c0793020; }
.ng-satellite small { display: block; font-size: 0.4375rem; letter-spacing: .15em; color: #c89b76; }
.ng-satellite b { font-size: 0.6875rem; font-weight: 400; display: block; margin-top: 0.3125rem; color: #e9d7c5; }
.ng-satellite-agenda { left: max(6%,calc(50% - 33.125rem)); top: 63%; rotate: -9deg; }
.ng-satellite-task { right: max(6%,calc(50% - 33.125rem)); top: 74%; rotate: 8deg; }
.ng-satellite-wallet { left: calc(50% + 15.625rem); top: 54%; flex-direction: column; gap: 0.9375rem; padding: 1.375rem; rotate: -12deg; }
.ng-cinema-words { position: absolute; inset: 0; pointer-events: none; z-index: 4; }
.ng-cinema-words > span { position: absolute; font-size: clamp(2.75rem,calc(5.3 * var(--ng-vw)),4.75rem); font-weight: 400; letter-spacing: -.065em; }
.ng-cinema-words > .ng-cinema-word-compact { font-size: clamp(2.9375rem,calc(5.3 * var(--ng-vw)),4.75rem); }
.ng-cinema-word-one { right: calc(50% + 14.6875rem); top: 39%; }
.ng-cinema-word-two { left: calc(50% + 13.125rem); top: 57%; color: #ebb18a; }
.ng-cinema-words .ng-cinema-word-three { bottom: 10%; left: 0; right: 0; text-align: center; font-size: 2.0625rem; color: #bfa58f; }
.ng-cinema-mobile-label { display: none; }
.ng-cinema-bottom { position: absolute; left: 3rem; right: 3rem; bottom: 1.75rem; display: flex; align-items: center; justify-content: center; z-index: 6; color: #b89d88; font-size: 0.4375rem; letter-spacing: .16em; }
.ng-cinema-bottom a { display: flex; align-items: center; gap: 0.9375rem; }
.ng-cinema-static .ng-cinema-scene { height: 78.125rem; }
.ng-cinema-static .ng-cinema-device-position { top: 32.1875rem; }
.ng-cinema-static .ng-satellite-agenda { top: 58%; }
.ng-cinema-static .ng-satellite-task { top: 71%; }
.ng-cinema-static .ng-satellite-wallet { top: 43%; }
.ng-problem { position: relative; padding-top: 9.375rem; background: radial-gradient(ellipse at 70% 10%,#7550320c,transparent 60%),#080908; }
.ng-problem::after { content: ''; position: absolute; bottom: 0; left: 15%; right: 15%; height: 0.0625rem; background: linear-gradient(90deg,transparent,#b78c5740,transparent); }
.ng-problem .ng-heading { font-size: clamp(3rem,calc(5.1 * var(--ng-vw)),4.75rem); }
.ng-fragments-center { color: #c7aa92; }
.ng-fragment { border-color: #b98b5340; background: linear-gradient(125deg,#30291f,#11110f); }

.ng-product-theater { position: relative; isolation: isolate; padding: 7.5rem 0 4.0625rem; background: #0a0b0a; overflow: hidden; }
.ng-theater-heading { text-align: center; }
.ng-theater-heading .ng-eyebrow { justify-content: center; }
.ng-theater-heading .ng-heading { font-size: var(--ng-title-size); margin-top: 1.5rem; line-height: .97; }
.ng-theater-heading .ng-body { margin-top: 1.5rem; }
.ng-theater-grid { position: absolute; inset: 32% -20% -30%; z-index: -1; background: linear-gradient(#deb1840c 0.0625rem,transparent 0.0625rem),linear-gradient(90deg,#deb1840c 0.0625rem,transparent 0.0625rem); background-size: 5.3125rem 5.3125rem; transform: perspective(40.625rem) rotateX(53deg); transform-origin: center; mask-image: radial-gradient(ellipse,#000,transparent 65%); }
.ng-module-tabs { position: relative; z-index: 8; width: fit-content; max-width: 100%; margin: 2.625rem auto 0; display: flex; gap: 0.3125rem; padding: 0.4375rem; border: 0.0625rem solid #8b684633; border-radius: 3.125rem; background: #161613; }
.ng-module-tabs button { padding: 0.8125rem 1.25rem; display: flex; align-items: center; justify-content: center; gap: 0.5625rem; font-size: 0.6875rem; color: #b5a99b; border-radius: 1.875rem; transition: color .2s,background .2s; min-height: 2.75rem; }
.ng-module-tabs button[aria-selected="true"] { background: #e6bd96; color: #392517; box-shadow: 0 0 1.25rem #bd713026; }
.ng-module-tabs button:hover { color: #f7ddc7; background: #3a2b1f; }
.ng-module-tabs button[aria-selected="true"]:hover { background: #f2cda9; color: #392517; }
.ng-theater-stage { position: relative; height: 40.625rem; max-width: 65.625rem; margin: 3.4375rem auto 0; perspective: 87.5rem; }
.ng-theater-floor { position: absolute; top: 4.375rem; left: 8%; right: 8%; height: 30rem; border-radius: 50%; background: radial-gradient(ellipse,#c2814233,transparent 65%); filter: blur(1.5625rem); }
.ng-theater-main { position: absolute; top: 0; left: calc(50% - 8.9375rem); z-index: 4; }
.ng-theater-main .ng-phone { box-shadow: 0 0 0.125rem #edbc88,0 0 2.8125rem #c57b3d25,0 2.1875rem 5rem #000d; }
.ng-theater-main [role="tabpanel"]:focus-visible { outline: 0.125rem solid #e2b182; outline-offset: 0.75rem; border-radius: 2.375rem; }
.ng-theater-wing { position: absolute; left: calc(50% - 7.8125rem); top: 4.375rem; opacity: .38; z-index: 2; filter: blur(0.0625rem) brightness(.72); }
.ng-theater-wing .ng-phone { width: 15.625rem; }
.ng-theater-wing-left { transform: translateX(-17.8125rem) rotate(-15deg); }
.ng-theater-wing-right { transform: translateX(17.8125rem) rotate(15deg); }
.ng-theater-explanations { display: contents; }
.ng-theater-description-mobile { display: none; }
.ng-theater-side-note { position: absolute; top: 50%; translate: 0 -50%; isolation: isolate; z-index: 5; width: 14.0625rem; max-width: 25%; font-weight: 400; }
.ng-theater-side-note::before { content: ''; position: absolute; inset: -2.8125rem -1.875rem; z-index: -1; pointer-events: none; background: radial-gradient(ellipse, #0b0b0df2 25%, #0b0b0db3 55%, transparent 75%); }
.ng-theater-side-note h3 { font-size: 1.5625rem; font-weight: 300; line-height: 1.18; letter-spacing: -.025em; color: #edaa7e; text-wrap: balance; }
.ng-theater-side-note p { margin-top: 0.875rem; font-size: 0.875rem; font-weight: 300; line-height: 1.65; color: #d7bca7; text-wrap: pretty; }
.ng-theater-note-left { left: 0.5625rem; text-align: right; }
.ng-theater-note-right { right: 0.5625rem; text-align: left; }
.ng-theater-caption { border-top: 0.0625rem solid #b68b5533; padding: 1.6875rem 0 0; display: flex; justify-content: space-between; gap: 1.5625rem; font-size: 0.75rem; color: #bfb2a4; }
.ng-theater-caption a { display: flex; align-items: center; gap: 0.9375rem; color: #e7b288; }

.ng-day { background: #eee9e0; color: #201e1a; }
.ng-day .ng-eyebrow { color: #8d542f; }
.ng-day .text-landing-copper { color: #a6572b; }
.ng-day .ng-body { color: #706960; }
.ng-day-step { border-color: #bba78f; opacity: .55; }
.ng-day-step p { color: #746b61; }
.ng-day-step > span { color: #a6572b; }
.ng-day-step-active { opacity: 1; border-color: #ab592c; }
.ng-day-glow { inset: -1.875rem -12%; border-radius: 50%; background: radial-gradient(ellipse,#f4c49890,transparent 67%); }
.ng-day-visual .ng-phone { box-shadow: 0 2.1875rem 4.0625rem #694c3535; }
.ng-visual-caption { color: #8c6b4e; }
.ng-agenda { background: #eee9e0; padding-top: 2.1875rem; }
.ng-agenda > .ng-container { padding: 5.3125rem 3.75rem; background: #ded4c580; border-radius: 1.875rem; border: 0.0625rem solid #cab59a60; position: relative; overflow: hidden; }
.ng-agenda .ng-heading { font-size: clamp(2.5rem,calc(4 * var(--ng-vw)),3.75rem); }
.ng-agenda-visual { isolation: isolate; }
.ng-agenda-visual::before { content: ''; position: absolute; width: 40.625rem; height: 28.125rem; z-index: -1; background: linear-gradient(150deg,transparent 40%,#fff6 40%,#fff1 75%,transparent 75%); rotate: -8deg; bottom: -2.1875rem; }
.ng-tasks { background: radial-gradient(ellipse at 25% 45%,#70431c2e,transparent 48%),#0b0c0a; }
.ng-tasks .ng-words-list { flex-direction: column; gap: 0.1875rem; font-size: 1.5625rem; font-weight: 400; letter-spacing: -.045em; margin-top: 1.625rem; }
.ng-task-visual { perspective: 81.25rem; }
.ng-task-visual .ng-phone { transform: rotateY(12deg); }
.ng-routines { background: radial-gradient(ellipse at 75% 80%,#86633525,transparent 60%),#12130f; }
.ng-rhythm { opacity: .24; gap: 0.9375rem; bottom: 4.375rem; }
.ng-rhythm i { background: linear-gradient(#d0a260,#3e3625); border: 0.0625rem solid #c7964940; border-radius: 0.9375rem; }
.ng-finances { background: #efeae1; }
.ng-finance-composition { padding: 4.0625rem 2.8125rem; background: linear-gradient(158deg,#20231e 0%,#20231e 48%,#d6c5b0 48.1%,#e9dfd2 100%); border: 0.0625rem solid #d0c1af; border-radius: 1.75rem; position: relative; overflow: hidden; }
.ng-finance-side:first-child .ng-body { color: #d9d3c8; }
.ng-finance-side:first-child .ng-finance-amount { color: #b88855; border-color: #bba78f45; }
.ng-finance-side:first-child .ng-finance-amount b { color: #d3b996; }
.ng-finance-side:first-child .ng-finance-amount p { color: #ad967b; }
.ng-health { background: radial-gradient(ellipse at 28% 65%,#57776123,transparent 55%),#101411; }
.ng-notes { background: radial-gradient(ellipse at 80% 50%,#75563528,transparent 45%),#0f100e; }

.ng-integration-orbit { background: #0a0c0a; padding: 8.4375rem 0 4.375rem; }
.ng-integration-orbit .ng-heading { font-size: clamp(2.8125rem,calc(5.5 * var(--ng-vw)),4.9375rem); }
.ng-orbit { position: relative; max-width: 62.5rem; height: 38.125rem; margin: 1.875rem auto 0; }
.ng-orbit::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse,#bf804d2b,transparent 63%); }
.ng-orbit-ring { position: absolute; width: 69%; height: 57%; top: 21.5%; left: 15.5%; border: 0.0625rem solid #bd976036; border-radius: 50%; }
.ng-orbit-ring-one { rotate: -28deg; }
.ng-orbit-ring-two { rotate: 28deg; }
.ng-orbit-ring-three { width: 44%; height: 78%; top: 11%; left: 28%; border-style: dashed; border-color: #bf925328; }
.ng-orbit-core { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 10.625rem; height: 10.625rem; display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(circle at 35% 25%,#493322,#13120e 75%); border: 0.0625rem solid #ac805d6b; border-radius: 50%; box-shadow: 0 0 6.25rem #c67d3533,inset 0 0 1.875rem #bf78431f; }
.ng-orbit-core img { width: 5.3125rem; height: 5.3125rem; }
.ng-orbit-core span { font-size: 0.625rem; color: #bca18a; margin-top: 0.5625rem; }
.ng-orbit-module { position: absolute; left: var(--orbit-x); top: var(--orbit-y); transform: translate(-50%,-50%); display: flex; align-items: center; gap: 0.875rem; padding: 1rem 1.3125rem; border: 0.0625rem solid #cfa47135; border-radius: 1rem; background: linear-gradient(125deg,#30271d,#151611); box-shadow: 0 1.25rem 2.5rem #0005,inset 0 0.0625rem #e7c09112; transition: background .25s,box-shadow .25s; }
.ng-orbit-module span { display: flex; color: #c5a176; }
.ng-orbit-module b { font-size: 0.75rem; font-weight: 400; color: #dccdbb; }
.ng-orbit-module:hover { background: #3b2b1c; box-shadow: 0 0 1.5625rem #c78d3330; }
.ng-orbit-statement { display: flex; justify-content: space-between; gap: 1.5625rem; border-top: 0.0625rem solid #b68b552e; padding-top: 1.875rem; font-size: 0.75rem; color: #9a8b79; }
.ng-orbit-statement strong { color: #c5ab8e; font-weight: 400; }
.ng-finale { position: relative; padding: 7.1875rem 0 0; background: linear-gradient(#f5f0e8 0%,#f1ddc1 58%,#b7753f 100%); overflow: hidden; }
.ng-finale-copy { text-align: center; position: relative; z-index: 4; }
.ng-finale-copy .ng-eyebrow { justify-content: center; }
.ng-finale-copy h2 { margin-top: 0; font-size: var(--ng-title-size); font-weight: 500; letter-spacing: -.07em; line-height: .99; }
.ng-finale-copy h2 > span { color: #a76638; }
.ng-finale-copy > p { font-size: 0.875rem; color: #8a715b; margin-top: 1.5rem; }
.ng-finale-copy .ng-button { margin-top: 1.75rem; }
.ng-finale-stage { height: 30.625rem; max-width: 62.5rem; margin: 2.8125rem auto 0; position: relative; }
.ng-finale-phone { position: absolute; left: calc(50% - 9.5rem); top: 1.25rem; }
.ng-finale-phone .ng-phone { width: 19rem; box-shadow: 0 1.5625rem 4.0625rem #71421470; }
.ng-finale-sun { position: absolute; width: 40.625rem; height: 37.5rem; top: -0.625rem; left: calc(50% - 20.3125rem); border-radius: 50%; border: 0.0625rem solid #ffffec50; box-shadow: 0 0 0 3.4375rem #ffefd814,0 0 0 6.875rem #ffefd80d; background: radial-gradient(ellipse at 50% 25%,#fff4d570,transparent 65%); }
.ng-finale-token { position: absolute; display: grid; place-items: center; color: #744822; border: 0.0625rem solid #f3d8b5; background: linear-gradient(135deg,#f7dfbd,#b98047); box-shadow: 0 1.5625rem 2.5rem #75432133,inset 0 0.0625rem #fff5; width: 5.1875rem; height: 5.1875rem; border-radius: 1.5625rem; }
.ng-finale-token-one { left: 17%; top: 5rem; rotate: -19deg; }
.ng-finale-token-two { right: 13%; top: 13.4375rem; rotate: 16deg; }
.ng-finale-token-three { right: 23%; top: 0.9375rem; rotate: -12deg; width: 3.875rem; height: 3.875rem; border-radius: 1.25rem; }
.ng-finale-word-one,.ng-finale-word-two { position: absolute; font-size: 2.25rem; letter-spacing: -.05em; color: #6d4429; }
.ng-finale-word-one { top: 15.9375rem; left: 5%; rotate: -5deg; }
.ng-finale-word-two { top: 6.875rem; right: 2%; rotate: 5deg; }
.ng-footer { position: relative; border-radius: 1.5625rem 1.5625rem 0 0; margin-top: -1.25rem; border-top: 0.0625rem solid #6c513d; z-index: 5; }

@media (max-width: 1100px) {
  .nortgo-landing { --ng-title-size: 4.75rem; }
  .ng-cinema-copy h1 { font-size: var(--ng-title-size); } .ng-cinema-word-one { right: calc(50% + 10.625rem); } .ng-cinema-word-two { left: calc(50% + 10.625rem); }
  .ng-module-tabs button { padding: 0.75rem 0.9375rem; } .ng-theater-note-left { left: 0.75rem; } .ng-theater-note-right { right: 0.75rem; }
  .ng-agenda > .ng-container { padding: 3.4375rem 2.1875rem; } .ng-finance-composition { padding: 2.8125rem 1.875rem; gap: 1.75rem; }
}
@media (max-width: 1023px) {
  .nortgo-landing { --ng-title-size: 4.3125rem; }
  .ng-cinema-static .ng-cinema-scene { height: 75.625rem; } .ng-cinema-copy { top: 10rem; } .ng-cinema-copy h1 { font-size: var(--ng-title-size); } .ng-cinema-device-position { top: 31.875rem; }
  .ng-satellite-agenda { left: 2%; } .ng-satellite-task { right: 2%; } .ng-satellite-wallet { left: auto; right: 7%; }
  .ng-satellite { padding: 0.875rem; gap: 0.625rem; } .ng-satellite b { font-size: 0.5625rem; } .ng-satellite > span { padding: 0.5rem; }
  .ng-cinema-bottom { left: 1.75rem; right: 1.75rem; } .ng-cinema-bottom > span:last-child { display: none; }
  .ng-product-theater { padding-top: 5.625rem; } .ng-theater-wing-left { transform: translateX(-13.75rem) rotate(-15deg); } .ng-theater-wing-right { transform: translateX(13.75rem) rotate(15deg); } .ng-theater-wing { opacity: .27; } .ng-theater-side-note { max-width: 24%; } .ng-theater-side-note h3 { font-size: 1.3125rem; } .ng-theater-side-note p { font-size: 0.8125rem; }
  .ng-theater-note-left { left: 0.75rem; } .ng-theater-note-right { right: 0.75rem; }
  .ng-day .ng-day-sticky { padding-top: 5.625rem; padding-bottom: 5.625rem; } .ng-agenda { padding-top: 0; }
  .ng-finance-side-right .ng-finance-amount b,.ng-finance-side-right .ng-finance-terms p { color: #755539; }
  .ng-orbit { height: 34.375rem; } .ng-orbit-module { padding: 0.8125rem 1.0625rem; gap: 0.625rem; } .ng-orbit-core { width: 9.375rem; height: 9.375rem; }
  .ng-finale-word-one,.ng-finale-word-two { font-size: 1.625rem; } .ng-finale-token-one { left: 10%; } .ng-finale-token-two { right: 7%; } .ng-finale-token-three { right: 17%; }
}
@media (max-width: 767px) {
  .ng-cinema-desktop-label { display: none; }
  .ng-cinema-mobile-label { display: inline; }
  .nortgo-landing { --ng-title-size: clamp(2.4375rem,calc(10.3 * var(--ng-vw)),3.8125rem); }
  .ng-cinema-hero.ng-cinema-static {
    min-height: 100svh;
    background-color: #080908;
    background-image: linear-gradient(180deg, transparent 72%, #08090880 100%), url('/landing/img/amber-horizon-mobile.png');
    background-repeat: no-repeat;
    background-position: center, center top;
    /* Keep the image scale stable while browser bars change the section height. */
    background-size: cover, auto 145svh;
  }
  .ng-brand > span { display: none; }
  .ng-mobile-hero-brand { display: flex; flex-direction: column; align-items: center; gap: 0.4375rem; margin-bottom: 1.25rem; }
  .ng-mobile-hero-brand img { width: 4.375rem; height: 4.375rem; object-fit: contain; }
  .ng-mobile-hero-brand > span { font-size: 1.5625rem; line-height: 1; font-weight: 500; letter-spacing: -.05em; }
  .ng-header { padding-top: 0.875rem; } .ng-header > .ng-container { width: calc(100% - 1.5rem); padding: 0.625rem 0.75rem; border-radius: 0.8125rem; gap: 0.625rem; } .ng-header > .ng-container > div:last-child { gap: 0.8125rem; } .ng-header .ng-brand { font-size: 1.25rem; } .ng-header .ng-brand img { width: 1.8125rem; height: 1.8125rem; }
  .ng-cinema-static .ng-cinema-scene { height: auto; min-height: 38.75rem; }
  .ng-cinema-static .ng-cinema-device-position, .ng-cinema-static .ng-cinema-satellites { display: none; }
  .ng-cinema-static .ng-cinema-halo { display: none; }
  .ng-cinema-copy { top: 8.875rem; left: 1.0625rem; right: 1.0625rem; } .ng-cinema-copy h1 { font-size: var(--ng-title-size); line-height: 1.04; margin-top: 2rem; } .ng-cinema-copy .ng-eyebrow { font-size: 0.4375rem; letter-spacing: .18em; } .ng-cinema-copy p { font-size: 0.8125rem; margin-top: 2.25rem; } .ng-cinema-actions { gap: 0.5625rem; margin-top: 2.5rem; } .ng-cinema-actions .ng-button { padding: 0.8125rem 0.875rem; font-size: 0.6875rem; }
  .ng-cinema-static .ng-cinema-device-position { top: 30.625rem; left: calc(50% - 7.6875rem); width: 15.375rem; } .ng-cinema-device .ng-phone { width: 15.375rem; border-radius: 2.1875rem; padding: 0.5rem; } .ng-cinema-device .ng-phone-screen { border-radius: 1.6875rem; } .ng-cinema-device::after { border-radius: 2.1875rem; }
  .ng-cinema-halo { width: 43.75rem; height: 43.75rem; left: calc(50% - 21.875rem); top: 20.625rem; filter: blur(0.5rem); } .ng-cinema-halo::after { width: 23.125rem; height: 23.125rem; top: 6.25rem; left: 10.3125rem; }
  .ng-satellite-agenda { left: 0.5rem; top: 62% !important; rotate: -9deg; padding: 0.75rem; } .ng-satellite-task { right: 0.625rem; top: 82% !important; padding: 0.75rem; } .ng-satellite small { font-size: 0.3125rem; } .ng-satellite b { font-size: 0.5rem; } .ng-satellite > span { padding: 0.375rem; border-radius: 0.5rem; } .ng-satellite > span svg { width: 1.125rem; height: 1.125rem; } .ng-satellite-wallet { display: none; }
  .ng-cinema-bottom { left: 1.25rem; right: 1.25rem; bottom: 1.5rem; font-size: 0.375rem; } .ng-cinema-bottom a > span { display: none; }
  .ng-problem { padding-top: 5rem; } .ng-problem .ng-heading { font-size: 2.8125rem; }
  .ng-product-theater { padding: 5.3125rem 0 2.5rem; } .ng-theater-heading .ng-heading { font-size: var(--ng-title-size); } .ng-theater-heading .ng-body { font-size: 0.8125rem; }
  .ng-module-tabs { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.3125rem; border-radius: 1.25rem; width: 100%; margin-top: 1.875rem; } .ng-module-tabs button { font-size: 0.625rem; padding: 0.625rem 0.4375rem; gap: 0.375rem; border-radius: 62.4375rem; }
  .ng-theater-stage { height: auto; padding-top: 36.875rem; margin-top: 2.3125rem; } .ng-theater-main { left: calc(50% - 8.9375rem); } .ng-theater-wing { top: 4.0625rem; opacity: .18; } .ng-theater-wing .ng-phone { width: 13.4375rem; } .ng-theater-wing-left { transform: translateX(-10.3125rem) rotate(-15deg); } .ng-theater-wing-right { transform: translateX(10.3125rem) rotate(15deg); }
  .ng-theater-explanations { display: flex; min-height: 16.875rem; padding: 1.25rem 0 2rem; }
  .ng-theater-side-note { position: relative; inset: auto; translate: none; width: 88%; max-width: 21.25rem; } .ng-theater-note-right { margin-left: auto; } .ng-theater-note-left { margin-right: auto; } .ng-theater-side-note::before { display: none; } .ng-theater-side-note h3 { font-size: 1.375rem; } .ng-theater-side-note p { font-size: 0.875rem; margin-top: 0.625rem; }
  .ng-theater-caption { flex-direction: column; align-items: center; gap: 0.875rem; font-size: 0.6875rem; padding-top: 1.4375rem; } .ng-theater-grid { inset: 30% -70% -10%; }
  .ng-day .ng-day-sticky { padding: 5rem 0; } .ng-day-step { opacity: 1; } .ng-day-glow { inset: 0 -12%; }
  .ng-agenda { padding-bottom: 4.0625rem; } .ng-agenda > .ng-container { padding: 2.8125rem 1.4375rem 2.5rem; border-radius: 1.4375rem; gap: 2.1875rem; } .ng-agenda .ng-heading { font-size: 2.25rem; } .ng-agenda .ng-body { font-size: 0.8125rem; } .ng-agenda .ng-detail-line { font-size: 0.625rem; } .ng-agenda .ng-phone { width: 14.9375rem; } .ng-agenda-label { min-width: 12.8125rem; padding: 1rem; } .ng-date-display { left: -0.4375rem; } .ng-date-display > span { font-size: 6.875rem; }
  .ng-tasks .ng-words-list { flex-direction: row; font-size: 1rem; gap: 0.8125rem; } .ng-tasks .ng-task-visual .ng-phone { transform: none; }
  .ng-finance-composition { padding: 1.875rem 1.4375rem; margin-top: 2.1875rem; background: linear-gradient(158deg,#20231e 0%,#20231e 47%,#d6c5b0 47.1%,#e9dfd2 100%); border-radius: 1.375rem; } .ng-finance-composition .ng-phone { width: 16.25rem; } .ng-finance-side-right { gap: 0.9375rem; } .ng-finance-terms p { font-size: 0.6875rem; } .ng-finance-amount b { font-size: 0.6875rem; } .ng-finance-side:first-child .ng-body { font-size: 0.8125rem; }
  .ng-integration-orbit { padding: 5.3125rem 0 2.8125rem; } .ng-integration-orbit .ng-heading { font-size: 2.4375rem; } .ng-integration-orbit .ng-eyebrow { font-size: 0.4375rem; } .ng-orbit { height: 30rem; margin-top: 1.875rem; margin-inline: -0.3125rem; } .ng-orbit-module { flex-direction: column; gap: 0.5rem; padding: 0.6875rem 0.8125rem; border-radius: 0.875rem; min-width: 4.8125rem; } .ng-orbit-module svg { width: 1.3125rem; height: 1.3125rem; } .ng-orbit-module b { font-size: 0.5625rem; } .ng-orbit-core { width: 7rem; height: 7rem; } .ng-orbit-core img { width: 3.75rem; height: 3.75rem; } .ng-orbit-core span { margin-top: 0.25rem; font-size: 0.5rem; } .ng-orbit-ring { width: 82%; left: 9%; } .ng-orbit-ring-three { width: 50%; left: 25%; } .ng-orbit-statement { flex-direction: column; gap: 0.625rem; text-align: center; font-size: 0.625rem; }
  .ng-finale { padding-top: 5rem; } .ng-finale-copy h2 { font-size: var(--ng-title-size); line-height: 1.02; } .ng-finale-copy .ng-eyebrow { font-size: 0.4375rem; } .ng-finale-copy > p { font-size: 0.75rem; } .ng-finale-stage { height: 24.0625rem; margin-top: 2.5rem; } .ng-finale-phone { left: calc(50% - 7.5rem); top: 1.5625rem; } .ng-finale-phone .ng-phone { width: 15rem; } .ng-finale-sun { width: 26.25rem; left: calc(50% - 13.125rem); height: 26.875rem; } .ng-finale-token { width: 3.5625rem; height: 3.5625rem; border-radius: 1.125rem; } .ng-finale-token svg { width: 1.375rem; height: 1.375rem; } .ng-finale-token-one { left: -0.375rem; top: 5.625rem; } .ng-finale-token-two { right: -0.4375rem; top: 14.6875rem; } .ng-finale-token-three { right: 5%; top: -0.9375rem; width: 3rem; height: 3rem; } .ng-finale-word-one,.ng-finale-word-two { display: none; }
}
@media (prefers-reduced-motion: reduce) { .nortgo-landing .ng-module-tabs button,.nortgo-landing .ng-orbit-module { transition: none; } }
@media (min-width: 1024px) and (max-height: 899px) { .ng-cinema-words .ng-cinema-word-three { display: none; } }
@media (min-width: 768px) and (max-width: 900px) {
  .ng-finance-side-right { padding: 1.375rem; background: #e7daca; border-radius: 0.9375rem; margin-inline: -0.625rem; }
}
@media (max-width: 1023px) {
  .ng-cinema-running .ng-cinema-words > span { font-size: clamp(1.875rem,calc(5.5 * var(--ng-vw)),3.25rem); }
  .ng-cinema-running .ng-cinema-words > .ng-cinema-word-compact { font-size: clamp(1.6875rem,calc(5 * var(--ng-vw)),2.8125rem); }
  .ng-cinema-running .ng-cinema-word-one { right: calc(50% + 9.6875rem); }
  .ng-cinema-running .ng-cinema-word-two { left: calc(50% + 9.6875rem); }
  .ng-cinema-running .ng-cinema-chapter-words > span { width: calc(50% - 11.25rem); }
  .ng-cinema-running .ng-cinema-word-three { font-size: 1.5625rem; }
}
@media (max-width: 767px) {
  .ng-cinema-running .ng-cinema-device-position { top: max(30.625rem,52svh); left: calc(50% - 7.6875rem); width: 15.375rem; }
  .ng-cinema-running .ng-cinema-word-one { right: calc(50% + 6.75rem); }
  .ng-cinema-running .ng-cinema-word-two { left: calc(50% + 6.75rem); }
  .ng-cinema-running .ng-cinema-words > span { font-size: clamp(1.0625rem,calc(4.6 * var(--ng-vw)),1.875rem); }
  .ng-cinema-running .ng-cinema-words > .ng-cinema-word-compact { font-size: clamp(1rem,calc(4 * var(--ng-vw)),1.625rem); }
  .ng-cinema-running .ng-cinema-chapter-words > span { width: calc(50% - 7.375rem); }
  .ng-cinema-running .ng-cinema-word-three { font-size: 1.4375rem; }
}
@media (max-height: 599px) { .ng-cinema-running .ng-cinema-word-three { display: none; } }

/* Longer chapter phrases share the same margins around the stationary phone. */
.ng-cinema-running .ng-cinema-chapter-words > span { font-size: clamp(1.75rem, calc(4 * var(--ng-vw)), 3.625rem); text-wrap: balance; overflow-wrap: break-word; }
.ng-cinema-chapter-number { display: block; margin-top: 1.125rem; font-size: 0.75rem; line-height: 1.4; letter-spacing: .18em; color: #bfa58f; }
@media (max-width: 1023px) {
  .ng-cinema-running .ng-cinema-chapter-words > span { font-size: clamp(1.375rem, calc(3.5 * var(--ng-vw)), 2.25rem); }
}
@media (max-width: 767px) {
  .ng-cinema-running .ng-cinema-chapter-words > span { font-size: clamp(0.75rem, calc(3.6 * var(--ng-vw)), 1.4375rem); line-height: 1.2; }
  .ng-cinema-chapter-number { font-size: 0.625rem; margin-top: 0.75rem; }
}

/* Compact mobile product explorer: explanation, device, then module controls. */
@media (max-width: 767px) {
  .ng-product-theater { padding: 0.75rem 0 1.5rem; }
  .ng-product-theater > .ng-container { display: flex; flex-direction: column; }
  .ng-theater-heading { order: 0; }
  .ng-theater-heading .ng-heading { margin-top: 0; }
  .ng-theater-stage { order: 1; display: flex; flex-direction: column; align-items: center; gap: 0.75rem; height: auto; width: 100%; padding: 0; margin-top: 1rem; perspective: none; }
  .ng-theater-explanations { order: -1; display: flex; align-items: center; justify-content: center; min-height: 4.875rem; width: 100%; padding: 0; }
  .ng-theater-side-note { position: relative; inset: auto; translate: none; width: 100%; max-width: 21.25rem; margin: 0; text-align: center; }
  .ng-theater-side-note h3 { font-size: 1.1875rem; line-height: 1.2; }
  .ng-theater-side-note p { margin-top: 0.375rem; font-size: 0.75rem; line-height: 1.45; }
  .ng-theater-description-full { display: none; }
  .ng-theater-description-mobile { display: block; }
  .ng-theater-main { position: relative; inset: auto; }
  .ng-theater-main .ng-phone { width: clamp(9.5rem, calc((100svh - 23.5rem) / 2), 16.25rem); padding: 0.3125rem; border-radius: 1.6875rem; }
  .ng-theater-main .ng-phone-screen { border-radius: 1.3125rem; }
  .ng-theater-main .ng-phone-speaker { top: 0.5rem; width: 1.5625rem; left: calc(50% - 0.78125rem); height: 0.125rem; }
  .ng-theater-wing { display: none; }
  .ng-theater-floor { inset: 5rem 5% 0; height: auto; }
  .ng-module-tabs { order: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; max-width: 22.5rem; gap: 0.1875rem; margin: 0.875rem auto 0; padding: 0.25rem; border-radius: 1.125rem; }
  .ng-module-tabs button { min-height: 2.5rem; padding: 0.375rem 0.1875rem; gap: 0.25rem; font-size: 0.625rem; }
  .ng-module-tabs button svg { width: 0.8125rem; height: 0.8125rem; flex-shrink: 0; }
}
/* Main landing sections fill at least the visible mobile viewport height. */
@media (max-width: 767px) {
  .ng-mobile-hero-modules { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.625rem; width: min(100%, 24rem); margin: 1.875rem auto 0; padding: 0; list-style: none; }
  .ng-mobile-hero-modules li { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; min-width: 0; }
  .ng-mobile-module-icon { display: grid; place-items: center; width: 100%; max-width: 3.25rem; aspect-ratio: 1; border-radius: 30%; border: 0.0625rem solid #ffffff24; background: radial-gradient(ellipse at 50% 55%, #fa811c26, transparent 72%), linear-gradient(145deg, #30302f, #101010 65%); box-shadow: inset 0 0.125rem 0.25rem #ffffff15, inset 0 -0.125rem 0.375rem #0008; }
  .ng-mobile-module-icon svg { width: 1.5625rem; height: 1.5625rem; color: #ff9b45; filter: drop-shadow(0 0 0.375rem #ff821d50); }
  .ng-mobile-module-label { font-size: 0.6875rem; line-height: 1.2; font-weight: 400; color: #b9ada3; }
  .ng-mobile-hero-brand { margin-bottom: 1.75rem; }
  .ng-cinema-copy h1 { margin-top: 2rem; }
  .ng-cinema-copy p { margin-top: 2.25rem; }
  .ng-mobile-hero-modules { margin-top: 2.25rem; }
  .ng-cinema-actions { margin-top: 2.5rem; }
}
@media (max-width: 767px) {
  .nortgo-landing main > section { min-height: 100svh; box-sizing: border-box; }
  .ng-cinema-hero.ng-cinema-static,
  .ng-cinema-static .ng-cinema-scene { min-height: 100svh; }
  .ng-cinema-copy p { margin-top: 2.25rem; }
  .ng-cinema-actions { margin-top: 2.5rem; }
  .ng-product-theater { display: flex; align-items: center; }
  .ng-product-theater > .ng-container { width: 100%; min-height: calc(100svh - 2.25rem); justify-content: center; align-items: center; text-align: center; }
  .ng-finale { min-height: 100svh; display: flex; align-items: center; }
  .ng-finale > .ng-container { width: 100%; }
}
@media (min-width: 1024px) {
  .ng-cinema-copy h1,
  .ng-theater-heading .ng-heading,
  .ng-finale-copy h2 { font-size: clamp(3.375rem, calc(5.2 * var(--ng-vw)), 5.125rem); }
}
/* Desktop: mais respiro entre título, subtítulo e CTA do hero. */
@media (min-width: 1024px) {
  .ng-cinema-copy p { margin-top: 2.25rem; }
  .ng-cinema-actions { margin-top: 2.75rem; }
}
/* Mobile: bloco do hero centralizado na tela e com mais respiro. */
@media (max-width: 767px) {
  .ng-cinema-static .ng-cinema-copy { top: 0; bottom: 0; height: 100svh; margin-top: 0; padding: 4.5rem 0 2rem; display: flex; flex-direction: column; justify-content: center; }
  .ng-mobile-hero-brand { margin-bottom: 2.5rem; }
  .ng-cinema-copy h1 { margin-top: 2.5rem; }
  .ng-mobile-hero-modules { margin-top: 3rem; }
  .ng-cinema-copy p { margin-top: 2.75rem; }
  .ng-cinema-actions { margin-top: 3rem; }
}
/* Fonte maior nos botões Entrar e Começar agora (todos os dispositivos). */
.nortgo-landing .ng-button,
.nortgo-landing .ng-cinema-actions .ng-button { font-size: 1.125rem !important; }
.nortgo-landing .ng-header a[href="/login"] { font-size: 1.25rem !important; }

/* Notebook e maiores: Logo e Entrar mais afastados na barra do topo. */
@media (min-width: 1024px) {
  .nortgo-landing .ng-header > .ng-container { width: calc(100% - 6rem); max-width: none; padding-left: 1.125rem; padding-right: 1.125rem; }
}

/* Safe areas (notch, Dynamic Island, barra de gestos) — somente na landing. */
.nortgo-landing .ng-header { padding-top: calc(1.625rem + env(safe-area-inset-top, 0px)); padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); }
.nortgo-landing .ng-cinema-bottom { bottom: calc(1.75rem + env(safe-area-inset-bottom, 0px)); }
.nortgo-landing .ng-footer { padding-bottom: env(safe-area-inset-bottom, 0px); }
@media (max-width: 767px) {
  .nortgo-landing .ng-header { padding-top: calc(0.875rem + env(safe-area-inset-top, 0px)); }
  .nortgo-landing .ng-header .ng-brand { visibility: hidden; }
  .nortgo-landing .ng-cinema-static .ng-cinema-copy { padding: calc(4.5rem + env(safe-area-inset-top, 0px)) env(safe-area-inset-right, 0px) calc(2rem + env(safe-area-inset-bottom, 0px)) env(safe-area-inset-left, 0px); }
  .nortgo-landing .ng-cinema-bottom { bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px)); font-size: 0.625rem; }
  .nortgo-landing .ng-cinema-bottom a > span { display: inline; }
}
