:root{color-scheme:dark;--color-bg: #0c0b0a;--color-surface: #161412;--color-surface-2: #161412;--color-surface-3: #1d1b19;--color-surface-hover: #22201d;--color-control-hover: #2b2825;--color-hover-overlay: rgba(238, 232, 221, .08);--color-press-overlay: rgba(238, 232, 221, .14);--color-text: #eee8dd;--color-text-secondary: #a39b8f;--color-text-tertiary: #857e73;--color-separator: #2b2825;--color-border: #2b2825;--color-line-strong: #eee8dd;--color-accent: #c8281f;--color-accent-hover: #da3328;--color-accent-text: #f0594b;--color-on-accent: #ffffff;--color-selected: #eee8dd;--color-on-selected: #0c0b0a;--color-sale: #f0594b;--color-success: #30d158;--color-danger: #ff453a;--color-focus: rgba(240, 89, 75, .6);--color-selection: rgba(200, 40, 31, .45);--tile-bg: #161412;--material-thick: rgba(12, 11, 10, .94);--material-regular: rgba(22, 20, 18, .97);--material-thin: rgba(29, 27, 25, .9);--material-blur: blur(12px);--material-edge: #2b2825;--scrim: rgba(0, 0, 0, .6);--font-display: "Archivo", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--font-body: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--display-stretch: 62%;--display-weight: 800;--display-transform: uppercase;--display-style: normal;--display-leading: .9;--tracking-display: -.005em;--tracking-title: -.005em;--label-font: var(--font-mono);--label-transform: uppercase;--label-tracking: .08em;--label-weight: 500;--price-font: var(--font-mono);--type-hero: clamp(4rem, 16vw, 9rem);--type-title-1: clamp(2.75rem, 7vw, 4.5rem);--type-title-2: clamp(2rem, 4.5vw, 3.25rem);--type-title-3: 1.5rem;--type-body: 1rem;--type-callout: .9375rem;--type-footnote: .8125rem;--type-caption: .75rem;--type-label: .75rem;--tracking-caption: .01em;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--gutter: 1.25rem;--radius-xs: 0;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-pill: 0;--radius-icon: 0;--radius-media: 0;--shadow-sm: none;--shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .6);--shadow-media: none;--spring: linear(0, .051, .163, .294, .422, .537, .636, .717, .782, .834, .874, .905, .929, .947, .961, .971, .979, .984, .989, .992, .994, .996, .997, .998, 1);--spring-bounce: linear(0, .079, .248, .436, .608, .747, .851, .922, .968, .995, 1.009, 1.014, 1.015, 1.013, 1.01, 1.008, 1.005, 1.003, 1.002, 1.001, 1, 1, 1, 1, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.64, 0, .78, 0);--dur-press: .1s;--dur-fast: .2s;--dur-spring: .55s;--container-width: 1360px;--header-height: 60px}@media(min-width:768px){:root{--space-lg: 3.5rem;--space-xl: 6rem;--gutter: 2.5rem;--header-height: 72px}}@media(prefers-reduced-motion:reduce){:root{--spring: ease;--spring-bounce: ease;--dur-spring: .2s}}@media(prefers-reduced-transparency:reduce){:root{--material-thick: #0c0b0a;--material-regular: #161412;--material-thin: #1d1b19;--material-blur: none}}@media(prefers-contrast:more){:root{--color-text-secondary: #d6cfc4;--color-text-tertiary: #a39b8f;--color-separator: #6e675e;--color-border: #857e73;--material-thick: #0c0b0a;--material-regular: #161412;--material-blur: none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);scroll-behavior:smooth;font-size:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}html:not(.erp) body{font-size:var(--type-body);line-height:1.47;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;overflow-x:hidden;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img,video{max-width:100%;height:auto;display:block}html:not(.erp) :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-style:var(--display-style);text-transform:var(--display-transform);line-height:var(--display-leading);letter-spacing:var(--tracking-title);overflow-wrap:anywhere}html.erp :is(h1,h2,h3,h4,h5,h6){font-family:Oswald,sans-serif;font-weight:700;text-transform:uppercase}button{background:none;border:none;font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}html:not(.erp) :focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}html:not(.erp) ::-moz-selection{background:var(--color-selection)}html:not(.erp) ::selection{background:var(--color-selection)}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--gutter)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}html:not(.erp) .section-title{font-size:var(--type-title-1);line-height:var(--display-leading);letter-spacing:var(--tracking-display);text-align:left;color:var(--color-text);margin-bottom:var(--space-md)}.home-sections{counter-reset:home-section}html:not(.erp) .home-sections .section-title:before{counter-increment:home-section;content:counter(home-section,decimal-leading-zero);display:inline-block;vertical-align:top;margin-right:.75rem;font-family:var(--label-font);font-stretch:100%;font-size:var(--type-label);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);line-height:1.6;color:var(--color-accent-text)}.eyebrow{display:block;font-family:var(--label-font);font-size:var(--type-label);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:var(--label-transform);color:var(--color-accent-text);margin-bottom:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.7rem 1.5rem;border-radius:var(--radius-pill);font-family:var(--label-font);font-size:.8125rem;font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:var(--label-transform);line-height:1.2;text-align:center;cursor:pointer;border:1px solid transparent;transition:transform var(--dur-spring) var(--spring),background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.btn:active:not(:disabled){transform:scale(.97);transition:transform var(--dur-press) var(--ease-out)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-line-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-hover-overlay)}.btn-plain{background:transparent;color:var(--color-accent-text);padding-left:.5rem;padding-right:.5rem}.btn-plain:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.btn-lg{min-height:56px;padding:.9rem 1.75rem;font-size:.875rem}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-icon);color:var(--color-text);transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-spring) var(--spring);flex-shrink:0}@media(hover:hover){.icon-btn:hover{background:var(--color-hover-overlay)}}.icon-btn:active{transform:scale(.92);transition:transform var(--dur-press) var(--ease-out)}.surface-card{background:var(--color-surface-2);border-radius:var(--radius-md)}.field{width:100%;min-height:44px;padding:.7rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-family:var(--font-body);font-size:1rem;outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.field::-moz-placeholder{color:var(--color-text-tertiary)}.field::placeholder{color:var(--color-text-tertiary)}.field:focus{border-color:var(--color-line-strong);box-shadow:0 0 0 3px var(--color-focus)}.price{font-family:var(--price-font);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}@keyframes material-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){html:not(.erp) *,html:not(.erp) *:before,html:not(.erp) *:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.btn:active:not(:disabled),.icon-btn:active{transform:none}}.checkbox-container{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;max-width:400px;text-align:left}.checkbox-container input{margin-top:.2rem;width:18px;height:18px;min-width:unset;accent-color:var(--color-accent);flex-shrink:0}.checkbox-text{font-size:var(--type-caption);color:var(--color-text-secondary);line-height:1.45}.checkbox-text a{color:var(--color-accent-text);text-decoration:underline;text-underline-offset:2px}.donation-header{max-width:720px;margin:0 auto var(--space-lg);text-align:center}.donation-header-content{min-width:0}html:not(.erp) .donation-title{font-size:var(--type-title-1);line-height:1.05;letter-spacing:var(--tracking-display);color:var(--color-text);margin:0 0 var(--space-sm)}.donation-description{font-size:var(--type-body);line-height:1.5;color:var(--color-text-secondary);margin:0 auto var(--space-lg);max-width:60ch;overflow-wrap:anywhere;white-space:pre-line}.donation-progress-container{background:var(--color-surface-2);border-radius:var(--radius-md);padding:var(--space-md);text-align:left}.donation-progress-labels{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:.75rem 1.5rem;margin-bottom:1rem}.progress-label{display:flex;flex-direction:column;gap:.15rem;min-width:0}.progress-label--goal{align-items:flex-end;text-align:right}.progress-label-name{font-size:var(--type-footnote);font-weight:600;color:var(--color-text-secondary)}.progress-value{font-family:var(--font-display);font-size:var(--type-title-3);font-weight:700;letter-spacing:var(--tracking-title);color:var(--color-text);font-variant-numeric:tabular-nums}.progress-label:first-child .progress-value{font-size:var(--type-title-2);line-height:1.1}.donation-progress-bar-wrapper{height:10px;background:var(--color-surface-3);border-radius:var(--radius-pill);overflow:hidden;position:relative}.donation-progress-bar{height:100%;max-width:100%;background:var(--color-accent);border-radius:var(--radius-pill);transition:width var(--dur-spring) var(--spring)}.donation-stats-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1.5rem;margin-top:.75rem}.stat-item{font-size:var(--type-footnote);color:var(--color-text-secondary);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:480px){.donation-progress-container{padding:var(--space-sm)}.donation-progress-labels{flex-direction:column;align-items:stretch}.progress-label--goal{flex-direction:row;align-items:baseline;justify-content:space-between;gap:.75rem}.progress-label--goal .progress-value{font-size:var(--type-callout)}}.donation-cta{max-width:720px;margin:0 auto var(--space-xl);text-align:center}.donation-cta-button{min-width:240px;max-width:100%;overflow-wrap:anywhere}@media(max-width:480px){.donation-cta-button{width:100%;min-width:0}}.donation-feed{max-width:720px;margin:0 auto}html:not(.erp) .feed-title{font-size:var(--type-title-2);letter-spacing:var(--tracking-display);color:var(--color-text);margin:0 0 var(--space-md);text-align:center}.feed-loading,.feed-empty{text-align:center;padding:var(--space-lg) var(--space-md);background:var(--color-surface-2);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--type-callout)}.feed-empty-title{color:var(--color-text);font-size:var(--type-body);font-weight:600}.feed-empty-subtitle{color:var(--color-text-secondary);font-size:var(--type-callout);margin-top:.35rem}.feed-list{list-style:none;margin:0;padding:0;background:var(--color-surface-2);border-radius:var(--radius-md);overflow:hidden}.donation-card{display:flex;align-items:flex-start;gap:.85rem;padding:1rem var(--space-sm);position:relative;animation:fade-in var(--dur-spring) var(--spring)}.donation-card+.donation-card:before{content:"";position:absolute;top:0;right:0;left:calc(var(--space-sm) + 40px + .85rem);height:1px;background:var(--color-separator)}.donation-avatar{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-icon);background:var(--color-surface-3);color:var(--color-text-secondary);font-size:var(--type-callout);font-weight:700}.donation-card-body{flex:1;min-width:0}.donation-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;min-width:0}.donation-donor{min-width:0;font-size:var(--type-callout);font-weight:600;color:var(--color-text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.donation-amount{flex-shrink:0;font-size:var(--type-callout);font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.donation-time{display:block;margin-top:.1rem;font-size:var(--type-footnote);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.donation-message{margin:.5rem 0 0;padding:.6rem .85rem;background:var(--color-surface-3);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--type-callout);line-height:1.45;overflow-wrap:anywhere;white-space:pre-line}.load-more-button{display:flex;margin:var(--space-md) auto 0}@media(min-width:768px){.donation-card{padding:1.1rem var(--space-md)}.donation-card+.donation-card:before{left:calc(var(--space-md) + 40px + .85rem)}}.donation-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:var(--scrim);animation:fade-in var(--dur-fast) var(--ease-out)}.donation-sheet{position:relative;display:flex;flex-direction:column;width:100%;max-height:92vh;max-height:92dvh;background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--material-edge);overflow:hidden;animation:sheet-up var(--dur-spring) var(--spring)}.donation-modal-overlay.is-closing{animation:donation-fade-out .24s var(--ease-in) forwards}.donation-modal-overlay.is-closing .donation-sheet{animation:donation-sheet-down .24s var(--ease-in) forwards}@keyframes donation-fade-out{to{opacity:0}}@keyframes donation-sheet-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes donation-material-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.donation-sheet-grabber{display:block;flex-shrink:0;width:36px;height:5px;margin:8px auto 0;border-radius:var(--radius-pill);background:var(--color-line-strong);opacity:.3}.donation-sheet-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem .75rem var(--space-md);border-bottom:1px solid var(--color-separator)}html:not(.erp) .donation-sheet .modal-title{min-width:0;margin:0;font-size:var(--type-title-3);letter-spacing:var(--tracking-title);color:var(--color-text)}.donation-sheet-close{flex-shrink:0;background:var(--color-surface-3);color:var(--color-text-secondary)}.donation-sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--space-md) var(--space-md) calc(var(--space-md) + env(safe-area-inset-bottom,0px))}@media(min-width:640px){.donation-modal-overlay{align-items:center;padding:var(--space-md)}.donation-sheet{max-width:560px;max-height:min(88vh,820px);border-radius:var(--radius-lg);animation:material-in var(--dur-spring) var(--spring)}.donation-modal-overlay.is-closing .donation-sheet{animation:donation-material-out .24s var(--ease-in) forwards}.donation-sheet-grabber{display:none}.donation-sheet-header{padding-top:.85rem}}.donation-sheet .form-group{margin-bottom:1.25rem;min-width:0}.donation-sheet .form-group>label:not(.checkbox-label){display:block;margin-bottom:.45rem;color:var(--color-text-secondary);font-size:var(--type-footnote);font-weight:600}.donation-sheet .field{background:var(--color-surface-3);border-color:transparent}.donation-sheet .field:focus{border-color:var(--color-accent)}.donation-sheet .form-textarea{min-height:88px;resize:vertical;line-height:1.45}.donation-sheet .form-input:disabled{opacity:.45;cursor:not-allowed}.donation-sheet .suggested-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem}.donation-sheet .suggested-amount{min-height:44px;padding:.5rem .25rem;border-radius:var(--radius-pill);background:var(--color-surface-3);color:var(--color-text);font-size:var(--type-callout);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-spring) var(--spring)}.donation-sheet .suggested-amount:active{transform:scale(.94);transition:transform var(--dur-press) var(--ease-out)}@media(hover:hover){.donation-sheet .suggested-amount:hover:not(.active){background:var(--color-control-hover)}}.donation-sheet .suggested-amount.active{background:var(--color-selected);color:var(--color-on-selected)}.donation-sheet .amount-input-wrapper{position:relative}.donation-sheet .currency-symbol{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);font-size:1.0625rem;font-weight:600;pointer-events:none}.donation-sheet .amount-input{padding-left:2.9rem;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.donation-sheet .amount-warning{display:block;margin-top:.45rem;font-size:var(--type-footnote);font-weight:600;color:var(--color-danger)}.donation-sheet .checkbox-label{display:flex;align-items:flex-start;gap:.75rem;min-height:32px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.donation-sheet .checkbox-label input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;display:grid;place-items:center;width:22px;height:22px;margin:1px 0 0;border:1.5px solid var(--color-text-tertiary);border-radius:50%;background:transparent;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.donation-sheet .checkbox-label input[type=checkbox]:checked{background:var(--color-accent);border-color:var(--color-accent)}.donation-sheet .checkbox-label input[type=checkbox]:checked:after{content:"✓";color:var(--color-on-accent);font-size:13px;font-weight:800;line-height:1}.donation-sheet .checkbox-label>span{min-width:0;color:var(--color-text);font-size:var(--type-callout);line-height:1.4;overflow-wrap:anywhere}.donation-sheet .consent-label .checkbox-text{color:var(--color-text-secondary);font-size:var(--type-footnote)}.donation-sheet .consent-label .checkbox-text a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.donation-sheet .field-hint,.donation-sheet .char-count{display:block;margin-top:.4rem;font-size:var(--type-footnote);color:var(--color-text-tertiary)}.donation-sheet .char-count{text-align:right}.donation-sheet .error-message{margin-bottom:1rem;padding:.75rem .9rem;border-radius:var(--radius-sm);background:#ff453a24;color:var(--color-danger);font-size:var(--type-callout);font-weight:500;overflow-wrap:anywhere}.donation-sheet .submit-button{width:100%;margin-top:.25rem}.donation-status-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:var(--scrim);animation:fade-in var(--dur-fast) var(--ease-out)}.donation-status-card{position:relative;width:100%;max-height:92vh;max-height:92dvh;overflow-y:auto;padding:var(--space-lg) var(--space-md) calc(var(--space-md) + env(safe-area-inset-bottom,0px));text-align:center;background:var(--material-thick);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--material-edge);animation:sheet-up var(--dur-spring) var(--spring)}@media(min-width:640px){.donation-status-overlay{align-items:center;padding:var(--space-md)}.donation-status-card{max-width:440px;padding:var(--space-lg) var(--space-lg) var(--space-md);border-radius:var(--radius-lg);animation:material-in var(--dur-spring) var(--spring)}}html:not(.erp) .donation-status-card h2{margin:1.25rem 0 .5rem;font-size:var(--type-title-2);letter-spacing:var(--tracking-display);color:var(--color-text)}.donation-status-card p{margin:0 auto .5rem;max-width:36ch;color:var(--color-text-secondary);font-size:var(--type-callout);line-height:1.5;overflow-wrap:anywhere}.donation-status-card .small{font-size:var(--type-footnote);color:var(--color-text-tertiary)}.donation-status-card .redirect-hint{margin-top:1rem;font-size:var(--type-footnote);font-weight:600;color:var(--color-text)}.donation-status-card .icon-wrapper{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:var(--radius-icon);background:var(--color-surface-3);color:var(--color-text-secondary)}.donation-status-card .icon-wrapper.success{color:var(--color-success);background:#30d15824}.donation-status-card .icon-wrapper.pending{color:var(--color-text-secondary);background:var(--color-surface-3)}.donation-status-card .icon-wrapper.error{color:var(--color-danger);background:#ff453a24}.donation-status-card .close-btn{position:absolute;top:.75rem;right:.75rem;background:var(--color-surface-3);color:var(--color-text-secondary)}.donation-status-card .action-btn{margin-top:var(--space-md);width:100%}.donation-page{min-height:100vh;background:var(--color-bg);padding:var(--space-lg) var(--space-sm) var(--space-xl);color:var(--color-text);overflow-x:clip}@media(min-width:768px){.donation-page{padding:var(--space-lg) var(--space-md) var(--space-xl)}}.login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);background:var(--color-bg);padding:var(--space-lg) var(--space-sm) var(--space-md)}.login-card{width:100%;max-width:420px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-md) var(--space-md);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--material-edge);animation:material-in var(--dur-spring) var(--spring)}.login-logo{width:auto;height:160px;max-width:100%;-o-object-fit:contain;object-fit:contain}.login-heading{width:100%;min-width:0;text-align:center}.login-heading h1{font-size:var(--type-title-2);letter-spacing:var(--tracking-display);color:var(--color-text);margin:0}.login-heading p{font-size:var(--type-callout);line-height:1.45;color:var(--color-text-secondary);margin:.5rem 0 0}.login-google-btn{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 1.5rem;background:var(--color-text);color:#1d1d1f;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;line-height:1.2;text-align:center;transition:transform var(--dur-spring) var(--spring),background-color var(--dur-fast) var(--ease-out)}.login-google-btn:hover{background:#fff}.login-google-btn:active{transform:scale(.97);transition:transform var(--dur-press) var(--ease-out)}.login-google-btn svg{flex-shrink:0}.login-consent{font-size:var(--type-footnote);color:var(--color-text-tertiary);line-height:1.5;text-align:center;padding:0 .25rem}.login-consent a{color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--color-separator);transition:color var(--dur-fast) var(--ease-out)}.login-consent a:hover{color:var(--color-text)}.login-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem 1rem}.login-footer a{display:inline-flex;align-items:center;min-height:44px;padding:0 .5rem;font-size:var(--type-footnote);color:var(--color-text-secondary);border-radius:var(--radius-xs);transition:color var(--dur-fast) var(--ease-out)}.login-footer a:hover{color:var(--color-text)}@media(max-width:480px){.login-page{padding-top:var(--space-md)}.login-card{padding:var(--space-md) var(--space-sm) var(--space-md)}.login-logo{height:128px}}.legal-page{min-height:100vh;min-height:100dvh;padding:var(--space-lg) var(--space-sm) var(--space-xl);background:var(--color-bg)}.legal-container{max-width:680px;min-width:0;margin:0 auto;animation:fade-in var(--dur-spring) var(--spring)}.legal-container h1{font-size:var(--type-title-1);line-height:1.08;letter-spacing:var(--tracking-display);color:var(--color-text);margin-bottom:.75rem}.legal-updated{font-size:var(--type-footnote);letter-spacing:var(--tracking-caption);font-variant-numeric:tabular-nums;color:var(--color-text-tertiary);margin-bottom:var(--space-lg)}.legal-intro{font-size:1.1875rem;line-height:1.55;color:var(--color-text);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-separator)}.legal-section{margin-bottom:var(--space-lg)}.legal-section h2{font-size:var(--type-title-3);line-height:1.25;letter-spacing:var(--tracking-title);color:var(--color-text);margin-bottom:.6rem}.legal-section p{font-size:var(--type-body);line-height:1.65;color:var(--color-text-secondary);overflow-wrap:break-word}.legal-back{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--space-md);padding:0 .25rem;margin-left:-.25rem;font-size:var(--type-callout);font-weight:600;color:var(--color-accent);border-radius:var(--radius-xs);transition:opacity var(--dur-fast) var(--ease-out)}.legal-back:hover{text-decoration:underline;text-underline-offset:3px}.legal-back:active{opacity:.6}@media(min-width:768px){.legal-page{padding-top:var(--space-xl)}}.contact-hero{margin-bottom:var(--space-lg)}.contact-tagline{font-size:var(--type-title-3);font-weight:700;line-height:1.25;letter-spacing:var(--tracking-title);color:var(--color-text);margin-bottom:.75rem}.contact-body{font-size:var(--type-body);line-height:1.65;color:var(--color-text-secondary);margin-bottom:.75rem}.contact-section{min-width:0;padding:var(--space-md);margin-bottom:var(--space-md);box-shadow:var(--shadow-md)}.contact-section h2{font-size:var(--type-title-3);line-height:1.25;letter-spacing:var(--tracking-title);color:var(--color-text);margin-bottom:.6rem}.contact-section p{font-size:var(--type-callout);line-height:1.6;color:var(--color-text-secondary);margin-bottom:.75rem}.contact-email-btn{max-width:100%;margin:.5rem 0 1.25rem;overflow-wrap:anywhere}@media(max-width:480px){.contact-email-btn{width:100%;padding-left:1rem;padding-right:1rem}}.contact-email-btn:hover{text-decoration:none}.contact-highlight{padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--color-surface-3);color:var(--color-text)!important;font-size:var(--type-footnote)!important;line-height:1.5}.contact-closing{margin:1rem 0 0!important;color:var(--color-text-tertiary)!important}@media(min-width:768px){.contact-section{padding:var(--space-lg);border-radius:var(--radius-lg)}}
