*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{min-height:100dvh;line-height:1.6;font-family:var(--ff-body);font-size:var(--fs-base);color:var(--clr-text);background-color:var(--clr-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{text-wrap:balance;overflow-wrap:break-word}p,li,figcaption{text-wrap:pretty;overflow-wrap:break-word}ul[role=list],ol[role=list]{list-style:none}a{color:inherit;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}textarea{resize:vertical}button{cursor:pointer;background:0 0;border:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--clr-sky);outline-offset:3px;border-radius:2px}:focus:not(:focus-visible){outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--clr-bark:#3b2f2f;--clr-bark-light:#5a4a4a;--clr-moss:#4a5d3a;--clr-moss-light:#5e7a4a;--clr-sage:#7a8b6f;--clr-sandstone:#c4a87c;--clr-gum-leaf:#b5c4a8;--clr-cream:#f5f0e8;--clr-cream-warm:#ede6d8;--clr-parchment:#fbf9f5;--clr-sky:#6a9bc1;--clr-sky-light:#8bb5d5;--clr-sky-dark:#4a7a9e;--clr-rust:#a3543a;--clr-rust-light:#c06e52;--clr-rust-dark:#834330;--clr-deep-water:#1e3a4f;--clr-text:var(--clr-bark);--clr-text-muted:#6b5e5e;--clr-text-light:#8a7d7d;--clr-text-inverse:#fafaf7;--clr-bg:var(--clr-cream);--clr-bg-card:var(--clr-cream-warm);--clr-bg-elevated:var(--clr-parchment);--clr-border:#d4c9b8;--clr-border-light:#e6dfd2;--clr-success:var(--clr-moss);--clr-error:#b5403a;--clr-warning:#c4893c;--clr-info:var(--clr-sky);--ff-heading:"Libre Baskerville", "Georgia", serif;--ff-body:"Outfit", "Segoe UI", system-ui, sans-serif;--ff-accent:"Playfair Display SC", "Libre Baskerville", serif;--ff-mono:"JetBrains Mono", "Fira Code", monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.25rem;--fs-xl:1.563rem;--fs-2xl:1.953rem;--fs-3xl:2.441rem;--fs-4xl:3.052rem;--fs-5xl:3.815rem;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.2;--lh-snug:1.35;--lh-normal:1.6;--lh-relaxed:1.8;--ls-tight:-.02em;--ls-normal:0;--ls-wide:.04em;--ls-wider:.08em;--ls-widest:.14em;--space-3xs:.25rem;--space-2xs:.375rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #3b2f2f0f;--shadow-sm:0 1px 3px #3b2f2f14, 0 1px 2px #3b2f2f0f;--shadow-md:0 4px 6px #3b2f2f12, 0 2px 4px #3b2f2f0d;--shadow-lg:0 10px 15px #3b2f2f14, 0 4px 6px #3b2f2f0a;--shadow-xl:0 20px 25px #3b2f2f1a, 0 8px 10px #3b2f2f0a;--shadow-inner:inset 0 2px 4px #3b2f2f0d;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--transition-fast:.15s var(--ease-out);--transition-base:.25s var(--ease-out);--transition-slow:.4s var(--ease-out);--transition-slower:.6s var(--ease-in-out);--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1200px;--container-prose:72ch}h1,.h1{font-family:var(--ff-heading);font-size:var(--fs-4xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--clr-bark)}h2,.h2{font-family:var(--ff-heading);font-size:var(--fs-3xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--clr-bark)}h3,.h3{font-family:var(--ff-heading);font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:var(--lh-snug);color:var(--clr-bark)}h4,.h4{font-family:var(--ff-heading);font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:var(--lh-snug);color:var(--clr-bark)}h5,.h5{font-family:var(--ff-body);font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--clr-bark)}h6,.h6{font-family:var(--ff-body);font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:var(--lh-normal);color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:var(--ls-wide)}.label-accent{font-family:var(--ff-accent);font-size:var(--fs-sm);font-weight:var(--fw-regular);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--clr-text-muted)}.label-section{font-family:var(--ff-accent);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--clr-sandstone)}.text-body{font-family:var(--ff-body);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-normal)}.text-lead{font-family:var(--ff-body);font-size:var(--fs-lg);font-weight:var(--fw-light);line-height:var(--lh-relaxed);color:var(--clr-text-muted)}.text-small{font-family:var(--ff-body);font-size:var(--fs-sm);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--clr-text-muted)}.text-caption{font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--clr-text-light)}.prose{font-family:var(--ff-body);font-size:var(--fs-md);line-height:var(--lh-relaxed);max-width:var(--container-prose)}.prose>*+*{margin-block-start:var(--space-lg)}.prose h1,.prose h2,.prose h3,.prose h4{margin-block-start:var(--space-2xl);margin-block-end:var(--space-sm)}.prose p{text-wrap:pretty}.prose a{color:var(--clr-sky-dark);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--clr-sky-dark) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--clr-sky-dark) 40%, transparent);text-underline-offset:3px;transition:text-decoration-color var(--transition-fast)}.prose a:hover{-webkit-text-decoration-color:var(--clr-sky-dark);text-decoration-color:var(--clr-sky-dark)}.prose blockquote{border-inline-start:3px solid var(--clr-sandstone);color:var(--clr-text-muted);padding-inline-start:var(--space-lg);font-style:italic}.prose ul,.prose ol{padding-inline-start:var(--space-lg)}.prose li+li{margin-block-start:var(--space-xs)}.prose img{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.prose hr{border:none;border-block-start:1px solid var(--clr-border-light);margin-block:var(--space-2xl)}.prose pre{background:var(--clr-bark);color:var(--clr-text-inverse);padding:var(--space-lg);border-radius:var(--radius-md);font-family:var(--ff-mono);font-size:var(--fs-sm);overflow-x:auto}.prose code:not(pre code){background:color-mix(in srgb, var(--clr-sandstone) 20%, transparent);border-radius:var(--radius-sm);font-family:var(--ff-mono);padding:.15em .4em;font-size:.9em}.flourish{align-items:center;gap:var(--space-md);margin-block:var(--space-xl);display:flex}.flourish:before,.flourish:after{content:"";background:linear-gradient(to right, transparent, var(--clr-sandstone), transparent);flex:1;height:1px}.flourish-ornament{color:var(--clr-sandstone);font-size:var(--fs-lg);line-height:1}.container{width:100%;max-width:var(--container-xl);padding-inline:var(--space-lg);margin-inline:auto}.container--sm{max-width:var(--container-sm)}.container--md{max-width:var(--container-md)}.container--lg{max-width:var(--container-lg)}.container--prose{max-width:var(--container-prose)}.section{padding-block:var(--space-3xl)}.section--lg{padding-block:var(--space-4xl)}.section--sm{padding-block:var(--space-2xl)}.grid{gap:var(--space-lg);display:grid}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.flex{display:flex}.flex--col{flex-direction:column}.flex--wrap{flex-wrap:wrap}.flex--center{justify-content:center;align-items:center}.flex--between{justify-content:space-between;align-items:center}.flex--gap-sm{gap:var(--space-sm)}.flex--gap-md{gap:var(--space-md)}.flex--gap-lg{gap:var(--space-lg)}.flex--gap-xl{gap:var(--space-xl)}.stack>*+*{margin-block-start:var(--space-lg)}.stack--sm>*+*{margin-block-start:var(--space-sm)}.stack--xl>*+*{margin-block-start:var(--space-xl)}@media (width<=768px){:root{--fs-4xl:2.2rem;--fs-3xl:1.8rem;--fs-2xl:1.5rem}.container{padding-inline:var(--space-md)}.section{padding-block:var(--space-2xl)}.hide-mobile{display:none!important}}@media (width>=769px){.hide-desktop{display:none!important}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ornament-draw{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes toast-in{0%{opacity:0;transform:translate(100%)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(100%)scale(.9)}}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-content-in{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@keyframes spinner-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:89 200;stroke-dashoffset:-35px}to{stroke-dasharray:89 200;stroke-dashoffset:-124px}}@keyframes progress-fill{0%{width:0%}}.anim-fade-in{animation:fade-in var(--transition-base) both}.anim-fade-in-up{animation:fade-in-up var(--transition-slow) both}.anim-fade-in-down{animation:fade-in-down var(--transition-base) both}.anim-slide-right{animation:slide-in-right var(--transition-slow) both}.anim-slide-left{animation:slide-in-left var(--transition-slow) both}.anim-scale-in{animation:scale-in var(--transition-base) both}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:80ms}.stagger>:nth-child(3){animation-delay:.16s}.stagger>:nth-child(4){animation-delay:.24s}.stagger>:nth-child(5){animation-delay:.32s}.stagger>:nth-child(6){animation-delay:.4s}.stagger>:nth-child(7){animation-delay:.48s}.stagger>:nth-child(8){animation-delay:.56s}.stagger>:nth-child(9){animation-delay:.64s}.stagger>:nth-child(10){animation-delay:.72s}.reveal{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translateY(20px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal--left{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translate(-30px)}.reveal--left.is-visible{opacity:1;transform:translate(0)}.reveal--right{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translate(30px)}.reveal--right.is-visible{opacity:1;transform:translate(0)}.hover-lift{transition:transform var(--transition-base), box-shadow var(--transition-base)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 20px color-mix(in srgb, var(--clr-sandstone) 30%, transparent)}.skeleton{background:linear-gradient(90deg, var(--clr-border-light) 25%, var(--clr-cream) 50%, var(--clr-border-light) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}:root{--btn-padding-x:var(--space-lg);--btn-padding-y:var(--space-sm);--btn-radius:var(--radius-md);--btn-font-size:var(--fs-sm);--btn-font-weight:var(--fw-semibold);--btn-transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);--card-padding:var(--space-lg);--card-radius:var(--radius-lg);--card-bg:var(--clr-bg-card);--card-border:1px solid var(--clr-border-light);--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--shadow-md);--input-padding-x:var(--space-md);--input-padding-y:var(--space-sm);--input-radius:var(--radius-md);--input-border:1px solid var(--clr-border);--input-border-focus:1px solid var(--clr-sky);--input-bg:var(--clr-parchment);--input-shadow-focus:0 0 0 3px color-mix(in srgb, var(--clr-sky) 20%, transparent);--badge-padding-x:var(--space-xs);--badge-padding-y:var(--space-3xs);--badge-radius:var(--radius-full);--badge-font-size:var(--fs-xs);--badge-font-weight:var(--fw-semibold)}.divider-ornate{align-items:center;gap:var(--space-lg);margin-block:var(--space-2xl);color:var(--clr-sandstone);display:flex}.divider-ornate:before,.divider-ornate:after{content:"";background:linear-gradient(to var(--dir,right), transparent, var(--clr-border), var(--clr-sandstone), var(--clr-border), transparent);flex:1;height:1px}.divider-ornate:before{--dir:right}.divider-ornate:after{--dir:left}.divider-ornate svg{fill:currentColor;opacity:.6;width:24px;height:24px}.divider-simple{border:none;border-block-start:1px solid var(--clr-border-light);margin-block:var(--space-xl)}:root{scrollbar-width:thin;scrollbar-color:var(--clr-border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--clr-border);border-radius:var(--radius-full);background-clip:content-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background-color:var(--clr-text-light)}::selection{background:color-mix(in srgb, var(--clr-sandstone) 30%, transparent);color:var(--clr-bark)}
