:root{--bg: #f4ede1;--hero-surface: #bf8f8f;--panel-surface: rgba(235, 210, 206, .9);--card-surface: rgba(246, 233, 227, .82);--surface-strong: #f6ebe5;--ink: #40110d;--muted: #40110d;--line: rgba(64, 17, 13, .18);--line-soft: rgba(64, 17, 13, .1);--brand: #40110d;--brand-deep: #2f0c09;--shadow: 0 20px 60px rgba(76, 51, 30, .12);--radius: 24px}html,body{margin:0;min-height:100%}body{font-family:Playfair Display SC,Georgia,serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(194,91,44,.2),transparent 28%),radial-gradient(circle at right 20%,rgba(143,61,24,.14),transparent 18%),linear-gradient(180deg,#f7f0e6 0%,var(--bg) 100%)}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(31,41,51,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(31,41,51,.025) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}*{box-sizing:border-box}.page-shell{position:relative;z-index:1;width:min(920px,calc(100% - 32px));margin:0 auto;padding:40px 0 64px}.hero,.panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(64,17,13,.12);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{background:var(--hero-surface);padding:28px;margin-bottom:20px}.panel{background:var(--panel-surface)}.eyebrow,.summary-card span{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--muted)}h1,h2{margin:0;font-family:Playfair Display SC,Georgia,serif;font-weight:600;line-height:1.02}h1{margin-top:8px;font-size:clamp(2.2rem,4vw,3.6rem);max-width:14ch}h2{font-size:clamp(1.8rem,3vw,2.5rem)}.hero-text,.section-copy,.inline-note,.feedback,.notice,.guest-meta{font-size:.95rem;line-height:1.7;color:var(--muted)}.hero-text{max-width:48ch;margin:14px 0 0;font-size:.98rem}.section-copy{margin:0 0 20px}.section-copy-tight{margin-bottom:4px}.flow-shell{display:grid;gap:20px}.panel{padding:28px}.panel-heading{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid rgba(64,17,13,.14)}.stack,.guest-list,.summary-grid{display:grid;gap:16px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.summary-grid-single{grid-template-columns:minmax(0,1fr)}label{display:grid;gap:8px;font-size:.95rem;font-weight:600}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--surface-strong);color:var(--ink);font:inherit}input:focus,textarea:focus,select:focus{outline:2px solid rgba(194,91,44,.25);border-color:#c25b2c73}button{font:inherit;cursor:pointer}.primary-button,.ghost-button{border-radius:999px;padding:12px 18px}.primary-button{border:none;background:var(--brand);color:#fff;font-weight:700;box-shadow:0 6px 14px #4c331e1f;transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease}.ghost-button{border:1px solid var(--line);background:transparent;color:var(--ink);font-weight:700}button:disabled{opacity:.55;cursor:not-allowed}.primary-button:hover:not(:disabled){background:var(--brand-deep);box-shadow:0 8px 18px #4c331e24;transform:translateY(-1px)}.ghost-button:hover:not(:disabled){background:#ffffff2e}.summary-card,.guest-card{border-radius:20px;border:1px solid var(--line-soft);background:var(--card-surface);color:var(--ink)}.summary-card{padding:18px;position:relative}.summary-card strong{display:block;margin-top:10px;font-size:1.1rem}.summary-card:after{content:"";display:block;width:56px;height:1px;margin-top:14px;background:#40110d2e}.guest-card{padding:20px;display:grid;gap:14px}.compact-list .guest-card{gap:8px}.guest-card header{display:flex;justify-content:space-between;gap:16px;align-items:start;padding-bottom:12px;border-bottom:1px solid rgba(64,17,13,.12)}.guest-card h3{margin:0;font-size:1.1rem}.notice{margin:0 0 16px;padding:14px 16px;border-radius:16px;background:#c25b2c17;border:1px solid rgba(194,91,44,.16);color:var(--brand-deep)}.guest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.full{grid-column:1 / -1}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.feedback{margin:16px 0 0}@media(max-width:860px){.page-shell{width:min(100% - 20px,920px);padding-top:20px}.hero,.panel{padding:22px}.guest-grid,.actions{grid-template-columns:1fr;flex-direction:column}}
