:root{--canvas:#f3f4ef;--ink:#183d33;--muted:#64716a;--accent:#b2ef76;--app:#f5f6f2;--white:#fff;--soft:#e9f1e5;--line:#dce2d8;--amber:#885914;--amber-bg:#f7eedb;--green:#286340;--phone-width:384px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4a805e;outline-offset:3px}svg{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.045em}button{transition:background .16s,color .16s,transform .16s}.skip{position:fixed;top:-100px;left:20px;padding:12px 20px;background:var(--ink);color:white;z-index:20}.skip:focus{top:12px}.showroom-header{height:100px;max-width:1480px;padding:0 56px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:37px;font-weight:750;line-height:1;letter-spacing:-2.8px;display:inline-flex;align-items:center}.wordmark svg{width:34px;height:34px;stroke:currentColor;stroke-width:1.8;margin-left:3px}.edition{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1.5px;font-weight:600}.edition>span{width:6px;height:6px;border-radius:50%;background:#668a59}.back-site{display:flex;align-items:center;gap:24px;min-height:44px;font-size:12px}.back-site>span{font-size:20px}.showroom{display:grid;grid-template-columns:minmax(280px,1fr) var(--phone-width) minmax(200px,.7fr);gap:clamp(30px,5vw,80px);align-items:center;max-width:1328px;margin:0 auto;padding:26px 40px 36px}.intro{padding-bottom:8px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.65px;line-height:1.5}.intro>.eyebrow{color:var(--muted);margin-bottom:22px}.intro h1{font-size:clamp(48px,4.5vw,68px);line-height:1.03;letter-spacing:-.07em;font-weight:550}.intro-copy{margin-top:24px;font-size:15px;color:var(--muted);line-height:1.8;letter-spacing:-.025em}.screen-selector{display:grid;gap:5px;margin-top:42px}.screen-choice{display:flex;align-items:center;gap:15px;min-height:71px;padding:12px 16px;border-radius:16px;transition:background .16s}.screen-choice:hover{background:#e9ede5}.screen-choice[aria-current=page]{background:#e1efce}.step{font-size:11px;color:#73806f;font-variant-numeric:tabular-nums}.screen-choice strong{display:block;font-size:14px;font-weight:600;letter-spacing:-.035em}.screen-choice small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.choice-arrow{font-size:21px;margin-left:auto;opacity:0}.screen-choice[aria-current=page] .choice-arrow{opacity:1}.interaction-hint{margin:21px 0 0 17px;font-size:11px;color:var(--muted)}.interaction-hint>span{font-size:16px;margin-right:7px}.device-stage{min-width:0}.device-label{display:flex;justify-content:space-between;align-items:center;padding:0 22px;margin-bottom:15px;font-size:10px;color:var(--muted)}.device-label>span:first-child{font-size:9px;letter-spacing:1.8px;font-weight:600}.iphone{position:relative;width:var(--phone-width);height:802px;border:1px solid #929690;border-radius:58px;padding:8px;background:linear-gradient(110deg,#777c75 0%,#292e2b 8%,#202420 78%,#646b64 100%);box-shadow:inset 0 0 0 2px #353b35,0 32px 52px -25px #122d334a,0 7px 15px #19332514;isolation:isolate}.phone-screen{height:100%;position:relative;display:flex;flex-direction:column;overflow:hidden;border:3px solid #151b17;border-radius:50px;background:var(--app)}.hardware-button{position:absolute;width:3px;background:#787f78;box-shadow:inset 1px 0 #454d46;border-radius:2px;left:-3px}.silent{height:26px;top:107px}.volume-up{height:49px;top:162px}.volume-down{height:49px;top:225px}.power{height:70px;top:184px;left:auto;right:-3px}.status-bar{height:52px;flex:0 0 52px;padding:15px 23px 0;display:flex;justify-content:space-between;align-items:flex-start;font-size:13px;font-weight:650;color:#183329;position:relative;z-index:2}.dynamic-island{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:106px;height:29px;background:#151916;border-radius:30px}.dynamic-island i{position:absolute;right:12px;top:10px;border-radius:50%;width:9px;height:9px;background:#122128;box-shadow:inset 0 0 0 2px #1c2625}.status-icons{display:flex;align-items:center;gap:4px;margin-top:3px}.status-icons svg{width:14px;height:12px;stroke:currentColor;fill:none;stroke-width:1.7}.status-icons .wifi{width:15px;stroke-width:1.5}.battery{display:block;width:21px;height:10px;background:#183329;border-radius:3px;border:1px solid var(--app);outline:1px solid #183329;position:relative;margin-left:2px}.battery:after{content:"";position:absolute;right:-4px;top:2px;height:4px;width:2px;background:#183329;border-radius:1px}.app-topbar{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:1px 22px 7px;flex:0 0 auto}.app-wordmark{font-size:24px;font-weight:750;letter-spacing:-1.5px;display:flex;align-items:center}.app-wordmark span{font-size:28px;font-weight:400;margin-left:2px}.topbar-actions{display:flex;align-items:center;gap:7px}.preview-badge{font-size:8px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);background:#e9ede5;border-radius:6px;padding:3px 5px}.avatar-initials{width:36px;height:36px;border-radius:50%;background:#dee6d7;display:grid;place-items:center;font-size:11px;font-weight:650}.top-avatar{background:transparent;padding:4px;min-width:44px;min-height:44px}.icon-button{min-width:44px;min-height:44px;border-radius:50%;background:transparent;display:inline-grid;place-items:center}.icon-button:hover{background:#e4eadd}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.back-button{display:flex;align-items:center;font-size:13px;gap:4px;min-height:44px;background:none;margin-left:-9px;padding:4px 8px}.app-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:6px 20px 24px;scrollbar-width:none}.app-scroll::-webkit-scrollbar{display:none}.app-heading{font-size:27px;line-height:1.1;margin:4px 0 8px;letter-spacing:-.05em}.app-subtitle{font-size:12px;color:var(--muted);line-height:1.55}.app-eyebrow{font-size:8px;letter-spacing:1.3px;font-weight:650;color:var(--muted);margin-bottom:8px}.page-heading{margin-bottom:20px}/* Two distinct ratings; original dotted rings share a visual language, not a scale. */
.passport-card{position:relative;background:var(--accent);border-radius:24px;padding:0 18px 0;color:var(--ink);overflow:hidden}
.passport-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;font-size:14px;font-weight:600;letter-spacing:-.035em}
.rating-visibility{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:transparent;font-size:10px;min-height:44px;padding:5px 0;white-space:nowrap;color:var(--ink)}
.rating-visibility .icon{width:13px;height:13px}
.passport-orbit{width:206px;max-width:100%;aspect-ratio:1;margin:-3px auto -4px;position:relative}
.rating-radial{width:100%;height:100%;overflow:visible}
.radial-dot{fill:#285c32}.radial-rest{fill:#285c32;fill-opacity:.12}
.orbit-centre{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.orbit-eyebrow{font-size:7px;letter-spacing:1px;font-weight:650;margin-bottom:3px}
.score-number{font-size:57px;font-weight:500;line-height:1;letter-spacing:-.065em;font-variant-numeric:tabular-nums}
.score-caption{font-size:9px;margin-top:4px;color:#355235}
.score-rating{font-size:11px;line-height:1.3;font-weight:600;margin-top:8px}
.score-explainer{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;width:100%;background:none;color:#355235;font-size:10px;padding:7px 0 12px}
.score-explainer .icon{width:13px;height:13px}
.equifax-card{margin-top:12px;background:white;border-radius:21px;position:relative;display:flex;align-items:center;gap:10px;padding:9px 12px 9px 8px;min-height:114px}
.equifax-orbit{width:95px;height:95px;flex-shrink:0;position:relative}
.equifax-orbit .radial-dot{fill:#428840}.equifax-orbit .radial-rest{fill:#183d33;fill-opacity:.12}
.equifax-orbit strong{font-size:25px;font-weight:550;line-height:1.1;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.equifax-orbit .orbit-centre>span{font-size:7px;margin-top:3px;color:var(--muted)}
.equifax-detail{flex:1;min-width:0;padding-top:5px}
.equifax-detail h3{font-size:12px;line-height:1.3;letter-spacing:-.025em;padding-right:22px}
.equifax-rating{font-size:10px;margin-top:6px;font-weight:600}.equifax-rating>span{color:var(--muted);font-size:9px;font-weight:400}
.equifax-detail .rating-visibility{justify-content:flex-start;font-size:9px;color:var(--muted);min-height:44px;padding-top:8px}
.bureau-info{display:grid;place-items:center;position:absolute;top:4px;right:3px;width:44px;min-height:44px;background:none;color:var(--muted)}.bureau-info .icon{width:13px;height:13px}
.sharing-entry{background:none;display:flex;align-items:center;gap:10px;width:100%;padding:16px 2px;margin-bottom:9px;text-align:left}
.sharing-entry>.icon{width:18px;height:18px}.sharing-entry>.icon:last-child{margin-left:auto;width:15px}
.sharing-entry strong{display:block;font-size:11px;font-weight:600}.sharing-entry small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.rating-switches{display:grid;margin:16px 0 18px;gap:2px}
.rating-switch{position:relative;display:flex;align-items:center;gap:12px;min-height:66px;cursor:pointer}
.rating-switch>span:first-child{flex:1}.rating-switch strong{font-size:12px;font-weight:600;display:block}.rating-switch small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.rating-switch input{position:absolute;right:0;top:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.switch-track{width:43px;height:27px;border-radius:20px;background:#d6ddd2;position:relative;flex-shrink:0;box-shadow:inset 0 0 0 1px #00000007}
.switch-track:after{content:"";position:absolute;width:21px;height:21px;left:3px;top:3px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .16s}
.rating-switch input:checked+.switch-track{background:#387d46}.rating-switch input:checked+.switch-track:after{transform:translateX(16px)}
.rating-switch input:focus-visible+.switch-track{outline:3px solid #387d46;outline-offset:4px}
.recipient-preview{background:#eef2e9;border-radius:17px;padding:15px;margin:12px 0 17px}
.recipient-heading{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:8px;letter-spacing:1px;font-weight:650;margin-bottom:12px}.recipient-heading>span{font-weight:400;letter-spacing:0;font-size:9px}
.recipient-rating+.recipient-rating{border-top:1px solid #dce4d7;margin-top:12px;padding-top:12px}.recipient-rating>span{font-size:10px;display:block;color:var(--muted)}
.recipient-rating>strong{display:block;font-size:23px;line-height:1.3;font-weight:550;letter-spacing:-.04em;margin-top:3px}.recipient-rating strong small{font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted)}
.recipient-rating em{font-size:10px;font-style:normal;display:block;color:var(--muted);margin-top:1px}
.recipient-rating>.rating-private{font-size:12px;letter-spacing:0;display:flex;align-items:center;gap:5px;min-height:26px}.rating-private .icon{width:13px;height:13px}
.source-link{display:inline-flex;align-items:center;margin-bottom:10px}
.next-action{width:100%;display:flex;align-items:center;gap:12px;background:#e6eddf;border-radius:16px;padding:14px;text-align:left}.next-action:hover{background:#dce8d2}.next-action .round-icon{width:36px;height:36px;flex-shrink:0;background:white}.next-action strong{font-size:12px;display:block;letter-spacing:-.025em}.next-action small{font-size:10px;display:block;color:var(--muted);margin-top:3px}.next-action>.icon{width:16px;margin-left:auto}.round-icon{display:grid;place-items:center;border-radius:50%;background:#e6eddf;color:var(--green);width:38px;height:38px;flex-shrink:0}.round-icon .icon{width:19px;height:19px}.status-list{margin-top:14px}.status-row{display:flex;align-items:center;gap:11px;min-height:48px;padding:8px 2px;font-size:12px}.status-row+.status-row{border-top:1px solid #e7ebe3}.status-row .icon{width:17px;height:17px;color:var(--green)}.status-row>span{flex:1}.status-value{font-size:10px;font-weight:500;color:var(--muted)}.status-value.pending{color:var(--amber)}.section-label{display:flex;justify-content:space-between;align-items:center;margin:22px 0 11px;gap:10px}.section-label h2{font-size:10px;letter-spacing:.9px;font-weight:650;text-transform:uppercase}.section-label>span{font-size:10px;color:var(--muted)}.section-link{min-height:44px;background:none;font-size:11px;padding:5px 0}.request-summary{background:white;padding:16px;border-radius:18px}.request-summary .request-type{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:5px}.tiny-badge{font-size:9px;padding:3px 7px;background:var(--soft);border-radius:7px;color:var(--muted)}.request-amount{font-size:30px;letter-spacing:-.05em;line-height:1.25;font-weight:550;font-variant-numeric:tabular-nums}.request-meta{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.6}.primary-button,.secondary-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;width:100%;padding:11px 14px;border-radius:13px;font-size:12px;font-weight:600;text-align:center}.primary-button{background:var(--ink);color:white}.primary-button:hover{background:#2b5947}.primary-button .icon{width:17px;height:17px}.secondary-button{background:var(--soft);color:var(--ink)}.secondary-button:hover{background:#dce5d5}.request-summary .primary-button{margin-top:15px}.app-tabbar{display:flex;align-items:stretch;flex-shrink:0;padding:9px 12px 0;gap:4px;min-height:62px;background:#fff;border-top:1px solid #e5e9e1}.app-tabbar a{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:9px;min-height:47px;color:#6d776f;letter-spacing:-.015em;border-radius:12px}.app-tabbar a[aria-current=page]{color:var(--ink);background:#e4f3d7;font-weight:650}.app-tabbar .icon{width:21px;height:21px}.home-area{height:22px;flex:0 0 22px;display:flex;justify-content:center;align-items:center;background:#fff}.home-area>span{width:110px;height:4px;border-radius:4px;background:#173327}.device-footnote{text-align:center;font-size:10px;color:var(--muted);margin-top:17px;letter-spacing:.15px}.context-panel{max-width:246px;padding-top:10px}.context-heading{display:flex;align-items:center;gap:12px;color:#7b877a;font-size:10px;margin-bottom:25px;letter-spacing:1px}.small-rule{width:28px;height:1px;background:#99ae92}.context-panel>.eyebrow{color:var(--muted);font-size:8px;letter-spacing:1.25px}.context-panel h2{font-size:27px;line-height:1.2;margin-top:11px;letter-spacing:-.055em}.context-copy{color:var(--muted);font-size:12px;line-height:1.8;margin-top:15px}.context-details{margin:28px 0 40px;padding:0;list-style:none;display:grid;gap:22px;counter-reset:point}.context-details li{counter-increment:point;display:grid;grid-template-columns:23px 1fr;gap:10px;align-items:start}.context-details li:before{content:counter(point,decimal-leading-zero);font-size:9px;color:#708768;padding-top:3px}.context-details strong{display:block;font-size:11px;font-weight:600}.context-details p{font-size:10px;line-height:1.8;color:var(--muted);margin-top:5px}.demo-note{display:flex;gap:9px;padding-top:23px;border-top:1px solid var(--line);align-items:flex-start}.demo-dot{background:#b2c6a5;width:5px;height:5px;border-radius:50%;margin-top:6px;flex-shrink:0}.demo-note strong{font-size:10px;font-weight:600}.demo-note p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:5px}.reset-demo{padding:12px 0;background:transparent;font-size:10px;min-height:44px;margin-top:9px;display:flex;align-items:center;gap:34px}.reset-demo>span{font-size:18px}.showroom-footer{max-width:1480px;margin:0 auto;padding:24px 56px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:var(--muted)}.showroom-footer i{font-style:normal;margin:0 8px}.showroom-footer a{color:var(--ink);min-height:44px;display:flex;align-items:center}.phone-toast{position:absolute;bottom:96px;left:15px;right:15px;background:#183d33;color:white;box-shadow:0 6px 25px #0002;border-radius:14px;padding:13px 15px;font-size:11px;z-index:6;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .16s,transform .16s}.phone-toast.visible{opacity:1;transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.top-avatar .portrait{width:34px;height:34px}.profile-hero .app-heading{font-size:27px;letter-spacing:-.055em}.broker-stars .stars{position:relative;color:#d9dfd3}.stars .star-fill{position:absolute;left:0;top:0;white-space:nowrap;overflow:hidden;color:#927020}
/* Broker directory and profiles */
.market-context{display:flex;align-items:center;gap:10px;border-radius:13px;background:#e8eee2;padding:12px;margin-top:14px}.market-context .icon{width:19px}.market-context strong{display:block;font-size:11px;font-weight:600}.market-context small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.search-box{position:relative;margin:18px 0 11px}.search-box .icon{position:absolute;left:13px;top:13px;width:18px;height:18px;color:var(--muted)}.search-box input{width:100%;border:0;background:#e9ede6;border-radius:13px;padding:12px 12px 12px 40px;color:var(--ink);height:45px;font-size:12px;appearance:none}.search-box input::placeholder{color:#717e72}.filter-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:8px}.filter-chip{flex-shrink:0;background:white;min-height:40px;border-radius:30px;padding:8px 13px;font-size:10px}.filter-chip[aria-pressed=true]{background:var(--ink);color:white}.market-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;margin-bottom:11px}.market-toolbar>span{color:var(--muted)}.sort-select{max-width:145px;min-height:44px;border:0;background:transparent;color:var(--ink);font-size:10px;padding:4px 0}.broker-list{display:grid;gap:12px}.broker-card{background:white;border-radius:19px;padding:15px;position:relative}.broker-card-top{display:flex;gap:11px;align-items:center}.portrait{display:block;background-image:url('assets/broker-portraits.png');background-size:600% 400%;width:47px;height:47px;border-radius:50%;flex-shrink:0;background-color:#e5e8e0}.broker-identity{min-width:0;flex:1}.broker-identity h3{font-size:15px;line-height:1.3;letter-spacing:-.035em}.broker-identity .firm{font-size:9px;color:var(--muted);margin-top:2px}.broker-stars{display:flex;align-items:center;gap:5px;font-size:10px;line-height:1.5;margin-top:4px}.stars{color:#927020;font-size:10px;letter-spacing:1px;white-space:nowrap}.broker-stars strong{font-weight:600}.broker-stars small{font-size:9px;color:var(--muted)}.save-broker{align-self:flex-start;min-width:34px;min-height:37px;display:grid;place-items:center;background:transparent;border-radius:8px;margin-right:-5px}.save-broker .icon{width:17px;height:17px;color:#758673}.save-broker[aria-pressed=true] .icon{fill:#d8e8c7;color:var(--ink)}.broker-speciality{font-size:10px;margin:13px 0 11px;display:flex;align-items:center;gap:5px;color:#4d6455}.broker-speciality .icon{width:13px;height:13px}.broker-card-bottom{border-top:1px solid #edf0e9;padding-top:11px;display:flex;align-items:center;justify-content:space-between;gap:8px}.broker-card-bottom>div{font-size:9px;color:var(--muted)}.broker-card-bottom strong{display:block;font-size:12px;color:var(--ink);margin-top:1px;font-weight:550}.view-profile{background:#edf2e8;border-radius:10px;padding:10px;min-height:40px;font-size:10px;display:flex;align-items:center;gap:7px}.view-profile .icon{width:13px;height:13px}.sample-caption{font-size:9px;line-height:1.65;color:var(--muted);margin:17px 0 5px}.empty-state{text-align:center;padding:30px 15px;background:white;border-radius:18px}.empty-state .round-icon{margin:0 auto 15px}.empty-state h3{font-size:17px}.empty-state p{color:var(--muted);font-size:12px;margin:9px 0 20px}.profile-hero{text-align:center;padding:10px 0 20px}.profile-hero .portrait{width:78px;height:78px;margin:0 auto 15px}.profile-hero h1{font-size:27px;letter-spacing:-.055em}.profile-hero>p{color:var(--muted);font-size:11px;margin:5px 0}.profile-hero .broker-stars{justify-content:center;margin-top:9px}.profile-pill{display:inline-flex;align-items:center;gap:5px;font-size:9px;background:#e4eddd;color:#396243;border-radius:20px;padding:6px 9px;margin-top:13px}.profile-pill .icon{width:13px;height:13px}.profile-metrics{display:grid;grid-template-columns:1fr 1fr;background:#e9eee3;border-radius:17px;padding:16px;margin:0 0 22px}.profile-metrics div{text-align:center}.profile-metrics div+div{border-left:1px solid #d4decd}.profile-metrics strong{font-size:21px;font-weight:550;letter-spacing:-.05em;display:block}.profile-metrics small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.app-section-heading{font-size:16px;margin:21px 0 8px}.body-copy{font-size:12px;line-height:1.8;color:var(--muted)}.profile-pricing{background:white;padding:4px 15px;border-radius:16px;margin:12px 0 20px}.info-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;font-size:11px;padding:13px 0}.info-row+.info-row{border-top:1px solid #edf0e9}.info-row>span{color:var(--muted)}.info-row>strong{text-align:right;font-weight:550;max-width:60%}.connection-area{margin-top:24px}.connection-area .sample-caption{text-align:center;margin-top:9px}.text-action{background:none;text-decoration:underline;text-underline-offset:3px;font-size:11px;min-height:44px;padding:8px 0}
/* Document passport */
.identity-banner{display:flex;align-items:center;gap:13px;padding:19px 16px;background:#e4f0dc;border-radius:20px;margin-top:20px}.identity-banner .round-icon{width:53px;height:53px;background:var(--accent);color:var(--ink)}.identity-banner .round-icon .icon{width:28px;height:28px;stroke-width:2}.identity-banner strong{display:block;font-size:15px;letter-spacing:-.035em}.identity-banner p{font-size:10px;color:#5b6d58;margin-top:3px}.identity-banner small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.document-alert{background:var(--soft);border-radius:18px;padding:17px;margin:17px 0}.document-alert .alert-label{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.alert-label>span{font-size:8px;letter-spacing:1px;color:var(--ink);font-weight:650}.alert-label>span:first-child::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#d89b2d;margin-right:7px;vertical-align:1px}.alert-label .tiny-badge{color:var(--ink);background:#fff8}.document-alert h2{font-size:16px;margin-bottom:5px}.document-alert p{font-size:11px;line-height:1.6;color:var(--muted)}.document-alert .primary-button{margin-top:13px;background:var(--accent);color:var(--ink)}.document-list{background:white;padding:0 14px;border-radius:18px}.document-row{display:flex;align-items:center;gap:11px;padding:14px 0;width:100%;background:none;text-align:left;min-height:63px}.document-row+.document-row{border-top:1px solid #edf0e9}.document-row>.icon{color:#647b5f;width:20px;height:20px}.document-row>div{flex:1;min-width:0}.document-row strong{display:block;font-size:11px;font-weight:550}.document-row small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.document-row>.verified-dot{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e5eedf;color:#386c43}.verified-dot .icon{width:12px;height:12px;stroke-width:2}.privacy-strip{display:flex;gap:9px;align-items:flex-start;margin-top:20px;color:var(--muted);font-size:10px;line-height:1.65}.privacy-strip .icon{width:15px;height:15px;flex-shrink:0;margin-top:2px}.all-ready{margin-top:18px;background:#e5efdc;border-radius:17px;padding:16px}.all-ready strong{font-size:13px;display:block}.all-ready p{font-size:11px;line-height:1.6;color:var(--muted);margin:5px 0 13px}
/* Broker workspace */
.desk-summary{background:var(--ink);color:white;border-radius:22px;padding:20px;margin-top:20px}.desk-summary-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#d2dfca}.desk-summary-top .icon{color:var(--accent)}.desk-main-number{font-size:58px;letter-spacing:-.075em;line-height:1.15;margin-top:14px;font-weight:450}.desk-main-number span{font-size:12px;letter-spacing:-.02em;color:#c2d3bb;margin-left:8px}.desk-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px;border-top:1px solid #45644d;padding-top:16px}.desk-stats strong{font-size:22px;font-weight:500}.desk-stats p{font-size:9px;color:#c2d3bb;margin-top:2px}.desk-note{display:flex;align-items:center;gap:10px;background:#e7eddc;padding:13px;border-radius:14px;margin:16px 0;color:#44633d;font-size:10px;line-height:1.55}.desk-note .icon{width:18px;height:18px}.lead-card{display:block;width:100%;background:white;border-radius:17px;padding:16px;text-align:left;margin-bottom:10px}.lead-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:9px;color:var(--muted)}.lead-card h3{font-size:15px;line-height:1.35;margin-bottom:5px}.lead-card .lead-value{display:flex;align-items:center;justify-content:space-between;font-size:24px;letter-spacing:-.05em;margin:8px 0}.lead-value .icon{width:17px;height:17px}.lead-bottom{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.lead-bottom .icon{width:13px;height:13px}.match-label{color:#3c6b45;background:#edf3e6;border-radius:6px;padding:4px 6px;font-size:8px}.profile-settings{background:white;border-radius:18px;padding:3px 15px;margin:19px 0}.profile-settings>button{background:none;display:flex;align-items:center;gap:10px;width:100%;min-height:51px;text-align:left;font-size:12px}.profile-settings>button+button{border-top:1px solid #edf0e9}.profile-settings>button .icon{width:18px}.profile-settings>button>span{flex:1}.broker-mode-switch{font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px;background:#e9eee2;border-radius:14px;margin-top:20px;width:100%;text-align:left}
/* Native sheet, positioned against the phone's visible frame */
#app-sheet{position:fixed;inset:auto;margin:0;border:0;max-width:none;width:var(--sheet-width,354px);left:var(--sheet-left,calc(50% - 177px));top:var(--sheet-top,200px);max-height:var(--sheet-height,570px);padding:27px 21px 24px;border-radius:29px 29px 39px 39px;background:#fafbf7;color:var(--ink);overflow-y:auto;box-shadow:0 -14px 40px #102e2525;scrollbar-width:none}#app-sheet::backdrop{background:#17352a2b;backdrop-filter:blur(3px)}.sheet-handle{position:absolute;top:10px;left:calc(50% - 18px);height:4px;width:36px;border-radius:4px;background:#c5cec0}.sheet-close{position:absolute;right:9px;top:10px;font-size:24px;color:var(--muted)}.sheet-eyebrow{font-size:8px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin:10px 30px 13px 0}.sheet-title{font-size:25px;line-height:1.15;margin:0 20px 12px 0;letter-spacing:-.055em}.sheet-copy{font-size:12px;color:var(--muted);line-height:1.75;margin-bottom:18px}.sheet-points{font-size:48px;font-weight:450;letter-spacing:-.06em;margin:15px 0}.sheet-points small{font-size:13px;color:var(--muted);letter-spacing:0}.points-row{margin:15px 0}.points-row>div{display:flex;justify-content:space-between;font-size:11px;gap:15px}.points-row strong{font-variant-numeric:tabular-nums;font-weight:550}.points-track{height:5px;border-radius:4px;background:#e3e9dd;margin-top:8px;overflow:hidden}.points-track span{height:100%;display:block;background:#6b8c58;border-radius:4px}.sheet-fineprint{font-size:10px;line-height:1.7;color:var(--muted);margin:16px 0}.sample-file{display:flex;align-items:center;gap:12px;padding:16px;background:#eaf0e3;border-radius:15px;margin:18px 0}.sample-file>.icon{width:27px;height:27px}.sample-file strong{display:block;font-size:12px;font-weight:550}.sample-file small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.gate-list{display:grid;gap:9px;margin:20px 0}.gate-item{display:flex;align-items:center;gap:10px;font-size:11px;padding:12px;background:#eaf0e3;border-radius:12px}.gate-item .icon{color:#4e7843;width:17px}.gate-item.pending{background:var(--soft);color:var(--ink)}.gate-item.pending .icon{color:var(--amber)}.consent-row{display:flex;align-items:flex-start;gap:10px;background:#eaf0e3;padding:14px;border-radius:15px;font-size:11px;line-height:1.6;margin:17px 0}.consent-row input{width:18px;height:18px;flex-shrink:0;margin:1px 0;accent-color:var(--ink)}.success-icon{width:62px;height:62px;background:#e2edda;color:var(--ink);border-radius:50%;display:grid;place-items:center;margin:16px 0 22px}.success-icon .icon{width:30px;height:30px;stroke-width:2}.sheet-actions{display:grid;gap:9px;margin-top:17px}.sheet-error{font-size:11px;color:#a04026;margin-top:10px}.noscript-note{position:fixed;bottom:0;left:0;right:0;padding:20px;background:#fff4da;text-align:center}
:root{--muted:#5f6b63}.step,.context-heading,.context-details li:before{color:var(--muted)}.search-box input::placeholder{color:#65715f}.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}
.showroom{grid-template-columns:minmax(280px,1fr) var(--phone-width) minmax(200px,1fr)}.context-panel{justify-self:end}.wordmark{min-height:44px}.app-subtitle{font-size:13px}.app-eyebrow{font-size:9px}.score-caption{font-size:11px}.passport-bottom{font-size:9px}.score-explainer{font-size:11px;min-height:44px}.next-action strong{font-size:13px}.next-action small{font-size:11px}.status-row{font-size:13px}.status-value{font-size:11px}.section-label h2{font-size:11px}.section-label>span{font-size:11px}.request-summary .request-type{font-size:12px}.tiny-badge{font-size:10px}.request-meta{font-size:11px}.primary-button,.secondary-button{font-size:13px}.app-tabbar a{font-size:10px}.broker-identity h3{font-size:16px}.broker-identity .firm{font-size:10px}.broker-stars{font-size:11px}.broker-stars small{font-size:10px}.broker-speciality{font-size:11px}.broker-card-bottom>div{font-size:10px}.view-profile{font-size:11px;min-height:44px}.save-broker{min-width:44px;min-height:44px}.filter-chip{min-height:44px}.document-row strong{font-size:12px}.document-row small{font-size:10px}.document-alert p{font-size:12px}.privacy-strip{font-size:11px}
@media(min-width:1150px){.iphone{height:802px}}
@media(min-width:1550px){.showroom{gap:90px;max-width:1410px;grid-template-columns:1fr 384px 1fr}.intro h1{font-size:72px}}
@media(max-width:1149px) and (min-width:761px){.showroom{grid-template-columns:minmax(250px,1fr) 384px;gap:40px;max-width:1000px;padding:20px 36px 40px}.context-panel{grid-column:1/-1;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 50px;border-top:1px solid var(--line);padding-top:30px}.context-heading,.context-panel>.eyebrow,.context-panel>h2,.context-copy{grid-column:1}.context-details{grid-column:2;grid-row:1/6;margin:0}.demo-note{grid-column:1;border:0;padding-top:20px}.reset-demo{grid-column:1;justify-self:start}.showroom-header{padding:0 36px}.showroom-footer{padding:20px 36px}.intro h1{font-size:53px}.intro-copy{font-size:14px}}
@media(max-width:760px){.showroom-header{height:80px;padding:0 24px}.wordmark{font-size:31px}.wordmark svg{width:29px;height:29px}.edition{display:none}.back-site{font-size:11px;gap:12px}.showroom{display:flex;flex-direction:column;gap:25px;padding:22px 24px 32px}.intro{width:100%;max-width:520px}.intro>.eyebrow{font-size:8px;margin-bottom:10px}.intro h1{font-size:42px;line-height:1.08}.intro h1 br{display:none}.intro-copy{margin-top:12px;font-size:13px;line-height:1.6}.intro-copy br{display:none}.intro-copy br:after{content:" "}.screen-selector{display:flex;gap:6px;overflow-x:auto;margin-top:22px;padding:2px 2px 6px;scrollbar-width:none}.screen-choice{min-height:48px;flex-shrink:0;padding:10px 12px;border-radius:12px;gap:8px;background:#e9ede5}.screen-choice[aria-current=page]{background:var(--ink);color:white}.screen-choice[aria-current=page] .step{color:#bbcdb0}.screen-choice strong{font-size:11px;white-space:nowrap}.screen-choice small,.choice-arrow{display:none}.step{font-size:9px}.interaction-hint{font-size:10px;margin:8px 0 0}.device-stage{align-self:center}.device-label{margin-bottom:13px}.context-panel{max-width:480px;width:100%;padding-top:17px}.context-heading{margin-bottom:17px}.context-panel h2{font-size:26px}.context-copy{font-size:13px}.context-details{margin:24px 0 26px;gap:18px}.context-details strong{font-size:12px}.context-details p{font-size:11px}.demo-note p{font-size:11px}.showroom-footer{padding:18px 24px;flex-wrap:wrap;gap:10px}.showroom-footer>span:nth-child(2){display:none}}
@media(max-width:430px){.showroom{padding-inline:18px}.showroom-header{padding-inline:20px}.device-stage{width:100%;max-width:384px}.iphone{width:100%;height:790px;padding:6px;border-radius:47px}.phone-screen{border-radius:40px}.hardware-button{display:none}.device-label{padding:0 14px}.status-bar{padding-inline:20px}.dynamic-island{width:100px}.app-scroll{padding-inline:17px}.app-topbar{padding-inline:18px}.intro h1{font-size:38px}}
@media(max-width:359px){.showroom{padding-inline:12px}.showroom-header{padding-inline:16px}.intro h1{font-size:34px}.iphone{padding:0;border:0;border-radius:25px;box-shadow:0 12px 24px #183d3310;background:var(--app);height:775px}.phone-screen{border:0;border-radius:25px}.dynamic-island{width:90px;height:25px;top:13px}.status-bar{padding-inline:18px}.app-scroll{padding-inline:16px}.score-number{font-size:53px}.passport-card{padding-inline:15px}.equifax-card{gap:6px}.equifax-orbit{width:86px;height:86px}.app-heading{font-size:26px}.device-label{padding-inline:7px}.app-topbar{padding-inline:15px}.profile-metrics strong{font-size:19px}.broker-card{padding:13px}.portrait{width:43px;height:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Keep both ratings in view on shorter desktop preview windows. */

.score-number.is-complete{font-size:48px}

/* Dedicated Passport page. Static reveal states; animation intentionally deferred. */
.phone-screen:has(.passport-page){background:#b2ef76}
.app-scroll[data-route="passport"]{padding-top:8px;padding-bottom:18px}
.passport-page{min-height:100%;display:flex;flex-direction:column}
.passport-page .page-heading{margin-bottom:22px}
.passport-page .app-heading{font-size:29px}
.passport-page .app-subtitle{color:#36563a}
.passport-identity{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1px;color:#355235}
.passport-focus{flex:1;display:flex;flex-direction:column;justify-content:center;padding:14px 0 18px}
.passport-page .passport-orbit{width:296px;max-width:100%;margin:0 auto;flex-shrink:0}
.passport-page .score-number{font-size:75px}
.passport-page .score-number.is-complete{font-size:61px}
.passport-page .score-caption{font-size:11px}
.passport-page .score-rating{font-size:14px;margin-top:10px}
.rating-purpose{text-align:center;font-size:8px;letter-spacing:.8px;color:#36563a;margin-top:10px}
.passport-page-actions{text-align:center}
.passport-page-actions>.primary-button{min-height:48px;background:#183d33;color:white}
.reveal-note{display:flex;align-items:center;justify-content:center;gap:5px;color:#36563a;font-size:10px;min-height:30px;margin-top:3px}
.reveal-note .icon{width:12px;height:12px}
.passport-page-actions>.text-action{font-size:10px;color:#36563a;padding:4px;min-height:34px}
.passport-utility{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.passport-utility .sharing-entry,.passport-utility .text-action{font-size:11px;min-height:44px;width:auto;margin:0;padding:8px 0;text-decoration:none}
.passport-progress{display:flex;align-items:center;gap:10px;text-align:left;padding:13px 0 0;border-top:1px solid #183d3325;margin-top:1px;font-size:11px;min-height:56px}
.passport-progress .icon{width:17px;height:17px}.passport-progress>.icon:last-child{margin-left:auto;width:14px}
.passport-progress small{display:block;font-size:9px;margin-top:2px;color:#36563a}
.preparing-label{font-size:19px;letter-spacing:-.03em;line-height:1.25;margin:10px 0 5px}
.is-preparing .radial-rest{fill-opacity:.32}
.phone-screen:has(.credit-revealed){background:#e8f3dc}
.passport-page-actions button:disabled{opacity:.8}
@media(max-width:359px){.passport-page .passport-orbit{width:260px}.passport-page .score-number{font-size:65px}.passport-page .score-number.is-complete{font-size:54px}}

/* The same interactive app, embedded in the partnership briefing. */
.embedded-preview{background:transparent;overflow:hidden}
.embedded-preview>.skip,.embedded-preview>.showroom-header,.embedded-preview .intro,.embedded-preview .context-panel,.embedded-preview>.showroom-footer,.embedded-preview .device-label,.embedded-preview .device-footnote{display:none}
.embedded-preview .showroom{display:block;width:calc(100% - 16px);max-width:384px;padding:8px 0 20px;margin:0 auto}
.embedded-preview .device-stage{width:100%;max-width:none}
.embedded-preview .iphone{width:100%;height:802px}
@media(max-width:430px){.embedded-preview .iphone{height:790px}}
@media(max-width:359px){.embedded-preview .iphone{padding:6px;border:1px solid #929690;border-radius:43px;background:linear-gradient(110deg,#777c75,#202420 78%,#646b64)}.embedded-preview .phone-screen{border:3px solid #151b17;border-radius:36px}}

/* A restrained foil highlight on the dots; no flashing or score animation. */
.dial-foil{pointer-events:none}.foil-dot{filter:none}
.shimmer-controls{display:flex;align-items:center;justify-content:center;gap:12px;font-size:9px;color:#36563a;margin-top:1px}
.shimmer-controls button{background:none;padding:4px 2px;min-height:44px;font-size:9px;color:inherit;text-decoration:underline;text-underline-offset:3px}
.shimmer-controls .tilt-shimmer{display:none}
@media(pointer:coarse){.shimmer-controls .tilt-shimmer{display:inline-block}}
@media(prefers-reduced-motion:reduce){.dial-foil{display:none}}
/* Make room for the motion controls without pushing core actions below the fold. */
.passport-page .page-heading{margin-bottom:16px}
.passport-focus{padding:4px 0}
.rating-purpose{margin-top:0}
/* Everyday Passport: score first, supporting detail behind explicit controls. */
.passport-clean-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}
.passport-clean-heading .app-heading{margin:0}.passport-clean-heading>.icon-button{flex-shrink:0}
.passport-focus{padding:8px 0 16px}
.passport-assessment{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:8px;font-size:14px}
.passport-assessment .icon{width:17px;height:17px}
.passport-seal{display:flex;align-items:center;justify-content:center;gap:20px;margin:3px auto 0;padding-top:9px}
.verification-stamp{display:flex;align-items:center;gap:9px;min-height:48px;text-align:left;background:none;color:var(--ink);padding:4px}
.verification-stamp>.icon{width:35px;height:35px;stroke-width:1.7}
.verification-stamp strong{display:block;font-size:13px;font-weight:600}.verification-stamp small{display:block;font-size:9px;color:#36563a;margin-top:2px}
.qr-button{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#ffffff90;color:var(--ink)}.qr-button .icon{width:23px;height:23px}
.passport-qr-image{display:block;width:240px;max-width:100%;height:auto;margin:14px auto;background:white;border-radius:14px}
.qr-caption{text-align:center}.verification-detail{display:flex;align-items:center;gap:12px;margin:20px 0}.verification-detail>.icon{width:40px;height:40px}
/* Score, assessment and status first; compact reveal action anchored below. */
.orbit-centre .passport-assessment{margin-top:2px;min-height:44px}
.passport-focus .passport-seal{margin-top:10px;padding-top:0}
.passport-page-actions>.primary-button{width:86%;max-width:270px;min-height:44px;margin-inline:auto;padding:10px 12px;font-size:12px}
.passport-page-actions{margin-top:auto}
/* Passport is a fixed screen; other app sections retain their own scrolling. */
.app-scroll:has(.passport-page){overflow:hidden;overscroll-behavior:none;padding-bottom:8px}
.passport-page{height:100%;min-height:0}
.passport-clean-heading,.passport-identity,.passport-page-actions{flex-shrink:0}
.passport-focus{min-height:0;container-type:size;padding:6px 0;justify-content:center}
.passport-page .passport-orbit{width:min(296px,100%,calc(100cqh - 112px));container-type:inline-size;flex-shrink:0}
.passport-orbit .score-number{font-size:clamp(30px,25cqw,75px)}
.passport-orbit .score-number.is-complete{font-size:clamp(26px,20.5cqw,61px)}
.passport-orbit .score-caption{font-size:clamp(8px,3.7cqw,11px)}
.passport-focus>.passport-assessment{flex-shrink:0;height:44px;margin-top:8px}
.passport-focus>.passport-seal{flex-shrink:0;height:48px;margin-top:10px}
/* Reserve the same note row in both score views to prevent layout shifts. */
.reveal-note-reserved{visibility:hidden}
.passport-page-actions>.reveal-note{height:30px;min-height:30px;margin-top:3px}
@media(max-width:359px){.passport-clean-heading .app-heading{font-size:24px}}
/* Numbers share the dial's exact foil field; the readable base text remains. */
.score-number,.score-caption{position:relative}
.score-number::after,.score-caption::after{content:attr(data-foil-text);position:absolute;inset:0;pointer-events:none;color:transparent;-webkit-text-fill-color:transparent;background-image:var(--score-foil-image);background-size:var(--score-foil-size);background-position:var(--score-foil-position);background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;opacity:var(--score-foil-opacity,0);font:inherit;letter-spacing:inherit;line-height:inherit;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.score-number::after,.score-caption::after{display:none}}

/* Keep the viewer phone at the same design size regardless of desktop height. */
@media(min-width:431px){.iphone,.embedded-preview .iphone{width:384px;height:802px;flex-shrink:0}.device-stage{width:384px}}
/* One status row, one action row; give the freed space back to the score. */
.passport-page .passport-orbit{width:min(316px,100%,calc(100cqh - 62px))}
.passport-orbit .score-number{font-size:clamp(30px,26.5cqw,82px)}
.passport-orbit .score-number.is-complete{font-size:clamp(26px,21.5cqw,67px)}
.passport-focus>.passport-assessment{height:48px;gap:2px;font-size:16px;margin-top:10px}
.passport-assessment .verification-stamp{min-width:44px;min-height:44px;justify-content:center;padding:4px}
.passport-assessment .verification-stamp>.icon{width:27px;height:27px}
.assessment-divider{height:16px;width:1px;background:#183d3326;margin:0 6px}
.passport-action-row{display:flex;align-items:stretch;gap:10px;width:100%;max-width:316px;margin:0 auto}
.passport-action-row>.primary-button{flex:1;min-width:0;min-height:48px;padding:10px 12px;font-size:12px;background:white;color:var(--ink)}
.passport-action-row>.qr-button{flex:0 0 48px;width:48px;height:48px;background:white;border-radius:13px}
.passport-action-row>.primary-button:hover,.passport-action-row>.qr-button:hover{background:#edf9e3}
.passport-action-row>.primary-button{height:48px;white-space:nowrap}
@media(max-width:359px){.passport-action-row>.primary-button{font-size:11px;gap:6px;padding-inline:8px}}

/* Keep the status pair below the dial with clear space between both labels. */
.passport-focus>.passport-assessment{width:100%;max-width:300px;justify-content:space-between;gap:12px;transform:translateY(14px)}
.assessment-rating{display:flex;align-items:center;gap:3px;min-width:118px}
.passport-assessment .verification-stamp{justify-content:flex-start;gap:8px;min-width:118px}
.passport-assessment .assessment-divider{margin:0;flex-shrink:0}
@media(max-width:359px){.passport-focus>.passport-assessment{gap:6px;transform:translateY(8px)}.assessment-rating,.passport-assessment .verification-stamp{min-width:108px}}

/* Compact, balanced status pair; the two text lines fit the 27px shield. */
.passport-focus>.passport-assessment{max-width:264px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:6px}
.assessment-rating,.passport-assessment .verification-stamp{min-width:0}
.assessment-rating{width:100%;justify-content:flex-end}
.passport-assessment .verification-stamp>span{height:27px;display:flex;flex-direction:column;justify-content:center}
.passport-assessment .verification-stamp strong{font-size:12px;line-height:14px}
.passport-assessment .verification-stamp small{font-size:9px;line-height:11px;margin-top:2px}

/* One SVG paints the foil on dots and numbers; no per-frame image decoding. */
.score-number::after,.score-caption::after{display:none}
.rating-radial{position:relative;z-index:2;pointer-events:none}

.svg-score-source{color:transparent!important}
@media(prefers-reduced-motion:reduce){.number-foil{display:none}}

.foil-composite{position:absolute;inset:0;z-index:3;pointer-events:none;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-mode:alpha;contain:paint;transform:translateZ(0)}
.foil-light{position:absolute;left:0;top:0;opacity:0;will-change:transform,opacity;background:radial-gradient(ellipse closest-side at center,rgba(255,244,207,.88) 0%,rgba(228,197,114,.72) 22%,rgba(183,160,235,.64) 43%,rgba(141,197,241,.48) 65%,rgba(217,255,240,.12) 76%,rgba(217,255,240,0) 94%,rgba(217,255,240,0) 100%);pointer-events:none}
@media(prefers-reduced-motion:reduce){.foil-composite{display:none}}

/* Keep the rating close to the divider after removing the info control. */
.assessment-rating{padding-right:12px}
.scroll-story-app .showroom{width:384px;padding:0;margin:0}.scroll-story-app .iphone{width:384px;height:802px}.scroll-story-app .app-scroll{scroll-behavior:auto}.scroll-story-app .app-topbar{min-height:44px}.scroll-story-app .story-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;margin:18px 0}.story-panel h3{display:flex;justify-content:space-between}.story-passport{background:var(--accent);border-radius:22px;padding:20px;margin:20px 0}.story-passport>span{display:flex;justify-content:space-between}.story-passport>strong{display:block;font-size:64px;letter-spacing:-4px;line-height:1.3}.story-passport small{font-size:14px;letter-spacing:0}.story-broker-heading{display:flex;gap:14px;align-items:center;margin:25px 0}.story-complete-icon{margin:30px 0 24px;width:74px;height:74px;border-radius:50%;background:var(--accent);display:grid;place-items:center}.story-complete-icon .icon{width:36px;height:36px}.scroll-story-app .profile-pricing{margin:24px 0}.scroll-story-app .primary-button{margin-top:22px}.scroll-story-app .story-target{position:relative;overflow:hidden;border-radius:14px}.scroll-story-app .story-target:after{content:'';position:absolute;inset:0;border-radius:inherit;background:#b2ef7640;opacity:0;transition:opacity .18s;pointer-events:none}.scroll-story-app.story-press .story-target:after{opacity:1}.scroll-story-app .story-close{font-size:30px;border-radius:50%}.scroll-story-app.story-equifax .phone-screen,.scroll-story-app.story-equifax .passport-page,.scroll-story-app.story-equifax .app-topbar,.scroll-story-app.story-equifax .app-scroll,.scroll-story-app.story-equifax .tab-bar{background:#f5f6f2!important}.scroll-story-app .app-scroll[data-route=story]{padding-top:12px}.scroll-story-app .document-row{min-height:70px}
.scroll-story-app .passport-page .primary-button{margin-top:0}.scroll-story-app.story-equifax .app-tabbar{background:#f5f6f2!important}.scroll-story-app.story-equifax .passport-action-row .primary-button{background:#183d33!important;color:#fff!important}

/* Loan cards: clear heading breaks and separate label/value columns. */
.scroll-story-app .story-panel h3{margin:0 0 22px;line-height:1.4}
.scroll-story-app .story-panel .desk-main-number{margin-bottom:24px}
.scroll-story-app .story-panel .points-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;margin:16px 0;line-height:1.55}
.scroll-story-app .story-panel .points-row strong{text-align:right;max-width:160px}

/* A quiet hover cue: a light, uniform tint within the existing control. */
.scroll-story-app .story-target:after{background:rgba(24,61,51,.07);transition:opacity .18s ease}
@media(prefers-reduced-motion:reduce){.scroll-story-app .story-target:after{transition:none}}
.scroll-story-app .phone-screen,.scroll-story-app .app-topbar,.scroll-story-app .app-tabbar,.scroll-story-app .app-scroll{transition:background-color .46s ease}
@media(prefers-reduced-motion:reduce){.scroll-story-app .phone-screen,.scroll-story-app .app-topbar,.scroll-story-app .app-tabbar,.scroll-story-app .app-scroll{transition:none}}

/* Shared walkthrough type scale: one size and rhythm for each text role. */
.scroll-story-app{
  --story-heading:26px;
  --story-subheading:16px;
  --story-body:14px;
  --story-caption:12px;
  --story-figure:32px;
}
.scroll-story-app .app-scroll{font-size:var(--story-body);line-height:1.55}
.scroll-story-app .app-scroll .app-heading{font-size:var(--story-heading);line-height:1.2;font-weight:600;letter-spacing:-.045em;margin:4px 0 12px}
.scroll-story-app .app-scroll :is(h3,.app-section-heading,.identity-banner strong,.story-broker-heading strong){font-size:var(--story-subheading);line-height:1.35;font-weight:600;letter-spacing:-.025em}
.scroll-story-app .app-scroll :is(.app-subtitle,.body-copy,.points-row,.info-row,.document-row strong,.document-alert p,.gate-item,.consent-row,.market-context strong,.broker-speciality,.broker-card-bottom strong,.broker-identity .firm,.profile-hero>p,.identity-banner p,.story-passport>p,.desk-stats p){font-size:var(--story-body);line-height:1.55}
.scroll-story-app .app-scroll :is(.sample-caption,.document-row small,.market-context small,.broker-stars,.broker-stars small,.broker-stars .stars,.broker-card-bottom>div,.profile-metrics small,.profile-pill,.market-toolbar,.sort-select,.app-eyebrow,.story-passport small){font-size:var(--story-caption);line-height:1.5}
.scroll-story-app .app-scroll :is(.primary-button,.secondary-button,.view-profile,.search-box input,.filter-chip){font-size:var(--story-body);line-height:1.35}
.scroll-story-app .app-scroll :is(.desk-main-number,.story-passport>strong,.desk-stats strong,.profile-metrics strong){font-size:var(--story-figure);line-height:1.2;letter-spacing:-.045em;font-weight:550}
.scroll-story-app .broker-card-bottom{gap:14px;align-items:center}
.scroll-story-app .broker-card-bottom>div{min-width:0;flex:1}
.scroll-story-app .view-profile{flex:none;white-space:nowrap}
.scroll-story-app .app-scroll .story-panel .desk-main-number{margin-top:10px;margin-bottom:20px}

/* Top-page Passport: lift the title while keeping the dial and controls fixed. */
.hero-preview .passport-clean-heading .app-heading{transform:translateY(-18px)}
.hero-preview .app-scroll,.hero-preview .app-scroll:has(.passport-page){overscroll-behavior:auto}

/* Homepage financial overview: one readable position, then the commitments behind it. */
.topbar-title{font-size:22px;font-weight:650;letter-spacing:-.045em;line-height:1}
.finance-overview{padding-bottom:4px}
.overview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:2px 0 18px}
.overview-heading>div>p{font-size:11px;color:var(--muted);margin-bottom:6px}
.overview-heading .app-heading{font-size:30px;line-height:1.05;margin:0}
.overview-heading .overview-intro{font-size:12px;color:var(--muted);margin:5px 0 0}
.overview-status{flex:none;margin-top:3px;padding:5px 8px;border-radius:20px;background:#e4efda;color:#42643a;font-size:9px;font-weight:650}
.monthly-view{background:#183d33;color:#fff;border-radius:21px;padding:17px 18px 0;margin-bottom:20px}
.monthly-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.monthly-title span{font-size:13px;font-weight:650}.monthly-title small{font-size:9px;color:#c5d4ce}
.money-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:12px}.money-row strong{font-size:13px;font-weight:550;font-variant-numeric:tabular-nums}
.money-balance{display:flex;align-items:center;justify-content:space-between;margin:12px -18px 0;padding:14px 18px;background:#b2ef76;color:#183d33;border-radius:0 0 21px 21px}.money-balance span{font-size:12px}.money-balance strong{font-size:25px;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.overview-section-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.overview-section-title h3{font-size:15px;letter-spacing:-.3px}.overview-section-title span{font-size:10px;color:var(--muted)}
.commitment-list{background:#fff;border-radius:17px;padding:0 14px;margin-bottom:13px}
.commitment-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0}.commitment-row+.commitment-row{border-top:1px solid var(--line)}.commitment-icon{width:32px;height:32px;border-radius:10px;background:#edf5e5;display:grid;place-items:center}.commitment-icon .icon{width:16px;height:16px}.commitment-row div{display:flex;flex-direction:column}.commitment-row div strong{font-size:12px}.commitment-row div small{font-size:9px;color:var(--muted)}.commitment-row>b{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.overview-readiness{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-radius:17px;background:#e4efda}.overview-readiness>div{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:baseline}.overview-readiness span{font-size:10px}.overview-readiness strong{font-size:14px}.overview-readiness small{grid-column:1/-1;font-size:9px;color:var(--muted)}.overview-readiness .readiness-action{font-size:11px;font-weight:650}
.borrowing-outlook{margin-top:10px;padding:13px 15px;border-radius:17px;background:#fff}.borrowing-outlook>span{display:block;font-size:9px;color:var(--muted);margin-bottom:3px}.borrowing-outlook>strong{display:block;font-size:14px;letter-spacing:-.02em}.borrowing-outlook p{font-size:9px;line-height:1.45;color:var(--muted);margin-top:4px}
.overview-disclaimer{font-size:8px;color:var(--muted);text-align:center;margin-top:10px}

/* One upper heading baseline for overview, score and loan screens. */
.scroll-story-app .app-topbar{height:44px;min-height:44px;flex-basis:44px;padding-block:0}
.scroll-story-app .app-scroll[data-route]{padding-top:0}

/* Concise screen statements outside the app. */
.context-panel h2{margin-bottom:16px}
.context-panel .context-copy{margin-top:0;max-width:36ch}
@media(min-width:761px) and (max-width:1149px){.context-panel{grid-template-columns:1fr auto;gap:12px 40px}.context-panel h2,.context-panel .context-copy{grid-column:1}.context-panel .reset-demo{grid-column:2;grid-row:1/3;align-self:center;margin-top:0}}

/* Hero phone casts its contact shadow on the parent page only. */
.hero-preview .iphone{box-shadow:inset 0 0 0 2px #353b35}
/* All phone previews use a base contact shadow, never an outer halo. */
.iphone{box-shadow:inset 0 0 0 2px #353b35}
body:not(.embedded-preview) .iphone::after{content:"";position:absolute;left:50%;bottom:-14px;width:130%;height:28px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(24,38,30,.65) 0%,rgba(24,38,30,.4) 32%,rgba(24,38,30,.16) 58%,transparent 78%);filter:blur(5px);pointer-events:none;z-index:-1}
body:not(.embedded-preview) .iphone::after{max-width:calc(100vw - 24px)}

/* Each walkthrough screen travels as one opaque page. */
.scroll-story-app .story-page-stage{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;width:100%;overflow:hidden}
.scroll-story-app .story-page-snapshot{position:absolute;left:0;z-index:10;pointer-events:none;margin:0}
.scroll-story-app .phone-screen,.scroll-story-app .story-page-stage,.scroll-story-app .story-page-stage *{transition:none!important;animation:none!important}
.scroll-story-app .story-target::after{transition:opacity .18s ease}
.scroll-story-app .story-page-snapshot .story-target::after{transition:none}

/* Keep the outgoing button cue visible throughout the committed page slide. */
.scroll-story-app .snapshot-pressed .story-target::after{opacity:1!important}
.scroll-story-app .story-target.primary-button::after{background:rgba(255,255,255,.18)}

/* An outgoing Passport must never recolour the incoming screen via :has(). */
.scroll-story-app .story-page-stage{--page-surface:var(--canvas);background:var(--page-surface)!important}
.scroll-story-app .story-page-stage[data-story-theme=passport]{--page-surface:#b2ef76}
.scroll-story-app .story-page-stage[data-story-theme=credit]{--page-surface:#f5f6f2}
.scroll-story-app .story-page-stage :is(.status-bar,.app-topbar,.app-scroll,.app-tabbar,.home-area){background:var(--page-surface)!important}
.scroll-story-app .story-page-stage[data-story-theme=standard] :is(.app-tabbar,.home-area){background:#fff!important}

/* Route headings receive focus for announcements, not an interactive control ring. */
.app-heading[tabindex="-1"]:focus { outline: none; }

/* Keep screen navigation from scrolling the embedded document past its frame. */
html:has(> body.embedded-preview) { height: 100%; overflow: clip; }
body.embedded-preview { height: 100%; overflow: clip; }
