@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/frl-hebrew-400.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/frl-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/frl-hebrew-500.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/frl-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/frl-hebrew-700.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/frl-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
  --bg:#1c1612; --bg-2:#241c16; --bg-3:#2f251d; --gold:#d6b46a; --gold-2:#f1dca2; --gold-d:#9c7a35; --ink:#efe8dc; --muted:#bcae99;
  --cream:#f6efe1; --cream-2:#efe4cf; --brown:#2a1f17; --brown-2:#5b4634;
  --yi:"Frank Ruhl Libre","Frank Ruehl CLM","David","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--yi);font-size:19px;line-height:1.75;overflow-x:hidden}
[lang="en"]{font-family:var(--sans)}
a{color:var(--gold-2)}
a:hover{color:#fff}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;border-radius:4px}
.skip{position:absolute;right:-999px;top:8px;background:var(--gold);color:var(--bg);padding:8px 14px;z-index:100}
.skip:focus{right:8px}
.muted{color:var(--muted)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* top bar */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 22px;background:rgba(28,22,18,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(214,180,106,.2)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-logo{width:36px;height:36px;border-radius:50%}
.brand-he{font-family:var(--yi);font-weight:700;font-size:1.55rem;line-height:1;color:var(--gold)}
.brand-en{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);padding-top:4px}
.topbar nav ul{display:flex;list-style:none;margin:0;padding:0;gap:2px;align-items:center}
.topbar nav a{display:flex;flex-direction:column;align-items:center;padding:4px 14px;color:var(--ink);text-decoration:none;border-radius:999px;line-height:1.25}
.topbar nav .yi{font-size:1.02rem;font-weight:500}
.topbar nav .en{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.topbar nav a:hover .yi{color:var(--gold-2)}
.topbar nav .nav-cta{background:var(--gold);color:var(--bg);margin-inline-start:6px}
.topbar nav .nav-cta .en{color:#5a4523}
.topbar nav .nav-cta:hover{background:var(--gold-2)}
.topbar nav .nav-cta:hover .yi{color:var(--bg)}
.nav-toggle{display:none}

/* hero */
.hero{position:relative;min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;text-align:center;padding:72px 20px 80px;overflow:hidden;
  background:radial-gradient(ellipse at 50% 32%,rgba(214,180,106,.17),transparent 58%),radial-gradient(ellipse at 85% 100%,#3a2f25 0,transparent 55%),linear-gradient(180deg,#1c1612 0,#241c16 100%)}
.hero-waves{position:absolute;inset:auto 0 6% 0;width:100%;height:44%;opacity:.3;pointer-events:none}
.hero-waves path{fill:none;stroke:var(--gold);stroke-width:1.2;vector-effect:non-scaling-stroke}
.hero-waves path:nth-child(2){opacity:.6}.hero-waves path:nth-child(3){opacity:.4}.hero-waves path:nth-child(4){opacity:.25}
.hero-inner{position:relative;max-width:760px}
.hero-logo{display:block;margin:0 auto 22px}
.hero-logo img{display:block;margin:0 auto;width:clamp(190px,52vw,280px);height:auto;border-radius:50%;box-shadow:0 0 0 1px rgba(214,180,106,.35),0 0 0 10px rgba(214,180,106,.06),0 20px 60px rgba(0,0,0,.55),0 0 90px rgba(214,180,106,.18)}
.hero h1{margin:0;font-weight:700;font-size:clamp(3.6rem,16vw,6.2rem);line-height:1.05;color:var(--gold);display:flex;flex-direction:column;align-items:center}
.h-sub{font-size:.36em;font-weight:500;color:var(--ink);letter-spacing:.02em;margin-top:6px}
.tagline{font-size:clamp(1.45rem,5.6vw,2.1rem);color:var(--gold-2);margin:22px 0 6px;line-height:1.35}
.hero-en{margin:0 0 32px;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 26px;border-radius:999px;font-family:var(--yi);font-size:1.12rem;font-weight:500;line-height:1.2;text-decoration:none;border:1px solid var(--gold);cursor:pointer;transition:background .2s,color .2s}
.btn-en{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.btn-gold{background:var(--gold);color:var(--bg)}
.btn-gold:hover{background:var(--gold-2);color:var(--bg)}
.btn-ghost{background:transparent;color:var(--gold-2)}
.btn-ghost:hover{background:rgba(214,180,106,.12);color:#fff}

/* sections */
.section{padding:88px 20px}
.wrap{max-width:1100px;margin:0 auto}
.narrow{max-width:760px}
.center{text-align:center}
.kicker{margin:0 0 6px;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
h2{font-weight:700;font-size:clamp(2.1rem,7vw,3.1rem);line-height:1.2;margin:0;color:#fff}
h3{font-weight:700;font-size:1.6rem;line-height:1.25;margin:2px 0 8px;color:#fff}
.orn{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px auto 26px}
.orn span{display:block;width:56px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.orn span:last-child{transform:scaleX(-1)}
.orn i{display:block;width:8px;height:8px;transform:rotate(45deg);border:1px solid var(--gold)}
.section-intro{max-width:620px;margin:0 auto 40px;color:var(--muted);font-size:1.12rem}
.en-line{display:block;text-align:right;font-size:.8rem;letter-spacing:.06em;color:var(--muted);margin-top:4px;opacity:.85}

/* light (cream) sections */
.light{background:var(--cream);color:var(--brown)}
.light h2{color:var(--brown)}
.light .kicker{color:var(--gold-d)}
.light .orn span{background:linear-gradient(90deg,transparent,var(--gold-d))}
.light .orn i{border-color:var(--gold-d)}
.prose p{margin:0 0 16px}
.about .lead{font-size:1.28rem;line-height:1.7}
.about .motto{font-size:1.22rem;font-weight:500;color:var(--gold-d);margin-top:22px}
.facts{list-style:none;padding:0;margin:36px 0 0;display:grid;gap:12px}
.facts li{display:flex;flex-direction:column;align-items:center;padding:16px 14px;border:1px solid rgba(156,122,53,.35);border-radius:12px;background:rgba(255,255,255,.5)}
.fact-yi{font-size:1.18rem;font-weight:700;color:var(--brown)}
.fact-en{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown-2)}

/* services */
.services{background:var(--bg-2)}
.cards{display:grid;gap:16px;grid-template-columns:1fr}
.card{position:relative;padding:26px 26px 24px;border:1px solid rgba(214,180,106,.25);border-radius:14px;background:linear-gradient(160deg,rgba(214,180,106,.08),rgba(255,255,255,.01))}
.card::before{content:"";position:absolute;top:0;right:26px;width:40px;height:2px;background:var(--gold)}
.card p{margin:0;color:var(--muted);font-size:1.05rem}
.card .card-en{text-align:right;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-top:4px}

/* videos */
.videos{background:var(--bg)}
.video-grid{display:grid;gap:18px;grid-template-columns:1fr}
.video-tile{margin:0;border-radius:14px;overflow:hidden;border:1px solid rgba(214,180,106,.28);background:#120e0b}
.video-tile video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}
.video-tile figcaption{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;font-size:.95rem;color:var(--muted)}
.video-tile .dur{font-family:var(--sans);font-size:.8rem;color:var(--gold)}
.section-note.more{margin:30px 0 0;text-align:center;color:var(--muted)}

/* CTA band */
.cta-band{padding:70px 20px;background:radial-gradient(ellipse at 50% 0,rgba(214,180,106,.22),transparent 70%),var(--brown);border-top:1px solid rgba(214,180,106,.25);border-bottom:1px solid rgba(214,180,106,.25)}
.cta-line{margin:0;font-size:clamp(2rem,7vw,3rem);font-weight:700;color:var(--gold-2);line-height:1.25}
.cta-en{margin:4px 0 26px;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}

/* book */
.book{background:linear-gradient(180deg,var(--bg) 0,#2a211a 100%)}
.book h2{margin-bottom:14px}
.two-col{display:grid;gap:36px}
.contact{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}
.contact li{display:flex;flex-direction:column;padding-bottom:12px;border-bottom:1px solid rgba(214,180,106,.15)}
.contact-label{font-size:.9rem;color:var(--gold)}
.contact-label span{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-inline-start:6px}
.contact a,.contact li>span:last-child{font-size:1.15rem;word-break:break-word;text-align:right}
.contact a[dir="ltr"]{align-self:flex-start}
.book-form{display:grid;gap:14px;padding:24px;border-radius:16px;background:var(--bg-3);border:1px solid rgba(214,180,106,.25)}
.book-form label{display:grid;gap:6px;font-size:1rem;color:var(--ink)}
.book-form label small{font-family:var(--sans);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-inline-start:6px}
.book-form input,.book-form select,.book-form textarea{width:100%;min-width:0;padding:11px 14px;border-radius:10px;border:1px solid rgba(214,180,106,.3);background:#1c1612;color:var(--ink);font:1.05rem var(--yi)}
.book-form input[type="date"]{font-family:var(--sans);font-size:1rem;min-height:48px}
.book-form input:focus,.book-form select:focus,.book-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:transparent}
.book-form.tried input:invalid{border-color:#e48a7a}
.book-form .row{display:grid;gap:14px;grid-template-columns:1fr}
.book-form .btn{width:100%;justify-content:center;margin-top:4px}
.form-note{margin:0;font-size:.85rem;color:var(--muted);text-align:center}

.site-footer{padding:44px 20px;border-top:1px solid rgba(214,180,106,.18);text-align:center;background:#16110e}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:6px}
.site-footer p{margin:0;font-size:1rem}
.site-footer .muted{font-size:.75rem}

/* mobile */
@media (max-width:820px){
  .topbar{padding:8px 14px}
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid rgba(214,180,106,.35);border-radius:10px;background:transparent;cursor:pointer}
  .nav-toggle i{display:block;height:2px;width:100%;background:var(--gold);border-radius:2px;transition:transform .2s,opacity .2s}
  .nav-toggle[aria-expanded="true"] i:nth-child(2){transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] i:nth-child(3){opacity:0}
  .nav-toggle[aria-expanded="true"] i:nth-child(4){transform:translateY(-7px) rotate(-45deg)}
  .topbar nav{position:absolute;top:100%;left:0;right:0;background:rgba(28,22,18,.98);border-bottom:1px solid rgba(214,180,106,.25);display:none}
  .topbar nav.open{display:block}
  .topbar nav ul{flex-direction:column;align-items:stretch;padding:8px 14px 16px;gap:4px}
  .topbar nav a{flex-direction:row;justify-content:space-between;padding:12px 16px;border-radius:10px}
  .topbar nav a .yi{font-size:1.2rem}
  .topbar nav a .en{font-size:.68rem}
  .topbar nav .nav-cta{margin:6px 0 0}
  .hero{min-height:auto;padding:54px 20px 68px}
  .section{padding:68px 20px}
}
@media (min-width:640px){
  .video-grid{display:flex;flex-wrap:wrap;justify-content:center}
  .video-tile{flex:0 0 calc((100% - 18px)/2)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .book-form .row{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:960px){
  .two-col{grid-template-columns:1fr 1.25fr;gap:64px;align-items:start}
  .cards{grid-template-columns:repeat(3,1fr)}
  .video-tile{flex:0 0 calc((100% - 36px)/3)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.center .en-line{text-align:center}
/* Choir Member Login (the members' Kehulu Songs app, /songs/) */
.topbar nav .nav-login{border:1px solid var(--gold);margin-inline-start:6px}
.topbar nav .nav-login .en{color:var(--gold-2)}
.topbar nav .nav-login:hover{background:rgba(214,180,106,.14)}
.site-footer .footer-login{color:var(--gold-2);text-decoration:none;border-bottom:1px solid currentColor}
@media (max-width:820px){ .topbar nav .nav-login{margin:6px 0 0} }
