/* Shared journey rhythm: content stays in document flow, including on short iPhones. */
:root{--muted:#60666b;--journey-gutter:20px}
.site-header{width:min(1150px,100%);margin:0 auto;display:flex;align-items:center;gap:24px;padding:calc(12px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 12px max(24px,env(safe-area-inset-left));min-height:68px}
.site-header .orr-wordmark{position:static;flex:none;min-height:44px;z-index:auto}
.site-header #orr-account-bar{position:static;flex:1;min-width:0;max-width:none;margin:0;padding:0;gap:4px 16px;overflow-wrap:anywhere}
.site-header #orr-account-bar button{min-height:44px;padding:8px 0;white-space:normal}
.site-header #orr-account-bar[hidden]{display:none}
.site-header #orr-account-bar{justify-content:flex-end}
.site-header .orr-save-state{display:none}
.site-header~.progress{position:static;display:none;width:min(600px,calc(100% - 40px));height:3px;margin:0 auto;transform:none}
.site-header~.progress.on{display:block}
.site-header~.page{padding-top:20px;min-height:0}
.site-header~.progress.on~.page{padding-top:20px}
.wizard .question{margin-bottom:24px}
.wizard :is(.helper,.flow-note,.status,.personal-hint,.personal-budget,.section-position,.step-top){font-size:.875rem;line-height:1.55}
.wizard :is(.helper,.personal-hint){color:#60666b}
.wizard .nav{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;margin:24px 0 0;padding:20px 0 0}
.wizard .nav .btn{grid-row:1;width:100%;max-width:420px;justify-self:center}
.wizard .nav .back{grid-row:2;justify-self:center}
.wizard .nav .back{min-height:48px;padding:12px 8px;line-height:1.4}
.wizard .nav .btn{height:auto;min-height:52px;white-space:normal;line-height:1.4;padding:14px 20px}
.wizard :is(.inline-followup,.progressive-section,.reveal,.subquestion){animation:none}
.wizard .inline-followup{margin-top:20px;padding-top:0;border-top:0}
.wizard .inline-followup>.field{margin-bottom:20px}
.wizard :is(.fuel-choices,.charging-choices){margin-top:20px}
.wizard :is(.fuel-choices,.charging-choices)+.charging-choices{padding-top:20px;border-top:1px solid var(--line)}
.wizard .helper:empty{display:none}
.wizard .store-chip.selected{background:#f2f5f3;color:var(--ink);border-color:#262a28;box-shadow:inset 0 0 0 1px #262a28}
.wizard .store-chip .brand-logo{background:#fff;border-radius:5px;padding:2px;box-sizing:border-box;opacity:1;visibility:visible}
.wizard .store-chip .brand-logo.brand-reverse{background:#272727}
.wizard .personal-logo{background:#fff;border-radius:7px;padding:4px}
.wizard .personal-logo-dark{background:#272727}
.wizard .personal-logo img{opacity:1;visibility:visible;object-fit:contain}
.wizard .inline-followup :is(h2,h3){line-height:1.4}
.wizard .spending-section>summary{min-height:64px;scroll-margin-top:20px}
.wizard .spending-section-body{padding-bottom:20px}
.wizard :is(.edit,.small-link,.inline-fix){min-height:44px;line-height:1.4}
.wizard .spending-status:empty{display:none}
.review-navigation{margin:24px 0}
.review-navigation summary{min-height:48px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 0}
.review-navigation>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.review-navigation button{min-height:48px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-align:left;font-size:.875rem;line-height:1.4}
.review-navigation button:hover{background:var(--soft)}
/* A modal has one vertical scroller; no height subtraction based on assumed text size. */
.catalog-dialog{overflow-y:auto;overscroll-behavior:contain}
.catalog-dialog .catalog-list{height:auto;overflow:visible}
.catalog-dialog .catalog-tools{position:static}
.catalog-dialog .catalog-dialog-head{position:sticky;top:0;z-index:3}
.catalog-dialog :is(.catalog-close,.catalog-country button){min-width:44px;min-height:44px;flex-shrink:0}
.catalog-dialog :is(input,select){font-size:1rem}
.catalog-dialog :is(.catalog-list-status,.catalog-dialog-foot,.catalog-row p,.catalog-source){font-size:.875rem;line-height:1.5}
.orr-account-dialog{padding-bottom:calc(28px + env(safe-area-inset-bottom));max-height:calc(100dvh - 32px);overflow-wrap:anywhere}
.orr-account-dialog .orr-account-close{width:44px;height:44px}
.pw-nav{gap:12px;flex-wrap:wrap}
.pw-nav .pw-back{width:auto;min-width:44px;height:auto;min-height:44px;font-size:.875rem;padding:8px 0}
.pw-stage{font-size:.875rem;line-height:1.5;color:var(--muted);text-align:right;margin-left:auto}
.pw-progress{flex-basis:100%;justify-content:center}
.pw-content.result-hero{overflow:visible;min-height:0;gap:0}
.pw-content .pw-primary{margin-top:24px;min-width:0;min-height:54px;height:auto;padding:14px 18px;line-height:1.45;white-space:normal}
.pw-content .pw-primary>span{position:static}
.pw-content :is(.pw-intro,.pw-deliverables p){font-size:1rem;line-height:1.6}
.pw-page :is(.pw-footnote,.pw-source-note,.pw-source-heading,.pw-value>span,.pw-price small,.pw-total>span,.pw-ready,.pw-breakdown-row p,.pw-learn p,.pw-learn summary,.pw-disclosure,.pw-fit>small,.pw-match-path span,.pw-card-caption,.pw-matches-heading>span){font-size:.875rem;line-height:1.5}
.pw-source-row small{font-size:.75rem;line-height:1.5}
.pw-page :is(.pw-learn summary,.pw-disclosure summary,.pw-total button){min-height:44px;padding-block:12px}
.pw-method-scroll{height:auto;overflow:visible;max-height:none;font-size:1rem}
.pw-method-scroll p{font-size:.875rem}
.pw-content:has([data-checkout-form]:not([hidden])){min-height:0}
.pw-checkout{min-width:0}
.pw-checkout .pw-primary{margin-top:0}
.intro-controls{flex-wrap:wrap;gap:8px;margin:12px 0 20px}
.intro-slide h2{min-height:0;font-size:1.5rem;line-height:1.35}
.intro-visual{height:210px}
.intro-card-match img{object-fit:contain}
@keyframes journey-appear{from{opacity:.55}to{opacity:1}}
@media(max-width:700px){
 .site-header{gap:16px;align-items:flex-start;padding-inline:max(var(--journey-gutter),env(safe-area-inset-left)) max(var(--journey-gutter),env(safe-area-inset-right))}
 .site-header #orr-account-bar{font-size:.875rem;justify-content:flex-end;gap:0 12px}
 .page{padding-inline:max(var(--journey-gutter),env(safe-area-inset-left)) max(var(--journey-gutter),env(safe-area-inset-right));padding-bottom:calc(28px + env(safe-area-inset-bottom))}
 .wizard .question{font-size:clamp(1.625rem,7vw,2rem);letter-spacing:-.035em;line-height:1.22;text-wrap:pretty;overflow-wrap:normal}
 .wizard .nav{position:static;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:24px;padding-top:20px}
 .wizard .nav .btn{grid-row:1;width:100%;max-width:100%;justify-self:center;font-size:1rem}
 .wizard .nav .back{grid-row:2;width:100%;justify-self:center;padding:10px 14px}
 .wizard .option{padding:16px;gap:12px;min-height:68px}
 .wizard :is(input:not([type=range]),select,textarea){font-size:1rem;max-width:100%;min-width:0}
 .wizard .field select{padding-right:28px;text-overflow:ellipsis}
 .wizard :is(.personal-tile,.store-chip,.store-chip:has(.brand-logo)){font-size:.875rem;line-height:1.45;padding:12px 10px;min-height:52px}
 .wizard .personal-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .wizard .personal-tile{min-height:92px}
 .wizard :is(.field label,.personal-field label,.birthday .field label,.inline-total small,.personal-credit>div p,.personal-fold>summary small){font-size:.875rem;line-height:1.5}
 .wizard :is(.personal-pair,.draft-fields,.income-fields){gap:24px}
 .wizard .spending-section-name{font-size:1rem;line-height:1.45}
 .wizard .spending-subtotal{font-size:.875rem}
 .wizard :is(.personal-fold>summary,.personal-merchant-detail>summary){gap:10px;line-height:1.5;min-height:52px}
 .wizard .personal-merchant-detail>summary>span{flex:1;min-width:0}
 .wizard .spending-edit{font-size:.875rem}
 .wizard .split-row{grid-template-columns:minmax(0,1fr);gap:12px}
 .wizard .split-row .money{width:100%}
 .wizard .split-fixed{min-height:44px;font-size:.875rem}
 .wizard .birthday{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
 .wizard .birthday>.field:first-child{grid-column:1/-1}
 .review-navigation>div{grid-template-columns:minmax(0,1fr)}
 .home{min-height:0;padding-top:4px}
 .home .proof-card{padding:20px 24px}
 .home .catalog-summary{min-height:44px;font-size:.875rem;white-space:normal}
 .intro-screen{padding-top:40px}
 .intro-screen h1{font-size:1.875rem;line-height:1.2;margin-bottom:20px}
 .intro-slide{padding:16px 16px 24px}
 .intro-visual{height:180px;min-width:0}
 .intro-cards{width:240px;max-width:100%;height:165px}
 .intro-card-match{width:52%;left:calc(3% + var(--i)*18%);top:calc(20px + var(--i)*15px)}
 .intro-card-match img{height:auto;aspect-ratio:1.586}
 .intro-questions{max-width:90%}
 .intro-earnings{max-width:250px}
 .intro-earnings>svg{height:120px}
 .intro-amount{font-size:2.5rem;height:52px}
 .plan-reels{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:360px}
 .plan-reels .reel-window{height:170px}
 .scan-loading h1{line-height:1.25}
 .pw-content.result-hero{padding:24px 18px;border-radius:20px}
 .pw-content h1{font-size:1.75rem;line-height:1.25;overflow-wrap:anywhere}
 .pw-content .pw-value strong{font-size:clamp(2.75rem,13vw,4.5rem);letter-spacing:-.045em}
 .pw-page :is(.pw-source-row>div,.pw-breakdown-row summary,.pw-breakdown-total){font-size:.9375rem;line-height:1.5}
 .pw-source-row,.pw-breakdown-row summary,.pw-breakdown-total{flex-wrap:wrap;gap:8px 12px}
 .pw-source-row>div{flex:1 1 140px;min-width:0}
 .pw-source-row strong{margin-left:auto;font-size:1rem}
 .pw-breakdown-row summary>span{min-width:120px}
 .pw-matches-heading{flex-wrap:wrap;align-items:center}
 .pw-matches-heading>span{white-space:normal}
 .pw-fit-row>div:first-child{flex-wrap:wrap;gap:8px}
 .pw-fit-row>div:first-child>span{font-size:.875rem;letter-spacing:.02em}
 .pw-price strong,.pw-total strong{font-size:clamp(2.5rem,12vw,3.5rem);letter-spacing:-.04em}
 .catalog-dialog{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
 .catalog-dialog :is(.catalog-dialog-head,.catalog-dialog-foot){gap:12px;flex-wrap:wrap}
 .catalog-dialog .catalog-dialog-head>div{flex:1;min-width:0}
 .catalog-dialog .catalog-country{flex-wrap:wrap}
 .catalog-dialog .catalog-country button{flex:1;font-size:.875rem}
 .wallet-styles .wallet-style-heading{flex-wrap:wrap;gap:16px}
 .wallet-styles .wallet-style-heading>div{min-width:0}
 .results :is(.plan-controls,.comparison-tools){grid-template-columns:minmax(0,1fr)}
 .results :is(.helper,.plan-card-role,.plan-index-scale,.plan-value-reason p,.plan-route small,.plan-card-details,.comparison-row small){font-size:.875rem;line-height:1.55}
 .results .plan-apply a{white-space:normal;min-height:48px;height:auto;line-height:1.5;padding-block:12px}
}
@media(max-width:360px){
 :root{--journey-gutter:16px}
 .site-header{gap:12px}.site-header .orr-logo{width:38px}
 .wizard .choice-grid{grid-template-columns:minmax(0,1fr)}
 .pw-options{gap:5px}.pw-options span{font-size:1rem}
 .pw-backdrop{grid-template-columns:minmax(0,1fr)}
 .pw-card-art{height:110px}.pw-card-art img{height:90px}
}
@media(prefers-reduced-motion:reduce){
 .wizard :is(.inline-followup,.progressive-section){animation:none}
 .intro-track,.progress-fill{transition:none}
}
@media print{.site-header,.review-navigation{display:none!important}}
.select-value-text{display:block;font-size:.875rem;line-height:1.5;margin-top:8px;color:#60666b;white-space:normal;overflow-wrap:anywhere}
.select-value-text[hidden]{display:none}
.select-trigger{height:auto;min-height:52px;white-space:normal;line-height:1.45;padding-block:12px}
.value-results .value-hero{overflow:visible}
.reveal-running .value-line,.reveal-running .value-area{animation-duration:700ms}
@media(max-width:700px){
 .catalog-dialog{padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}
 .results .plan-card-heading,.results .comparison-identity{overflow-wrap:anywhere}
 .wizard .option-copy,.wizard .personal-tile>span,.wizard .store-chip>span{overflow-wrap:break-word;word-break:normal}
}
.pw-slider-labels{font-size:.875rem;line-height:1.5;flex-wrap:wrap}
.pw-custom>label{flex-wrap:wrap;line-height:1.5}
.pw-custom input[type=range]{min-height:48px}

/* Home content shares the same calm layout on compact and full-size screens. */
.home{text-align:left;justify-content:flex-start;min-height:0}
.home .catalog-summary{align-self:flex-start;margin:0 0 12px;padding-left:0;border-radius:8px;max-width:100%}
.home h1{line-height:1.06;text-wrap:balance;margin-bottom:16px}
.home .hero-stage{margin:16px 0 20px}
.home .proof-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;text-align:left;width:100%;margin-inline:auto;padding:20px 0;background:transparent;border-radius:0;border-top:1px solid var(--line)}
.home .proof-card .proof-label{display:block;flex:1 1 100px;max-width:20ch;line-height:1.4}
.home .proof-card strong{font-size:clamp(2.4rem,9vw,3.4rem);margin:0;white-space:nowrap}
.home-card-fan{height:auto;aspect-ratio:2.1;max-width:580px;width:100%;position:relative;margin:0 auto;isolation:isolate;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;border-radius:16px}
.home-card-fan:focus-visible{outline:2px solid #1ba56c;outline-offset:3px}
.home-card-fan .home-card-art{position:absolute;width:52%;aspect-ratio:1.586;left:24%;top:28px;opacity:0;visibility:hidden;transform:translateX(130%) scale(.74) rotate(14deg);filter:drop-shadow(0 8px 8px #00000018);transition:transform .5s cubic-bezier(.22,.68,.22,1),opacity .35s ease;pointer-events:none}
/* Hide outgoing artwork immediately: opacity alone briefly exposes four cards. */
.home-card-fan .home-card-art[data-visible="true"]{visibility:visible;opacity:1}
.home-card-fan .home-card-art[data-slot="-3"]{transform:translateX(-155%) scale(.74) rotate(-14deg)}
.home-card-fan .home-card-art[data-slot="-2"]{transform:translateX(-130%) scale(.74) rotate(-14deg)}
.home-card-fan .home-card-art[data-slot="-1"]{z-index:2;transform:translateX(-48%) scale(.8) rotate(-10deg)}
.home-card-fan .home-card-art[data-slot="0"]{z-index:3;transform:translateY(16px)}
.home-card-fan .home-card-art[data-slot="1"]{z-index:2;transform:translateX(48%) scale(.8) rotate(10deg)}
.home-card-fan .home-card-art[data-slot="2"]{transform:translateX(130%) scale(.74) rotate(14deg)}
.home .catalog-live-dot{background:#1ba56c;animation:catalog-live-pulse 2.4s ease-out infinite}
.home .catalog-live-dot[data-state="unavailable"]{background:#aa5b45;animation:none}
@media(max-width:700px){
 .home h1{font-size:clamp(2rem,9vw,2.75rem);line-height:1.06;margin-bottom:12px}
 .home-card-fan{aspect-ratio:2.05;min-height:144px;max-height:230px}
 .home-card-fan .home-card-art{width:min(52%,220px);left:calc(50% - min(26%,110px));top:20px}
 .home .hero-stage{margin-top:8px;margin-bottom:12px}
 .home .proof-card{padding:18px 0 0;margin-bottom:18px;gap:8px 12px}
 .home .catalog-summary{margin-bottom:8px}
 .home .proof-card strong{font-size:clamp(2.2rem,9vw,2.75rem)}
 .home .btn{min-height:54px}
 .intro-track{transition:transform .2s ease-out}
 .intro-screen{padding-bottom:12px}
}
@media(prefers-reduced-motion:reduce){.home .catalog-live-dot{animation:none}}

.home-card-art .home-fan-card{display:block;width:100%;height:100%;max-width:none;object-fit:contain;-webkit-user-drag:none}
.home-card-art .card-art-reference{display:block;height:100%}
.home-card-art .card-art-reference-note{display:none}
@media(max-width:700px) and (max-height:740px){
 html[data-orr-view="home"] .site-header~.page{padding-top:4px;padding-bottom:16px}
 .home .hero-stage{margin-block:6px}
 .home h1{font-size:clamp(1.9rem,8vw,2.35rem);margin-bottom:10px}
 .home .catalog-summary{margin-bottom:6px}
}

/* Fill the visible mobile viewport; short screens can still scroll naturally. */
@media(max-width:700px){
 html[data-orr-view="home"] body{display:flex;flex-direction:column;min-height:100svh;min-height:100dvh}
 html[data-orr-view="home"] .site-header{flex-shrink:0}
 html[data-orr-view="home"] .site-header~.page{display:flex;flex-direction:column;flex:1 0 auto;padding-bottom:max(16px,env(safe-area-inset-bottom))}
 html[data-orr-view="home"] .home{flex:1 0 auto;margin-block:0}
 html[data-orr-view="home"] .home>*{flex-shrink:0}
 html[data-orr-view="home"] .home .hero-stage{margin-top:28px;margin-bottom:24px}
 html[data-orr-view="home"] .home>[data-action="start"]{margin-top:auto}
}
@media(max-width:700px) and (max-height:600px){
 html[data-orr-view="home"] .home .hero-stage{margin-top:16px;margin-bottom:20px}
}

.wizard .personal-tile.selected{border-width:1px;box-shadow:inset 0 0 0 1px #262a28}

.more-stores{margin-top:10px}
.more-stores>summary{min-height:44px;padding:12px 0;font-size:.875rem;font-weight:600;cursor:pointer}
.more-stores[open]>.chip-options{margin-top:8px}

/* Compact, editable review; details open in place without replaying the flow. */
.compact-review{margin:20px 0}
.compact-review .summary-period{margin-bottom:12px}
.review-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.review-category{min-width:0;border:1px solid #e6e8e7;border-radius:16px;background:#f6f7f6;overflow:hidden}
.review-category>summary{list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:12px;min-height:64px;cursor:pointer;font-size:.875rem;line-height:1.35}
.review-category>summary::-webkit-details-marker{display:none}
.review-category>summary>span:first-child{flex:1 1 75%;min-width:0}
.review-category>summary>strong{font-size:1rem;white-space:nowrap}
.review-chevron{margin-left:auto;color:#727873}
.review-category[open]{grid-column:1/-1;background:white}
.review-category[open] .review-chevron{transform:rotate(180deg)}
.review-category-body{padding:0 14px 16px}
.review-category-body .inline-total{margin-top:4px;padding:12px 0;gap:12px}
.review-category-body .inline-total small{display:none}
.review-grand-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:16px 2px;font-size:1rem}
.review-grand-total strong{font-size:1.375rem}
.review-pills{gap:8px;margin:0 0 16px;flex-wrap:wrap}
.review-pills>span{display:inline-flex;align-items:center;gap:7px;font-size:.8125rem;padding:9px 12px}
.wallet-count-icons{display:inline-flex;align-items:center;padding-left:4px}
.wallet-count-icons i{display:block;width:15px;height:11px;background:white;border:1px solid #858b87;border-radius:2px;margin-left:-4px;transform:rotate(-8deg)}
.wizard .bank-choices .personal-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.wizard .bank-choices .personal-tile{display:flex;flex-direction:row;text-align:left;gap:8px;min-height:64px;padding:10px 12px;font-size:.875rem}
.wizard .bank-choices .personal-logo{width:40px;height:32px;flex:none;margin:0}
.wizard .bank-choices .personal-logo img{width:100%;height:100%}
.wizard .bank-choices .personal-monogram{width:32px;height:32px;font-size:1rem;flex:none}
.bank-followup{margin-top:20px;padding:16px;background:#f5f6f5;border-radius:16px}
.bank-followup .personal-field{margin:0 0 16px}
.bank-followup .personal-field:last-child{margin-bottom:0}
.subscription-groups{margin-top:20px}
.wizard .subscription-groups .personal-tile{min-height:68px;display:flex;gap:8px;align-items:center;text-align:left}
.wizard .subscription-groups .personal-monogram{width:32px;height:32px;font-size:1.125rem;flex:none}
.subscription-options{margin-top:20px}
.subscription-options h4{font-size:1rem;margin:0 0 10px}
.selected-cards{display:block;margin:18px 0}
.current-cards-label{display:block;font-size:.875rem;font-weight:650;margin-bottom:10px}
.current-cards-list{display:flex;align-items:stretch;gap:8px;overflow-x:auto;padding:2px 2px 8px;max-width:100%;scroll-snap-type:x proximity}
.current-card-tile{position:relative;display:flex;flex-direction:column;gap:8px;align-items:center;flex:0 0 126px;padding:12px 20px 10px 10px;border:1px solid #e7e9e7;border-radius:14px;background:#f4f5f4;color:var(--ink);scroll-snap-align:start;text-align:left}
.current-card-tile img{display:block;width:84px;height:54px;object-fit:contain}
.current-card-tile small{width:100%;font-size:.6875rem;line-height:1.4}
.current-card-remove{position:absolute;right:5px;top:5px;min-width:20px;text-align:center;font-size:1.25rem}
.no-current-card{display:flex;align-items:center;gap:10px;border-radius:12px;background:#f4f5f4;padding:14px;font-size:.875rem;color:#626964}
.wizard .network-filters{display:flex;flex-wrap:wrap;gap:8px}
.wizard .network-filters .filter{display:flex;justify-content:center;align-items:center;gap:6px;flex:1 1 28%;padding:10px 8px;font-size:.8125rem;min-height:46px}
.network-filters img{object-fit:contain;background:white;border-radius:4px;padding:2px}
.select-sheet-heading{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 8px;gap:12px}
.select-sheet-heading strong{font-size:1rem}
.select-sheet-heading button{width:44px;height:44px;background:#f3f4f3;border:0;border-radius:50%;font-size:1.5rem}
.select-sheet .select-search{font-size:16px;min-height:52px;border:1px solid #dedede;border-radius:10px;margin-bottom:8px}
.select-sheet .select-list button{min-height:56px}
.plan-email-form{width:min(440px,100%);margin:20px auto 0;padding:18px;background:#f4f6f4;border:1px solid #e4e8e4;border-radius:18px;text-align:left}
.plan-email-form label{display:block;font-size:1rem;line-height:1.4;font-weight:600;margin-bottom:12px}
.plan-email-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.plan-email-controls input{width:100%;min-width:0;font-size:16px;min-height:48px;border:1px solid #cdd3ce;border-radius:10px;padding:10px 12px;background:white}
.plan-email-controls .btn{font-size:.875rem;min-height:48px;height:auto;min-width:0;width:auto;padding:10px 14px;white-space:normal;border-radius:10px}
.plan-email-note,#plan-email-status{font-size:.8125rem;line-height:1.5;color:#57635b;margin:10px 0 0}
#plan-email-status:empty{display:none}
.scan-loading> .small-link{display:block;margin:12px auto 0;min-height:44px}
@media(max-width:700px){
 .wizard:is([data-step=safety],[data-step=spending],[data-step=cards],[data-step=review]){padding-bottom:calc(148px + env(safe-area-inset-bottom))}
 .wizard:is([data-step=safety],[data-step=spending],[data-step=cards],[data-step=review])>.nav{position:fixed;z-index:40;bottom:0;left:0;right:0;max-width:none;margin:0;padding:12px max(20px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);box-shadow:0 -8px 22px #24382d0a;border-top:1px solid #e7e9e7;gap:2px}
 .wizard:is([data-step=safety],[data-step=spending],[data-step=cards],[data-step=review])>.nav .btn{max-width:560px;font-size:1rem;min-height:52px}
 .wizard:is([data-step=safety],[data-step=spending],[data-step=cards],[data-step=review])>.nav .back{min-height:36px;padding:7px}
 .scan-loading{padding-top:0}
 .scan-loading h1{margin:4px 0 18px;font-size:1.75rem}
 .scan-loading .scan-count{margin:14px 0 4px}
 .scan-loading #scan-status{min-height:0;margin:8px 0 12px;font-size:.875rem}
 .scan-loading .plan-reels .reel-window{height:135px}
 .plan-email-controls{grid-template-columns:minmax(0,1fr)}
 .plan-email-form{padding:16px}
 .plan-email-controls .btn{width:100%}
 .wizard[data-step=review] .question{margin-bottom:16px}
 .wizard .bank-choices .personal-tile>span:last-child{min-width:0;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.review-chevron{transition:none}}
.selected-cards{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:start}
.current-cards-label{padding-top:12px;line-height:1.4}
.wizard .bank-choices .personal-tile i{position:static;margin-left:auto;flex:none;font-size:.75rem}
.wizard .unsure-choice{display:block;min-height:44px;margin-top:14px;padding:10px 14px;border:1px solid #dfe3df;border-radius:12px;background:#fff;font-size:.875rem}
.wizard .unsure-choice.selected{background:#edf3ee;border-color:#4d6557}
.compact-review .breakdown-heading{gap:12px;flex-wrap:wrap;margin-bottom:12px}
.compact-review .breakdown-heading h2{font-size:1rem;margin:0}
.compact-review .summary-total{padding:16px 0;margin:0;gap:12px;font-size:.9375rem}
.compact-review .summary-total strong{font-size:1.5rem}
.subscription-options+.field{margin-top:20px}

/* Compact, consistent questionnaire controls. */
.wizard .credit-note{font-size:1rem;line-height:1.5;margin:0 0 22px;color:#536159}
.wizard .credit-options{gap:8px}.wizard .credit-options .option{padding:12px 16px;min-height:60px}
.wizard .credit-options .option-copy{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.wizard .credit-options .option-copy small{margin:0;font-size:.875rem}
@media(max-width:700px){
 .wizard[data-step="safety"] .question{margin-bottom:8px}
 .wizard[data-step="safety"] .credit-note{font-size:.875rem;line-height:1.45;margin-bottom:12px}
 .wizard[data-step="safety"] .credit-options{gap:6px}
 .wizard[data-step="safety"] .credit-options .option{min-height:48px;padding:8px 14px;border-radius:12px}
 .wizard[data-step="safety"] .credit-options .option-copy{column-gap:8px;row-gap:2px}
 .wizard[data-step="safety"] .credit-options .option-copy small{font-size:.8125rem}
}
.housing-prompt{margin:0 0 12px;font-size:1rem;color:#536159}
.housing-pills{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.housing-pills button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:12px 10px;min-height:48px;border:1px solid #cad2ce;border-radius:999px;background:white;color:#171917;font-size:.9375rem;font-weight:600}
.housing-pills button.selected{border-color:#168d5d;background:#eef8f2;box-shadow:inset 0 0 0 1px #168d5d}
.housing-check{width:19px;height:19px;flex:0 0 19px;border:1px solid #9aa79f;border-radius:50%;display:grid;place-items:center;font-size:13px;line-height:1}
.selected .housing-check{background:#168d5d;color:white;border-color:#168d5d}
.wizard .spending-section>summary{min-height:54px;padding-block:12px}
.wizard .spending-section-name{display:flex;align-items:center;gap:8px}
.wizard .spending-section-body{padding:16px}
.wizard .inline-followup{margin:18px 0;padding-top:16px}
.wizard .inline-followup .personal-heading,.wizard .inline-followup h3{margin:0 0 12px}
.wizard .inline-followup .personal-heading:not(:first-child){margin-top:20px}
.wizard .inline-followup .personal-tiles,.wizard .inline-followup .chip-options,.wizard .bank-choices .personal-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wizard .personal-tile,.wizard .store-chip,.wizard .store-chip:has(.brand-logo),.wizard .bank-choices .personal-tile,.wizard .subscription-groups .personal-tile{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:8px;min-height:52px;padding:9px 28px 9px 10px;font-size:.875rem;line-height:1.25;border-radius:12px}
.wizard .personal-tile>span,.wizard .store-chip>span{min-width:0;overflow-wrap:break-word}
.wizard .personal-logo,.wizard .personal-monogram{display:flex;align-items:center;justify-content:center;width:34px;height:28px;min-width:34px;padding:0;flex:0 0 34px;border-radius:5px;font-size:20px}
.wizard .personal-logo img,.wizard .store-chip .brand-logo{width:34px;max-width:34px;height:26px;max-height:26px;object-fit:contain;flex:0 0 34px;margin:0}
.wizard .personal-tile i,.wizard .bank-choices .personal-tile i,.wizard .store-chip .small-check{position:absolute;right:8px;top:50%;transform:translateY(-50%);margin:0;font-size:12px;width:14px;height:14px}
.wizard .subscription-groups,.wizard .subscription-options{margin:18px 0 0}
.wizard .inline-followup .personal-tiles+.field{margin-top:24px}
.wizard .bank-search-label{display:block;font-size:1rem;margin:16px 0 8px;font-weight:600}
.wizard .selected-bank-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.wizard .network-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.wizard .network-filters .filter{min-width:0;min-height:44px;padding:8px 5px;gap:5px;font-size:.875rem;line-height:1.2;white-space:normal;flex:none}
.wizard .network-filters img{width:30px;height:20px;max-width:30px;object-fit:contain;flex:0 0 30px}
@media(max-width:700px){
 /* Keep full network names readable; use fewer columns when space is tight. */
 .wizard .network-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(7rem,30%)),1fr))}
 .wizard .network-filters .filter{font-size:.8125rem;gap:4px;white-space:nowrap;overflow-wrap:normal;word-break:normal}
 .wizard .network-filters .filter>span{flex:none;white-space:nowrap;overflow-wrap:normal;word-break:normal}
 .wizard .network-filters img{width:24px;height:20px;max-width:24px;flex:0 0 24px}
}
.wizard .card-disclaimer{font-size:.875rem;line-height:1.45;color:#59645e;margin:16px 0}
.wizard .review-category-grid{display:block}
.wizard .review-category{border:0;border-bottom:1px solid #e1e6e3;border-radius:0;background:transparent}
.wizard .review-category>summary{padding:11px 0;min-height:44px;display:flex;flex-wrap:nowrap;gap:10px;font-size:.9375rem}
.wizard .review-category>summary>span:first-child{flex:1 1 auto}
.wizard .review-category>summary>strong{font-size:1rem;margin-left:auto}
.wizard .review-category .review-chevron{flex:0 0 14px}
.wizard .review-category-body{padding:0 0 16px}
.wizard .summary-total{padding:13px 0}.wizard .summary-total strong{font-size:1.25rem}
.wizard .btn-dark,.scan-loading .btn,.plan-email-controls .btn{color:#fff;background:#171917}
.skip-email{display:block;max-width:440px;margin:14px auto 0;min-height:48px;width:100%}
.scan-loading h1{margin-bottom:20px}.scan-loading .plan-reels{margin-bottom:18px}
@media(max-width:600px){
 .wizard[data-step="review"] .question{font-size:1.65rem;margin-bottom:16px}
 .wizard[data-step="review"] .review-pills{margin-bottom:12px;gap:6px}
 .wizard[data-step="review"] .compact-review{margin:12px 0}
 .wizard[data-step="review"]>.assumptions,.wizard[data-step="review"]>.review-navigation{margin:8px 0}
 .wizard[data-step="review"]>.assumptions>summary,.wizard[data-step="review"]>.review-navigation>summary{min-height:40px;padding-block:8px}
 .wizard[data-step="review"] .nav{margin-top:18px}
 .wizard .strategy-option{min-height:76px;padding-block:12px}
 .scan-loading .reel-window{height:210px}
}
/* One statement-help step at a time; keep navigation outside the scroll area. */
.statement-help-link{display:block;margin:18px auto;padding:10px 4px;border:0;background:none;text-decoration:underline;text-underline-offset:4px;color:#171717;font-size:1rem;min-height:44px;cursor:pointer}
.statement-help-dialog{box-sizing:border-box;width:min(460px,calc(100% - 24px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:auto;border:1px solid #ddd;border-radius:22px;padding:20px;background:#fff;color:#171717;overflow:hidden;overscroll-behavior:contain;color-scheme:light}
.statement-help-dialog[open]{display:flex;flex-direction:column;gap:16px}
.statement-help-dialog::backdrop{background:rgba(0,0,0,.5);backdrop-filter:grayscale(1)}
.statement-help-heading{display:flex;align-items:center;gap:12px;flex:none}
.statement-help-heading h2{font-size:1.125rem;line-height:1.3;margin:0;flex:1;color:#171717}
.statement-help-heading button,.statement-help-nav button{display:flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border:1px solid #ddd;border-radius:50%;background:#fff;color:#171717;font-size:26px;cursor:pointer}
.statement-help-dialog button:focus-visible,.statement-help-dialog a:focus-visible,.statement-help-link:focus-visible{outline:2px solid #171717;outline-offset:3px}
.statement-help-content{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.statement-help-caption{min-height:104px}
.statement-help-caption h3{font-size:1.375rem;line-height:1.25;letter-spacing:-.025em;margin:0 0 8px;color:#171717}
.statement-help-caption p{font-size:.9375rem;line-height:1.45;margin:0 0 16px;color:#555}
.statement-help-visual{box-sizing:border-box;display:flex;align-items:center;justify-content:center;height:240px;height:clamp(160px,32dvh,260px);padding:24px;background:#f5f5f5;border:1px solid #eee;border-radius:16px;overflow:hidden;color:#171717}
.statement-help-screenshot{display:block;width:100%;max-height:100%;overflow:hidden;filter:grayscale(1);border:1px solid #ddd;border-radius:10px;background:#fff}
.statement-help-dialog .statement-help-example{min-height:32px;font-size:.6875rem;line-height:1.45;text-align:center;color:#666;margin:10px 0 0}
.statement-help-example a{color:#666;text-underline-offset:2px}
.statement-help-app{display:grid;justify-items:center;gap:12px;font-size:.875rem}
.statement-help-app>span{display:grid;place-items:center;width:88px;height:88px;border:1px solid #ddd;border-radius:22px;background:#fff}
.statement-help-app svg{width:52px;height:52px}
.statement-help-file-demo{display:grid;justify-items:center;gap:12px;width:100%;font-size:.875rem}
.statement-help-file-demo>svg{width:56px;height:56px}
.statement-help-file-demo>div{display:flex;align-items:center;gap:10px;width:100%;max-width:280px;padding:12px;border:1px solid #ddd;border-radius:10px;background:#fff;font-size:.8125rem}
.statement-help-file-demo>div>span{padding:6px 4px;border:1px solid #ddd;border-radius:3px;font-size:.625rem}
.statement-help-file-demo b{margin-left:auto}
.statement-help-upload-demo{display:grid;justify-items:center;gap:20px;width:100%}
.statement-help-upload-demo>strong{font-size:1.25rem;letter-spacing:.04em}
.statement-help-upload-demo>svg{width:44px;height:44px}
.statement-help-upload-demo>span{padding:10px 24px;border-radius:8px;background:#171717;color:#fff;font-size:.875rem}
.statement-help-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;flex:none;margin:0;font-size:.8125rem;color:#666}
.statement-help-nav button:last-child{justify-self:end;background:#171717;color:#fff;border-color:#171717}
.statement-help-nav button:disabled{opacity:.3;cursor:default}
.statement-help-nav button.is-done{width:auto;gap:8px;padding:0 16px;border-radius:24px;font-size:.875rem}
.statement-help-nav button.is-done span{font-size:20px}
.statement-help-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.statement-help-dialog{padding:16px}.statement-help-dialog[open]{gap:12px}.statement-help-visual{padding:18px}}
@media(max-height:600px){.statement-help-caption{min-height:0}.statement-help-visual{height:150px;padding:12px}.statement-help-dialog .statement-help-example{min-height:0}.statement-help-upload-demo{gap:10px}.statement-help-file-demo{gap:6px}.statement-help-file-demo>svg{width:40px;height:40px}}

.wizard .review-settings{border-top:1px solid #e1e6e3;margin-top:8px}.wizard .review-settings>summary{padding:12px 0;min-height:44px;font-size:.9375rem;cursor:pointer}.wizard .review-settings .review-navigation{margin:12px 0}.wizard .review-category>summary{min-height:40px;padding-block:8px}
.wizard .review-category{padding:0}
.wizard .review-pills>span>span{padding:0;background:none;border-radius:0;font-size:inherit}
/* Keep review labels readable when the mobile input and segmented defaults apply. */
.wizard .review-category-body>.inline-total{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,42%);align-items:center;gap:12px;padding:12px}
.wizard .review-category-body>.inline-total>label{min-width:0;overflow-wrap:normal;word-break:normal}
.wizard .review-category-body>.inline-total>.money{width:100%;max-width:none;min-width:0}
.wizard .compact-review .breakdown-heading{display:flex;flex-wrap:wrap;margin:8px 0 10px;gap:8px}
.wizard .compact-review .breakdown-heading .segmented{width:auto;margin:0;flex:0 0 auto;flex-wrap:nowrap}
.wizard .compact-review .breakdown-heading .segmented button{flex:1 0 auto;white-space:nowrap;overflow-wrap:normal}
@media(max-width:400px){.wizard .review-category-body>.inline-total{grid-template-columns:minmax(0,1fr);gap:8px}}
@media(max-width:600px){
 .wizard .review-pills{flex-wrap:nowrap}
 .wizard .review-pills>span{padding:6px 8px;font-size:.75rem;gap:4px;white-space:nowrap}
 .wizard .review-pills .wallet-count-icons{display:none}
 .wizard .compact-review .breakdown-heading .segmented button{padding:8px 10px;min-height:36px;font-size:.8125rem}
 .wizard .compact-review .summary-total{padding:10px 0}
}

/* Mobile audit: a direct value-to-checkout path with optional explanation. */
.pw-content.result-hero{min-height:0;overflow:visible}
.pw-content .pw-primary{margin-top:18px}
.pw-included{max-width:36ch;font-size:16px;line-height:1.5;margin:16px 0;color:var(--ink)}
.pw-ongoing{font-size:14px;line-height:1.5;margin:10px 0 0;color:var(--muted)}
.pw-source-note{font-size:13px;line-height:1.5;margin:12px 0}
.pw-evidence{margin:8px 0 0;text-align:left}
.pw-evidence summary,.pw-disclosure summary{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:14px}
.pw-evidence p,.pw-disclosure{font-size:14px;line-height:1.6}
.pw-evidence .pw-breakdown{margin:0 0 12px}
.pw-evidence .pw-breakdown-total{font-size:14px;line-height:1.5;padding-top:12px}
.pw-nav .pw-back{width:auto;min-width:44px;min-height:44px;white-space:normal}
@media(max-width:600px){.pw-content.result-hero{padding:22px 16px}.pw-intro{font-size:14px}.pw-ready{font-size:13px}.pw-value>span{font-size:13px;line-height:1.5}.pw-value strong{font-size:clamp(44px,14vw,70px)}.pw-included{font-size:15px}.pw-picker{margin-top:16px}.pw-price{margin:20px 0}.pw-price strong{font-size:50px}.pw-breakdown-total strong{white-space:normal;text-align:right}.pw-matches{margin-top:20px}}

.home .proof-card .home-value-copy{margin:0;max-width:42ch;font-size:1rem;line-height:1.55;color:var(--muted);text-wrap:pretty}

/* Free access: reassurance without another step before the result. */
.free-plan-note,.scan-free-note{font-size:.875rem;line-height:1.5;color:#57635b;text-align:center;margin:14px auto 0;max-width:440px}
.plan-save{max-width:660px;margin:24px auto;text-align:left;border:1px solid #e4e8e4;border-radius:16px;padding:16px}
.plan-save>summary{cursor:pointer;min-height:24px;font-weight:600;line-height:1.5}
.plan-save .plan-email-form{width:100%;margin-top:16px}
.privacy-note{display:flex;align-items:flex-start;gap:8px;margin:16px 0 0;color:#60666b;font-size:.875rem;line-height:1.55;max-width:46ch}
.privacy-note .privacy-lock{flex:none;width:1.25em;height:1.25em;margin-top:.15em}
.privacy-note>span{min-width:0}
.plan-save-optional{font-weight:400;color:#60666b}
.plan-save .plan-email-controls{grid-template-columns:minmax(0,1fr)}
.plan-email-form .account-consent,.orr-account-dialog .account-consent{display:flex;align-items:flex-start;gap:10px;min-height:44px;margin:14px 0 0;font-size:.8125rem;line-height:1.6;font-weight:400;color:#57635b;cursor:pointer}
.plan-email-form .account-consent input,.orr-account-dialog .account-consent input{appearance:auto;-webkit-appearance:auto;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:1px 0 0;padding:0;accent-color:#171917;cursor:pointer}
.account-consent a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.plan-email-form .account-create-button{width:100%;min-height:48px;margin-top:10px;border-radius:10px;font-size:1rem;white-space:normal}
