/* =====================================================================
   THF Encounter 2027 page (/encounter). View: app/Views/encounter/index.php.
   Ported from the approved prototype. Every selector starts with #enc, so the
   page beats Bootstrap and the site's element rules without !important, and
   nothing here can leak onto other pages. The page keeps its own fixed brand
   palette (dark charcoal + warm white) in both site themes.
   --enc-nav = height of the site navbar when it is position:fixed (phones),
   0 when it scrolls with the page; set by the page script (enc-js on #enc).
   Every color here is !important: in dark mode theme.css forces
   color:...!important onto every h1-h6, p, li, label and small on the site,
   which would put light text on this page's cream sections. Under #enc the
   page's own colours win; nothing outside #enc is affected.
   --enc-hero-top = how far down the page the hero starts (under the navbar),
   so the first screen still ends where the hero ends. --enc-pull closes the
   gap the site leaves under its fixed phone navbar, so no white strip shows
   above the dark hero.
   ===================================================================== */
#enc{--enc-dark:#1f1d1c; --enc-surface:#262422; --enc-char:#2f2d2c; --enc-deep:#0e0d0c;
  --enc-white:#ffffff; --enc-page:#faf8f5; --enc-raised:#f4f5f6; --enc-grey:#e7e7e7; --enc-border:#e2e3e5; --enc-warm:#e8e4de;
  --enc-head:#2f2d2c; --enc-body:#474544; --enc-soft:#6a6764;
  --enc-cream:#F3ECDF; --enc-muted:#CFC6B5;
  --enc-bronze:#BD926F; --enc-bronze-text:#8a5c3a;
  --enc-gold:#FACE68; --enc-gold-deep:#C9A227; --enc-on-gold:#1a1a1a;
  --enc-serif:"Playfair Display", Georgia, "Times New Roman", serif;
  --enc-sans:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --enc-greek:"EB Garamond", "Gentium Plus", "Palatino Linotype", Georgia, serif;
  --enc-gutter:clamp(16px, 4vw, 48px);
  --enc-max:1200px;
  --enc-focus:var(--enc-gold);
  font-family:var(--enc-sans); font-size:18px; line-height:1.65; color:var(--enc-cream)!important;
  background:var(--enc-dark);
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;}
#enc{margin-top:calc(-1 * var(--enc-pull,0px))}
#enc *,#enc *::before,#enc *::after{box-sizing:border-box}
#enc :is(img){max-width:100%;display:block}
#enc :is(h1,h2,h3,h4,h5,p,ul,ol,dl,dd,figure,label,legend){margin:0}
#enc :is(h1,h2,h3,h4,h5){font-family:var(--enc-serif);font-weight:600;line-height:1.12;letter-spacing:-.01em}
#enc [id]{scroll-margin-top:calc(var(--enc-nav,0px) + 16px)}
/* elements without a colour of their own keep their section's colour in dark mode too (see the note above) */
#enc :is(h1,h2,h3,h4,h5,h6,p,li,label,small,legend,dt,dd){color:inherit!important}
#enc :focus-visible{outline:3px solid var(--enc-focus);outline-offset:3px;border-radius:6px}
#enc .enc-light{--enc-focus:var(--enc-bronze-text)}
#enc .enc-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
#enc .enc-wrap{width:100%;max-width:var(--enc-max);margin:0 auto;padding:0 var(--enc-gutter)}
/* ----- buttons (flat gold, never a gradient behind text) ----- */
#enc .enc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:56px;padding:0 1.6em;border-radius:999px;font-family:var(--enc-sans);font-weight:600;font-size:18px;line-height:1.2;text-decoration:none;cursor:pointer;border:0;text-align:center;transition:transform .2s ease, background-color .2s ease, box-shadow .2s ease}
#enc .enc-btn-gold{background:var(--enc-gold);color:var(--enc-on-gold)!important;box-shadow:0 10px 30px -12px rgba(250,206,104,.6)}
#enc .enc-btn-gold:hover{background:#fbd985;transform:translateY(-1px)}
#enc .enc-btn-ghost{background:rgba(14,13,12,.62);color:var(--enc-cream)!important;box-shadow:0 0 0 1.5px rgba(243,236,223,.6) inset}
#enc .enc-btn-ghost:hover{box-shadow:0 0 0 1.5px var(--enc-gold) inset;color:var(--enc-gold)!important}
#enc .enc-btn-lg{min-height:64px;font-size:19px;padding:0 2em}
#enc .enc-btn-map .enc-pin{width:20px;height:20px;margin-right:.5em;flex:none;color:var(--enc-gold)}
#enc .enc-btn .enc-arrow{transition:transform .2s ease}
#enc .enc-btn:hover .enc-arrow{transform:translateX(3px)}
/* ----- kickers + headings ----- */
#enc .enc-kicker{display:inline-flex;align-items:center;gap:12px;font-size:16px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--enc-bronze)!important;margin-bottom:16px}
#enc .enc-kicker::before{content:"";width:28px;height:1px;background:currentColor}
#enc .enc-light .enc-kicker{color:var(--enc-bronze-text)!important}
#enc .enc-h2{font-size:clamp(2.2rem,5vw,4rem);font-weight:400;color:var(--enc-cream)!important}
#enc .enc-h2 em{font-style:italic;color:var(--enc-gold)!important}
#enc .enc-light .enc-h2{color:var(--enc-head)!important}
#enc .enc-light .enc-h2 em{color:var(--enc-bronze-text)!important}
#enc .enc-lede{margin-top:18px;font-size:clamp(18px,1.5vw,20px);color:var(--enc-muted)!important;max-width:62ch}
#enc .enc-light .enc-lede{color:var(--enc-body)!important}
#enc .enc-nw{white-space:nowrap}
#enc .enc-sec{padding:clamp(72px,8vw,120px) 0;position:relative}
/* ----- header ----- */
/* ----- hero ----- */
#enc .enc-hero{position:relative;min-height:calc(100vh - var(--enc-hero-top,0px));display:flex;overflow:hidden;isolation:isolate;background:var(--enc-deep)}
@supports (min-height:100svh){
  #enc .enc-hero{min-height:calc(100svh - var(--enc-hero-top,0px))}
}
#enc .enc-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 40%;z-index:-4;transform:scale(1.08);transform-origin:52% 35%}
#enc.enc-motion .enc-hero-img{animation:enc-drift 32s ease-in-out infinite alternate}
@keyframes enc-drift{from{transform:scale(1.1)}to{transform:scale(1.01) translateY(1%)}}
#enc .enc-hero-shade{position:absolute;inset:0;z-index:-3;background:
  linear-gradient(180deg, rgba(14,13,12,.78) 0%, rgba(14,13,12,.2) 18%, rgba(14,13,12,.08) 36%, rgba(14,13,12,.62) 58%, rgba(14,13,12,.94) 82%, #0e0d0c 100%),
  radial-gradient(ellipse 120% 90% at 50% 38%, transparent 48%, rgba(0,0,0,.6) 100%)}
