:root{--ink:#2b2526;--wine:#8f5f64;--wine-dark:#71474c;--rose:#dab49d;--paper:#fffdfa;--line:#eadfd8;--muted:#756d6b;--success:#276b45;--danger:#9d3730;--shadow:0 14px 36px rgba(76,49,39,.08)}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Arial,Helvetica,sans-serif}
.site-header{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 6%;border-bottom:1px solid var(--line);background:rgba(255,253,250,.97)}
.brand{font:700 29px Georgia,serif;color:var(--ink);text-decoration:none;letter-spacing:-1px}
.brand span{color:var(--wine)}
.site-nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.site-nav a,.link-button{font:700 14px Arial;color:var(--wine);text-decoration:none;background:none;border:0;padding:0;cursor:pointer}
.inline-form{display:inline}
.button,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--wine);border-radius:8px;background:var(--wine);color:#fff;padding:11px 16px;font:700 14px Arial;text-decoration:none;cursor:pointer}
.button:hover,button:hover{background:var(--wine-dark);border-color:var(--wine-dark)}
.button-secondary{background:#fff;color:var(--wine)}
.button-small{padding:8px 11px;font-size:13px}
.site-footer{display:flex;justify-content:center;gap:9px;padding:24px 6%;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.site-footer a{color:var(--muted)}
main{min-height:calc(100vh - 136px)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;max-width:1240px;margin:auto;padding:80px 6%}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--wine)}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.08}
.hero h1{font-size:clamp(42px,6vw,72px);letter-spacing:-2px;margin:13px 0 18px}
.lead{font-size:18px;color:#5e5655;max-width:620px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-card{padding:26px;background:linear-gradient(145deg,#fff,#f8eee9);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.stationery-preview{min-height:320px;padding:32px;text-align:center;background:#fff;border:1px solid #eee1db}
.stationery-preview .names{margin-top:70px;color:var(--wine);font:48px Georgia,serif}
.stationery-preview .date{margin-top:16px;font-size:12px;font-weight:700;letter-spacing:2px}
.section{max-width:1240px;margin:auto;padding:65px 6%}
.section h2{font-size:38px;max-width:690px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card,.panel,.wedding-card,.stat{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 5px 16px rgba(71,48,39,.03)}
.card{padding:22px}
.card h3{font:25px Georgia,serif;margin:0 0 8px}
.card p{color:var(--muted);margin:0}
.auth-card{max-width:470px;margin:54px auto;padding:29px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}
.auth-card h2{font-size:34px;margin:10px 0}
.field{display:grid;gap:6px;margin:14px 0}
.field input,.field select,.field textarea{width:100%;min-height:42px;padding:10px 11px;border:1px solid #d9cbc4;border-radius:7px;background:#fff;color:var(--ink);font:15px Arial}
.field textarea{min-height:78px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #d5b2a8;border-color:var(--wine)}
.field-help{font-size:12px;color:var(--muted)}
.flash{max-width:1000px;margin:18px auto 0;padding:11px 15px;border-radius:8px}
.flash.success{color:var(--success);background:#e9f6ed}
.flash.error{color:var(--danger);background:#fbeceb}
.app-shell{max-width:1240px;margin:32px auto;padding:0 22px}
.topline{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.topline h2{margin:7px 0;font-size:38px}
.muted{color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}
.stat{padding:17px}
.stat strong{display:block;color:var(--wine);font:32px Georgia,serif}
.wedding-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.wedding-card{padding:21px;border-top:6px solid var(--wine)}
.wedding-card h3{margin:8px 0;font:26px Georgia,serif}
.editor-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:22px;margin-top:24px}
.panel{padding:22px}
.panel h3{font-size:28px;margin:7px 0 15px}
.panel+.panel{margin-top:20px}
.row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.table{width:100%;border-collapse:collapse;font-size:13px}
.table th,.table td{padding:9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table th{color:var(--muted);font-size:11px;letter-spacing:.8px;text-transform:uppercase}
.table form{margin:0}
.document-list{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
.document-link{display:block;padding:15px;border:1px solid var(--line);border-radius:9px;color:var(--ink);text-decoration:none;background:#fff}
.document-link:hover{border-color:var(--wine)}
.document-link strong{display:block;color:var(--wine)}
.print-toolbar{padding:14px;text-align:center;border-bottom:1px solid var(--line);background:#fffdfa}
.print-page{position:relative;width:210mm;min-height:297mm;margin:22px auto;padding:22mm;background:#fff;color:#272222}
.print-page h1{color:var(--primary);font:50px Georgia,serif;line-height:1.08}
.print-page h3{font:25px Georgia,serif;margin:5px 0}
.subtitle{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.center{text-align:center}
.welcome-content{padding-top:75mm}
.timeline-list{max-width:520px;margin:36px auto;padding-left:24px;border-left:2px solid var(--accent)}
.timeline-item{margin-bottom:27px}
.timeline-item time{font-weight:700;color:var(--primary)}
.seat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:30px}
.seat-table{padding:12px;border:1px solid #ddd}
.seat-table h3{color:var(--primary)}
.table-card{height:130mm;display:flex;align-items:center;justify-content:center;margin-bottom:15mm;border:1px solid #ddd;color:var(--primary);font:48px Georgia,serif;text-align:center}
.watermark{display:none}
.free-preview .watermark{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;pointer-events:none;transform:rotate(-32deg);color:rgba(143,95,100,.16);font:700 54px Arial;letter-spacing:4px}
.legal{max-width:850px;margin:52px auto;padding:0 22px}
.legal h1{font:42px Georgia,serif}
.legal h2{font:27px Georgia,serif;margin-top:28px}
@media(max-width:800px){.site-header{padding:12px 5%;align-items:flex-start}.site-nav{justify-content:flex-end;gap:10px}.hero,.editor-grid{grid-template-columns:1fr}.hero{padding:54px 6%}.cards,.wedding-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.document-list{grid-template-columns:1fr}.row{grid-template-columns:1fr}.topline{flex-direction:column}.seat-grid{grid-template-columns:repeat(2,1fr)}}
@media print{.site-header,.site-footer,.print-toolbar{display:none!important}body{background:#fff}.print-page{width:auto;min-height:0;margin:0;padding:12mm;box-shadow:none}.table-card{break-after:page}.free-preview .watermark{display:flex!important}}