.fitting-section{max-width:1536px;margin:auto;padding:95px 7% 70px;border-bottom:1px solid var(--line)}
.tools-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px}.tools-heading h2,.receipts-top h2{font-size:clamp(2.8rem,5.3vw,5.4rem)}.tools-heading h2 span,.receipts-top h2 span{color:var(--red)}.tools-heading>p{max-width:390px;font-size:16px;line-height:1.65;margin:0 0 5px}
.fitting-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}.portrait-stage{position:sticky;top:115px;padding:16px;border:1px solid var(--line);border-radius:20px;background:oklch(95% 0 0);overflow:hidden;transition:border-color .2s}.portrait-stage.is-dragover{border:2px dashed var(--red)}.portrait-preview{overflow:hidden;border-radius:11px;aspect-ratio:1;background:var(--paper);transition:border-radius .3s}.portrait-preview.is-circle{border-radius:50%}#pfp-canvas{display:block;width:100%;height:auto;touch-action:pan-y;cursor:default}#pfp-canvas.has-photo{cursor:grab;touch-action:none}#pfp-canvas.is-dragging{cursor:grabbing}.portrait-hint{display:block;margin:19px 4px 12px;font-size:12px;font-weight:700;letter-spacing:.055em;color:var(--muted)}.circle-preview{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:12px 4px;border:0;border-top:1px solid var(--line);background:transparent;font:600 14px var(--body);text-align:left;cursor:pointer}.circle-preview span{font-size:22px}.circle-preview[aria-pressed=true]{color:var(--red)}.fitting-label{font-size:13px;font-weight:700;letter-spacing:.1em;margin:3px 0 18px}.upload-zone{display:flex;align-items:center;flex-direction:column;gap:9px;padding:28px 22px;border:1px dashed oklch(66% 0 0);border-radius:10px;cursor:pointer;transition:background .2s,border-color .2s}.upload-zone:hover,.upload-zone.is-dragover{background:oklch(95% 0 0);border-color:var(--red)}.upload-zone svg{color:var(--red);margin-bottom:3px}.upload-zone strong{font-size:16px}.upload-zone>span{font-size:14px}.upload-zone small{font-size:12px;color:var(--muted);margin-top:6px}.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.upload-zone:has(+input:focus-visible){outline:3px solid var(--red);outline-offset:5px}.tool-message{font-size:13px;line-height:1.5;color:var(--muted);min-height:40px;margin:14px 0 24px}.tool-message.is-error{color:oklch(45% .18 25);font-weight:600}.fit-adjustments,.background-options{padding:0;border:0;margin:0 0 24px;min-width:0}.fit-adjustments legend,.background-options legend{font-size:12px;font-weight:700;letter-spacing:.065em;margin-bottom:16px}.fit-adjustments:disabled{opacity:.42}.fit-adjustments label{display:flex;justify-content:space-between;font-size:14px;font-weight:600;margin:14px 0 8px}.fit-adjustments input{display:block;width:100%;height:22px;margin:0;accent-color:var(--red);cursor:pointer}.background-options{display:flex;gap:12px}.swatch{width:38px;height:38px;background:var(--swatch);border:1px solid oklch(65% 0 0);border-radius:50%;cursor:pointer;position:relative;transition:transform .2s}.swatch.is-selected::after{content:'';position:absolute;inset:-5px;border:2px solid var(--ink);border-radius:50%}.swatch:hover{transform:scale(1.07)}.tool-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:24px}.tool-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:50px;padding:16px 20px;border:1px solid transparent;border-radius:7px;font:700 13px/1.2 var(--body);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,transform .2s}.tool-button span{font-size:20px}.tool-button.primary{background:var(--ink);color:var(--paper)}.tool-button.primary:hover:not(:disabled){background:var(--red)}.tool-button.light{background:var(--paper);color:var(--ink)}.tool-button.light:hover:not(:disabled){background:var(--red);color:var(--paper)}.tool-button.outline{border-color:oklch(55% 0 0);background:transparent;color:var(--paper)}.tool-button.outline:hover:not(:disabled){border-color:var(--paper)}.tool-button:disabled{opacity:.45;cursor:not-allowed}.tool-button:active:not(:disabled){transform:scale(.98)}.tool-reset{min-height:44px;padding:10px 0;border:0;background:transparent;color:var(--ink);font:600 13px var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.tool-reset:disabled{opacity:.4;cursor:not-allowed}.fine-print{font-size:12px;line-height:1.7;color:var(--muted);margin:19px 0 0}.fine-print a{text-decoration:underline;text-underline-offset:3px}
.receipts-section{background:var(--ink);color:var(--paper);padding:80px max(7%,calc((100% - 1320px)/2))}.receipts-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:55px}.receipt-source{display:inline-flex;align-items:center;gap:14px;min-height:44px;border-bottom:1px solid oklch(55% 0 0);font-size:14px;white-space:nowrap}.receipt-source:hover{color:var(--red)}.distribution-total>p:first-child{font-size:13px;font-weight:700;letter-spacing:.09em;color:oklch(77% 0 0);margin:0 0 13px}.amount-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:18px}.amount-line strong{font-family:var(--display);font-size:clamp(3.3rem,9.2vw,7.5rem);font-weight:700;line-height:1;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.amount-line>span{font-family:var(--display);font-weight:600;font-size:clamp(1.6rem,3vw,2.6rem);color:var(--red)}.distribution-total>p{font-size:16px;line-height:1.6;margin:15px 0 0}.distribution-total .usd-estimate{font-size:14px;color:oklch(76% 0 0)}.receipt-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:26px 0 42px;font-size:13px;color:oklch(76% 0 0)}#refresh-rewards{min-height:44px;border:1px solid oklch(42% 0 0);border-radius:6px;padding:10px 15px;font:600 13px var(--body);background:transparent;color:var(--paper);cursor:pointer}#refresh-rewards:hover{border-color:var(--paper)}#refresh-rewards:disabled{opacity:.4;cursor:wait}#refresh-rewards span{font-size:19px;margin-left:10px}.promotion-heading{border-top:1px solid oklch(35% 0 0);padding-top:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.promotion-heading>div>p{font-size:12px;font-weight:700;letter-spacing:.07em;color:oklch(68% 0 0);margin:0 0 9px}.promotion-heading h3{font-family:var(--display);font-size:clamp(2rem,3.8vw,3.1rem);line-height:1;font-weight:700;margin:0}.promotion-heading>p{font-size:14px;line-height:1.5;max-width:290px;text-align:right;margin:0}.promotion-progress{display:block;width:100%;height:7px;appearance:none;border:0;border-radius:3px;overflow:hidden;margin:27px 0 28px;background:oklch(31% 0 0);color:var(--red)}.promotion-progress::-webkit-progress-bar{background:oklch(31% 0 0)}.promotion-progress::-webkit-progress-value{background:var(--red);border-radius:3px;transition:width .5s}.promotion-progress::-moz-progress-bar{background:var(--red)}.promotion-ladder{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.promotion-ladder li{display:flex;flex-direction:column;gap:8px;position:relative;padding:0 0 24px;color:oklch(64% 0 0)}.promotion-ladder strong{font-family:var(--display);font-size:32px;font-weight:600}.promotion-ladder li>span{font-size:12px;line-height:1.5;min-height:36px;font-weight:700;max-width:130px}.promotion-ladder small{font-size:12px}.promotion-ladder .is-reached{color:var(--paper)}.promotion-ladder .is-current small,.promotion-ladder .is-next small{color:oklch(72% .18 25);font-weight:600}.receipt-footnote,.receipt-updated{color:oklch(69% 0 0);font-size:12px;line-height:1.65;margin:18px 0 0}.receipt-updated{margin-top:8px}.receipt-updated.is-stale{color:oklch(83% .1 75)}.receipt-printer{border-top:1px solid oklch(35% 0 0);margin-top:35px;padding-top:26px}.receipt-printer summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;font-family:var(--display);font-size:clamp(1.9rem,3vw,2.7rem);font-weight:700;line-height:1.1;list-style:none;min-height:48px}.receipt-printer summary::-webkit-details-marker{display:none}.receipt-printer summary>span{color:var(--red);transition:transform .3s}.receipt-printer[open] summary>span{transform:rotate(90deg)}.receipt-printer-content>p{font-size:15px;line-height:1.6;color:oklch(77% 0 0);margin:18px 0 25px}#receipt-canvas{display:block;width:100%;height:auto;max-width:860px;border-radius:8px}.receipt-printer-content .fine-print{font-size:12px;margin:18px 0 0;color:oklch(69% 0 0)}.receipt-share{font-size:13px;font-weight:700;min-height:44px;display:inline-flex;align-items:center}.receipt-share[aria-disabled=true]{opacity:.4;pointer-events:none}.receipt-share:hover{color:var(--red)}.receipts-section :focus-visible{outline:2px solid var(--paper);outline-offset:5px}
@media(max-width:1100px){.masthead .header-nav{gap:0}.masthead .menu-link{min-height:60px;font-size:34px}.menu-link:nth-child(5){--menu-order:4}.menu-link:nth-child(6){--menu-order:5}}
@media(min-width:1101px){.masthead .header-nav{gap:clamp(14px,1.7vw,26px)}.masthead{gap:clamp(20px,2.4vw,38px)}.masthead .menu-link{font-size:13px}.masthead .menu-arrow{font-size:15px}}
@media(max-width:800px){.fitting-section{padding:62px 6%}.tools-heading{display:block;margin-bottom:30px}.tools-heading>p{margin-top:23px}.fitting-layout{grid-template-columns:1fr;gap:30px}.portrait-stage{position:relative;top:auto;max-width:500px;width:100%;margin:auto}.fitting-controls{max-width:500px;width:100%;margin:auto}.fitting-label{margin-top:0}.receipts-section{padding:60px 6%}.receipts-top{display:block;margin-bottom:35px}.receipt-source{margin-top:24px}.promotion-ladder{grid-template-columns:1fr;gap:0}.promotion-ladder li{display:grid;grid-template-columns:55px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid oklch(30% 0 0)}.promotion-ladder li>span{min-height:0;max-width:none;font-size:12px}.promotion-ladder strong{font-size:26px}.promotion-heading{display:block}.promotion-heading>p{margin-top:16px;max-width:none;text-align:left}.promotion-progress{margin:23px 0 8px}.receipt-meta{margin-bottom:30px}.amount-line{gap:10px}.receipt-printer-content .tool-actions{gap:12px}.receipt-printer-content .tool-button{font-size:12px;padding:14px;gap:14px}}
@media(prefers-reduced-motion:reduce){.portrait-preview,.promotion-progress::-webkit-progress-value,.receipt-printer summary>span{transition:none}.swatch:hover,.tool-button:active:not(:disabled){transform:none}}
/* Lightweight office supplies drift behind the hero; never intercept interaction. */
.hero{isolation:isolate}.office-weather{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none}.hero-art{z-index:1}.hero-bottom{z-index:2}.office-item{position:absolute;left:var(--x);top:-110px;display:block;width:82px;height:82px;background-image:url('assets/office-sprites.png');background-size:200% 200%;background-repeat:no-repeat;opacity:.17;animation:office-fall var(--duration) linear infinite;animation-delay:var(--delay);will-change:transform}.office-clip{background-position:0 0}.office-paper{background-position:100% 0;width:94px;height:94px;opacity:.23}.office-pen{background-position:0 100%;width:76px;height:76px}.office-stapler{background-position:100% 100%;width:90px;height:90px}.office-paused .office-item{animation-play-state:paused}.office-pause{position:absolute;right:4.5%;top:13px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:oklch(58% 0 0);font:600 15px var(--body);cursor:pointer;transition:background .2s,color .2s}.office-pause:hover{background:oklch(94% 0 0);color:var(--ink)}
@keyframes office-fall{from{transform:translate3d(0,0,0) rotate(-30deg)}to{transform:translate3d(var(--drift),1000px,0) rotate(var(--turn))}}
@media(max-width:680px){.office-item{opacity:.13;width:62px;height:62px}.office-paper{opacity:.18}.office-item:nth-child(n+13){display:none}.office-pause{top:0;right:4%}}
@media(prefers-reduced-motion:reduce){.office-weather,.office-pause{display:none}}

