@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#262820;--muted:#777871;--cream:#f8f7f3;--paper:#fffefb;--line:#e7e4dd;--olive:#526650;--dark:#222b26;--gold:#b49c75;--font-ui:'DM Sans',sans-serif;--font-display:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}body.site-body{font-family:var(--font-ui);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{max-width:1230px;padding:0 28px;margin:0 auto}.narrow{max-width:520px}.site-header{height:86px;border-bottom:1px solid var(--line);background:rgba(248,247,243,.95);position:relative;z-index:20}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:17px;letter-spacing:.23em;font-weight:800}.brand span{font-weight:400;letter-spacing:.12em}.brand i{font-style:normal;font-size:12px;color:var(--gold);margin-left:7px}.nav-links{display:flex;gap:25px;align-items:center;font-size:13px;color:#5c6159}.nav-links a:hover,.nav-link:hover{color:#111}.nav-link{font-size:13px;background:transparent;border:0;padding:0;color:inherit}.inline-form{display:inline}.site-footer{border-top:1px solid var(--line);color:#8b8a84}.foot-inner{display:flex;justify-content:space-between;gap:16px;padding:34px 0;font-size:11px;letter-spacing:.11em}.eyebrow{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:var(--olive);font-weight:700}.hero{overflow:hidden;padding:95px 0 100px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.hero h1{font:400 clamp(49px,5.5vw,88px)/1.14 var(--font-display);letter-spacing:-.045em;margin:23px 0}.hero h1 em,.section h2 em,.page-heading h1 em{font-weight:400;color:var(--olive)}.hero-copy{font-size:17px;line-height:1.9;max-width:530px;color:#676a64}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:32px 0 0}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;border:1px solid var(--dark);background:var(--dark);color:#fff;padding:16px 22px;font:600 13px var(--font-ui);letter-spacing:.01em;border-radius:2px;transition:background .2s,transform .2s;min-height:48px}.btn:hover{background:#425548;transform:translateY(-1px)}.btn-outline{background:transparent;border-color:#bcbcb2;color:var(--ink)}.btn-outline:hover{color:#fff;border-color:var(--dark)}.btn-small{padding:8px 12px;min-height:34px;font-size:12px;gap:8px}.btn.full{display:flex;width:100%}.fine-print{font-size:12px;color:#92928a;line-height:1.6;margin-top:19px}.home-art{height:570px;background:radial-gradient(circle at 50% 48%,#ede7d9,#d4ccba 78%);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.home-art:after{content:'';position:absolute;inset:22px;border:1px solid rgba(255,255,255,.45)}.home-art-shine{position:absolute;left:-30%;top:-30%;width:100%;height:140%;transform:rotate(35deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.27),transparent)}.home-paper{width:58%;height:70%;background:#fffdf6;box-shadow:0 22px 42px #76694f30,0 3px 8px #76694f20;position:relative;z-index:1;border:1px solid #e6decf;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:25px;transform:rotate(-5deg)}.home-paper>span{letter-spacing:.21em;font-size:9px}.home-paper strong{font:400 35px/1.4 var(--font-display);text-align:center}.home-paper strong i{font-weight:400;color:var(--gold)}.home-ornament{position:absolute;bottom:40px;font-size:27px;color:var(--gold)}.home-seal{position:absolute;z-index:3;bottom:67px;right:19%;background:#947959;box-shadow:0 5px 10px #57462c4d;border:4px solid #c6ad86;outline:2px solid #907654;border-radius:50%;height:80px;width:80px;color:#fff9e5;display:flex;align-items:center;justify-content:center;font:20px var(--font-display)}.home-seal span{font-style:italic;font-size:12px;margin:0 4px}.section{padding:100px 0}.section-top{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:36px}.section h2{font:400 clamp(35px,4vw,58px)/1.22 var(--font-display);letter-spacing:-.03em;max-width:720px;margin:0}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.template-image{height:380px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.pearl-tile{background:linear-gradient(135deg,#e5ddcd,#f5f0e6)}.noir-tile{background:radial-gradient(circle,#364452,#17232c)}.botanical-tile{background:linear-gradient(120deg,#b5c3ad,#e0e8d8)}.mini-envelope{width:69%;height:47%;background:#faf6eb;box-shadow:0 12px 18px #847c6938;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);position:relative}.mini-envelope:before{content:'';position:absolute;inset:0;background:#f1eada;clip-path:polygon(0 0,50% 58%,100% 0)}.mini-envelope:after{content:'';position:absolute;inset:0;background:#eee5d3;clip-path:polygon(0 100%,50% 35%,100% 100%)}.mini-envelope div{position:absolute;top:42%;left:46%;z-index:2;border-radius:50%;height:32px;width:32px;background:#b99868;color:white;display:grid;place-items:center}.mini-noir,.mini-botanical{display:flex;flex-direction:column;align-items:center;gap:27px;color:#e6d7b8;text-align:center}.mini-noir>span,.mini-botanical>span{letter-spacing:.24em;font-size:10px}.mini-noir strong{font:400 62px var(--font-display)}.mini-noir strong i{font-size:32px}.mini-botanical{color:#3e5140;background:#f3f4e9;width:72%;height:74%;justify-content:center;border:1px solid #e2e8da}.mini-botanical strong{font:italic 40px/1.1 var(--font-display);max-width:180px}.mini-botanical small{font-size:30px}.template-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0 10px}.template-meta h3{margin:8px 0;font:400 25px var(--font-display)}.template-meta p:not(.eyebrow){color:#777;font-size:13px;margin:0}.link-round{width:44px;height:44px;display:grid;place-items:center;border:1px solid #b6b6aa;border-radius:50%;flex-shrink:0;font-size:22px}.link-round:hover{background:#263129;color:#fff}.section-dark{background:#263129;color:#fff}.section-dark .eyebrow{color:#c6b78d}.three-features{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:36px}.three-features h3{font:400 27px/1.3 var(--font-display)}.three-features p{color:#c6cdc6;font-size:14px;line-height:1.85}.feature-nr{color:#aab6a6;font-size:11px;letter-spacing:.2em}.end-cta{text-align:center}.end-cta h2{margin:16px auto 25px}.page-space{padding-top:55px;padding-bottom:85px;min-height:70vh}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:28px}.page-heading h1{font:400 clamp(34px,4vw,52px)/1.2 var(--font-display);margin:10px 0}.heading-period{color:var(--olive)}.muted{font-size:14px;color:var(--muted);line-height:1.75}.panel{background:var(--paper);padding:28px;border:1px solid var(--line);box-shadow:0 4px 28px #1f23160a}.panel h1{font:400 46px var(--font-display);margin:10px 0}.panel h2{font:400 28px/1.28 var(--font-display);margin:12px 0 17px}.panel h3{font:400 22px/1.32 var(--font-display)}.panel p{line-height:1.65}.installer{padding-top:65px;padding-bottom:60px}.login-panel{padding:38px}.form-stack{display:flex;flex-direction:column;gap:18px;margin-top:25px}.form-stack label,.editor label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:#454d45}.form-stack label small,.editor label small{font-weight:400;color:#899088;font-size:12px;line-height:1.5}.form-stack input,.editor input,.editor select,.editor textarea,.form-stack select,.form-stack textarea,.inline-reset input{width:100%;padding:13px 14px;min-height:45px;border:1px solid #d9ded5;border-radius:2px;background:#fff;color:#293029;font-size:14px;outline:none;transition:border .15s,box-shadow .15s}.form-stack input:focus,.editor input:focus,.editor select:focus,.editor textarea:focus{border-color:var(--olive);box-shadow:0 0 0 3px #52665017}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.notice{padding:14px 18px;background:#ecf5eb;color:#32513c;margin-top:18px;border:1px solid #b7d3b8;font-size:13px}.notice.error{background:#fff0ee;color:#9d4940;border-color:#edc3b8}.notice.warning{background:#fff6e3;color:#796020;border-color:#e8d4a7}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card{background:#fffefa;border:1px solid var(--line);padding:26px;min-height:280px}.event-card-top,.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.event-card h2{font:400 33px/1.3 var(--font-display);margin:30px 0 2px}.event-card h2 i{color:var(--olive)}.status-badge{border-radius:2px;display:inline-block;padding:6px 10px;background:#f0e9db;color:#7c6a3b;font-size:11px;font-weight:700;white-space:nowrap}.status-badge.active,.status-badge.yes{background:#e1efe4;color:#3b6949}.status-badge.closed,.status-badge.no{background:#fbe7e5;color:#965451}.status-badge.later{background:#f1ebd9;color:#8b7235}.event-numbers{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:24px 0}.event-numbers>div{display:flex;flex-direction:column;gap:6px}.event-numbers strong{font:400 28px var(--font-display)}.event-numbers small{font-size:11px;color:var(--muted)}.card-footer a{font-size:12px;font-weight:700;color:var(--olive)}.empty-state{grid-column:1/-1;text-align:center;padding:65px 20px;border:1px dashed #cccabe}.empty-symbol{font-size:48px;color:var(--gold)}.empty-state h3{font:400 29px var(--font-display)}.empty-state p{color:var(--muted)}.editor{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.editor-main{padding:34px}.editor-aside{min-width:0}.sticky-panel{position:sticky;top:25px}.sticky-panel .status-badge{margin:5px 0 15px}.sticky-panel a:not(.btn){font-weight:600;font-size:13px;color:var(--olive)}.sticky-panel .copy-btn{margin-top:11px}.form-section{padding-bottom:30px;margin-bottom:31px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:17px}.form-section:last-child{border-bottom:0}.form-section h2{margin:0 0 3px}.form-section .eyebrow{margin:0}.editor .mono-area{width:100%;min-height:110px;font:13px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;border:1px solid #d9ded5;padding:15px;resize:vertical}.editor-photo{max-height:170px;max-width:100%;object-fit:cover}.admin-settings{background:#faf6eb;margin:0 -14px 24px;padding:24px 14px}.copy-url,.guest-url{overflow-wrap:anywhere;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;background:#f5f5ef;padding:13px;color:#626759}.aside-divider{height:1px;background:var(--line);margin:25px 0}.event-tabs{display:flex;gap:10px;overflow-x:auto;padding:0 0 18px;margin-bottom:14px;border-bottom:1px solid var(--line)}.event-tabs a{padding:11px 17px;color:var(--muted);white-space:nowrap;font-size:13px;border:1px solid transparent}.event-tabs a.active{border-color:#d9ddd4;background:#fff;color:var(--olive);font-weight:700}.admin-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:22px;align-items:start}.client-list,.guest-list{display:flex;flex-direction:column}.client-row,.guest-item{padding:19px 0;border-bottom:1px solid var(--line)}.client-row{display:flex;justify-content:space-between;gap:20px}.client-row strong{font-size:14px}.client-row p,.client-row>span{font-size:12px;color:var(--muted);margin:5px 0}.client-row details{margin-top:10px;font-size:12px}.inline-reset{display:flex;gap:10px;margin-top:10px}.guest-item-title{display:flex;gap:12px;justify-content:space-between}.guest-item-title strong{display:block;font-size:14px}.guest-item-title small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.guest-url{margin:12px 0 10px}.guest-actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center}.text-action{font-size:12px;color:var(--olive);font-weight:700;border:none;background:none;padding:0;cursor:pointer}.text-action.danger{color:#a7524b}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:23px 0}.stat-card{border:1px solid var(--line);background:#fff;padding:18px;min-height:119px}.stat-card strong{display:block;font:400 36px var(--font-display);margin-bottom:9px}.stat-card span{font-size:11px;line-height:1.5;color:var(--muted)}.stats-columns{grid-template-columns:1fr 1fr;margin-bottom:23px}.menu-line{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:13px 0}.menu-line strong{display:block;font-size:13px}.menu-line small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.menu-line>span{font:400 28px var(--font-display)}.table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:730px;text-align:left;font-size:12px}.data-table th{padding:12px 10px;background:#f7f7f1;letter-spacing:.04em}.data-table td{border-bottom:1px solid var(--line);padding:13px 10px;vertical-align:top}.note-cell{max-width:240px;overflow-wrap:anywhere}.privacy-note{font-size:11px}
@media(max-width:960px){.hero-grid{gap:32px}.home-art{height:450px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(3,1fr)}.editor{grid-template-columns:minmax(0,1fr) 260px}.admin-grid{grid-template-columns:1fr 1.2fr}.template-image{height:310px}}
@media(max-width:720px){.container{padding:0 18px}.site-header{height:74px}.brand{font-size:14px;letter-spacing:.14em}.brand span{letter-spacing:.04em}.nav-links{gap:12px;font-size:11px}.nav-links a,.nav-link{font-size:11px}.hero{padding:53px 0}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:52px}.hero-copy{font-size:15px}.home-art{height:400px}.section{padding:65px 0}.section-top{display:block}.section h2{font-size:37px}.template-grid{grid-template-columns:1fr}.template-image{height:350px}.three-features{grid-template-columns:1fr;gap:25px}.page-heading{align-items:flex-start;flex-direction:column}.event-grid{grid-template-columns:1fr}.editor,.admin-grid,.stats-columns{grid-template-columns:1fr}.editor-main{padding:22px}.sticky-panel{position:static}.stats-grid{grid-template-columns:repeat(2,1fr)}.foot-inner{flex-direction:column}.two-col{grid-template-columns:1fr}.login-panel{padding:25px}.page-space{padding-top:35px}.panel{padding:20px}.inline-reset{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
