/* Home page only. Header and shared page styles remain in site.css. */
.landing{--banner-mint:#a5f1ce;--banner-white:#fffdf5}
.scene-banner{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;background:#142c32;color:var(--banner-white);min-height:680px;height:calc(100svh - 120px)}
.scene-art,.scene-shade{position:absolute;inset:0;width:100%;height:100%}
.scene-art{object-fit:cover;object-position:57% 52%;z-index:-3}
.scene-shade{z-index:-2;background:linear-gradient(90deg,rgba(7,23,31,.86),rgba(7,23,31,.56) 36%,rgba(7,23,31,.13) 70%,rgba(7,23,31,.02)),linear-gradient(0deg,rgba(7,23,31,.76),transparent 28%)}
.scene-content{width:100%;max-width:1440px;padding:65px 6% 125px;margin:0 auto}
.scene-content .eyebrow{color:#d8e8df;font-size:12px;letter-spacing:2px;margin:0 0 28px;max-width:600px}
.banner-dash{height:1px;width:30px;background:var(--banner-mint);flex-shrink:0}
.scene-content h1,.scene-content h2{font:500 clamp(70px,7.2vw,110px)/1.02 Arial,Helvetica,sans-serif;letter-spacing:-.055em;color:var(--banner-white);background:none;margin:0 0 30px;text-wrap:balance}
.scene-content h1 em,.scene-content h2 em{font:italic 400 1.06em/1.02 Georgia,'Times New Roman',serif;letter-spacing:-.055em;color:var(--banner-mint);background:none}
.scene-intro{font-size:20px;line-height:1.7;max-width:570px;color:#f0f1e8;margin:0;text-shadow:0 1px 8px #10292d55}
.scene-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin-top:32px}
.scene-actions .banner-button{background:var(--banner-mint);color:#13332a;border-radius:40px;font-size:16px;min-height:56px;padding:16px 24px;gap:28px}
.scene-actions .banner-button span{color:inherit}.scene-actions .banner-button:hover{background:#c4ffe2}
.banner-link{font-size:16px;display:inline-flex;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid #ffffff70}
.banner-link:hover{color:var(--banner-mint)}
.scene-bottom{position:absolute;bottom:30px;left:6%;right:6%;display:flex;gap:25px;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:1.5px;color:#e2e9e3}
.scene-bottom a{font-size:14px;letter-spacing:0}.scene-bottom a span{margin-left:22px}
.invitation-strip{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,70px);padding:27px 6%;background:#152d33;color:#e5ece4;font-size:12px;font-weight:700;letter-spacing:1.7px}
.invitation-strip b{font-size:23px;font-weight:400;color:var(--banner-mint)}
.landing-contained{width:100%;max-width:1440px;padding-left:6%;padding-right:6%;margin:0 auto}
.invitation{padding-top:100px;padding-bottom:92px;display:grid;grid-template-columns:1.05fr 1fr;gap:40px 10%}
.landing h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.12}
.invitation h2{font-size:clamp(42px,4.3vw,64px);color:#234d56}.invitation h2 em,.closing-invitation h2 em{color:#a34432}
.invitation-heading .eyebrow{font-size:12px;margin-bottom:25px}.invitation-lead{color:var(--muted);line-height:1.8;font-size:18px;margin-top:25px}
.invitation-copy{padding-top:46px}.invitation-copy p{font-size:18px;line-height:1.85;color:var(--muted);margin:0 0 22px}.invitation-copy .lead{color:var(--ink);font-size:24px;line-height:1.4}
.invitation-copy .text-link{font-size:17px}
.invitation-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:16px}
.invitation-steps article{border-top:1px solid #b7c6bd;padding-top:24px}.step-index{font-size:12px;font-weight:700;letter-spacing:1.6px;color:var(--teal)}
.invitation-steps h3{font-size:22px;letter-spacing:-.5px;font-weight:500;line-height:1.4;margin:17px 0 12px}.invitation-steps p{font-size:16px;line-height:1.85;color:var(--muted);margin:0;max-width:330px}
.festival-banner{height:100svh;min-height:720px}.festival-banner .scene-art{object-position:59% 50%}.festival-banner .scene-shade{background:linear-gradient(90deg,rgba(14,18,31,.88),rgba(14,18,31,.54) 42%,rgba(14,18,31,.08) 78%),linear-gradient(0deg,rgba(14,18,31,.82),transparent 33%)}
.festival-banner .scene-content h2{font:500 clamp(58px,6vw,92px)/1.07 Arial,Helvetica,sans-serif;letter-spacing:-.05em;max-width:950px;color:var(--banner-white)}
.festival-banner .scene-content h2 em{color:#ffd6ac}.festival-banner .banner-dash{background:#ffd6ac}.festival-banner .banner-button{background:#ffe0b4;color:#34281b}.festival-banner .banner-button:hover{background:#fff0d9}
.closing-invitation{padding-top:95px;padding-bottom:65px;display:grid;grid-template-columns:1.5fr 1fr;gap:10%;align-items:center}
.closing-invitation h2{font-size:clamp(38px,3.7vw,56px);color:#234d56}.closing-invitation .eyebrow{font-size:12px;margin-bottom:22px}
.closing-invitation>div>p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.8;max-width:600px;margin:26px 0}
.closing-invitation aside{border-left:1px solid #b9c9bd;padding:8px 0 8px 45px}.closing-symbol{font-size:45px;line-height:1;color:var(--teal)}
.closing-invitation aside p{font-size:32px;line-height:1.3;letter-spacing:-1px;color:#234d56;margin:20px 0}.closing-invitation aside em{color:#a34432}
.closing-invitation aside .text-link{gap:20px;line-height:1.6;font-size:16px}
.development-note{font-size:13px;line-height:1.8;color:var(--muted);padding-bottom:35px}
.worldly-banner{height:100svh;min-height:760px;background:#020a1b;align-items:flex-end}
.worldly-banner .worldly-art{object-position:center center}
.worldly-bottom-shade{position:absolute;inset:60% 0 0;z-index:-2;background:linear-gradient(0deg,#020a1bf0,#020a1b85 55%,transparent)}
.worldly-banner .scene-content{padding-top:0;padding-bottom:100px}
.app-divider{display:grid;grid-template-columns:minmax(24px,1fr) minmax(0,850px) minmax(24px,1fr);align-items:center;gap:32px;min-height:310px;padding:85px 6%;background:var(--paper);color:var(--ink)}
.app-divider:before,.app-divider:after{content:'';height:2px;background:currentColor;opacity:.6}
.landing .app-divider h2{margin:0;text-align:center;font:800 clamp(36px,4.5vw,68px)/1.12 Arial,Helvetica,sans-serif;letter-spacing:-.045em;text-wrap:balance}
.worldly-banner .scene-intro{font-size:19px;max-width:560px}
.worldly-banner .scene-actions{gap:24px;margin-top:24px}
.worldly-banner .banner-button{background:#b8dfff;color:#0c2443}
.worldly-banner .banner-button:hover{background:#d7edff}
.worldly-banner .banner-link{font-size:14px}
.worldly-banner .scene-bottom>span:last-child{font-size:12px;letter-spacing:0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:1600px){.scene-bottom{left:max(6%,calc((100% - 1440px)/2 + 6%));right:max(6%,calc((100% - 1440px)/2 + 6%))}}
@media(min-width:761px) and (max-width:1050px){.scene-banner{height:calc(100svh - 178px)}.festival-banner{height:100svh}.scene-content{padding-left:5%;padding-right:5%}.landing-contained{padding-left:5%;padding-right:5%}}
@media(max-width:760px){
 .scene-banner{height:calc(100svh - 96px);min-height:680px;align-items:center}.scene-art{object-position:61% center}.scene-shade{background:linear-gradient(90deg,#07171fd1,#07171f55),linear-gradient(0deg,#07171fc9,transparent 45%)}
 .scene-content{padding:65px 6% 125px}.scene-content .eyebrow{font-size:11px;letter-spacing:1.4px;line-height:1.8;gap:10px;margin-bottom:26px;max-width:340px}.banner-dash{width:23px}
 .scene-content h1{font-size:clamp(63px,14vw,95px);margin-bottom:26px}.scene-intro{font-size:18px;line-height:1.75;max-width:390px}.scene-intro br{display:none}
 .scene-actions{gap:18px 26px;margin-top:27px}.scene-actions .banner-button{font-size:15px;padding:15px 20px;gap:22px;min-height:54px}.banner-link{font-size:15px;padding:8px 0}
 .scene-bottom{bottom:26px;left:6%;right:6%;font-size:10px;letter-spacing:1.2px;line-height:1.8}.scene-bottom a{display:none}
 .invitation-strip{gap:18px;padding:22px 6%;font-size:10px;letter-spacing:1px;justify-content:space-between}.invitation-strip b{font-size:19px}.invitation-strip span{max-width:100px;line-height:1.7;text-align:center}
 .landing-contained{padding-left:6%;padding-right:6%}.invitation{padding-top:62px;padding-bottom:62px;grid-template-columns:1fr;gap:25px}.invitation h2{font-size:clamp(40px,10vw,55px)}.invitation-lead{font-size:17px}.invitation-copy{padding-top:0}.invitation-copy p{font-size:17px}.invitation-copy .lead{font-size:22px}
 .invitation-steps{grid-template-columns:1fr;gap:26px;margin-top:16px}.invitation-steps article{padding-top:22px}.invitation-steps h3{margin-top:13px}.invitation-steps p{max-width:100%;font-size:16px}
 .festival-banner{height:100svh;min-height:720px}.festival-banner .scene-art{object-position:63% center}.festival-banner .scene-shade{background:linear-gradient(90deg,#0e121fdb,#0e121f68),linear-gradient(0deg,#0e121fb3,transparent 45%)}.festival-banner .scene-content h2{font-size:clamp(49px,10.8vw,74px);line-height:1.1}.festival-banner .scene-content h2 em{font-size:1.02em}
 .closing-invitation{padding-top:62px;padding-bottom:38px;grid-template-columns:1fr;gap:35px}.closing-invitation h2{font-size:clamp(35px,8.7vw,48px)}.closing-invitation>div>p:not(.eyebrow){font-size:17px}.closing-invitation aside{border-left:0;border-top:1px solid #b9c9bd;padding:28px 0 0}.closing-invitation aside p{font-size:30px;margin:16px 0}.closing-symbol{font-size:32px}.development-note{font-size:12px;padding-bottom:26px}
 .worldly-banner{height:100svh;min-height:700px;align-items:flex-end}.worldly-banner .worldly-art{object-fit:contain;object-position:center 18%}.worldly-banner .scene-content{padding:0 6% 110px}.worldly-banner .scene-intro{font-size:18px;max-width:380px}.worldly-banner .scene-actions{gap:18px;margin-top:26px;align-items:flex-start;flex-direction:column}.worldly-banner .scene-bottom{flex-direction:column;align-items:flex-start;gap:6px;bottom:25px}.worldly-banner .scene-bottom>span:last-child{font-size:12px}.worldly-bottom-shade{inset:48% 0 0}
 .app-divider{grid-template-columns:minmax(20px,1fr) minmax(0,440px) minmax(20px,1fr);gap:14px;min-height:270px;padding:64px 6%}.landing .app-divider h2{font-size:clamp(29px,6.5vw,46px);letter-spacing:-.04em}
}
@media(forced-colors:active){.scene-content h1,.scene-content h2,.scene-content h1 em,.scene-content h2 em{color:CanvasText}.scene-content{background:Canvas}.banner-button{border:1px solid ButtonText}}

.reference-invite{background:#e8eee2;color:#234d56;border-top:1px solid #cad6c9;border-bottom:1px solid #cad6c9}.reference-invite>a{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 6%;max-width:1440px;margin:auto;text-decoration:none}.reference-invite-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 20px}.reference-invite-copy small{display:block;flex-basis:100%;font-size:10px;font-weight:700;letter-spacing:1.5px;color:#5c7368}.reference-invite-copy strong{font-size:23px;font-weight:600;line-height:1.4}.reference-invite-copy>span{font-size:14px;line-height:1.6;color:#536a60}.reference-invite-action{flex-shrink:0;display:inline-flex;align-items:center;gap:15px;background:#173941;color:#fffdf5;padding:14px 18px;border-radius:4px;font-size:15px;font-weight:600}.reference-invite>a:hover .reference-invite-action{background:#28575b}.reference-invite>a:focus-visible{outline:3px solid #b47752;outline-offset:-4px}@media(max-width:760px){.reference-invite>a{padding:19px 6%;align-items:flex-start;flex-direction:column;gap:14px}.reference-invite-copy{display:block}.reference-invite-copy small{font-size:9px;line-height:1.7;margin-bottom:6px}.reference-invite-copy strong{display:block;font-size:23px}.reference-invite-copy>span{display:block;font-size:14px;margin-top:4px}.reference-invite-action{font-size:14px;padding:12px 16px}}
