:root{--paper:#f8eee2;--paper-light:#fff7ed;--ink:#273e61;--blue:#254577;--red:#a82c33;--copper:#c67c3c;--gold:#d5b376;--navy:#10182b;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Be Vietnam Pro',Arial,sans-serif;--display:'Oswald',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}.shell{width:min(1160px,calc(100% - 44px));margin-inline:auto}.skip-link{position:fixed;top:8px;left:8px;padding:10px;background:#fff;z-index:999;transform:translateY(-160%)}.skip-link:focus{transform:none}.page-grain{position:fixed;inset:0;pointer-events:none;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E");opacity:.12;mix-blend-mode:multiply}.site-top{height:77px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.site-top nav{display:flex;align-items:center;gap:34px}.site-top nav a{font-size:12px;font-weight:700;letter-spacing:.06em;transition:color .2s}.site-top nav a:hover{color:var(--red)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.08em}.brand i{font-style:normal;color:var(--copper)}.brand-symbol{border:1px solid #ba9b78;border-radius:100%;width:37px;height:37px;display:grid;place-items:center;font-size:21px;font-weight:400;color:var(--red)}
.hero{position:relative;overflow:hidden;text-align:center;background:linear-gradient(180deg,#fbf2e7 0%,#f9efe3 66%,#f8eadd 100%);padding:45px 0 68px}.hero-pattern{position:absolute;top:0;left:50%;width:1100px;height:650px;transform:translateX(-50%);pointer-events:none;background:radial-gradient(ellipse at center,rgba(247,206,166,.2),transparent 67%)}.hero-head{position:relative;z-index:2}.hero-overline{font-family:var(--serif);color:#9e5f3c;font-size:21px;font-style:italic;letter-spacing:.06em;margin-bottom:23px}.organizers{width:min(400px,74vw);height:auto;max-height:112px;object-fit:contain;margin:0 auto 36px}.eyebrow{font-family:var(--display);font-size:clamp(18px,2.15vw,31px);letter-spacing:.045em;font-weight:500;margin-bottom:20px}.title-art{width:min(835px,94%);height:auto;margin:0 auto;mix-blend-mode:multiply}.hero-subtitle{font:500 clamp(13px,1.6vw,21px)/1.5 var(--display);letter-spacing:.03em;margin-top:13px}.hero-scene-shell{margin:0 auto;max-width:1290px;height:clamp(375px,52vw,680px);position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 91%,transparent 100%)}.scene-halo{position:absolute;top:12%;width:76%;height:75%;border:2px solid rgba(205,139,66,.35);border-radius:100% 100% 0 0;filter:blur(1px)}.church-scene{width:100%;height:100%;object-fit:contain;object-position:bottom center;filter:saturate(.98) drop-shadow(0 11px 21px rgba(94,58,34,.13));animation:scene-enter 1.55s ease both}.hero-foot{position:relative;z-index:2;margin-top:-8px}.hero-divider{display:flex;gap:22px;align-items:center;justify-content:center;color:#b27c3f;margin-bottom:23px;font-size:28px}.hero-divider:before,.hero-divider:after{content:'';width:80px;height:1px;background:#dab891}.event-date{font:600 clamp(20px,3vw,35px)/1.4 var(--display);color:var(--red);letter-spacing:.025em}.event-date span{margin:0 10px;color:#d29a65}.event-place{font:500 clamp(14px,1.7vw,20px)/1.5 var(--display);letter-spacing:.04em;margin:4px 0 24px}.button{border:1px solid transparent;display:inline-flex;justify-content:center;align-items:center;gap:32px;border-radius:3px;min-height:53px;padding:0 25px;font:500 16px var(--display);letter-spacing:.075em;transition:transform .25s ease,background .25s,color .25s}.button:hover{transform:translateY(-2px)}.button-navy{background:#2b4874;color:#fff;box-shadow:0 5px 15px rgba(38,67,110,.16)}.button-navy:hover{background:#162b4d}.fine-note{display:block;margin-top:13px;letter-spacing:.24em;font:500 11px var(--display);color:#a0643d}
.letter-section{position:relative;padding:118px 0 110px;background:linear-gradient(180deg,#f6eadc,#fdf6eb 37%,#f8eadb)}.letter-envelope{text-align:center;margin-bottom:30px;color:#b67e47;font-size:21px}.letter-envelope i{width:1px;height:55px;background:#d3b286;display:block;margin:13px auto 0}.letter-shell{width:min(720px,calc(100% - 44px));margin:auto;text-align:center;position:relative}.letter-shell:before,.letter-shell:after{content:'✦';color:rgba(191,142,87,.45);position:absolute;font-size:21px;top:68px}.letter-shell:before{left:0}.letter-shell:after{right:0}.chapter-id{font:600 11px var(--sans);letter-spacing:.26em;color:#b1794b}.chapter-id span{color:#b7ab9c;margin:0 7px}.letter-small{font-family:var(--serif);font-style:italic;font-size:25px;color:#986843;margin-top:43px}.letter-shell h2{font:600 clamp(57px,8vw,108px)/1 var(--serif);color:#293b56;letter-spacing:.035em;margin:4px 0 45px}.guest-prefix{font-size:14px;color:#9c755c;margin-bottom:13px}.guest-name{font:700 clamp(32px,6vw,57px)/1.12 var(--serif);color:var(--red);overflow-wrap:anywhere}.guest-subtitle{font:500 clamp(13px,2vw,17px)/1.6 var(--sans);color:var(--blue);margin:14px auto 0;max-width:630px}.guest-subtitle[hidden]{display:none}.letter-line{color:#d1a06d;font-size:30px;position:relative;display:flex;align-items:center;gap:19px;justify-content:center;margin:42px auto 31px}.letter-line:before,.letter-line:after{content:'';height:1px;width:115px;background:linear-gradient(90deg,transparent,#c99b60)}.letter-line:after{transform:rotate(180deg)}.letter-copy{color:#52566b;font-size:15px;line-height:2.05;max-width:650px;margin:0 auto 20px}.letter-shell h3{font:600 clamp(44px,7vw,83px)/.92 var(--serif);color:var(--red);margin:33px 0 29px}.letter-shell h3 em{color:#c37b39;font-style:italic}.letter-when{font:500 clamp(19px,3vw,26px) var(--display);color:var(--red)}.letter-where{margin-top:8px;font:400 19px/1.5 var(--display);color:var(--blue)}.letter-sign{font:italic 27px var(--serif);color:#a7724e;margin-top:50px}.wave-divider{position:absolute;bottom:-4px;left:0;width:100%;height:86px}.wave-divider svg{display:block;width:100%;height:100%}
.lineup-section{position:relative;isolation:isolate;overflow:hidden;background:#121a2d;color:#fff;padding:117px 0 0;background-image:radial-gradient(ellipse at 52% 45%,rgba(175,123,66,.18),transparent 54%),linear-gradient(115deg,#101927,#1e2437 47%,#111626)}.lineup-section:before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,transparent,transparent 89px,rgba(224,181,109,.016) 90px);pointer-events:none}.lineup-section:after{content:'';position:absolute;bottom:0;inset-inline:0;height:44%;background:linear-gradient(0deg,rgba(10,14,24,.98),transparent);pointer-events:none;z-index:4}.stage-rays{position:absolute;top:6%;left:50%;transform:translateX(-50%);height:750px;width:min(1200px,100%);background:conic-gradient(from 230deg at 50% 100%,transparent 0 6%,rgba(226,176,115,.08) 8% 10%,transparent 12% 21%,rgba(233,182,111,.08) 23% 26%,transparent 28% 45%,rgba(237,174,105,.075) 47% 49%,transparent 52%);filter:blur(25px);opacity:.8;pointer-events:none}.stage-top{position:relative;text-align:center;z-index:8}.chapter-id.light{color:#d9b88b}.stage-overline{font:italic 26px var(--serif);color:#dcc5a6;margin:31px auto 3px}.stage-top h2{font:600 clamp(56px,8vw,118px)/1.05 var(--serif);letter-spacing:.035em;color:#f2d5a9;text-shadow:0 5px 28px rgba(244,182,119,.12)}.stage-sub{margin-top:12px;font:500 15px var(--display);letter-spacing:.16em;color:#c7b9a3}.artist-formation{height:880px;max-width:1190px;position:relative;z-index:2;margin-top:28px}.artist{position:absolute;bottom:0;margin:0;transform:translateX(-50%);height:auto;display:flex;align-items:end;justify-content:center;pointer-events:none}.artist img{height:100%;width:auto;max-width:none;object-fit:contain;object-position:bottom;filter:drop-shadow(8px 15px 13px rgba(0,0,0,.52)) drop-shadow(0 -4px 15px rgba(246,196,134,.1));-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 75%,transparent 99%);mask-image:linear-gradient(to bottom,#000 0%,#000 75%,transparent 99%)}.artist-1{left:50%;height:650px;bottom:95px;z-index:9}.artist-2{left:30%;height:565px;bottom:160px;z-index:7}.artist-3{left:70%;height:570px;bottom:160px;z-index:7}.artist-4{left:12%;height:470px;bottom:110px;z-index:6}.artist-5{left:87%;height:468px;bottom:105px;z-index:6}.artist-6{left:31%;height:410px;bottom:30px;z-index:10}.artist-7{left:71%;height:410px;bottom:30px;z-index:10}.artist-8{left:44%;height:385px;bottom:0;z-index:11}.artist-9{left:58%;height:379px;bottom:0;z-index:11}.stage-end{position:relative;z-index:8;margin-top:-18px;text-align:center;background:linear-gradient(0deg,#101624,#111827);padding:25px 20px 69px}.stage-glitter{position:absolute;bottom:0;inset-inline:0;height:200px;opacity:.45;z-index:-1;background-image:radial-gradient(circle,#f7cc76 1px,transparent 2px),radial-gradient(circle,#c77d5f 1px,transparent 2px);background-size:59px 43px,37px 67px;background-position:0 0,22px 14px;mask-image:linear-gradient(to top,black,transparent)}.stage-end p{font:500 clamp(14px,1.8vw,22px) var(--display);color:#e8d7bd;letter-spacing:.11em}.stage-end p span{color:var(--gold);margin:0 14px}.music-staff{margin-top:24px;color:var(--gold);font-size:23px;letter-spacing:.4em;opacity:.7}
.info-section{position:relative;padding:123px 0 35px;background:#f9eee2}.info-top{text-align:center}.info-top h2{font:600 clamp(52px,7.8vw,92px)/1.01 var(--serif);color:#293d59;margin:27px auto 55px}.info-top h2 i{font-weight:500;color:#b06d43}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.info-card{padding:39px 24px 42px;min-height:255px;text-align:center;border:1px solid rgba(191,154,113,.48);background:rgba(255,255,255,.32);display:flex;flex-direction:column;align-items:center;justify-content:center}.info-card-icon{font:32px var(--serif);color:#ba8651;margin-bottom:12px}.info-card p{font:500 12px var(--display);letter-spacing:.16em;color:#a5754e}.info-card strong{font:600 clamp(34px,4.3vw,53px) var(--serif);color:#a9343d;margin:7px 0}.info-card span{font:400 14px/1.7 var(--sans);color:#3d4c65}.info-actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:45px}.button-outline{border:1px solid #bd9e80;color:#304b75;background:transparent}.button-outline:hover{background:#f0dfcc}.text-button{background:none;border:0;padding:14px;color:#8d5939;text-decoration:underline;text-underline-offset:4px}.share-status{font-size:12px;text-align:center;min-height:22px;margin-top:11px}.closing{border-top:1px solid #dfceb8;margin-top:100px;text-align:center;padding:58px 0 49px}.closing-cross{color:#b18357;font-size:30px}.closing p:not(.closing-small){font:italic clamp(21px,3vw,33px)/1.2 var(--serif);color:#795d4d;margin:11px auto 23px}.closing-small{font:500 12px var(--display);letter-spacing:.2em;color:#9e7858}footer{min-height:90px;background:#233b60;color:#efdfcd;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px max(22px,calc((100% - 1160px)/2));font:500 12px var(--display);letter-spacing:.06em}footer span{color:#d1a465;margin:0 7px}footer a{text-decoration:underline;text-underline-offset:3px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}@keyframes scene-enter{from{opacity:0;transform:translateY(45px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:900px){.hero{padding-top:32px}.organizers{margin-bottom:22px}.hero-scene-shell{height:clamp(320px,60vw,560px)}.artist-formation{height:735px}.artist-1{height:540px;bottom:100px}.artist-2,.artist-3{height:440px;bottom:140px}.artist-4,.artist-5{height:380px}.artist-6,.artist-7{height:345px}.artist-8,.artist-9{height:320px}.stage-top h2{font-size:78px}.info-card{padding:24px 13px;min-height:220px}}
@media(max-width:620px){.shell{width:min(100% - 32px,540px)}.site-top{height:69px}.brand{font-size:11px;gap:7px}.brand-symbol{height:31px;width:31px;font-size:16px}.site-top nav{gap:13px}.site-top nav a{font-size:10px}.hero{padding:23px 0 55px}.hero-overline{font-size:18px;margin-bottom:12px}.organizers{width:68%;max-width:310px;margin-bottom:22px}.eyebrow{font-size:18px;margin-bottom:11px}.title-art{width:100%}.hero-subtitle{font-size:12px;max-width:370px;margin:4px auto 0;line-height:1.6}.hero-scene-shell{height:clamp(270px,72vw,390px);width:112%;margin-left:-6%;margin-top:7px;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 92%,transparent)}.church-scene{height:100%;width:100%;object-fit:contain}.hero-divider{margin-bottom:13px}.event-date{font-size:23px}.event-date span{margin:0 4px}.event-place{font-size:13px}.button{font-size:14px;min-height:49px}.letter-section{padding:72px 0 85px}.letter-envelope{margin-bottom:14px}.letter-envelope i{height:36px}.letter-shell:before,.letter-shell:after{display:none}.chapter-id{font-size:10px;letter-spacing:.16em}.letter-small{font-size:20px;margin-top:31px}.letter-shell h2{font-size:66px;margin-bottom:35px}.guest-name{font-size:40px}.letter-copy{font-size:13px;line-height:1.93}.letter-shell h3{font-size:58px}.letter-where{font-size:16px}.letter-sign{font-size:24px}.lineup-section{padding-top:84px}.stage-overline{margin-top:19px;font-size:22px}.stage-top h2{font-size:62px}.stage-sub{font-size:12px;line-height:1.65;margin-inline:12px}.artist-formation{width:100%;height:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;justify-items:center;gap:0;min-height:1000px;margin-top:33px;isolation:isolate;overflow:hidden;padding:0 6px}.artist{position:relative;left:auto!important;bottom:auto!important;height:auto!important;width:100%;transform:none!important;overflow:visible}.artist img{width:100%;height:auto;max-width:100%;max-height:370px;object-fit:contain;object-position:bottom}.artist-1{grid-column:2/6;grid-row:1;z-index:6;margin-bottom:-35px;max-width:285px}.artist-1 img{max-height:340px}.artist-2{grid-column:1/4;grid-row:2;z-index:5;margin-right:-12%;margin-bottom:-65px}.artist-3{grid-column:4/7;grid-row:2;z-index:5;margin-left:-12%;margin-bottom:-65px}.artist-2 img,.artist-3 img{max-height:320px}.artist-4{grid-column:1/3;grid-row:3;z-index:6;margin-bottom:-45px}.artist-5{grid-column:3/5;grid-row:3;z-index:6;margin-bottom:-45px}.artist-6{grid-column:5/7;grid-row:3;z-index:6;margin-bottom:-45px}.artist-7{grid-column:1/3;grid-row:4;z-index:7}.artist-8{grid-column:3/5;grid-row:4;z-index:7}.artist-9{grid-column:5/7;grid-row:4;z-index:7}.artist-4 img,.artist-5 img,.artist-6 img,.artist-7 img,.artist-8 img,.artist-9 img{max-height:265px}.stage-end{margin-top:-20px;padding:48px 16px 64px}.stage-end p{font-size:13px;line-height:1.9}.stage-end p span{margin:0 5px}.info-section{padding:87px 0 10px}.info-top h2{font-size:52px;margin:27px auto 32px}.info-grid{grid-template-columns:1fr;gap:13px}.info-card{min-height:145px;padding:21px}.info-card-icon{font-size:24px;margin-bottom:5px}.info-card strong{font-size:38px;margin:3px}.info-actions{margin-top:28px}.closing{margin-top:68px}.closing p:not(.closing-small){font-size:23px}footer{flex-direction:column;text-align:center;justify-content:center;font-size:10px;min-height:100px}}
@media(max-width:360px){.site-top nav{gap:8px}.site-top nav a{font-size:9px}.brand{letter-spacing:0}.artist-formation{min-height:910px}.artist-1 img{max-height:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.church-scene{animation:none}.button{transition:none}}

/* Preserve the original PDF title and partner marks without their pale crop boxes. */
.title-art{mix-blend-mode:normal}
.organizers{mix-blend-mode:normal}

/* A compact, overlapping concert-poster formation. Numbered source order
   determines the visual scale (1 is the headliner). */
@media(min-width:901px){
  .artist-formation{height:805px;margin-top:14px}
  .artist-1{height:690px;bottom:85px}
  .artist-2{left:20%;height:555px;bottom:135px}
  .artist-3{left:75%;height:565px;bottom:135px}
}
@media (min-width:621px) and (max-width:900px){
  .artist-formation{height:680px;margin-top:14px}
  .artist-1{height:525px;bottom:115px}
  .artist-2{left:24%;height:450px;bottom:115px}
  .artist-3{left:76%;height:445px;bottom:115px}
}
@media(max-width:620px){
  .artist-formation{position:relative;display:block;width:min(100%,440px);height:710px;min-height:0;margin:10px auto 0;padding:0;overflow:hidden;isolation:isolate}
  .artist{position:absolute;display:block;transform:translateX(-50%)!important;width:auto!important;margin:0!important;overflow:visible}
  .artist img{height:100%;width:auto;max-width:none;max-height:none;object-fit:contain}
  .artist-1{left:50%!important;bottom:277px!important;height:420px!important;z-index:5}
  .artist-2{left:17%!important;bottom:239px!important;height:342px!important;z-index:6}
  .artist-3{left:84%!important;bottom:239px!important;height:343px!important;z-index:6}
  .artist-4{left:14%!important;bottom:114px!important;height:300px!important;z-index:7}
  .artist-5{left:50%!important;bottom:115px!important;height:298px!important;z-index:7}
  .artist-6{left:87%!important;bottom:115px!important;height:297px!important;z-index:7}
  .artist-7{left:18%!important;bottom:0!important;height:254px!important;z-index:8}
  .artist-8{left:50%!important;bottom:0!important;height:257px!important;z-index:8}
  .artist-9{left:82%!important;bottom:0!important;height:255px!important;z-index:8}
  /* Keep the headliner's face visible above the second row. */
  .artist-1{z-index:9}
  .artist-2{left:12%!important;z-index:8}
  .artist-3{left:88%!important;z-index:8}
  .artist-4,.artist-5,.artist-6{z-index:10}
  .artist-7,.artist-8,.artist-9{z-index:11}
  .stage-end{margin-top:-11px}
}
@media(max-width:360px){
  .artist-formation{height:660px}
  .artist-1{height:385px!important;bottom:255px!important}
  .artist-2,.artist-3{height:318px!important;bottom:219px!important}
  .artist-4,.artist-5,.artist-6{height:275px!important;bottom:110px!important}
  .artist-7,.artist-8,.artist-9{height:235px!important}
}
