:root{--ink:#133d43;--paper:#f8f5ee;--white:#fffdf8;--muted:#647375;--gold:#b99563;--line:#dcded5;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.6}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h2{font-size:clamp(42px,4.5vw,66px);letter-spacing:-2px}em{font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:#d9e2d9}.skip-link{position:fixed;top:-60px;left:16px;padding:10px 20px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:12px}.site-header{height:88px;padding:0 5.1%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.monogram{position:relative;display:flex;align-items:baseline;gap:5px;font-family:var(--serif);font-size:30px;line-height:1}.monogram span{font-size:19px;font-style:italic;color:var(--gold)}.monogram i{position:absolute;width:65px;left:1px;bottom:-8px;border-bottom:1px solid var(--gold)}nav{display:flex;gap:34px;align-items:center;font-size:12px}nav a{padding:8px 0;transition:color .2s}nav a:hover{color:var(--gold)}.nav-confirm span{padding-left:7px}.hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;max-width:1600px;min-height:690px;margin:auto}.hero-copy{padding:80px 5% 46px 10%;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.eyebrow{text-transform:uppercase;letter-spacing:2.8px;font-size:10px;font-weight:600;line-height:1.8}.hero .eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:30px}.small-line{width:38px;height:1px;background:var(--gold)}h1{font-size:clamp(51px,5.55vw,89px);letter-spacing:-3.8px;line-height:1.12;white-space:nowrap}.ampersand{font-style:italic;color:var(--gold);font-size:.8em}.hero-message{font-family:var(--serif);font-size:23px;line-height:1.5;margin:25px 0 28px}.hero-message em{color:var(--muted)}.hero-date{display:flex;gap:15px;align-items:center;margin-bottom:30px}.hero-date>span:first-child{font-family:var(--serif);font-size:57px;line-height:1}.hero-date b{font-size:10px;letter-spacing:2px;font-weight:400;line-height:1.9}.date-divider{height:32px;width:1px;background:#c5c9bd;margin:0 4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:17px 25px;font-size:12px;letter-spacing:.3px;border:1px solid transparent;transition:background .2s,transform .2s;min-height:53px}.button:hover{transform:translateY(-2px)}.button-dark{color:var(--white);background:var(--ink)}.button-dark:hover{background:#23555b}.button svg{width:21px;height:21px;flex:none}.button>span:last-child{margin-left:10px;font-size:18px;line-height:1}.scroll-link{display:flex;align-items:center;gap:12px;margin-top:42px;font-size:10px;letter-spacing:1px;color:var(--muted)}.scroll-link>span{font-size:20px;color:var(--gold)}.hero-photo{position:relative;margin:28px 8.5% 28px 0;min-width:0;overflow:hidden;min-height:634px}.hero-photo>img{height:100%;width:100%;object-fit:cover;object-position:center 42%;position:absolute}.hero-photo:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,rgba(4,24,25,.4));pointer-events:none}.photo-label{position:absolute;bottom:24px;left:27px;right:27px;display:flex;justify-content:space-between;color:white;font-size:9px;letter-spacing:2px;z-index:1}.vertical-note{position:absolute;right:16px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-size:8px;letter-spacing:3px;color:var(--muted)}.section-padding{padding:106px 7%}.invitation{text-align:center;max-width:850px;margin:auto;padding-top:95px;padding-bottom:106px}.ornament{font-size:40px;color:var(--gold);line-height:1;margin-bottom:22px}.invitation h2{margin:25px 0;font-size:clamp(42px,4.4vw,65px)}.invitation h2 em{color:#68868a}.body-copy{max-width:535px;margin:0 auto;font-size:14px;line-height:1.9;color:var(--muted)}.signature{font-family:var(--serif);font-style:italic;font-size:22px;margin-top:27px}.save-date{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto}.date-photo{position:relative;height:690px;overflow:hidden}.date-photo>img{width:100%;height:100%;object-fit:cover;object-position:center}.image-note{position:absolute;bottom:32px;width:100%;text-align:center;color:#fff;text-shadow:0 1px 10px #000;font-family:var(--serif);font-size:23px;font-style:italic}.date-copy{padding:68px 10%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.light{color:#cfbb93}.date-copy h2{margin:28px 0;font-size:clamp(43px,4.9vw,72px)}.date-copy h2 em{color:#d0b58c}.date-long{font-family:var(--serif);font-size:23px;margin-bottom:30px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);width:100%;border-top:1px solid #ffffff28;border-bottom:1px solid #ffffff28;padding:22px 0;gap:15px;max-width:420px}.countdown strong{font-family:var(--serif);font-weight:400;font-variant-numeric:tabular-nums;font-size:clamp(32px,3.8vw,52px);display:block;line-height:1.1}.countdown span{display:block;font-size:8px;letter-spacing:1.8px;margin-top:11px;color:#c2d0cf}.countdown-message{color:#b4c6c5;font-size:11px;margin:21px 0 26px}.button-outline{color:var(--paper);border:1px solid #b6c7c470;background:transparent;font-size:11px}.button-outline:hover{background:#ffffff0c}.ceremony{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center;padding-top:125px;padding-bottom:125px}.section-heading h2{margin-top:25px;font-size:clamp(40px,4.1vw,57px)}.ceremony-card{background:#fffdf8;border:1px solid var(--line);display:grid;grid-template-columns:130px 1fr;padding:44px 35px;gap:20px}.church-illustration{color:var(--gold);padding-top:28px}.church-illustration svg{width:100%}.ceremony-details .eyebrow{font-size:8px;letter-spacing:2px}.ceremony-details h3{font-size:34px;margin-top:13px;letter-spacing:-1px}.place{font-size:12px;color:var(--muted);margin:15px 0 24px}.event-facts{border-top:1px solid var(--line);padding-top:21px;display:grid;gap:14px}.event-facts p{font-size:12px}.event-facts span{display:block;color:var(--muted);font-size:8px;letter-spacing:1.7px;margin-bottom:4px}.text-link{display:inline-flex;gap:27px;align-items:center;font-size:11px;border-bottom:1px solid var(--gold);padding-bottom:5px;margin-top:28px}.text-link span{font-size:18px}.gallery-section{background:#eeeae1;padding-top:87px;padding-bottom:65px}.gallery-heading{max-width:1190px;margin:0 auto 48px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.gallery-heading h2{margin-top:18px}.gallery-heading>p{color:var(--muted);font-family:var(--serif);font-size:20px;line-height:1.5;padding-bottom:7px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;max-width:1190px;margin:auto}.gallery-item{border:0;padding:0;background:transparent;display:block;min-width:0;text-align:left}.gallery-item>img{width:100%;height:auto;aspect-ratio:1365/2048;object-fit:contain;background:#e1dfd7;transition:filter .3s}.gallery-item:hover>img{filter:brightness(1.05)}.gallery-item>span{display:flex;align-items:center;padding-top:14px;font-family:var(--serif);font-size:17px}.gallery-item i{font-family:var(--sans);font-style:normal;color:var(--muted);font-size:8px;margin-right:13px}.gallery-item b{margin-left:auto;font-weight:400;font-family:var(--sans)}.gallery-hint{text-align:center;color:var(--muted);font-size:10px;letter-spacing:.5px;margin-top:40px}.rsvp{display:grid;grid-template-columns:1fr 1fr;gap:100px;max-width:1150px;margin:auto;padding-top:118px;padding-bottom:110px}.rsvp h2{font-size:clamp(47px,5.5vw,76px);margin:24px 0}.rsvp-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted);max-width:310px}.rsvp-initials{font-family:var(--serif);font-size:56px;letter-spacing:4px;margin-top:27px;color:#95a3a0}.rsvp-initials span{font-style:italic;color:var(--gold);font-size:35px}.rsvp-form{padding-top:12px}.rsvp-form>label,.rsvp-form legend{font-size:12px;display:block;margin:0 0 10px}.rsvp-form input:not([type=radio]),.rsvp-form textarea{width:100%;border:1px solid #d0d6ce;background:#fffdf8;padding:15px;border-radius:0;outline-offset:2px;color:var(--ink);font-size:13px}.rsvp-form textarea{resize:vertical;min-height:104px;max-height:300px}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#8b9794}.rsvp-form fieldset{border:0;padding:0;margin:28px 0}.attendance-options{display:flex;gap:11px}.attendance-options label{position:relative;flex:1;cursor:pointer}.attendance-options input{position:absolute;opacity:0;left:15px;top:17px}.attendance-options span{display:block;border:1px solid #d0d6ce;padding:13px 8px;text-align:center;font-size:11px;background:#fffdf8}.attendance-options input:checked+span{border-color:var(--ink);background:#e3e9e3}.attendance-options input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}.optional{font-size:10px;color:var(--muted)}.rsvp-form .button{width:100%;margin-top:20px;font-size:11px;gap:10px}.form-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:15px;text-align:center}.closing{text-align:center;border-top:1px solid var(--line);padding:63px 20px 70px;background:#f0f0e7}.closing .ornament{display:block;font-size:31px}.closing p{font-family:var(--serif);font-size:clamp(28px,3vw,41px);line-height:1.35}.closing>span:last-child{display:block;letter-spacing:2px;font-size:8px;margin-top:26px}.site-footer{display:flex;align-items:center;flex-direction:column;padding:37px 20px 36px;background:var(--ink);color:#c0ccca}.site-footer p{font-size:8px;text-transform:uppercase;letter-spacing:2px;margin-bottom:17px}.site-footer img{width:180px;height:auto}.site-footer>span{font-family:var(--serif);font-size:12px;font-style:italic;margin-top:13px;color:#a8bab7}dialog{border:0;padding:25px 64px;background:transparent;width:100vw;height:100dvh;max-width:none;max-height:none;color:white;margin:0;overflow:hidden}dialog[open]{display:flex;justify-content:center;align-items:center}dialog::backdrop{background:rgba(5,19,21,.96)}dialog figure{display:flex;flex-direction:column;align-items:center;max-width:100%;margin:20px auto 0}dialog figure img{max-width:100%;height:auto;max-height:calc(100dvh - 110px);object-fit:contain}dialog figcaption{font-size:11px;letter-spacing:.7px;text-align:center;margin-top:15px}.dialog-close,.dialog-arrow{position:absolute;border:1px solid #ffffff45;color:white;background:#12313680;width:43px;height:43px;display:grid;place-items:center;font-size:23px;z-index:2}.dialog-close{right:20px;top:17px;font-size:29px}.dialog-arrow{top:50%;transform:translateY(-50%)}.previous{left:13px}.next{right:13px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--ink);box-shadow:0 4px 25px #0003;color:white;padding:13px 22px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:100;max-width:90%;width:max-content;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.hero{min-height:830px}.hero-copy{padding-left:10%}.hero-photo{min-height:774px}.date-photo{height:760px}}
@media(max-width:1100px){.hero-copy{padding:55px 5% 40px 9%}h1{font-size:5.6vw;letter-spacing:-2px}.hero{min-height:650px}.hero-photo{min-height:594px}.hero-message{font-size:21px}.ceremony{gap:35px;padding-left:5%;padding-right:5%}.ceremony-card{grid-template-columns:95px 1fr;padding:35px 24px;gap:15px}.ceremony-details h3{font-size:30px}.rsvp{gap:65px}.date-photo{height:625px}.date-copy{padding:55px 9%}.countdown{gap:10px}.countdown span{letter-spacing:1px}}
@media(max-width:760px){html{scroll-padding-top:15px}.site-header{height:73px;padding:0 6%}.monogram{font-size:25px}.monogram span{font-size:16px}.monogram i{width:56px}nav{gap:21px;font-size:10px}nav a:first-child{display:none}.music-toggle{font-size:10px}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:51px 7% 30px;align-items:center;text-align:center}.hero .eyebrow{margin-bottom:22px;font-size:9px;gap:12px}.small-line{width:22px}h1{font-size:clamp(45px,9vw,68px);letter-spacing:-2px;line-height:1.09}.hero-message{font-size:19px;margin:20px 0 23px}.hero-message br{display:none}.hero-message em{padding-left:3px}.hero-date{gap:13px;margin-bottom:24px}.hero-date>span:first-child{font-size:46px}.hero-date b{font-size:9px;letter-spacing:1.5px}.hero-copy>.button{padding:14px 27px;min-height:49px}.scroll-link{display:none}.hero-photo{margin:0 6%;min-height:0;height:auto;aspect-ratio:1365/1850}.hero-photo>img{position:absolute;object-position:center 42%}.photo-label{bottom:20px;left:20px;right:20px;font-size:8px;letter-spacing:1.3px}.vertical-note{display:none}.section-padding{padding:72px 7%}.invitation{padding-top:65px;padding-bottom:73px}.ornament{font-size:33px}.eyebrow{font-size:9px;letter-spacing:2px}.invitation .eyebrow{font-size:8px}.invitation h2{font-size:44px;margin:21px 0}.body-copy{font-size:13px}.signature{font-size:21px;margin-top:25px}.save-date{display:flex;flex-direction:column}.date-photo{height:auto;aspect-ratio:1365/1600}.date-photo img{object-position:center 43%}.image-note{bottom:25px;font-size:21px}.date-copy{text-align:center;align-items:center;padding:52px 8% 56px}.date-copy h2{font-size:52px;letter-spacing:-2px;margin:20px 0 24px}.date-long{font-size:22px;margin-bottom:25px}.countdown{gap:8px;max-width:375px;padding:22px 0}.countdown strong{font-size:43px}.countdown span{font-size:8px}.countdown-message{font-size:11px;margin:20px 0 24px}.ceremony{display:block}.section-heading{text-align:center}.section-heading h2{font-size:44px;margin:20px 0 32px}.ceremony-card{max-width:480px;margin:auto;padding:32px 26px;grid-template-columns:105px 1fr;gap:22px}.ceremony-details h3{font-size:32px}.church-illustration{padding-top:33px}.ceremony-details .eyebrow{font-size:8px;letter-spacing:1.3px}.event-facts p{font-size:11px}.gallery-section{padding:66px 6% 49px}.gallery-heading{display:block;margin-bottom:30px;text-align:center}.gallery-heading h2{font-size:43px}.gallery-heading>p{font-size:18px;margin-top:21px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 13px}.gallery-item>span{font-size:14px;padding-top:10px}.gallery-item i{font-size:7px;margin-right:6px}.gallery-item b{font-size:13px}.gallery-hint{font-size:9px;margin-top:29px}.rsvp{display:block;padding-top:67px;padding-bottom:65px}.rsvp-copy{text-align:center}.rsvp h2{font-size:55px;margin:20px 0}.rsvp-copy>p:not(.eyebrow){margin:auto;max-width:310px;font-size:13px}.rsvp-initials{display:none}.rsvp-form{padding-top:35px;max-width:460px;margin:auto}.rsvp-form input:not([type=radio]),.rsvp-form textarea{font-size:16px}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{font-size:13px}.rsvp-form>label,.rsvp-form legend{font-size:12px}.attendance-options span{font-size:11px}.closing{padding:47px 20px 50px}.closing p{font-size:29px}.closing>span:last-child{font-size:7px;letter-spacing:1.6px}.site-footer img{width:169px}dialog{padding:36px 12px}dialog figure img{max-height:calc(100dvh - 160px)}.dialog-arrow{top:auto;bottom:24px;transform:none}.previous{left:calc(50% - 55px)}.next{right:calc(50% - 55px)}dialog figure{margin:-30px 0 0}dialog figcaption{font-size:10px}.dialog-close{right:15px;top:15px}}
@media(max-width:370px){nav{gap:14px}.music-toggle{gap:5px}h1{font-size:43px}.hero-message{font-size:17px}.ceremony-card{padding:29px 17px;grid-template-columns:79px 1fr;gap:15px}.ceremony-details h3{font-size:29px}.gallery-item>span{font-size:12px}.gallery-item i{display:none}.rsvp-form .button{font-size:10px;padding:15px 11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Complete invitation: families, venues, schedule and a discreet music control. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.music-fab{position:fixed;right:20px;bottom:20px;z-index:50;max-width:calc(100vw - 30px);padding:0;display:flex;gap:10px;align-items:center;border:0;background:transparent;color:var(--ink);text-align:left}
.music-prompt{max-width:190px;padding:9px 12px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 3px 16px #102e3b15;font-size:13px;line-height:1.4}
.music-symbol{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffffb3;border-radius:50%;background:var(--ink);color:var(--paper);box-shadow:0 3px 16px #102e3b26;transition:background .2s}
.music-fab:hover .music-symbol{background:#245961}.music-fab svg{width:21px;height:21px}.music-fab .music-pause{display:none}.music-fab[aria-pressed=true] .music-note,.music-fab[aria-pressed=true] .music-prompt{display:none}.music-fab[aria-pressed=true] .music-pause{display:block}
.couple-full-names{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:36px;font-family:var(--serif);font-size:27px;line-height:1.3}.couple-full-names p{flex:1;max-width:280px}.couple-full-names p>span{display:block;font-size:19px;margin-top:6px;color:var(--muted)}.couple-ampersand{color:var(--gold);font-style:italic;font-size:34px}
.family-section{background:#efeee5;text-align:center;padding-top:76px;padding-bottom:80px}.family-heading h2{margin-top:18px;font-size:clamp(40px,4vw,56px)}.family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 60px;max-width:1050px;margin:45px auto 0}.family-group{padding:0 10px}.family-group h3,.family-group h4{font-family:var(--sans);font-weight:400;font-size:14px;letter-spacing:1.2px;text-transform:uppercase;line-height:1.5;margin:0 0 22px;color:var(--muted)}.family-group p{font-family:var(--serif);font-size:clamp(20px,2vw,26px);line-height:1.5;overflow-wrap:break-word}.family-group p+p{margin-top:8px}.sponsors-heading{margin:45px auto 0;padding-top:35px;max-width:700px;border-top:1px solid #d5d7cb}.sponsors-heading>span{color:var(--gold);font-size:28px}.sponsors-heading h3{font-size:34px;margin-top:8px}.sponsors-grid{margin-top:30px}
.venues-section{max-width:1240px;margin:auto}.venues-heading{text-align:center}.venues-heading h2{margin-top:20px}.venues-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:48px}.venue-card{padding:38px 36px 40px;border:1px solid var(--line);background:var(--white);min-width:0;display:flex;flex-direction:column;align-items:flex-start}.venue-kind{display:flex;gap:12px;align-items:baseline;font-size:14px;color:var(--muted);line-height:1.6;min-height:45px}.venue-kind>span{font-family:var(--serif);font-size:24px;color:var(--gold)}.venue-card h3{font-size:clamp(32px,3.3vw,44px);letter-spacing:-1px;margin-top:20px}.venue-address{font-size:16px;color:var(--muted);margin:17px 0 0}.venue-time{display:flex;gap:12px;align-items:baseline;margin:25px 0 28px;font-family:var(--serif);font-size:44px;line-height:1.1}.venue-time>span{font-family:var(--sans);font-size:12px;letter-spacing:2px;color:var(--muted)}.venue-card .button{font-size:14px;width:100%;margin-top:auto;padding:15px 16px;text-align:center}
.itinerary-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;background:var(--ink);color:var(--paper);padding-left:max(7%,calc((100vw - 1120px)/2));padding-right:max(7%,calc((100vw - 1120px)/2))}.itinerary-intro{align-self:start;position:sticky;top:55px}.itinerary-intro h2{margin:25px 0 32px;font-size:clamp(44px,4.5vw,66px)}.itinerary-intro h2 em{color:#d0b58c}.itinerary-date{font-family:var(--serif);font-size:24px}.itinerary-caption{font-size:16px;line-height:1.9;color:#b9ccc8;margin-top:28px}.timeline{padding:0;margin:0;list-style:none}.timeline>li{position:relative;display:grid;grid-template-columns:85px 1fr;gap:26px;padding:0 0 32px}.timeline>li:before{content:'';position:absolute;left:92px;top:10px;bottom:-10px;width:1px;background:#dfc89a40}.timeline>li:after{content:'';position:absolute;left:88px;top:9px;width:9px;height:9px;border:1px solid #ccb284;border-radius:50%;background:var(--ink)}.timeline>li:last-child{padding-bottom:0}.timeline>li:last-child:before{display:none}.timeline time{font-family:var(--serif);font-size:27px;line-height:1.2;color:#ddc296;font-variant-numeric:tabular-nums}.timeline h3{font-size:24px;line-height:1.3;margin:0}.timeline p{font-size:14px;line-height:1.7;margin-top:6px;color:#c4d2cf}.timeline .next-day-label{font-family:var(--sans);font-size:12px;letter-spacing:.5px;color:#d8bc8d;margin:0 0 10px}.timeline>li.next-day{padding-top:16px}.timeline>li.next-day:after{top:25px}.timeline>li.next-day:before{top:26px}
@media(max-width:900px){.itinerary-section{gap:40px}.venue-card{padding:30px 25px}.family-grid{gap:40px}.venue-kind{min-height:52px}.itinerary-intro h2{font-size:43px}.timeline>li{grid-template-columns:72px 1fr;gap:23px}.timeline>li:before{left:78px}.timeline>li:after{left:74px}.timeline h3{font-size:22px}}
@media(max-width:760px){.site-header nav{gap:15px;font-size:12px}.site-header nav .nav-confirm span{display:none}.music-fab{right:15px;bottom:15px}.couple-full-names{flex-direction:column;gap:14px;font-size:28px;margin-top:31px}.couple-full-names p>span{font-size:19px;margin-top:3px}.couple-ampersand{font-size:28px;line-height:1}.family-section{padding-top:58px;padding-bottom:61px}.family-heading h2{font-size:43px}.family-grid{grid-template-columns:1fr;gap:33px;margin-top:35px}.family-group h3,.family-group h4{font-size:14px;margin-bottom:15px}.family-group p{font-size:23px;line-height:1.45;max-width:440px;margin-left:auto;margin-right:auto}.sponsors-heading{margin-top:35px;padding-top:28px}.sponsors-heading h3{font-size:32px}.sponsors-grid{margin-top:30px}.venues-section{padding-top:65px;padding-bottom:65px}.venues-heading h2{font-size:44px}.venues-grid{grid-template-columns:1fr;gap:22px;margin-top:32px}.venue-card{padding:29px 27px 32px}.venue-kind{min-height:0;font-size:14px}.venue-card h3{font-size:38px;margin-top:16px}.venue-address{font-size:16px;margin-top:13px}.venue-time{font-size:40px;margin:23px 0}.venue-card .button{font-size:14px}.itinerary-section{display:block;padding:65px 7%}.itinerary-intro{position:static;text-align:center;margin-bottom:43px}.itinerary-intro h2{font-size:48px;margin:21px 0 22px}.itinerary-date{font-size:22px}.itinerary-caption{font-size:16px;margin-top:18px}.itinerary-caption br{display:none}.timeline{max-width:440px;margin:auto}.timeline>li{grid-template-columns:70px 1fr;gap:27px;padding-bottom:29px}.timeline>li:before{left:77px}.timeline>li:after{left:73px}.timeline time{font-size:26px}.timeline h3{font-size:22px}.timeline p{font-size:14px}.timeline .next-day-label{font-size:12px}}
@media(max-width:370px){.site-header nav{gap:10px;font-size:11px}.family-group p{font-size:21px}.venue-card{padding:26px 20px}.venue-card .button{font-size:13px}.timeline h3{font-size:20px}.timeline>li{grid-template-columns:63px 1fr;gap:22px}.timeline time{font-size:24px}.timeline>li:before{left:68px}.timeline>li:after{left:64px}}

/* Venue symbols and Pixelink contact. */
.venue-kind{align-items:center;gap:16px;min-height:48px}
.venue-icon{width:42px;height:42px;flex-shrink:0;color:var(--gold);stroke-width:1.5}
.site-footer{padding-bottom:96px}
.footer-promo{width:min(100%,400px);margin-top:29px;padding-top:25px;border-top:1px solid #ffffff26;text-align:center}
.footer-promo p{font-family:var(--serif);font-size:24px;line-height:1.4;color:var(--paper);text-transform:none;letter-spacing:0;margin-bottom:18px}
.footer-promo .button{max-width:100%;font-size:14px;line-height:1.4;gap:10px;padding:13px 20px;min-height:48px}
.footer-promo .button svg{flex-shrink:0}
@media(max-width:370px){.music-prompt{max-width:180px}.footer-promo .button{padding:13px 15px}}
