.guest-main{background:var(--ivory)}.guest-filters{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:clamp(36px,5vw,56px);display:flex}.guest-filters button{border:1px solid var(--stone);min-height:46px;color:var(--ink);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;padding:10px 20px;font-size:12px;font-weight:600;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.guest-filters button small{min-width:24px;height:24px;color:var(--gold-700);background:var(--sand);letter-spacing:0;border-radius:12px;place-items:center;padding:0 6px;font-size:11px;display:grid}.guest-filters button:hover{border-color:var(--gold-500)}.guest-filters button[aria-pressed=true]{color:var(--ivory);background:var(--teal-900);border-color:var(--teal-900)}.guest-filters button[aria-pressed=true] small{color:var(--teal-950);background:var(--gold-300)}.guest-gallery{grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:clamp(10px,1.4vw,18px);display:grid}.guest-gallery button{aspect-ratio:4/3;background:var(--sand);position:relative;overflow:hidden}.guest-gallery button:nth-child(6n+1){aspect-ratio:auto;grid-area:span 2/span 2}.guest-gallery img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.guest-gallery button:hover img{transform:scale(1.05)}.guest-gallery button>span{color:var(--ivory);font:400 20px/1.2 var(--font-display);text-align:left;opacity:0;background:linear-gradient(#0000,#011e21d1);justify-content:space-between;align-items:center;gap:12px;padding:40px 18px 16px;transition:opacity .35s,transform .35s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(8px)}.guest-gallery button>span svg{color:var(--gold-300);flex:none}.guest-gallery button:hover>span,.guest-gallery button:focus-visible>span{opacity:1;transform:none}.guest-lightbox{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ivory);background:#011e21f7;border:0;margin:0;padding:64px clamp(12px,4vw,60px) 20px}.guest-lightbox::backdrop{background:#011e21d9}.guest-lightbox[open]{grid-template-rows:1fr auto;gap:16px;display:grid}.guest-lightbox>img{object-fit:contain;width:100%;height:100%;min-height:0}.guest-lightbox>div{justify-content:center;align-items:center;gap:18px;display:flex}.guest-lightbox>div p{letter-spacing:.08em;text-align:center;margin:0;font-size:13px}.guest-lightbox>div button,.guest-lightbox-close{width:46px;height:46px;color:var(--gold-300);border:1px solid #c9ae5e73;border-radius:50%;place-items:center;display:grid}.guest-lightbox-close{border:0;position:absolute;top:12px;right:12px}.guest-doc-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:clamp(40px,6vw,100px);display:grid}.guest-doc-layout:not(:has(.guest-toc)){grid-template-columns:minmax(0,860px);justify-content:center}.guest-toc{background:var(--sand);border-top:2px solid var(--gold-500);gap:16px;padding:28px 24px;display:grid;position:sticky;top:120px}.guest-toc .kicker{color:var(--gold-600)}.guest-toc ol{counter-reset:toc;gap:2px;margin:0;padding:0;list-style:none;display:grid}.guest-toc li{counter-increment:toc}.guest-toc a{min-height:40px;color:var(--muted);gap:12px;padding:8px 0;font-size:14px;line-height:1.5;transition:color .3s;display:flex}.guest-toc a:before{content:counter(toc, decimal-leading-zero);color:var(--gold-600);letter-spacing:.1em;padding-top:3px;font-size:11px;font-weight:600}.guest-toc a:hover{color:var(--ink)}.guest-document{gap:0;max-width:820px;display:grid}.guest-document>section{border-bottom:1px solid var(--stone);gap:14px;padding:36px 0;scroll-margin-top:120px;display:grid;position:relative}.guest-document>section:first-of-type{padding-top:0}.guest-doc-index{color:var(--gold-600);font:italic 400 34px/1 var(--font-display)}.guest-document h2{font-size:clamp(30px,3vw,42px);line-height:1.1}.guest-document p{color:var(--muted);font-size:16px;line-height:1.85}.guest-document>p{margin-bottom:18px}.guest-document>.line-link{margin-top:36px}@media (max-width:1080px){.guest-gallery{grid-template-columns:1fr 1fr}.guest-doc-layout{grid-template-columns:1fr}.guest-toc{position:static}}@media (max-width:760px){.guest-filters{flex-wrap:nowrap;justify-content:flex-start;padding-bottom:6px;overflow-x:auto}.guest-filters button{flex:none}.guest-gallery{grid-template-columns:1fr}.guest-gallery button:nth-child(6n+1){aspect-ratio:4/3;grid-area:auto}.guest-gallery button>span{opacity:1;font-size:17px;transform:none}}
