@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#344c40;--muted:#7c8277;--paper:#faf9f5;--sage:#e8ecdf;--gold:#ad8e51;--line:#e0e2d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:clamp(54px,5.8vw,88px);letter-spacing:-3px}h2{font-size:48px;letter-spacing:-1px}h3{font-size:28px}.header{height:106px;border-bottom:1px solid var(--line);padding:0 6%;display:flex;align-items:center;justify-content:space-between}.monogram{font:30px Georgia;letter-spacing:-2px;display:flex;align-items:center;gap:24px}.monogram span{font:9px 'DM Sans',sans-serif;letter-spacing:2.4px;border-left:1px solid #ccd1c5;padding:8px 0 8px 24px}.header nav{display:flex;gap:36px;font-size:12px}.header nav a{padding:12px 0;position:relative;color:var(--muted)}.header nav .active{color:var(--ink)}.header nav .active:after{content:'';position:absolute;bottom:2px;left:35%;width:30%;height:2px;background:var(--gold)}.header-cta{font-size:12px;border-bottom:1px solid var(--ink);padding:8px 0}.header-cta span{margin-left:25px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;gap:7%;padding:65px 7% 75px;align-items:center;min-height:660px}.eyebrow{font-size:9px;letter-spacing:2.2px;font-weight:600;line-height:1.6}.hero-copy>.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow>span{height:1px;width:30px;background:var(--gold)}.script-line{font:italic 25px 'Cormorant Garamond',Georgia;color:var(--gold);margin:32px 0 12px}.hero-description{font-size:14px;line-height:1.9;color:var(--muted);margin:24px 0}.date-line{font-size:10px;letter-spacing:1px;margin:28px 0 32px;display:flex;align-items:center;gap:16px}.date-line span{color:var(--gold)}.button{background:var(--ink);color:white;border:1px solid var(--ink);padding:15px 24px;display:inline-flex;gap:30px;justify-content:space-between;align-items:center;font-size:12px;transition:background .2s,transform .2s}.button:hover{background:#4c6554;transform:translateY(-1px)}.button:disabled{opacity:.6;cursor:wait}.text-link{font-size:11px;border-bottom:1px solid #a9b2a1;padding-bottom:4px}.hero-copy>.text-link{margin-left:27px}.hero-art{height:510px;background:#e9ecdf;padding:30px 40px 22px;position:relative;border-radius:220px 220px 5px 5px}.art-caption{text-align:center;font-size:8px;letter-spacing:2px;margin:5px 0 20px}.arch{height:375px;overflow:hidden;border-radius:190px 190px 2px 2px;border:1px solid #b7b99e;padding:8px}.arch img{width:100%;height:100%;object-fit:cover;border-radius:180px 180px 0 0}.art-bottom{font:italic 23px 'Cormorant Garamond',Georgia;display:flex;justify-content:space-between;margin:14px 5px}.art-bottom span{font-size:26px}.date-seal{position:absolute;right:-25px;bottom:55px;background:#f5f0e4;border:1px solid #b4a77e;border-radius:50%;width:94px;height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;letter-spacing:2px;transform:rotate(9deg);box-shadow:0 0 0 6px var(--paper)}.date-seal span{font:36px Georgia;letter-spacing:0;line-height:1.2}.invitation-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-evenly;align-items:center;padding:24px 5%;font-size:9px;letter-spacing:2px}.invitation-strip i{color:var(--gold);font-style:normal}.day-section{max-width:1440px;margin:auto;padding:80px 7%}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.section-heading h2{margin-top:12px}.section-heading>p{font-size:12px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.detail-grid article{border-top:1px solid #cdd3c5;padding-top:22px}.detail-icon{font-size:33px;color:var(--gold);display:block;margin-bottom:12px}.detail-grid h3{margin:14px 0}.detail-grid article>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:15px}.swatches{display:flex;gap:8px}.swatches i{width:22px;height:22px;border-radius:50%;background:#94ad86}.swatches i:nth-child(2){background:#e5c1c0}.swatches i:nth-child(3){background:#c88f9b}.swatches i:nth-child(4){background:#dfc7a8}.seat-banner{margin:0 7% 75px;padding:42px 48px;background:#e8ecdf;display:flex;justify-content:space-between;align-items:center;gap:30px}.seat-banner h2{margin:12px 0;font-size:42px}.seat-banner p:not(.eyebrow){font-size:12px;color:var(--muted)}.light{background:transparent;color:var(--ink)}.light:hover{color:white}footer{border-top:1px solid var(--line);padding:35px 6%;display:flex;align-items:center;justify-content:space-between}footer p{font-size:8px;letter-spacing:2px;color:var(--muted)}footer>a:last-child{font-size:10px;color:var(--muted)}.footer-monogram{font:27px Georgia}.seating-heading{text-align:center;padding:44px 20px 36px}.seating-heading h1{font-size:54px;letter-spacing:-1.5px;margin:10px 0 14px}.seating-heading>p:last-child{color:var(--muted);font-size:12px}.seating-shell{display:grid;grid-template-columns:290px minmax(0,1fr);gap:28px;max-width:1450px;margin:0 auto 65px;padding:0 5%}.seat-sidebar{padding:26px 22px;background:#f0f1e9;border:1px solid var(--line);align-self:start}.seat-sidebar>.eyebrow{font-size:8px;letter-spacing:1.6px}.seat-sidebar h2{font-size:36px;margin:18px 0 12px}.seat-sidebar>p:not(.eyebrow){font-size:11px;color:var(--muted)}label{display:block;font-size:11px;margin:22px 0 7px;font-weight:500}input,select{width:100%;border:1px solid #cdd3c5;padding:12px;background:#fffefa;color:var(--ink);border-radius:0}input::placeholder{color:#9b9d91;font-size:11px}#lookup-form .button{width:100%;margin-top:13px}#lookup-status{margin-top:14px;color:#8b4f46;font-size:12px}.sidebar-note{border-top:1px solid var(--line);padding:22px 0;display:flex;gap:12px;margin-top:24px}.sidebar-note>span{font-size:26px;color:var(--gold)}.sidebar-note p{font-size:10px;color:var(--muted)}.legend{border-top:1px solid var(--line);padding-top:20px}.legend>span{display:flex;align-items:center;gap:10px;font-size:10px;margin-top:12px}.dot{width:11px;height:11px;border:1px solid #92a28b;background:#e0e8da;border-radius:50%;display:inline-block}.dot.gold{background:#b39351;border-color:#b39351}.dot.vip{border-color:#a99578;background:#eee2d0}.demo-note{margin-top:26px;font-size:10px!important}.demo-note button{display:block;background:none;border:0;padding:3px 0;color:var(--ink);font-size:11px;text-decoration:underline}#guest-result{background:#fffdf6;padding:18px;margin-top:20px;border:1px solid #c4ad77}#guest-result .guest-name{font:27px 'Cormorant Garamond',Georgia}#guest-result .seat-ticket{font-size:17px;margin:10px 0;color:#967532}#guest-result p:last-child{font-size:11px}.plan-card{border:1px solid var(--line);background:#fffefa;min-width:0;align-self:start}.plan-toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);gap:16px}.plan-toolbar h3{font-size:24px}.plan-toolbar p{font-size:10px;color:var(--muted);margin-top:4px}.outline-button{background:transparent;border:1px solid #cfd4c8;padding:8px 12px;font-size:10px;color:var(--ink);white-space:nowrap}.plan-scroll{max-height:660px;overflow:auto;scroll-behavior:smooth;background:#f8f9f3}#floor-plan{display:block;width:100%;min-width:600px}.map-small{text-anchor:middle;font:10px 'DM Sans',sans-serif;letter-spacing:2px;fill:#88907e}.dance-label{text-anchor:middle;font:italic 29px 'Cormorant Garamond',Georgia;fill:#89917e}.table-shape{fill:#e8eddf;stroke:#aab69e;stroke-width:1.5;transition:fill .2s}.table-group{cursor:pointer}.table-group:hover .table-shape,.table-group.selected .table-shape{fill:#d4dec8;stroke:#687f5f;stroke-width:2}.table-group.vip .table-shape,.table-group.sweetheart .table-shape{fill:#f0e7d7;stroke:#bba77f}.table-group.highlight .table-shape{fill:#efe4c7;stroke:#af8b43;stroke-width:3}.table-name{text-anchor:middle;font:25px 'Cormorant Garamond',Georgia;fill:#4c6349;pointer-events:none}.table-subtitle{text-anchor:middle;font:8px 'DM Sans',sans-serif;fill:#7f8c75;letter-spacing:1px;pointer-events:none}.chair{fill:#f5f7ef;stroke:#adb8a1;stroke-width:1.5}.chair-number{text-anchor:middle;dominant-baseline:central;font:8px 'DM Sans',sans-serif;fill:#8b9481;pointer-events:none}.chair.your-seat{fill:#b49350;stroke:#8c6d35;stroke-width:3}.your-number{fill:white}.plan-caption{display:flex;justify-content:space-between;padding:13px 22px;border-top:1px solid var(--line);font-size:9px;color:var(--muted);gap:12px}.table-detail{background:#f1f3eb;padding:16px 22px;font-size:12px;min-height:52px}.admin{max-width:1100px;margin:55px auto;padding:0 25px}.admin h1{font-size:54px}.admin h2{font-size:30px;margin:24px 0 12px}.admin p{margin:12px 0;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 280px;gap:35px;margin-top:30px}.admin-form{display:grid;grid-template-columns:2fr 2fr 1fr;gap:15px;align-items:end}.admin-form label{margin-top:0}.admin-form .button{grid-column:1/-1;justify-content:center}.notice{background:#e8ecdf;padding:12px 16px;margin:15px 0}.errors{background:#f5e5df;color:#874d3e;padding:14px 24px;margin:15px 0}.admin-table-scroll{overflow-x:auto}.admin table{border-collapse:collapse;width:100%;font-size:12px;margin:18px 0}.admin th,.admin td{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px}.admin th{font-size:10px;letter-spacing:1px}.delete{border:0;background:none;color:#9b6355;text-decoration:underline}.qr-card{border:1px solid var(--line);padding:20px;background:white}.qr-card img{width:100%;display:block}.qr-card p{font-size:11px;overflow-wrap:anywhere}.login-card{max-width:420px;margin:50px auto}.login-card .button{margin-top:20px;width:100%}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(min-width:1500px){.hero-art{height:560px}.arch{height:425px}}@media(max-width:950px){.header{padding:0 5%;height:85px}.monogram span{display:none}.hero{padding:45px 6%;gap:5%;min-height:580px}.hero-art{height:430px;padding:25px}.arch{height:310px}.date-line{flex-wrap:wrap;font-size:9px;gap:10px}.hero-copy>.text-link{display:block;margin:20px 0 0;width:max-content}.seating-shell{grid-template-columns:250px minmax(0,1fr);padding:0 3%;gap:15px}.seat-sidebar{padding:23px 17px}.plan-toolbar{padding:16px}.plan-caption{padding:12px;font-size:8px}.seat-banner{padding:30px}.seat-banner h2{font-size:34px}.admin-grid{grid-template-columns:1fr 230px}}@media(max-width:650px){.header{height:77px}.monogram{font-size:26px}.header nav{gap:20px;font-size:11px}.header-cta{display:none}.hero{display:flex;flex-direction:column;padding:36px 7% 45px;gap:35px}.hero-copy{text-align:center;width:100%}.hero-copy>.eyebrow{justify-content:center;font-size:8px}.script-line{margin-top:24px;font-size:23px}h1{font-size:62px}.hero-description{font-size:13px;margin:18px 0}.date-line{justify-content:center;margin:22px 0}.hero-copy>.text-link{display:inline;margin-left:18px}.hero-art{width:85%;max-width:360px;height:420px}.arch{height:300px}.date-seal{width:78px;height:78px;right:-18px;font-size:8px}.date-seal span{font-size:29px}.invitation-strip{padding:18px 5%;flex-wrap:wrap;gap:14px 18px;font-size:7px;letter-spacing:1px}.invitation-strip i:last-of-type{display:none}.day-section{padding:45px 7%}.section-heading{margin-bottom:28px}.section-heading>p{display:none}.section-heading h2{font-size:38px}.detail-grid{grid-template-columns:1fr;gap:28px}.detail-icon{float:right;margin:0}.detail-grid h3{font-size:29px}.seat-banner{margin:0 7% 40px;padding:28px;flex-direction:column;align-items:start}.seat-banner h2{font-size:36px}.seat-banner .button{font-size:11px;padding:13px 16px}footer{flex-wrap:wrap;gap:15px;padding:25px 7%}footer p{font-size:6px;letter-spacing:1px}.seating-heading{padding:30px 20px}.seating-heading h1{font-size:42px}.seating-shell{display:flex;flex-direction:column;padding:0 5%;margin-bottom:35px}.seat-sidebar{width:100%;padding:24px}.seat-sidebar h2{font-size:34px;margin:10px 0}.seat-sidebar>p:not(.eyebrow){font-size:12px}.sidebar-note,.legend{display:none}#lookup-form label{margin-top:17px}.demo-note{margin-top:15px}.plan-card{width:100%}.plan-scroll{max-height:600px}.plan-toolbar h3{font-size:23px}.plan-toolbar p{font-size:8px}.plan-caption{flex-direction:column;gap:4px}.admin{margin:30px auto}.admin h1{font-size:42px}.admin-grid{display:flex;flex-direction:column}.admin-form{grid-template-columns:1fr 1fr}.admin-form>div:first-child{grid-column:1/-1}.qr-card{max-width:300px}.admin table{font-size:11px}}

