/* Homepage Galilee 2027 — "SoCal's Catholic Coachella" festival treatment.
   Builds on galilee-fest.css (.gf). Sunset sky over the Sea of Galilee: retro sun, reflection,
   caustic water, poster-style experience lineup, NEW THEME sticker, pass + build-it-with-us cards. */
.gc{background:linear-gradient(180deg,#0d1c3d 0%,#081a38 40%,#050a1c 100%)}
.gc-sky{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(70% 60% at 50% 100%,rgba(60,190,210,.35),transparent 70%),linear-gradient(180deg,#070a24 0%,#0f1640 35%,#16305e 70%,#1d5878 100%)}
.gc-stars{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(1.4px 1.4px at 12% 22%,#fff,transparent),radial-gradient(1.2px 1.2px at 28% 12%,#cfe,transparent),radial-gradient(1.6px 1.6px at 44% 30%,#fff,transparent),radial-gradient(1.1px 1.1px at 61% 16%,#dff,transparent),radial-gradient(1.5px 1.5px at 76% 26%,#fff,transparent),radial-gradient(1.2px 1.2px at 88% 10%,#fff,transparent),radial-gradient(1px 1px at 8% 48%,#cfe,transparent),radial-gradient(1.3px 1.3px at 93% 44%,#fff,transparent),radial-gradient(1px 1px at 36% 52%,#dff,transparent),radial-gradient(1.2px 1.2px at 70% 50%,#fff,transparent);
  animation:gc-stars 4s ease-in-out infinite alternate}
@keyframes gc-stars{to{opacity:.45}}

/* Rising ocean swells at the bottom of the sky */
.gc-swell{position:absolute;left:0;right:0;bottom:-2px;height:clamp(130px,16vw,220px);pointer-events:none;overflow:hidden}
.gc-swell svg{position:absolute;left:0;bottom:0;width:200%;height:100%;transform-origin:50% 100%}
.gc-swell .s1{fill:rgba(64,190,214,.28);height:100%;animation:gc-roll 22s linear infinite,gc-bob 5.5s ease-in-out infinite alternate}
.gc-swell .s2{fill:rgba(40,130,190,.45);height:88%;animation:gc-roll 16s linear infinite reverse,gc-bob 4.5s ease-in-out -1s infinite alternate}
.gc-swell .s3{fill:rgba(18,70,130,.75);height:74%;animation:gc-roll 12s linear infinite,gc-bob 4s ease-in-out -2s infinite alternate}
.gc-swell .s4{fill:#0d1c3d;height:56%;animation:gc-roll 9s linear infinite reverse,gc-bob 3.6s ease-in-out -.5s infinite alternate}
@keyframes gc-roll{to{transform:translateX(-50%)}}
@keyframes gc-bob{from{scale:1 .8}to{scale:1 1.18}}
/* waves rise up when the section enters view */
.gc .gc-swell{translate:0 70%;transition:translate 1.6s cubic-bezier(.2,.8,.2,1)}
.gc.gc-risen .gc-swell{translate:0 0}

/* Light rays streaming down into the deep */
.gc-rays{position:absolute;left:0;right:0;top:0;bottom:0;z-index:-2;pointer-events:none;overflow:hidden;-webkit-mask:linear-gradient(180deg,transparent 0,transparent 30%,#000 40%,transparent 85%);mask:linear-gradient(180deg,transparent 0,transparent 30%,#000 40%,transparent 85%)}
.gc-rays i{position:absolute;top:25%;width:9vw;height:80%;background:linear-gradient(180deg,rgba(150,230,245,.32),transparent);filter:blur(10px);transform-origin:50% 0;mix-blend-mode:screen;animation:gc-ray 7s ease-in-out infinite alternate}
.gc-rays i:nth-child(1){left:10%;transform:skewX(18deg);animation-delay:-1s}
.gc-rays i:nth-child(2){left:28%;width:5vw;transform:skewX(12deg);animation-delay:-3s}
.gc-rays i:nth-child(3){left:47%;width:11vw;transform:skewX(4deg);animation-delay:-2s}
.gc-rays i:nth-child(4){left:66%;width:6vw;transform:skewX(-10deg);animation-delay:-4s}
.gc-rays i:nth-child(5){left:82%;transform:skewX(-16deg);animation-delay:-5s}
@keyframes gc-ray{from{opacity:.35}to{opacity:1}}
.gc-sky .wrap{padding-block:clamp(84px,9vw,118px) clamp(190px,17vw,230px)}

.gc::before{background:linear-gradient(180deg,rgba(20,8,40,.35),rgba(20,8,40,0) 30%),linear-gradient(180deg,transparent 60%,rgba(5,10,28,.7))}
.gc .gf-water{opacity:.85}
.gc .gf-lights{z-index:2}
.gc .gf-beam{opacity:.6}
.gc .gf-lights circle{fill:#FFF1C9}

.gc .wrap{gap:clamp(14px,2vw,22px)}
.gc .gc-sea{padding-block:clamp(28px,3vw,44px) clamp(130px,12vw,160px)}

/* Top row: festival badge + rotating sticker */
.gc-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}
.gc .gf-badge{border-color:rgba(127,227,240,.45);background:linear-gradient(110deg,#bdeff7 35%,#fff 50%,#bdeff7 65%) 0 0/250% 100% text,rgba(10,30,70,.4)}

/* Kicker: SoCal's only Catholic Coachella */
.gc-kicker{margin:6px 0 0;font:600 clamp(1rem,2.3vw,1.45rem)/1.1 "Josefin Sans",var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:#fff;text-shadow:0 2px 18px rgba(80,10,60,.6)}
.gc-kicker b{font-weight:600;background:linear-gradient(90deg,#A8F0FF,#5BE0C4,#7FB8FF,#C79BFF);-webkit-background-clip:text;background-clip:text;color:transparent}

/* NEW THEME headline */
.gc-theme{position:relative;display:grid;justify-items:center;gap:6px;margin-top:4px}
.gc-label{font:800 .78rem/1 var(--f-body);letter-spacing:.3em;text-transform:uppercase;color:#7FE3F0}
.gc h1,.gc h2{margin:0;font:600 clamp(3rem,9.5vw,7.6rem)/.92 var(--f-display);letter-spacing:-.025em;color:#fff;text-shadow:0 6px 40px rgba(60,10,70,.55)}
.gc h1 .gf-aurora,.gc h2 .gf-aurora{display:inline-block;padding-right:.06em;background-image:linear-gradient(90deg,#7FE3F0,#5BE0C4,#A8F0FF,#C79BFF,#7FE3F0)}
.gc-sticker{position:absolute;right:max(-6vw,-90px);top:-18px;width:clamp(86px,10vw,118px);aspect-ratio:1;display:grid;place-items:center;text-align:center;color:#1b1300;
  font:800 clamp(.62rem,.9vw,.78rem)/1.05 var(--f-body);letter-spacing:.08em;text-transform:uppercase;transform:rotate(12deg);
  background:var(--gf-gold);clip-path:polygon(50% 0,61% 12%,76% 6%,80% 22%,95% 25%,90% 40%,100% 50%,90% 60%,95% 75%,80% 78%,76% 94%,61% 88%,50% 100%,39% 88%,24% 94%,20% 78%,5% 75%,10% 60%,0 50%,10% 40%,5% 25%,20% 22%,24% 6%,39% 12%);
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.4));animation:gc-wobble 4s ease-in-out infinite}
.gc-sticker span{display:block;font-size:1.5em;letter-spacing:.02em}
@keyframes gc-wobble{50%{transform:rotate(4deg) scale(1.06)}}

.gc .gf-neon{font-size:clamp(1.6rem,4.4vw,3rem);gap:clamp(4px,.9vw,12px);letter-spacing:.12em}
.gc-verse{margin:0;font:italic 400 clamp(1.05rem,1.8vw,1.3rem)/1.45 var(--f-display);color:#E8EEFF;max-width:46ch}
.gc-verse cite{display:block;margin-top:6px;font:800 .7rem/1.3 var(--f-body);letter-spacing:.2em;text-transform:uppercase;font-style:normal;color:#7FE3F0}

/* Poster-style experience lineup */
.gc-lineup{margin:clamp(10px,2vw,22px) 0 0;padding:clamp(18px,2.4vw,26px) clamp(16px,3vw,34px);width:min(100%,920px);border-radius:22px;border:1px solid rgba(127,227,240,.22);
  background:linear-gradient(180deg,rgba(8,20,48,.55),rgba(8,20,48,.78));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.gc-lineup small{display:block;margin-bottom:10px;font:800 .7rem/1 var(--f-body);letter-spacing:.3em;text-transform:uppercase;color:#ffb36b}
.gc-lineup p{margin:0;font-family:"Josefin Sans",var(--f-body);text-transform:uppercase;line-height:1.15;color:#fff}
.gc-lineup .t1{font-size:clamp(1.5rem,3.6vw,2.6rem);font-weight:600;letter-spacing:.04em}
.gc-lineup .t2{font-size:clamp(1rem,2.2vw,1.55rem);font-weight:600;letter-spacing:.06em;color:#CFE9F2;margin-top:6px}
.gc-lineup .t3{font-size:clamp(.8rem,1.4vw,1rem);font-weight:400;letter-spacing:.14em;color:#9FB6D8;margin-top:8px}
.gc-lineup i{font-style:normal;color:var(--gf-gold);margin:0 .45em;font-size:.7em;vertical-align:.12em}

/* Pass + build cards */
.gc-cards{width:min(100%,1040px);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(14px,2vw,22px);margin-top:clamp(8px,1.6vw,18px);text-align:left}
.gc-card{position:relative;border-radius:22px;overflow:hidden;background:rgba(8,18,44,.82);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.gc-pass{display:grid;grid-template-columns:1fr}
.gc-pass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;z-index:3;pointer-events:none;
  background:conic-gradient(from var(--gf-a,0deg),transparent 0 70%,#ff7ab6 80%,#ffc56b 88%,#7FE3F0 94%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:gf-beamring 5s linear infinite}
.gc-pass .ph{position:relative;display:block;aspect-ratio:2.3/1}
.gc-pass .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.gc-pass .ph:hover img{transform:scale(1.05)}
.gc-pass .ph span{position:absolute;left:12px;top:12px;background:rgba(5,10,28,.8);color:#ffe2c4;font:800 .64rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;padding:7px 10px;border-radius:999px}
.gc-pass .body{position:relative;display:grid;grid-template-columns:1fr;row-gap:12px;padding:clamp(18px,2.4vw,24px);border-top:2px dashed rgba(255,255,255,.18)}
.gc-pass .gc-tag{grid-column:1}.gc-pass .gc-price{grid-column:1}.gc-pass .cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.gc-pass .cta .gc-fine{flex:1 1 180px}
.gc-pass .gf-btn{white-space:nowrap;padding:1.05em 1.3em}
.gc-pass .body::before,.gc-pass .body::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:#081430}
.gc-pass .body::before{left:-12px}.gc-pass .body::after{right:-12px}
.gc-tag{justify-self:start;font:800 .66rem/1 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:#1b1300;background:linear-gradient(90deg,#ffc56b,#ff9a7a);padding:7px 11px;border-radius:999px}
.gc-price{font:600 clamp(3rem,6vw,4.2rem)/1 var(--f-display);color:#fff;font-variant-numeric:tabular-nums}
.gc-price small{display:block;margin-top:6px;font:700 .86rem/1.35 var(--f-body);color:#B9C8E6}
.gc .gf-btn{justify-content:center}
.gc-fine{margin:0;font-size:.8rem;line-height:1.5;color:#8EA0C8}

.gc-build{display:grid;gap:12px;align-content:center;padding:clamp(20px,2.6vw,30px);
  background:radial-gradient(120% 90% at 100% 0%,rgba(255,122,182,.25),transparent 60%),radial-gradient(100% 80% at 0% 100%,rgba(127,227,240,.18),transparent 60%),rgba(8,18,44,.85)}
.gc-build .k{font:800 .7rem/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:#7FE3F0}
.gc-build h3{margin:0;font:600 clamp(1.6rem,2.6vw,2.1rem)/1.08 var(--f-display);color:#fff}
.gc-build h3 em{font-style:italic;background:linear-gradient(90deg,#ffc56b,#ff7ab6);-webkit-background-clip:text;background-clip:text;color:transparent}
.gc-build p{margin:0;color:#C7D3F0;line-height:1.55}
.gc-build ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gc-build li{font:700 .74rem/1 var(--f-body);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 11px;background:rgba(255,255,255,.05)}
.gc-give{justify-self:start;display:inline-flex;align-items:center;gap:.5em;padding:1em 1.4em;border-radius:999px;text-decoration:none;font:800 .82rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:#fff;
  background:linear-gradient(90deg,#c4497e,#7a4dd8);box-shadow:0 12px 30px -12px rgba(196,73,126,.8);transition:transform .2s}
.gc-give:hover{transform:translateY(-2px)}
.gc-more{color:#fff;font-weight:800;font-size:.9rem;text-underline-offset:4px}

@media (max-width:900px){.gc-cards{grid-template-columns:1fr}}
@media (max-width:620px){
  .gc-sky .wrap{padding-bottom:150px}.gc-swell{height:120px}.gc-rays i{width:16vw}
  .gc-sticker{position:static;transform:rotate(-6deg);margin-bottom:4px;order:-1}
  .gc-theme{justify-items:center}
  .gc-pass{grid-template-columns:1fr}
  .gc-pass .ph{aspect-ratio:16/10}
  .gc-pass .body{grid-template-columns:1fr}.gc-pass .cta{grid-column:1;grid-row:auto}.gc-pass .gf-btn{white-space:normal}
  .gc-give{width:100%;justify-content:center}
  .gc-kicker{letter-spacing:.14em}
  .gc-lineup .t1{font-size:1.25rem}.gc-lineup .t2{font-size:.95rem}
}
@media (prefers-reduced-motion:reduce){.gc-sticker,.gc-pass::before,.gc-stars,.gc-swell svg,.gc-rays i{animation:none}.gc .gc-swell{translate:0 0;transition:none}}

.gc .gc-sea::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:180px;transform:translateX(-50%);z-index:-1;pointer-events:none;background:linear-gradient(180deg,#0d1c3d,rgba(13,28,61,0))}

/* ---------- /galilee page sections below the hero ---------- */
.gx{--gf-ink:#EEF4FF;--gf-sea:#7FD3E3;--gf-violet:#A77BFF;--gf-pink:#FF5FD2;--gf-blue:#4C7DFF;--gf-gold:#F2C14E;position:relative;background:#050a1c;color:#EEF4FF;text-align:center;overflow:hidden}
.gx .wrap{display:grid;justify-items:center;gap:14px;padding-block:clamp(56px,7vw,92px)}
.gx-k{font:800 .72rem/1 var(--f-body);letter-spacing:.26em;text-transform:uppercase;color:#7FE3F0}
.gx h2{margin:0 0 8px;font:600 clamp(2rem,4.2vw,3.2rem)/1.05 var(--f-display);color:#fff}
.gx h2 em{font-style:italic;background:linear-gradient(90deg,#7FE3F0,#5BE0C4,#C79BFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.gx-photos{background:linear-gradient(180deg,#050a1c,#081430)}
.gx .gf-hint a{color:#fff;font-weight:800}
.gx-faq{background:#081430}
.gx-list{width:min(100%,760px);display:grid;gap:10px;text-align:left}
.gx-list details{border:1px solid rgba(127,227,240,.2);border-radius:16px;background:rgba(255,255,255,.04);padding:4px 20px}
.gx-list summary{cursor:pointer;list-style:none;padding:14px 0;font:700 1.05rem/1.3 var(--f-body);color:#fff;display:flex;justify-content:space-between;gap:12px}
.gx-list summary::-webkit-details-marker{display:none}
.gx-list summary::after{content:"+";color:var(--gf-gold);font-size:1.3rem;line-height:1;transition:transform .25s}
.gx-list details[open] summary::after{transform:rotate(45deg)}
.gx-list p{margin:0 0 16px;color:#C7D3F0;line-height:1.6}
.gx-list a{color:#7FE3F0;font-weight:800}
.gx-end{background:radial-gradient(70% 90% at 50% 100%,rgba(64,190,214,.25),transparent 70%),linear-gradient(180deg,#081430,#0d2550)}
.gx-end p{margin:0;color:#B9C8E6;font-weight:700}
