*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Instrument Sans,Figtree,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}input:where([type=text]),input:where(:not([type])),input:where([type=email]),input:where([type=url]),input:where([type=password]),input:where([type=number]),input:where([type=date]),input:where([type=datetime-local]),input:where([type=month]),input:where([type=search]),input:where([type=tel]),input:where([type=time]),input:where([type=week]),select:where([multiple]),textarea,select{appearance:none;--tw-shadow:0 0 #0000;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=text]):focus,input:where(:not([type])):focus,input:where([type=email]):focus,input:where([type=url]):focus,input:where([type=password]):focus,input:where([type=number]):focus,input:where([type=date]):focus,input:where([type=datetime-local]):focus,input:where([type=month]):focus,input:where([type=search]):focus,input:where([type=tel]):focus,input:where([type=time]):focus,input:where([type=week]):focus,select:where([multiple]):focus,textarea:focus,select:focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-color:#2563eb;outline:2px solid #0000}input::-moz-placeholder{color:#6b7280;opacity:1}textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{-webkit-print-color-adjust:exact;print-color-adjust:exact;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}select:where([multiple]),select:where([size]:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;-webkit-print-color-adjust:unset;print-color-adjust:unset;padding-right:.75rem}input:where([type=checkbox]),input:where([type=radio]){appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;vertical-align:middle;-webkit-user-select:none;user-select:none;color:#2563eb;--tw-shadow:0 0 #0000;background-color:#fff;background-origin:border-box;border-width:1px;border-color:#6b7280;flex-shrink:0;width:1rem;height:1rem;padding:0;display:inline-block}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);outline:2px solid #0000}input:where([type=checkbox]):checked,input:where([type=radio]):checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=checkbox]):checked{appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=radio]):checked{appearance:auto}}input:where([type=checkbox]):checked:hover,input:where([type=checkbox]):checked:focus,input:where([type=radio]):checked:hover,input:where([type=radio]):checked:focus{background-color:currentColor;border-color:#0000}input:where([type=checkbox]):indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}@media (forced-colors:active){input:where([type=checkbox]):indeterminate{appearance:auto}}input:where([type=checkbox]):indeterminate:hover,input:where([type=checkbox]):indeterminate:focus{background-color:currentColor;border-color:#0000}input:where([type=file]){background:unset;border-color:inherit;font-size:unset;line-height:inherit;border-width:0;border-radius:0;padding:0}input:where([type=file]):focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}:root{--color-primary:#1e3a5f;--color-accent:#1e3a5f;--color-bg:#f4f4f5;--color-surface:#fff;--color-surface-elevated:#fff;--color-text:#18181b;--color-text-muted:#52525b;--color-border:#d4d4d8;--font-heading:"Instrument Sans", ui-sans-serif, system-ui, sans-serif;--font-body:"Instrument Sans", ui-sans-serif, system-ui, sans-serif;--radius:.5rem}[data-theme=dark]{--color-primary:#3b82f6;--color-accent:#60a5fa;--color-bg:#09090b;--color-surface:#18181b;--color-surface-elevated:#27272a;--color-text:#fafafa;--color-text-muted:#a1a1aa;--color-border:#3f3f46}:root{--site-header-height:3.5rem;--admin-mobile-header-height:3.25rem}html{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);scroll-padding-top:var(--site-header-height)}html.admin-drawer-open{scroll-padding-top:0}body{min-height:100dvh}body.scroll-locked{touch-action:none;overflow:hidden}[data-admin-theme=dark]{--admin-bg:#09090b;--admin-bg-subtle:#0f0f12;--admin-surface:#18181b;--admin-surface-raised:#27272a;--admin-border:#3f3f46;--admin-border-subtle:#27272a;--admin-text:#fafafa;--admin-text-muted:#a1a1aa;--admin-text-faint:#71717a;--admin-accent:#818cf8;--admin-accent-strong:#6366f1;--admin-accent-muted:color-mix(in srgb, var(--admin-accent) 12%, var(--admin-surface));--admin-danger:#f87171;--admin-danger-muted:color-mix(in srgb, var(--admin-danger) 15%, var(--admin-surface));--admin-success:#34d399;--admin-success-muted:color-mix(in srgb, var(--admin-success) 12%, var(--admin-surface));--admin-warning:#fbbf24;--admin-sidebar-width:15rem;--admin-radius:.5rem;--admin-shadow:0 1px 2px #0006}[data-admin-theme=light]{--admin-bg:#fafafa;--admin-bg-subtle:#f4f4f5;--admin-surface:#fff;--admin-surface-raised:#f4f4f5;--admin-border:#e4e4e7;--admin-border-subtle:#f4f4f5;--admin-text:#18181b;--admin-text-muted:#52525b;--admin-text-faint:#71717a;--admin-accent:#4f46e5;--admin-accent-strong:#4338ca;--admin-accent-muted:#eef2ff;--admin-danger:#dc2626;--admin-danger-muted:#fef2f2;--admin-success:#059669;--admin-success-muted:#ecfdf5;--admin-warning:#d97706;--admin-sidebar-width:15rem;--admin-radius:.5rem;--admin-shadow:0 1px 3px #00000014}html:not([data-admin-theme]){--admin-bg:#09090b;--admin-bg-subtle:#0f0f12;--admin-surface:#18181b;--admin-surface-raised:#27272a;--admin-border:#3f3f46;--admin-border-subtle:#27272a;--admin-text:#fafafa;--admin-text-muted:#a1a1aa;--admin-text-faint:#71717a;--admin-accent:#818cf8;--admin-accent-strong:#6366f1;--admin-accent-muted:#1e1b4b;--admin-danger:#f87171;--admin-danger-muted:#450a0a;--admin-success:#34d399;--admin-success-muted:#064e3b;--admin-warning:#fbbf24;--admin-sidebar-width:15rem;--admin-radius:.5rem;--admin-shadow:0 1px 2px #0006}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.touch-target{justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;display:inline-flex}.prose-themed{color:var(--tw-prose-body);max-width:65ch}.prose-themed :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose-themed :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose-themed :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose-themed :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose-themed :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose-themed :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose-themed :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose-themed :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose-themed :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose-themed :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose-themed :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose-themed :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose-themed :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose-themed :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose-themed :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose-themed :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose-themed :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose-themed :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose-themed :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose-themed :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose-themed :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose-themed :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose-themed :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose-themed :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose-themed :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose-themed :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose-themed :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose-themed :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose-themed :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose-themed :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose-themed :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose-themed :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose-themed :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose-themed :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose-themed :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose-themed :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose-themed :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose-themed :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose-themed :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose-themed :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose-themed :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose-themed :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose-themed :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose-themed :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose-themed :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose-themed :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose-themed :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose-themed :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose-themed :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose-themed :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose-themed :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose-themed :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose-themed :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose-themed{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:#1118271a;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose-themed :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-themed :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose-themed :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-themed :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-themed :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-themed :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-themed :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-themed :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-themed :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-themed{font-size:.875rem;line-height:1.71429}.prose-themed :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-themed :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-themed :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-themed :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-themed :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-themed :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-themed :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-themed :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-themed :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-themed :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-themed :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-themed :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-themed :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-themed :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-themed :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-themed :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-themed :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-themed :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-themed :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-themed :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-themed :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-themed :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-themed :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-themed :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-themed :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-themed :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-themed :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-themed :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-themed :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-themed :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-themed :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-themed :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-themed :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-themed :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-themed :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-themed :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-themed :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-themed :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-themed :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-themed :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-themed :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-themed :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-themed{--tw-prose-body:var(--color-text);--tw-prose-headings:var(--color-text);--tw-prose-lead:var(--color-text-muted);--tw-prose-links:var(--color-primary);--tw-prose-bold:var(--color-text);--tw-prose-counters:var(--color-text-muted);--tw-prose-bullets:var(--color-text-muted);--tw-prose-hr:var(--color-border);--tw-prose-quotes:var(--color-text);--tw-prose-quote-borders:var(--color-border);--tw-prose-captions:var(--color-text-muted);--tw-prose-code:var(--color-text);--tw-prose-pre-code:var(--color-text);--tw-prose-pre-bg:var(--color-surface-elevated);--tw-prose-th-borders:var(--color-border);--tw-prose-td-borders:var(--color-border);max-width:none}.app-shell{width:100%;max-width:72rem;margin-left:auto;margin-right:auto}.page-title{letter-spacing:-.025em;font-size:1.875rem;font-weight:700;line-height:2.25rem}@media (width>=768px){.page-title{font-size:2.25rem;line-height:2.5rem}}.section-eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-muted);font-size:.75rem;font-weight:700;line-height:1rem}.section-title{font-family:var(--font-heading);letter-spacing:-.025em;font-size:1.5rem;font-weight:700;line-height:2rem}@media (width>=768px){.section-title{font-size:1.875rem;line-height:2.25rem}}.hero-section{border-width:1px;border-radius:1rem;padding:4rem 1.5rem;position:relative;overflow:hidden}@media (width>=768px){.hero-section{padding:6rem 3rem}}.hero-section{border-color:var(--color-border);background:linear-gradient(135deg, var(--color-surface) 0%, color-mix(in srgb, var(--color-primary) 8%, var(--color-surface)) 100%)}.hero-parallax{text-align:center;width:100%}.hero-parallax .hero-eyebrow{color:#fff8e7;text-shadow:0 1px 12px #00000059}.hero-parallax .hero-title{color:#fff;text-shadow:0 2px 24px #0006}.hero-parallax .hero-bio,.hero-parallax .hero-location{color:#fff8e7eb;text-shadow:0 1px 10px #00000059}.hero-parallax .hero-actions{justify-content:center}.parallax-scroll-hint{text-transform:uppercase;letter-spacing:.25em;color:#fff8e7bf;text-shadow:0 1px 8px #0000004d;margin-top:2.5rem;font-size:.75rem;font-weight:500;line-height:1rem;animation:2.5s ease-in-out infinite parallax-hint-pulse}@keyframes parallax-hint-pulse{0%,to{opacity:.55}50%{opacity:1}}.btn-on-parallax.btn-primary{color:#1a1628;background:#fffffff2}.btn-on-parallax.btn-primary:hover{background:#fff}.btn-on-parallax.btn-ghost{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border-color:#ffffff8c}.btn-on-parallax.btn-ghost:hover{background:#ffffff38;border-color:#ffffffe6}.hero-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);font-size:.875rem;font-weight:600;line-height:1.25rem}.hero-title{font-family:var(--font-heading);letter-spacing:-.025em;margin-top:.75rem;font-size:2.25rem;font-weight:700;line-height:2.5rem}@media (width>=768px){.hero-title{font-size:3.75rem;line-height:1}}@media (width>=1024px){.hero-title{font-size:4.5rem;line-height:1}}.hero-bio{max-width:42rem;color:var(--color-text-muted);margin-top:1.5rem;font-size:1.125rem;line-height:1.625}.hero-location{color:var(--color-text-muted);margin-top:.75rem;font-size:.875rem;line-height:1.25rem}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.card-surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.portfolio-card{flex-direction:column;height:100%;display:flex;overflow:hidden}.portfolio-card:hover{border-color:var(--color-primary);box-shadow:0 8px 30px color-mix(in srgb, var(--color-primary) 15%, transparent);transform:translateY(-2px)}.portfolio-card-media{aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;background:color-mix(in srgb, var(--color-border) 50%, transparent);width:100%}.portfolio-card-body{flex-direction:column;flex:1;padding:1.25rem;display:flex}.portfolio-grid{gap:1.25rem;display:grid}@media (width>=640px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.btn-primary{background:var(--color-primary);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));border-radius:.5rem;justify-content:center;align-items:center;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary:hover{opacity:.9}.btn-ghost{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;justify-content:center;align-items:center;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-ghost:hover{border-color:var(--color-primary)}.resume-template{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);box-sizing:border-box;width:210mm;max-width:210mm;min-height:297mm;font-family:var(--font-body);margin-left:auto;margin-right:auto;font-size:9.5pt;line-height:1.5}.resume-template-grid{grid-template-columns:32% 1fr;min-height:297mm;display:grid}.resume-template-sidebar{background:var(--resume-sidebar-bg,#1a1a1a);color:var(--resume-sidebar-text,#f5f5f5);padding:1.25rem}.resume-template-main{background:var(--resume-main-bg,#fff);color:var(--resume-main-text,#1f2937);padding:2rem}.resume-photo-slot{aspect-ratio:1;flex-shrink:0;width:100%;margin-bottom:1.25rem}.resume-photo{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.resume-photo-placeholder{background:color-mix(in srgb, var(--resume-sidebar-text,#f5f5f5) 12%, transparent);border:1px solid color-mix(in srgb, var(--resume-sidebar-text,#f5f5f5) 25%, transparent);width:100%;height:100%}.resume-block-title{font-family:"Bebas Neue", var(--font-heading);text-transform:uppercase;letter-spacing:.025em;color:var(--resume-sidebar-heading,#9ca3af);margin-bottom:.75rem;font-size:1.5rem;font-weight:400;line-height:2rem}.resume-template-main .resume-block-title{color:var(--resume-main-heading,#6b7280)}.resume-about-text p{color:var(--resume-sidebar-text,#f5f5f5);margin-bottom:.75rem;font-size:.95rem;line-height:1.625}.resume-sidebar-block,.resume-main-block{margin-bottom:1.5rem}.resume-main-header{text-align:center;margin-bottom:2rem}.resume-main-name{font-family:"Bebas Neue", var(--font-heading);text-transform:uppercase;letter-spacing:.025em;color:var(--resume-main-heading,#6b7280);font-size:3.75rem;font-weight:400;line-height:1}.resume-main-title{letter-spacing:.025em;color:var(--resume-main-text,#1f2937);margin-top:.5rem;font-size:1.125rem;font-weight:500;line-height:1.75rem}.resume-accent-bar{background:var(--resume-accent-bar,#2d5a27);width:100%;max-width:28rem;height:.5rem;margin:.75rem auto}.resume-main-contact{color:var(--resume-contact-text,#9ca3af);font-size:.875rem;line-height:1.25rem}.resume-entry-heading{font-family:"Bebas Neue", var(--font-heading);text-transform:uppercase;color:var(--resume-main-heading,#6b7280);font-size:1.125rem;font-weight:400;line-height:1.375}.resume-entry-meta{flex-direction:row;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.resume-entry-meta-primary{-moz-column-gap:.5rem;flex-wrap:wrap;flex:1;align-items:baseline;gap:.25rem .5rem;min-width:0;display:flex}.resume-entry-meta-sep{color:var(--resume-contact-text,#9ca3af);font-size:.875rem;line-height:1.25rem}.resume-entry-subheading{color:var(--resume-contact-text,#9ca3af);font-size:.875rem;line-height:1.375}.resume-entry-dates{text-align:right;color:var(--resume-contact-text,#9ca3af);flex-shrink:0;font-size:.875rem;line-height:1.375}.resume-entry{margin-bottom:1.25rem}.resume-entry:last-child{margin-bottom:0}.resume-entry-body{color:var(--resume-main-text,#1f2937);margin-bottom:.75rem;font-size:.95rem;line-height:1.625}.resume-entry-body strong{font-weight:600}.resume-entry-body em{font-style:italic}.resume-about-text .resume-entry-body,.resume-about-text .resume-entry-bullets{color:var(--resume-sidebar-text,#f5f5f5)}.resume-entry-bullets{margin-bottom:.75rem;list-style-type:disc}.resume-entry-bullets>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.resume-entry-bullets{padding-left:1rem;font-size:.95rem}.resume-skill-row{grid-template-columns:1fr 45%;align-items:center;gap:.5rem;margin-bottom:.75rem;display:grid}.resume-skill-label{text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;line-height:1rem}.resume-skill-track{background:var(--resume-skill-bar-bg,#3f3f46);border-radius:.125rem;height:.5rem;overflow:hidden}.resume-skill-fill{background:var(--resume-skill-bar-fill,#a8a29e);border-radius:.125rem;height:100%}.resume-workspace{gap:1.5rem;display:grid}@media (width>=1280px){.resume-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}}.resume-workspace--tabbed{display:block}@media print{@page{size:A4;margin:10mm}.resume-save-bar{display:none}}.resume-save-bar{z-index:20;margin-bottom:1rem;position:sticky}.resume-save-bar>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.resume-save-bar{top:var(--site-header-height);border-width:1px;border-color:var(--color-border);background:var(--color-surface);border-radius:.5rem;padding:1rem}.admin-shell .resume-save-bar{top:var(--admin-mobile-header-height)}@media (width>=768px){.admin-shell .resume-save-bar{top:0}}.resume-save-bar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.resume-save-bar-status{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1));font-size:.875rem;font-weight:500;line-height:1.25rem}.resume-save-bar-alert{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.resume-save-bar-reload{border:1px solid color-mix(in srgb, #ef4444 35%, var(--color-border));color:color-mix(in srgb, #ef4444 80%, var(--color-text));border-radius:.5rem;flex-shrink:0;padding:.375rem .75rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.resume-save-bar-reload:hover{background:color-mix(in srgb, #ef4444 10%, var(--color-surface))}.resume-rich-text-editor>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.resume-rich-text-editor--loading{border-width:1px;border-color:var(--color-border);border-radius:.5rem;min-height:12rem}.resume-rich-text-toolbar{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.resume-format-btn.is-active{border-color:var(--color-primary);color:var(--color-text);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.resume-rich-text-surface{border:1px solid var(--color-border);background:var(--color-surface-elevated);outline-offset:2px;width:100%;min-height:12rem;color:var(--color-text);border-radius:.5rem;outline:2px solid #0000;padding:.5rem .75rem;font-size:.875rem;line-height:1.625}.resume-rich-text-surface:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 20%, transparent)}.resume-rich-text-surface p{margin-bottom:.5rem}.resume-rich-text-surface p:last-child{margin-bottom:0}.resume-rich-text-surface ul,.resume-rich-text-surface ol{margin-bottom:.5rem;padding-left:1.25rem;list-style-position:outside}.resume-rich-text-surface ul:last-child,.resume-rich-text-surface ol:last-child{margin-bottom:0}.resume-rich-text-surface ul{list-style-type:disc}.resume-rich-text-surface ol{list-style-type:decimal}.resume-rich-text-surface a{color:var(--color-primary);text-decoration-line:underline}.resume-rich-text-surface p.is-editor-empty:first-child:before{color:var(--color-text-muted);content:attr(data-placeholder);float:left;pointer-events:none;height:0}.resume-entry-body-content>:not([hidden])~:not([hidden]),.resume-about-body-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.resume-entry-body-content,.resume-about-body-content{font-size:.875rem;line-height:1.625}.resume-entry-body-content>:last-child,.resume-about-body-content>:last-child{margin-bottom:0}.resume-entry-body-content ul,.resume-about-body-content ul,.resume-entry-body-content ol,.resume-about-body-content ol{list-style-position:outside}.resume-entry-body-content ul>:not([hidden])~:not([hidden]),.resume-about-body-content ul>:not([hidden])~:not([hidden]),.resume-entry-body-content ol>:not([hidden])~:not([hidden]),.resume-about-body-content ol>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.resume-entry-body-content ul,.resume-about-body-content ul,.resume-entry-body-content ol,.resume-about-body-content ol{padding-left:1rem}.resume-entry-body-content ul,.resume-about-body-content ul{list-style-type:disc}.resume-entry-body-content ol,.resume-about-body-content ol{list-style-type:decimal}.resume-entry-body-content a,.resume-about-body-content a{color:var(--color-primary);text-decoration-line:underline}.resume-workspace-tabs{border:1px solid var(--color-border);background:var(--color-surface)}@media print{@page{size:A4;margin:10mm}.resume-workspace-tabs{display:none}}.resume-workspace-tabs{border-radius:.5rem;max-width:100%;margin-bottom:1rem;padding:.25rem;display:flex}.resume-workspace-tabs--scroll .resume-workspace-tab{scroll-snap-align:start}@media (width>=768px){.resume-workspace-tabs--responsive{flex-wrap:wrap;overflow-x:visible}}.resume-workspace-tabs--responsive{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.25rem;max-width:100%;display:flex;overflow-x:auto}.resume-workspace-tab{border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.resume-workspace-tab.is-active{background:var(--color-primary);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.resume-workspace-tab:not(.is-active){color:var(--color-text-muted)}.resume-workspace-tab:not(.is-active):hover{color:var(--color-text)}.resume-workspace-preview{border-width:1px;border-color:var(--color-border);border-radius:.5rem;padding:.5rem;overflow:hidden}.resume-workspace-preview--full{padding:0;overflow:hidden}.resume-workspace-preview--full .resume-template{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;min-width:0;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);margin-left:auto;margin-right:auto}.resume-page-viewer{flex-direction:column;gap:.75rem;display:flex}.resume-page-viewer__toolbar{z-index:10;border-width:1px;border-color:var(--color-border);background:var(--color-surface);touch-action:manipulation;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem;display:flex;position:sticky;top:0}.resume-page-viewer__zoom-group{align-items:center;gap:.25rem;margin-left:auto;display:flex}.resume-page-viewer__btn{border-width:1px;border-color:var(--color-border);min-width:2.75rem;min-height:2.75rem;color:var(--color-text);background:color-mix(in srgb, var(--color-surface) 90%, transparent);border-radius:.375rem;justify-content:center;align-items:center;gap:.375rem;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.resume-page-viewer__btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.resume-page-viewer__btn:disabled{cursor:not-allowed;opacity:.4}.resume-page-viewer__btn.is-active{background:var(--color-primary);border-color:var(--color-primary);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.resume-page-viewer__btn-label{display:none}@media (width>=640px){.resume-page-viewer__btn-label{display:inline}}.resume-page-viewer__zoom-value{text-align:center;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);min-width:3.5rem;color:var(--color-text-muted);padding-left:.25rem;padding-right:.25rem;font-size:.875rem;font-weight:600;line-height:1.25rem}.resume-page-viewer__stage{border-width:1px;border-color:var(--color-border);background:color-mix(in srgb, var(--color-border) 35%, var(--color-surface));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:.5rem;max-height:min(85vh,1200px);padding:1rem;overflow:auto}.resume-page-viewer__stage.is-pinching{touch-action:none}.resume-page-viewer__scaler{margin-left:auto;margin-right:auto}.resume-page-viewer__content{will-change:transform}@media (prefers-reduced-motion:no-preference){.resume-page-viewer__content{transition:transform .15s ease-out}}.resume-workspace-editor{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (width>=768px){.resume-workspace-editor{padding:1.5rem}}.resume-editor>:not([hidden])~:not([hidden]),.json-tool>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.json-tool-mode-tabs{border:1px solid var(--color-border);background:var(--color-surface-elevated);-webkit-overflow-scrolling:touch;border-radius:9999px;flex-wrap:nowrap;gap:.25rem;max-width:100%;padding:.25rem;font-size:.875rem;line-height:1.25rem;display:flex;overflow-x:auto}.json-tool-mode-tab{color:var(--color-text-muted);border-radius:9999px;padding:.375rem 1rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.json-tool-mode-tab.is-active{background:var(--color-primary);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.json-tool-mode-hint{color:var(--color-text-muted);font-size:.875rem;line-height:1.25rem}.json-tool-workspace{gap:1rem;display:grid}@media (width>=768px){.json-tool-workspace--compare{grid-template-columns:repeat(2,minmax(0,1fr))}}.json-tool-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;min-height:0;padding:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex}@media (width>=768px){.json-tool-panel{padding:1.25rem}}.json-tool-panel-header{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}@media (width>=640px){.json-tool-panel-header{flex-direction:row;align-items:center;gap:.75rem}}.json-tool-panel-label{font-size:.875rem;font-weight:600;line-height:1.25rem}.json-tool-panel-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}@media (width>=640px){.json-tool-panel-actions{margin-left:auto}}.json-tool-action-btn{height:2.75rem;padding:.25rem .75rem;font-size:.75rem;line-height:1rem}@media (width>=640px){.json-tool-action-btn{height:2rem}}.json-tool-textarea{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);resize:vertical;background-color:#0000;border-width:1px;border-radius:.5rem;flex:1;width:100%;min-height:12rem;margin-top:.25rem;padding:.75rem;font-size:1rem;line-height:1.5rem}@media (width>=640px){.json-tool-textarea{font-size:.875rem;line-height:1.25rem}}@media (width>=768px){.json-tool-textarea{min-height:16rem}}.json-tool-textarea{border-color:var(--color-border);color:var(--color-text)}.json-tool-textarea:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 60%, transparent);outline-offset:2px}.json-tool-status{margin-top:.5rem;font-size:.75rem;line-height:1rem}.json-tool-status.is-valid{color:#16a34a}.json-tool-status.is-invalid{color:#dc2626}.json-tool-compare-actions{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}@media (width>=640px){.json-tool-compare-actions{flex-direction:row;justify-content:flex-end}}.json-tool-compare-actions .btn-primary{width:100%}@media (width>=640px){.json-tool-compare-actions .btn-primary{width:auto}}.json-tool-result{margin-top:1rem}.json-tool-result>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.json-tool-result{font-size:.875rem;line-height:1.25rem}.json-tool-result.is-success{border-color:#16a34a}.json-tool-result.is-warning{border-color:#d97706}.json-tool-result.is-error{border-color:#dc2626}.json-tool-result-title{font-weight:600}.json-tool-diff-list{margin-top:.5rem}.json-tool-diff-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.json-tool-diff-list li{background-color:var(--color-surface-elevated);border-radius:.375rem;flex-wrap:wrap;align-items:flex-start;gap:.5rem;padding:.5rem;display:flex}.json-tool-diff-list code{background-color:var(--color-surface);border-radius:.25rem;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;line-height:1rem}.resume-editor-nav-btn.is-active{background:var(--color-primary);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.resume-field>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.resume-label{font-size:.875rem;font-weight:500;line-height:1.25rem;display:block}.resume-hint{color:var(--color-text-muted);font-size:.75rem;line-height:1.625}.resume-input,.resume-textarea,.resume-select{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;width:100%;padding:.625rem .75rem;font-size:1rem;line-height:1.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (width>=640px){.resume-input,.resume-textarea,.resume-select{font-size:.875rem;line-height:1.25rem}}.resume-input:focus,.resume-textarea:focus,.resume-select:focus{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);border-color:var(--color-primary);--tw-ring-color:color-mix(in srgb, var(--color-primary) 25%, transparent);outline:2px solid #0000}.site-form-field>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.site-form-label{color:var(--color-text);font-size:.875rem;font-weight:500;line-height:1.25rem;display:block}.site-form-input,.site-form-textarea{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:.5rem;width:100%;padding:.625rem .75rem;font-size:1rem;line-height:1.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (width>=640px){.site-form-input,.site-form-textarea{font-size:.875rem;line-height:1.25rem}}.site-form-input::-moz-placeholder{color:var(--color-text-muted)}.site-form-textarea::-moz-placeholder{color:var(--color-text-muted)}.site-form-input::placeholder,.site-form-textarea::placeholder{color:var(--color-text-muted)}.site-form-input:focus,.site-form-textarea:focus{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);border-color:var(--color-primary);--tw-ring-color:color-mix(in srgb, var(--color-primary) 25%, transparent);outline:2px solid #0000}.site-form-textarea{resize:vertical;min-height:9rem;line-height:1.625}.site-form-error{color:#ef4444;font-size:.875rem;line-height:1.25rem}.site-form-hint{color:var(--color-text-muted);margin-bottom:.375rem;font-size:.75rem;line-height:1.625}.site-form-counter{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);color:var(--color-text-muted);flex-shrink:0;font-size:.75rem;line-height:1rem}.site-form-counter.is-warning{color:#f59e0b}.contact-info-chips{flex-direction:column;gap:.5rem;display:flex}.contact-info-chip{border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);background:color-mix(in srgb, var(--color-surface) 70%, transparent);color:var(--color-text-muted);border-radius:.5rem;padding:.5rem .75rem;font-size:.75rem;line-height:1.625}.contact-social-pill{border:1px solid color-mix(in srgb, var(--color-primary) 25%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));color:var(--color-primary);border-radius:9999px;align-items:center;padding:.375rem .75rem;font-size:.75rem;font-weight:500;line-height:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.contact-social-pill:hover{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface))}.tool-card__eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);font-size:.75rem;font-weight:700;line-height:1rem}.tool-card__actions{flex-direction:column;gap:.5rem;display:flex}.tool-card__primary-cta{text-align:center;justify-content:center;width:100%}.tool-card__empty{text-align:center;color:var(--color-text-muted);padding:3rem 1.5rem;font-size:.875rem;line-height:1.25rem}.tool-card__placeholder{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))}.site-alert--success{border:1px solid color-mix(in srgb, #22c55e 35%, var(--color-border));background:color-mix(in srgb, #22c55e 10%, var(--color-surface));color:color-mix(in srgb, #22c55e 70%, var(--color-text));border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem}.site-alert--error{border:1px solid color-mix(in srgb, #ef4444 35%, var(--color-border));background:color-mix(in srgb, #ef4444 10%, var(--color-surface));color:color-mix(in srgb, #ef4444 70%, var(--color-text));border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem}.resume-format-btn{border:1px solid var(--color-border);border-radius:.5rem;justify-content:center;align-items:center;min-width:2.5rem;height:2.5rem;padding-left:.625rem;padding-right:.625rem;font-size:.875rem;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}@media (width>=640px){.resume-format-btn{min-width:2rem;height:2rem;padding-left:.5rem;padding-right:.5rem}}.resume-format-btn{color:var(--color-text-muted)}.resume-format-btn:hover{border-color:var(--color-primary);color:var(--color-text);background:color-mix(in srgb, var(--color-primary) 6%, transparent)}.resume-form-grid{gap:1rem;display:grid}@media (width>=640px){.resume-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-form-grid .resume-field--full{grid-column:span 2/span 2}}.resume-photo-upload{border:2px dashed var(--color-border);text-align:center;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex;position:relative}.resume-photo-upload:hover{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 4%, transparent)}.resume-photo-upload.has-photo{text-align:left;flex-direction:row;justify-content:flex-start;padding:1rem}.resume-photo-upload-input{cursor:pointer;opacity:0;position:absolute;inset:0}.resume-photo-preview{-o-object-fit:cover;object-fit:cover;border:1px solid var(--color-border);border-radius:.5rem;flex-shrink:0;width:6rem;height:6rem}.resume-photo-upload-copy>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.resume-photo-upload-title{font-size:.875rem;font-weight:600;line-height:1.25rem}.resume-section-card{border:1px solid var(--color-border);background-color:var(--color-surface-elevated);border-radius:.75rem;padding:1rem}.resume-section-card.is-disabled{opacity:.6}.resume-section-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.resume-section-actions{flex-wrap:wrap;align-items:center;gap:.25rem;margin-left:auto;display:flex}.resume-icon-btn{border:1px solid var(--color-border);border-radius:.5rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.resume-icon-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.resume-icon-btn:disabled{cursor:not-allowed;opacity:.4}.resume-icon-btn.is-danger:hover:not(:disabled){--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.resume-entry-card{border:1px solid var(--color-border)}.resume-entry-card>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.resume-entry-card{background-color:var(--color-surface);border-radius:.5rem;padding:1rem}.resume-entry-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.resume-entry-card-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.resume-entry-card-title{text-transform:uppercase;letter-spacing:.025em;color:var(--color-text-muted);font-size:.75rem;font-weight:600;line-height:1rem}.resume-skill-slider{align-items:center;gap:.75rem;display:flex}.resume-skill-slider-value{text-align:right;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);width:2.5rem;color:var(--color-primary);flex-shrink:0;font-size:.75rem;font-weight:600;line-height:1rem}.resume-add-section{border:1px dashed var(--color-border);border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}@media (width>=640px){.resume-add-section{flex-direction:row;align-items:flex-end}}.resume-toggle{cursor:pointer;border-radius:.5rem;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.875rem;line-height:1.25rem;display:inline-flex}.resume-toggle input{width:1rem;height:1rem;accent-color:var(--color-primary);border-width:1px;border-radius:.25rem}.resume-theme-tabs{border:1px solid var(--color-border);border-radius:.5rem;margin-bottom:1rem;padding:.25rem;display:inline-flex}.resume-theme-tab{color:var(--color-text-muted);border-radius:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.resume-theme-tab.is-active{background:var(--color-primary);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.admin-shell{background:var(--admin-bg);min-height:100dvh;color:var(--admin-text);font-family:var(--font-body)}.admin-sidebar{width:var(--admin-sidebar-width);border-color:var(--admin-border);background:var(--admin-bg-subtle)}.admin-nav-link{color:var(--admin-text-muted);border-radius:.5rem;align-items:center;gap:.625rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex}.admin-nav-link:hover{background:var(--admin-surface);color:var(--admin-text)}.admin-nav-link--active{background:var(--admin-accent-muted);color:var(--admin-accent);box-shadow:inset 3px 0 0 0 var(--admin-accent-strong)}.admin-tabs-scroll{-webkit-overflow-scrolling:touch;margin-left:-.25rem;margin-right:-.25rem;overflow-x:auto}.admin-tabs{border-width:1px;border-radius:.5rem;flex-wrap:nowrap;min-width:max-content;padding:.125rem;display:inline-flex}@media (width>=640px){.admin-tabs{min-width:0}}.admin-tabs{border-color:var(--admin-border);background:var(--admin-surface-raised)}.admin-tab{border-radius:.375rem;flex-shrink:0;padding:.625rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);position:relative}@media (width>=640px){.admin-tab{padding-top:.5rem;padding-bottom:.5rem}}.admin-tab{color:var(--admin-text-muted)}.admin-tab:hover:not(.is-active){color:var(--admin-text)}.admin-tab.is-active{background:var(--admin-accent-muted);color:var(--admin-accent-strong)}.admin-card{border-radius:var(--admin-radius);border:1px solid var(--admin-border);background:var(--admin-surface);box-shadow:var(--admin-shadow)}.admin-label{color:var(--admin-text-muted);font-size:.875rem;font-weight:500;line-height:1.25rem;display:block}.admin-hint{color:var(--admin-text-faint);margin-top:.125rem;font-size:.75rem;line-height:1rem}.admin-input,.admin-select,.admin-textarea{width:100%;margin-top:.25rem;padding:.625rem .75rem;font-size:1rem;line-height:1.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (width>=640px){.admin-input,.admin-select,.admin-textarea{font-size:.875rem;line-height:1.25rem}}.admin-input,.admin-select,.admin-textarea{border-radius:var(--admin-radius);border:1px solid var(--admin-border);background:var(--admin-surface-raised);color:var(--admin-text)}.admin-input::-moz-placeholder{color:var(--admin-text-faint)}.admin-textarea::-moz-placeholder{color:var(--admin-text-faint)}.admin-input::placeholder,.admin-textarea::placeholder{color:var(--admin-text-faint)}.admin-input:focus,.admin-select:focus,.admin-textarea:focus{border-color:var(--admin-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--admin-accent) 25%, transparent);outline:none}.admin-input--error{border-color:var(--admin-danger)}.admin-error{color:var(--admin-danger);margin-top:.25rem;font-size:.875rem;line-height:1.25rem}.admin-btn-primary{border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.admin-btn-primary:focus-visible{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px;outline:2px solid #0000}.admin-btn-primary:disabled{pointer-events:none;opacity:.5}.admin-btn-primary{--tw-ring-offset-color:var(--admin-bg);background:var(--admin-accent-strong);color:#fff}.admin-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.admin-btn-primary:focus-visible{--tw-ring-color:var(--admin-accent)}.admin-btn-secondary{border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.admin-btn-secondary:focus-visible{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px;outline:2px solid #0000}.admin-btn-secondary:disabled{pointer-events:none;opacity:.5}.admin-btn-secondary{--tw-ring-offset-color:var(--admin-bg);border:1px solid var(--admin-border);background:var(--admin-surface);color:var(--admin-text)}.admin-btn-secondary:hover:not(:disabled){background:var(--admin-surface-raised)}.admin-btn-ghost{border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.admin-btn-ghost:focus-visible{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px;outline:2px solid #0000}.admin-btn-ghost:disabled{pointer-events:none;opacity:.5}.admin-btn-ghost{--tw-ring-offset-color:var(--admin-bg);color:var(--admin-text-muted)}.admin-btn-ghost:hover:not(:disabled){background:var(--admin-surface-raised);color:var(--admin-text)}.admin-btn-danger{border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.admin-btn-danger:focus-visible{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px;outline:2px solid #0000}.admin-btn-danger:disabled{pointer-events:none;opacity:.5}.admin-btn-danger{--tw-ring-offset-color:var(--admin-bg);background:var(--admin-danger-muted);color:var(--admin-danger)}.admin-btn-danger:hover:not(:disabled){filter:brightness(1.05)}.admin-btn-sm{padding:.375rem .75rem;font-size:.75rem;line-height:1rem}.admin-badge{text-transform:capitalize;background:var(--admin-surface-raised);color:var(--admin-text-muted);border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:500;line-height:1rem;display:inline-flex}.admin-badge--success{background:var(--admin-success-muted);color:var(--admin-success)}.admin-badge--warning{background:color-mix(in srgb, var(--admin-warning) 15%, var(--admin-surface));color:var(--admin-warning)}.admin-badge--accent{background:var(--admin-accent-muted);color:var(--admin-accent-strong)}.admin-alert{border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem}.admin-alert--success{background:var(--admin-success-muted);color:var(--admin-success);border:1px solid color-mix(in srgb, var(--admin-success) 30%, transparent)}.admin-alert--error{background:var(--admin-danger-muted);color:var(--admin-danger);border:1px solid color-mix(in srgb, var(--admin-danger) 30%, transparent)}.admin-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--admin-text-faint);font-size:.75rem;font-weight:600;line-height:1rem}.admin-table-wrap{border-width:1px;border-color:var(--admin-border);background:linear-gradient(to right, var(--admin-surface) 30%, transparent), linear-gradient(to right, transparent, var(--admin-surface) 70%) 100% 0, radial-gradient(farthest-side at 0 50%, color-mix(in srgb, var(--admin-text) 12%, transparent), transparent), radial-gradient(farthest-side at 100% 50%, color-mix(in srgb, var(--admin-text) 12%, transparent), transparent) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll;border-radius:.5rem;overflow-x:auto}.admin-table-mobile>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.admin-table-mobile-card{border-radius:var(--admin-radius);border:1px solid var(--admin-border);background:var(--admin-surface);box-shadow:var(--admin-shadow);padding:1rem}.admin-table-mobile-card__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.admin-table-mobile-card__meta{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.admin-table-mobile-card__actions{border-top-width:1px;border-color:var(--admin-border);flex-wrap:wrap;gap:.75rem;margin-top:1rem;padding-top:.75rem;display:flex}.admin-table{text-align:left;width:100%;font-size:.875rem;line-height:1.25rem}.admin-table thead{background:var(--admin-surface-raised);color:var(--admin-text-muted)}.admin-table th{text-transform:uppercase;letter-spacing:.025em;padding:.75rem 1rem;font-size:.75rem;font-weight:600;line-height:1rem}.admin-table td{border-top-width:1px;border-color:var(--admin-border-subtle);padding:.75rem 1rem}.admin-table tbody tr:hover{background:var(--admin-surface-raised)}.admin-stat-card{border-radius:var(--admin-radius);border:1px solid var(--admin-border);background:var(--admin-surface);box-shadow:var(--admin-shadow);padding:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:block}.admin-stat-card:hover{border-color:var(--admin-accent)}.admin-drawer-backdrop{z-index:40;background-color:#00000080;position:fixed;inset:0}@media (width>=768px){.admin-drawer-backdrop{display:none}}.admin-form-sticky-bar{z-index:10;border-top-width:1px;margin-left:-1rem;margin-right:-1rem;padding:1rem;position:sticky;bottom:0}@media (width>=768px){.admin-form-sticky-bar{margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem}}.admin-form-sticky-bar{border-color:var(--admin-border);background:color-mix(in srgb, var(--admin-bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.deploy-pipeline,.deploy-step{position:relative}.deploy-step-row{flex-direction:column;align-items:stretch;gap:.5rem;padding-top:.75rem;padding-bottom:.75rem;display:flex}@media (width>=640px){.deploy-step-row{flex-direction:row;align-items:center;gap:.75rem}}.deploy-step-status{z-index:10;background:var(--admin-bg);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.deploy-step-connector{background:var(--admin-border);width:1px;height:.75rem;position:absolute;top:0;left:9px}.deploy-step:not(:last-child):after{content:"";background:var(--admin-border);width:1px;position:absolute;top:2rem;bottom:0;left:9px}.deploy-step--running .deploy-step-row{background:color-mix(in srgb, var(--admin-accent) 8%, var(--admin-surface));border-radius:.5rem;margin-left:-.5rem;margin-right:-.5rem;padding-left:.5rem;padding-right:.5rem;animation:2s ease-in-out infinite deploy-step-pulse}.deploy-step-icon--running{animation:1s linear infinite spin}@keyframes deploy-step-pulse{0%,to{opacity:1}50%{opacity:.85}}.deploy-log-output{white-space:pre-wrap;overflow-wrap:break-word;max-height:12rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;line-height:1rem;overflow:auto}@media (width>=640px){.deploy-log-output{font-size:11px}}.deploy-log-output{background:color-mix(in srgb, var(--admin-surface-raised) 80%, black);color:var(--admin-text-muted)}.deploy-log-entry{background:var(--admin-surface-raised)}.admin-shell .resume-workspace-tabs{border-color:var(--admin-border);background:var(--admin-surface-raised)}.admin-shell .resume-workspace-tab:not(.is-active){color:var(--admin-text-muted)}.admin-shell .resume-workspace-tab:not(.is-active):hover{color:var(--admin-text)}.admin-shell .resume-editor-nav{border-color:var(--admin-border);background:var(--admin-surface-raised)}.admin-shell .resume-editor-nav-btn{color:var(--admin-text-muted)}.admin-shell .resume-editor-nav-btn:hover{color:var(--admin-text)}.admin-shell .resume-editor-panel{border-color:var(--admin-border)}.admin-shell .resume-editor-panel-header{background:var(--admin-surface-raised);color:var(--admin-text)}.admin-shell .resume-editor-panel-header:hover{background:color-mix(in srgb, var(--admin-accent) 8%, var(--admin-surface-raised))}.admin-shell .resume-editor-panel-title,.admin-shell .resume-label,.admin-shell .resume-photo-upload-title{color:var(--admin-text)}.admin-shell .resume-editor-panel-summary,.admin-shell .resume-editor-panel-chevron,.admin-shell .resume-hint,.admin-shell .resume-entry-card-title{color:var(--admin-text-muted)}.admin-shell .resume-editor-panel-body{border-color:var(--admin-border)}.admin-shell .resume-input,.admin-shell .resume-textarea,.admin-shell .resume-select{border-color:var(--admin-border);background:var(--admin-surface-raised);color:var(--admin-text)}.admin-shell .resume-input::-moz-placeholder{color:var(--admin-text-faint)}.admin-shell .resume-textarea::-moz-placeholder{color:var(--admin-text-faint)}.admin-shell .resume-input::placeholder,.admin-shell .resume-textarea::placeholder{color:var(--admin-text-faint)}.admin-shell .resume-input:focus,.admin-shell .resume-textarea:focus,.admin-shell .resume-select:focus{border-color:var(--admin-accent);--tw-ring-color:color-mix(in srgb, var(--admin-accent) 25%, transparent)}.admin-shell .resume-section-card{border-color:var(--admin-border);background:var(--admin-surface-raised)}.admin-shell .resume-entry-card{border-color:var(--admin-border);background:var(--admin-bg-subtle)}.admin-shell .resume-icon-btn{border-color:var(--admin-border);color:var(--admin-text-muted)}.admin-shell .resume-icon-btn:hover:not(:disabled){border-color:var(--admin-accent);color:var(--admin-accent)}.admin-shell .resume-photo-upload{border-color:var(--admin-border)}.admin-shell .resume-photo-upload:hover{border-color:var(--admin-accent);background:color-mix(in srgb, var(--admin-accent) 6%, transparent)}.admin-shell .resume-photo-preview,.admin-shell .resume-add-section,.admin-shell .resume-theme-tabs{border-color:var(--admin-border)}.admin-shell .resume-theme-tab{color:var(--admin-text-muted)}.admin-shell .resume-skill-slider-value{color:var(--admin-accent)}.admin-shell .resume-format-btn{border-color:var(--admin-border);color:var(--admin-text-muted)}.admin-shell .resume-format-btn:hover{border-color:var(--admin-accent);color:var(--admin-text);background:color-mix(in srgb, var(--admin-accent) 8%, transparent)}.admin-shell .resume-format-btn.is-active{border-color:var(--admin-accent);color:var(--admin-text);background:color-mix(in srgb, var(--admin-accent) 12%, transparent)}.admin-shell .resume-rich-text-surface{border-color:var(--admin-border);background:var(--admin-surface-raised);color:var(--admin-text)}.admin-shell .resume-rich-text-surface:focus{border-color:var(--admin-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--admin-accent) 25%, transparent)}.admin-shell .resume-rich-text-surface p.is-editor-empty:first-child:before{color:var(--admin-text-faint)}.admin-shell .resume-rich-text-surface a{color:var(--admin-accent)}.project-detail>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.project-detail__header{flex-direction:column;gap:1.5rem;display:flex}@media (width>=640px){.project-detail__header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.project-detail__header-copy{min-width:0}.project-detail__header-copy>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.project-detail__cta{flex-shrink:0;width:100%}@media (width>=640px){.project-detail__cta{width:auto}}.project-detail__section-heading{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:1rem;font-size:.75rem;font-weight:700;line-height:1rem}.project-detail__body-section{max-width:48rem}.project-gallery>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.project-gallery__hero{padding:.5rem;overflow:hidden}.project-gallery__hero-button{cursor:zoom-in;border-radius:calc(var(--radius) - 4px);background:color-mix(in srgb, var(--color-border) 40%, transparent);width:100%;display:block;overflow:hidden}.project-gallery__hero-button img{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;width:100%;max-height:min(70vh,640px);margin-left:auto;margin-right:auto}.project-gallery__carousel{border-radius:var(--radius);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);padding-top:.5rem;padding-bottom:.5rem;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.project-gallery__carousel-track{align-items:center;gap:.5rem;width:max-content;padding-left:.75rem;padding-right:.75rem;display:flex}.project-gallery__carousel--loop .project-gallery__carousel-track{animation:28s linear infinite project-gallery-carousel}.project-gallery__carousel--loop:hover .project-gallery__carousel-track{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.project-gallery__carousel--loop .project-gallery__carousel-track{animation:none}}@keyframes project-gallery-carousel{0%{transform:translate(0)}to{transform:translate(-50%)}}.project-gallery__carousel-thumb{cursor:zoom-in;border-width:1px;border-color:var(--color-border);background-color:color-mix(in srgb,var(--color-border) 40%,transparent);border-radius:.375rem;flex-shrink:0;width:6rem;height:4rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);overflow:hidden}.project-gallery__carousel-thumb:hover{border-color:var(--color-primary)}.project-gallery__carousel-thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.project-gallery__caption{color:var(--color-text-muted);margin-top:.5rem;padding-left:.25rem;padding-right:.25rem;font-size:.875rem;line-height:1.25rem}.project-gallery-lightbox{z-index:50;position:fixed;inset:0}.project-gallery-lightbox__backdrop{background-color:#000c;position:absolute;inset:0}.project-gallery-lightbox__content{justify-content:center;align-items:center;min-height:100%;padding:1rem;display:flex}.project-gallery-lightbox__panel{max-width:64rem;max-height:90vh;position:relative}.project-gallery-lightbox__close{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));font-size:.875rem;font-weight:500;line-height:1.25rem;position:absolute;top:-2.5rem;right:0}.project-gallery-lightbox__close:hover{text-decoration-line:underline}.project-gallery-lightbox__image{-o-object-fit:contain;object-fit:contain;width:100%;max-height:80vh}.project-gallery-lightbox__caption{text-align:center;color:#fffc;margin-top:.75rem;font-size:.875rem;line-height:1.25rem}.project-detail-body>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.project-detail-body{color:var(--color-text);font-size:1rem;line-height:1.625}.project-detail-body>:last-child,.project-detail-body p{margin-bottom:0}.project-detail-body ul,.project-detail-body ol{list-style-position:outside}.project-detail-body ul>:not([hidden])~:not([hidden]),.project-detail-body ol>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.project-detail-body ul,.project-detail-body ol{padding-left:1.25rem}.project-detail-body ul{list-style-type:disc}.project-detail-body ol{list-style-type:decimal}.project-detail-body li p{margin-bottom:0}.project-detail-body a{color:var(--color-primary);text-underline-offset:2px;text-decoration-line:underline;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.project-detail-body a:hover{opacity:.8}.project-detail-body strong,.project-detail-body b{font-weight:600}.project-detail-body em,.project-detail-body i{font-style:italic}.wedding-shell{--wedding-cream:#f9f7f2;--wedding-name:#5f7f96;--wedding-script-color:#b86a45;--wedding-ink:#3d3835;--wedding-ink-muted:#6b6560;--wedding-pampas:#ede4d8;--wedding-font-display:"Playfair Display", "Cormorant Garamond", Georgia, serif;--wedding-font-script:"Great Vibes", "Segoe Script", cursive;--wedding-font-body:var(--font-body);--wedding-dusty-blue:#5f7f96;--wedding-dusty-blue-strong:#466a82;--wedding-dusty-blue-soft:#dce8ef;--wedding-burnt-orange:#b86a45;--wedding-burnt-orange-strong:#9a5535;--wedding-burnt-orange-soft:#f3d4c2;--wedding-accent:var(--wedding-dusty-blue);--wedding-accent-strong:var(--wedding-dusty-blue-strong);--wedding-accent-soft:var(--wedding-dusty-blue-soft);--wedding-secondary:var(--wedding-burnt-orange);--wedding-secondary-strong:var(--wedding-burnt-orange-strong);--wedding-secondary-soft:var(--wedding-burnt-orange-soft);--wedding-bg-start:var(--wedding-cream);--wedding-bg-mid:#f5f0e8;--wedding-bg-end:#fff8f2;--wedding-surface:color-mix(in srgb, var(--wedding-cream) 92%, transparent);--wedding-surface-strong:#fffcf8f5;--wedding-border:color-mix(in srgb, var(--wedding-pampas) 70%, var(--wedding-accent) 30%);--wedding-primary:var(--wedding-secondary);--wedding-on-primary:#fff;--wedding-shadow:0 18px 50px color-mix(in srgb, var(--wedding-secondary) 14%, transparent);--color-text:var(--wedding-ink);--color-text-muted:var(--wedding-ink-muted);background:radial-gradient(circle at top left, color-mix(in srgb, var(--wedding-pampas) 55%, transparent), transparent 26rem), radial-gradient(circle at bottom right, color-mix(in srgb, var(--wedding-secondary-soft) 50%, transparent), transparent 24rem), linear-gradient(180deg, var(--wedding-bg-start) 0%, var(--wedding-bg-mid) 42%, var(--wedding-bg-end) 100%);color:var(--wedding-ink)}[data-theme=dark] .wedding-shell{--wedding-name:#fff;--wedding-script-color:#d9793d;--wedding-ink:#d9793d;--wedding-ink-muted:#c2642a;--wedding-cream:#5a8499;--wedding-pampas:#527a8f;--wedding-dusty-blue:#8fb1c7;--wedding-dusty-blue-strong:#466a82;--wedding-dusty-blue-soft:#5a8499;--wedding-burnt-orange:#d9793d;--wedding-burnt-orange-strong:#c2642a;--wedding-burnt-orange-soft:#4a2416;--wedding-bg-start:#6f95ad;--wedding-bg-mid:#6890a8;--wedding-bg-end:#6f95ad;--wedding-surface:#527a8fd1;--wedding-surface-strong:#4a7288e6;--wedding-border:#4d748a;--wedding-primary:#d9793d;--wedding-on-primary:#fff;--wedding-shadow:0 20px 56px #00000038;--color-text:var(--wedding-ink);--color-text-muted:var(--wedding-ink-muted)}.wedding-shell .marketing-page{padding:3rem 1rem}@media (width>=640px){.wedding-shell .marketing-page{padding-left:1.5rem;padding-right:1.5rem}}@media (width>=768px){.wedding-shell .marketing-page{padding-top:4rem;padding-bottom:4rem}}.wedding-shell .marketing-page__header{margin-bottom:2rem}@media (width>=768px){.wedding-shell .marketing-page__header{margin-bottom:2.5rem}}.wedding-shell .marketing-page__eyebrow{font-family:var(--wedding-font-script);letter-spacing:.02em;text-transform:none;color:var(--wedding-script-color);font-size:1.35rem;font-weight:400}.wedding-shell .marketing-page__title{font-family:var(--wedding-font-display);color:var(--wedding-name)}.wedding-shell .marketing-page__description{font-family:var(--wedding-font-body);color:var(--wedding-ink-muted)}.wedding-shell .btn-primary{text-align:center;--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);min-height:2.75rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-radius:9999px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:700;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.wedding-shell .btn-primary:disabled{cursor:not-allowed;opacity:.6}.wedding-shell .btn-primary{background:var(--wedding-primary);box-shadow:0 14px 30px color-mix(in srgb, var(--wedding-secondary) 20%, transparent);color:var(--wedding-on-primary)}.wedding-shell .btn-primary:hover:not(:disabled){transform:translateY(-1px)}.wedding-shell .site-form-input{background:var(--wedding-surface-strong);border-color:var(--wedding-border);border-radius:.75rem;min-height:3rem;padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:1.5rem}.wedding-shell .site-form-textarea{background:var(--wedding-surface-strong);border-color:var(--wedding-border)}.wedding-shell .site-form-input:focus,.wedding-shell .site-form-textarea:focus{border-color:var(--wedding-accent);--tw-ring-color:color-mix(in srgb, var(--wedding-accent) 28%, transparent)}.wedding-hero{--wedding-hero-overlay:linear-gradient(135deg, color-mix(in srgb, var(--wedding-bg-start) 8%, transparent), color-mix(in srgb, var(--wedding-bg-end) 8%, transparent));--wedding-hero-content-bg:transparent;--wedding-hero-content-border:transparent;--wedding-hero-content-shadow:none;--wedding-hero-frame-accent:18%;isolation:isolate;text-align:center;justify-content:center;align-items:center;min-height:calc(100dvh - 4rem);padding:2.5rem .75rem;display:flex;position:relative;overflow:hidden}@media (width>=640px){.wedding-hero{padding-left:1rem;padding-right:1rem}}@media (width>=768px){.wedding-hero{min-height:78vh;padding:4rem 1.5rem}}.wedding-hero{background-color:var(--wedding-bg-start);background-image:var(--wedding-hero-overlay), url(/images/wedding/hero-background.png);color:var(--wedding-ink);background-position:50%;background-repeat:no-repeat;background-size:cover}[data-theme=dark] .wedding-hero{--wedding-hero-overlay:linear-gradient(180deg, color-mix(in srgb, var(--wedding-bg-start) 70%, transparent), color-mix(in srgb, var(--wedding-bg-mid) 75%, transparent) 50%, color-mix(in srgb, var(--wedding-bg-end) 72%, transparent));--wedding-hero-frame-accent:45%}.wedding-hero:before{pointer-events:none;z-index:-10;border-width:1px;border-radius:1.25rem;position:absolute;inset:.5rem}@media (width>=768px){.wedding-hero:before{border-radius:2rem;inset:1rem}}.wedding-hero:before{border-color:color-mix(in srgb, var(--wedding-accent) var(--wedding-hero-frame-accent), transparent);content:""}.wedding-hero__content{text-align:center;width:100%;max-width:48rem;margin-left:auto;margin-right:auto;padding:1.5rem .75rem}@media (width>=640px){.wedding-hero__content{padding-left:1rem;padding-right:1rem}}@media (width>=768px){.wedding-hero__content{padding:2.5rem 2rem}}.wedding-hero__content{background:var(--wedding-hero-content-bg);border:1px solid var(--wedding-hero-content-border);box-shadow:var(--wedding-hero-content-shadow)}.wedding-hero h1{letter-spacing:-.025em;font-size:2.25rem;font-weight:600;line-height:.95}@media (width>=640px){.wedding-hero h1{font-size:3rem;line-height:1}}@media (width>=768px){.wedding-hero h1{font-size:4.5rem;line-height:1}}.wedding-hero h1{font-family:var(--wedding-font-display);color:var(--wedding-name);text-wrap:balance}[data-theme=dark] .wedding-hero h1{text-shadow:none}.wedding-hero__actions{flex-direction:column;justify-content:center;gap:.75rem;margin-top:2rem;display:flex}@media (width>=640px){.wedding-hero__actions{flex-flow:wrap}}.wedding-hero__actions .btn-primary,.wedding-hero__actions .wedding-btn-secondary{width:100%}@media (width>=640px){.wedding-hero__actions .btn-primary,.wedding-hero__actions .wedding-btn-secondary{width:auto}}.wedding-hero__actions .wedding-btn-secondary{background:color-mix(in srgb, var(--wedding-surface-strong) 88%, transparent)}.wedding-header{z-index:30;--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);border-bottom-width:1px;flex-direction:column;padding:.75rem 1rem;display:flex;position:sticky;top:0}@media (width>=768px){.wedding-header{padding-left:2rem;padding-right:2rem}}.wedding-header{background:color-mix(in srgb, var(--wedding-bg-start) 90%, transparent);border-color:var(--wedding-border)}.wedding-header__top{justify-content:space-between;align-items:center;gap:.75rem;width:100%;max-width:72rem;margin-left:auto;margin-right:auto;display:flex}.wedding-header__actions{align-items:center;gap:.5rem;display:flex}.wedding-header__brand{text-align:left;min-width:0;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.wedding-header__brand:hover{opacity:.8}@media (width>=768px){.wedding-header__brand{text-align:center}}.wedding-header__brand{color:var(--wedding-ink)}.wedding-header__brand span{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.025em;font-size:1.125rem;font-weight:600;line-height:1.75rem;display:block;overflow:hidden}@media (width>=768px){.wedding-header__brand span{font-size:1.25rem;line-height:1.75rem}}.wedding-header__brand span{font-family:var(--wedding-font-display);color:var(--wedding-name)}.wedding-header__brand small{text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;margin-top:.25rem;font-size:1rem;font-weight:400;line-height:1.5rem;display:block;overflow:hidden}@media (width>=768px){.wedding-header__brand small{font-size:1.125rem;line-height:1.75rem}}.wedding-header__brand small{font-family:var(--wedding-font-script);color:var(--wedding-script-color)}.wedding-header .wedding-nav{margin-top:.75rem}.wedding-hero__date{text-transform:uppercase;letter-spacing:.28em;margin-top:1rem;font-size:.875rem;font-weight:500;line-height:1.25rem}@media (width>=640px){.wedding-hero__date{letter-spacing:.35em;font-size:1.125rem;line-height:1.75rem}}.wedding-hero__date{font-family:var(--wedding-font-display);color:var(--wedding-script-color)}.wedding-eyebrow{letter-spacing:0;font-size:1.25rem;font-weight:400;line-height:1.75rem}@media (width>=640px){.wedding-eyebrow{font-size:1.5rem;line-height:2rem}}.wedding-eyebrow{font-family:var(--wedding-font-script);color:var(--wedding-script-color)}.wedding-nav{--tw-backdrop-blur:blur(8px);width:100%;max-width:56rem;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background:var(--wedding-surface);border-width:1px;border-color:var(--wedding-border);box-shadow:0 12px 30px color-mix(in srgb, var(--wedding-accent) 10%, transparent);border-radius:9999px;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-left:auto;margin-right:auto;padding:.5rem}[data-theme=dark] .wedding-nav{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}.wedding-nav--desktop{display:none}@media (width>=768px){.wedding-nav--desktop{display:flex}}.wedding-nav--mobile{border-radius:1rem;flex-direction:column;align-items:stretch;display:flex}.wedding-nav--mobile .wedding-nav__link{width:100%}.wedding-nav__link{text-align:center;min-height:2.75rem;color:var(--wedding-ink-muted);border-radius:9999px;padding:.625rem 1rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.wedding-nav__link:hover{background:color-mix(in srgb, var(--wedding-pampas) 55%, var(--wedding-surface-strong));color:var(--wedding-name);border-color:color-mix(in srgb, var(--wedding-accent) 35%, var(--wedding-border))}.wedding-nav__link--active,.wedding-nav__link--active:hover{background:var(--wedding-accent-strong);color:var(--wedding-on-primary)}[data-theme=dark] .wedding-nav__link--active,[data-theme=dark] .wedding-nav__link--active:hover{background:var(--wedding-primary);color:var(--wedding-on-primary)}.wedding-menu-toggle{border-width:1px;border-radius:9999px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (width>=768px){.wedding-menu-toggle{display:none}}.wedding-menu-toggle{border-color:var(--wedding-border);background:var(--wedding-surface-strong);color:var(--wedding-ink)}.wedding-theme-toggle{background-color:#0000;border-width:0;justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;padding:.5rem;display:inline-flex;color:var(--wedding-ink-muted)!important;background:0 0!important;border:none!important}.wedding-theme-toggle:hover{color:var(--wedding-ink)!important;border:none!important}.wedding-shell .site-form-label{color:var(--wedding-name)}.wedding-shell .site-form-hint{color:var(--wedding-ink-muted)}.wedding-copy{margin-top:1.25rem}.wedding-copy>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.wedding-copy{font-size:1rem;line-height:1.75rem}@media (width>=640px){.wedding-copy{line-height:2rem}}.wedding-copy{font-family:var(--wedding-font-body);color:var(--wedding-ink-muted)}.wedding-card,.wedding-detail-card,.wedding-rsvp-card,.wedding-gallery-empty{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-width:1px;border-radius:1.5rem;padding:1.25rem}@media (width>=640px){.wedding-card,.wedding-detail-card,.wedding-rsvp-card,.wedding-gallery-empty{padding:1.5rem}}.wedding-card,.wedding-detail-card,.wedding-rsvp-card,.wedding-gallery-empty{background:var(--wedding-surface);border-color:var(--wedding-border);box-shadow:0 14px 34px color-mix(in srgb, var(--wedding-ink) 7%, transparent);color:var(--wedding-ink)}.wedding-card{min-height:9rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:block}.wedding-card:hover{border-color:color-mix(in srgb, var(--wedding-secondary) 45%, var(--wedding-border));box-shadow:0 18px 44px color-mix(in srgb, var(--wedding-secondary) 14%, transparent);transform:translateY(-2px)}.wedding-card span{text-transform:uppercase;letter-spacing:.3em;font-size:.75rem;font-weight:700;line-height:1rem;font-family:var(--wedding-font-display);color:var(--wedding-script-color)}.wedding-card h2{font-size:1.5rem;font-weight:600;line-height:2rem;font-family:var(--wedding-font-display);color:var(--wedding-name);margin-top:1rem}.wedding-card p{color:var(--wedding-ink-muted);margin-top:.75rem;font-size:.875rem;line-height:1.5rem}.wedding-card--compact{text-align:center;color:var(--wedding-ink);padding:1rem;font-weight:600}.wedding-btn-secondary{background:var(--wedding-surface-strong);border-width:1px;border-color:color-mix(in srgb, var(--wedding-accent) 35%, var(--wedding-border));min-height:2.75rem;color:var(--wedding-name);border-radius:9999px;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.wedding-btn-secondary:hover{border-color:var(--wedding-accent);background:color-mix(in srgb, var(--wedding-pampas) 45%, var(--wedding-surface-strong));color:var(--wedding-accent-strong)}[data-theme=dark] .wedding-btn-secondary:hover{color:var(--wedding-on-primary);background:var(--wedding-primary);border-color:var(--wedding-primary)}.wedding-timeline>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.wedding-timeline--large{max-width:48rem;margin-left:auto;margin-right:auto}.wedding-timeline__item{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-width:1px;border-radius:1.25rem;gap:.75rem;padding:1.25rem;display:grid}@media (width>=768px){.wedding-timeline__item{grid-template-columns:10rem 1fr;gap:1rem}}.wedding-timeline__item{background:var(--wedding-surface);border-color:var(--wedding-border);box-shadow:0 12px 26px color-mix(in srgb, var(--wedding-ink) 6%, transparent);color:var(--wedding-ink)}.wedding-timeline__item time{text-transform:uppercase;letter-spacing:.2em;font-size:.875rem;font-weight:700;line-height:1.25rem;font-family:var(--wedding-font-display);color:var(--wedding-script-color)}.wedding-timeline__item h2,.wedding-timeline__item h3{font-size:1.25rem;font-weight:600;line-height:1.75rem;font-family:var(--wedding-font-display);color:var(--wedding-name)}.wedding-timeline__item p{color:var(--wedding-ink-muted);margin-top:.5rem;font-size:.875rem;line-height:1.5rem}.wedding-timeline__location{color:var(--wedding-ink);font-weight:600}.wedding-rsvp-card{max-width:56rem;margin-left:auto;margin-right:auto}.wedding-rsvp-card>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}@media (width>=768px){.wedding-rsvp-card>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}}.wedding-rsvp-card h2{font-size:1.5rem;font-weight:600;line-height:2rem}@media (width>=640px){.wedding-rsvp-card h2{font-size:1.875rem;line-height:2.25rem}}.wedding-rsvp-card h2{font-family:var(--wedding-font-display);color:var(--wedding-name)}.wedding-rsvp-card__form .btn-primary{width:100%}@media (width>=768px){.wedding-rsvp-card__form .btn-primary{width:auto}}.wedding-rsvp-card__actions .btn-primary{width:100%}@media (width>=768px){.wedding-rsvp-card__actions .btn-primary{width:auto}}.wedding-rsvp-dialog{z-index:50;position:relative}.wedding-rsvp-dialog__backdrop{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background-color:#00000073;position:fixed;inset:0}.wedding-rsvp-dialog__viewport{justify-content:center;align-items:flex-end;min-height:100%;padding:0;display:flex;position:fixed;inset:0;overflow-y:auto}@media (width>=640px){.wedding-rsvp-dialog__viewport{align-items:center;padding:1rem}}.wedding-rsvp-dialog__panel{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);width:100%;max-height:calc(100dvh - .75rem);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-width:1px;border-top-left-radius:1.75rem;border-top-right-radius:1.75rem;padding:1.25rem;overflow-y:auto}@media (width>=640px){.wedding-rsvp-dialog__panel{border-radius:1.75rem;max-width:32rem;max-height:calc(100dvh - 2rem);padding:1.5rem}}.wedding-rsvp-dialog__panel{background:var(--wedding-surface-strong);border-color:var(--wedding-border);box-shadow:0 -18px 50px color-mix(in srgb, var(--wedding-ink) 16%, transparent);color:var(--wedding-ink);padding-bottom:max(1.25rem, env(safe-area-inset-bottom))}@media (width>=640px){.wedding-rsvp-dialog__panel{box-shadow:var(--wedding-shadow);padding-bottom:1.5rem}}.wedding-rsvp-dialog__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.wedding-rsvp-dialog__title{margin-top:.5rem;font-size:1.5rem;font-weight:600;line-height:2rem}@media (width>=640px){.wedding-rsvp-dialog__title{font-size:1.875rem;line-height:2.25rem}}.wedding-rsvp-dialog__title{font-family:var(--wedding-font-display);color:var(--wedding-name)}.wedding-rsvp-dialog__close{background:var(--wedding-surface);border-width:1px;border-color:var(--wedding-border);min-height:2.75rem;color:var(--wedding-ink);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;padding-left:1rem;padding-right:1rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.wedding-rsvp-dialog__close:hover{background:color-mix(in srgb, var(--wedding-secondary-soft) 42%, var(--wedding-surface-strong))}.wedding-rsvp-dialog__description{margin-top:1rem;font-size:.875rem;line-height:1.5rem}@media (width>=640px){.wedding-rsvp-dialog__description{font-size:1rem;line-height:1.75rem}}.wedding-rsvp-dialog__description{color:var(--wedding-ink-muted)}.wedding-rsvp-dialog__form{margin-top:1.5rem}.wedding-rsvp-dialog__form>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.wedding-rsvp-dialog__form .btn-primary{width:100%}.wedding-rsvp-option{text-align:left;border-width:1px;border-radius:1rem;width:100%;padding:1rem 1.25rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.wedding-rsvp-option:disabled{cursor:not-allowed;opacity:.6}.wedding-rsvp-option{background:var(--wedding-primary);border-color:color-mix(in srgb, var(--wedding-primary) 40%, var(--wedding-border));color:var(--wedding-on-primary)}.wedding-rsvp-option:hover:not(:disabled){transform:translateY(-1px)}.wedding-rsvp-option--muted{background:var(--wedding-surface-strong);border-color:color-mix(in srgb, var(--wedding-secondary) 32%, var(--wedding-border));color:var(--wedding-ink)}.wedding-file-input{width:100%;font-size:.875rem;line-height:1.25rem;display:block}.wedding-file-input::file-selector-button{border-width:0;border-radius:.5rem;margin-right:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1.25rem}.wedding-file-input{color:var(--wedding-ink-muted)}.wedding-file-input::file-selector-button{background:var(--wedding-primary);color:var(--wedding-on-primary)}.wedding-photo-grid{-moz-columns:1;columns:1;gap:1rem}@media (width>=640px){.wedding-photo-grid{-moz-columns:2;columns:2}}@media (width>=1280px){.wedding-photo-grid{-moz-columns:3;columns:3}}.wedding-photo-card{-moz-column-break-inside:avoid;break-inside:avoid;--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);background:var(--wedding-surface-strong);border-width:1px;border-color:var(--wedding-border);box-shadow:0 14px 34px color-mix(in srgb, var(--wedding-ink) 7%, transparent);border-radius:1.25rem;margin-bottom:1rem;overflow:hidden}.wedding-photo-card img{-o-object-fit:cover;object-fit:cover;width:100%}.wedding-photo-card figcaption{color:var(--wedding-ink-muted);flex-direction:column;gap:.25rem;padding:1rem;font-size:.875rem;line-height:1.25rem;display:flex}.wedding-photo-card figcaption span{color:var(--wedding-ink);font-weight:600}.wedding-photo-card figcaption em{color:var(--wedding-script-color);font-style:normal}.wedding-gallery-empty{text-align:center;min-height:16rem;color:var(--wedding-ink-muted);justify-content:center;align-items:center;display:flex}.wedding-location-card{text-align:center;--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);max-width:48rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-width:1px;border-radius:2rem;margin-left:auto;margin-right:auto;padding:2rem}@media (width>=768px){.wedding-location-card{padding:3rem}}.wedding-location-card{background:var(--wedding-surface);border-color:var(--wedding-border);box-shadow:var(--wedding-shadow)}.wedding-location-card h2{margin-top:1rem;font-size:2.25rem;font-weight:600;line-height:2.5rem}@media (width>=768px){.wedding-location-card h2{font-size:3rem;line-height:1}}.wedding-location-card h2{font-family:var(--wedding-font-display);color:var(--wedding-name)}.wedding-location-card address{color:var(--wedding-ink-muted);margin-top:1.25rem;font-size:1.125rem;font-style:normal;line-height:2rem}.wedding-seating-image{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);max-width:64rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);background:var(--wedding-surface-strong);border-width:1px;border-color:var(--wedding-border);box-shadow:var(--wedding-shadow);border-radius:1.5rem;margin-left:auto;margin-right:auto;overflow:hidden}.wedding-seating-image img{-o-object-fit:contain;object-fit:contain;width:100%}.wedding-seating-canvas{aspect-ratio:10/7;--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);max-width:72rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);background:radial-gradient(circle at center, color-mix(in srgb, var(--wedding-pampas) 54%, transparent), transparent 14rem), radial-gradient(circle at bottom right, color-mix(in srgb, var(--wedding-secondary-soft) 44%, transparent), transparent 18rem), linear-gradient(135deg, var(--wedding-bg-start), var(--wedding-bg-mid));border-width:1px;border-color:var(--wedding-border);box-shadow:var(--wedding-shadow);border-radius:2rem;margin-left:auto;margin-right:auto;position:relative;overflow:hidden}.wedding-seating-canvas:before{--tw-translate-x:-50%;--tw-translate-y:-50%;width:14rem;height:8rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));text-align:center;border-style:dashed;border-width:1px;border-color:color-mix(in srgb, var(--wedding-secondary) 45%, transparent);content:"Dance floor";color:var(--wedding-secondary);letter-spacing:.22em;text-transform:uppercase;border-radius:9999px;place-items:center;font-size:.75rem;font-weight:700;display:grid;position:absolute;top:50%;left:50%}.wedding-seating-empty{text-align:center;color:var(--wedding-ink-muted);place-items:center;font-size:.875rem;font-weight:500;line-height:1.25rem;display:grid;position:absolute;inset:0}.wedding-seating-table{z-index:10;text-align:center;--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);background:var(--wedding-surface-strong);border-width:1px;border-color:color-mix(in srgb, var(--wedding-accent) 45%, var(--wedding-border));box-shadow:0 12px 28px color-mix(in srgb, var(--wedding-secondary) 12%, transparent);transform-origin:50%;border-radius:1rem;padding:.5rem;position:absolute}.wedding-seating-table--round{border-radius:9999px}.wedding-seating-table__inner{border-radius:inherit;border-width:1px;border-color:color-mix(in srgb, var(--wedding-secondary) 24%, var(--wedding-border));flex-direction:column;justify-content:center;align-items:center;height:100%;padding:.5rem;display:flex;overflow:hidden}.wedding-seating-table h2{font-size:.875rem;font-weight:700;line-height:1.25rem;font-family:var(--wedding-font-display);color:var(--wedding-name)}.wedding-seating-table p{text-transform:uppercase;letter-spacing:.18em;color:var(--wedding-script-color);font-size:.65rem}.wedding-seating-table ul{max-height:5rem;margin-top:.25rem}.wedding-seating-table ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.wedding-seating-table ul{color:var(--wedding-ink-muted);font-size:.65rem;line-height:1.25;overflow:hidden}.wedding-seating-builder{aspect-ratio:10/7;border-width:1px;border-color:var(--admin-border);background-color:var(--admin-surface);touch-action:none;border-radius:1rem;min-height:26rem;padding:1rem;position:relative;overflow:hidden}.wedding-seating-builder__label{--tw-translate-x:-50%;--tw-translate-y:-50%;width:12rem;height:7rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-style:dashed;border-width:1px;border-color:var(--admin-border);text-transform:uppercase;letter-spacing:.25em;color:var(--admin-text-muted);border-radius:9999px;place-items:center;font-size:.75rem;font-weight:700;line-height:1rem;display:grid;position:absolute;top:50%;left:50%}.wedding-seating-builder__table{z-index:10;cursor:grab;touch-action:none;border-width:1px;border-color:var(--admin-border);background-color:var(--admin-surface-raised);text-align:center;color:var(--admin-text);--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;padding:.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex;position:absolute}.wedding-seating-builder__table:hover{border-color:var(--admin-accent)}.wedding-seating-builder__table{transform-origin:50%}.wedding-seating-builder__table:active{cursor:grabbing}.wedding-seating-builder__table--round{border-radius:9999px}.wedding-seating-builder__table--active{border-color:var(--admin-accent);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:color-mix(in srgb, var(--admin-accent) 30%, transparent)}.wedding-seating-builder__table span{font-size:.875rem;font-weight:600;line-height:1.25rem}.wedding-seating-builder__table small{color:var(--admin-text-muted);font-size:.75rem;line-height:1rem}@media print{@page{size:A4;margin:10mm}.no-print{display:none!important}body,html{color:#111!important;background:#fff!important}.app-shell,main{max-width:100%!important;padding:0!important}.resume-page-viewer__toolbar{display:none!important}.resume-page-viewer__stage{background:0 0!important;border:none!important;max-height:none!important;padding:0!important;overflow:visible!important}.resume-page-viewer__scaler{width:auto!important;height:auto!important}.resume-page-viewer__content{width:100%!important;transform:none!important}.resume-template{width:100%!important;max-width:100%!important;min-height:auto!important;box-shadow:none!important}.resume-template-sidebar,.resume-accent-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-bottom-16{bottom:-4rem}.-left-16{left:-4rem}.-left-20{left:-5rem}.-left-\[9999px\]{left:-9999px}.end-0{inset-inline-end:0}.left-0{left:0}.left-2{left:.5rem}.right-0{right:0}.start-0{inset-inline-start:0}.top-0{top:0}.top-2{top:.5rem}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.\!row-span-1{grid-row:span 1/span 1!important}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.mx-auto{margin-left:auto;margin-right:auto}.-me-0\.5{margin-inline-end:-.125rem}.-me-2{margin-inline-end:-.5rem}.-ml-px{margin-left:-1px}.-mt-px{margin-top:-1px}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-12{margin-left:3rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:.75rem}.ms-4{margin-inline-start:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-video{aspect-ratio:16/9}.size-12{width:3rem;height:3rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.h-0{height:0}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-12{max-height:3rem}.max-h-32{max-height:8rem}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-44{min-height:11rem}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-20{width:5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[calc\(100\%\+8rem\)\]{width:calc(100% + 8rem)}.w-\[var\(--admin-sidebar-width\)\]{width:var(--admin-sidebar-width)}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[9rem\]{min-width:9rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[877px\]{max-width:877px}.max-w-\[8rem\]{max-width:8rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-top{transform-origin:top}.translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\!flex-row{flex-direction:row!important}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-y-0\.5{row-gap:.125rem}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-\[var\(--wedding-border\)\]{border-color:var(--wedding-border)}.border-admin-accent{border-color:var(--admin-accent)}.border-admin-border{border-color:var(--admin-border)}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.bg-\[\#FF2D20\]\/10{background-color:#ff2d201a}.bg-\[color-mix\(in_srgb\,var\(--color-primary\)_6\%\,var\(--color-surface\)\)\]{background-color:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.bg-\[var\(--color-primary\)\]{background-color:var(--color-primary)}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.bg-\[var\(--wedding-surface-strong\)\]{background-color:var(--wedding-surface-strong)}.bg-admin-accent{background-color:var(--admin-accent)}.bg-admin-border{background-color:var(--admin-border)}.bg-admin-danger{background-color:var(--admin-danger)}.bg-admin-surface{background-color:var(--admin-surface)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/50{background-color:#00000080}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.from-slate-800{--tw-gradient-from:#1e293b var(--tw-gradient-from-position);--tw-gradient-to:#1e293b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-white{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-slate-900{--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.stroke-\[\#FF2D20\]{stroke:#ff2d20}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pe-4{padding-inline-end:1rem}.ps-3{padding-inline-start:.75rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-start{text-align:start}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Instrument Sans,Figtree,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-sm\/relaxed{font-size:.875rem;line-height:1.625}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-7{line-height:1.75rem}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--wedding-accent\)\]{color:var(--wedding-accent)}.text-admin-accent{color:var(--admin-accent)}.text-admin-accent-strong{color:var(--admin-accent-strong)}.text-admin-danger{color:var(--admin-danger)}.text-admin-faint{color:var(--admin-text-faint)}.text-admin-muted{color:var(--admin-text-muted)}.text-admin-success{color:var(--admin-success)}.text-admin-text{color:var(--admin-text)}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-black\/50{color:#00000080}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--color-primary\)\]{accent-color:var(--color-primary)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0px_14px_34px_0px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0px 14px 34px 0px #00000014;--tw-shadow-colored:0px 14px 34px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity,1))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity,1))}.ring-transparent{--tw-ring-color:transparent}.ring-white\/\[0\.05\]{--tw-ring-color:#ffffff0d}.ring-opacity-5{--tw-ring-opacity:.05}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0px_4px_34px_rgba\(0\,0\,0\,0\.06\)\]{--tw-drop-shadow:drop-shadow(0px 4px 34px #0000000f);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0px_4px_34px_rgba\(0\,0\,0\,0\.25\)\]{--tw-drop-shadow:drop-shadow(0px 4px 34px #00000040);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.selection\:bg-\[\#FF2D20\] ::selection{--tw-bg-opacity:1;background-color:rgb(255 45 32/var(--tw-bg-opacity,1))}.selection\:text-white ::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.selection\:bg-\[\#FF2D20\]::selection{--tw-bg-opacity:1;background-color:rgb(255 45 32/var(--tw-bg-opacity,1))}.selection\:text-white::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.file\:mr-3::file-selector-button{margin-right:.75rem}.file\:rounded-lg::file-selector-button{border-radius:.5rem}.file\:border-0::file-selector-button{border-width:0}.file\:bg-admin-surface-raised::file-selector-button{background-color:var(--admin-surface-raised)}.file\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-admin-text::file-selector-button{color:var(--admin-text)}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-admin-accent:hover{border-color:var(--admin-accent)}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:bg-\[var\(--color-surface\)\]:hover{background-color:var(--color-surface)}.hover\:bg-admin-surface-raised:hover{background-color:var(--admin-surface-raised)}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\:text-\[var\(--color-text\)\]:hover{color:var(--color-text)}.hover\:text-\[var\(--wedding-secondary\)\]:hover{color:var(--wedding-secondary)}.hover\:text-admin-text:hover{color:var(--admin-text)}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-black\/70:hover{color:#000000b3}.hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-black\/20:hover{--tw-ring-color:#0003}.focus\:border-blue-300:focus{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.focus\:border-gray-300:focus{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\:border-indigo-700:focus{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity,1))}.focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.focus\:bg-gray-50:focus{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.focus\:bg-indigo-100:focus{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.focus\:text-gray-500:focus{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.focus\:text-gray-700:focus{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.focus\:text-gray-800:focus{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.focus\:text-indigo-800:focus{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-admin-accent:focus{--tw-ring-color:var(--admin-accent)}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-\[\#FF2D20\]:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(255 45 32/var(--tw-ring-opacity,1))}.active\:bg-gray-100:active{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.active\:bg-gray-900:active{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.active\:bg-red-700:active{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.active\:text-gray-500:active{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.active\:text-gray-700:active{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.active\:text-gray-800:active{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.disabled\:opacity-25:disabled{opacity:.25}.disabled\:opacity-40:disabled{opacity:.4}.group:hover .group-hover\:text-\[var\(--color-primary\)\]{color:var(--color-primary)}.group:hover .group-hover\:text-admin-accent{color:var(--admin-accent)}@media (width>=640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:-my-px{margin-top:-1px;margin-bottom:-1px}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:ms-10{margin-inline-start:2.5rem}.sm\:ms-6{margin-inline-start:1.5rem}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:size-16{width:4rem;height:4rem}.sm\:size-6{width:1.5rem;height:1.5rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:flex-1{flex:1}.sm\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:translate-y-4{--tw-translate-y:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:.5rem}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-8{padding:2rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:pt-5{padding-top:1.25rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (width>=768px){.md\:row-span-3{grid-row:span 3/span 3}.md\:block{display:block}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1fr_1\.2fr\]{grid-template-columns:1fr 1.2fr}.md\:grid-cols-\[1fr_8rem\]{grid-template-columns:1fr 8rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:pl-\[var\(--admin-sidebar-width\)\]{padding-left:var(--admin-sidebar-width)}.md\:pt-7{padding-top:1.75rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media (width>=1024px){.lg\:sticky{position:sticky}.lg\:top-4{top:1rem}.lg\:col-start-2{grid-column-start:2}.lg\:table-cell{display:table-cell}.lg\:h-16{height:4rem}.lg\:max-w-7xl{max-width:80rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[0\.9fr_1\.4fr\]{grid-template-columns:.9fr 1.4fr}.lg\:grid-cols-\[1fr_1\.4fr\]{grid-template-columns:1fr 1.4fr}.lg\:flex-col{flex-direction:column}.lg\:items-end{align-items:flex-end}.lg\:justify-center{justify-content:center}.lg\:gap-8{gap:2rem}.lg\:border-b-0{border-bottom-width:0}.lg\:border-r{border-right-width:1px}.lg\:p-10{padding:2.5rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pb-10{padding-bottom:2.5rem}.lg\:pt-0{padding-top:0}.lg\:text-\[\#FF2D20\]{--tw-text-opacity:1;color:rgb(255 45 32/var(--tw-text-opacity,1))}}@media (width>=1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-\[1\.5fr_0\.9fr\]{grid-template-columns:1.5fr .9fr}}.ltr\:origin-top-left:where([dir=ltr],[dir=ltr] *){transform-origin:0 0}.ltr\:origin-top-right:where([dir=ltr],[dir=ltr] *){transform-origin:100% 0}.rtl\:origin-top-left:where([dir=rtl],[dir=rtl] *){transform-origin:0 0}.rtl\:origin-top-right:where([dir=rtl],[dir=rtl] *){transform-origin:100% 0}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media (prefers-color-scheme:dark){.dark\:block{display:block}.dark\:hidden{display:none}.dark\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.dark\:via-zinc-900{--tw-gradient-to:#18181b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #18181b var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:to-zinc-900{--tw-gradient-to:#18181b var(--tw-gradient-to-position)}.dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-white\/50{color:#ffffff80}.dark\:text-white\/70{color:#ffffffb3}.dark\:ring-zinc-800{--tw-ring-opacity:1;--tw-ring-color:rgb(39 39 42/var(--tw-ring-opacity,1))}.dark\:hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:text-white\/70:hover{color:#ffffffb3}.dark\:hover\:text-white\/80:hover{color:#fffc}.dark\:hover\:ring-zinc-700:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(63 63 70/var(--tw-ring-opacity,1))}.dark\:focus\:border-blue-700:focus{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.dark\:focus\:border-blue-800:focus{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.dark\:focus-visible\:ring-\[\#FF2D20\]:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(255 45 32/var(--tw-ring-opacity,1))}.dark\:focus-visible\:ring-white:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.dark\:active\:bg-gray-700:active{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:active\:text-gray-300:active{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}}@media print{.print\:block{display:block}}.marketing-shell{--marketing-content-max-width:80rem;--marketing-header-height:3.5rem;width:100%;max-width:none;min-height:100dvh;scroll-padding-top:var(--marketing-header-height)}.marketing-shell .site-header--marketing{z-index:50;border-bottom:1px solid color-mix(in srgb, var(--color-border) 35%, transparent);background:color-mix(in srgb, var(--color-bg) 70%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:fixed;top:0;left:0;right:0}.marketing-shell .site-logo{font-family:var(--font-heading);letter-spacing:.08em;font-size:1.125rem;font-weight:800}.marketing-shell .site-nav-link{letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;font-weight:600}.marketing-intro{flex-direction:column;min-height:100dvh;max-height:100dvh;display:flex;overflow:hidden}html.has-project-snap .marketing-intro{scroll-snap-align:start;scroll-snap-stop:always}html.has-project-snap{scroll-snap-type:y mandatory;scroll-padding-top:var(--marketing-header-height)}.marketing-hero{flex:auto;align-items:flex-end;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.marketing-hero__bg{background-color:#0f172a;background-image:linear-gradient(160deg, color-mix(in srgb, var(--color-primary) 35%, #0f172a) 0%, #0f172a 50%, #18181b 100%);background-position:50%;background-size:cover;position:absolute;inset:0}.marketing-hero__overlay{background:linear-gradient(#00000059 0%,#0000008c 55%,#000000d9 100%);position:absolute;inset:0}.marketing-hero__content{z-index:2;width:100%;max-width:var(--marketing-content-max-width);margin:0 auto;padding:7rem 1.25rem 4rem;position:relative}.marketing-hero__eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#ffffffbf;font-size:.75rem;font-weight:600}.marketing-hero__title{font-family:var(--font-heading);color:#fff;text-wrap:balance;margin-top:.75rem;font-size:clamp(2.25rem,8vw,4.75rem);font-weight:700;line-height:1.05}.marketing-hero__accent{color:var(--color-accent);display:block}[data-theme=light] .marketing-hero__accent{color:color-mix(in srgb, var(--color-accent) 85%, #b45309)}.marketing-hero__bio{color:#ffffffe0;max-width:36rem;margin-top:1.25rem;font-size:clamp(1rem,2.5vw,1.125rem);line-height:1.65}.marketing-hero__cta{letter-spacing:.16em;text-transform:uppercase;color:#111;background:#fffffff2;border-radius:9999px;align-items:center;gap:.5rem;margin-top:2rem;padding:.85rem 1.5rem;font-size:.7rem;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.marketing-hero__cta:hover{background:#fff;transform:translateY(-1px)}@media (height<=640px){.marketing-hero__content{padding-top:5.5rem;padding-bottom:2rem}.marketing-hero__bio{margin-top:.75rem}.marketing-hero__cta{margin-top:1.25rem}}.brand-bar{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.brand-bar__inner{max-width:var(--marketing-content-max-width);flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem 2rem;min-height:4.5rem;margin:0 auto;padding:1.25rem 1rem;display:flex}.brand-bar__logo{opacity:.85;justify-content:center;align-items:center;transition:opacity .2s;display:flex}.brand-bar__logo:hover{opacity:1}.brand-bar__logo img{-o-object-fit:contain;object-fit:contain;width:auto;max-width:8rem;height:auto;max-height:2rem;display:block}.brand-bar__quote{text-align:center;opacity:1;max-width:48rem;margin:0;transition:opacity .4s}.brand-bar__quote--hidden{opacity:0}.brand-bar__quote p{color:var(--color-text-muted);margin:0;font-size:clamp(.85rem,2.5vw,1rem);font-style:italic;line-height:1.5}.marketing-page{max-width:var(--marketing-content-max-width);margin:0 auto;padding:4.25rem 1.25rem 4rem;position:relative}.marketing-page__header{text-align:center;margin-bottom:2.5rem}.marketing-page__eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:1.25rem;font-size:.7rem;font-weight:700}.marketing-page__title{font-family:var(--font-heading);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700}.marketing-page__description{max-width:36rem;color:var(--color-text-muted);margin:1rem auto 0;font-size:1rem;line-height:1.6}.marketing-page__content{position:relative}.project-showcase{--project-showcase-image-aspect-ratio:4 / 3;max-width:var(--marketing-content-max-width);margin:0 auto;padding:3rem 1.25rem 4rem;position:relative}@media (width>=1024px){.project-showcase{padding-inline:1.75rem}}.project-showcase--contained{padding-bottom:2rem}.project-showcase--mobile-snap{--project-showcase-mobile-chrome-height:4.25rem;padding-top:1.5rem;padding-bottom:2rem}.project-showcase__header{text-align:center;margin-bottom:2rem}.project-showcase__header--mobile-only{display:block}@media (width>=768px){.project-showcase__header--mobile-only{display:none}}.project-showcase__header h2{font-family:var(--font-heading);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700}.project-showcase__eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:1.25rem;font-size:.7rem;font-weight:700}.project-showcase__chrome{z-index:10;pointer-events:none;position:absolute;inset:0}.project-showcase__chrome-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted);border:none;margin:0;padding:0;font-size:.7rem;font-weight:700;position:absolute;top:1.25rem;left:1rem}.project-showcase__filters--chrome{pointer-events:auto;justify-content:flex-end;margin-top:0;display:none;position:absolute;top:1.25rem;right:1rem}@media (width<=767px){.project-showcase__filters--chrome{display:block}.project-showcase--mobile-filter-header{position:relative}.project-showcase--mobile-filter-header .project-showcase__header{padding-top:.25rem;position:relative}.project-showcase--mobile-filter-header .project-showcase__filters{margin-top:0;position:absolute;top:0;right:0}}@media (width>=768px){.project-showcase__chrome-eyebrow{top:1.5rem;left:7rem}.project-showcase__filters--chrome{display:flex;top:1.5rem;right:1.5rem}}.project-showcase__chrome-cta{pointer-events:auto;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;transition:color .2s;display:inline-flex;position:absolute;bottom:1.25rem;right:1rem}.project-showcase__chrome-cta:hover{color:var(--color-primary)}@media (width>=768px){.project-showcase__chrome-cta{bottom:1.5rem;right:1.5rem}}.project-showcase__rail{height:100%;min-height:0;display:none;position:relative}.project-showcase__rail-line{background:var(--color-border);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.project-showcase__rail-dots{z-index:2;flex-direction:column;justify-content:space-between;align-items:center;height:100%;padding:2.5rem 0;display:flex;position:relative}.project-showcase__rail-dot{border:1px solid var(--color-border);background:var(--color-bg);letter-spacing:0;width:auto;min-width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 .4rem;font-size:.6rem;font-weight:700;transition:border-color .2s,background .2s,color .2s;display:flex}.project-showcase__rail-dot:hover{border-color:var(--color-primary);color:var(--color-text)}.project-showcase__rail-dot.is-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.project-showcase__pin-wrap{width:100%;position:relative}.project-showcase__pin-wrap--contained{overflow-clip-margin:2rem;touch-action:pan-y;height:calc(100dvh - 3.5rem);max-height:calc(100dvh - 3.5rem);position:relative;overflow:clip}.project-showcase__stage{overflow-clip-margin:1.5rem;background:var(--color-bg);height:100dvh;min-height:32rem;position:relative;overflow:clip}.project-showcase__pin-wrap--contained .project-showcase__stage{height:100%;min-height:0;overflow:visible}.project-showcase__pin-wrap--snap .project-showcase__stage{height:auto;min-height:unset;overflow:visible}.project-showcase__stage-desktop{height:100%;min-height:0;display:none;overflow:visible}@media (width>=768px){.project-showcase:not(.project-showcase--contained):not(.project-showcase--mobile-snap) .project-showcase__stage-desktop,.project-showcase--contained:not(.project-showcase--parallax-mobile):not(.project-showcase--parallax-tablet) .project-showcase__stage-desktop{box-sizing:border-box;grid-template-columns:3.5rem minmax(0,.92fr) minmax(0,1.28fr);align-items:center;gap:2rem;height:100%;padding-block:2rem;display:grid}.project-showcase__rail{flex-direction:column;align-self:stretch;height:100%;display:flex}.project-showcase__copy-column{align-self:center;height:auto;max-height:100%}.project-showcase__visual-column{align-self:center;width:100%;padding:1.75rem 3.5rem 5.5rem 4rem}.project-showcase:not(.project-showcase--mobile-snap) .project-showcase__stage-mobile{display:none}}.project-showcase__copy-column{flex-direction:column;justify-content:center;height:100%;min-height:0;display:flex;position:relative}.project-showcase__copy-stack{flex:1;width:100%;min-height:12rem;position:relative}@media (width>=768px){.project-showcase__copy-stack{min-height:min(50vh,420px);padding-top:2.5rem}}.project-showcase__copy-layer{z-index:1;flex-direction:column;justify-content:center;padding-right:.5rem;display:flex;position:absolute;inset:0}.project-showcase--contained .project-showcase__copy-layer,.project-showcase--contained .project-showcase__image-layer{pointer-events:none}.project-showcase--contained .project-showcase__copy-layer.is-active,.project-showcase--contained .project-showcase__copy-layer.is-transitioning,.project-showcase--contained .project-showcase__image-layer.is-active,.project-showcase--contained .project-showcase__image-layer.is-transitioning{pointer-events:auto}@media (width>=768px){.project-showcase:not(.project-showcase--contained) .project-showcase__copy-layer:not(.is-active),.project-showcase:not(.project-showcase--contained) .project-showcase__image-layer:not(.is-active){visibility:hidden;pointer-events:none}}.project-showcase__copy-layer.is-active{z-index:2}.project-showcase__visual-column{perspective:1200px;box-sizing:border-box;width:100%;max-width:100%;min-height:0;margin-inline:auto;padding:1.5rem 2rem 4.5rem;position:relative;overflow:visible}.project-showcase__visual-frame{width:100%;max-width:100%;aspect-ratio:var(--project-showcase-image-aspect-ratio);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);height:auto;max-height:min(54vh,440px);box-shadow:0 20px 48px color-mix(in srgb, var(--color-primary) 14%, transparent);transform-origin:50%;transform-style:preserve-3d;margin-inline:auto;position:relative;overflow:hidden}@media (width>=768px){.project-showcase__visual-frame{transform:rotateY(-6deg)rotateX(3deg)scale(.97)}}.project-showcase__image-layer{z-index:1;position:absolute;inset:0;overflow:hidden}.project-showcase__image-layer.is-active{z-index:2}.project-showcase__image-layer img,.project-showcase__visual-frame--mobile img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.project-showcase__stage-mobile{flex-direction:column;display:flex}.project-showcase__mobile-chrome{top:var(--marketing-header-height);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb, var(--color-bg) 85%, transparent);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:.65rem;padding:.75rem 1rem .85rem;display:flex;position:sticky}.project-showcase__mobile-chrome-row{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.project-showcase__mobile-chrome-title{letter-spacing:.22em;text-transform:uppercase;min-width:0;color:var(--color-text-muted);flex:1;margin:0;font-size:.7rem;font-weight:700}.filter-dropdown{flex-shrink:0;position:relative}.filter-dropdown__trigger{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:9999px;align-items:center;gap:.35rem;padding:.45rem .75rem;font-size:.75rem;font-weight:600;transition:border-color .2s,color .2s;display:inline-flex}.filter-dropdown__trigger:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-dropdown__chevron{width:.9rem;height:.9rem;color:var(--color-text-muted)}.filter-dropdown__menu{z-index:30;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);min-width:9.5rem;box-shadow:0 12px 32px color-mix(in srgb, var(--color-primary) 12%, transparent);margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .35rem);right:0}.filter-dropdown__option{border-radius:calc(var(--radius) - .15rem);color:var(--color-text-muted);padding:.55rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s;display:block}.filter-dropdown__option:hover{background:var(--color-surface);color:var(--color-text)}.filter-dropdown__option.is-active{background:color-mix(in srgb, var(--color-primary) 14%, transparent);color:var(--color-primary);font-weight:700}.filter-dropdown__option--timeline.is-active{background:var(--color-primary);color:#fff}@media (width>=768px){.project-showcase:not(.project-showcase--mobile-snap) .project-showcase__mobile-chrome{display:none}}@media (width<=767px){.project-showcase--parallax-mobile .project-showcase__chrome-eyebrow{display:none}}.project-showcase__mobile-slide{scroll-snap-align:start;scroll-snap-stop:always;min-height:100dvh;padding:5rem 1rem 3rem}html.has-project-snap .project-showcase__mobile-slide{min-height:calc(100dvh - var(--marketing-header-height));padding:calc(var(--project-showcase-mobile-chrome-height,5.5rem) + .75rem) 1rem 3rem}.project-showcase__mobile-slide-inner{padding-inline:.75rem;opacity:.55;flex-direction:column;justify-content:center;gap:2rem;min-height:calc(100dvh - 8rem);padding-bottom:2.5rem;transition:opacity .35s ease-out,transform .35s ease-out;display:flex;transform:translateY(12px)}html.has-project-snap .project-showcase__mobile-slide-inner{min-height:calc(100dvh - var(--marketing-header-height) - var(--project-showcase-mobile-chrome-height,5.5rem) - 4rem)}.project-showcase__mobile-slide.is-visible .project-showcase__mobile-slide-inner,.project-showcase__mobile-slide.is-active .project-showcase__mobile-slide-inner{opacity:1;transform:translateY(0)}.project-showcase__visual-frame--mobile{width:100%;max-width:100%;height:auto;aspect-ratio:var(--project-showcase-image-aspect-ratio);max-height:min(60vw,400px);transition:transform .35s ease-out;transform:none}.project-showcase__mobile-slide.is-visible .project-showcase__visual-frame--mobile,.project-showcase__mobile-slide.is-active .project-showcase__visual-frame--mobile{transform:scale(1)}html.has-project-snap .project-showcase__mobile-slide:not(.is-visible):not(.is-active) .project-showcase__visual-frame--mobile{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.project-showcase__mobile-slide-inner{opacity:1;transition:none;transform:none}.project-showcase__visual-frame--mobile{transition:none;transform:none}}.project-showcase--contained .project-showcase__stage-mobile{display:none}.project-showcase--mobile-snap .project-showcase__stage-desktop{display:none!important}.project-showcase--mobile-snap .project-showcase__stage-mobile{flex-direction:column;display:flex!important}.project-showcase--parallax-mobile.project-showcase--contained .project-showcase__stage-desktop{box-sizing:border-box;grid-template:"rail copy"minmax(0,1fr)"rail visual"/2.25rem minmax(0,1fr);align-items:center;gap:.65rem .75rem;height:100%;min-height:0;padding:.65rem .75rem .75rem;display:grid}.project-showcase--parallax-mobile .project-showcase__rail{flex-direction:column;grid-area:rail;align-self:stretch;height:100%;display:flex}.project-showcase--parallax-mobile .project-showcase__rail-dots{padding:1rem 0}.project-showcase--parallax-mobile .project-showcase__rail-dot{min-width:1.65rem;height:1.65rem;font-size:.55rem}.project-showcase--parallax-mobile .project-showcase__copy-column{grid-area:copy;align-self:center;height:auto;max-height:100%}.project-showcase--parallax-mobile .project-showcase__visual-column{grid-area:visual;align-self:center;width:100%;padding:0 .25rem 3rem}.project-showcase--parallax-mobile .project-showcase__copy-stack{min-height:7rem;padding-top:1.75rem}.project-showcase--parallax-mobile .project-showcase__title{font-size:clamp(1.45rem,6vw,2rem)}.project-showcase--parallax-mobile .project-showcase__visual-frame{max-height:min(34vh,240px)}@media (width>=768px){.project-showcase--parallax-tablet.project-showcase--contained .project-showcase__stage-desktop{box-sizing:border-box;grid-template-columns:2.75rem minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:1.25rem;height:100%;padding-block:1.25rem;display:grid}.project-showcase--parallax-tablet .project-showcase__visual-column{padding:1rem 1.5rem 4.25rem 2rem}.project-showcase--parallax-tablet .project-showcase__visual-frame{max-height:min(46vh,360px)}.project-showcase--mobile-snap .project-showcase__mobile-slide-inner{max-width:var(--marketing-content-max-width);width:100%;margin-inline:auto;padding-inline:1.25rem}.project-showcase--mobile-snap .project-showcase__mobile-slide{padding-inline:1.5rem}.project-showcase--mobile-snap .project-showcase__title{font-size:clamp(2rem,4vw,3rem)}.project-showcase--mobile-snap .project-showcase__visual-frame--mobile{max-height:min(50vh,440px)}}@media (width>=1024px){.project-showcase--mobile-snap .project-showcase__mobile-slide-inner{padding-inline:1.75rem}}.project-showcase__index{letter-spacing:.2em;color:var(--color-text-muted);font-size:.75rem;font-weight:700}.project-showcase__title{font-family:var(--font-heading);margin-top:.5rem;font-size:clamp(2rem,5vw,3.25rem);font-weight:700;line-height:1.05}.project-showcase__tagline{color:var(--color-text-muted);margin-top:.35rem;font-size:.95rem;font-weight:500}.project-showcase__summary{color:var(--color-text-muted);margin-top:1rem;font-size:1rem;line-height:1.65}.project-showcase__link{letter-spacing:.14em;text-transform:uppercase;color:var(--color-text);align-items:center;gap:.35rem;margin-top:1.5rem;font-size:.75rem;font-weight:700;transition:color .2s;display:inline-flex}.project-showcase__link:hover{color:var(--color-primary)}.project-showcase__visual-placeholder{opacity:.2;justify-content:center;align-items:center;height:100%;min-height:12rem;font-size:3rem;font-weight:800;display:flex}.project-showcase__mobile-dots{justify-content:center;gap:.4rem;width:100%;margin-bottom:0;display:flex}@media (width>=768px){.project-showcase__mobile-dots{display:none}}.project-showcase__mobile-dot{background:var(--color-border);border-radius:9999px;width:.4rem;height:.4rem;transition:background .2s,transform .2s}.project-showcase__mobile-dot.is-active{background:var(--color-primary);transform:scale(1.2)}.project-showcase__filters{justify-content:center;margin-top:1.5rem;display:flex}.project-showcase__empty{text-align:center;color:var(--color-text-muted);padding:4rem 1rem}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding:4rem 1.25rem 2rem}.site-footer__grid{max-width:var(--marketing-content-max-width);gap:2.5rem;margin:0 auto;display:grid}@media (width>=768px){.site-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}.site-footer__brand{font-family:var(--font-heading);font-size:1.25rem;font-weight:800}.site-footer__bio{color:var(--color-text-muted);margin-top:.75rem;font-size:.9rem;line-height:1.6}.site-footer__social{gap:.75rem;margin-top:1rem;display:flex}.site-footer__social a{color:var(--color-text-muted);font-size:.8rem;transition:color .2s}.site-footer__social a:hover{color:var(--color-primary)}.site-footer__heading{letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted);font-size:.7rem;font-weight:700}.site-footer__links{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.site-footer__links a{color:var(--color-text);font-size:.9rem;transition:color .2s}.site-footer__links a:hover{color:var(--color-primary)}.site-footer__cta-text{color:var(--color-text-muted);margin-top:1rem;font-size:.9rem}.site-footer__cta-btn{letter-spacing:.14em;text-transform:uppercase;border-radius:9999px;align-items:center;gap:.35rem;margin-top:1.25rem;padding:.85rem 1.5rem;font-size:.7rem;font-weight:700;display:inline-flex}.site-footer__bottom{border-top:1px solid var(--color-border);max-width:var(--marketing-content-max-width);color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;margin-left:auto;margin-right:auto;padding-top:1.5rem;font-size:.8rem;display:flex}.site-footer__back-top{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;transition:color .2s}.site-footer__back-top:hover{color:var(--color-primary)}