/* A personal place card, connected to the guest's exact chair. */
.seat-name-marker{pointer-events:none}.name-leader{stroke:#af8b43;stroke-width:2;fill:none;stroke-dasharray:4 3}.seat-halo{stroke:#b49350;stroke-width:2;fill:none}.name-card-background{fill:#fffdf7;stroke:#b49350;stroke-width:1.5;filter:drop-shadow(0 4px 5px #344c4018)}.name-card-eyebrow{text-anchor:middle;fill:#a18040;font:7px 'DM Sans',sans-serif;letter-spacing:1.5px}.name-card-name{text-anchor:middle;fill:#344c40;font:19px 'Cormorant Garamond',Georgia,serif}.name-card-seat{text-anchor:middle;fill:#7d826f;font:7px 'DM Sans',sans-serif;letter-spacing:.7px}.seat-portrait{max-width:1150px;margin:0 auto 65px;padding:45px 55px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px;border:1px solid #c8c5aa;background:radial-gradient(ellipse at 80% 15%,#e7ecdf,transparent 65%),#f2f1e7;position:relative}.seat-portrait:before{content:'L & A';position:absolute;right:25px;top:17px;font:italic 20px 'Cormorant Garamond',Georgia;color:#a78b50}.portrait-copy h2{margin:20px 0;font-size:52px}.portrait-copy>p:not(.eyebrow){max-width:310px;font-size:14px}.portrait-copy .portrait-note{color:#7c8277;font-size:12px!important;margin:16px 0 24px}.portrait-diagram{border-radius:180px 180px 12px 12px;background:#faf9f2cc;border:1px solid #d9ddcc;padding:16px}.portrait-diagram svg{display:block;width:100%;overflow:visible}#guest-result>.text-link{display:inline-block;margin-top:14px;font-size:10px}.closeup-name-card .name-card-background{fill:#fffdf8}.seat-portrait{scroll-margin:25px}@media(max-width:650px){.seat-portrait{margin:0 5% 35px;padding:28px 24px;grid-template-columns:1fr;gap:24px}.portrait-copy h2{font-size:38px;margin:15px 0}.portrait-copy h2 br{display:none}.portrait-copy>p:not(.eyebrow){font-size:12px}.portrait-copy .portrait-note{margin:12px 0}.portrait-diagram{padding:10px}.portrait-copy>.text-link{font-size:10px}}

/* The overview fits the phone; zooming stays inside the map. */
#floor-plan{min-width:0;max-width:none;height:auto;aspect-ratio:1000/960;flex:none}.plan-scroll{width:100%;max-height:660px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:auto}.plan-card{scroll-margin-top:16px}.plan-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--line);background:#f6f7f0}.zoom-buttons{display:flex;align-items:center;gap:5px}.plan-controls button{min-width:38px;min-height:38px;border:1px solid #cdd3c5;background:#fffefa;color:var(--ink);font-size:12px;padding:7px 11px}.plan-controls button:disabled{opacity:.4;cursor:default}.plan-controls button:not(:disabled):hover{background:#e8ecdf}.plan-controls #zoom-in,.plan-controls #zoom-out{font-size:21px;line-height:1}.plan-controls output{font-size:10px;min-width:43px;text-align:center;font-variant-numeric:tabular-nums}.seating-heading p{overflow-wrap:anywhere}.portrait-copy p{overflow-wrap:anywhere}@media(max-width:650px){.seating-shell{padding:0 4%;gap:20px}.plan-toolbar{align-items:center;padding:16px 14px;gap:8px}.plan-toolbar h3{font-size:26px}.plan-toolbar p{font-size:10px;max-width:200px;line-height:1.6}.outline-button{min-height:44px;padding:8px 10px}.plan-controls{padding:10px;gap:6px}.plan-controls button{min-height:44px;min-width:40px;padding:7px 10px}.plan-scroll{max-height:65svh;max-height:65vh}.plan-caption{font-size:10px;line-height:1.6;padding:12px 14px}.table-detail{font-size:12px;line-height:1.7;padding:14px}.seat-portrait{padding:25px 18px;margin-left:4%;margin-right:4%;scroll-margin-top:16px}.portrait-copy h2{font-size:36px}.portrait-diagram{padding:0}.portrait-diagram svg{width:100%;height:auto}.seat-sidebar{padding:22px 20px}.seating-heading h1{font-size:clamp(32px,9vw,42px)}.seating-heading>p:last-child{max-width:320px;margin:auto}.seating-heading .eyebrow{font-size:8px;letter-spacing:1.5px}}@media(max-width:360px){.plan-controls button{padding:6px 8px}.plan-controls output{min-width:36px}.plan-toolbar p{max-width:160px}.plan-toolbar h3{font-size:24px}}

.guest-match{display:block;width:100%;text-align:left;padding:13px 14px;margin:8px 0;border:1px solid #c5cdbb;background:#fffdf6;color:var(--ink);font-size:13px;min-height:46px;overflow-wrap:anywhere}.guest-match:hover{background:#e5ebdd}#guest-matches>p{font-size:11px;color:var(--muted);margin:12px 0}

.seat-navigation{padding:18px 22px 22px;background:#f1f3eb;border-top:1px solid var(--line)}.seat-navigation p{font-size:12px;color:#727d69;max-width:480px;margin-bottom:14px}.seat-navigation .button{min-height:46px;gap:16px}#portrait-heading:focus{outline:none}#reception-plan{scroll-margin-top:16px}@media(max-width:650px){.seat-navigation{padding:16px 14px}.seat-navigation .button{width:100%;justify-content:center}.seat-navigation p{font-size:12px}}
