:root{--primary:#285e4a;--primary-contrast:#214c3c;--primary-light:#d8f0e5;--body-bg:#f3f7fd;--text:#3c414a;--muted:#63676e;--border:#c4c6c9;--card:#fff;--shadow:0 2px 4px rgb(33 36 41/5%);--shadow-lg:0 8px 24px rgba(60,65,74,.12);--home:#8c75ff;--home-dark:#6606ad;--home-light:#dcd9fb;--travel:#48c3eb;--travel-dark:#1831c3;--travel-light:#c8edf9;--diet:#ff6e84;--diet-dark:#8f0347;--diet-light:#ffd6dc;--other:#ffc656;--other-dark:#774504;--other-light:#feefcf;--warning:#8e0634;--nandos-red:#ce0a26;--radius-sml:10px;--radius-med:20px;--radius-large:30px}*{box-sizing:border-box}html{height:100%}body,html{margin:0;padding:0;font-family:var(--font-main),"Libre Franklin",sans-serif;color:var(--text)}body{min-height:100%;min-height:100dvh}.app-viewport-shell,body{background:#2a2a2a;overflow:hidden}.app-viewport-shell{width:100vw;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center}.app-viewport{aspect-ratio:720/1280;width:min(100vw,calc(100vh * 720 / 1280));height:min(100vh,calc(100vw * 1280 / 720));width:min(100vw,calc(100dvh * 720 / 1280));height:min(100dvh,calc(100vw * 1280 / 720));flex-shrink:0;position:relative;overflow:hidden;background:var(--body-bg);box-shadow:0 12px 48px rgba(0,0,0,.35)}.app-viewport__scale{transform-origin:top left;position:absolute;top:0;left:0}.app-viewport__inner{width:100%}.app-viewport__inner,.viewport-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.viewport-page{min-height:0}.viewport-page--centered{align-items:center;justify-content:center;padding:2rem 1rem}.viewport-page__main{flex:1 1;overflow-y:auto;overflow-x:hidden;min-height:0;padding:1.25rem 0 2rem}.page-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.75rem}.page-heading h1{margin:0;font-family:var(--font-display),"Song Myung",serif;font-size:1.75rem;font-weight:400;color:var(--text);line-height:1.2}.page-heading__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end}.btn-small{padding:.4rem .75rem;font-size:.85rem}.loading-cue{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;padding:2rem 1rem;text-align:center}.loading-cue__spinner{width:2.25rem;height:2.25rem;border:3px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;animation:loading-spin .75s linear infinite}.loading-cue__label{color:var(--muted);font-size:.95rem;font-weight:600}.loading-cue-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(243,247,253,.82);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:inherit;z-index:2}@keyframes loading-spin{to{transform:rotate(1turn)}}a{color:inherit}button,input,select{font:inherit}.container{width:100%;max-width:720px;margin:0 auto;padding-left:1.25rem;padding-right:1.25rem}.card{background:var(--card);border:none;border-radius:var(--radius-sml);box-shadow:var(--shadow);padding:1.25rem 1.35rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:var(--radius-large);padding:.85rem 1.4rem;cursor:pointer;font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-contrast);border-color:var(--primary-contrast)}.btn-secondary{background:transparent;color:var(--primary);border-color:var(--primary)}.btn-secondary:hover:not(:disabled){background:var(--primary-light)}.btn-header{background:transparent;color:#fff;border-color:hsla(0,0%,100%,.65);padding:.55rem 1rem;font-size:.9rem}.btn-header:hover:not(:disabled){background:hsla(0,0%,100%,.12)}.btn:disabled{opacity:.5;cursor:not-allowed}.header{background:var(--primary);color:#fff;padding:.85rem 0 1.1rem;flex-shrink:0;border-radius:0 0 0 var(--radius-large)}.header-inner{justify-content:space-between;gap:1rem}.header-brand,.header-inner{display:flex;align-items:flex-end}.header-brand{gap:.75rem}.header-bjorn{display:block;height:56px;width:auto;margin-bottom:-.15rem}.brand{font-weight:700;letter-spacing:.02em;font-size:.95rem;line-height:1.2}.subbrand{font-size:.8rem;opacity:.9;font-weight:500}.question-stack{display:flex;flex-direction:column;gap:1.35rem;margin-top:.75rem}.question-block{padding-top:.25rem}.question-block+.question-block{border-top:1px solid var(--border);padding-top:1.15rem}.question-set-step{margin:.15rem 0 0;font-size:.85rem}.slider-wrap__value{margin:.5rem 0 0;font-weight:600;color:var(--text)}.progress{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.5rem;gap:.5rem;margin:.25rem 0 1.25rem}.progress-item{text-align:center}.progress-pointer{display:block;height:1rem;line-height:1rem;font-size:.65rem;color:var(--primary);margin-bottom:.15rem}.progress-pointer--spacer{visibility:hidden}.progress-step{height:22px;border-radius:100px;background:#e4e8ee;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.progress-check{position:relative;z-index:1;color:#fff}.progress-item.active .progress-step,.progress-item.done .progress-step{background:#e4e8ee}.progress-item.active .progress-step:after,.progress-item.done .progress-step:after{content:"";position:absolute;inset:0;border-radius:inherit}.progress-item.done .progress-step:after{width:100%}.answers--compact{gap:.45rem}.answers--compact .answer-option{padding:.55rem .85rem;font-size:.9rem}.progress-item--home.active .progress-step:after,.progress-item--home.done .progress-step:after{background:var(--home-dark);width:100%}.progress-item--travel.active .progress-step:after,.progress-item--travel.done .progress-step:after{background:var(--travel-dark);width:100%}.progress-item--diet.active .progress-step:after,.progress-item--diet.done .progress-step:after{background:var(--diet-dark);width:100%}.progress-item--other.active .progress-step:after,.progress-item--other.done .progress-step:after{background:var(--other-dark);width:100%}.progress-item.active .progress-step:after{width:55%}.progress-label{display:block;margin-top:.35rem;font-size:.75rem;font-weight:600;color:var(--muted)}.progress-item.active .progress-label{color:var(--primary);font-weight:700}.progress-item.done .progress-label{color:var(--text)}.page-heading__spacer{flex:1 1}.question-panel{position:relative;background:var(--card);border-radius:var(--radius-sml);box-shadow:var(--shadow);padding:1.35rem 1.25rem 1.5rem;border-top:4px solid var(--primary)}.question-panel--home{border-top-color:var(--home)}.question-panel--travel{border-top-color:var(--travel)}.question-panel--diet{border-top-color:var(--diet)}.question-panel--other{border-top-color:var(--other)}.question-set-title{margin:0 0 .35rem;font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--primary)}.question-nav{display:grid;grid-template-columns:2.5rem 1fr 2.5rem;grid-gap:.5rem;gap:.5rem;align-items:start;margin-bottom:1rem}.question-nav__meta{text-align:center;min-width:0}.question-nav__meta .question-set-title{margin-bottom:.2rem}.question-nav__meta .question-set-step{margin:0}.question-nav__btn{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin-top:.1rem;border:1px solid var(--border,#e5e2de);border-radius:999px;background:#fff;color:var(--text);cursor:pointer;box-shadow:var(--shadow);transition:background .15s ease,color .15s ease,opacity .15s ease}.question-nav__btn:hover:not(:disabled){background:var(--primary-light,#f8e8ea);color:var(--primary)}.question-nav__btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.question-set-title--home{color:var(--home-dark)}.question-set-title--travel{color:var(--travel-dark)}.question-set-title--diet{color:var(--diet-dark)}.question-set-title--other{color:var(--other-dark)}.question-title{font-family:var(--font-display),"Song Myung",serif;font-size:1.55rem;font-weight:400;line-height:1.3;margin:0 0 .5rem;color:var(--text)}.question-tooltip{color:var(--muted);margin:0 0 1.25rem;font-size:.95rem;line-height:1.45}.answers{display:grid;grid-gap:.65rem;gap:.65rem}.answer-option{display:block;width:100%;text-align:left;background:#fff;border:1px solid transparent;border-radius:var(--radius-sml);padding:1rem 1.1rem;cursor:pointer;box-shadow:var(--shadow);color:var(--text);font-weight:600;line-height:1.3;transition:border-color .15s ease,background-color .15s ease}.answer-option.selected,.answer-option:hover:not(:disabled){border-color:var(--primary)}.answer-option.selected{background:var(--primary-light)}.slider-wrap{margin-top:1rem}.slider-wrap input[type=range]{width:100%;accent-color:var(--primary)}.results-hero{text-align:center;padding:2rem 1rem;background:var(--card);border-radius:var(--radius-sml);box-shadow:var(--shadow)}.results-score{font-family:var(--font-display),"Song Myung",serif;font-size:3rem;font-weight:400;color:var(--primary);line-height:1;margin:.5rem 0}.results-score--empty{color:var(--muted)}.results-paw{text-align:center;margin-bottom:1.5rem}.results-capture{background:var(--body-bg);padding:.25rem 0 .5rem}.results-capture__title{margin:0 0 .75rem;font-family:var(--font-display),"Song Myung",serif;font-size:1.5rem;font-weight:400;text-align:center;color:var(--text);line-height:1.2}.results-download{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin:1.25rem 0 .5rem}.results-download .btn{width:100%}.results-avg-line{margin:.5rem 0 .25rem;color:var(--muted);font-size:.95rem}.results-compare-line{margin:.25rem 0 .75rem;font-size:1.05rem}.results-equates{margin:0 auto 1rem;max-width:28rem;font-size:.9rem}.results-compare{margin-top:.5rem}.results-compare__title{font-family:var(--font-display),"Song Myung",serif;font-size:1.25rem;font-weight:400;margin:0 0 .85rem}.results-compare__list{display:grid;grid-gap:.75rem;gap:.75rem}.paw-score{display:flex;flex-direction:column;align-items:center;padding-top:30px}.paw-score__svg{width:min(100%,335px);height:auto}.paw-score__label{font-size:11px;font-weight:600}.paw-score__label,.paw-score__points{fill:#fff;font-family:var(--font-main),"Libre Franklin",sans-serif}.paw-score__points{font-size:18px;font-weight:700}.paw-score__overall{fill:#fff;font-size:42px;font-weight:700;font-family:var(--font-display),"Song Myung",serif}.paw-score__caption{margin:.35rem 0 0;color:var(--muted);font-size:.85rem}.compare-gauge{background:var(--card);border-radius:var(--radius-sml);box-shadow:var(--shadow);padding:.85rem 1rem;border-left:4px solid var(--primary)}.compare-gauge--home{border-left-color:var(--home)}.compare-gauge--travel{border-left-color:var(--travel)}.compare-gauge--diet{border-left-color:var(--diet)}.compare-gauge--other{border-left-color:var(--other)}.compare-gauge__header{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.55rem}.compare-gauge__tonnes{margin-right:.45rem;color:var(--muted);font-size:.9rem}.compare-gauge__diff{font-size:.95rem}.compare-gauge--home .compare-gauge__diff{color:var(--home-dark)}.compare-gauge--travel .compare-gauge__diff{color:var(--travel-dark)}.compare-gauge--diet .compare-gauge__diff{color:var(--diet-dark)}.compare-gauge--other .compare-gauge__diff{color:var(--other-dark)}.compare-gauge__track{position:relative;height:10px;border-radius:999px;background:#e8ecf2;overflow:visible}.compare-gauge__fill{height:100%;border-radius:999px;background:var(--primary);min-width:2px}.compare-gauge--home .compare-gauge__fill{background:var(--home)}.compare-gauge--travel .compare-gauge__fill{background:var(--travel)}.compare-gauge--diet .compare-gauge__fill{background:var(--diet)}.compare-gauge--other .compare-gauge__fill{background:var(--other)}.compare-gauge__avg{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text);transform:translateX(-50%);z-index:1}.compare-gauge__footnote{margin:.4rem 0 0;font-size:.8rem;color:var(--muted)}.bucket-grid{display:grid;grid-gap:.75rem;gap:.75rem}.bucket-card{border-left:4px solid var(--primary)}.bucket-card h3{margin:0 0 .25rem;font-size:1rem;font-weight:700}.bucket-card p{margin:0;color:var(--muted)}.bucket-card:first-child{border-left-color:var(--home)}.bucket-card:nth-child(2){border-left-color:var(--travel)}.bucket-card:nth-child(3){border-left-color:var(--diet)}.bucket-card:nth-child(4){border-left-color:var(--other)}.benchmark{font-size:.9rem;color:var(--primary);font-weight:600;margin-top:.35rem!important}.footer-note{text-align:center;color:var(--muted);font-size:.9rem;margin-top:2rem}.mock-okta-page{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:2rem 1rem;background:#f5f5f6;overflow-y:auto}.mock-okta-card{width:min(400px,100%);background:#fff;border:1px solid #ddd;border-radius:3px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:2rem}.mock-okta-logo{font-size:1.75rem;font-weight:700;color:#1d1d21;letter-spacing:-.02em;margin-bottom:.25rem}.mock-okta-app{color:#5e5e5e;margin:0 0 .5rem;font-size:.95rem}.mock-okta-badge{display:inline-block;background:#fff3cd;color:#856404;font-size:.8rem;padding:.25rem .5rem;border-radius:4px;margin-bottom:1.5rem}.mock-okta-form label{display:block;font-size:.85rem;font-weight:600;margin-bottom:1rem;color:#1d1d21}.mock-okta-form input{display:block;width:100%;margin-top:.35rem;padding:.65rem .75rem;border:1px solid #c4c4c4;border-radius:3px}.mock-okta-submit{width:100%;margin-top:.5rem;border-radius:3px}.mock-okta-divider{text-align:center;color:var(--muted);font-size:.85rem;margin:1.5rem 0 1rem}.mock-okta-demos{display:grid;grid-gap:.5rem;gap:.5rem}.mock-okta-demo-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:#fafafa;cursor:pointer;text-align:left}.mock-okta-demo-btn:hover{border-color:var(--primary);background:var(--primary-light)}.mock-okta-demo-btn span{font-size:.8rem;color:var(--muted)}.mock-okta-demo-btn em{font-size:.75rem;font-style:normal;color:var(--muted)}.mock-okta-demo-btn--results{border:2px solid var(--nandos-red);background:linear-gradient(135deg,#fff5f6,#ffe8eb);box-shadow:inset 3px 0 0 var(--nandos-red)}.mock-okta-demo-btn--results:hover{border-color:var(--nandos-red);background:linear-gradient(135deg,#ffe8eb,#ffd0d6)}.mock-okta-demo-btn--results strong{color:var(--nandos-red)}.mock-okta-demo-btn--results em{color:var(--nandos-red);font-weight:600}.mock-okta-status{margin-top:1rem;color:var(--primary);font-size:.9rem}.mock-okta-footer{margin-top:1.5rem;text-align:center;font-size:.9rem}.mock-okta-footer a{color:var(--primary)}.login-page{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:2rem 1rem;overflow-y:auto;background:var(--body-bg)}.login-card{width:min(480px,100%)}.login-card h1{margin-top:.35rem;font-family:var(--font-display),"Song Myung",serif;font-weight:400;color:var(--text)}.login-card .subbrand{color:var(--primary);opacity:1;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.muted{color:var(--muted)}.error{color:var(--warning);margin-top:1rem}