:root{--paper-light: #fbf3dd;--paper: #f5e7c1;--paper-warm: #f0d4a0;--paper-edge: #e3c997;--ink: #2b2418;--ink-soft: #5c4d2c;--ink-faint: #8d7a51;--gold: #d99a30;--gold-deep: #b67918;--amber: #c97a2a;--magenta: #a83a6a;--magenta-deep: #7c2a4f;--meadow-deep: #2f4220;--meadow: #506b32;--meadow-light: #8aa256}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:EB Garamond,Georgia,serif;font-size:18px;line-height:1.55;color:var(--ink);background:var(--paper);background-image:radial-gradient(120% 80% at 50% 50%,transparent 55%,rgba(60,40,15,.14) 100%),radial-gradient(70% 50% at 50% -5%,rgba(255,220,120,.5),transparent 65%),radial-gradient(80% 60% at 50% 18%,rgba(247,200,120,.38),transparent 70%),radial-gradient(120% 60% at 50% 110%,rgba(80,107,50,.22),transparent 70%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.18  0 0 0 0 0.13  0 0 0 0 0.07  0 0 0 0.07 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.page{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:26px 22px 64px}h1,h2,h3{font-family:Cormorant Garamond,Georgia,serif;color:var(--ink);font-weight:500;margin:0;line-height:1.04}p{margin:0 0 1em}p:last-child{margin-bottom:0}em{font-style:italic}.smallcaps{font-family:Cormorant SC,Cormorant Garamond,serif;font-weight:500;letter-spacing:.28em;text-transform:uppercase}.rule{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-family:Cormorant SC,serif;font-weight:500;font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;margin:30px 0 20px}.rule:before,.rule:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(140,110,55,.5),transparent)}.rule .dot{width:4px;height:4px;border-radius:50%;background:var(--magenta);flex-shrink:0}.hero{position:relative;padding:8px 0 4px;text-align:center}.hero .pretitle{font-family:Cormorant SC,serif;font-weight:500;font-size:11.5px;letter-spacing:.34em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:18px}.hero .name{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500;font-size:clamp(56px,16vw,78px);line-height:.9;color:var(--magenta);margin:0;letter-spacing:-.005em}.hero .name .amp{color:var(--gold);font-weight:400}.hero h1{font-family:Cormorant Garamond,serif;font-weight:500;font-size:clamp(22px,6.6vw,30px);letter-spacing:.26em;text-transform:uppercase;color:var(--ink);margin-top:12px;word-break:keep-all;-webkit-hyphens:none;hyphens:none}.hero .meta{margin-top:14px;font-family:Cormorant SC,serif;font-weight:500;font-size:12px;letter-spacing:.32em;color:var(--ink-soft);text-transform:uppercase}.hero .meta .sep{color:var(--gold);margin:0 8px}.meta-link{color:inherit;text-decoration:underline;text-decoration-color:#8c6e3759;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .15s ease,text-decoration-color .15s ease}.meta-link:hover,.meta-link:focus-visible{color:var(--magenta);text-decoration-color:var(--magenta);outline:none}.info-link{color:inherit;text-decoration:underline;text-decoration-color:#a83a6a59;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .15s ease,text-decoration-color .15s ease}.info-link:hover,.info-link:focus-visible{color:var(--magenta);text-decoration-color:var(--magenta);outline:none}.polaroid{position:relative;width:min(78%,300px);margin:28px auto 6px;padding:11px 11px 42px;background:var(--paper-light);box-shadow:0 1px #fff9 inset,0 14px 28px -14px #3c280f6b,0 4px 8px -4px #3c280f38}.polaroid img{display:block;width:100%;aspect-ratio:510/680;object-fit:cover}.polaroid .caption{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-family:Cormorant SC,serif;font-weight:500;color:var(--ink-soft);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase}.prose{font-size:18px;color:var(--ink);text-wrap:pretty;margin-top:8px}.prose .lede{font-size:20.5px;font-family:Cormorant Garamond,serif;font-style:italic;color:var(--ink-soft);line-height:1.45;margin-bottom:14px}.prose .lede:first-letter{font-style:normal;font-weight:600;font-size:2.6em;float:left;line-height:.9;padding:4px 8px 0 0;color:var(--magenta);font-family:Cormorant Garamond,serif}.prose .signoff{text-align:center;margin-top:20px;font-family:Cormorant Garamond,serif;font-style:italic;font-size:20px;color:var(--magenta-deep)}.schedule{margin:16px 0 8px;display:grid;gap:16px}.sched-item{display:grid;grid-template-columns:76px 1fr;gap:16px;align-items:baseline}.sched-time{font-family:Cormorant SC,serif;font-weight:500;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);text-align:right;padding-top:4px;line-height:1.25}.sched-body strong{font-family:Cormorant Garamond,serif;font-weight:600;font-size:20px;display:block;line-height:1.2;margin-bottom:3px;color:var(--ink)}.sched-body span{color:var(--ink-soft);font-style:italic;font-size:16.5px;line-height:1.45;display:block}.info{background:linear-gradient(180deg,#fbf3ddf2,#f5e7c1f2);border:1px solid rgba(140,110,55,.22);border-radius:2px;padding:22px;margin:8px 0 4px;box-shadow:0 1px #ffffff80 inset,0 0 0 4px var(--paper) inset,0 0 0 5px #8c6e3738 inset,0 8px 20px -12px #3c280f59;text-align:center}.info h3{font-family:Cormorant SC,serif;font-weight:500;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px}.info .frontis-rule{width:28px;height:1px;background:var(--magenta);margin:4px auto 18px;opacity:.7}.info dl{margin:0;display:grid;gap:16px}.info dt{font-family:Cormorant SC,serif;font-weight:500;font-size:11px;letter-spacing:.3em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:3px}.info dd{margin:0;font-family:Cormorant Garamond,serif;font-size:20px;color:var(--ink);line-height:1.25}.info dd em{color:var(--ink-soft);font-size:15.5px;display:block;margin-top:2px}.form-wrap{margin-top:4px}.form-intro{text-align:center;color:var(--ink-soft);font-style:italic;margin-bottom:18px;font-size:17px}.person{background:linear-gradient(180deg,#fbf3ddb3,#f4e4beb3);border:1px solid rgba(140,110,55,.25);border-radius:2px;padding:18px 16px;margin-bottom:14px;position:relative;box-shadow:0 1px #ffffff73 inset}.person-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.person-label{font-family:Cormorant SC,serif;font-weight:500;font-size:11.5px;letter-spacing:.3em;color:var(--ink-faint);text-transform:uppercase}.person-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--magenta);font:inherit;font-family:EB Garamond,serif;font-style:italic;font-size:14.5px;cursor:pointer;padding:2px 4px;text-decoration:underline;text-decoration-color:#a83a6a66;text-underline-offset:3px}.person-remove:hover{color:var(--magenta-deep)}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.field>label,.field-label{display:block;font-family:Cormorant SC,serif;font-weight:500;font-size:11px;letter-spacing:.3em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:6px}.field input[type=text],.field input[type=tel],.field textarea{width:100%;background:#fffae88c;border:none;border-bottom:1px solid rgba(140,110,55,.55);border-radius:0;padding:6px 2px 7px;font:inherit;font-family:EB Garamond,serif;font-size:18px;color:var(--ink);transition:border-color .15s ease,background .15s ease}.field textarea{resize:vertical;min-height:52px;line-height:1.4}.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--magenta);background:#fffceee6}.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint);font-style:italic;opacity:.65}.field-hint{font-family:EB Garamond,serif;font-style:italic;font-size:14px;color:var(--ink-faint);margin-top:6px;line-height:1.35}.field input.error,.field textarea.error{border-bottom-color:var(--magenta)}.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(140,110,55,.45);border-radius:2px;overflow:hidden;background:#fffae866}.seg label{display:flex;align-items:center;justify-content:center;padding:10px 8px;cursor:pointer;font-family:Cormorant Garamond,serif;font-size:17px;color:var(--ink-soft);transition:background .15s ease,color .15s ease;-webkit-user-select:none;user-select:none;position:relative}.seg label+label{border-left:1px solid rgba(140,110,55,.25)}.seg input{position:absolute;opacity:0;pointer-events:none}.seg label:has(input:checked){background:var(--magenta);color:var(--paper-light)}.contact{background:linear-gradient(180deg,#f7e8c88c,#f0dbaa8c);border:1px solid rgba(140,110,55,.25);border-radius:2px;padding:16px;margin-bottom:18px}.add-person{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:transparent;border:1px solid rgba(140,110,55,.4);border-radius:2px;padding:13px 12px;font:inherit;font-family:Cormorant SC,serif;font-weight:500;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--magenta);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;margin-bottom:22px}.add-person:hover{background:#a83a6a0f;border-color:var(--magenta);color:var(--magenta-deep)}.add-person:before{content:"+";font-family:Cormorant Garamond,serif;font-size:18px;font-weight:500;letter-spacing:0;margin-right:10px;color:var(--gold);vertical-align:-2px}.submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:linear-gradient(180deg,var(--gold) 0%,var(--amber) 100%);color:var(--paper-light);border:none;border-radius:2px;padding:16px 18px;font-family:Cormorant SC,serif;font-weight:500;font-size:13px;letter-spacing:.32em;text-transform:uppercase;cursor:pointer;box-shadow:0 1px #ffffff59 inset,0 -2px #784b0f38 inset,0 0 0 1px #784b0f40,0 0 0 4px var(--paper),0 0 0 5px #8c6e3738,0 8px 18px -10px #b4781e99;transition:transform .08s ease,filter .15s ease}.submit:hover{filter:brightness(1.04)}.submit:active{transform:translateY(1px)}.submit[disabled]{opacity:.55;cursor:not-allowed}.submit-error{font-family:Cormorant Garamond,serif;font-style:italic;text-align:center;color:var(--magenta-deep);margin-top:12px;font-size:16px}.colophon{margin-top:40px;text-align:center;font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500;font-size:22px;color:var(--magenta-deep);line-height:1.2}.colophon:before,.colophon:after{content:"";display:inline-block;width:22px;height:1px;background:#a83a6a80;vertical-align:middle;margin:0 14px}.confirm{text-align:center;padding:26px 6px 8px}.confirm h2{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500;font-size:38px;color:var(--magenta-deep);line-height:1.05;margin:6px 0 10px}.confirm .sub{font-family:Cormorant Garamond,serif;font-style:italic;font-size:18px;color:var(--ink-soft);margin-bottom:18px}.confirm .who{font-family:Cormorant SC,serif;font-weight:500;font-size:11px;letter-spacing:.3em;color:var(--ink-faint);text-transform:uppercase;margin:16px 0 8px}.confirm ul{list-style:none;margin:0 0 18px;padding:16px 18px;text-align:left;background:#fbf3ddcc;border:1px solid rgba(140,110,55,.22);border-radius:2px}.confirm li+li{border-top:1px dotted rgba(140,110,55,.4);padding-top:10px;margin-top:10px}.confirm li .nm{font-family:Cormorant Garamond,serif;font-size:20px;color:var(--ink);display:flex;justify-content:space-between;align-items:baseline}.confirm li .nm small{font-family:Cormorant SC,serif;font-weight:500;font-size:10.5px;letter-spacing:.26em;color:var(--magenta);text-transform:uppercase}.confirm li .al{color:var(--ink-soft);font-style:italic;font-size:15px;margin-top:2px}.confirm .contact-note{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--ink-soft);font-size:16px;margin:-6px 0 18px}.ghost-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--magenta);color:var(--magenta);padding:11px 18px;border-radius:2px;font-family:Cormorant SC,serif;font-weight:500;font-size:12px;letter-spacing:.28em;text-transform:uppercase;cursor:pointer}.ghost-btn:hover{background:#a83a6a14;color:var(--magenta-deep);border-color:var(--magenta-deep)}@media(max-width:340px){.page{padding:22px 16px 56px}.sched-item{grid-template-columns:66px 1fr;gap:12px}}
