.theme-toggle:where(.astro-x3pjskd3){display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1.5px solid var(--hairline);border-radius:var(--radius-pill);background:transparent;color:var(--ink-muted);cursor:pointer;transition:color var(--dur-micro) var(--ease-ui),border-color var(--dur-micro) var(--ease-ui),background-color var(--dur-micro) var(--ease-ui)}.theme-toggle:where(.astro-x3pjskd3):hover{color:var(--ink);border-color:var(--border-strong);background:var(--surface-tint)}.theme-toggle__icon:where(.astro-x3pjskd3){display:block}.theme-toggle__icon--sun:where(.astro-x3pjskd3){display:none}.theme-toggle__icon--moon:where(.astro-x3pjskd3){display:block}:root[data-theme=dark] .theme-toggle__icon--sun:where(.astro-x3pjskd3){display:block}:root[data-theme=dark] .theme-toggle__icon--moon:where(.astro-x3pjskd3){display:none}html:not(.theme-ready) .theme-toggle:where(.astro-x3pjskd3){display:none}:root{--bg-cream: #f6f1e7;--surface-card: #fbf7ef;--surface-tint: #efe7d8;--ink: #1f1b16;--ink-muted: #6b6253;--accent: #b4542f;--accent-hover: #9c4626;--accent-2: #3c4a3a;--hairline: #e3dac9;--border-strong: #c9bca3;--success: #4e6b4a;--error: #9e3b2e;--focus-ring: var(--accent);--scrollbar-track: transparent;--scrollbar-thumb: color-mix(in srgb, var(--ink-muted) 40%, transparent);--scrollbar-thumb-hover: var(--accent);color-scheme:light;--step--1: clamp(.83rem, .8rem + .15vw, .89rem);--step-0: clamp(1rem, .96rem + .2vw, 1.06rem);--step-1: clamp(1.2rem, 1.1rem + .5vw, 1.42rem);--step-2: clamp(1.5rem, 1.3rem + 1vw, 2rem);--step-3: clamp(1.95rem, 1.6rem + 1.75vw, 2.85rem);--step-4: clamp(2.5rem, 1.9rem + 3vw, 4rem);--step-5: clamp(3.2rem, 2.2rem + 5vw, 6.5rem);--leading-tight: 1.08;--leading-snug: 1.25;--leading-body: 1.6;--tracking-tight: -.02em;--tracking-normal: 0;--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--space-3xl: 9rem;--content-max: 72rem;--prose-max: 40rem;--gutter: clamp(1rem, 4vw, 2.5rem);--radius-sm: .5rem;--radius-md: .875rem;--radius-lg: 1.25rem;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(31, 27, 22, .04), 0 2px 6px rgba(31, 27, 22, .05);--shadow-md: 0 6px 20px rgba(31, 27, 22, .07), 0 1px 3px rgba(31, 27, 22, .05);--bp-sm: 40rem;--bp-md: 48rem;--bp-lg: 64rem;--ease-entrance: cubic-bezier(.22, 1, .36, 1);--ease-ui: cubic-bezier(.4, 0, .2, 1);--dur-micro: .15s;--dur-ui: .2s;--dur-hover: .32s;--dur-reveal: .48s;--dur-hero: .56s;--dur-page: .22s;--reveal-shift: 12px;--stagger: 70ms}:root[data-theme=dark]{--bg-cream: #1a1714;--surface-card: #221e1a;--surface-tint: #2a251f;--ink: #f3eee4;--ink-muted: #b3a893;--accent: #d2724a;--accent-hover: #e08458;--accent-2: #8aa07e;--hairline: #332d26;--border-strong: #4a4036;--success: #8fbf86;--error: #e08a7c;--focus-ring: var(--accent);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background-color:var(--bg-cream)}body{min-height:100svh;font-family:var(--font-body, system-ui, sans-serif);font-size:var(--step-0);line-height:var(--leading-body);color:var(--ink);background-color:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-synthesis:none}img,picture,svg,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display, Georgia, serif);line-height:var(--leading-tight);font-weight:600;color:var(--ink);text-wrap:balance}h1{font-size:var(--step-4);letter-spacing:var(--tracking-tight)}h2{font-size:var(--step-3);letter-spacing:var(--tracking-tight)}h3{font-size:var(--step-2);line-height:var(--leading-snug)}p{text-wrap:pretty}.container{max-width:var(--content-max);margin-inline:auto;padding-inline:var(--gutter)}.prose{max-width:var(--prose-max)}.prose p+p{margin-top:var(--space-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-sm);top:-3rem;z-index:1000;padding:var(--space-2xs) var(--space-md);background:var(--accent);color:var(--surface-card);border-radius:var(--radius-pill);transition:top var(--dur-ui) var(--ease-ui)}.skip-link:focus{top:var(--space-sm)}.section{padding-block:clamp(var(--space-2xl),10vw,var(--space-3xl))}.section--tint{background:var(--surface-tint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);border-radius:var(--radius-pill);padding:var(--space-2xs) var(--space-md);font-family:var(--font-body, system-ui, sans-serif);font-weight:600;font-size:var(--step-0);line-height:1.2;text-transform:capitalize;cursor:pointer;border:1.5px solid transparent;min-height:44px;transition:background-color var(--dur-micro) var(--ease-ui),border-color var(--dur-micro) var(--ease-ui),transform var(--dur-micro) var(--ease-ui),color var(--dur-micro) var(--ease-ui)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--on-accent, #fbf7ef);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--border-strong)}.btn-ghost:hover{background:var(--surface-tint)}.link{color:var(--accent);position:relative;display:inline;background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-position:0 100%;background-size:0% 1.5px;transition:background-size var(--dur-ui) var(--ease-ui)}.link:hover,.link:focus-visible{background-size:100% 1.5px}.card{background:var(--surface-card);border:1.5px solid var(--hairline);border-radius:var(--radius-md);transition:border-color var(--dur-micro) var(--ease-ui),box-shadow var(--dur-micro) var(--ease-ui),transform var(--dur-micro) var(--ease-ui)}.chip{display:inline-flex;align-items:center;gap:var(--space-3xs);border-radius:var(--radius-pill);border:1.5px solid var(--hairline);color:var(--ink-muted);font-size:var(--step--1);font-weight:500;padding:var(--space-3xs) var(--space-xs)}.field{display:flex;flex-direction:column;gap:var(--space-3xs)}.field>label{font-size:var(--step--1);font-weight:500;color:var(--ink)}input,textarea,select{background:var(--surface-card);border:1.5px solid var(--hairline);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-sm);color:var(--ink);width:100%;transition:border-color var(--dur-micro) var(--ease-ui),box-shadow var(--dur-micro) var(--ease-ui)}textarea{resize:vertical;min-height:8rem}input::placeholder,textarea::placeholder{color:var(--ink-muted);opacity:.7}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error)}input[type=file]{padding:var(--space-3xs) var(--space-sm);font-size:var(--step--1);color:var(--ink-muted);cursor:pointer}input[type=file]::file-selector-button{margin-right:var(--space-sm);padding:var(--space-2xs) var(--space-md);border:1.5px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-tint);color:var(--ink);font-family:var(--font-body, system-ui, sans-serif);font-weight:600;font-size:var(--step--1);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-ui),border-color var(--dur-micro) var(--ease-ui),color var(--dur-micro) var(--ease-ui)}input[type=file]::file-selector-button:hover{border-color:var(--accent);color:var(--accent)}.ss-uploader{margin-top:var(--space-3xs)}.ss-uploader .ss-uploader__zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3xs);min-height:7.5rem;padding:var(--space-md);text-align:center;border:2px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-tint);color:var(--ink-muted);transition:border-color var(--dur-micro) var(--ease-ui),background-color var(--dur-micro) var(--ease-ui),color var(--dur-micro) var(--ease-ui)}.ss-uploader .ss-uploader__zone:hover,.ss-uploader .ss-uploader__zone:focus-within,.ss-uploader .ss-uploader__zone.is-dragging{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface-tint))}.ss-uploader .ss-uploader__input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.ss-uploader .ss-uploader__icon{display:inline-flex}.ss-uploader .ss-uploader__prompt{display:flex;flex-direction:column;gap:2px;font-size:var(--step--1)}.ss-uploader .ss-uploader__prompt strong{color:var(--ink);font-weight:600}.ss-uploader .ss-uploader__zone:hover .ss-uploader__prompt strong,.ss-uploader .ss-uploader__zone:focus-within .ss-uploader__prompt strong,.ss-uploader .ss-uploader__zone.is-dragging .ss-uploader__prompt strong{color:inherit}.ss-uploader .ss-uploader__sub{font-size:.72rem}.ss-uploader .ss-uploader__zone .ss-uploader__hint{margin:var(--space-2xs) 0 0;text-align:center;font-size:.72rem;color:inherit;opacity:.85}.ss-uploader .ss-uploader__grid{list-style:none;margin:var(--space-sm) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.ss-uploader .ss-uploader__grid:empty{display:none}.ss-uploader .ss-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:4.75rem;height:4.75rem;padding:0;border:1.5px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-tint);overflow:hidden}.ss-uploader .ss-tile[data-invalid]{border-color:var(--error);box-shadow:0 0 0 1.5px var(--error)}.ss-uploader .ss-tile__img{width:100%;height:100%;object-fit:cover}.ss-uploader .ss-tile__doc{font-size:.7rem;font-weight:700;letter-spacing:.04em;color:var(--accent)}.ss-uploader .ss-tile__cap{max-width:100%;padding:0 4px;font-size:.625rem;line-height:1.2;color:var(--ink-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-uploader .ss-tile__remove{position:absolute;top:3px;right:3px;display:grid;place-items:center;width:1.3rem;height:1.3rem;padding:0;border:0;border-radius:var(--radius-pill);background:color-mix(in srgb,#000 60%,transparent);color:#fff;cursor:pointer;transition:background-color var(--dur-micro) var(--ease-ui)}.ss-uploader .ss-tile__remove:hover{background:var(--error)}.ss-uploader .ss-tile--add{border-style:dashed;border-color:var(--border-strong);background:transparent;color:var(--ink-muted);cursor:pointer;transition:border-color var(--dur-micro) var(--ease-ui),color var(--dur-micro) var(--ease-ui)}.ss-uploader .ss-tile--add:hover{border-color:var(--accent);color:var(--accent)}.ss-uploader .ss-tile__plus{font-size:1.25rem;line-height:1}.ss-uploader .ss-uploader__meta{margin:var(--space-2xs) 0 0;font-size:var(--step--1);color:var(--ink-muted)}.ss-uploader .ss-uploader__meta:empty{display:none}.ss-uploader .ss-uploader__error{margin:var(--space-2xs) 0 0;font-size:var(--step--1);font-weight:500;color:var(--error)}.ss-uploader .ss-uploader__error:empty{display:none}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}:focus-visible:not(input):not(textarea):not(select):not(button){border-radius:2px}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid transparent;border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:transparent}@supports not (selector(::-webkit-scrollbar)){html{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}}.bg-pattern{position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:var(--bg-cream)}.bg-pattern:before{content:"";position:absolute;inset:-120px 0;background-image:linear-gradient(to right,var(--hairline) 1px,transparent 1px),linear-gradient(to bottom,var(--hairline) 1px,transparent 1px);background-size:56px 56px;opacity:.4;-webkit-mask-image:radial-gradient(ellipse at center,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 55%,transparent 100%)}.bg-pattern:after{content:"";position:absolute;inset:-120px 0;background-color:var(--border-strong);opacity:.25;-webkit-mask-image:url(/bg-shapes.svg),radial-gradient(ellipse at center,#000 55%,transparent 100%);mask-image:url(/bg-shapes.svg),radial-gradient(ellipse at center,#000 55%,transparent 100%);-webkit-mask-size:392px 392px,auto;mask-size:392px 392px,auto;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;-webkit-mask-position:0 0,center;mask-position:0 0,center;-webkit-mask-composite:source-in;mask-composite:intersect}@keyframes bg-parallax-drift{to{transform:translateY(-80px)}}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: scroll()){.bg-pattern:before,.bg-pattern:after{animation-name:bg-parallax-drift;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root block)}}}.bg-dots{position:relative}.bg-dots:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,var(--border-strong) 1px,transparent 1.2px);background-size:22px 22px;opacity:.07;-webkit-mask-image:radial-gradient(ellipse at center,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 55%,transparent 100%)}@media(prefers-reduced-motion:no-preference){html.js [data-reveal]{opacity:0;transform:translateY(var(--reveal-shift))}html.js [data-reveal].is-visible{opacity:1;transform:none;transition:opacity var(--dur-reveal) var(--ease-entrance),transform var(--dur-reveal) var(--ease-entrance);transition-delay:calc(var(--i, 0) * var(--stagger))}}@media(prefers-reduced-motion:no-preference){::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-page);animation-timing-function:var(--ease-ui)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.bg-pattern,.bg-dots:before{display:none!important}header,footer,form button,input[type=file]{display:none!important}:root,:root[data-theme=dark]{color:#000;background:#fff}*{position:static!important;box-shadow:none!important}}
