.public-assessment-page { position: relative; width: 100%; padding: 0; overflow: clip; }
.public-brand-logo { padding: 6px 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: rgba(255,250,238,.92); box-shadow: 0 12px 34px rgba(0,0,0,.16); backdrop-filter: blur(14px); }
.public-assessment-page > .language-switcher { position: fixed; z-index: 80; top: 18px; right: calc(clamp(24px, 4vw, 70px) + 165px); margin: 0; border-color: rgba(255,255,255,.24); background: rgba(9,42,32,.72); backdrop-filter: blur(18px); box-shadow: 0 10px 30px rgba(0,0,0,.16); }
.public-assessment-page > .language-switcher > span { color: rgba(255,255,255,.6); }
.public-assessment-page > .language-switcher button,
.public-assessment-page > .language-switcher a { color: #fff3d5; }
.public-assessment-page > .language-switcher button:hover,
.public-assessment-page > .language-switcher button.active,
.public-assessment-page > .language-switcher a:hover,
.public-assessment-page > .language-switcher a.active { background: #f0c774; color: #123a2c; }
.public-assessment-grid[hidden] { display: none !important; }

.gut-experience { --gut-progress: 0; --gut-scene-progress: 0; --gut-pointer-x: 0; --gut-pointer-y: 0; position: relative; color: #fff7e6; background: #082c22; }
.gut-experience *, .gut-experience *::before, .gut-experience *::after { box-sizing: border-box; }
.gut-hero-nav { position: absolute; z-index: 70; top: 0; left: 0; display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 28px clamp(24px, 4vw, 70px); pointer-events: none; }
.gut-wordmark { color: #ffe19b; font-size: 10px; font-weight: 900; letter-spacing: .28em; }
.gut-nav-cta, .gut-primary-cta { border: 0; font: inherit; cursor: pointer; }
.gut-nav-cta { pointer-events: auto; min-height: 42px; padding: 10px 18px; border: 1px solid rgba(255,233,184,.55); border-radius: 999px; color: #fff5d9; background: rgba(8,44,34,.38); backdrop-filter: blur(14px); font-size: 12px; font-weight: 800; }
.gut-nav-cta span { margin-left: 10px; }
.gut-nav-cta:hover { background: #f3cd7e; color: #113b2d; }

.gut-scroll-story { position: relative; height: 430vh; background: #082c22; }
.gut-sticky { position: sticky; top: 0; height: 100vh; min-height: 620px; overflow: hidden; isolation: isolate; background: #092f24; }
.gut-world, .gut-vignette, .gut-particles, .gut-depth { position: absolute; inset: 0; }
.gut-world { z-index: -5; transform: scale(calc(1.04 + var(--gut-progress) * .16)) translate(calc(var(--gut-pointer-x) * -10px), calc(var(--gut-pointer-y) * -7px)); transition: transform .15s linear; }
.gut-world img { width: 100%; height: 100%; object-fit: cover; object-position: 56% center; filter: saturate(.93) contrast(1.03); }
.gut-vignette { z-index: -4; background: linear-gradient(90deg, rgba(3,25,19,.91) 0%, rgba(3,25,19,.63) 35%, rgba(3,25,19,.12) 72%), linear-gradient(0deg, rgba(3,24,18,.62), transparent 32%, rgba(3,24,18,.24)); }
.gut-particles { z-index: -2; width: 100%; height: 100%; pointer-events: none; mix-blend-mode: screen; }
.gut-depth { z-index: -1; border-radius: 50%; border: 1px solid rgba(255,222,148,.16); box-shadow: inset 0 0 70px rgba(255,197,108,.08); pointer-events: none; }
.gut-depth-one { width: min(54vw, 760px); height: min(54vw, 760px); top: auto; left: auto; right: -8vw; bottom: -24vw; transform: translate(calc(var(--gut-pointer-x) * 18px), calc(var(--gut-pointer-y) * 14px)); }
.gut-depth-two { width: min(26vw, 420px); height: min(26vw, 420px); top: 17vh; right: 17vw; left: auto; bottom: auto; transform: translate(calc(var(--gut-pointer-x) * -22px), calc(var(--gut-pointer-y) * -16px)); }
.gut-art-fallback .gut-world { display: none; }
.gut-art-fallback .gut-sticky { background: radial-gradient(circle at 72% 54%, #376b3d 0, #123d2d 34%, #072b21 68%); }

.gut-scene { position: absolute; z-index: 4; inset: 0; display: flex; flex-direction: column; justify-content: center; max-width: 780px; padding: 100px clamp(28px, 6vw, 92px) 70px; opacity: 0; visibility: hidden; transform: translateY(42px); transition: opacity .55s ease, transform .7s cubic-bezier(.2,.7,.2,1), visibility .55s; pointer-events: none; }
.gut-scene.is-active { opacity: 1; visibility: visible; transform: translateY(0); }
.gut-scene p { max-width: 560px; color: rgba(245,245,222,.82); font-size: clamp(16px, 1.5vw, 20px); line-height: 1.6; }
.gut-scene h1, .gut-scene h2, .gut-gateway h2 { margin: 16px 0 24px; color: #fff8e7; font-size: clamp(60px, 8.8vw, 138px); font-weight: 700; line-height: .82; letter-spacing: -.07em; text-wrap: balance; }
.gut-scene h1 em, .gut-scene h2 em, .gut-gateway h2 em { display: block; color: #f0c776; font-weight: 700; }
.gut-kicker, .gut-step { color: #f5d38c !important; font-size: 10px !important; font-weight: 900; letter-spacing: .24em; text-transform: uppercase; }
.gut-lede { font-size: clamp(17px, 1.6vw, 22px) !important; }
.gut-scroll-cue { display: flex; align-items: center; gap: 16px; margin-top: 44px; color: #fff0c6; font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.gut-scroll-cue i { position: relative; width: 34px; height: 52px; border: 1px solid rgba(255,239,199,.55); border-radius: 999px; }
.gut-scroll-cue i::after { content: ''; position: absolute; top: 9px; left: 50%; width: 4px; height: 9px; border-radius: 10px; background: #ffd88a; transform: translateX(-50%); animation: gut-scroll 1.7s ease-in-out infinite; }
@keyframes gut-scroll { 0%,100% { transform: translate(-50%,0); opacity: .25; } 45% { opacity: 1; } 70% { transform: translate(-50%,21px); opacity: .2; } }

.gut-scene-digest { max-width: 720px; }
.gut-scene-digest h2, .gut-scene-absorb h2, .gut-scene-nourish h2 { font-size: clamp(54px, 7vw, 108px); }
.gut-orb { position: absolute; left: min(68vw, 1040px); top: 40%; width: clamp(90px, 12vw, 180px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 34% 30%, #fff2b9 0 4%, #f8bc5f 14%, #c96e47 46%, rgba(171,67,44,.2) 68%, transparent 72%); filter: drop-shadow(0 0 32px rgba(255,186,92,.65)); transform: translate(-50%, -50%) scale(calc(.65 + var(--gut-scene-progress) * .45)); }
.gut-orb::before, .gut-orb::after, .gut-orb span::before, .gut-orb span::after { content: ''; position: absolute; width: 14%; aspect-ratio: 1; border-radius: 50%; background: #ffd789; box-shadow: 0 0 16px rgba(255,213,137,.8); opacity: var(--gut-scene-progress); }
.gut-orb::before { left: calc(5% - var(--gut-scene-progress) * 90%); top: 22%; }
.gut-orb::after { right: calc(4% - var(--gut-scene-progress) * 115%); top: 48%; }
.gut-orb span::before { left: calc(24% - var(--gut-scene-progress) * 65%); bottom: -8%; }
.gut-orb span::after { right: calc(25% - var(--gut-scene-progress) * 84%); top: -8%; }

.gut-scene-absorb { max-width: 760px; margin-left: auto; padding-right: clamp(32px, 7vw, 110px); text-align: right; align-items: flex-end; }
.gut-membrane { position: fixed; z-index: -1; inset: 0; width: 100%; height: 100%; pointer-events: none; transform: translateY(calc(70% - var(--gut-scene-progress) * 56%)); opacity: .9; }
.gut-membrane path { fill: rgba(243,218,158,.13); stroke: rgba(255,227,161,.5); stroke-width: 2; }
.gut-scene-nourish { max-width: 900px; }
.gut-outcomes { display: flex; width: min(720px, 76vw); gap: 10px; margin-top: 32px; }
.gut-outcomes span { display: grid; min-height: 110px; flex: 1; align-content: space-between; padding: 18px; border: 1px solid rgba(255,235,190,.34); border-radius: 18px; color: #fff5d9; background: rgba(8,41,31,.46); backdrop-filter: blur(14px); font-size: 17px; font-weight: 800; transform: translateY(calc((1 - var(--gut-scene-progress)) * 28px)); }
.gut-outcomes b { color: #f2c97a; font-size: 10px; letter-spacing: .15em; }

.gut-progress { position: absolute; z-index: 12; left: clamp(28px,6vw,92px); right: clamp(28px,6vw,92px); bottom: 34px; height: 1px; background: rgba(255,238,201,.22); }
.gut-progress span { display: block; width: calc(var(--gut-progress) * 100%); height: 100%; background: #f3ce82; box-shadow: 0 0 16px #f3ce82; }
.gut-scene-count { position: absolute; z-index: 12; right: clamp(28px,6vw,92px); bottom: 51px; color: rgba(255,241,210,.58); font-size: 10px; letter-spacing: .15em; }
.gut-scene-count b { color: #fff4d7; font-size: 17px; }

.gut-gateway { position: relative; display: grid; min-height: 100vh; overflow: hidden; place-items: center; padding: 120px 28px 180px; text-align: center; background: radial-gradient(circle at center, #235c42 0, #0e3d2d 30%, #06281f 70%); }
.gut-gateway::before { content: ''; position: absolute; inset: 0; opacity: .13; background-image: url('assets/gut-garden/living-gut-garden-desktop.webp'); background-size: cover; background-position: center; filter: blur(16px) saturate(.7); transform: scale(1.1); }
.gut-gateway-core { position: relative; z-index: 3; display: grid; max-width: 820px; justify-items: center; }
.gut-gateway h2 { font-size: clamp(54px, 7vw, 106px); }
.gut-gateway-core > p:not(.gut-step) { max-width: 600px; color: rgba(244,245,221,.82); font-size: 18px; line-height: 1.65; }
.gut-primary-cta { display: flex; min-width: min(390px, 88vw); justify-content: space-between; align-items: center; margin-top: 28px; padding: 19px 22px; border-radius: 999px; color: #0d392b; background: #f1ca79; box-shadow: 0 18px 46px rgba(0,0,0,.2), 0 0 50px rgba(241,202,121,.18); font-size: 14px; font-weight: 900; }
.gut-primary-cta:hover { background: #ffe0a1; transform: translateY(-2px); }
.gut-gateway-core small { margin-top: 14px; color: rgba(255,242,211,.68); }
.gut-gateway-orbit { position: absolute; border: 1px solid rgba(255,225,157,.18); border-radius: 50%; }
.gut-gateway-orbit-a { width: min(78vw, 950px); aspect-ratio: 1; }
.gut-gateway-orbit-b { width: min(54vw, 670px); aspect-ratio: 1; box-shadow: inset 0 0 100px rgba(239,193,107,.06), 0 0 90px rgba(239,193,107,.05); }
.gut-trust-strip { position: absolute; z-index: 3; bottom: 0; left: 0; display: grid; width: 100%; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,231,178,.2); background: rgba(5,31,24,.66); backdrop-filter: blur(12px); text-align: left; }
.gut-trust-strip > * { padding: 22px clamp(20px,3vw,48px); border-right: 1px solid rgba(255,231,178,.16); color: rgba(247,240,214,.72); font-size: 11px; line-height: 1.5; text-decoration: none; }
.gut-trust-strip b { display: block; margin-bottom: 5px; color: #f2d18b; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }

#public-assessment { position: relative; width: min(1320px, calc(100% - 40px)); margin: 0 auto; padding: clamp(70px,8vw,120px) 0; }
.assessment-label { position: absolute; top: 36px; left: 0; grid-column: 1 / -1; color: #217248; font-size: 10px; font-weight: 900; letter-spacing: .22em; text-transform: uppercase; }
#public-assessment .panel, #public-assessment .public-result-placeholder, #public-assessment .free-result-section { border-radius: 34px; box-shadow: 0 24px 70px rgba(26,55,37,.1); }
#public-assessment .public-assessment-form { padding: clamp(24px,4vw,46px); background: rgba(255,255,255,.94); }
#public-assessment .question-card { border-radius: 22px; background: #f7f8f2; }
#public-assessment .primary-button { border-radius: 999px; background: #175c3b; }
.login-access { position: relative; width: min(1320px, calc(100% - 40px)); margin: 20px auto 80px; padding: clamp(30px,5vw,70px); border: 0; border-radius: 38px; color: #f8f1dd; background: radial-gradient(circle at 80% 20%, rgba(244,190,104,.18), transparent 30%), #0c3a2d; box-shadow: 0 28px 80px rgba(13,55,40,.15); }
.login-access-logo { position: absolute; z-index: 2; top: clamp(24px,3vw,42px); left: clamp(28px,4vw,58px); display: block; width: clamp(150px,15vw,205px); padding: 7px 11px; border: 1px solid rgba(255,238,199,.22); border-radius: 17px; background: rgba(255,250,238,.96); box-shadow: 0 12px 34px rgba(0,0,0,.16); }
.login-access-logo img { display: block; width: 100%; height: auto; }
.login-access h2 { color: #fff7e6; font-size: clamp(40px,5vw,68px); }
.login-access p { color: rgba(244,244,224,.7); }
.login-access .eyebrow { color: #f1cd82; }
.login-access .login-card { border-color: rgba(255,235,191,.18); background: rgba(255,255,255,.96); }
.login-access .login-card .login-card-header p { color: #52625a; }
.login-access .login-card .login-storage-note p { color: #3e5147; }

.gut-experience :focus-visible { outline: 3px solid #ffe09a; outline-offset: 5px; }
#public-assessment-heading:focus { outline: 3px solid var(--green); outline-offset: 7px; }

@media (max-width: 900px) {
  .public-assessment-page > .language-switcher { top: auto; right: 12px; bottom: 12px; transform: scale(.9); transform-origin: right bottom; }
  .gut-scene { max-width: 650px; }
  .gut-scene h1, .gut-scene h2 { font-size: clamp(58px,11vw,94px); }
  .gut-vignette { background: linear-gradient(90deg, rgba(3,25,19,.89), rgba(3,25,19,.46) 58%, rgba(3,25,19,.16)), linear-gradient(0deg, rgba(3,24,18,.56), transparent 45%); }
  .gut-trust-strip { grid-template-columns: 1fr; position: relative; }
  .gut-trust-strip > * { border-right: 0; border-bottom: 1px solid rgba(255,231,178,.13); }
  .gut-gateway { padding-bottom: 70px; }
  .login-access { padding-top: 135px; }
  .login-access-logo { width: 165px; }
}

@media (max-width: 640px) {
  .public-brand-logo { top: 10px; left: 10px; width: 128px; }
  .gut-hero-nav { padding: 20px 18px; }
  .gut-wordmark { max-width: 120px; font-size: 8px; line-height: 1.5; }
  .gut-nav-cta { min-height: 38px; padding: 8px 13px; font-size: 10px; }
  .gut-scroll-story { height: 400vh; }
  .gut-sticky { min-height: 560px; }
  .gut-world img { object-position: center center; }
  .gut-vignette { background: linear-gradient(180deg, rgba(3,25,19,.84) 0, rgba(3,25,19,.43) 42%, rgba(3,25,19,.2) 70%, rgba(3,25,19,.66)); }
  .gut-scene { justify-content: flex-start; max-width: none; padding: 112px 20px 70px; }
  .gut-scene h1, .gut-scene h2 { margin: 13px 0 18px; font-size: clamp(50px,15vw,72px); line-height: .86; }
  .gut-scene p { font-size: 15px; line-height: 1.5; }
  .gut-kicker, .gut-step { font-size: 8px !important; }
  .gut-scroll-cue { margin-top: 24px; font-size: 9px; }
  .gut-scroll-cue i { width: 28px; height: 42px; }
  .gut-scene-digest, .gut-scene-absorb, .gut-scene-nourish { padding-top: 105px; text-align: left; align-items: flex-start; }
  .gut-orb { left: 72%; top: 67%; width: 120px; }
  .gut-outcomes { position: absolute; right: 14px; bottom: 66px; left: 14px; width: auto; }
  .gut-outcomes span { min-height: 82px; padding: 12px; font-size: 12px; }
  .gut-progress { left: 20px; right: 20px; bottom: 28px; }
  .gut-scene-count { right: 20px; bottom: 43px; }
  .gut-depth-one { width: 100vw; height: 100vw; right: -32vw; bottom: -12vw; }
  .gut-depth-two { width: 58vw; height: 58vw; top: 47vh; right: 55vw; }
  .gut-gateway { min-height: 860px; padding: 100px 20px 40px; align-items: start; }
  .gut-gateway h2 { font-size: clamp(52px,15vw,74px); line-height: .86; }
  .gut-gateway-core > p:not(.gut-step) { font-size: 15px; }
  .gut-gateway-orbit-a { width: 150vw; }
  .gut-gateway-orbit-b { width: 104vw; }
  .gut-trust-strip { position: absolute; bottom: 0; }
  .gut-trust-strip > * { padding: 14px 20px; }
  #public-assessment { width: min(100% - 20px, 1320px); padding-top: 90px; }
  .assessment-label { top: 47px; left: 10px; }
  .login-access { width: min(100% - 20px, 1320px); margin-bottom: 90px; padding-top: 122px; border-radius: 26px; }
  .login-access-logo { top: 20px; left: 20px; width: 150px; }
}

@media (prefers-reduced-motion: reduce) {
  .gut-scroll-story { height: auto; }
  .gut-sticky { position: relative; min-height: 780px; }
  .gut-scene { display: none; transition: none; }
  .gut-scene-enter { display: flex; opacity: 1; visibility: visible; transform: none; }
  .gut-scroll-cue, .gut-progress, .gut-scene-count { display: none; }
  .gut-world { transform: none; transition: none; }
  .gut-gateway-orbit { display: none; }
  .gut-primary-cta, .gut-scroll-cue i::after { animation: none; transition: none; }
}
