body{background:radial-gradient(ellipse at 85% 5%,#dbc5b955,transparent 45%),#f8f3ee}main{max-width:1600px}header{background:#3d1423;color:#fff0df;border-bottom:1px solid #b3946655;box-shadow:0 4px 25px #3d142320}.brand,.header-note{color:#f8e9d8}.mark{color:#efc998;border-color:#bd9860}.wedding-hero{margin-top:35px;padding:48px 6%;border:1px solid #e1cbb5;border-radius:26px;background:radial-gradient(ellipse at 15% 15%,#7f3349 0,transparent 65%),linear-gradient(130deg,#511c30,#29101d);box-shadow:0 24px 50px #55243a22,0 2px 0 #b89564,inset 0 1px 0 #d8b99355;gap:8%;overflow:hidden;min-height:620px}.hero-copy .eyebrow{color:#e5bf91;font-size:9px}.hero-copy h1{color:#fff7ef;font-size:clamp(38px,4.6vw,68px);line-height:1.09}.hero-copy h1 em{color:#e1b88f}.hero-message{color:#ddc2c4;font-size:13px;max-width:410px}.ornament{color:#c9a16b;margin:15px 0 23px}.wedding-date{color:#f1d7b7;margin-top:18px}.wedding-date span{border-color:#bd976177}.venue,.venue span{color:#ddc2c4}.primary-link{background:linear-gradient(145deg,#edd2aa,#c5a06c);border-color:#f0d5ac;color:#461c2b;box-shadow:0 6px 0 #8c683f,0 15px 28px #16040d55;font-weight:700}.primary-link:hover{background:#f1d8b6}.hero-signature{color:#cfa5a7}.portrait-frame{transform:perspective(1000px) rotateY(-7deg) rotateZ(2deg);border-radius:170px 170px 12px 12px;border:6px solid #f3e5d0;padding:5px;box-shadow:12px 16px 0 #ad855c,20px 30px 45px #13061077;background:#fff7ed;max-width:365px;justify-self:end}.portrait-frame img{border-radius:155px 155px 0 0}.portrait-frame figcaption{font-size:8px;padding:12px 2px 6px}.intro{border:0;padding-top:42px}.stats{gap:12px}.stats span{min-width:104px;padding:16px 20px;background:linear-gradient(145deg,#fff,#f4e7dd);border:1px solid #e5d0c0;border-radius:14px;box-shadow:0 5px 0 #e6d6ca,0 10px 20px #65312c08}.workspace{grid-template-columns:minmax(0,1fr) 355px;gap:28px}.plan-card{border-radius:22px;border:1px solid #dfc9b7;box-shadow:0 8px 0 #e4d3c4,0 23px 45px #63392e12;background:#fffcf8}.panel-head{flex-wrap:wrap;gap:20px;padding:26px 25px 0}.view-controls{display:flex;gap:4px;background:#eee4da;padding:4px;border-radius:9px;align-items:center}.view-button{border:0;background:transparent;padding:9px 11px;border-radius:6px;font-size:10px;color:#8b6c68}.view-button.active{color:#fff4e4;background:linear-gradient(#8d3f54,#642035);box-shadow:0 3px 6px #4e15252b}.quiet{font-size:10px;padding:9px;border:0;background:transparent}.map-scroll{perspective:1600px;padding:45px 30px 70px;background:radial-gradient(ellipse at center,#f6eee6 0,#e8d8c8 95%);overflow:hidden;position:relative}.map{transform-origin:50% 50%;transition:transform .6s ease,box-shadow .6s;border:6px solid #f7efdf;box-shadow:0 2px 0 #c3a47e,0 8px 0 #b49a7a,0 14px 0 #a78a6c,0 24px 35px #623d3040;background:#fff;isolation:isolate}.dimensional .map{transform:rotateX(19deg) rotateZ(-3deg) scale(.94);box-shadow:2px 4px 0 #d4b995,4px 10px 0 #b49a7a,6px 17px 0 #9a7b5c,12px 37px 35px #53263850}.map img{opacity:.8;filter:sepia(.24)}.hotspot,.hotspot.corrected{border-radius:50%;width:12%;height:8.4%;border:2px solid #a67b5f;background:radial-gradient(ellipse at 35% 25%,#fffdf8,#f4dcc3 73%,#b98d64);color:#641f35;box-shadow:0 4px 0 #bfa07a,0 8px 0 #9b795a,3px 13px 10px #4a1f293e,inset 0 0 0 5px #fffaf0;gap:4px;font-family:Georgia,serif;font-size:clamp(9px,1vw,13px);transition:box-shadow .2s,background .2s}.hotspot small{font-family:'DM Sans',Arial,sans-serif;font-size:.66em}.hotspot::after{content:'';position:absolute;inset:-11%;border:4px dotted #a67965aa;border-radius:inherit;pointer-events:none}.hotspot.vip{width:14%;height:5%;border-radius:6px;background:linear-gradient(135deg,#fff2c4,#d6ae69);border-color:#b48b50;box-shadow:0 5px 0 #9b713f,3px 10px 12px #4a1f293e,inset 0 0 0 3px #f4d69b}.hotspot[data-table="Table 12"]{border-radius:5px;width:12%;height:6.8%}.hotspot:hover,.hotspot.active,.hotspot:focus-visible,.hotspot.corrected:hover,.hotspot.corrected.active,.hotspot.corrected:focus-visible{background:radial-gradient(ellipse at 30% 20%,#a8556d,#621c33);border-color:#e4bc88;color:#fff6e5;box-shadow:0 5px 0 #481025,0 10px 0 #310a19,0 15px 15px #4a1f2955,inset 0 0 0 3px #c79877}.hotspot.dim{opacity:.3}.room-label{position:absolute;z-index:1;pointer-events:none;font-size:9px;letter-spacing:1.5px;color:#7d4d50;text-align:center;background:#fff9f0d9;padding:5px 9px;border:1px solid #dac6b0;border-radius:4px}.stage-label{top:9%;left:57%}.entrance-label{bottom:5.5%;left:61%}.buffet-label{top:25%;left:8%;writing-mode:vertical-rl;font-size:8px}.search-card,.directory{border-radius:18px;background:linear-gradient(140deg,#fffdfa,#fbf2e9);box-shadow:0 5px 0 #e8d7c8,0 14px 25px #7a3d3310}.search-card{border-top:4px solid #7a2941}.detail-card{border-radius:18px;box-shadow:0 5px 0 #d9bcbc,0 15px 26px #5b213315;background:linear-gradient(130deg,#f3dede,#fff6ed)}.detail-top h2{font-size:32px}.count{background:#fff7e8}.guest-list li{padding:12px 0}.guest-list li.match{border-radius:4px}.table-chip{box-shadow:0 3px 0 #debdab;padding:12px 3px}.table-chip.active{box-shadow:0 3px 0 #3e0f20}.legend{border-top:1px solid #eadbce;background:#fffbf7}footer{margin-top:48px}#tooltip{border:1px solid #d1a675;box-shadow:0 7px 0 #351020,0 16px 40px #38102544}@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 290px}.wedding-hero{padding:35px 5%;gap:5%;min-height:0}.hero-copy h1{font-size:43px}.portrait-frame{max-width:310px}.stats span{padding:12px;min-width:85px}.map-scroll{padding:30px 20px 50px}}@media(max-width:680px){.wedding-hero{padding:30px 22px;margin-top:20px;border-radius:20px}.portrait-frame{width:240px;transform:perspective(1000px) rotateY(-5deg) rotateZ(2deg);margin-bottom:12px}.hero-copy h1{font-size:40px}.hero-copy .eyebrow{font-size:8px}.hero-message{font-size:12px}.wedding-date,.venue,.hero-signature,.ornament{display:none}.primary-link{margin:14px 0 10px}.workspace{display:flex}.stats span{flex-direction:column;gap:2px;align-items:flex-start;min-width:100px}.intro h2{font-size:30px}.map-scroll{overflow:auto;padding:25px 20px 45px}.map{min-width:430px}.dimensional .map{transform:rotateX(12deg) rotateZ(-1deg) scale(.96)}.panel-head{padding:22px 18px 0}.view-controls{width:100%;justify-content:center}.hotspot,.hotspot.corrected{font-size:10px}.room-label{font-size:7px}.detail-card{min-height:0}}@media(prefers-reduced-motion:reduce){.map{transition:none}.portrait-frame{transform:none}}
body:has(#guest-dialog[open]){overflow:hidden}#guest-dialog{padding:0;width:calc(100% - 28px);max-width:440px;max-height:85vh;max-height:85dvh;overflow:auto;border:1px solid #d5ae85;border-radius:20px;color:#462831;background:#fff7ef;box-shadow:0 12px 0 #3d142333,0 24px 70px #18061088;overscroll-behavior:contain}#guest-dialog::backdrop{background:#29101d99;backdrop-filter:blur(5px)}.guest-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:3;background:#591c2d;color:#edd0ac;padding:15px 18px}.guest-dialog-bar>span{font-size:9px;letter-spacing:1.5px}.guest-dialog-bar button{border:1px solid #c8a17b;background:#fff7ef;color:#632033;border-radius:7px;padding:9px 12px;font-size:12px;min-height:40px}.guest-dialog-bar button:focus-visible{outline:3px solid #e1b88f;outline-offset:3px}#guest-dialog .detail-card{border:0;border-radius:0;box-shadow:none;padding:24px;min-height:0}.guest-dialog-foot{text-align:center;font-size:11px;color:#9a7378;margin:0;padding:15px 15px 20px}.guest-dialog-sheet{min-width:0}
.hero-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.entourage-link{font-size:11px;color:#edcbac;text-underline-offset:5px;padding:14px 0;margin-top:23px}.entourage{margin-top:42px;padding:38px;background:linear-gradient(140deg,#fffdf8,#f6e9e2);border:1px solid #e1c9b5;border-radius:24px;box-shadow:0 7px 0 #e7d5c7,0 20px 35px #63392e0a;scroll-margin-top:25px}.entourage-heading{text-align:center}.entourage-heading h2{font-size:38px;color:#632033;margin:12px 0}.entourage-heading>p:not(.eyebrow){font-size:13px;color:#99777b;line-height:1.7}.entourage-flourish{display:block;color:#b38c56;letter-spacing:4px;margin:23px 0}.couple-names{display:flex;justify-content:center;align-items:center;gap:30px;padding:23px;border:1px solid #e1c9b5;border-radius:14px;background:#fffaf2;text-align:center}.couple-names div>span{font-size:9px;letter-spacing:2px;color:#aa805a}.couple-names h3{font:24px Georgia,serif;color:#74273d;margin:10px 0 0}.couple-amp{font:italic 38px Georgia,serif;color:#bd9865}.entourage-hint{text-align:center;color:#a07b7c;font-size:11px;margin:22px 0 16px}.entourage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.entourage-group{background:#fffdfa;border:1px solid #e6d3c5;border-radius:12px;overflow:hidden;box-shadow:0 3px 0 #e6d5c8}.entourage-group summary{list-style:none;cursor:pointer;padding:19px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#762439;font:19px Georgia,serif}.entourage-group summary::-webkit-details-marker{display:none}.entourage-group summary:focus-visible{outline:3px solid #b38c56;outline-offset:-4px}.entourage-expand{font:22px Georgia;color:#b38c56}.entourage-group[open] .entourage-expand{transform:rotate(45deg)}.entourage-group[open] summary{border-bottom:1px solid #efdfd2;background:#fbf1e9}.entourage-group ul{list-style:none;padding:5px 20px 14px;margin:0}.entourage-group li{font-size:13px;color:#6e4a51;line-height:1.8;padding:12px 0;border-bottom:1px solid #f0e5db;overflow-wrap:anywhere}.entourage-group li:last-child{border:0}.entourage-role{display:block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#aa805a;margin-bottom:4px}@media(max-width:680px){.hero-links{justify-content:center;gap:12px}.entourage-link{margin:0;padding:10px;font-size:11px}.entourage{padding:26px 16px;margin-top:28px;border-radius:18px}.entourage-heading h2{font-size:30px}.entourage-grid{grid-template-columns:1fr;gap:11px}.couple-names{flex-direction:column;gap:13px;padding:22px 12px}.couple-names h3{font-size:22px}.couple-amp{font-size:27px}.entourage-group summary{font-size:18px;padding:18px 16px}.entourage-group li{font-size:12px}.entourage-group ul{padding-left:16px;padding-right:16px}}

.entourage-role{text-transform:none;letter-spacing:.7px}.brand{letter-spacing:1px}.eyebrow{letter-spacing:1.4px}.couple-names div>span{letter-spacing:1px}.room-label{letter-spacing:.7px}
.entourage{background:radial-gradient(ellipse at top,#fffaf2,#f0ddd5);border-color:#d0aa84}.entourage-heading h2{color:#591b30}.entourage-group{border-color:#cfa889;background:#fffaf3;box-shadow:0 3px 0 #c6a184,0 8px 16px #5923370a}.entourage-group summary{background:linear-gradient(130deg,#76283f,#4c162b);color:#fff0db;border-bottom:1px solid transparent}.entourage-group summary:hover{background:linear-gradient(130deg,#8d3a52,#602039)}.entourage-expand{color:#efc58d;background:#ffffff10;border:1px solid #e7bd8155;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.entourage-group[open] summary{background:linear-gradient(130deg,#efcf9f,#d6ad77);color:#4a182b;border-bottom-color:#bf945d}.entourage-group[open] .entourage-expand{color:#64223a;background:#fff9eb66;border-color:#9f724a66}.entourage-group ul{background:linear-gradient(130deg,#fffdf8,#f9eee4)}.entourage-group li{color:#55323e;border-bottom-color:#e8d3c0}.entourage-role{color:#8b4c3d;font-weight:600}.entourage-group summary:focus-visible{outline-color:#f2cf98}.couple-names{background:linear-gradient(130deg,#fff8ec,#f5e5d2);border-color:#d4b18b}