.market-item{background-image:url('assets/market-sprites.png')}.market-wallet{background-position:0 0}.market-coin{background-position:100% 0}.market-chart{background-position:0 100%;opacity:.23}.market-bull{background-position:100% 100%}
/* Blend the complete mascot layer so its white image canvas cannot hide the rain. */
.hero-art{mix-blend-mode:multiply}.office-weather{mask-image:linear-gradient(to bottom,transparent,black 8%,black 90%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 8%,black 90%,transparent)}.office-item{left:clamp(18px,var(--x),calc(100% - 132px));opacity:0;--strength:.2;animation-name:office-rain}.office-paper,.market-chart{--strength:.26}.office-item:nth-child(3n){width:70px;height:70px}.office-item:nth-child(5n){width:96px;height:96px}@keyframes office-rain{0%{opacity:0;transform:translate3d(0,0,0) rotate(-30deg)}10%{opacity:var(--strength)}85%{opacity:var(--strength)}100%{opacity:0;transform:translate3d(var(--drift),var(--fall-distance,1100px),0) rotate(var(--turn))}}@media(max-width:680px){.office-item{--strength:.15;width:60px;height:60px}.office-paper,.market-chart{--strength:.2}.office-item:nth-child(3n),.office-item:nth-child(5n){width:64px;height:64px}}
