/* Seven Ember Events — a single, replaceable stylesheet */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#0b0807;--panel:#1c100c;--cream:#fbe9cf;--gold:#f3bd6f;--ember:#ed6b2a;--muted:#dac0a1}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font:16px/1.65 'DM Sans',sans-serif;overflow-x:hidden}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #ffbf68;outline-offset:4px}
.wrap{width:min(1140px,calc(100% - 40px));margin:auto}.nav{position:sticky;top:0;z-index:50;background:#0b0807ed;border-bottom:1px solid #a8733c;backdrop-filter:blur(12px)}.navrow{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand img{width:60px;height:60px;object-fit:contain;border:1px solid #cf944e;border-radius:50%;box-shadow:0 0 20px #e0772c45}.brand span{display:block;font:800 19px/1.05 Georgia,serif;letter-spacing:.065em}.brand small{display:block;font-size:10px;letter-spacing:.18em;color:var(--gold);font-weight:800;margin-top:5px}.links{display:flex;align-items:center;gap:17px}.links a{font-size:12px;text-decoration:none;font-weight:800;white-space:nowrap}.links a:hover,.links a[aria-current=page]{color:var(--gold)}.mobile-menu{display:none;color:var(--cream);background:none;border:1px solid #b58246;border-radius:7px;padding:7px 13px;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:13px 23px;border:1px solid #f2be70;border-radius:8px;background:linear-gradient(125deg,#a82c12,#ee6222 65%,#eb9e43);color:white;font-weight:800;box-shadow:0 4px 18px #f15b2030}.button:hover{filter:brightness(1.13)}.button.light{background:linear-gradient(120deg,#fff0cb,#dba14c);color:#26140b}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:520px;display:flex;align-items:center;background:radial-gradient(ellipse at 90% 50%,#8e361a66,transparent 50%),#100907;border-bottom:2px solid #b67b3e}.hero-media{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0c0707 0%,#120907ed 38%,#17080599 100%),url('/assets/images/gallery/family-dance.jpg') center/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/assets/images/ember-wisps-left.svg') left center/auto 100% no-repeat,url('/assets/images/ember-wisps-right.svg') right center/auto 100% no-repeat;opacity:.43}.hero:after{content:'';position:absolute;inset:14px;pointer-events:none;border:1px solid #dba76370}.hero>.wrap{padding:95px 0 105px}.eyebrow{display:inline-block;color:#f6b46a;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}.hero h1{font:700 clamp(3.2rem,7vw,5.6rem)/1.02 Georgia,serif;max-width:880px;letter-spacing:-.05em;margin:22px 0}.hero h1 em{font-style:normal;color:#ffc675;text-shadow:0 0 24px #d74f236e}.hero p{max-width:660px;color:#f0d7b9;font-size:18px}.hero .button{margin-top:16px}
.intro{padding:74px 0 18px}.intro h2,.section h2{font:700 clamp(2.1rem,4vw,3.6rem)/1.12 Georgia,serif;color:#ffe0ad;letter-spacing:-.035em;margin:12px 0 16px}.intro p,.section p{color:var(--muted)}.section{padding:20px 0 74px;position:relative}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.event{min-width:0;background:linear-gradient(140deg,#2d160c,#100c0b);border:1px solid #c18a4b;border-radius:8px;overflow:hidden;box-shadow:0 16px 36px #0008}.event-image{height:180px;background:#311609}.event-image img{width:100%;height:100%;object-fit:cover}.eventtop{min-height:78px;display:flex;align-items:center;padding:20px 26px;background:linear-gradient(120deg,#733012,#35180d);border-bottom:1px solid #af7941}.eventtop strong{color:#fbd19a;font-size:12px;letter-spacing:.11em;text-transform:uppercase}.eventbody{padding:26px}.eventbody h3{font:700 27px/1.18 Georgia,serif;color:#ffe0a7;margin:0 0 15px}.eventbody p{margin:9px 0}.eventbody .facts{color:#ffc57e;font-weight:800}.eventbody a{display:inline-block;color:#ffbf65;font-weight:800;text-decoration:none;margin-top:14px}.empty{grid-column:1/-1;border:1px solid #be8447;background:#1a100d;border-radius:8px;padding:35px}.empty h3{font:700 26px Georgia,serif;color:#ffe0ad}.hidden{display:none!important}

/* Feature a single upcoming event instead of leaving a skinny card in a three-column grid. */
.cards:has(> .event:only-child){grid-template-columns:minmax(0,1fr)}
.cards:has(> .event:only-child) > .event{display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);grid-template-rows:auto 1fr;max-width:100%;min-height:335px}
.cards:has(> .event:only-child) .event-image{grid-column:1;grid-row:1 / 3;height:auto;min-height:335px}
.cards:has(> .event:only-child) .eventtop{grid-column:2;grid-row:1;min-height:auto;padding:22px 32px}
.cards:has(> .event:only-child) .eventbody{grid-column:2;grid-row:2;padding:26px 32px 30px}
.cards:has(> .event:only-child) .eventbody h3{font-size:clamp(1.8rem,3vw,2.5rem)}
/* The only strong flame display is the hero. Sections below it use quiet, uncluttered backgrounds. */
main > .section{isolation:isolate}
main > .section .feature,main > .section .cta{margin-inline:auto}
main > .section .cta{max-width:1100px}

.feature{border:1px solid #b98443;border-radius:9px;background:linear-gradient(125deg,#31170d,#150d0b);padding:36px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}.feature p{max-width:600px}.feature .tile{background:#140d0b;border:1px solid #8b653e;border-radius:7px;padding:24px;font-weight:700;color:#f6d3a5}.feature .tile div{padding:8px 0}.feature-image{grid-column:1/-1;height:260px;overflow:hidden;border:1px solid #c08d4c;border-radius:5px}.feature-image img{width:100%;height:100%;object-fit:cover;object-position:center 47%}.cta{position:relative;overflow:hidden;background:linear-gradient(120deg,#25130e,#411c10 70%,#190e0b);border:1px solid #c58e50;border-radius:9px;padding:68px 40px;text-align:center;box-shadow:inset 0 0 0 8px #100b09,inset 0 0 0 9px #a56f3f}.cta h2{margin:14px 0}.cta p{color:#e8ccb0}.footer{padding:46px 0;background:#070605;border-top:2px solid #b98443;color:#e6caab}.footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer a{color:#f0ca91}
@media(max-width:1060px){.navrow>.button{display:none}.links{gap:11px}.links a{font-size:11px}}
@media(max-width:850px){.navrow{min-height:74px}.mobile-menu{display:block;margin-left:auto}.links{display:none;position:absolute;top:74px;left:0;right:0;padding:17px 24px;background:#120c0b;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #b98443;box-shadow:0 15px 25px #0009}.links.open{display:flex}.links a{font-size:15px;padding:11px 0}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero:before{opacity:.38}}
@media(max-width:610px){.cards:has(> .event:only-child) > .event{display:flex;flex-direction:column;min-height:0}.cards:has(> .event:only-child) .event-image{height:220px;min-height:0}.cards:has(> .event:only-child) .eventtop{padding:16px 22px}.cards:has(> .event:only-child) .eventbody{padding:24px 22px}.cards:has(> .event:only-child) .eventbody h3{font-size:1.85rem}.wrap{width:calc(100% - 32px)}.brand img{width:48px;height:48px}.brand span{font-size:16px}.brand small{font-size:9px}.hero{min-height:480px}.hero>.wrap{padding:76px 0}.hero h1{font-size:clamp(2.7rem,12vw,4.3rem)}.hero p{font-size:16px}.hero-media{background:linear-gradient(90deg,#0b0706f5,#180a08c9),url('/assets/images/gallery/family-dance.jpg') center/cover}.hero:after{inset:7px}.intro{padding-top:57px}.section{padding:30px 0 65px}.cards{grid-template-columns:1fr}.feature{grid-template-columns:1fr;padding:23px}.feature-image{height:210px}.cta{padding:50px 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* EVENTS ONLY — fine golden ornament and natural fire accents.
   Uses the supplied decorative artwork; no changes to events.js or booking functions. */
/* A modest scattering near the outer edge of the upcoming events section. */
main > .section:has(.cards){
 background-image:linear-gradient(90deg,#0b0807 0%,#0b0807 73%,rgba(36,13,8,.94) 100%),
 url('/assets/images/events/scattered-embers.png');
 background-position:center,right 0 top 30%;
 background-size:100% 100%,min(34vw,430px) auto;
 background-repeat:no-repeat;
}
/* Fire ribbon anchored along the bottom of the community feature, behind readable text. */
.feature{position:relative;isolation:isolate;overflow:hidden;padding-bottom:56px}
.feature:before{content:'';position:absolute;pointer-events:none;z-index:-1;left:-3%;right:-3%;bottom:-65px;height:220px;
 background:url('/assets/images/events/flowing-fire.png') center bottom/contain no-repeat;opacity:.34}
.feature>.tile,.feature>div{position:relative}
/* Gold filigree lives in the four corners, not as a repeated page border. */
.cta:after{content:'';position:absolute;pointer-events:none;inset:8px;z-index:0;
 background-image:url('/assets/images/events/gold-corner-tl.png'),url('/assets/images/events/gold-corner-tr.png'),url('/assets/images/events/gold-corner-bl.png'),url('/assets/images/events/gold-corner-br.png');
 background-position:left top,right top,left bottom,right bottom;
 background-repeat:no-repeat;background-size:clamp(85px,13vw,160px) auto;opacity:.83}
.cta>*{position:relative;z-index:1}
/* Slight extra glow at the CTA edge; the text stays in front. */
.cta:before{content:'';position:absolute;pointer-events:none;inset:0;z-index:0;
 background:url('/assets/images/events/scattered-embers.png') right bottom/48% auto no-repeat;opacity:.17}
@media(max-width:850px){
 main > .section:has(.cards){background-size:100% 100%,240px auto}
 .feature:before{height:170px;bottom:-55px;opacity:.24}
 .cta:after{background-size:95px auto;opacity:.75}
}
@media(max-width:610px){
 main > .section:has(.cards){background-image:none}
 .feature{padding-bottom:34px}.feature:before{height:120px;bottom:-40px;opacity:.18}
 .cta:after{background-size:58px auto;opacity:.65}
 .cta{padding-left:30px;padding-right:30px}
}
