:root{--color-ivory:#f9f0e7;--color-cream:#fffdf9;--color-terracotta:#b7654b;--color-terracotta-dark:#8f4937;--color-terracotta-light:#d4836a;--color-ink:#302720;--color-muted:#81766e;--color-border:#e7dcd1;--color-sage:#a5a58d;--color-surface:#fffdf9;--color-error:#c0392b;--color-success:#4a8c6f;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Inter", system-ui, sans-serif;--font-script:"Dancing Script", cursive;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--container-max:1200px;--container-padding:1.25rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--shadow-sm:0 1px 3px #3027200f;--shadow-md:0 4px 12px #30272014;--shadow-lg:0 8px 32px #3027201a;--transition-fast:.15s ease;--transition-base:.25s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-cream);color:var(--color-ink);-webkit-font-smoothing:antialiased;line-height:1.6}canvas,img,picture,svg,video{max-width:100%;display:block}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--color-ink);font-weight:400;line-height:1.2}h1{font-size:calc(clamp(2rem,5vw,3.5rem))}h2{font-size:calc(clamp(1.5rem,3.5vw,2.5rem))}h3{font-size:calc(clamp(1.2rem,2.5vw,1.75rem))}h4{font-size:calc(clamp(1rem,2vw,1.25rem))}p{color:var(--color-muted);line-height:1.75}a{color:var(--color-terracotta);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-terracotta-dark)}.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-padding);margin-inline:auto}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-base);border:none;padding:.75rem 1.75rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-terracotta);outline-offset:3px}.btn-primary{background-color:var(--color-terracotta);color:var(--color-cream)}.btn-primary:hover{background-color:var(--color-terracotta-dark);color:var(--color-cream)}.btn-secondary{color:var(--color-ink);border:1px solid var(--color-border);background-color:#0000}.btn-secondary:hover{border-color:var(--color-terracotta);color:var(--color-terracotta)}.btn-ghost{color:var(--color-terracotta);background-color:#0000;padding-inline:0}.btn-ghost:hover{color:var(--color-terracotta-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}label{letter-spacing:.03em;font-size:.813rem;font-weight:500}.form-input,label{color:var(--color-ink)}.form-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-cream);width:100%;transition:border-color var(--transition-fast);padding:.75rem 1rem;font-size:1rem}.form-input:focus{border-color:var(--color-terracotta);outline:none}.form-error{color:var(--color-error);font-size:.813rem}.section{padding-block:var(--space-3xl)}.section-sm{padding-block:var(--space-2xl)}.card{background:var(--color-cream);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.badge{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-terracotta{color:var(--color-terracotta-dark);background:#f5e6df}.badge-sage{color:#5a5a42;background:#eaeae2}.badge-green{color:var(--color-success);background:#dff0e8}.badge-muted{background:var(--color-ivory)}.badge-muted,.text-muted{color:var(--color-muted)}.text-serif{font-family:var(--font-serif)}.text-script{font-family:var(--font-script)}.text-terracotta{color:var(--color-terracotta)}.text-center{text-align:center}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.grid-auto{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}
