/* Songcarrier's own look: light mermaid by day, deep sea at night */
:root{
  --bg:#f4f9f9; --paper:#ffffff; --ink:#163c48; --soft:#557680; --line:#d5ebe8;
  --plum:#0f4c5c; --violet:#1b7a7f; --aqua:#3fb6b0; --rose:#b0568a; --gold:#3fb6b0;
  --chip:#e2f3f1; --bar:#e2efee; --night:#0b2f3a; --veil:rgba(6,36,46,.6);
  --lilac:#9a6fc0; --shell:#f2c4ce; --pearl:#eaf6f5; --goldsoft:#bff0e9; --lav:#eef7f6;
  --display:"Marcellus",Georgia,serif; --body:"Nunito Sans",system-ui,sans-serif; --scriptf:"Allura",cursive;
  --btn:linear-gradient(135deg,#1b7a7f,#3fb6b0);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0b2f3a; --paper:#113b47; --ink:#e6f5f3; --soft:#a6cbcc; --line:#21545f;
  --plum:#c6f0ea; --violet:#7fe0d6; --aqua:#7fe0d6; --rose:#f2b0cf; --gold:#7fe0d6;
  --chip:#164857; --bar:#1a4e5c; --night:#072530; --veil:rgba(4,22,30,.7);
  --lilac:#cdb9ef; --pearl:#123e4b; --lav:#14434f;
  --btn:linear-gradient(135deg,#2a9a9a,#5fc9c4);
  color-scheme:dark;
}

/* type: Marcellus is upright, never italic */
.brand,.hero h1,h2.sec,.tile b,.face,.card .ph em,.av,.listen b,.artistcard .photo b,.artistcard h3,
.bookband b,.tellus h2,.respect h2,.lead,.homeband b,h2.ch,ol.toc b,.suggest b,.fbrand,.supportband b,.artistnote b{font-style:normal!important;font-weight:400!important}
.hero h1{letter-spacing:-.005em}
.lead{font-family:var(--display);font-size:clamp(20px,2.3vw,24px);line-height:1.5}
.script{font-family:var(--scriptf)!important;font-style:normal;line-height:.7}
h1 .script{color:var(--shell);font-size:1.35em}
h2 .script{font-size:1.45em;background:linear-gradient(135deg,#1b7a7f,#9a6fc0);-webkit-background-clip:text;background-clip:text;color:transparent}
:root[data-theme="dark"] h2 .script{background:linear-gradient(135deg,#7fe0d6,#e3b6d8);-webkit-background-clip:text;background-clip:text}
h2.sec::after{background:linear-gradient(90deg,#3fb6b0,#c9a7e6,transparent)}

/* header: deep sea */
header.site{background:linear-gradient(90deg,#0b2f3a,#0f4c5c 60%,#14606b);border-bottom:1px solid rgba(127,224,214,.3)}
header.site .brand{color:#e6f5f3;font-size:34px}
header.site .brand .script{color:#bff0e9}
header.site .search input{background:rgba(255,255,255,.1);border-color:rgba(191,240,233,.25)}
header.site .search input::placeholder,header.site .search svg{color:#bcdcdb;fill:#bcdcdb}
header.site nav.tabs a{color:#d6efec}
header.site nav.tabs a[aria-current="page"]{background:rgba(191,240,233,.16);color:#fff}
.themebtn{border:1px solid rgba(191,240,233,.35);background:transparent;color:#d6efec;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:none;margin-left:6px}
.themebtn svg{width:17px;height:17px;fill:currentColor}
.themebtn:hover{background:rgba(191,240,233,.14)}
nav.tabs{align-items:center}

/* heroes and washes */
.hero .eyebrow{color:#bff0e9}
.hero::after{background:linear-gradient(180deg,rgba(6,36,46,.05) 10%,rgba(6,36,46,.5) 62%,rgba(5,30,40,.88))}
.hero h1{text-shadow:0 2px 18px rgba(4,22,30,.35)}
.mantra{--wash:linear-gradient(135deg,#f6cfd9 0%,#d59ac3 50%,#9a7fd0 100%)}
.rainbow{--wash:linear-gradient(135deg,#a9e9df 0%,#4fbab2 50%,#2c7e94 100%)}
.global{--wash:linear-gradient(135deg,#c9b9f0 0%,#6f88cc 52%,#1d5b73 100%)}
.hero.paintbg::after{background:linear-gradient(180deg,transparent 40%,rgba(6,36,46,.35))}
.tile::after{background:linear-gradient(180deg,transparent 35%,rgba(6,36,46,.82))}
.mk{background:var(--chip)}

/* surfaces */
.face{box-shadow:0 0 0 2px #9fd9d2;background:linear-gradient(135deg,#a9e9df,#c9b9f0)}
.av{background:linear-gradient(135deg,#a9e9df,#c9b9f0)}
.block,.chapter{border-color:var(--line);box-shadow:0 8px 24px rgba(15,76,92,.05)}
.card{border-radius:20px}
.card:hover{box-shadow:0 14px 30px rgba(15,76,92,.14)}
.card .rec{color:#0f4c5c}
.card .tag{background:rgba(6,36,46,.3)}
.cta,.listen .play,.tellus button[type=submit]{background:var(--btn)}
.tellus button[type=submit]{box-shadow:0 8px 22px rgba(27,122,127,.25)}
.chordsvg .cn{fill:var(--plum)}
.artistcard .photo{background:radial-gradient(120% 120% at 0% 0%,#c3eee7,transparent 60%),radial-gradient(120% 120% at 100% 100%,#e2d6f6,transparent 60%),var(--chip)}
.artistcard .photo b{color:var(--violet)}
.artistnote{background:var(--pearl);color:var(--ink)}
.artistnote b{font-family:var(--display);color:var(--plum)}
.artistnote .sig,.welcome .sig{font-family:var(--scriptf);color:var(--lilac);font-size:30px}
.welcome p{color:var(--ink)}
.welcome p.lead{color:var(--plum)}
.unconfirmed{background:var(--pearl);border-left-color:#9fd9d2;color:var(--ink)}
h2.ch.mantra{--wash-line:#d59ac3}h2.ch.rainbow{--wash-line:#3fb6b0}h2.ch.global{--wash-line:#6f88cc}
ol.toc a{border-bottom-color:var(--line)}
ol.toc a:hover,.suggest a:hover,.suggest a.on{background:var(--lav)}
.tellus{background:linear-gradient(135deg,#eaf6f5 0%,#f1ebf8 100%);border-color:var(--line)}
:root[data-theme="dark"] .tellus{background:#0f3844}
.homeband{background:linear-gradient(135deg,var(--paper),var(--pearl));border-color:var(--line)}
.bookband div{background:#0f4c5c}
.bookband a{color:#0f4c5c}
.supportband{background:linear-gradient(135deg,#0b2f3a,#0f4c5c 60%,#2a5f78)}
.supportband b{color:#bff0e9}
.supportband p{color:#d6efec}
.respect li{border-color:var(--line)}
.origin{background:var(--chip)}

/* footer: deep sea, pearl and aqua */
footer{background:#072530;color:#bcdcdb;border-top:1px solid rgba(127,224,214,.25)}
footer .label{color:#7fe0d6}
.fbrand{font-family:var(--display);color:#e6f5f3}
.fbrand .script{color:#bff0e9}
footer .fsocial svg{fill:#bff0e9}
.fsocial .iconrow a{border-color:rgba(191,240,233,.4)}
.fsocial .iconrow a:hover,.fsocial a.fsupport:hover{background:rgba(191,240,233,.12)}
.fsocial a.fsupport{border-color:#bff0e9;color:#bff0e9}
.fbase{color:#8fb7b8;border-top-color:rgba(191,240,233,.12)}

/* dark mode: the deep sea */
:root[data-theme="dark"] body{background:var(--bg)}
:root[data-theme="dark"] .bigsearch input{background:#e6f5f3}
:root[data-theme="dark"] .bookband a{color:#0b2f3a}

/* song families page */
.families{display:grid;gap:18px;margin-top:10px}
.family{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px 26px}
.family h2{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.2vw,32px);color:var(--plum);margin:0 0 4px;line-height:1.15}
.family .aka{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--violet);font-weight:700;margin:0 0 10px}
.family p{font-size:17px;line-height:1.75;margin:0 0 10px}
.family .eg{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.family .eg a{font-size:14px;text-decoration:none;background:var(--chip);color:var(--plum);padding:5px 12px;border-radius:999px}
.familynav{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 22px}
.familynav a{font-size:14px;text-decoration:none;border:1px solid var(--line);background:var(--paper);color:var(--plum);padding:6px 14px;border-radius:999px}
.family{padding:0;overflow:hidden}
.famimg{display:block;width:100%;aspect-ratio:16/8;object-fit:cover}
.famimg.medicine{object-position:50% 70%}
.famimg.rainbow{object-position:50% 60%}
.famtx{padding:22px 26px 24px}
.fgrid{grid-template-columns:1.4fr 1fr 1fr}
@media (max-width:760px){.fgrid{grid-template-columns:1fr 1fr}.fabout{grid-column:1/-1}}
/* events */
.evlist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ev{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.ev.evoff{display:none}
.evimg{display:block;width:calc(100% - 16px);margin:16px 0 16px 16px;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:12px}
.evimg.fit{object-fit:contain;background:#eef6f5}
.evnoimg{background:linear-gradient(135deg,#bff0e9,#cfc3f2 60%,#f4c9dc)}
.evnoimg.t-training,.evnoimg.t-mentorship{background:linear-gradient(135deg,#cfc3f2,#8f7ad6)}.evnoimg.t-retreat,.evnoimg.t-festival{background:linear-gradient(135deg,#bff0e9,#6fcfc3)}.evnoimg.t-course{background:linear-gradient(135deg,#f4c9dc,#cfc3f2)}
.evin{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:end;padding:16px 20px}
.evin .evdate,.evin .evbody{grid-column:1/-1}
.evin .evlink{grid-column:2;justify-self:end}
.evdate{font-size:13px;font-weight:700;color:var(--violet);text-transform:uppercase;letter-spacing:.06em;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.evtype{font-size:11.5px;letter-spacing:.08em;background:var(--chip,#efeafb);color:var(--plum);border-radius:999px;padding:3px 10px}
.evbody b{display:block;font-family:var(--display);font-weight:400;font-size:21px;color:var(--plum);line-height:1.2}
.evbody small{display:block;color:var(--soft);font-size:14px}
.evabout{margin:6px 0 0;font-size:15px;line-height:1.5}
.evwho{font-size:14px;font-weight:600}
.evlink{font-size:14px;font-weight:700;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:7px 14px}
.evfilters{margin:0 0 18px}
.shareform .hint{margin:0;font-size:14px;color:var(--soft)}.shareform .hint.small,.shareform .small{font-size:12.5px}
.evrow textarea{min-height:70px}
.evempty{color:var(--soft);font-size:17px}
@media (max-width:640px){.ev{grid-template-columns:1fr}.evimg{width:calc(100% - 24px);margin:12px 12px 0;aspect-ratio:16/10}.evin .evlink{grid-column:1;justify-self:start}}
/* share form */
.shareform{display:grid;gap:16px;margin-top:10px}
.shareform fieldset{border:1px solid var(--line);border-radius:16px;padding:16px 18px 18px;display:grid;gap:12px;margin:0}
.shareform legend{font-family:var(--display);font-size:20px;color:var(--plum);padding:0 6px}
.shareform label.f{display:grid;gap:4px;font-size:13.5px;color:var(--soft)}
.shareform input,.shareform select,.shareform textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;width:100%}
.shareform textarea{min-height:110px;resize:vertical}
.shareform input:focus,.shareform select:focus,.shareform textarea:focus{outline:none;border-color:var(--violet)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.evrow{display:grid;gap:12px;padding-bottom:12px;border-bottom:1px dashed var(--line)}
.ghostbtn{justify-self:start;font:inherit;font-size:14px;border:1px solid var(--line);background:var(--paper);color:var(--plum);padding:8px 16px;border-radius:999px;cursor:pointer}
.shareform .msg{margin:0}.shareform .msg.err{color:var(--rose)}
@media (max-width:760px){header.site nav.tabs{grid-column:1/-1;grid-row:3;justify-content:space-between;gap:0}header.site nav.tabs a{padding:5px 7px}}
/* song of the month */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hp{position:absolute;left:-9999px}
.topbar{background:linear-gradient(90deg,#f4c9dc,#cfc3f2 55%,#bff0e9);color:#163c48;font-size:14px}
.topbar .wrap{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
.topbar .tbopen{font:inherit;font-weight:700;background:#163c48;color:#fff;border:0;border-radius:999px;padding:5px 14px;cursor:pointer}
.topbar .tbx{font-size:20px;line-height:1;background:none;border:0;color:#163c48;cursor:pointer;padding:2px 6px;margin-left:auto}
.fsign{display:grid;grid-template-columns:1.1fr 1fr;gap:20px 40px;align-items:center;padding-top:40px;padding-bottom:36px;border-bottom:1px solid rgba(191,240,233,.14)}
.fsign h2{margin:4px 0 8px;font-family:var(--display);font-weight:400;font-size:30px;color:#fff}
.fsign p{margin:0;color:#bcdcdb;font-size:15px;line-height:1.6}.fsign a{color:#bff0e9}
.sform{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px}
.sform input:not(.hp){font:inherit;font-size:15px;border:1px solid rgba(191,240,233,.35);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:11px 16px;min-width:0}
.sform input::placeholder{color:#8fb7b8}
.sform button{font:inherit;font-weight:700;font-size:15px;background:#bff0e9;color:#072530;border:0;border-radius:999px;padding:11px 20px;cursor:pointer;white-space:nowrap}
.sform .smsg{grid-column:1/-1;margin:0;font-size:14px;min-height:0}.sform .smsg.err{color:#f4a9bd}
.spop{position:fixed;inset:0;z-index:60;background:rgba(7,37,48,.55);display:grid;place-items:center;padding:16px}
.spop[hidden]{display:none}
.spopin{position:relative;display:grid;grid-template-columns:42% 1fr;width:min(760px,100%);background:var(--paper,#fff);border-radius:22px;overflow:hidden;box-shadow:0 30px 80px rgba(7,37,48,.35)}
.spopin>img{width:100%;height:100%;object-fit:cover;min-height:340px}
.spbody{padding:30px 28px 24px}.spbody h2{margin:4px 0 10px;font-family:var(--display);font-weight:400;font-size:30px;color:var(--plum)}
.spbody>p{margin:0 0 16px;color:var(--soft);font-size:15px;line-height:1.6}
.spop .sform{grid-template-columns:1fr}
.spop .sform input:not(.hp){background:var(--bg);color:var(--ink);border-color:var(--line)}.spop .sform input::placeholder{color:var(--soft)}
.spop .sform button{background:var(--plum,#163c48);color:#fff}.spop .sform .smsg.err{color:var(--rose)}
.spop .sfine{margin:12px 0 0;font-size:12.5px;color:var(--soft)}
.spx{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.85);font-size:22px;line-height:1;cursor:pointer;color:#163c48;z-index:1}
body.noscroll{overflow:hidden}
@media (max-width:760px){.fsign{grid-template-columns:1fr}.sform{grid-template-columns:1fr}.spopin{grid-template-columns:1fr}.spopin>img{min-height:0;height:150px}.spbody{padding:22px 20px 20px}.topbar .wrap>span{flex-basis:100%;text-align:center}.topbar .wrap{gap:4px 10px}.topbar .tbx{position:absolute;right:8px;top:6px}.topbar{position:relative}}
/* events calendar */
.evview{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;margin:0 0 14px;background:var(--paper)}
.evview button{font:inherit;font-size:14px;font-weight:600;border:0;background:none;color:var(--soft);padding:6px 16px;border-radius:999px;cursor:pointer}
.evview button[aria-pressed="true"]{background:var(--plum,#163c48);color:#fff}
.evcal{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px}
.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.calhead h2{margin:0;font-family:var(--display);font-weight:400;font-size:24px;color:var(--plum)}
.calhead button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--plum);font-size:22px;cursor:pointer}
.calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cw{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);text-align:center;padding:4px 0}
.cd{font:inherit;text-align:left;min-height:92px;display:flex;flex-direction:column;gap:3px;align-items:stretch;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);cursor:pointer;overflow:hidden}
.cd.cpad{border:0;background:none;cursor:default}
.cd.past{opacity:.5}.cd.today .dn{background:var(--plum,#163c48);color:#fff;border-radius:999px;padding:0 7px}
.cd.sel{outline:2px solid var(--violet);outline-offset:-2px}
.cd .dn{font-size:13px;font-weight:700;align-self:flex-start}
.cd .chip{display:block;font-size:11.5px;line-height:1.25;padding:2px 6px;border-radius:6px;background:#cfeee9;color:#123b45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip.t-training,.chip.t-mentorship,.chip.t-workshop{background:#e2dbf6;color:#3b2a6b}.chip.t-sound,.chip.t-kirtan,.chip.t-concert{background:#f6dbe6;color:#6b2a45}
.cd .more{font-size:11px;color:var(--soft)}
.calday{margin-top:14px}.calday ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.calday a{display:grid;gap:2px;text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--bg);color:var(--ink)}
.calday a .evtype{justify-self:start}.calday b{font-family:var(--display);font-weight:400;font-size:18px;color:var(--plum)}.calday small{color:var(--soft)}
.calnone{color:var(--soft);margin:6px 0 0}
.ev.flash{box-shadow:0 0 0 3px var(--violet)}
@media (max-width:640px){.evcal{padding:10px}.cd{min-height:46px;padding:4px;align-items:center}.cd .dn{align-self:center}.cd .chip,.cd .more{display:none}.cd.has::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--violet)}}
.sform input:not(.hp),.sform button{width:100%;box-sizing:border-box}@media (min-width:761px){.fsign .sform button{width:auto}}
