:root{--paper:#fff;--ink:#111;--gold:#9b7623;--gold-dark:#87620abd;color:var(--ink);background:var(--paper);font-family:Tinos,Georgia,serif}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;margin:0}body{-webkit-font-smoothing:antialiased}p,h1,h2,h3,blockquote{margin:0}img{max-width:100%;display:block}.invitation{background:var(--paper);width:100%;max-width:767px;margin:auto;overflow:hidden}.section{width:100%;min-height:100svh}.cover{text-align:center;flex-direction:column;align-items:center;min-height:100svh;padding:0 24px 55px;display:flex}.portrait-wrap{flex:auto;justify-content:center;align-items:flex-start;width:calc(100% + 48px);min-height:52svh;display:flex;overflow:hidden}.portrait{object-fit:contain;object-position:center top;width:100%;max-height:62svh}.monogram{width:72px;margin:18px 0 42px}.cover blockquote{color:var(--gold);letter-spacing:.14em;font-size:.76rem;line-height:1.65}.verse{letter-spacing:.34em;margin-top:24px;font-size:.72rem}.details{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:72px 30px 56px;display:flex}.script-title{color:#87620abd;font-size:1.35rem;font-style:italic}.parents{text-align:left;grid-template-columns:1fr 1fr;gap:20px;width:100%;max-width:520px;margin:42px 0 38px;font-size:.82rem;font-style:italic;display:grid}.parents div:last-child{text-align:right}.parents p+p{margin-top:5px}.wordmark{width:min(100%,390px);margin:10px 0 20px}.invitation-line{color:var(--gold-dark);font-size:1.14rem;font-style:italic}.date-line{color:var(--gold-dark);margin-top:46px;font-size:1.18rem;font-style:italic}.details h1{color:var(--gold);margin-top:48px;font-family:Allura,cursive;font-size:3.2rem;font-weight:400;line-height:1}.details address{margin-top:18px;font-size:.94rem;font-style:italic}.map-button{border:1px solid var(--gold);color:var(--ink);letter-spacing:.24em;margin-top:28px;padding:12px 25px;font-size:.72rem;text-decoration:none}.flourish{width:150px;margin-top:65px}.itinerary{flex-direction:column;align-items:center;padding:58px 24px 76px;display:flex}.section-monogram{width:66px}.itinerary h2,.manual h2,.gifts h2{color:var(--gold);letter-spacing:.34em;margin-top:14px;font-size:.9rem;font-weight:400}.timeline{width:100%;max-width:480px;margin-top:58px;position:relative}.timeline:before{content:"";background:color-mix(in srgb, var(--gold), transparent 25%);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{grid-template-columns:1fr 30px 1fr;align-items:center;min-height:210px;display:grid;position:relative}.timeline-item .dot{z-index:1;border:1px solid var(--gold);background:var(--paper);border-radius:50%;grid-column:2;justify-self:center;width:18px;height:18px}.timeline-content{grid-column:3;padding-left:17px;font-style:italic}.timeline-item.left .timeline-content{text-align:right;grid-area:1/1;padding-left:0;padding-right:17px}.timeline-time{font-size:1.75rem}.timeline-label{color:var(--gold-dark);margin-top:6px;font-size:1.18rem}.timeline-content img{object-fit:contain;width:118px;max-height:120px;margin-top:16px}.timeline-item.left img{margin-left:auto}.manual{flex-direction:column;align-items:center;padding:60px 24px 72px;display:flex}.manual h2{margin-bottom:64px}.rules-grid{grid-template-columns:1fr 1fr;gap:70px 28px;width:100%;max-width:500px;display:grid}.rule{text-align:center;flex-direction:column;align-items:center;display:flex}.rule img{object-fit:contain;width:92px;height:100px}.rule p{color:var(--gold-dark);margin-top:18px;font-size:1.08rem;font-style:italic}.dresscode{border-top:1px solid color-mix(in srgb, var(--gold), transparent 45%);text-align:center;width:calc(100% + 48px);margin-top:72px;padding:54px 20px 0}.dresscode h3{color:var(--gold);letter-spacing:.34em;font-size:.92rem;font-weight:400}.dresscode p{font-size:.94rem;font-style:italic}.dresscode .black-tie{letter-spacing:.27em;margin:28px 0 22px;font-size:1.18rem}.gold-copy{color:var(--gold-dark);margin-top:8px}.gifts{border-top:1px solid color-mix(in srgb, var(--gold), transparent 45%);flex-direction:column;align-items:center;min-height:auto;padding:72px 24px 0;display:flex}.gifts h2{margin-top:0}.gift-intro{max-width:480px;color:var(--gold-dark);text-align:center;margin-top:42px;font-size:1.08rem;font-style:italic;line-height:1.55}.bank-card{border:1px solid color-mix(in srgb, var(--gold), transparent 30%);width:100%;max-width:390px;margin-top:50px;padding:28px 34px}.bank-card h3{color:var(--gold);letter-spacing:.28em;font-size:.8rem;font-weight:400}.bank-card h3:not(:first-child){margin-top:28px}.bank-card p{margin-top:8px;font-size:.88rem}.stores-title{color:var(--gold);letter-spacing:.27em;margin-top:58px;font-size:.92rem;font-weight:400}.stores{color:var(--gold-dark);grid-template-columns:1fr 1fr;gap:13px 54px;margin:36px 0 0;padding:0;font-size:1.15rem;font-style:italic;list-style-position:inside;display:grid}.glasses{width:225px;margin:74px 0 50px}.gifts footer{color:#fff;background:#654804;flex-direction:column;align-items:center;width:calc(100% + 48px);padding:34px 24px 40px;display:flex}.gifts footer img{width:230px}.gifts footer p{letter-spacing:.34em;margin-top:10px;font-size:.8rem}.desktop-notice{display:none}@media (min-width:768px){html,body{background:#654804}body{place-items:center;min-height:100vh;padding:40px;display:grid}.invitation{display:none}.desktop-notice{color:#fff;text-align:center;flex-direction:column;align-items:center;width:min(520px,100%);display:flex}.desktop-notice img{width:280px}.desktop-notice h1{margin-top:42px;font-size:2rem;font-weight:400}.desktop-notice p{opacity:.75;margin-top:14px}.desktop-notice span{letter-spacing:.32em;margin-top:32px}}@media (max-width:374px){.parents{font-size:.74rem}.timeline-label{font-size:1rem}.stores{gap:10px 24px;font-size:1rem}}
.cover{height:100svh;min-height:620px;max-height:860px;padding:0 24px 38px}.portrait-wrap{align-items:flex-end;min-height:0}.portrait{object-position:center bottom;width:calc(100% + 48px);max-width:none;max-height:100%}.monogram{width:58px;margin:22px 0 43px}.cover blockquote{letter-spacing:.14em;font-size:.53rem;line-height:1.45}.verse{margin-top:20px;font-size:.52rem}
@font-face{font-family:FreeSerif;src:url(/assets/fonts/freeserif/FreeSerif.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:FreeSerif;src:url(/assets/fonts/freeserif/FreeSerifItalic.otf)format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:FreeSerif;src:url(/assets/fonts/freeserif/FreeSerifBold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:FreeSerif;src:url(/assets/fonts/freeserif/FreeSerifBoldItalic.otf)format("opentype");font-weight:700;font-style:italic;font-display:swap}:root,body,button,a{font-family:FreeSerif,serif}@media (max-width:767px){.section{aspect-ratio:9/16;width:100%;height:auto;min-height:0}.cover{height:auto;min-height:0;max-height:none;padding:0 6.2vw 5.3vw}.portrait-wrap,.portrait{width:calc(100% + 12.4vw)}.monogram{width:17.2vw;margin:4vw 0 10.5vw}.cover blockquote{letter-spacing:.14em;font-size:2.5vw;line-height:1.4}.verse{letter-spacing:.34em;margin-top:4.2vw;font-size:2.1vw}.details{justify-content:flex-start;padding:16.5vw 7.5vw 4vw}.script-title{font-size:4.8vw}.parents{gap:5vw;margin:8vw 0 7vw;font-size:3.1vw}.wordmark{width:88vw;margin:3vw 0 4vw}.invitation-line{font-size:4.2vw}.date-line{margin-top:9vw;font-size:4.25vw}.details h1{margin-top:8vw;font-family:FreeSerif,serif;font-size:8.8vw;font-style:italic}.details address{margin-top:3vw;font-size:3.7vw}.map-button{margin-top:5.8vw;padding:2.6vw 6.4vw;font-size:2.9vw}.flourish{width:30vw;margin-top:9vw}.itinerary{padding:6vw 5.5vw 4vw}.section-monogram{width:13.5vw}.itinerary h2,.manual h2,.gifts h2{margin-top:1.5vw;font-size:3vw}.itinerary h2{margin-bottom:0}.timeline{margin-top:5vw}.timeline-item{grid-template-columns:1fr 7vw 1fr;gap:0;min-height:17.2vw}.timeline-item .dot{width:4vw;height:4vw}.timeline-content{padding-left:3.5vw}.timeline-item.left .timeline-content{padding-right:3.5vw}.timeline-time{font-size:5vw;line-height:1}.timeline-label{margin-top:1vw;font-size:3.9vw;line-height:1.05}.timeline-content img{width:14vw;height:10vw;margin-top:1.5vw}.manual{padding:5.5vw 5.5vw 4.5vw}.manual h2{margin-bottom:7vw}.rules-grid{gap:5.2vw 7vw}.rule img{width:15vw;height:13.5vw}.rule p{margin-top:1.8vw;font-size:3.7vw}.dresscode{width:calc(100% + 11vw);margin-top:7vw;padding:6vw 4vw 0}.dresscode h3,.dresscode p{font-size:3.2vw}.dresscode .black-tie{margin:3.4vw 0 2.7vw;font-size:4vw}.gold-copy{margin-top:1.2vw}.gifts{min-height:0;padding:12vw 6vw 0}.gift-intro{margin-top:8vw;font-size:4vw;line-height:1.45}.bank-card{margin-top:9vw;padding:5vw 7vw}.bank-card h3{font-size:3vw}.bank-card h3:not(:first-child){margin-top:4.5vw}.bank-card p{margin-top:1.2vw;font-size:3.5vw}.stores-title{margin-top:8vw;font-size:3.2vw}.stores{gap:2vw 9vw;margin-top:5.5vw;font-size:4.2vw}.glasses{width:29vw;margin:8vw 0 4vw}.gifts footer{width:calc(100% + 12vw);min-height:28vw;padding:5vw 6vw 6vw}.gifts footer img{width:50vw}.gifts footer p{margin-top:2vw;font-size:2.8vw}}
@font-face{font-family:Citadel Script;src:url(/assets/fonts/citadel/CitadelScriptStd.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--gold:#b3924f;--gold-dark:#86661a;--gold-footer:#5b430b}.details h1{color:#b3924f;font-family:Citadel Script,cursive;font-style:normal;font-weight:400}.gifts footer,.desktop-notice{background:#5b430b}@media (max-width:767px){.invitation-line,.date-line{color:#86661a}.details h1{margin-top:8vw;font-size:10.2vw;line-height:1}.details address{margin-top:3.5vw;font-size:3.2vw;font-weight:700}.map-button{letter-spacing:.2em;border-color:#86661a;margin-top:5.8vw;padding:1.3vw 6.5vw;font-size:2.3vw}.flourish{width:29vw;margin-top:14vw}}
@media (max-width:767px){.itinerary .section-monogram{width:18vw}.itinerary h2{color:#b3924f;letter-spacing:.35em;margin-top:2vw;font-size:3vw}.itinerary .timeline{margin-top:6.5vw}.rule:has(p:last-child:first-child){justify-content:flex-end}}
@media (max-width:767px){.timeline-item{min-height:19vw}.timeline-content{position:relative}.timeline-time{font-size:3.8vw;line-height:1}.timeline-label{margin-top:1.2vw;font-size:3.25vw;line-height:1.08}.timeline-content img{object-fit:contain;width:18vw;height:17vw;margin:0;position:absolute;top:8vw;left:0}.timeline-item.left .timeline-content img{margin:0;left:auto;right:0}.timeline-item:first-child .timeline-content img{width:20vw;height:18vw}.timeline-item:nth-child(2) .timeline-content img{width:16vw;height:15vw}.timeline-item:nth-child(3) .timeline-content img,.timeline-item:nth-child(4) .timeline-content img,.timeline-item:nth-child(5) .timeline-content img{width:18vw;height:17vw}.timeline-item:nth-child(6) .timeline-content img{width:17vw;height:17vw}.timeline-item:nth-child(7) .timeline-content img{width:18vw;height:18vw}}
@media (max-width:767px){.itinerary{margin-bottom:20px}.manual{padding-top:11vw}.manual .section-monogram{width:18vw}.manual h2{letter-spacing:.28em;margin-top:2vw;margin-bottom:10vw;font-size:3.1vw}.manual .rules-grid{gap:6vw 7vw}.manual .rule img,.manual .rule:first-child img{width:11vw;height:11vw}.manual .rule:nth-child(2) img{width:10vw;height:11vw}.manual .rule:nth-child(3) img{width:13vw;height:11vw}.manual .rule:nth-child(4) img{width:10vw;height:11vw}.manual .rule:nth-child(5) img{width:11vw;height:12vw}.manual .rule:nth-child(6) img{width:13vw;height:13vw}.manual .rule:nth-child(7) img{width:11vw;height:11vw}.manual .rule:nth-child(8) img{width:13vw;height:13vw}.manual .rule p{margin-top:2.2vw;font-size:3.2vw}.manual .dresscode{margin-top:7vw}}
@media (max-width:767px){.parents{font-size:2.1vw;line-height:1.18}}
@media (max-width:767px){.timeline-item.right .timeline-content img{margin-left:41px}.timeline-item.left .timeline-content img{margin-right:36px}}
@media (max-width:767px){.manual .rule:first-child img{width:calc(11vw + 2rem);height:calc(11vw + 2rem)}.manual .rule:nth-child(2) img{width:calc(10vw + 2rem);height:calc(11vw + 2rem)}.manual .rule:nth-child(3) img{width:calc(13vw + 2rem);height:calc(11vw + 2rem)}.manual .rule:nth-child(4) img{width:calc(10vw + 2rem);height:calc(11vw + 2rem)}.manual .rule:nth-child(5) img{width:calc(11vw + 2rem);height:calc(12vw + 2rem)}.manual .rule:nth-child(6) img{width:calc(13vw + 2rem);height:calc(13vw + 2rem)}.manual .rule:nth-child(7) img{width:calc(11vw + 2rem);height:calc(11vw + 2rem)}.manual .rule:nth-child(8) img{width:calc(13vw + 2rem);height:calc(13vw + 2rem)}}
@media (max-width:767px){.manual .dresscode{padding-top:calc(6vw + 5px);padding-bottom:10px}.manual .dresscode h3{font-size:2.7vw}.manual .dresscode p{font-size:2.75vw}.manual .dresscode .black-tie{font-size:3.4vw}.manual .dresscode .gold-copy{margin-bottom:0}.gifts{margin-top:0}}
@media (max-width:767px){.gifts{padding-top:6vw}.gifts h2{font-size:2.4vw}.gift-intro{width:72vw;margin-top:6vw;font-size:2.7vw;line-height:1.45}.bank-card{width:46vw;margin-top:7vw;padding:3.2vw 5vw}.bank-card h3{letter-spacing:.25em;font-size:1.8vw}.bank-card h3:not(:first-child){margin-top:3vw}.bank-card p{white-space:nowrap;margin-top:.7vw;font-size:2.15vw;line-height:1.15}.stores-title{margin-top:7vw;font-size:2vw}.stores{gap:1.5vw 8vw;margin-top:4vw;font-size:2.8vw}.glasses{width:42vw;margin:7vw 0 4vw}}
@media (max-width:767px){.gifts footer{background:#5b430b;justify-content:flex-start;width:calc(100% + 12vw);min-height:36vw;margin-top:2.2vw;padding:8vw 6vw 6vw}.gifts footer img{width:42vw}.gifts footer p{letter-spacing:.28em;margin-top:1.5vw;font-size:2.5vw}}
@media (max-width:767px){.parents{gap:6vw;width:72vw}.parents div,.parents div:last-child{text-align:center}}
@media (max-width:767px){.manual .dresscode{min-height:36.5vw;padding-top:calc(6vw + 5px);padding-bottom:0}.manual .dresscode h3{font-size:2.45vw}.manual .dresscode p{font-size:2.4vw}.manual .dresscode .black-tie{font-size:2.75vw}.gifts{padding-top:40px}}
@media (max-width:767px){.manual{aspect-ratio:auto;height:auto;min-height:0}.gifts{clear:both;position:relative}}
@media (max-width:767px){.gifts footer{padding-bottom:3rem}}
@media (min-width:768px){.desktop-notice{background:0 0}}
@media (max-width:767px){.details .flourish{width:34vw}}
.bank-card a,.bank-card a:visited,.bank-card a:hover,.bank-card a:active,.bank-card a[x-apple-data-detectors]{color:inherit!important;-webkit-text-fill-color:currentColor!important;text-decoration:none!important}