#enc .enc-rays{position:absolute;left:52%;top:14%;width:0;height:0;z-index:-2;pointer-events:none}
#enc .enc-ray{position:absolute;left:0;top:0;width:200px;height:110vh;margin-left:-100px;transform-origin:50% 0;opacity:.55;
  background:linear-gradient(180deg, transparent 0%, rgba(255,214,120,.2) 16%, rgba(250,206,104,.09) 48%, transparent 78%);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 50%, transparent);mask-image:linear-gradient(90deg, transparent, #000 50%, transparent)}
#enc .enc-ray:nth-child(1){transform:rotate(-24deg);width:160px;margin-left:-80px}
#enc .enc-ray:nth-child(2){transform:rotate(2deg);width:240px;margin-left:-120px}
#enc .enc-ray:nth-child(3){transform:rotate(26deg);width:150px;margin-left:-75px}
#enc.enc-motion .enc-ray:nth-child(1){animation:enc-ray1 11s ease-in-out infinite alternate}
#enc.enc-motion .enc-ray:nth-child(2){animation:enc-ray2 13s ease-in-out -4s infinite alternate}
#enc.enc-motion .enc-ray:nth-child(3){animation:enc-ray3 10s ease-in-out -7s infinite alternate}
@keyframes enc-ray1{from{opacity:.3;transform:rotate(-25.5deg)}to{opacity:.8;transform:rotate(-22.5deg)}}
@keyframes enc-ray2{from{opacity:.35;transform:rotate(.5deg)}to{opacity:.85;transform:rotate(3.5deg)}}
@keyframes enc-ray3{from{opacity:.3;transform:rotate(24.5deg)}to{opacity:.75;transform:rotate(27.5deg)}}
#enc .enc-motes{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
#enc .enc-hero.is-paused .enc-hero-img,#enc .enc-hero.is-paused .enc-ray{animation-play-state:paused}
#enc .enc-hero-inner{position:relative;width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding-top:clamp(40px,7vh,72px);padding-bottom:clamp(36px,6vh,72px)}
#enc .enc-eyebrow{display:inline-block;margin-bottom:clamp(8px,1.6vh,18px);padding:8px 18px;font-family:var(--enc-sans);line-height:1.3;border-radius:999px;background:rgba(14,13,12,.8);box-shadow:0 0 0 1px rgba(189,146,111,.45) inset;font-size:16px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--enc-gold)!important}
#enc .enc-title{font-weight:400;line-height:.9;letter-spacing:-.02em;color:var(--enc-cream)!important;display:flex;flex-direction:column;align-items:center}
#enc .enc-title-word{display:block;font-size:clamp(4.4rem,11.6vw,11rem);padding:0 .04em .04em;background:linear-gradient(180deg,#FFF8E6 0%,#F6E6BC 38%,#E9C266 74%,#C9A227 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;filter:drop-shadow(0 8px 28px rgba(0,0,0,.6))}
#enc .enc-title-year{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:clamp(10px,1.8vh,20px);font-family:var(--enc-sans);font-weight:600;font-size:clamp(18px,1.6vw,22px);letter-spacing:.42em;padding-left:.42em;color:var(--enc-gold)!important;line-height:1}
#enc .enc-title-year::before,#enc .enc-title-year::after{content:"";width:clamp(32px,7vw,110px);height:1px;background:var(--enc-bronze)}
#enc .enc-hero-line{margin-top:clamp(14px,2.2vh,22px);max-width:34ch;font-family:var(--enc-serif);font-size:clamp(19px,1.7vw,24px);line-height:1.4;color:var(--enc-cream)!important;text-shadow:0 1px 14px rgba(0,0,0,.95),0 0 2px rgba(0,0,0,.8)}
#enc .enc-hero-cta{margin-top:clamp(20px,3vh,30px);display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
#enc .enc-ledger{margin-top:clamp(20px,3vh,30px);display:grid;grid-template-columns:auto auto minmax(0,auto);justify-content:center;background:rgba(14,13,12,.78);border:1px solid rgba(189,146,111,.45);border-radius:16px;padding:6px 8px;text-align:left}
#enc .enc-ledger > div{padding:12px 24px}
#enc .enc-ledger > div + div{border-left:1px solid rgba(189,146,111,.35)}
#enc .enc-ledger dt{font-size:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--enc-gold)!important;line-height:1.3}
#enc .enc-ledger dd{font-family:var(--enc-serif);font-size:20px;color:var(--enc-cream)!important;line-height:1.3;margin-top:4px}
#enc .enc-ledger dd span{display:block;font-family:var(--enc-sans);font-size:17px;color:var(--enc-muted)!important;margin-top:2px}
#enc .enc-days{margin-top:16px;font-size:17px;color:var(--enc-muted)!important;text-shadow:0 1px 10px rgba(0,0,0,.9)}
#enc .enc-days b{font-family:var(--enc-serif);font-weight:600;font-size:22px;color:var(--enc-gold)!important}
#enc .enc-pause{position:absolute;right:16px;bottom:16px;z-index:3;width:44px;height:44px;border-radius:50%;border:0;display:none;place-items:center;cursor:pointer;background:rgba(14,13,12,.72);color:var(--enc-cream)!important;box-shadow:0 0 0 1px rgba(243,236,223,.35) inset}
#enc.enc-motion .enc-pause{display:grid}
#enc .enc-pause:hover{color:var(--enc-gold)!important}
#enc .enc-pause svg{width:18px;height:18px}
#enc .enc-pause .enc-ic-play{display:none}
#enc .enc-pause[aria-pressed="true"] .enc-ic-play{display:block}
#enc .enc-pause[aria-pressed="true"] .enc-ic-pause{display:none}
/* ----- invitation ----- */
#enc .enc-invite{background:radial-gradient(ellipse 70% 60% at 50% 45%, var(--enc-char) 0%, var(--enc-dark) 75%);text-align:center;padding:clamp(96px,11vw,150px) 0;position:relative}
#enc .enc-invite::before{content:"";position:absolute;left:50%;top:0;width:1px;height:72px;background:linear-gradient(var(--enc-bronze),transparent);opacity:.7}
#enc .enc-invite .enc-kicker{justify-content:center}
#enc .enc-invite .enc-kicker::after{content:"";width:28px;height:1px;background:currentColor}
#enc .enc-pitch{max-width:30ch;margin:8px auto 0;font-family:var(--enc-serif);font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.3;color:var(--enc-cream)!important;font-weight:400}
#enc .enc-pitch-big{display:block;margin-top:clamp(18px,2.6vw,30px);font-size:clamp(2.2rem,5.4vw,4.6rem);line-height:1.12;font-style:italic;max-width:17ch;margin-left:auto;margin-right:auto}
#enc .enc-pitch-big .enc-jude{color:var(--enc-gold)!important}
#enc .enc-pitch--lead{max-width:38ch;font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.4}
#enc .enc-invite-more{max-width:44ch;margin:clamp(28px,4vw,40px) auto 0;font-size:clamp(18px,1.5vw,20px);line-height:1.6;color:var(--enc-cream)!important;opacity:.92}
#enc .enc-expect{max-width:620px;margin:clamp(28px,4vw,40px) auto 0;padding:clamp(20px,3vw,28px);border:1px solid rgba(189,146,111,.35);border-radius:16px;background:rgba(0,0,0,.18);text-align:left}
#enc .enc-expect-k{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--enc-gold)!important}
#enc .enc-expect-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
#enc .enc-expect-list li{position:relative;padding-left:22px;font-size:18px;line-height:1.5;color:var(--enc-cream)!important}
#enc .enc-expect-list li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--enc-gold);transform:rotate(45deg)}
#enc .enc-expect-note{margin:16px 0 0;font-size:17px;line-height:1.55;font-style:italic;color:var(--enc-cream)!important;opacity:.88}
#enc .enc-greek{display:block;margin-top:clamp(20px,2.4vw,28px);font-family:var(--enc-greek);font-weight:500;font-size:clamp(19px,1.9vw,23px);color:var(--enc-bronze)!important;line-height:1.4}
#enc .enc-cite{display:block;margin-top:6px;font-style:normal;font-size:16px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--enc-bronze)!important}
/* ----- registration ----- */
#enc .enc-light{background:var(--enc-page);color:var(--enc-body)!important}
#enc .enc-register{border-top:1px solid var(--enc-warm)}
/* the six options and prices; the 3-question helper moved to the sign-up page (encounter-directions.css) */
#enc .enc-finder{margin-top:40px}
#enc .enc-price{margin:8px 0 0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
#enc .enc-price strong{font-family:var(--enc-display,"Playfair Display",Georgia,serif);font-size:26px;line-height:1.1;color:var(--enc-head)!important;font-variant-numeric:lining-nums tabular-nums}
#enc .enc-price span{font-size:16px;color:var(--enc-body)!important}
#enc .enc-faq-prices{margin:8px 0;padding-left:20px}
#enc .enc-faq-prices li{margin:4px 0}
/* matrix */
#enc .enc-mx-note{margin-top:6px;max-width:70ch;color:var(--enc-soft)!important;font-size:17px}
#enc .enc-mx-row{margin-top:22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
#enc .enc-mx-who{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding-bottom:8px;border-bottom:1px solid var(--enc-warm)}
#enc .enc-mx-who h3{font-size:1.6rem;font-weight:600;color:var(--enc-head)!important}
#enc .enc-mx-who p{color:var(--enc-soft)!important;font-size:16px;line-height:1.4}
#enc .enc-card{position:relative;overflow:hidden;padding:18px 14px 16px;border-radius:14px;background:var(--enc-white);border:1px solid var(--enc-border);display:flex;flex-direction:column;gap:2px;transition:border-color .3s, box-shadow .35s, transform .35s}
#enc .enc-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--enc-bronze)}
#enc .enc-card-num{font-family:var(--enc-serif);font-size:2.4rem;font-weight:600;line-height:1;color:var(--enc-bronze-text)!important}
#enc .enc-card h4{margin:6px 0 0;font-family:var(--enc-serif);font-weight:600;font-size:19px;line-height:1.25;color:var(--enc-head)!important}
#enc .enc-card p{color:var(--enc-body)!important;font-size:16px;line-height:1.45;margin-top:2px}
#enc a.enc-card{text-decoration:none;color:inherit!important}
#enc a.enc-card:hover{border-color:var(--enc-bronze);box-shadow:0 18px 40px -26px rgba(138,92,58,.55);transform:translateY(-2px)}
#enc a.enc-card:focus-visible{outline:3px solid var(--enc-bronze-text);outline-offset:3px}
#enc .enc-card-go{margin-top:auto;padding-top:10px;font-size:15px;font-weight:600;color:var(--enc-bronze-text)!important}
@media (min-width:600px){
  #enc .enc-mx-row{gap:14px}
  #enc .enc-card{padding:20px 20px 18px}
  #enc .enc-card-num{font-size:2.8rem}
  #enc .enc-card h4{font-size:20px}
  #enc .enc-card p{font-size:17px}
}
@media (min-width:1200px){
  #enc .enc-mx-row{grid-template-columns:148px minmax(0,1fr) minmax(0,1fr);align-items:stretch}
  #enc .enc-mx-who{grid-column:auto;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;justify-content:center;border-bottom:0;border-right:1px solid var(--enc-warm);padding:0 14px 0 0}
}
#enc .enc-mx-cta{margin-top:34px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px}
#enc .enc-mx-cta p{color:var(--enc-body)!important;font-size:17px;max-width:44ch}
/* ----- the 2027 program (speakers + schedule) ----- */
#enc .enc-program{background:var(--enc-surface)}
#enc .enc-program > span[id]{position:absolute;top:0}
#enc .enc-sub{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 24px;margin-top:clamp(44px,5vw,64px)}
#enc .enc-sub h3{font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:400;color:var(--enc-cream)!important}
#enc .enc-sub h3 em{font-style:italic;color:var(--enc-gold)!important}
#enc .enc-sub p{color:var(--enc-muted)!important;font-size:17px}
#enc .enc-program .enc-rule{height:1px;background:linear-gradient(90deg,rgba(189,146,111,.7),rgba(189,146,111,.15) 60%,transparent);margin-top:clamp(48px,6vw,80px)}
/* speakers: no portraits, no initials */
#enc .enc-spk-grid{margin-top:22px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
#enc .enc-spk{position:relative;background:var(--enc-char);border:1px solid rgba(243,236,223,.1);border-radius:16px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:4px;transition:border-color .2s ease}
#enc .enc-spk::before{content:"";position:absolute;left:22px;top:0;width:36px;height:2px;background:var(--enc-bronze)}
#enc .enc-spk-role{font-size:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--enc-bronze)!important;line-height:1.35}
#enc .enc-spk-name{font-family:var(--enc-serif);font-weight:600;font-size:clamp(1.6rem,2.4vw,2rem);color:var(--enc-cream)!important;line-height:1.15;margin-top:4px}
#enc .enc-spk-when{margin-top:auto;padding-top:12px;align-self:flex-start;color:var(--enc-cream)!important;font-weight:600;font-size:17px;line-height:1.3;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--enc-bronze);text-decoration-thickness:1.5px;text-underline-offset:6px}
#enc .enc-spk-when::after{content:"";position:absolute;inset:0;border-radius:16px}
#enc .enc-spk-when:focus-visible{outline:none}
#enc .enc-spk-when:focus-visible::after{outline:3px solid var(--enc-focus);outline-offset:3px}
#enc .enc-spk:hover{border-color:rgba(189,146,111,.75)}
#enc .enc-spk:hover .enc-spk-when{color:var(--enc-gold)!important}
#enc .enc-spk-feature,#enc .enc-spk-key{border-color:rgba(189,146,111,.6);background:linear-gradient(160deg,rgba(189,146,111,.16),rgba(189,146,111,0) 70%),var(--enc-char)}
#enc .enc-spk-key{background:var(--enc-char)}
#enc .enc-spk-feature .enc-spk-name{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.05}
#enc .enc-spk-key .enc-spk-name{font-size:clamp(1.9rem,3vw,2.5rem)}
#enc .enc-spk-ledger{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(189,146,111,.4);border-radius:14px;background:rgba(14,13,12,.4)}
#enc .enc-spk-ledger > div{position:relative;padding:12px 18px 14px;min-height:48px;transition:background-color .2s ease}
#enc .enc-spk-ledger > div + div{border-left:1px solid rgba(189,146,111,.3)}
#enc .enc-spk-ledger > div:hover{background:rgba(189,146,111,.1)}
#enc .enc-spk-ledger dt a{font-size:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--enc-gold)!important;text-decoration:none;line-height:1.3}
#enc .enc-spk-ledger dt a::after{content:"";position:absolute;inset:0}
#enc .enc-spk-ledger dt a:focus-visible{outline:none}
#enc .enc-spk-ledger dt a:focus-visible::after{outline:3px solid var(--enc-focus);outline-offset:-3px;border-radius:12px}
#enc .enc-spk-ledger dd{font-family:var(--enc-serif);font-size:19px;color:var(--enc-cream)!important;line-height:1.3;margin-top:4px}
#enc .enc-spk-tba{background:transparent;border:1.5px dashed rgba(189,146,111,.7);justify-content:center}
#enc .enc-spk-tba::before{display:none}
#enc .enc-spk-tba-h{font-family:var(--enc-serif);font-style:italic;font-size:22px;line-height:1.3;color:var(--enc-cream)!important}
#enc .enc-spk-tba p + p{color:var(--enc-muted)!important;font-size:17px;line-height:1.5}
@media (min-width:900px){
  #enc .enc-spk-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  #enc .enc-spk-feature{grid-column:1 / span 2;grid-row:1;padding:30px 30px 26px}
  #enc .enc-spk-key{grid-column:3;grid-row:1;padding:30px 26px 26px}
  #enc .enc-spk-key .enc-spk-when{font-size:18px}
}
@media (max-width:899px){
  #enc .enc-spk:not(.enc-spk-feature):not(.enc-spk-tba){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:baseline;min-height:64px;padding:18px 18px 16px}
  #enc .enc-spk:not(.enc-spk-feature):not(.enc-spk-tba) .enc-spk-role{grid-column:1 / -1}
  #enc .enc-spk:not(.enc-spk-feature):not(.enc-spk-tba) .enc-spk-when{grid-column:2;grid-row:2;padding:0;margin:0}
  #enc .enc-spk-name,#enc .enc-spk-key .enc-spk-name{font-size:24px}
  #enc .enc-spk-feature .enc-spk-name{font-size:clamp(2rem,9vw,2.6rem)}
  #enc .enc-spk-tba{padding:18px}
}
@media (max-width:640px){
  #enc .enc-spk-ledger{grid-template-columns:1fr}
  #enc .enc-spk-ledger > div{padding:10px 14px 12px}
  #enc .enc-spk-ledger > div + div{border-left:0;border-top:1px solid rgba(189,146,111,.3)}
  #enc .enc-spk-ledger dd{font-size:18px;margin-top:2px}
}
/* schedule: anchor list + stacked days without JS; real tabs with JS */
#enc .enc-sched-note{margin-top:12px;color:var(--enc-muted)!important;font-size:17px;max-width:68ch}
#enc .enc-sched-body{margin-top:24px;position:relative;scroll-margin-top:var(--enc-nav,0px)}
#enc .enc-sched-bar{display:block;padding:10px 0;background:var(--enc-surface)}
#enc.enc-js .enc-sched-bar{position:sticky;top:var(--enc-nav,0px);z-index:70;border-bottom:1px solid rgba(189,146,111,.3)}
#enc .enc-sched-tabs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#enc .enc-sched-tabs li{min-width:0}
#enc .enc-dtab{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:100%;min-height:56px;padding:6px 4px;border-radius:12px;border:1px solid rgba(243,236,223,.16);background:rgba(14,13,12,.28);color:var(--enc-cream)!important;text-decoration:none;text-align:center;line-height:1.2;transition:border-color .2s ease, background-color .2s ease}
#enc .enc-dtab-dow{font-weight:700;font-size:18px;color:var(--enc-cream)!important}
#enc .enc-dtab-date{font-size:16px;color:var(--enc-muted)!important}
#enc .enc-dtab-sum{display:none}
#enc .enc-dtab:hover{border-color:var(--enc-bronze)}
#enc .enc-dtab[aria-selected="true"]{background:var(--enc-char);border-color:var(--enc-gold);box-shadow:inset 0 -3px 0 var(--enc-gold)}
#enc .enc-dtab[aria-selected="true"] .enc-dtab-dow{color:var(--enc-gold)!important}
#enc .enc-dtab[aria-selected="true"] .enc-dtab-date{color:var(--enc-cream)!important}
@media (min-width:640px){
  #enc .enc-sched-tabs{gap:12px}
  #enc .enc-dtab{align-items:flex-start;text-align:left;justify-content:flex-start;min-height:64px;padding:14px 18px 16px;gap:0}
  #enc .enc-dtab-dow{font-size:16px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--enc-bronze)!important}
  #enc .enc-dtab-date{font-family:var(--enc-serif);font-size:28px;font-weight:600;color:var(--enc-cream)!important;line-height:1.2;margin-top:2px}
  #enc .enc-dtab-sum{display:block;font-size:16px;color:var(--enc-muted)!important;line-height:1.35;margin-top:4px}
}
@media (max-height:640px){
  #enc.enc-js .enc-sched-bar{position:relative;top:auto}
}
#enc .enc-breaks{display:none;align-items:center;gap:12px;min-height:48px;margin-top:12px;padding:0 4px;background:none;border:0;color:var(--enc-cream)!important;font:inherit;font-size:17px;font-weight:600;cursor:pointer;text-align:left}
#enc.enc-js .enc-breaks{display:inline-flex}
#enc .enc-breaks-sw{flex:none;position:relative;width:46px;height:28px;border-radius:999px;border:1.5px solid var(--enc-muted);transition:background-color .2s ease, border-color .2s ease}
#enc .enc-breaks-sw::after{content:"";position:absolute;left:3px;top:3px;width:19px;height:19px;border-radius:50%;background:var(--enc-muted);transition:transform .2s ease}
#enc .enc-breaks:hover .enc-breaks-sw{border-color:var(--enc-gold)}
#enc .enc-breaks[aria-pressed="true"] .enc-breaks-sw{background:var(--enc-gold);border-color:var(--enc-gold)}
#enc .enc-breaks[aria-pressed="true"] .enc-breaks-sw::after{transform:translateX(18px);background:var(--enc-on-gold)}
#enc.enc-js .enc-sched:not(.is-all) .enc-ev-opt{display:none}
#enc .enc-day{padding-top:28px;scroll-margin-top:calc(var(--enc-nav,0px) + 16px)}
#enc .enc-day + .enc-day{margin-top:28px;border-top:1px solid rgba(189,146,111,.3)}
#enc.enc-js .enc-day + .enc-day{margin-top:0;border-top:0}
#enc .enc-day[hidden]{display:none}
#enc .enc-day:focus{outline:none}
#enc .enc-day-k{font-size:16px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--enc-bronze)!important}
#enc .enc-day-h{margin-top:6px;font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:400;color:var(--enc-cream)!important;line-height:1.1}
#enc .enc-day-h em{font-style:italic;color:var(--enc-gold)!important}
#enc .enc-day-sum{margin-top:6px;color:var(--enc-muted)!important;font-size:17px}
@media (min-width:900px){
  #enc .enc-day{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px;align-items:start;padding-top:40px}
  #enc .enc-day[hidden]{display:none}
  #enc .enc-day-head{position:sticky;top:calc(var(--enc-nav,0px) + 16px);padding-top:14px}
  #enc.enc-js .enc-day-head{top:calc(var(--enc-nav,0px) + 16px + var(--enc-barh,96px))}
  #enc .enc-day-h em{display:block}
  #enc .enc-day-c{display:none}
}
/* timeline rows */
#enc .enc-tl{--tc:88px;--gap:26px;--pl:8px;list-style:none;margin:16px 0 0;padding:0;position:relative}
#enc .enc-tl::before{content:"";position:absolute;top:20px;bottom:24px;left:calc(var(--pl) + var(--tc) + var(--gap) / 2);width:1px;background:linear-gradient(rgba(189,146,111,.6),rgba(189,146,111,.3))}
#enc .enc-ev{position:relative;display:grid;grid-template-columns:var(--tc) minmax(0,1fr);column-gap:var(--gap);align-items:baseline;padding:14px 12px 14px var(--pl);min-height:56px;border-radius:12px}
#enc .enc-ev::before{content:"";position:absolute;left:calc(var(--pl) + var(--tc) + var(--gap) / 2);top:21px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--enc-surface);box-shadow:0 0 0 2px var(--enc-bronze)}
#enc .enc-ev-time{font-weight:600;font-size:16px;line-height:1.5;color:var(--enc-muted)!important;font-variant-numeric:tabular-nums;white-space:nowrap}
#enc .enc-ev-body{min-width:0}
#enc .enc-ev-title{font-family:var(--enc-serif);font-weight:600;font-size:19px;line-height:1.3;color:var(--enc-cream)!important}
#enc .enc-ev-who{margin-top:4px;font-weight:600;font-size:17px;line-height:1.4;color:var(--enc-bronze)!important}
#enc .enc-ev-note{margin-top:4px;font-size:16px;line-height:1.45;color:var(--enc-muted)!important}
#enc .enc-ev-tba{font-style:italic}
#enc .enc-ev-sub{font-family:var(--enc-sans);font-weight:500;font-size:16px;color:var(--enc-muted)!important;white-space:nowrap}
#enc .enc-ev-ic{display:inline-block;width:20px;height:20px;margin-right:10px;vertical-align:-3px;color:var(--enc-bronze)!important}
/* keynote */
#enc .enc-ev-keynote{margin:8px 0;padding-top:20px;padding-bottom:20px;background:linear-gradient(90deg,rgba(250,206,104,.11),rgba(250,206,104,.03));box-shadow:inset 3px 0 0 var(--enc-gold)}
#enc .enc-ev-keynote::before{top:26px;width:14px;height:14px;margin-left:-7px;background:var(--enc-gold);box-shadow:0 0 0 4px rgba(250,206,104,.22)}
#enc .enc-ev-keynote .enc-ev-time{color:var(--enc-gold)!important}
#enc .enc-ev-chip{display:inline-block;margin-bottom:6px;padding:1px 10px;border-radius:999px;background:var(--enc-gold);color:var(--enc-on-gold)!important;font-size:16px;font-weight:700;line-height:1.4}
#enc .enc-ev-keynote .enc-ev-title{font-size:23px;line-height:1.2}
#enc .enc-ev-keynote .enc-ev-who{font-family:var(--enc-serif);font-style:italic;font-weight:400;font-size:21px;color:var(--enc-gold)!important}
/* songs, prayer, quiet time, registration */
#enc .enc-ev-plain::before{top:22px;width:9px;height:9px;margin-left:-4.5px;border-radius:1px;transform:rotate(45deg);background:var(--enc-bronze);box-shadow:none}
#enc .enc-ev-plain .enc-ev-title{font-weight:400}
/* meals */
#enc .enc-ev-meal{min-height:48px;padding-top:10px;padding-bottom:10px}
#enc .enc-ev-meal::before{top:18px;width:8px;height:8px;margin-left:-4px;background:var(--enc-bronze);box-shadow:none}
#enc .enc-ev-meal .enc-ev-title{font-family:var(--enc-sans);font-size:18px;font-weight:600}
/* coffee, breaks, free time */
#enc .enc-ev-minor{min-height:0;padding-top:6px;padding-bottom:6px}
#enc .enc-ev-minor::before{top:15px;width:6px;height:6px;margin-left:-3px;background:var(--enc-muted);box-shadow:none;opacity:.75}
#enc .enc-ev-minor .enc-ev-title{font-family:var(--enc-sans);font-weight:400;font-size:16px;color:var(--enc-muted)!important}
/* workshops */
#enc .enc-ws{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px}
#enc .enc-ws-pill{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--enc-bronze);font-weight:600;font-size:17px;letter-spacing:.04em;color:var(--enc-cream)!important}
#enc .enc-ws-or{font-family:var(--enc-serif);font-style:italic;font-size:17px;color:var(--enc-muted)!important}
/* evenings */
#enc .enc-ev-evening{margin-top:8px;padding-top:16px;padding-bottom:16px;background:var(--enc-dark);border:1px solid rgba(243,236,223,.08)}
#enc .enc-ev-evening::before{top:22px;background:var(--enc-dark);box-shadow:0 0 0 2px var(--enc-muted)}
#enc .enc-ev-evening .enc-ev-title{font-family:var(--enc-sans);font-size:18px;font-weight:600}
#enc .enc-ev-evening .enc-ev-ic{color:var(--enc-gold)!important}
/* departure */
#enc .enc-ev-depart{margin-top:12px;padding-top:22px;border-top:1px solid var(--enc-bronze);border-radius:0}
#enc .enc-ev-depart::before{top:29px;width:12px;height:12px;margin-left:-6px;background:var(--enc-bronze);box-shadow:none}
#enc .enc-ev-depart .enc-ev-title{font-size:22px}
#enc .enc-ev-depart .enc-ev-note{color:var(--enc-gold)!important;font-weight:600;font-size:17px}
@media (min-width:900px){
  #enc .enc-tl{--tc:112px;--gap:34px;--pl:18px;margin-top:0}
  #enc .enc-ev-title{font-size:20px}
  #enc .enc-ev-keynote .enc-ev-title{font-size:26px}
  #enc .enc-ev-keynote .enc-ev-who{font-size:22px}
}
#enc .enc-nextday{display:none;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;margin-top:22px;padding:0 24px;border-radius:999px;border:1.5px solid rgba(189,146,111,.8);color:var(--enc-cream)!important;font-weight:600;font-size:17px;text-decoration:none;transition:border-color .2s ease, color .2s ease}
#enc.enc-js .enc-nextday{display:flex}
#enc .enc-nextday:hover{border-color:var(--enc-gold);color:var(--enc-gold)!important}
#enc .enc-nextday:hover .enc-arrow{transform:translateX(3px)}
#enc .enc-nextday .enc-arrow{transition:transform .2s ease}
@media (min-width:900px){
  #enc .enc-nextday{width:fit-content;margin-left:calc(18px + 112px + 34px)}
}
#enc .enc-sched-cta{margin-top:clamp(40px,5vw,60px);padding-top:28px;border-top:1px solid rgba(189,146,111,.3);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px}
#enc .enc-sched-cta p{color:var(--enc-muted)!important;font-size:17px;max-width:52ch}
#enc .enc-sched-cta b{font-family:var(--enc-serif);font-weight:600;font-size:20px;color:var(--enc-cream)!important}
@media print{
  #enc .enc-day[hidden]{display:block!important}
  #enc .enc-sched .enc-ev-opt{display:grid!important}
  #enc .enc-sched-bar{position:static!important}
}
/* ----- good to know ----- */
#enc .enc-know{border-top:1px solid var(--enc-warm)}
#enc .enc-pc-grid{margin-top:48px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
#enc .enc-pc{padding:26px 24px;border-radius:18px;background:var(--enc-white);border:1px solid var(--enc-border)}
#enc .enc-pc svg{width:40px;height:40px;color:var(--enc-bronze-text)!important;margin-bottom:14px}
#enc .enc-pc h3{font-size:24px;color:var(--enc-head)!important}
#enc .enc-pc p{margin-top:8px;color:var(--enc-body)!important;font-size:17px;line-height:1.55}
#enc .enc-pc p strong{color:var(--enc-head)!important;font-weight:600}
#enc .enc-faq-grid{margin-top:clamp(56px,6vw,88px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,72px);align-items:start}
#enc .enc-faq-side h3{font-size:clamp(1.8rem,3vw,2.4rem);color:var(--enc-head)!important;font-weight:400}
#enc .enc-faq-side p{margin-top:12px;color:var(--enc-body)!important;font-size:17px}
#enc .enc-faq-side a{color:var(--enc-bronze-text)!important;font-weight:600}
#enc .enc-faq details{border-top:1px solid #d9d4cc}
#enc .enc-faq details:last-child{border-bottom:1px solid #d9d4cc}
#enc .enc-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 2px;min-height:64px;font-family:var(--enc-serif);font-weight:600;font-size:20px;line-height:1.3;color:var(--enc-head)!important}
#enc .enc-faq summary::-webkit-details-marker{display:none}
#enc .enc-faq summary:hover{color:var(--enc-bronze-text)!important}
#enc .enc-pm{flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--enc-bronze-text);position:relative}
#enc .enc-pm::before,#enc .enc-pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--enc-bronze-text);transform:translate(-50%,-50%);border-radius:2px}
#enc .enc-pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .25s}
#enc .enc-faq details[open] .enc-pm::after{transform:translate(-50%,-50%) rotate(0)}
#enc .enc-ans{padding:0 2px 20px;color:var(--enc-body)!important;max-width:62ch}
#enc .enc-ans p + p{margin-top:10px}
#enc .enc-ans a{color:var(--enc-bronze-text)!important;font-weight:600}
/* ----- closing ----- */
#enc .enc-closing{background:var(--enc-char);text-align:center;padding:clamp(64px,8vw,110px) 0}
#enc .enc-frame{position:relative;border:1px solid rgba(189,146,111,.55);border-radius:24px;padding:clamp(44px,7vw,88px) clamp(20px,5vw,64px)}
#enc .enc-frame::before{content:"";position:absolute;inset:8px;border:1px solid rgba(189,146,111,.2);border-radius:18px;pointer-events:none}
#enc .enc-closing img{width:min(300px,78%);height:auto;margin:0 auto}
#enc .enc-closing h2{margin:clamp(28px,4vw,40px) auto 0;font-size:clamp(2.2rem,5.4vw,4.4rem);font-weight:400;color:var(--enc-cream)!important;max-width:17ch}
#enc .enc-closing h2 em{color:var(--enc-gold)!important;font-style:italic}
#enc .enc-closing p{margin:18px auto 0;color:var(--enc-muted)!important;max-width:56ch}
#enc .enc-closing .enc-btn{margin-top:34px;position:relative}
/* ----- footer ----- */
#enc .enc-foot{background:var(--enc-dark);border-top:1px solid rgba(243,236,223,.08);padding:44px 0 48px}
#enc .enc-foot .enc-wrap{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
#enc .enc-foot img{height:44px;width:auto}
#enc .enc-foot p{color:var(--enc-muted)!important;font-size:16px}
#enc .enc-foot a{color:var(--enc-gold)!important}
/* ----- phone register bar ----- */
#enc .enc-mbar{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--enc-char);border-top:1px solid rgba(189,146,111,.6);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;transition:transform .3s ease, visibility .3s}
#enc .enc-mbar-info{flex:1;min-width:0;font-size:16px;font-weight:600;color:var(--enc-cream)!important;line-height:1.3}
#enc .enc-mbar-info span{display:block;font-weight:400;color:var(--enc-muted)!important}
#enc .enc-mbar .enc-btn{min-height:52px;font-size:17px;padding:0 1.2em;flex:none;box-shadow:none}
#enc.enc-js .enc-mbar{transform:translateY(110%);visibility:hidden}
#enc.enc-js .enc-mbar.is-shown{transform:none;visibility:visible}
@media (min-width:900px){
  #enc .enc-mbar{display:none}
}
@media (max-width:899px){
  #enc .enc-foot{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
}
/* ----- one fade-up per block (JS only) ----- */
#enc.enc-js.enc-motion .enc-rv{opacity:0;transform:translateY(12px);transition:opacity .7s ease, transform .7s ease}
#enc.enc-js.enc-motion .enc-rv.is-in{opacity:1;transform:none}
/* ----- responsive ----- */
@media (max-width:1100px){
  #enc .enc-pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899px){
  #enc .enc-faq-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  #enc{font-size:18px}
  #enc .enc-hero-inner{padding-top:36px;padding-bottom:28px}
  #enc .enc-hero-img{object-position:51% 40%}
  #enc .enc-rays{top:18%;left:51%}
  #enc .enc-eyebrow{letter-spacing:.16em;padding:7px 14px}
  #enc .enc-hero-shade{background:
    linear-gradient(180deg, rgba(14,13,12,.78) 0%, rgba(14,13,12,.3) 13%, rgba(14,13,12,.42) 28%, rgba(14,13,12,.66) 46%, rgba(14,13,12,.92) 68%, #0e0d0c 100%),
    radial-gradient(ellipse 120% 90% at 50% 38%, transparent 48%, rgba(0,0,0,.6) 100%)}
  #enc .enc-hero-line{font-size:19px;padding:6px 14px;border-radius:14px;background:rgba(14,13,12,.58)}
  #enc .enc-title-word{font-size:clamp(3.6rem,19vw,5.4rem)}
  #enc .enc-title-year{letter-spacing:.36em;padding-left:.36em;gap:12px}
  #enc .enc-hero-cta{flex-direction:column;align-items:stretch;width:100%;max-width:380px;gap:10px}
  #enc .enc-hero-cta .enc-btn{width:100%}
  #enc .enc-hero-cta .enc-btn-map{min-height:50px;font-size:17px}
  #enc .enc-ledger{grid-template-columns:1fr;width:100%;max-width:380px;padding:4px 16px}
  #enc .enc-ledger > div{display:grid;grid-template-columns:128px 1fr;gap:10px;padding:10px 0;align-items:baseline}
  #enc .enc-ledger > div + div{border-left:0;border-top:1px solid rgba(189,146,111,.3)}
  #enc .enc-ledger dd{font-size:18px;margin-top:0}
  #enc .enc-days{margin-top:12px}
  #enc .enc-pitch-big{max-width:none}
  #enc .enc-pc-grid{grid-template-columns:1fr}
  #enc .enc-mx-cta .enc-btn{width:100%}
  #enc .enc-sched-cta .enc-btn{width:100%}
  #enc .enc-closing .enc-btn{width:100%;padding:0 14px;font-size:18px}
  #enc .enc-frame{padding:40px 14px}
}
@media (max-width:599px){
}
@media (max-width:380px){
  #enc .enc-ev-sub{display:block;margin-top:2px}
  #enc .enc-ev-dot{display:none}
  #enc .enc-spk-name,#enc .enc-spk-key .enc-spk-name{font-size:22px}
  #enc .enc-spk-when{font-size:16px}
  #enc .enc-spk:not(.enc-spk-feature):not(.enc-spk-tba){column-gap:10px;padding-left:16px;padding-right:16px}
}
@media (max-width:360px){
  #enc .enc-ledger > div{grid-template-columns:1fr;gap:0}
  #enc .enc-mbar-info{display:none}
  #enc .enc-mbar .enc-btn{flex:1}
}
@media (prefers-reduced-motion:reduce){
  #enc .enc-hero-img,#enc .enc-ray{animation:none!important}
  #enc.enc-js .enc-rv{opacity:1!important;transform:none!important;transition:none!important}
  #enc .enc-btn,#enc .enc-card,#enc .enc-mbar,#enc .enc-dtab,#enc .enc-spk,#enc .enc-nextday,#enc .enc-breaks-sw,#enc .enc-breaks-sw::after,#enc .enc-arrow{transition:none}
}
/* installed app: the phone Register bar sits on top of the app's bottom nav */
html.is-pwa-standalone #enc .enc-mbar,body.is-pwa-standalone #enc .enc-mbar{bottom:var(--pwa-bottom-nav-total-height,0px);padding-bottom:10px}
/* "Map & directions" link in the Where card */
#enc .enc-pc-link{display:inline-flex;align-items:center;gap:.4em;min-height:44px;color:var(--enc-bronze-text)!important;font-weight:600;text-underline-offset:4px;text-decoration-thickness:1px}
#enc .enc-pc-link:hover{color:var(--enc-head)!important}
#enc .enc-pc-link .enc-arrow{transition:transform .2s ease}
#enc .enc-pc-link:hover .enc-arrow{transform:translateX(3px)}
