/*
Theme Name: Gratitude Experience
Theme URI: https://gratitudeconcert.com
Author: Gratitude Experience
Description: Presentation layer for the Gratitude Worship Experience concert. Public design and event content are separated from operational event management provided by the Gratitude Experience Core plugin.
Version: 1.4.32
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gratitude-experience
*/
:root{--paper:#f8f2e8;--paper-light:#fffcf7;--ink:#261e1a;--muted:#71675f;--orange:#c6411d;--orange-deep:#a73215;--accent:#f4ac62;--line:#ded2c5;--dark:#251d1a;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif;--shell:1192px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper-light);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #b23819;outline-offset:4px}
::selection{background:#e9a56d;color:#211712}
.shell{width:min(var(--shell),calc(100% - 72px));margin-inline:auto}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;z-index:100;top:12px;left:12px;padding:12px 18px;background:#fff;color:var(--ink);border-radius:8px}
.section-pad{padding:116px 0}
.section-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--orange-deep);font-weight:800;font-size:11px;line-height:1.4;letter-spacing:.19em}
.section-kicker>span{font-size:19px;line-height:0;letter-spacing:0}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(40px,4.6vw,66px);letter-spacing:-.057em;line-height:1.06;font-weight:800}
h2 em,.hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.065em}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:12px;font-weight:800;line-height:1.2;letter-spacing:.075em;white-space:nowrap;min-height:57px;padding:18px 25px;border-radius:4px;border:1px solid transparent;transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.button:hover{transform:translateY(-2px)}
.button span[aria-hidden]{font-size:17px;font-weight:400;line-height:1}
.button-primary{background:var(--orange);color:#fff;box-shadow:0 14px 30px #b9411b28}
.button-primary:hover{background:var(--orange-deep)}
.button-small{min-height:42px;padding:13px 17px;font-size:10px}
.button-text{color:var(--ink);padding-inline:0;gap:13px;background:transparent}
.button-text:hover{color:var(--orange-deep)}
.button-dark{background:var(--ink);color:white}
.button-dark:hover{background:var(--orange-deep)}
.button-outline-light{border-color:#a69183;color:#fff;background:transparent}
.button-outline-light:hover{border-color:white;background:#ffffff10}
.button-white{background:#fffaf3;color:var(--orange-deep)}
.button-white:hover{background:#fff}
.button-invite-text{background:transparent;color:#fff;border-color:#f9dec18c}
.button-invite-text:hover{border-color:#fff}
/* Navigation */
.site-header{position:sticky;top:0;z-index:80;background:#fffcf7f5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #e8ded3;box-shadow:0 5px 18px rgba(38,30,26,.05)}
body.admin-bar .site-header{top:32px}
@media screen and (max-width:782px){body.admin-bar .site-header{top:46px}}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:91px}
.brand{display:inline-flex;align-items:center;gap:11px;line-height:1;color:#29201b}
.brand-emblem{font-size:39px;color:var(--orange);line-height:1;display:inline-block;transform:rotate(-13deg)}
.brand-copy{display:flex;flex-direction:column;gap:6px}
.brand-copy strong{font-size:18px;letter-spacing:.085em;font-weight:900}
.brand-copy small{color:var(--orange-deep);font-size:9px;font-weight:800;letter-spacing:.34em}
.custom-logo{display:block;max-height:76px;width:auto}
.site-nav,.site-menu{display:flex;align-items:center;gap:30px}
.site-menu{list-style:none;margin:0;padding:0}
.site-menu a{font-size:12px;line-height:1.3;font-weight:700;color:#4d423b;transition:color .2s}
.site-menu a:hover,.site-menu a:focus{color:var(--orange)}
.header-cta{background:var(--ink);color:white}
.header-cta:hover{background:var(--orange-deep)}
.nav-toggle{display:none}
/* Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 73% 42%,#f5d4b66b 0%,transparent 37%),linear-gradient(135deg,#fbf7f0 0%,#f8eee3 72%,#fbf6ed 100%);padding-top:82px}
.hero-orb{position:absolute;pointer-events:none;border:1px solid #c96c3c2b;border-radius:50%}
.hero-orb-one{width:620px;height:620px;top:-385px;left:-215px}
.hero-orb-two{width:760px;height:760px;right:-450px;bottom:-470px}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:80px;min-height:660px;padding-bottom:78px}
.hero-copy{position:relative;z-index:2;padding-bottom:16px}
.eyebrow{display:inline-flex;align-items:center;gap:11px;color:var(--orange-deep);font-weight:900;letter-spacing:.19em;font-size:10px;line-height:1.4;margin-bottom:22px}
.eyebrow-star{font-size:20px;letter-spacing:0}
.hero h1{font-size:clamp(49px,5.2vw,79px);max-width:660px;line-height:1.03;letter-spacing:-.07em;font-weight:850;margin-bottom:27px}
.hero h1::first-letter{letter-spacing:-.085em}
.hero-description{color:#61564f;font-size:17px;line-height:1.75;max-width:530px;margin-bottom:30px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-bottom:60px}
.hero-facts{display:flex;align-items:flex-start;gap:25px;border-top:1px solid #dfcfc1;padding-top:27px;max-width:595px}
.hero-facts>div{display:flex;gap:9px;align-items:flex-start;flex:1;min-width:0}
.fact-icon{font-size:23px;line-height:1.1;color:var(--orange-deep)}
.hero-facts small{display:block;color:#86776c;font-size:9px;font-weight:900;letter-spacing:.15em;margin-bottom:4px}
.hero-facts strong{display:block;font-size:12px;font-weight:800;line-height:1.4}
.hero-visual{position:relative;z-index:1;margin:0 auto;width:min(100%,505px);padding:10px 18px 22px 0}
.hero-visual-label{position:absolute;z-index:3;right:-22px;top:-28px;font-size:9px;letter-spacing:.2em;color:#a75636;font-weight:900;transform:rotate(90deg);transform-origin:left top;white-space:nowrap}
.hero-visual-label span{font-size:14px}
.poster-frame{position:relative;overflow:hidden;transform:rotate(2.5deg);border:10px solid #fff9f2;box-shadow:0 40px 85px #52352226,0 0 0 1px #d8b9a0}
.poster-frame:after{content:"";position:absolute;inset:0;border:1px solid #cfbba733;pointer-events:none}
.poster-frame img{display:block;width:100%;height:auto}
.poster-stamp{position:absolute;z-index:2;left:-59px;bottom:56px;width:122px;height:122px;background:var(--orange);color:white;border-radius:50%;transform:rotate(-12deg);display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1.15;box-shadow:0 8px 26px #8e3c2233}
.poster-stamp>span{font-size:12px;font-weight:900;letter-spacing:.12em}.poster-stamp b{font-size:22px;line-height:1;margin-top:5px}
.hero-bottom-note{display:flex;align-items:center;gap:18px;padding:0 0 30px;font-size:9px;letter-spacing:.18em;color:#8b786c;font-weight:800}
.hero-line{display:block;width:38px;height:1px;background:#b69b85}
/* Ticker */
.ticker{overflow:hidden;background:var(--orange);color:#fff5e9;height:60px;display:flex;align-items:center}
.ticker-inner{width:100%;white-space:nowrap;overflow:hidden}
.ticker span{display:block;min-width:max-content;font-size:12px;letter-spacing:.27em;font-weight:900;text-align:center}
.ticker b{font-size:23px;vertical-align:-3px;margin:0 36px;color:#fbd09d}
/* Experiences */
.experience{background:#fffdf8}
.two-col-heading{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:80px;margin-bottom:47px}
.two-col-heading h2{margin:17px 0 0;max-width:775px}
.two-col-heading em{color:var(--orange-deep)}
.two-col-heading>p{max-width:370px;color:var(--muted);font-size:16px;line-height:1.8;margin:0 0 8px}
.experience-heading{grid-template-columns:1fr}
.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.experience-card{position:relative;display:flex;flex-direction:column;min-height:325px;background:#faf4ec;border:1px solid #eee2d5;border-radius:3px;padding:31px;overflow:hidden}
.experience-card:nth-child(2){background:#f7e9d8}.experience-card:nth-child(3){background:#f2ebe4}
.card-number{font-size:10px;font-weight:900;letter-spacing:.17em;color:#8c5948}
.feature-symbol{font-family:var(--serif);font-size:69px;line-height:1;color:var(--orange);font-weight:400;margin:28px 0 20px}
.experience-card h3{font-size:26px;letter-spacing:-.047em;line-height:1.2;margin:0 0 9px}
.experience-card p{font-size:14px;color:#6c625a;line-height:1.65;max-width:285px;margin:0 0 22px}
.card-line{width:42px;height:2px;background:var(--orange);margin-top:auto}
/* Verse */
.verse-section{padding:88px 0;background:#efe2d2;text-align:center;border-block:1px solid #e5d5c3}
.verse-inner{max-width:940px}
.verse-ornament{color:var(--orange);font-size:37px;line-height:1}
.verse-inner p{font:italic clamp(30px,3.6vw,53px)/1.35 var(--serif);letter-spacing:-.047em;margin:13px auto 22px}
.verse-reference{font-size:10px;letter-spacing:.22em;font-weight:900;color:#a04d30}
/* Details */
.details{background:var(--dark);position:relative;overflow:hidden;color:white}
.details-layout{position:relative;z-index:2;display:grid;grid-template-columns:.95fr 1.05fr;gap:105px;align-items:center}
.section-kicker-light{color:#efb68a}
.details-intro h2{font-size:clamp(46px,5.3vw,76px);max-width:540px;margin:19px 0 26px}
.details-intro h2 em{color:#edb78b}
.details-intro>p{max-width:415px;color:#c4b5aa;line-height:1.8;font-size:16px;margin-bottom:32px}
.event-detail-card{background:#fffaf2;color:var(--ink);border-radius:4px;padding:33px 40px 10px;box-shadow:0 28px 70px #0a070644}
.event-detail-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:17px;font-size:11px;font-weight:900;letter-spacing:.18em}
.event-detail-header>span:last-child{font-size:29px;color:var(--orange)}
.event-detail-row{display:grid;grid-template-columns:126px 1fr;gap:16px;align-items:start;border-bottom:1px solid #e8dacf;padding:25px 0}
.detail-label{font-size:10px;font-weight:900;letter-spacing:.16em;color:#9b745f;padding-top:7px}
.event-detail-row strong{font-size:23px;line-height:1.35;letter-spacing:-.04em;font-weight:800}
.event-detail-row:nth-last-of-type(2) strong{font-size:19px}
.event-detail-actions{display:flex;flex-wrap:wrap;gap:15px 25px;padding:24px 0}
.event-detail-actions a{display:inline-flex;align-items:center;gap:9px;color:var(--orange-deep);font-size:10px;font-weight:900;letter-spacing:.08em}
.event-detail-actions a:hover{text-decoration:underline;text-underline-offset:3px}
.event-detail-actions a span[aria-hidden]{font-size:17px}
.details-watermark{position:absolute;left:-29px;bottom:-88px;font-size:clamp(120px,18.4vw,330px);letter-spacing:-.08em;font-weight:900;color:#ffffff06;line-height:.9;pointer-events:none}
/* Visit */
.visit{background:#f9f4eb;overflow:hidden}
.visit-layout{display:grid;grid-template-columns:1fr .95fr;gap:80px;align-items:center}
.visit-copy h2{margin:17px 0 23px;max-width:570px}
.visit-copy h2 em{color:var(--orange-deep)}
.visit-copy>p{color:#6c6058;max-width:420px;line-height:1.8;margin-bottom:35px}
.visit-address{display:flex;gap:18px;max-width:460px;border-block:1px solid #e2d3c3;padding:25px 0;margin-bottom:28px}
.visit-pin{width:43px;height:43px;display:grid;place-items:center;border:1px solid #d7ac90;border-radius:50%;font-size:30px;line-height:1;color:var(--orange-deep);flex-shrink:0}
.visit-address small{display:block;font-weight:900;font-size:10px;color:#9d604a;letter-spacing:.14em;margin-bottom:6px}
.visit-address strong{display:block;font-size:19px;line-height:1.45;letter-spacing:-.04em}
.visit-art{position:relative;min-height:495px;background:#e8cbb0;border:1px solid #d7b89f;border-radius:50% 50% 4px 4px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.visit-art:before,.visit-art:after{content:"";position:absolute;border:1px solid #b98562;border-radius:50%;width:660px;height:660px}
.visit-art:after{width:560px;height:560px;border-color:#fff8f066}
.visit-art-circle{position:relative;z-index:2;background:radial-gradient(circle at 50% 40%,#d55b30,#ae3118 75%);border:1px solid #f9d5bd;width:345px;height:345px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 15px 55px #6c321c20;text-align:center;transform:rotate(-8deg)}
.visit-art-circle>span{font-size:12px;letter-spacing:.21em;font-weight:800}
.visit-art-circle strong{font:italic 52px/.98 var(--serif);letter-spacing:-.065em;margin:17px 0 16px}
.visit-art-circle b{font-size:33px;line-height:1;margin-top:5px;font-weight:400}
.visit-art-corner{position:absolute;z-index:2;bottom:17px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.13em;color:#6d4430;font-weight:800}
.visit-art-corner span{font-size:20px;color:var(--orange-deep)}

/* Nearby lodging */
.visit-hotels{margin-top:56px;padding-top:42px;border-top:1px solid #e2d3c3}
.visit-hotels-toggle{display:none}
.visit-hotels-content{display:block}
.visit-hotels-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}
.visit-hotels-head h3{margin:8px 0 0;font-size:clamp(28px,3vw,40px);letter-spacing:-.045em;line-height:1.08}
.visit-hotels-head p{margin:0;max-width:520px;color:#6c6058;line-height:1.65;font-size:14px}
.visit-hotels-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.visit-hotel{display:flex;flex-direction:column;min-height:205px;background:#fffdf9;border:1px solid #e6d8ca;border-radius:8px;padding:22px;box-shadow:0 12px 28px #5d321d0a}
.visit-hotel small{display:block;color:#9d604a;font-size:9px;font-weight:900;letter-spacing:.14em;margin-bottom:8px}
.visit-hotel h4{margin:0 0 9px;font-size:18px;line-height:1.25;letter-spacing:-.025em}
.visit-hotel address{font-style:normal;color:#71675f;font-size:13px;line-height:1.55;margin-bottom:17px}
.visit-hotel a{margin-top:auto;color:var(--orange-deep);font-size:11px;font-weight:900;letter-spacing:.08em;text-decoration:underline;text-underline-offset:4px}
.visit-hotels-more{display:flex;justify-content:center;margin:24px 0 0}.visit-hotels-more .button{min-height:50px;padding:15px 22px;font-size:10px}.visit-hotels-note{margin:16px 0 0;color:#80736a;font-size:11px;line-height:1.55}
/* FAQs */
.faq{background:#fffdf8}
.faq-layout{display:grid;grid-template-columns:.76fr 1.24fr;gap:85px}
.faq-intro h2{margin:16px 0 20px}
.faq-intro h2 em{color:var(--orange-deep)}
.faq-intro p{color:var(--muted)}
.faq-list{border-top:1px solid #d8c9bb}
.faq-list details{border-bottom:1px solid #d8c9bb}
.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 1px;color:var(--ink);font-size:17px;font-weight:800;letter-spacing:-.02em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{display:grid;place-items:center;flex-shrink:0;border:1px solid #d8c9bb;width:29px;height:29px;border-radius:50%;color:var(--orange);font-size:22px;font-weight:400;line-height:1;transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:-4px 0 23px;color:#655950;line-height:1.75;font-size:15px;max-width:590px}
.faq-list details p a{color:var(--orange-deep);text-decoration:underline;text-underline-offset:3px}
/* Invitation + Footer */
.invite{position:relative;background:linear-gradient(126deg,#b83418,#d65328 60%,#c4461e);color:white;text-align:center;overflow:hidden}
.invite:before,.invite:after{content:"";width:680px;height:680px;border:1px solid #ffe7d62b;border-radius:50%;position:absolute;top:-410px;left:-330px}
.invite:after{top:auto;left:auto;right:-370px;bottom:-430px}
.invite-inner{position:relative;z-index:1;max-width:950px;padding:88px 0 80px}
.invite-star{display:block;font-size:52px;line-height:1;color:#ffd4a8;margin-bottom:14px}
.invite .section-kicker{color:#ffdfc7}
.invite h2{font-size:clamp(52px,6.4vw,91px);margin:17px 0 25px;line-height:1.04}
.invite h2 em{color:#ffdcaa}
.invite p{max-width:520px;color:#ffecdf;line-height:1.7;margin:0 auto 28px}
.invite-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:13px}
.invite-small{display:block;margin-top:51px;font-size:10px;letter-spacing:.25em;font-weight:900;color:#ffe1ca}
.site-footer{background:#241d19;color:#fdf0e6;padding:57px 0 42px}
.footer-inner{display:flex;justify-content:space-between;gap:40px;align-items:flex-end}
.footer-brand{font-size:23px;font-weight:900;letter-spacing:-.04em;line-height:1.2}
.footer-brand>span:first-child{font-family:var(--serif);font-style:italic;font-weight:400;font-size:22px}
.footer-spark{color:#e6a179;margin-left:12px}
.site-footer p{font-size:13px;color:#baaca2;margin:13px 0 0}
.footer-right{text-align:right}
.footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:21px;margin-bottom:17px}
.footer-links a{font-size:12px;color:#f5ebe1}
.footer-links a:hover{color:#f6b185}
.site-footer small{font-size:11px;color:#aaa097}
/* WordPress content templates */
.page-main{background:#fffdf8;min-height:55vh;padding:105px 0 130px}
.content-shell{max-width:840px}
.content-article h1,.listing-title,.missing-page h1{font-size:clamp(42px,6vw,68px);line-height:1.09;letter-spacing:-.055em;margin:18px 0 36px}
.entry-content{font-size:17px;line-height:1.85;color:#4e433b}
.entry-content h2,.entry-content h3{margin-top:45px;color:var(--ink);line-height:1.17}
.entry-content h2{font-size:36px}.entry-content h3{font-size:26px}
.entry-content a,.read-more{color:var(--orange-deep);text-decoration:underline;text-underline-offset:3px}
.entry-content img{height:auto;max-width:100%}
.entry-content blockquote{border-left:3px solid var(--orange);margin-left:0;padding-left:24px;font-family:var(--serif);font-style:italic;font-size:24px}
.post-preview{border-top:1px solid var(--line);padding:30px 0}
.post-preview h2{font-size:29px;line-height:1.2;margin-bottom:8px}
.post-preview p{color:var(--muted);margin-bottom:12px}.post-meta{font-size:12px;color:#8b7263;letter-spacing:.08em}
.missing-page p{max-width:470px;margin-bottom:26px;color:var(--muted)}
/* Responsive layouts */
@media(max-width:1100px){.shell{width:min(var(--shell),calc(100% - 52px))}.hero-grid{gap:38px}.hero h1{font-size:clamp(47px,5.4vw,70px)}.hero-facts{gap:11px}.poster-stamp{left:-39px;width:105px;height:105px}.details-layout{gap:48px}.visit-layout{gap:45px}.faq-layout{gap:48px}.site-nav,.site-menu{gap:19px}.header-inner{gap:18px}}
@media(max-width:900px){.visit-hotels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{min-height:76px}.nav-toggle{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;background:transparent;border:1px solid #decfc2;width:43px;height:43px;border-radius:3px}.nav-toggle span{display:block;width:19px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:50;background:#fffcf7;box-shadow:0 18px 35px #27191016;border-bottom:1px solid #e6d6c9;padding:19px 26px 28px;max-height:calc(100vh - 77px);overflow-y:auto}.site-nav.is-open{display:block}.site-menu{flex-direction:column;align-items:stretch;gap:0}.site-menu li{border-bottom:1px solid #ebded3}.site-menu a{display:block;padding:14px 5px;font-size:15px}.header-cta{margin-top:20px;width:100%}.hero-grid{grid-template-columns:1fr 1fr;gap:30px}.hero h1{font-size:clamp(43px,5.7vw,60px)}.hero-description{font-size:15px}.hero-facts{flex-wrap:wrap}.hero-facts>div{flex-basis:43%}.section-pad{padding:87px 0}.two-col-heading{gap:40px}.details-layout{grid-template-columns:1fr 1fr;gap:32px}.event-detail-card{padding:25px 23px 5px}.event-detail-row{grid-template-columns:96px 1fr}.event-detail-row strong{font-size:19px}.visit-art{min-height:390px}.visit-art-circle{width:300px;height:300px}.visit-art-circle strong{font-size:43px}.faq-layout{grid-template-columns:.75fr 1.25fr;gap:30px}}
@media(max-width:720px){.visit-hotels{margin-top:34px;padding-top:30px}.visit-hotels-toggle{display:flex;width:100%;justify-content:space-between;text-align:left;padding-inline:20px}.visit-hotels-toggle-icon{font-size:20px;line-height:1;transition:transform .2s ease}.visit-hotels.is-open .visit-hotels-toggle-icon{transform:rotate(45deg)}.visit-hotels-content{display:none;padding-top:26px}.visit-hotels.is-open .visit-hotels-content{display:block}.visit-hotels-head{display:block}.visit-hotels-head p{margin-top:12px}.visit-hotels-grid{grid-template-columns:1fr}.visit-hotel{min-height:0}.visit-art{display:none!important}.visit{padding:52px 0}.visit-copy h2{font-size:clamp(34px,9vw,44px);margin:10px 0 14px}.visit-copy>p{font-size:14px;line-height:1.6;margin-bottom:24px}.visit-address{padding:18px 0;margin-bottom:20px}.visit-address strong{font-size:16px}.shell{width:calc(100% - 38px)}.section-pad{padding:73px 0}.hero{padding-top:55px}.hero-grid{grid-template-columns:1fr;gap:38px;min-height:0;padding-bottom:54px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(46px,10.1vw,68px);max-width:600px}.hero-description{max-width:520px;font-size:16px}.hero-actions{margin-bottom:38px}.hero-facts{max-width:600px;gap:18px}.hero-facts>div{flex-basis:27%}.hero-visual{width:min(440px,calc(100% - 50px));margin:0 auto;padding-right:0}.hero-visual-label{right:-22px;top:-3px}.poster-stamp{left:-35px;bottom:45px}.hero-bottom-note{padding-bottom:25px}.two-col-heading{grid-template-columns:1fr;gap:15px;margin-bottom:30px}.two-col-heading>p{max-width:590px}.experience-grid{grid-template-columns:1fr;gap:12px}.experience-card{min-height:225px;padding:25px}.feature-symbol{margin:14px 0 9px;font-size:48px}.experience-card h3{font-size:25px}.experience-card p{margin-bottom:16px;max-width:none}.verse-section{padding:73px 0}.details-layout{grid-template-columns:1fr;gap:40px}.details-intro h2{max-width:680px;margin-bottom:18px}.details-intro>p{margin-bottom:23px}.event-detail-card{max-width:620px;width:100%;padding:27px 28px 6px}.event-detail-row{grid-template-columns:110px 1fr}.event-detail-row strong{font-size:21px}.visit-layout{grid-template-columns:1fr;gap:48px}.visit-art{min-height:400px;max-width:600px;width:100%;margin-inline:auto}.faq-layout{grid-template-columns:1fr;gap:23px}.faq-intro h2{margin-bottom:10px}.faq-intro p{margin-bottom:0}.invite-inner{padding:74px 0}.footer-inner{align-items:flex-start;flex-direction:column;gap:35px}.footer-right{text-align:left}.footer-links{justify-content:flex-start}}
@media(max-width:480px){.brand-emblem{font-size:32px}.brand-copy strong{font-size:16px}.brand-copy small{font-size:8px}.header-inner{min-height:72px}.hero{padding-top:43px}.hero h1{font-size:clamp(45px,11.3vw,57px)}.hero-description{font-size:15px}.hero-actions{gap:4px 14px;align-items:stretch}.hero-actions .button-primary{width:100%}.hero-actions .button-text{justify-content:flex-start}.hero-facts{gap:18px 10px}.hero-facts>div{flex-basis:44%}.hero-facts>div:last-child{flex-basis:95%}.hero-visual{width:calc(100% - 36px)}.poster-frame{border-width:7px}.poster-stamp{width:95px;height:95px;left:-25px;bottom:34px}.poster-stamp>span{font-size:10px}.poster-stamp b{font-size:19px}.ticker{height:53px}.ticker span{font-size:10px}.ticker b{margin:0 17px;font-size:18px}.experience h2,.visit h2,.faq h2{font-size:clamp(39px,9.9vw,51px)}.verse-inner p{font-size:clamp(28px,7.7vw,38px)}.details-intro h2{font-size:clamp(44px,11vw,58px)}.event-detail-card{padding:23px 20px 4px}.event-detail-row{grid-template-columns:83px 1fr;gap:10px}.event-detail-row strong{font-size:19px}.event-detail-row:nth-last-of-type(2) strong{font-size:17px}.visit-art{min-height:355px}.visit-art-circle{width:280px;height:280px}.visit-art-circle strong{font-size:39px}.visit-art-corner{font-size:8px}.faq-list summary{font-size:15px;line-height:1.45;padding:21px 0}.invite h2{font-size:clamp(49px,12vw,70px)}.invite-actions .button{width:100%}.invite-small{margin-top:39px;letter-spacing:.15em;font-size:9px}.site-footer{padding:44px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Volunteer applications */
.volunteer{background:linear-gradient(145deg,#f7ebe0 0%,#fcf8f1 53%,#f5e8d9 100%);border-top:1px solid #ebd8c9;border-bottom:1px solid #e8d6c6}
.volunteer-layout{display:grid;grid-template-columns:.85fr 1.15fr;align-items:start;gap:clamp(36px,6vw,96px)}
.volunteer-copy{padding-top:31px}
.volunteer-copy h2{font-size:clamp(48px,5.1vw,72px);margin:18px 0 25px;max-width:480px}
.volunteer-copy h2 em{color:var(--orange-deep)}
.volunteer-copy>p{max-width:440px;font-size:17px;line-height:1.8;color:#66594f;margin:0 0 37px}
.volunteer-note{display:flex;align-items:flex-start;gap:16px;border-top:1px solid #d9c5b5;border-bottom:1px solid #d9c5b5;padding:23px 0;margin-bottom:30px;max-width:420px;font-size:13px;line-height:1.75;color:#6f5547}
.volunteer-note>span:first-child{font-size:28px;color:var(--orange);line-height:1.1}
.volunteer-tasks{display:flex;flex-wrap:wrap;gap:9px;max-width:440px}
.volunteer-tasks span{padding:9px 12px;border:1px solid #d4bbaa;border-radius:40px;font-size:9px;font-weight:900;line-height:1.3;letter-spacing:.09em;color:#83412b}
.volunteer-form-card{position:relative;background:#fffdfa;border:1px solid #e7d7ca;border-radius:7px;box-shadow:0 24px 65px #74402112;padding:35px clamp(24px,3.3vw,48px) 33px}
.volunteer-form-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:2px solid var(--ink);font-size:10px;letter-spacing:.18em;font-weight:900;color:#91533b}
.volunteer-form-top span:last-child{font-size:28px;line-height:1;color:var(--orange)}
.volunteer-form-card h3{font-size:clamp(27px,2.4vw,36px);line-height:1.16;letter-spacing:-.055em;margin:25px 0 9px}
.volunteer-form-intro{color:#78695e;font-size:13px;line-height:1.72;max-width:490px;margin-bottom:27px}
.volunteer-form{display:flex;flex-direction:column;gap:19px}
.volunteer-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.volunteer-field{display:flex;flex-direction:column;min-width:0;gap:7px}
.volunteer-field label{font-size:11px;line-height:1.45;font-weight:800;color:#3c2f29}
.volunteer-field label>span:not(.optional){color:var(--orange)}
.volunteer-field .optional{color:#948278;font-weight:500}
.volunteer-field input,.volunteer-field select,.volunteer-field textarea{width:100%;min-height:47px;border:1px solid #d9c9bd;background:#fffcf8;color:#29201d;padding:12px 13px;border-radius:3px;font-size:13px;line-height:1.35;outline-offset:2px;transition:border-color .2s,background-color .2s}
.volunteer-field select{cursor:pointer;padding-right:29px}
.volunteer-field textarea{resize:vertical;min-height:96px}
.volunteer-field input::placeholder,.volunteer-field textarea::placeholder{color:#9a8b7e;opacity:1}
.volunteer-field input:hover,.volunteer-field select:hover,.volunteer-field textarea:hover{border-color:#b79581}
.volunteer-field input:focus,.volunteer-field select:focus,.volunteer-field textarea:focus{border-color:var(--orange);background:#fff}
.volunteer-consent{display:flex;align-items:flex-start;gap:10px;color:#695a50;font-size:12px;line-height:1.65;cursor:pointer;margin-top:1px}
.volunteer-consent input{flex:0 0 17px;width:17px;height:17px;margin:2px 0 0;accent-color:var(--orange);cursor:pointer}
.volunteer-consent a{color:var(--orange-deep);text-decoration:underline;text-underline-offset:2px}
.volunteer-release{border:1px solid #d9c9bd;border-radius:5px;background:#fff9f1;padding:18px 18px 16px;min-width:0}
.volunteer-release details{min-width:0}
.volunteer-release summary{cursor:pointer;color:#39241d;font-weight:800;font-size:14px;line-height:1.5;list-style-position:outside;margin-left:15px}
.volunteer-release summary:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.volunteer-release-copy{color:#54453b;font-size:12px;line-height:1.78;padding-top:4px;overflow-wrap:break-word}
.volunteer-release-copy p{margin:12px 0}
.volunteer-media-consent{padding-top:13px;margin-top:14px;border-top:1px solid #e8d7c8;color:#382c25}
.volunteer-media-consent strong{font-weight:800}
.volunteer-submit{width:100%;font-size:11px;margin-top:2px}
.volunteer-submit:disabled{opacity:.68;cursor:not-allowed;transform:none}
.volunteer-form-footnote{font-size:11px;color:#85766b;margin:-8px 0 0;line-height:1.5}
.volunteer-alert{font-size:13px;line-height:1.6;padding:13px 15px;border-left:4px solid;margin-bottom:22px;border-radius:3px}
.volunteer-alert-success{background:#e9f5e8;color:#244c29;border-color:#4d9154}
.volunteer-alert-error{background:#fff0e8;color:#853d24;border-color:var(--orange)}
.volunteer-preview-note{font-size:12px;line-height:1.65;background:#faf0e6;border:1px solid #edd3bb;color:#8a4b2c;padding:12px 14px;border-radius:4px;margin:0 0 22px}
.volunteer-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){.volunteer-layout{grid-template-columns:.8fr 1.2fr;gap:30px}.volunteer-form-card{padding:27px 22px}.volunteer-field-row{grid-template-columns:1fr;gap:19px}.volunteer-copy h2{font-size:clamp(42px,5vw,57px)}}
@media(max-width:720px){.volunteer-layout{grid-template-columns:1fr;gap:35px}.volunteer-copy{padding-top:0}.volunteer-copy h2{max-width:570px;font-size:clamp(43px,9vw,63px)}.volunteer-copy>p{max-width:600px;margin-bottom:25px}.volunteer-note{max-width:620px;margin-bottom:24px}.volunteer-tasks{max-width:620px}.volunteer-form-card{max-width:620px;width:100%;padding:30px clamp(20px,5vw,38px)}}
@media(max-width:480px){.volunteer-field-row{grid-template-columns:1fr}.volunteer-form-card{padding:24px 19px}.volunteer-form-card h3{font-size:29px}.volunteer-copy h2{font-size:clamp(42px,10vw,56px)}.volunteer-note{gap:11px}}

/* v1.2: approved flyer-first mobile layout. Desktop styles above are unchanged. */
.brand-subtitle-mobile,.hero-mobile-intro{display:none}
@media(max-width:720px){
  .brand-subtitle-desktop{display:none}
  .brand-subtitle-mobile{display:inline}
  .site-header{border-bottom:0}
  .header-inner{min-height:69px}
  .brand-emblem{display:none}
  .brand-copy{gap:4px}
  .brand-copy strong{color:var(--orange-deep);font-size:23px;letter-spacing:.13em;line-height:1}
  .brand-copy small{font-size:8px;color:#39302a;letter-spacing:.27em}
  .nav-toggle{border:0;width:45px;height:45px}
  .nav-toggle span{background:var(--orange-deep);width:23px}
  .hero{padding-top:0;background:var(--paper-light)}
  .hero-orb{display:none}
  .hero .hero-grid{width:100%;display:flex;flex-direction:column;gap:0;min-height:0;padding-bottom:0}
  .hero-copy{display:none}
  .hero-visual{order:0;width:100%;max-width:none;margin:0;padding:0}
  .hero-visual-label{display:none}
  .poster-frame{transform:none;border:0;box-shadow:none;overflow:hidden}
  .poster-frame:after{display:none}
  .poster-frame img{display:block;width:100%;height:auto}
  .poster-stamp{left:8px;top:53%;bottom:auto;width:clamp(75px,18.5vw,112px);height:clamp(75px,18.5vw,112px);transform:rotate(-12deg);box-shadow:none}
  .poster-stamp>span{font-size:clamp(9px,2.2vw,13px)}
  .poster-stamp b{font-size:22px}
  .hero-bottom-note{display:none}
  .hero-mobile-intro{display:block;order:1;width:100%;padding:34px 20px 44px;text-align:center;background:var(--paper-light)}
  .hero-mobile-kicker{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--orange-deep);font-size:11px;font-weight:900;letter-spacing:.3em;line-height:1.4}
  .hero-mobile-kicker>span{width:27px;height:1px;background:var(--orange);flex:0 0 auto}
  .hero-mobile-intro h1{font-family:var(--serif);font-size:clamp(39px,8.3vw,62px);font-weight:500;letter-spacing:-.068em;line-height:1.07;margin:17px auto 13px;max-width:640px}
  .hero-mobile-description{font-size:clamp(14px,3.5vw,18px);line-height:1.55;color:#564c45;max-width:520px;margin:0 auto 28px}
  .hero-mobile-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:620px;margin:0 auto 26px}
  .hero-mobile-facts>div{min-width:0;padding:0 8px;display:flex;flex-direction:column;align-items:center}
  .hero-mobile-facts>div+div{border-left:1px solid #e5d2c2}
  .hero-mobile-fact-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f7e8d7;color:var(--orange);font-size:25px;line-height:1;margin-bottom:11px}
  .hero-mobile-facts small{color:var(--orange-deep);font-weight:900;font-size:9px;letter-spacing:.15em;margin-bottom:7px}
  .hero-mobile-facts strong{font-size:clamp(10px,2.6vw,14px);line-height:1.5;font-weight:500;overflow-wrap:anywhere}
  .hero-mobile-actions{display:grid;gap:10px;max-width:630px;margin:0 auto 31px}
  .hero-mobile-actions .button{width:100%;border-radius:7px;min-height:53px;white-space:normal;text-transform:uppercase;letter-spacing:.15em;font-size:11px;gap:18px}
  .button-mobile-outline{border:1px solid var(--orange);color:var(--orange-deep);background:transparent}
  .button-mobile-outline:hover{background:#f6e8da}
  .hero-mobile-expect{max-width:620px;margin-inline:auto}
  .hero-mobile-expect .hero-mobile-kicker{margin-bottom:23px}
  .hero-mobile-expect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-mobile-expect-grid>div{display:flex;align-items:center;flex-direction:column;gap:8px;padding:0 7px}
  .hero-mobile-expect-grid>div+div{border-left:1px solid #e5d2c2}
  .hero-mobile-expect-grid>div>span{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#f8e9d8;color:var(--orange);font-size:26px;line-height:1}
  .hero-mobile-expect-grid strong{font-weight:650;font-size:clamp(9px,2.2vw,12px);letter-spacing:.045em;line-height:1.55}
}
@media(max-width:480px){
  .hero{padding-top:0}
  .header-inner{min-height:64px}
  .brand-copy strong{font-size:22px}
  .hero-visual{width:100%}
  .poster-frame{border:0}
  .poster-stamp{left:5px;top:53%;width:clamp(72px,18.5vw,94px);height:clamp(72px,18.5vw,94px)}
  .hero-mobile-intro{padding:31px 17px 40px}
  .hero-mobile-facts>div{padding-inline:5px}
  .hero-mobile-fact-icon{width:38px;height:38px;font-size:23px}
  .hero-mobile-expect-grid>div{padding-inline:4px}
}

/* Volunteer department multi-select — mobile and desktop. */
.volunteer-departments{border:1px solid #dfccbc;border-radius:5px;padding:17px 17px 19px;margin:0;min-width:0;background:#fffcf8}
.volunteer-departments legend{font-size:13px;font-weight:800;line-height:1.6;color:#382d28;padding:0 5px}
.volunteer-departments legend>span{color:var(--orange)}
.volunteer-departments .volunteer-form-footnote{margin:0 0 15px}
#volunteer-department-count{font-weight:800;color:var(--orange-deep);white-space:nowrap}
.volunteer-department-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 15px}
.volunteer-department-option{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.45;color:#362b27;cursor:pointer;padding:7px 3px}
.volunteer-department-option input{appearance:auto;flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:var(--orange);cursor:pointer}
.volunteer-department-option input:disabled{cursor:not-allowed;opacity:.35}
.volunteer-department-error{color:#a82c12;font-size:12px;margin:12px 0 0}
@media(max-width:480px){.volunteer-department-options{grid-template-columns:1fr}.volunteer-departments{padding:13px}}

/* v1.3 additions. The approved v1.2 hero and mobile-first poster styles remain unchanged. */
.minister-section{background:#fffaf4}.minister-top{display:flex;justify-content:space-between;align-items:end;gap:38px;margin-bottom:35px}
.minister-top h2{max-width:650px;margin:15px 0 0}.minister-top>p{max-width:350px;color:var(--muted);font-size:15px;margin:0 0 9px}
.minister-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.minister-card{background:#fff;border:1px solid #e8dbcc;border-radius:7px;overflow:hidden;box-shadow:0 16px 38px #68401b0c}
.minister-photo{height:290px;position:relative;background:linear-gradient(130deg,#542b24,#c64a20 65%,#f9c991);overflow:hidden}
.minister-photo img{width:100%;height:100%;object-fit:cover;display:block}
.minister-photo-placeholder{display:grid;place-items:center;color:#fff8f0;font-size:90px;height:100%}
.minister-stock-label{position:absolute;left:12px;right:12px;bottom:12px;background:#fffaf4f5;color:#543025;padding:8px;font-size:10px;font-weight:700;letter-spacing:.035em;text-align:center;border-radius:3px;line-height:1.35}
.minister-card-body{padding:26px}.minister-card-kicker{color:var(--orange-deep);font-size:10px;font-weight:800;letter-spacing:.16em}.minister-card h3{font-family:var(--serif);font-size:clamp(25px,2.5vw,36px);font-weight:500;line-height:1.14;margin:10px 0 13px}.minister-card p{color:#6f5e54;font-size:14px;line-height:1.7;margin:0}
.minister-preview-alert{background:#fff0c9;color:#694525;border:1px solid #e7c783;padding:15px 18px;border-radius:5px;font-size:13px;margin:0 0 25px}
.minister-awaiting{border:1px solid #e6d7c7;background:#fffcf9;border-radius:5px;padding:35px;text-align:center;color:#645049}.minister-awaiting>span{color:var(--orange);font-size:32px}.minister-awaiting p{margin:8px 0 0}
.ge-rsvp{background:#f8f0e6}.ge-rsvp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:60px;align-items:start}.ge-rsvp-intro h2{margin:18px 0 24px;max-width:590px}.ge-rsvp-intro>p{color:#695a50;max-width:490px}.ge-rsvp-footnote{font-size:12px!important;color:#907b69!important}.ge-rsvp-card{border:1px solid #e0cabb;background:#fffcf8;border-radius:8px;padding:35px;box-shadow:0 22px 55px #b6753715}.ge-rsvp-card h3{font-family:var(--serif);font-size:32px;font-weight:500;line-height:1.12;margin:0 0 24px}.ge-rsvp-form{display:grid;gap:20px}.ge-rsvp-form .volunteer-consent{margin:0}.ge-rsvp-notice,.ge-ticket-warning{background:#fff0d6;color:#715332;border:1px solid #ecd4ac;border-radius:4px;padding:13px 15px;font-size:13px;line-height:1.5;margin:0 0 22px}.ge-rsvp-form .button{width:100%}
.ge-ticket-page{min-height:68vh;padding:95px 0;background:#f8f0e6}.ge-ticket-box{background:#fff;border:1px solid #e2d2c3;padding:45px;max-width:700px;text-align:center;border-radius:10px}.ge-ticket-box h1{font-family:var(--serif);font-weight:500;font-size:clamp(33px,5vw,56px);line-height:1.15;margin:20px 0}.ge-ticket-code{padding:16px;background:#fff5ea;border-radius:5px;margin:25px auto;max-width:400px}.ge-qr-holder{display:flex;justify-content:center;min-height:175px}.ge-qr-holder canvas{width:min(260px,100%);height:auto;image-rendering:pixelated;border:1px solid #eadacb;border-radius:7px}.ge-ticket-page small{color:#716257}.ge-portal-card{max-width:800px;margin:65px auto;padding:38px;border:1px solid #e8d9cb;background:#fffcf8;border-radius:8px}.ge-portal-card h2{font-size:clamp(32px,4vw,50px)}.ge-portal-card h3{margin:25px 0 6px}
@media(max-width:900px){.minister-top{align-items:start;flex-direction:column;gap:10px}.minister-grid{gap:15px}.minister-photo{height:235px}.minister-card-body{padding:20px}.ge-rsvp-layout{gap:28px}}
@media(max-width:720px){.minister-section{padding:62px 0}.minister-grid{grid-template-columns:1fr;max-width:540px;margin:auto}.minister-photo{height:360px}.minister-top h2{font-size:clamp(38px,8vw,57px)}.ge-rsvp{padding:68px 0}.ge-rsvp-layout{grid-template-columns:1fr;gap:24px}.ge-rsvp-card{padding:27px 22px}.ge-ticket-page{padding:40px 0}.ge-ticket-box{padding:30px 18px}}
@media(max-width:440px){.minister-photo{height:280px}.ge-rsvp-card h3{font-size:29px}}

/* v1.3.6 — public event details and Eventbrite story integration. */
.vision{background:#f5eadc;border-top:1px solid #ead8c7;border-bottom:1px solid #ead8c7}
.vision-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.75fr);gap:80px;align-items:center}
.vision-copy h2{margin:17px 0 24px;max-width:690px}.vision-copy h2 em{color:var(--orange-deep)}
.vision-copy p{max-width:690px;color:#655950;line-height:1.82;margin:0 0 16px}.vision-copy p strong{color:var(--ink)}
.vision-card{position:relative;background:var(--dark);color:#fff;border-radius:6px;padding:45px 39px 40px;overflow:hidden;box-shadow:0 26px 60px #5d321d1f}
.vision-card:after{content:"✳";position:absolute;right:-18px;bottom:-45px;color:#ffffff0b;font-size:160px;line-height:1}
.vision-card-kicker{display:block;color:#efb98e;font-size:10px;font-weight:900;letter-spacing:.18em;margin-bottom:19px}
.vision-card>p{position:relative;z-index:1;font:italic clamp(31px,3.4vw,49px)/1.12 var(--serif);letter-spacing:-.045em;margin:0 0 31px}
.vision-card-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:9px}.vision-card-meta span{border:1px solid #ffffff30;border-radius:99px;padding:7px 10px;font-size:9px;font-weight:800;letter-spacing:.11em;color:#f3ddd0}
@media(max-width:900px){.vision-layout{gap:35px;grid-template-columns:1fr 1fr}.vision-card{padding:35px 28px}}
@media(max-width:720px){.vision-layout{grid-template-columns:1fr;gap:28px}.vision-card{max-width:620px}.vision-copy h2{font-size:clamp(40px,8vw,58px)}}
@media(max-width:480px){.vision-card{padding:30px 23px}.vision-card>p{font-size:34px}}


/* v1.3.7 — streamlined mobile event flow. Desktop remains unchanged. */
.mobile-header-rsvp{display:none}
@media(max-width:720px){
  /* Compact header: event identity + a single primary action. */
  .site-header{position:sticky;top:0;z-index:50;background:#fffcf7f5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #eadfd5}
  .header-inner{min-height:62px;width:calc(100% - 30px);gap:12px}
  .brand-copy strong{font-size:18px;letter-spacing:.11em}
  .brand-copy small{font-size:7px;letter-spacing:.21em}
  .mobile-header-rsvp{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;background:var(--orange);color:#fff;border-radius:6px;min-height:38px;padding:0 15px;font-size:10px;font-weight:900;letter-spacing:.12em}
  .nav-toggle{display:flex!important}.site-nav{display:none!important}.site-nav.is-open{display:block!important}

  /* Flyer first, then one concise block of event essentials. */
  .hero-mobile-intro{padding:28px 18px 34px;text-align:left}
  .hero-mobile-kicker{justify-content:flex-start;gap:9px;font-size:9px;letter-spacing:.19em}
  .hero-mobile-kicker>span:last-child{display:none}
  .hero-mobile-intro h1{font-size:clamp(36px,10vw,48px);letter-spacing:-.055em;line-height:1.04;margin:13px 0 9px;max-width:none}
  .hero-mobile-description{font-size:15px;line-height:1.55;margin:0 0 20px;max-width:none;color:#5b5048}
  .hero-mobile-facts,.hero-mobile-expect{display:none!important}
  .mobile-event-card{border:1px solid #e4d4c7;background:#fff;border-radius:10px;overflow:hidden;margin:0 0 18px;box-shadow:0 10px 30px #70411d0d}
  .mobile-event-row{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:14px 15px}
  .mobile-event-row+.mobile-event-row{border-top:1px solid #eee3d8}
  .mobile-event-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#f8eadc;color:var(--orange-deep);font-size:17px;line-height:1}
  .mobile-event-row small{display:block;color:#9a6a51;font-size:8px;font-weight:900;letter-spacing:.16em;margin:0 0 3px}
  .mobile-event-row strong{display:block;color:#2b211c;font-size:14px;line-height:1.42;font-weight:750;overflow-wrap:anywhere}
  .hero-mobile-actions{display:grid;gap:9px;margin:0}
  .hero-mobile-actions .button{min-height:50px;border-radius:7px;font-size:10px;letter-spacing:.11em}
  .mobile-secondary-links{display:grid;gap:2px}
  .mobile-volunteer-link,.mobile-donate-link{display:block;text-align:center;padding:9px 6px 2px;color:#7e3f29;font-size:12px;font-weight:750;text-decoration:underline;text-underline-offset:3px}
  .mobile-donate-link{color:#6c4a32}

  /* Remove repeated/decorative content from mobile. The same content remains on desktop. */
  .ticker,.experience,.verse-section,.vision,.details,.invite{display:none!important}
  .minister-section-empty{display:none!important}
  .minister-section{padding:54px 0 46px}
  .minister-top{gap:7px;margin-bottom:22px}
  .minister-top h2{font-size:clamp(34px,9vw,44px);margin:9px 0 0}
  .minister-top>p{font-size:13px;line-height:1.55;margin:0}
  .minister-card-body{padding:18px}
  .minister-card-body p{font-size:13px;line-height:1.6}

  /* Registration is the primary next step on mobile. */
  .ge-rsvp{padding:44px 0 50px;background:#f8f0e6}
  .ge-rsvp-layout{gap:0}
  .ge-rsvp-intro{display:none}
  .ge-rsvp-card{padding:23px 18px;border-radius:10px;box-shadow:none}
  .ge-rsvp-card h3{font-size:28px;margin-bottom:16px}
  .ge-rsvp-notice,.ge-ticket-warning{font-size:12px;line-height:1.5;margin-bottom:17px;padding:11px 12px}
  .ge-rsvp-form{gap:16px}
  .volunteer-field input,.volunteer-field select,.volunteer-field textarea{min-height:49px;font-size:16px;padding:12px 13px}
  .volunteer-field label{font-size:12px}
  .ge-rsvp-form .button{min-height:52px}

  /* Volunteer flow: keep it useful, remove explanatory duplication. */
  .volunteer{padding:49px 0 54px}
  .volunteer-layout{gap:20px}
  .volunteer-copy .section-kicker{margin-bottom:6px}
  .volunteer-copy h2{font-size:clamp(34px,9vw,44px);margin:9px 0 12px}
  .volunteer-copy>p{font-size:14px;line-height:1.6;margin-bottom:0}
  .volunteer-note,.volunteer-tasks{display:none}
  .volunteer-form-card{padding:22px 17px;border-radius:10px;box-shadow:none}
  .volunteer-form-top{display:none}
  .volunteer-form-card h3{font-size:26px;margin:0 0 8px}
  .volunteer-form-intro{font-size:12px;line-height:1.55;margin-bottom:19px}
  .volunteer-form{gap:16px}
  .volunteer-departments{padding:12px}
  .volunteer-departments legend{font-size:12px}
  .volunteer-release{padding:14px 13px 13px}
  .volunteer-release summary{font-size:13px}
  .volunteer-consent{font-size:11px;line-height:1.5}

  /* Short FAQ: retain only questions that add something beyond the hero. */
  .faq{padding:48px 0 54px}
  .faq-layout{gap:12px}
  .faq-intro .section-kicker{display:none}
  .faq-intro h2{font-size:32px;margin:0 0 5px}
  .faq-intro p{font-size:13px;line-height:1.5}
  .faq-mobile-hide{display:none!important}
  .faq-list summary{padding:17px 0;font-size:14px}
  .faq-list details p{font-size:13px;line-height:1.6}

  /* Cleaner footer on small screens. */
  .site-footer{padding:34px 0}
  .footer-links{display:none}
  .footer-inner{gap:18px}
  .footer-right{font-size:11px}
}
@media(max-width:390px){
  .hero-mobile-intro{padding-inline:15px}
  .mobile-event-row{padding:13px 12px}
  .ge-rsvp-card,.volunteer-form-card{padding-inline:15px}
}


/* v1.3.8 — giving QR cards + volunteer WhatsApp next step. */
.giving{background:#251d1a;color:#fff;border-top:1px solid #3c302b}
.giving-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;align-items:start}
.giving-copy .section-kicker{color:#efb98e}.giving-copy h2{margin:16px 0 20px;max-width:570px}.giving-copy>p{color:#eadbd2;max-width:570px;line-height:1.75}
.giving-note{font-size:12px!important;color:#cbb9af!important;margin-top:22px!important}
.giving-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.giving-card{display:flex;flex-direction:column;background:#fffcf8;color:#261e1a;border:1px solid #ead8ca;border-radius:10px;padding:22px;text-align:center;box-shadow:0 20px 45px #00000024;min-width:0}
.giving-method-name{display:block;color:#a73215;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px}
.giving-mobile-prompt,.giving-qr-toggle{display:none}
.giving-qr-panel{display:block}
.giving-qr-link{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #eadfd6;border-radius:10px;padding:12px;max-width:260px;width:100%;margin:0 auto 14px}
.giving-qr-frame{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;overflow:hidden;background:#fff;border-radius:6px}
.giving-qr-link img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.giving-recipient{margin:-4px 0 16px!important;padding:11px 12px;border:1px solid #eadfd6;border-radius:7px;background:#fff7ef;color:#55473f!important;overflow-wrap:anywhere}.giving-recipient span{display:block;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#8e7568}.giving-recipient strong{display:block;margin-top:3px;font-size:13px;color:#2c211c}.giving-qr-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;padding:24px 18px;border:1px dashed #cfb5a4;border-radius:10px;background:#fff8f1}.giving-qr-pending-mark{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;margin-bottom:14px;background:#f3e0d2;color:#9b3017;font-size:24px;font-weight:900}.giving-qr-pending strong{display:block;margin-bottom:8px;font-size:14px}.giving-qr-pending p{max-width:250px;margin:0!important;line-height:1.55}.giving-card-pending .giving-qr-panel{display:block;margin-top:auto}
.giving-card p{font-size:13px;color:#66584f;margin:0 0 8px}.giving-platform-link{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:11px 14px;margin:8px 0 7px;border-radius:6px;background:#c6411d;color:#fff;font-size:12px;font-weight:850;letter-spacing:.035em}.giving-platform-link:hover{background:#a73215}.giving-open-link{display:none;color:#a73215;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:800}
.volunteer-whatsapp-next{margin:14px 0 20px;padding:15px;border:1px solid #bfe1c9;background:#effaf2;border-radius:7px;color:#274f33;font-size:13px;line-height:1.55}
.volunteer-whatsapp-next strong{display:block;margin-bottom:8px;color:#1d4228}.button-whatsapp{display:flex;width:100%;margin-top:12px;background:#1f8f4e;color:#fff;border-color:#1f8f4e;min-height:50px;font-size:10px}
@media(max-width:900px){.giving-layout{grid-template-columns:1fr;gap:30px}.giving-copy{max-width:680px}.giving-methods{max-width:760px;width:100%}}
@media(max-width:720px){
  .giving{display:block!important;padding:48px 0 52px}
  .giving-layout{gap:22px}
  .giving-copy .section-kicker{font-size:9px}.giving-copy h2{font-size:34px;margin:10px 0 10px}.giving-copy>p{font-size:14px;line-height:1.6;margin-bottom:0}.giving-note{margin-top:12px!important}
  .giving-methods{grid-template-columns:1fr;gap:14px}.giving-card{padding:18px;border-radius:9px}.giving-card p{font-size:12px}
  .giving-mobile-prompt{display:block;margin:-5px 0 13px!important;color:#66584f!important;line-height:1.5}
  .giving-qr-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid #d9b9a4;border-radius:7px;background:#fff7ef;color:#8f2f16;font-size:12px;font-weight:850;line-height:1.25;text-align:left}
  .giving-qr-toggle:hover,.giving-qr-toggle:focus-visible{background:#fff1e5}
  .giving-qr-toggle-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#c6411d;color:#fff;font-size:20px;font-weight:400;line-height:1;transition:transform .2s ease}
  .giving-qr-panel{display:none;padding-top:14px}
  .giving-card.is-qr-open .giving-qr-panel,.giving-card-pending .giving-qr-panel{display:block}
  .giving-card.is-qr-open .giving-qr-toggle-icon{transform:rotate(45deg)}
  .giving-qr-link{max-width:260px;padding:9px;margin-bottom:12px}
  .giving-qr-pending{min-height:auto;padding:20px 16px}.giving-recipient{margin:-4px 0 12px!important}
  .giving-platform-link{min-height:46px;font-size:12px}.giving-open-link{display:inline-block;margin-top:3px;font-size:11px}
  .volunteer-whatsapp-next{font-size:12px;padding:13px}.button-whatsapp{white-space:normal;text-align:center;line-height:1.35;padding:13px 14px}
}


/* v1.3.11 — simpler visual language and full mobile FAQ parity. */
.hero-copy .hero-facts>div:first-child{grid-template-columns:1fr}
.hero-copy .hero-facts>div:first-child>span{min-width:0}
.hero-visual-label,.poster-stamp,.hero-orb,.hero-bottom-note,.ticker,.details-watermark,.feature-symbol,.verse-ornament,.eyebrow-star{display:none!important}
.section-kicker>span[aria-hidden="true"]{display:none!important}
.event-detail-header{justify-content:flex-start}
.volunteer-form-top{justify-content:flex-start}
@media(max-width:720px){
  .faq-mobile-hide{display:block!important}
  .faq-list details{display:block!important}
  .faq-list summary{padding:17px 0;font-size:14px}
}

/* v1.3.11 decorative cleanup refinements. */
.brand-emblem,.footer-spark,.invite-star{display:none!important}
.vision-card:after{content:none!important}
.brand{gap:0}


/* v1.3.31 — Yeka music catalogue + footer-only staff access. */
.yeka-music{background:#fffaf3;border-top:1px solid #eadfd5;border-bottom:1px solid #eadfd5}
.yeka-music-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:30px}
.yeka-music-head h2{margin:9px 0 0;max-width:720px}
.yeka-music-head>p{margin:0;max-width:470px;color:#6a5d55;line-height:1.7}
.yeka-music-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.yeka-song-card{display:flex;flex-direction:column;min-height:230px;padding:20px;border:1px solid #e6d8cc;border-radius:10px;background:#fff;box-shadow:0 12px 34px #5d35120a}
.yeka-song-platform{font-size:9px;font-weight:900;letter-spacing:.16em;color:#7c6f67;margin-bottom:22px}
.yeka-song-card h3{font-size:22px;line-height:1.15;letter-spacing:-.035em;margin:0 0 6px}
.yeka-song-year{font-size:11px;color:#8a7b72;margin-bottom:24px}
.yeka-song-card a{margin-top:auto;display:inline-flex;align-items:center;gap:9px;color:var(--orange-deep);font-size:12px;font-weight:850;text-decoration:underline;text-underline-offset:4px}
.yeka-music-actions{margin-top:25px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.yeka-music-note{margin:0;color:#7b6d64;font-size:12px;line-height:1.5}
.footer-staff-access{width:min(var(--shell),calc(100% - 72px));margin:26px auto 0;padding-top:20px;border-top:1px solid #443933;display:flex;justify-content:flex-end}
.footer-staff-access a{font-size:11px;font-weight:800;letter-spacing:.08em;color:#d9c9bd}
.footer-staff-access a:hover,.footer-staff-access a:focus{color:#f6b185}
@media(max-width:900px){
  .yeka-music-head{align-items:start;flex-direction:column;gap:12px}.yeka-music-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(220px,72vw);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;padding-bottom:8px}.yeka-song-card{scroll-snap-align:start}
}
@media(max-width:720px){
  .yeka-music{display:block!important;padding:48px 0 52px}
  .yeka-music-head{margin-bottom:20px}
  .yeka-music-head .section-kicker{font-size:9px}.yeka-music-head h2{font-size:34px;margin:8px 0 0}.yeka-music-head>p{font-size:13px;line-height:1.55}
  .yeka-music-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(220px,78vw);gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;padding-bottom:8px}
  .yeka-song-card{min-height:0;padding:18px;border-radius:8px}
  .yeka-song-platform{margin-bottom:10px}.yeka-song-card h3{font-size:22px}.yeka-song-year{margin-bottom:12px}
  .yeka-music-actions{margin-top:18px;display:grid;gap:10px}.yeka-music-actions .button{width:100%;min-height:49px}
  .yeka-music-note{font-size:11px}
  .footer-staff-access{width:calc(100% - 38px);margin-top:18px;padding-top:16px;justify-content:flex-start}
}


/* v1.3.36 — force all five featured songs into one desktop row. */
@media (min-width:901px){
  .yeka-music-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
    width:100%;
  }
  .yeka-song-card{
    flex:1 1 0!important;
    min-width:0!important;
    width:auto!important;
    padding:18px!important;
  }
  .yeka-song-card h3{
    font-size:20px!important;
    overflow-wrap:anywhere;
  }
  .yeka-song-card a{
    font-size:11px!important;
  }
}
@media (max-width:900px){
  .yeka-music-grid{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(220px,72vw)!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
  }
}

/* v1.3.38 — launch-readiness security and privacy controls. */
.ge-turnstile-wrap{margin:16px 0 18px;min-height:65px}


/* v1.3.39 — compact mobile containment + dedicated volunteer page. */
html,body{max-width:100%;overflow-x:clip}
body{width:100%}
.site-header,main,section,.site-footer{max-width:100%}
img,svg,video,canvas,iframe{max-width:100%}
.volunteer-home-cta{background:#f7eadc}
.volunteer-home-cta .volunteer-home-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;padding:12px 0}
.volunteer-home-cta h2{margin:10px 0 12px;max-width:760px}
.volunteer-home-cta p{margin:0;color:#6d5e54;max-width:700px}
.volunteer-home-actions{display:flex;align-items:center;justify-content:flex-end}
.volunteer-page{background:#f8f0e6;min-height:70vh}
.volunteer-page-shell{max-width:920px}
.volunteer-page-head{text-align:center;max-width:720px;margin:0 auto 34px}
.volunteer-page-head h1{font-size:clamp(44px,6vw,72px);line-height:1.03;letter-spacing:-.055em;margin:12px 0 14px}
.volunteer-page-head p{color:#6b5d54;margin:0 auto;max-width:650px}
.volunteer-page .volunteer-form-card{max-width:760px;margin:0 auto}
@media(max-width:720px){
  html,body{width:100%;max-width:100%;overflow-x:clip!important}
  .shell{width:calc(100% - 28px)!important;max-width:100%!important;margin-inline:auto!important}
  .header-inner{width:calc(100% - 24px)!important;max-width:100%!important;padding-inline:0!important;gap:8px!important}
  .brand-wrap{min-width:0;max-width:46%;overflow:hidden;flex:1 1 auto}
  .brand,.brand-copy{min-width:0;max-width:100%}
  .brand-copy strong{font-size:16px!important;letter-spacing:.08em!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand-copy small{font-size:6.5px!important;letter-spacing:.14em!important;white-space:nowrap}
  .custom-logo-link{display:block;max-width:100%}
  .custom-logo{display:block;max-width:150px!important;width:auto!important;height:auto!important;max-height:48px!important}
  .mobile-header-rsvp{flex:0 0 auto;margin-left:auto!important;min-height:36px!important;padding:0 13px!important}
  .nav-toggle{flex:0 0 42px!important;width:42px!important;height:42px!important;padding:0!important}
  .site-nav{left:0!important;right:0!important;width:100%!important;max-width:100vw!important}
  .hero,.hero-grid,.hero-visual,.poster-frame,.hero-mobile-intro,.mobile-event-card,.ge-rsvp,.ge-rsvp-card,.giving,.giving-card,.faq,.visit,.yeka-music,.site-footer{width:100%;max-width:100%;min-width:0}
  .hero .hero-grid{overflow:hidden}
  .poster-frame img{width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain}
  .button{max-width:100%;white-space:normal;text-align:center}
  input,select,textarea,fieldset,.volunteer-release,.volunteer-departments{max-width:100%;min-width:0}
  .yeka-music-grid{max-width:100%!important;width:100%!important;overscroll-behavior-inline:contain}
  .yeka-song-card{max-width:78vw}
  .visit-hotels-grid,.giving-methods,.faq-layout,.ge-rsvp-layout,.volunteer-layout{min-width:0;max-width:100%}
  .volunteer-home-cta{padding:42px 0 46px!important}
  .volunteer-home-cta .volunteer-home-inner{grid-template-columns:1fr;gap:20px;padding:0}
  .volunteer-home-cta h2{font-size:36px;margin:8px 0 10px}
  .volunteer-home-cta p{font-size:14px;line-height:1.6}
  .volunteer-home-actions{justify-content:stretch}
  .volunteer-home-actions .button{width:100%}
  .volunteer-page{padding:38px 0 52px}
  .volunteer-page-shell{width:calc(100% - 28px)!important}
  .volunteer-page-head{text-align:left;margin-bottom:22px}
  .volunteer-page-head h1{font-size:38px;margin:8px 0 10px}
  .volunteer-page-head p{font-size:14px;line-height:1.6}
  .volunteer-page .volunteer-form-card{padding:22px 16px;border-radius:10px;box-shadow:none}
  .volunteer-page .volunteer-form-card h2{font-size:27px;margin:0 0 8px}
}
@media(max-width:390px){
  .shell,.volunteer-page-shell{width:calc(100% - 22px)!important}
  .header-inner{width:calc(100% - 18px)!important}
  .brand-wrap{max-width:42%}
  .custom-logo{max-width:125px!important}
  .mobile-header-rsvp{padding:0 10px!important;font-size:9px!important}
}


/* v1.4.1 — iOS/mobile viewport containment.
   Prevent the document itself from becoming horizontally scrollable while
   preserving intentionally scrollable components such as the Spotify song row. */
@media (max-width:720px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    position:relative;
  }

  body > .site-header,
  body > main,
  body > .site-footer,
  #main-content,
  #main-content > section{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  .site-header{
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }
  .site-header .header-inner{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding-inline:12px!important;
    min-width:0!important;
  }
  .brand-wrap{
    min-width:0!important;
    max-width:calc(100% - 126px)!important;
  }
  .mobile-header-rsvp,
  .nav-toggle{flex-shrink:0!important}
  .site-nav{
    box-sizing:border-box!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  /* The mobile flyer is deliberately edge-to-edge. */
  .hero{
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }
  .hero .shell.hero-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-inline:0!important;
    overflow:hidden!important;
  }
  .hero-visual,
  .poster-frame,
  .poster-frame img,
  .hero-mobile-intro{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-inline:0!important;
  }
  .poster-frame{overflow:hidden!important}
  .poster-frame img{display:block!important;height:auto!important}
  .hero-mobile-intro{box-sizing:border-box!important}

  /* Constrain ordinary content shells to the viewport. */
  #main-content > section:not(.hero) .shell,
  .site-footer .shell{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    min-width:0!important;
    margin-inline:auto!important;
  }

  /* Common layout children must be allowed to shrink instead of enlarging the page. */
  .ge-rsvp-layout,
  .ge-rsvp-card,
  .giving-layout,
  .giving-methods,
  .giving-card,
  .visit-layout,
  .visit-hotels-grid,
  .visit-hotel,
  .faq-layout,
  .faq-list,
  .volunteer-home-inner,
  .volunteer-page-shell,
  .volunteer-form-card,
  .minister-grid,
  .minister-card,
  .yeka-music-head,
  .footer-inner{
    min-width:0!important;
    max-width:100%!important;
  }

  input,
  select,
  textarea,
  fieldset,
  button,
  .button{
    min-width:0;
    max-width:100%;
  }

  /* Keep the five-song catalogue as the only intentional horizontal scroller. */
  .yeka-music{
    overflow-x:hidden!important;
  }
  .yeka-music-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
}

@media (max-width:390px){
  .site-header .header-inner{padding-inline:9px!important}
  #main-content > section:not(.hero) .shell,
  .site-footer .shell{
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
  }
}

/* v1.4.2 — Spotify visual identity while preserving the established card layout. */
.yeka-music{position:relative;overflow:hidden;--spotify-green:#1ed760;--spotify-ink:#191414;border-top:4px solid var(--spotify-green)}
.yeka-music>.shell{position:relative;z-index:2}
.yeka-spotify-watermark{position:absolute;z-index:0;right:clamp(22px,5vw,86px);top:34px;width:clamp(150px,16vw,245px);color:var(--spotify-green);opacity:.065;pointer-events:none;transform:rotate(-6deg)}
.yeka-spotify-watermark svg{display:block;width:100%;height:auto}
.yeka-spotify-brand{display:inline-flex;align-items:center;gap:10px;margin:0 0 11px;color:var(--spotify-ink);font-size:15px;font-weight:900;letter-spacing:-.025em}
.yeka-spotify-icon{display:block;flex:0 0 auto;color:var(--spotify-green)}
.yeka-spotify-icon-large{width:36px;height:36px}
.yeka-spotify-icon-small{width:15px;height:15px}
.yeka-spotify-icon-button{width:21px;height:21px}
.yeka-song-platform{display:flex;align-items:center;gap:7px}
.yeka-song-card{position:relative;z-index:1}
.yeka-song-card:hover{border-color:#b7d7c3}
.yeka-song-card a{color:#0b7139}
.yeka-song-card a:hover,.yeka-song-card a:focus{color:#07582c}
.yeka-spotify-button{background:var(--spotify-ink)!important;border-color:var(--spotify-ink)!important;gap:12px!important}
.yeka-spotify-button:hover,.yeka-spotify-button:focus{background:#000!important;border-color:#000!important}
@media(max-width:900px){
  .yeka-spotify-watermark{right:10px;top:42px;width:160px;opacity:.05}
}
@media(max-width:720px){
  .yeka-spotify-brand{margin-bottom:8px;font-size:13px;gap:8px}.yeka-spotify-icon-large{width:30px;height:30px}
  .yeka-spotify-watermark{right:-18px;top:42px;width:138px;opacity:.045}
  .yeka-song-platform{gap:6px}.yeka-spotify-icon-small{width:14px;height:14px}
  .yeka-spotify-button{justify-content:center}
}



/* v1.4.3 — restore public mobile navigation dropdown visibility.
   v1.4.1 horizontal containment applied overflow clipping to the sticky
   header, which can clip the absolutely-positioned mobile navigation below
   the header. Keep document-level containment, but allow the header and its
   dropdown to overflow vertically. */
@media (max-width:900px){
  body > .site-header,
  .site-header{
    overflow:visible!important;
  }
  .site-header .header-inner{
    position:relative;
    overflow:visible!important;
  }
  .site-nav{
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateY(-6px);
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
  }
  .site-nav.is-open{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
    transition-delay:0s;
  }
  .nav-toggle{
    position:relative;
    z-index:81;
  }
}


/* v1.4.16 — use the supplied donation QR images and display them neatly. */
.giving-card{height:100%}
.giving-card .giving-recipient{min-height:56px;display:flex;flex-direction:column;justify-content:center}
.giving-card .giving-qr-panel{width:100%}
.giving-qr-link{
  max-width:260px;
  width:100%;
  aspect-ratio:auto;
  overflow:visible;
  padding:10px;
  box-shadow:inset 0 0 0 1px #f3e8de;
}
.giving-qr-frame{
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  overflow:visible;
  background:#fff;
  border-radius:6px;
}
.giving-qr-frame img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  max-height:none;
  object-fit:contain;
  object-position:center;
  transform:none !important;
}
.giving-card--cashapp .giving-qr-panel>p,
.giving-card--zelle .giving-qr-panel>p{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:720px){
  .giving-card .giving-recipient{min-height:auto}
  .giving-qr-link{max-width:250px}
  .giving-card--cashapp .giving-qr-panel>p,
  .giving-card--zelle .giving-qr-panel>p{min-height:auto}
}

/* v1.4.13 — PayPal temporarily removed; giving display is Cash App + Zelle only. */
@media(min-width:901px){
  .giving-methods{align-items:stretch}
}


/* v1.4.14 — refined mobile visit buttons and nearby hotels toggle. */
@media(max-width:720px){
  .visit-copy .button.button-dark,
  .visit-hotels-toggle,
  .visit-hotels-more .button{
    width:100%;
    min-height:60px;
    padding:18px 20px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    font-size:14px;
    line-height:1.2;
    letter-spacing:.01em;
    box-shadow:0 10px 24px rgba(39,25,16,.08);
  }
  .visit-copy .button.button-dark span[aria-hidden="true"],
  .visit-hotels-more .button span[aria-hidden="true"]{
    font-size:16px;
  }
  .visit-hotels-toggle{
    padding-inline:20px;
  }
  .visit-hotels-toggle-label{
    display:inline-flex;
    align-items:center;
    min-height:24px;
  }
  .visit-hotels-toggle-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:999px;
    font-size:20px;
    flex:0 0 auto;
  }
  .visit-hotels.is-open .visit-hotels-toggle-icon{
    transform:rotate(45deg);
  }
  .visit-hotels-content{
    padding-top:18px;
  }
  .visit-hotels-more{
    margin-top:18px;
  }
}


/* v1.4.15 — show nearby-hotel intro before the mobile reveal button. */
@media(max-width:720px){
  .visit-hotels-head{
    display:block;
    margin-bottom:20px;
  }
  .visit-hotels-head h3{
    margin-top:8px;
  }
  .visit-hotels-head p{
    margin-top:12px;
    margin-bottom:0;
  }
  .visit-hotels-toggle{
    margin-top:0;
  }
  .visit-hotels-content{
    padding-top:22px;
  }
}


/* v1.4.17 — authoritative user-supplied donation QR assets. */
.giving-qr-link{max-width:280px;padding:10px}
.giving-qr-frame{height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.giving-qr-frame img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important}
@media(max-width:720px){
  .giving-qr-link{max-width:270px}
  .giving-qr-frame{height:290px}
}


/* v1.4.18 — recipient names link directly to their payment pages. */
.giving-recipient-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  color:#2c211c;
  text-decoration:none;
  text-underline-offset:3px;
  transition:color .18s ease, text-decoration-color .18s ease;
}
.giving-recipient-link:hover,
.giving-recipient-link:focus-visible{
  color:#a73215;
  text-decoration:underline;
}


/* v1.4.19 — QR image link is mobile-only because desktop already displays the QR. */
@media(min-width:721px){
  .giving-open-link{display:none!important}
}


/* v1.4.24 — explicit optional SMS consent on the volunteer application. */
.volunteer-sms-consent{border:1px solid #d9c9bd;border-radius:5px;background:#fffaf5;padding:15px 16px;min-width:0}
.volunteer-sms-consent .volunteer-consent{margin:0}
.volunteer-sms-consent-note{margin:8px 0 0;color:#837168;font-size:11px;line-height:1.55}
.volunteer-field small{display:block;margin-top:6px;color:#837168;font-size:11px;line-height:1.45}
@media(max-width:720px){
  .volunteer-sms-consent{padding:13px}
}


/* v1.4.26 — mobile hero now uses the same editable title and description as desktop. */


/* v1.4.27 — mobile hero typography polish.
   Match the desktop visual language while preserving the compact mobile flow. */
@media(max-width:720px){
  .hero-mobile-intro{
    padding-top:27px;
  }
  .hero-mobile-kicker{
    margin-bottom:0;
  }
  .hero-mobile-intro h1{
    font-family:var(--sans);
    font-size:clamp(40px,10.7vw,54px);
    font-weight:850;
    letter-spacing:-.072em;
    line-height:.98;
    max-width:650px;
    margin:10px 0 13px;
    text-wrap:balance;
  }
  .hero-mobile-description{
    max-width:38ch;
    margin:0 0 27px;
    font-size:15px;
    line-height:1.5;
    color:#5b5048;
  }
}
@media(max-width:480px){
  .hero-mobile-intro h1{
    font-size:clamp(39px,11vw,49px);
    max-width:100%;
  }
  .hero-mobile-description{
    max-width:36ch;
  }
}


/* v1.4.28 — refined mobile hero inspired by the earlier editorial treatment. */
@media(max-width:720px){
  .hero-mobile-intro{
    padding:31px 20px 38px;
    text-align:left;
  }

  .hero-mobile-kicker{
    justify-content:flex-start;
    gap:12px;
    margin:0 0 20px;
    font-size:9px;
    font-weight:900;
    letter-spacing:.20em;
    line-height:1.3;
  }

  .hero-mobile-kicker>span:first-child{
    width:34px;
    height:1px;
  }

  .hero-mobile-intro h1{
    font-family:var(--serif);
    font-size:clamp(43px,10.6vw,58px);
    font-weight:400;
    letter-spacing:-.055em;
    line-height:1.00;
    max-width:620px;
    margin:0 0 23px;
    text-wrap:balance;
  }

  .hero-mobile-description{
    max-width:39ch;
    margin:0 0 29px;
    font-size:15px;
    line-height:1.55;
    color:#62574f;
  }
}

@media(max-width:480px){
  .hero-mobile-intro{
    padding:28px 18px 36px;
  }

  .hero-mobile-kicker{
    margin-bottom:18px;
  }

  .hero-mobile-intro h1{
    font-size:clamp(41px,11.2vw,52px);
    line-height:1.01;
    margin-bottom:21px;
  }

  .hero-mobile-description{
    max-width:36ch;
    font-size:15px;
    line-height:1.55;
    margin-bottom:27px;
  }
}


/* v1.4.29 — keep the mobile hero title on a single line. */
@media(max-width:720px){
  .hero-mobile-intro h1{
    white-space:nowrap;
    text-wrap:nowrap;
    font-size:clamp(24px,7.15vw,40px);
    letter-spacing:-.055em;
    line-height:1;
    max-width:none;
  }
}

@media(max-width:390px){
  .hero-mobile-intro h1{
    font-size:clamp(22px,6.9vw,28px);
    letter-spacing:-.06em;
  }
}


/* v1.4.32 — reference-style mobile hero.
   Matches the supplied reference: one large serif headline spanning nearly
   the full mobile width, with full-width supporting copy beneath it. */
@media(max-width:720px){
  .hero-mobile-intro{
    padding:28px clamp(18px,4.1vw,28px) 36px;
    text-align:left;
  }

  .hero-mobile-kicker{
    justify-content:flex-start;
    gap:12px;
    margin:0 0 22px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.20em;
    line-height:1.3;
  }

  .hero-mobile-kicker>span:first-child{
    width:40px;
    height:1px;
  }

  .hero-mobile-intro h1{
    display:block;
    width:100%;
    max-width:none;
    margin:0 0 22px;
    white-space:nowrap;
    text-wrap:nowrap;
    font-family:var(--serif);
    font-size:clamp(28px,7.55vw,54px);
    font-weight:400;
    letter-spacing:-.058em;
    line-height:.98;
  }

  .hero-mobile-description{
    width:100%;
    max-width:none;
    margin:0 0 29px;
    font-size:clamp(16px,3.4vw,21px);
    line-height:1.48;
    color:#62574f;
  }
}

@media(max-width:390px){
  .hero-mobile-intro{
    padding-inline:16px;
  }

  .hero-mobile-intro h1{
    font-size:7.35vw;
    letter-spacing:-.062em;
  }

  .hero-mobile-description{
    font-size:16px;
    line-height:1.48;
  }
}
