:root{
  --white:#E2DCD3; --pink:#F3C0C9; --pink-2:#E9A9B6; --blue:#A3C6E4; --sage:#879B83; --oak:#D3C3B1;
  --ink:#2A3527; --teal:#879B83; --teal-d:#3F5A3D; --muted:#4F5C4B; --line:#D3C3B1;
  --danger:#b3261e;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,.wm{font-family:"Outfit","DM Sans",sans-serif;font-weight:300;letter-spacing:-.01em;margin:0}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.wm{color:var(--teal);line-height:.9;display:inline-block}
.wm small{display:block;font-size:.2em;letter-spacing:.55em;font-weight:400;margin-top:.5em;padding-left:.2em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:999px;padding:.75rem 1.4rem;background:var(--ink);color:var(--white);cursor:pointer;font-weight:500;text-decoration:none;transition:transform .15s,background .15s}
.btn:hover{background:#1B2419}
.btn:active{transform:scale(.97)}
.btn.soft{background:var(--pink);color:var(--ink)}
.btn.soft:hover{background:var(--pink-2)}
.btn.ghost{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.btn.ghost:hover{background:var(--oak)}
.btn.danger{background:transparent;color:var(--danger);border:1.5px solid var(--danger)}
.btn.sm{padding:.4rem .9rem;font-size:.875rem}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:.4rem 1rem;cursor:pointer;font-size:.95rem}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--white)}
label.f{display:grid;gap:.3rem;font-size:.9rem;color:var(--muted)}
.in{width:100%;padding:.65rem .8rem;border:1.5px solid var(--line);border-radius:10px;background:#fff}
.in:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--blue)}
dialog{border:0;border-radius:20px;padding:0;background:var(--white);color:var(--ink);max-width:min(92vw,880px);width:100%}
dialog::backdrop{background:rgba(42,53,39,.5)}
.ph{background:linear-gradient(150deg,var(--pink),var(--blue));display:grid;place-items:center;color:rgba(42,53,39,.4);font-family:"Outfit",system-ui,sans-serif;font-size:1.6rem;text-align:center;padding:1rem}
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);background:var(--ink);color:var(--white);padding:.7rem 1.2rem;border-radius:999px;z-index:99;font-size:.95rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
