:root{--bg:#f3efe7;--paper:#fffdf8;--ink:#20352d;--muted:#738078;--sage:#8b9d89;--deep:#354b42;--sand:#d8c8ae;--line:rgba(32,53,45,.12);--shadow:0 14px 36px rgba(43,62,52,.10);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 8%,#dce3d6 0,transparent 34%),var(--bg);padding:calc(72px + env(safe-area-inset-top)) 0 calc(92px + env(safe-area-inset-bottom))}.topbar{position:fixed;z-index:20;inset:0 0 auto;height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 18px 0;display:flex;align-items:center;justify-content:space-between;background:rgba(243,239,231,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}button{font:inherit}.brand{border:0;background:none;display:flex;gap:10px;align-items:center;color:var(--ink);font-weight:750;letter-spacing:.06em;padding:0}.brand small{display:block;font-size:9px;letter-spacing:.35em;color:var(--sage);margin-top:2px}.brand-mark{width:36px;height:36px;border:1px solid var(--sage);border-radius:50%;display:grid;place-items:center;font-size:22px}.round{width:40px;height:40px;border:1px solid var(--line);background:var(--paper);border-radius:50%;color:var(--ink);font-size:20px}main{max-width:720px;margin:auto;padding:0 16px}.hero{min-height:390px;border-radius:30px;padding:28px 24px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;position:relative;background:linear-gradient(145deg,rgba(37,57,48,.05),rgba(37,57,48,.74)),url("hero.svg") center/cover,var(--deep);color:white;box-shadow:var(--shadow)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,35,28,.75),transparent 70%)}.hero>*{position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;opacity:.8}.hero h1{font:500 clamp(35px,9vw,54px)/.95 Georgia,serif;letter-spacing:-.04em;margin:12px 0}.hero p{margin:0 0 20px;line-height:1.5;max-width:480px;opacity:.9}.btn{border:0;border-radius:15px;padding:14px 18px;background:var(--ink);color:#fff;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.hero .btn{background:#fff;color:var(--ink);align-self:flex-start}.btn.outline{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.wide{width:100%}.section-head{display:flex;align-items:end;justify-content:space-between;margin:28px 2px 14px}.section-head h2{font:500 27px/1.1 Georgia,serif;margin:0}.section-head button{border:0;background:none;color:var(--sage);font-weight:700}.grid{display:grid;gap:12px}.card{background:rgba(255,253,248,.92);border:1px solid rgba(32,53,45,.08);border-radius:22px;padding:18px;box-shadow:0 8px 24px rgba(43,62,52,.06)}.event-card{display:grid;grid-template-columns:66px 1fr;gap:14px}.date{background:#e4e8de;border-radius:18px;height:72px;display:grid;place-content:center;text-align:center}.date b{font:500 28px/1 Georgia,serif}.date small{text-transform:uppercase;font-size:10px;letter-spacing:.12em;margin-top:5px}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--sage);font-weight:800}.card h3{font:500 21px/1.15 Georgia,serif;margin:7px 0}.card p{font-size:14px;line-height:1.5;color:var(--muted);margin:7px 0 14px}.price{font-weight:800;font-size:18px;margin:12px 0}.card-actions{display:flex;gap:9px;margin-top:14px}.card-actions .btn{flex:1;padding:12px}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.feature{padding:14px 10px;text-align:center;background:rgba(255,253,248,.65);border:1px solid var(--line);border-radius:18px}.feature b{font:500 22px/1 Georgia,serif;display:block;margin-bottom:5px}.feature span{font-size:11px;color:var(--muted)}.product{display:grid;grid-template-columns:74px 1fr;gap:14px;align-items:center}.product-art{height:74px;border-radius:18px;background:linear-gradient(145deg,#e5d8be,#b49d76);display:grid;place-items:center;font-size:34px}.product .btn{grid-column:1/-1}.empty,.note{text-align:center;padding:30px 18px;color:var(--muted)}.modal{position:fixed;z-index:50;inset:0;background:rgba(18,31,26,.55);display:flex;align-items:flex-end;backdrop-filter:blur(4px)}.modal[hidden]{display:none}.sheet{width:100%;max-width:720px;margin:0 auto;background:var(--paper);border-radius:28px 28px 0 0;padding:22px 18px calc(24px + env(safe-area-inset-bottom));max-height:90vh;overflow:auto}.sheet-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.sheet h2{font:500 28px/1.1 Georgia,serif;margin:0 0 8px}.close{border:0;background:#eef0e9;width:38px;height:38px;border-radius:50%;font-size:22px;color:var(--ink)}label{display:block;color:var(--muted);font-size:12px;margin:14px 0 5px}input,textarea{width:100%;border:1px solid var(--line);background:#f8f5ef;border-radius:14px;padding:14px;font:inherit;color:var(--ink);outline:none}textarea{min-height:78px;resize:vertical}.success{text-align:center;padding:28px 0}.success .check{width:64px;height:64px;margin:auto;border-radius:50%;background:#e1eadf;display:grid;place-items:center;font-size:30px}.bottom-nav{position:fixed;z-index:30;inset:auto 0 0;height:calc(72px + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,253,248,.94);backdrop-filter:blur(18px);border-top:1px solid var(--line)}.bottom-nav button{border:0;background:none;color:#8b958f;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:3px}.bottom-nav span{font-size:23px;height:29px}.bottom-nav button.active{color:var(--ink);font-weight:750}.toast{position:fixed;z-index:80;left:50%;bottom:100px;transform:translateX(-50%);background:var(--ink);color:#fff;border-radius:14px;padding:11px 16px;white-space:nowrap;box-shadow:var(--shadow)}.loader{min-height:65vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.loader i{width:36px;height:36px;border:3px solid #d9ddd5;border-top-color:var(--deep);border-radius:50%;margin:auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:600px){.grid.two{grid-template-columns:1fr 1fr}.bottom-nav{left:50%;width:720px;transform:translateX(-50%);border-radius:22px 22px 0 0}.hero{min-height:440px}}
