/* Invites — shared site + dashboard system. Ivory paper, ink, lacquer accent. */
:root{--paper:#FBF7F0;--paper-2:#F3EBDD;--ink:#2A221D;--ink-2:#6A5B50;--muted:#8E8177;--rule:#E4D9C8;--lacquer:#8A1C18;--lacquer-2:#5A100D;--gold:#A98A46;--gold-2:#E9DAB3;--ok:#35655A;--warn:#9A6B12;--bad:#A62B21;
--fd:"Cormorant Garamond","Times New Roman",serif;--fb:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--r:3px;--sh:0 10px 30px -18px rgba(42,34,29,.35);}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:300 16px/1.65 var(--fb);-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}a{color:var(--lacquer)}
h1,h2,h3{font-family:var(--fd);font-weight:500;line-height:1.12;margin:0 0 .5rem;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.5rem,3.6vw,2.1rem)}h3{font-size:1.25rem}
p{margin:0 0 1rem}.muted{color:var(--ink-2)}.small{font-size:.85rem}.center{text-align:center}
.eyebrow{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 .6rem}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.25rem}.narrow{max-width:38rem;padding-top:4rem}
.nav{position:sticky;top:0;z-index:40;background:rgba(251,247,240,.92);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--rule)}
.nav-in{display:flex;align-items:center;gap:1.2rem;min-height:3.6rem}.brand{font-family:var(--fd);font-size:1.35rem;font-weight:600;color:var(--ink);text-decoration:none}
.links{display:flex;gap:1rem;font-size:.9rem}.links a{color:var(--ink-2);text-decoration:none}.links a:hover{color:var(--ink)}
.acct{margin-left:auto;display:flex;align-items:center;gap:.6rem}.lang{font-size:.72rem;letter-spacing:.12em;color:var(--ink-2);text-decoration:none;border:1px solid var(--rule);padding:.25rem .5rem;border-radius:var(--r)}
.btn,.btn-ghost,button.btn{display:inline-block;font:500 .78rem/1 var(--fb);letter-spacing:.12em;text-transform:uppercase;padding:.8rem 1.25rem;border-radius:var(--r);text-decoration:none;cursor:pointer;border:1px solid var(--lacquer);transition:transform .2s,background .2s}
.btn{background:var(--lacquer);color:#fff}.btn:hover{background:var(--lacquer-2);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--lacquer)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}.btn.sm,.btn-ghost.sm{padding:.55rem .9rem;font-size:.7rem}.btn[disabled]{opacity:.5;pointer-events:none}
.inline{display:inline}
main>section,.section{padding:3.5rem 0}.section-tight{padding:2rem 0}
.hero-site{padding:4.5rem 0 3rem;text-align:center}.hero-site h1{max-width:20ch;margin:0 auto .8rem}.hero-site p{max-width:52ch;margin:0 auto 1.5rem;color:var(--ink-2);font-size:1.05rem}
.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
.card{background:#fff;border:1px solid var(--rule);border-radius:var(--r);padding:1.25rem;box-shadow:var(--sh)}
.tcard{background:#fff;border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}.tcard img{aspect-ratio:9/14;object-fit:cover;width:100%}.tcard .body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.5rem}
.tags{display:flex;flex-wrap:wrap;gap:.35rem}.tag{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule);border-radius:2px;padding:.2rem .45rem;color:var(--ink-2)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.2rem}.chip{font-size:.74rem;border:1px solid var(--rule);border-radius:999px;padding:.35rem .8rem;background:#fff;cursor:pointer}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.form{display:grid;gap:1rem}.field{display:grid;gap:.3rem}.field label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.field input,.field select,.field textarea{font:300 1rem var(--fb);padding:.7rem .8rem;border:1px solid var(--rule);border-radius:var(--r);background:#fff;color:var(--ink);width:100%}
.field textarea{min-height:6rem;resize:vertical}.field .hint{font-size:.75rem;color:var(--muted)}.field .count{font-size:.7rem;color:var(--muted);text-align:right}
.row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:40rem){.row{grid-template-columns:1fr}}
.fieldset{border:1px solid var(--rule);border-radius:var(--r);padding:1rem;background:rgba(255,255,255,.55)}.fieldset legend{font-family:var(--fd);font-size:1.15rem;padding:0 .4rem}
.tbl{width:100%;border-collapse:collapse;font-size:.88rem;background:#fff}.tbl th,.tbl td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--rule);vertical-align:top}.tbl th{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.pill{display:inline-block;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .5rem;border-radius:2px;background:var(--paper-2);color:var(--ink-2)}.pill.ok{background:#E5EDE9;color:var(--ok)}.pill.warn{background:#F3EBDA;color:var(--warn)}.pill.bad{background:#F4E5E2;color:var(--bad)}
.banner{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r);padding:.9rem 1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:1rem 0}
.steps{counter-reset:s;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.step{counter-increment:s;padding:1.25rem;border:1px solid var(--rule);background:#fff;border-radius:var(--r)}.step::before{content:counter(s);font-family:var(--fd);font-size:2rem;color:var(--gold);display:block;line-height:1;margin-bottom:.5rem}
.price{font-family:var(--fd);font-size:3rem;line-height:1;color:var(--lacquer)}.compare td:nth-child(n+2){text-align:center}
.faq details{border-bottom:1px solid var(--rule);padding:.8rem 0}.faq summary{cursor:pointer;font-weight:500}
.subnav{display:flex;gap:.3rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.subnav a{font-size:.8rem;text-decoration:none;color:var(--ink-2);padding:.45rem .8rem;border:1px solid var(--rule);border-radius:999px;background:#fff}.subnav a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:var(--r);font-size:.85rem;opacity:0;transition:opacity .3s}.toast.on{opacity:1}
.foot{border-top:1px solid var(--rule);margin-top:3rem;padding:1.5rem 0;font-size:.82rem;color:var(--ink-2)}.foot-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}.foot nav{display:flex;gap:1rem}.foot a{color:var(--ink-2);text-decoration:none}
.qrbox{width:12rem;margin:0 auto;background:#fff;padding:.75rem;border:1px solid var(--rule)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.hero-site .eyebrow{font-size:.66rem;color:var(--gold);letter-spacing:.24em;margin:0 auto .6rem}
