*,:before,:after{box-sizing:border-box}html{background:var(--bg-main);color:var(--text-main);scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg-main);min-width:320px;color:var(--text-main);font-family:var(--font-sans);text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;margin:0}img,picture,video,canvas,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3{color:var(--text-main);font-family:var(--font-heading);letter-spacing:var(--tracking-heading);line-height:var(--leading-tight);margin:0}h1{font-size:var(--text-hero)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-2xl);line-height:var(--leading-snug)}p{color:var(--text-muted);line-height:var(--leading-body);margin:0}::selection{background:var(--accent-soft);color:var(--text-main)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.page-shell{background:var(--bg-main);min-height:100svh;color:var(--text-main)}.page-shell--public{overflow-x:clip}.section{padding:var(--space-24) var(--page-gutter)}.section--compact{padding-block:var(--space-16)}.section--full-bleed{padding-inline:0}.section__inner{width:min(100%, var(--container-lg));margin-inline:auto}.section-heading{max-width:760px;margin-bottom:var(--space-8)}.section-heading>*+*{margin-top:var(--space-3)}.section-heading p{max-width:620px;font-size:var(--text-lg)}.eyebrow{color:var(--accent);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;margin:0;font-weight:800;line-height:1.2}.premium-card,.glass-card{border:1px solid var(--border-soft);border-radius:var(--radius-lg);position:relative;overflow:hidden}.premium-card{box-shadow:var(--shadow-premium);background:linear-gradient(145deg,#ffffff14,#ffffff05)}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--shadow-card)}.primary-button,.secondary-button,.ghost-button{min-height:var(--tap-target-min);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);cursor:pointer;transition:transform .18s var(--ease-premium), box-shadow .18s var(--ease-premium), background .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease;border:0;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.primary-button{min-height:var(--tap-target-primary);background:var(--text-main);color:var(--text-inverse);box-shadow:var(--shadow-button);padding:0 22px}.primary-button:hover{box-shadow:var(--shadow-button-hover)}.secondary-button{min-height:var(--tap-target-primary);border:1px solid var(--border-strong);color:var(--text-main);background:#ffffff0e;padding:0 20px}.secondary-button:hover{background:#ffffff17}.ghost-button{border:1px solid var(--border-soft);color:var(--text-main);background:#ffffff09;padding:0 16px}.ghost-button:hover{border-color:var(--border-strong);background:#ffffff0f}.primary-button:active,.secondary-button:active,.ghost-button:active{transform:scale(.97)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.is-disabled{cursor:not-allowed;opacity:.42;box-shadow:none;transform:none}.mobile-sticky-cta{right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));left:var(--space-4);z-index:80;display:none;position:fixed}.mobile-sticky-cta.is-visible{display:block}.mobile-sticky-cta .primary-button{width:100%}.status-badge,.payment-pill{border-radius:var(--radius-pill);border:1px solid var(--border-soft);min-height:28px;font-size:var(--text-xs);white-space:nowrap;justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex}.status-badge{color:var(--status-neutral);background:#ffffff0b;padding:0 10px}.status-badge--pending{color:var(--status-pending);background:#d6a84f1f;border-color:#d6a84f38}.status-badge--approved{color:var(--status-approved);background:#8ccf9f1f;border-color:#8ccf9f3d}.status-badge--declined,.status-badge--danger{color:var(--status-declined);background:#ef8b8b1f;border-color:#ef8b8b3d}.status-badge--warning,.status-badge--outside{color:var(--status-warning);background:#f0c56a1f;border-color:#f0c56a3d}.status-badge--paid,.payment-pill{color:var(--status-paid);background:#8fb7ff1f;border-color:#8fb7ff38}.payment-pill{padding:0 11px}.form-field{gap:var(--space-2);display:grid}.form-field label{color:var(--text-soft);font-size:var(--text-sm);font-weight:800}.form-field input,.form-field textarea,.form-field select{width:100%;min-height:var(--tap-target-primary);border:1px solid var(--border-soft);border-radius:var(--radius-md);color:var(--text-main);background:#ffffff0b;outline:0;padding:0 16px;transition:border-color .18s,background .18s,box-shadow .18s}.form-field textarea{resize:vertical;min-height:124px;padding-block:14px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent-border);background:#fff1;box-shadow:0 0 0 4px #c8a96a1a}.form-field__hint,.form-field__error{font-size:var(--text-sm);line-height:1.45}.form-field__hint{color:var(--text-muted)}.form-field__error{color:var(--status-declined)}.selectable-card{width:100%;min-height:96px;padding:var(--space-5);border:1px solid var(--border-soft);border-radius:var(--radius-lg);color:var(--text-main);cursor:pointer;text-align:left;transition:transform .18s var(--ease-premium), border-color .18s ease, background .18s ease;background:linear-gradient(145deg,#fff1,#ffffff05)}.selectable-card:hover{border-color:var(--border-strong)}.selectable-card:active{transform:scale(.99)}.selectable-card.is-selected{border-color:var(--accent-border);background:linear-gradient(145deg,#c8a96a24,#ffffff09)}.step-progress{gap:var(--space-2);display:grid}.step-progress__meta{justify-content:space-between;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-sm);display:flex}.step-progress__track{border-radius:var(--radius-pill);background:#ffffff17;height:4px;overflow:hidden}.step-progress__bar{border-radius:inherit;background:var(--accent);height:100%;transition:width var(--duration-medium) var(--ease-premium)}.sheet-backdrop{z-index:200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000008c;align-items:flex-end;display:flex;position:fixed;inset:0}.slide-up-sheet{width:100%;max-height:86svh;padding:12px var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));border-top:1px solid var(--border-soft);background:var(--bg-soft);box-shadow:var(--shadow-sheet);border-radius:30px 30px 0 0;overflow-y:auto}.sheet-handle{width:44px;height:5px;margin:0 auto var(--space-5);border-radius:var(--radius-pill);background:#ffffff3d;display:block}.empty-state,.error-state{gap:var(--space-3);padding:var(--space-6);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:#ffffff09;display:grid}.error-state{background:#ef8b8b14;border-color:#ef8b8b3d}.empty-state h2,.error-state h2{font-size:var(--text-xl);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug)}.loading-skeleton{border-radius:var(--radius-sm);background:#ffffff12;min-height:16px;position:relative;overflow:hidden}.loading-skeleton:after{content:"";background:linear-gradient(110deg,#0000,#ffffff14,#0000);animation:1.8s ease-in-out infinite skeleton-shine;position:absolute;inset:0;transform:translate(-100%)}.image-placeholder{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffffff1f,#ffffff05),radial-gradient(circle at 50% 20%,#c8a96a2e,#0000 40%),#151515;min-height:360px;position:relative;overflow:hidden}.image-placeholder:before{content:"";background:linear-gradient(#0000,#0000009e),linear-gradient(120deg,#ffffff14,#0000 48%);position:absolute;inset:0}.image-placeholder:after{content:"";background:linear-gradient(110deg,#0000,#ffffff14,#0000);animation:3.8s ease-in-out infinite placeholder-shine;position:absolute;inset:0;transform:translate(-100%)}.image-placeholder__label{right:var(--space-5);bottom:var(--space-5);left:var(--space-5);z-index:2;color:var(--text-main);font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;font-weight:800;position:absolute}.trust-strip{padding:18px var(--page-gutter);border-block:1px solid var(--border-soft);scrollbar-width:none;background:#ffffff06;gap:10px;display:flex;overflow-x:auto}.trust-strip::-webkit-scrollbar{display:none}.trust-strip span{border:1px solid var(--border-soft);border-radius:var(--radius-pill);color:var(--text-soft);font-size:var(--text-sm);flex:none;padding:10px 14px}.public-route-state{min-height:68svh;padding-top:calc(var(--space-24) + 80px)}.public-route-state .section__inner{gap:var(--space-5);display:grid}.ui-state{min-height:66svh;padding:var(--space-20) var(--page-gutter);place-items:center;display:grid}.ui-state__panel{gap:var(--space-4);width:min(100%,720px);padding:var(--space-7);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:radial-gradient(circle at 100% 0,#c8a96a1f,#0000 34%),linear-gradient(145deg,#ffffff13,#ffffff06);display:grid}.ui-state__panel h1{max-width:12ch;font-size:clamp(2.5rem,10vw,5rem)}.ui-state__panel p:not(.eyebrow){max-width:56ch;font-size:var(--text-md)}.ui-state__actions{gap:var(--space-3);margin-top:var(--space-2);display:grid}.ui-state__actions .primary-button,.ui-state__actions .secondary-button{width:100%}.loading-skeleton{gap:var(--space-3);width:min(100%,820px);padding:var(--space-5);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:#ffffff09;display:grid}.loading-skeleton--card{max-width:520px}.loading-skeleton__header,.loading-skeleton__row{border-radius:var(--radius-pill);background:#ffffff14;position:relative;overflow:hidden}.loading-skeleton__header{width:min(72%,420px);height:26px}.loading-skeleton__row{height:18px}.loading-skeleton__row:nth-child(3){width:82%}.loading-skeleton__row:nth-child(4){width:64%}.loading-skeleton__header:after,.loading-skeleton__row:after{content:"";background:linear-gradient(110deg,#0000,#ffffff29,#0000);animation:1.8s ease-in-out infinite skeleton-shine;position:absolute;inset:0;transform:translate(-100%)}@media (prefers-reduced-motion:reduce){.loading-skeleton__header:after,.loading-skeleton__row:after{animation:none}}@media (min-width:760px){.section{padding-block:var(--space-30)}.ui-state__panel{padding:var(--space-10)}.ui-state__actions{flex-wrap:wrap;display:flex}.ui-state__actions .primary-button,.ui-state__actions .secondary-button{width:auto}.mobile-sticky-cta{display:none!important}}
