*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #FAF8F4;--white: #FFFFFF;--green-dark: #1E4035;--green-mid: #2D6A4F;--green-light: #E0F2E9;--terra: #E8704A;--terra-dark: #C95A35;--terra-light: #FEE9DF;--amber: #F59E0B;--text: #1C1917;--text-muted: #78716C;--border: #E7E5E4;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 12px 40px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--font-display: "Young Serif", Georgia, serif;--font-body: "Plus Jakarta Sans", -apple-system, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--cream);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2}a{color:inherit;text-decoration:none}button{font-family:var(--font-body)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:all .18s ease;white-space:nowrap;line-height:1}.btn-primary{background:var(--terra);color:#fff}.btn-primary:hover{background:var(--terra-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-green{background:var(--green-dark);color:#fff}.btn-green:hover{background:#162e27;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--terra);border:1.5px solid var(--terra)}.btn-outline:hover{background:var(--terra-light);transform:translateY(-1px)}.btn-ghost{background:#ffffff1f;color:#fff;border:1.5px solid rgba(255,255,255,.35)}.btn-ghost:hover{background:#ffffff38}.btn-ghost-dark{background:transparent;color:var(--text);border:1.5px solid var(--border)}.btn-ghost-dark:hover{background:var(--cream)}.btn-sm{padding:7px 14px;font-size:.8125rem}.btn-lg{padding:14px 28px;font-size:1rem;border-radius:var(--radius-md)}.btn-xl{padding:16px 36px;font-size:1.0625rem;border-radius:var(--radius-md)}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:box-shadow .22s ease,transform .22s ease;overflow:hidden}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:var(--cream);color:var(--text-muted);border:1px solid var(--border)}.tag-green{background:var(--green-light);color:var(--green-dark);border-color:transparent}.tag-terra{background:var(--terra-light);color:var(--terra-dark);border-color:transparent}.status-pending{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;font-size:.75rem;font-weight:600;background:#fef3c7;color:#92400e}.status-confirmed{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;font-size:.75rem;font-weight:600;background:#d1fae5;color:#065f46}.input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;background:#fff;color:var(--text);transition:border-color .15s;outline:none}.input:focus{border-color:var(--terra)}.input::placeholder{color:#a8a29e}.label{display:block;font-size:.8125rem;font-weight:600;color:var(--text);margin-bottom:6px}.container{max-width:1160px;margin:0 auto;padding:0 24px}.section{padding:88px 0}.section-sm{padding:56px 0}.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--green-dark);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.875rem;font-weight:500;min-width:280px;animation:slideInRight .3s ease}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000007a;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .18s ease}.modal{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;animation:scaleIn .2s ease}.marquee-track{animation:marquee 28s linear infinite}.marquee-track:hover{animation-play-state:paused}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes checkDraw{to{stroke-dashoffset:0}}@keyframes circleDraw{to{stroke-dashoffset:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes matchPulse{0%,to{transform:scale(1);box-shadow:0 0 #6ee7b780}50%{transform:scale(1.04);box-shadow:0 0 0 6px #6ee7b700}}@keyframes matchPopIn{0%{opacity:0;transform:scale(.7) translateY(20px)}60%{transform:scale(1.06) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes stampIn{0%{opacity:0;transform:rotate(-20deg) scale(.5)}60%{transform:rotate(4deg) scale(1.1)}to{opacity:1;transform:rotate(-8deg) scale(1)}}@keyframes heartFloat{0%{opacity:0;transform:translateY(0) scale(.5)}50%{opacity:1}to{opacity:0;transform:translateY(-60px) scale(1.2)}}.fade-up{animation:fadeUp .5s ease both}.fade-up-1{animation:fadeUp .5s .1s ease both}.fade-up-2{animation:fadeUp .5s .2s ease both}.fade-up-3{animation:fadeUp .5s .3s ease both}.fade-up-4{animation:fadeUp .5s .4s ease both}@media (max-width: 768px){.hide-mobile{display:none!important}.container{padding:0 16px}.section{padding:56px 0}}
