/* Selbst gehostete Schriften. Herkunft: Google Fonts, SIL Open Font License 1.1.
   Lokal eingebunden, damit keine Besucher-IP an Google uebertragen wird.
   Neu erzeugen mit: node tools/fetch-fonts.mjs */

/* arabic */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/amiri-400-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* latin-ext */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/amiri-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/amiri-400-latin.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;
}

/* arabic */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/amiri-700-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* latin-ext */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/amiri-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/amiri-700-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cinzel-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cinzel-400-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cinzel-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cinzel-500-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/cinzel-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/cinzel-600-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-400i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-400i-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-500i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-500i-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-400-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-500-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-600-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/hanken-grotesk-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/hanken-grotesk-300-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/hanken-grotesk-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/hanken-grotesk-400-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/hanken-grotesk-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/hanken-grotesk-500-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/hanken-grotesk-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/hanken-grotesk-600-latin.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;
}

/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/hanken-grotesk-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/hanken-grotesk-700-latin.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;
}

/* ethiopic: Ge'ez-Schrift fuer Tigrinya. Variable Schriften, eine Datei deckt
   alle Gewichte ab. Geladen wird nur, wo Ge'ez-Zeichen stehen, und eingebunden
   nur auf den /ti/-Seiten (siehe html[lang="ti"] weiter unten). */
@font-face {
  font-family: 'Noto Sans Ethiopic';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/noto-sans-ethiopic-var-ethiopic.woff2) format('woff2');
  unicode-range: U+030E, U+1200-1399, U+2D80-2DDE, U+AB01-AB2E, U+1E7E0-1E7E6, U+1E7E8-1E7EB, U+1E7ED-1E7EE, U+1E7F0-1E7FE;
}

@font-face {
  font-family: 'Noto Serif Ethiopic';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/noto-serif-ethiopic-var-ethiopic.woff2) format('woff2');
  unicode-range: U+030E, U+1200-1399, U+2D80-2DDE, U+AB01-AB2E, U+1E7E0-1E7E6, U+1E7E8-1E7EB, U+1E7ED-1E7EE, U+1E7F0-1E7FE;
}

/* Gemeinsames Stylesheet aller Seiten. Bearbeitet wird diese Datei direkt. */
/* Hoehe der klebenden Kopfzeile. Sprungmarken und die klebende Jahreswahl
   richten sich danach, sonst landen Anker mitten im Abschnitt. */
:root{--kopf:74px;
  --ink:#190e16; --ink2:#241420; --wine:#5e2130; --wine-deep:#401522;
  --gold:#c6a35a; --gold2:#dcc184; --gold-soft:#e9d9ac;
  --parch:#f5efe1; --parch2:#ece0c8; --parch-line:#ddccaa;
  --blue:#2f5277; --terra:#b06a43;
  --on-dark:#f1e8d8; --on-dark-dim:rgba(241,232,216,.74); --on-dark-faint:rgba(241,232,216,.5);
  --on-light:#2c1c24; --on-light-dim:#6d5862;
  --maxw:1180px;
  --serif:'Cormorant Garamond',Georgia,serif;
  --inscr:'Cinzel',Georgia,serif;
  --sans:'Hanken Grotesk',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --arab:'Amiri',serif;
}
*{box-sizing:border-box}
/* clip statt hidden: hidden wuerde aus html einen Scroll-Container machen und
   damit position:sticky im Inneren ausser Kraft setzen */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--parch);color:var(--on-light);font-family:var(--sans);font-size:17.5px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
html{background:#160b12}
body::before{content:'';position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top);background:#160b12;z-index:200;pointer-events:none}
/* height:auto ist noetig, sobald ein Bild width/height-Attribute traegt und das CSS
   nur die Breite setzt: sonst gewinnt die Attributhoehe und das Bild wird verzerrt.
   Regeln mit eigener Hoehe (object-fit-Bilder) haben hoehere Spezifitaet und bleiben gueltig. */
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.sec{padding:clamp(64px,9vw,124px) 0}
section[id]{scroll-margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;letter-spacing:.005em}
h2.h{font-size:clamp(2.1rem,4.6vw,3.35rem)}
h3{font-size:1.5rem;font-weight:600}
p{margin:0 0 1.05em}
.lead{font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.66}
.eyebrow{font-family:var(--inscr);font-weight:500;letter-spacing:.3em;text-transform:uppercase;font-size:.72rem;color:var(--gold);margin:0 0 1.1rem;display:flex;align-items:center;gap:.7em}
.eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.eyebrow.c{justify-content:center}.eyebrow.c::after{content:"";width:26px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.band-dark .eyebrow{color:var(--gold2)}
.arab{font-family:var(--arab);direction:rtl;font-size:1.3rem;color:var(--gold2);line-height:1}
.measure{max-width:64ch}

/* cross + rule */
.cross{width:1em;height:1em;fill:currentColor;display:inline-block;vertical-align:middle}
.rule{display:flex;align-items:center;justify-content:center;gap:18px;margin:30px 0}
.rule__l{height:1px;width:min(120px,22vw);background:linear-gradient(90deg,transparent,var(--gold))}
.rule__l+.rule__l{background:linear-gradient(90deg,var(--gold),transparent)}
.rule .cross{width:22px;height:22px;color:var(--gold)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--sans);font-weight:600;font-size:.92rem;padding:.82em 1.5em;border-radius:2px;cursor:pointer;border:1px solid transparent;transition:transform .25s,background .25s,color .25s,border-color .25s}
.btn .cross{width:.95em;height:.95em}
.langsw{display:inline-flex;gap:2px;border:1px solid rgba(198,163,90,.4);border-radius:100px;padding:3px;margin-left:14px;background:rgba(20,10,17,.35)}
.langsw__b{display:inline-block;font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.04em;line-height:1.25;color:var(--on-dark-dim);background:transparent;border:0;border-radius:100px;padding:5px 10px;cursor:pointer;text-decoration:none;transition:background .2s,color .2s}
.langsw__b:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.langsw__b:hover{color:var(--on-dark)}
.langsw__b.is-active{background:var(--gold);color:#241019}
@media(max-width:560px){.langsw{margin-left:8px;padding:2px}.langsw__b{padding:4px 7px;font-size:.68rem}}
/* ---------- Arabic / RTL ---------- */
[lang="ar"] .langsw__b{font-size:.95rem;font-weight:700;line-height:1}
html[dir="rtl"] body{direction:rtl}
html[dir="rtl"]{font-family:'Amiri',serif}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] h4,
html[dir="rtl"] .h,html[dir="rtl"] .eyebrow,html[dir="rtl"] .lead,html[dir="rtl"] p,
html[dir="rtl"] li,html[dir="rtl"] a,html[dir="rtl"] dt,html[dir="rtl"] dd,
html[dir="rtl"] .btn,html[dir="rtl"] .card,html[dir="rtl"] .up-item,
html[dir="rtl"] .nav a,html[dir="rtl"] figcaption,html[dir="rtl"] span,
html[dir="rtl"] .brand{font-family:'Amiri','Cormorant Garamond',serif}
/* Amiri runs small; nudge sizes up a touch and relax letter-spacing meant for Latin */
html[dir="rtl"]{letter-spacing:0 !important}
html[dir="rtl"] .eyebrow,html[dir="rtl"] .card__tag,html[dir="rtl"] .lab,
html[dir="rtl"] .langsw__b{letter-spacing:0 !important}
html[dir="rtl"] h1{line-height:1.25}
html[dir="rtl"] h2,html[dir="rtl"] .h{line-height:1.35}
html[dir="rtl"] p,html[dir="rtl"] .lead{line-height:1.95}
/* mirror simple directional bits */
@media(min-width:1001px){html[dir="rtl"] .nav{flex-direction:row-reverse}}
html[dir="rtl"] dl{text-align:right}
html[dir="rtl"] 
html[dir="rtl"] .langsw{margin-left:0;margin-right:14px}
/* Tigrinya (Ge'ez-Schrift). Die Ethiopic-Schriften stehen hinter den lateinischen,
   dank unicode-range greifen sie nur fuer Ge'ez-Zeichen. Bewusst nur auf den
   /ti/-Seiten: der Knopf "ትግ" in der Sprachwahl steht auf jeder Seite und soll
   dort nicht 200 KB Schrift nachladen, er nimmt die Systemschrift. */
html[lang="ti"]{
  --serif:'Cormorant Garamond','Noto Serif Ethiopic',Georgia,serif;
  --inscr:'Cinzel','Noto Sans Ethiopic',Georgia,serif;
  --sans:'Hanken Grotesk','Noto Sans Ethiopic',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
/* Ge'ez kennt keine Grossbuchstaben, gesperrte Schrift reisst die Silben auseinander */
html[lang="ti"] .eyebrow,html[lang="ti"] .card__tag,html[lang="ti"] .lab,
html[lang="ti"] .modal__tag,html[lang="ti"] .up__t{letter-spacing:.04em}
html[lang="ti"] h1{line-height:1.25}
html[lang="ti"] h2,html[lang="ti"] .h{line-height:1.3}
html[lang="ti"] p,html[lang="ti"] .lead{line-height:1.9}
[lang="ti"] .langsw__b,.langsw__b[lang="ti"]{font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;letter-spacing:0}
/* Die kleinen Versalien-Beschriftungen (0.5 bis 0.6rem) leben von Grossbuchstaben.
   Ge'ez-Silben sind in dieser Groesse nicht mehr lesbar, darum etwa 0.72rem. */
html[lang="ti"] .eyebrow,html[lang="ti"] .up__t,html[lang="ti"] .tagpill{font-size:.8rem}
html[lang="ti"] .cal-filter__lbl,html[lang="ti"] .up-when,html[lang="ti"] .cal__dow span,
html[lang="ti"] .kj__t,html[lang="ti"] .kj__mehr,html[lang="ti"] .lab,html[lang="ti"] .nextcard__badge,
html[lang="ti"] .tagpill__sub,html[lang="ti"] .modal__tag,html[lang="ti"] .up-date .mo,
html[lang="ti"] .feast__m,html[lang="ti"] .feast__art,html[lang="ti"] .card__tag,html[lang="ti"] .loc__tag,
html[lang="ti"] .give-tag,html[lang="ti"] .fv-contact__lab,html[lang="ti"] .cdbox .u{font-size:.72rem;letter-spacing:.02em}
html[lang="ti"] .brand__s{font-size:.66rem;letter-spacing:.02em}
/* arrow glyphs in "more" links point the other way in RTL */
html[dir="rtl"] .more::after,html[dir="rtl"] .lnk::after{transform:scaleX(-1);display:inline-block}
/* ===== MOBILE HEADER FIX (<=720px) ===== */
@media(max-width:720px){
  .head{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:8px;}
  .head__in{gap:10px;flex-wrap:nowrap;}
  /* brand: compact single lockup, never clipped */
  .brand{gap:9px;margin-right:auto;min-width:0;flex:1 1 auto;}
  .brand>span{min-width:0;}
  .brand__c{flex:0 0 auto;width:30px;height:30px;}
  .brand__n{font-size:.66rem;letter-spacing:.07em;line-height:1.12;white-space:normal;}
  .brand__s{font-size:.52rem;letter-spacing:.22em;margin-top:3px;}
  /* compact language switcher */
  .langsw{flex:0 0 auto;margin:0;padding:2px;gap:1px;}
  .langsw__b{padding:4px 7px;font-size:.66rem;}
  [lang="ar"] .langsw__b{font-size:.82rem;}
  /* burger sizing */
  .burger{flex:0 0 auto;width:38px;height:34px;}
}
/* very narrow phones: hide the wordmark text, keep the seal + city line only */
@media(max-width:430px){
  .head__in{gap:8px;}
  .brand__n{font-size:.6rem;letter-spacing:.05em;}
  .brand__s{font-size:.5rem;letter-spacing:.2em;}
  .langsw__b{padding:4px 6px;font-size:.62rem;}
}
@media(max-width:560px){
  /* Spenden QR card: stack icon over text earlier so it never overflows */
  .give-card{grid-template-columns:1fr;justify-items:center;text-align:center;padding:22px;box-sizing:border-box;}
  .give-card *{min-width:0;}
}
@media(max-width:374px){
  .wrap{padding-left:14px;padding-right:14px;}
  .cal{padding:14px 12px 12px;box-sizing:border-box;max-width:100%;}
  .cal__grid{gap:4px;}
  .cal__day{font-size:.82rem;}
  .up-item{gap:12px;box-sizing:border-box;max-width:100%;}
  .up,.up__list{box-sizing:border-box;max-width:100%;}
}
@media(max-width:360px){
  /* drop the wordmark on the smallest screens so nothing clips or overflows */
  .brand__n{display:none;}
  .brand__s{font-size:.55rem;letter-spacing:.16em;margin-top:0;}
  .brand__c{width:34px;height:34px;}
}


.cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}
.btn--wa{align-items:center}
.btn--wa .wa-ic{width:1.15em;height:1.15em;fill:#25D366;flex:none}
.btn--gold{background:var(--gold);color:#241019;box-shadow:0 12px 32px -16px rgba(198,163,90,.85)}
.btn--gold:hover{background:var(--gold2);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--on-dark);border-color:rgba(233,217,172,.42)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold2);transform:translateY(-2px)}
.btn--wine{background:var(--wine);color:var(--on-dark)}
.btn--wine:hover{background:var(--wine-deep);transform:translateY(-2px)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* header */
.head{position:sticky;top:0;z-index:60;padding:15px 0;background:#160b12;transition:background .3s,box-shadow .3s,padding .3s}
.head.solid{background:rgba(18,9,15,.92);backdrop-filter:blur(9px);box-shadow:0 1px 0 rgba(198,163,90,.18);padding:9px 0}
.head__in{display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:12px;color:var(--on-dark);margin-right:auto}
.brand__c{width:30px;height:30px;color:var(--gold)}
.brand__n{font-family:var(--inscr);font-weight:600;font-size:.94rem;letter-spacing:.1em;line-height:1;display:block}
.brand__s{font-family:var(--sans);font-weight:500;font-size:.64rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold2);display:block;margin-top:5px}
.nav{display:flex;gap:22px}
.nav a{font-size:.85rem;font-weight:500;color:var(--on-dark-dim);position:relative;padding:4px 0;transition:color .2s;white-space:nowrap}
.nav a:hover{color:var(--gold2)}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--gold);transition:width .25s}
.nav a:hover::after{width:100%}
.lang{display:inline-flex;align-items:center;gap:2px;border:1px solid rgba(233,217,172,.3);border-radius:999px;padding:3px;flex:none}
.lang button{font-family:var(--inscr);font-size:.7rem;letter-spacing:.08em;font-weight:600;color:var(--on-dark-dim);background:none;border:none;border-radius:999px;padding:.28em .7em;cursor:pointer;line-height:1;transition:background .2s,color .2s}
.lang button[aria-pressed="true"]{background:rgba(220,193,132,.22);color:var(--gold2)}
.lang button:hover{color:var(--gold2)}
.head .btn{padding:.58em 1.1em;font-size:.8rem}
.burger{display:none;background:none;border:1px solid rgba(233,217,172,.4);border-radius:3px;width:42px;height:38px;cursor:pointer}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:18px;height:1.6px;background:var(--gold2);position:relative;margin:auto;transition:.3s}
.burger span::before{position:absolute;top:-6px}.burger span::after{position:absolute;top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

/* hero */
.hero{position:relative;min-height:clamp(580px,90vh,860px);display:flex;align-items:center;color:var(--on-dark);overflow:hidden;margin-top:-68px;padding-top:68px}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}
.hero__veil{position:absolute;inset:0;background:
  linear-gradient(101deg,rgba(20,10,17,.90) 0%,rgba(20,10,17,.72) 32%,rgba(20,10,17,.34) 60%,rgba(20,10,17,.56) 100%),
  radial-gradient(120% 80% at 50% 120%,rgba(94,33,48,.5),transparent 60%)}
.hero__in{position:relative;z-index:3;padding:clamp(40px,7vw,80px) 0}
.hero__c{width:46px;height:46px;color:var(--gold);margin-bottom:22px;filter:drop-shadow(0 0 18px rgba(198,163,90,.5))}
.hero__seal{width:clamp(96px,12vw,128px);height:clamp(96px,12vw,128px);margin-bottom:24px;border-radius:50%;box-shadow:0 14px 40px -10px rgba(0,0,0,.7),0 0 0 1px rgba(198,163,90,.35),0 0 26px rgba(198,163,90,.25)}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.4rem);font-weight:500;max-width:16ch}
.hero h1 .s{color:var(--gold2)}
.hero__lead{color:var(--on-dark-dim);font-size:clamp(1.05rem,1.5vw,1.2rem);max-width:46ch;margin:1.35em 0 0}
.hero__arab{margin:20px 0 2px}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero__pill{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:34px;background:linear-gradient(120deg,rgba(42,19,27,.92),rgba(16,8,13,.9));border:1.5px solid rgba(198,163,90,.7);border-radius:16px;padding:17px 24px 18px;backdrop-filter:blur(8px);box-shadow:0 18px 44px -20px rgba(0,0,0,.85),0 0 0 4px rgba(198,163,90,.08);text-align:left}
@keyframes pillGlow{0%,100%{box-shadow:0 18px 44px -20px rgba(0,0,0,.85),0 0 0 4px rgba(198,163,90,.10),0 0 22px -6px rgba(198,163,90,.4)}50%{box-shadow:0 18px 44px -20px rgba(0,0,0,.85),0 0 0 5px rgba(198,163,90,.17),0 0 34px -2px rgba(198,163,90,.72)}}
.hero__pill .lab{display:inline-flex;align-items:center;gap:9px;font-family:var(--inscr);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2)}
.hero__pill .lab::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);animation:pillDot 2.2s ease-out infinite}
@keyframes pillDot{0%{box-shadow:0 0 0 0 rgba(198,163,90,.6)}70%{box-shadow:0 0 0 9px rgba(198,163,90,0)}100%{box-shadow:0 0 0 0 rgba(198,163,90,0)}}
.hero__pill .hpdate{font-family:var(--serif);font-size:1.5rem;line-height:1.15;color:#fff}
.hero__pill .chip{background:var(--gold);color:#241019;border-radius:100px;padding:5px 13px;font-weight:700;font-size:.82rem;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.hero__pill,.hero__pill .lab::before{animation:none}}

/* stats */
.stats{background:var(--ink);border-top:1px solid rgba(198,163,90,.2)}
.stats__g{display:grid;grid-template-columns:repeat(3,1fr)}
.stat{padding:30px 24px;text-align:center;border-left:1px solid rgba(198,163,90,.14)}
.stat:first-child{border-left:none}
.stat .n{font-family:var(--serif);font-size:1.95rem;color:var(--gold2);line-height:1.05}
.stat .t{font-size:.82rem;color:var(--on-dark-dim);margin-top:8px}

/* generic bands */
.band-dark{background:var(--ink);color:var(--on-dark)}
.band-dark h2.h{color:var(--on-dark)}
.band-wine{background:linear-gradient(160deg,var(--wine),var(--wine-deep));color:var(--on-dark)}
.band-wine h2.h{color:var(--on-dark)}
.center{text-align:center}

/* welcome */
.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,72px);align-items:start}
.intro__r p{color:var(--on-light-dim)}
.vals{display:grid;gap:16px;margin-top:6px}
.val{background:var(--parch);border:1px solid var(--parch-line);border-radius:6px;padding:20px 22px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;transition:transform .3s,box-shadow .3s,border-color .3s}
.val:hover{transform:translateX(4px);box-shadow:0 18px 38px -26px rgba(60,20,30,.4);border-color:var(--gold)}
.val .cross{width:26px;height:26px;color:var(--gold);margin-top:4px}
.val h3{font-size:1.2rem;margin-bottom:2px}
.val p{font-size:.93rem;color:var(--on-light-dim);margin:0}
.wk-figure{margin:34px 0 0;max-width:328px}
.wk-figure img{width:100%;display:block;border-radius:8px;box-shadow:0 0 0 1px rgba(198,163,90,.45),0 24px 52px -26px rgba(60,20,30,.5)}
.wk-figure figcaption{margin-top:14px;font-family:var(--inscr);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--on-light-dim)}

/* mo2tamar */
.mo-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:clamp(28px,4vw,54px);align-items:center;margin-top:clamp(30px,4vw,46px)}
.mo-poster{margin:0}
.mo-poster img{width:100%;display:block;border-radius:12px;border:1px solid rgba(198,163,90,.32);box-shadow:0 28px 64px -30px rgba(0,0,0,.78)}
.mo-facts{list-style:none;margin:0;padding:0;display:grid;gap:15px}
.mo-facts li{display:grid;grid-template-columns:62px 1fr;gap:16px;align-items:baseline}
.mo-facts b{font-family:var(--inscr);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.mo-facts span{color:var(--on-dark);font-family:var(--serif);font-size:1.32rem}
.mo-note{margin-top:22px;padding-top:18px;border-top:1px solid rgba(198,163,90,.2);color:var(--on-dark-dim);font-size:.95rem;max-width:48ch}
.mo-motto{margin:14px 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--gold2);letter-spacing:.01em}
.mo-prog{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(28px,4vw,44px);align-items:start}
.mo-day{background:rgba(255,255,255,.045);border:1px solid rgba(198,163,90,.2);border-radius:13px;padding:24px 22px 26px}
.mo-day h3{font-family:var(--serif);font-size:1.55rem;color:var(--gold-soft);margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid rgba(198,163,90,.22)}
.mo-day ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.mo-day li{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:baseline;color:var(--on-dark-dim);font-size:.93rem;line-height:1.42}
.mo-day li b{font-family:var(--inscr);font-size:.74rem;color:var(--gold);font-weight:600}
@media(max-width:820px){.mo-grid{grid-template-columns:1fr}.mo-prog{grid-template-columns:1fr}.wk-figure{max-width:300px}}

/* calendar filter chips */
.cal-filter{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:0 0 24px}
.cal-filter__lbl{font-family:var(--inscr);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark-dim);margin-right:2px}
.fchip{display:inline-flex;align-items:center;gap:9px;padding:9px 17px;border-radius:999px;border:1px solid rgba(198,163,90,.32);background:rgba(255,255,255,.05);color:var(--on-dark);font:inherit;font-size:.9rem;line-height:1;cursor:pointer;transition:opacity .2s,background .2s,border-color .2s,transform .15s;-webkit-tap-highlight-color:transparent}
.fchip:hover{transform:translateY(-1px);border-color:rgba(198,163,90,.6)}
.fchip i{width:11px;height:11px;border-radius:50%;flex:none}
.fchip--lit i{background:linear-gradient(158deg,var(--gold),#b6913e)}
.fchip--youth i{background:var(--blue)}
.fchip--feast i{background:rgba(176,106,67,.25);border:1px solid #b0562b;box-sizing:border-box}
.fchip--camp i{background:linear-gradient(158deg,#4f8a76,#33614f)}
.fchip--belp i{background:#9b8391}
.fchip:not(.is-on){opacity:.45;background:transparent;border-style:dashed}
.fchip:not(.is-on) i{filter:grayscale(1);opacity:.6}

/* donation */
.give{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,28px);margin-top:clamp(30px,4vw,46px)}
.give-card{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:rgba(255,255,255,.97);border-radius:16px;padding:26px;box-shadow:0 26px 60px -30px rgba(0,0,0,.6)}
.give-card__qr img{display:block;width:150px;height:150px;border-radius:9px}
.give-tag{display:inline-block;font-family:var(--inscr);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:#8a5a2a;background:rgba(198,163,90,.16);padding:5px 11px;border-radius:999px;margin-bottom:13px}
.give-twint{height:30px;width:auto;display:block;margin-bottom:13px}
.give-hint{font-size:.86rem;color:#5b5048;line-height:1.5;margin:0 0 12px}
.give-hint b{color:#2a2320}
.give-dl{margin:0}
.give-fields{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.give-field__label{display:block;font-family:var(--inscr);font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;color:#9a9088;margin:0 0 5px 2px}
.copy-row{display:flex;align-items:stretch;justify-content:space-between;gap:0;width:100%;text-align:left;padding:0;border:1px solid rgba(198,163,90,.4);border-radius:11px;background:rgba(198,163,90,.07);cursor:pointer;color:#2a2320;overflow:hidden;transition:background .18s,border-color .18s;-webkit-tap-highlight-color:transparent}
.copy-row:hover{background:rgba(198,163,90,.15);border-color:rgba(198,163,90,.7)}
.copy-row__val{padding:11px 14px;font-size:.88rem;font-weight:600;line-height:1.5;align-self:center;flex:1 1 auto}
.copy-row__val.mono{font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;letter-spacing:.01em;font-size:.97rem;white-space:nowrap}
.copy-row__act{flex:none;display:flex;align-items:center;justify-content:center;width:50px;border-left:1px solid rgba(198,163,90,.3);background:rgba(198,163,90,.11);color:#8a5a2a}
.copy-row__ic{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.copy-row__ok{display:none;flex-direction:column;align-items:center;gap:3px;font-family:var(--body,inherit);font-size:.54rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#3c7d56;line-height:1}
.copy-row__ok svg{width:16px;height:16px;fill:none;stroke:#3c7d56;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.copy-row.copied{border-color:#bcdcc6;background:rgba(80,160,110,.1)}
.copy-row.copied .copy-row__act{background:rgba(80,160,110,.16);border-left-color:#bcdcc6}
.copy-row.copied .copy-row__ic{display:none}
.copy-row.copied .copy-row__ok{display:flex}
.loc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:18px;margin-top:clamp(28px,4vw,46px)}
.loc{display:flex;flex-direction:column;gap:5px;padding:24px 24px 20px;border-radius:16px;background:var(--parch);border:1px solid rgba(198,163,90,.22);text-decoration:none;color:var(--on-light);transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 16px 36px -24px rgba(0,0,0,.8)}
.loc:hover{transform:translateY(-4px);box-shadow:0 24px 48px -22px rgba(0,0,0,.85);border-color:rgba(198,163,90,.55)}
.loc__tag{align-self:flex-start;font-family:var(--inscr);font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--gold);padding:3px 10px;border-radius:30px;margin-bottom:6px}
.loc__city{font-family:var(--serif);font-size:1.34rem;font-weight:600;color:var(--wine);line-height:1.12}
.loc__name{font-weight:600;font-size:.92rem;color:var(--on-light);margin-top:1px}
.loc__addr{font-size:.84rem;color:var(--on-light-dim);line-height:1.5}
.loc__note{font-size:.78rem;color:#8a5a2a;line-height:1.4;margin-top:6px}
.loc__time{font-size:.82rem;color:var(--wine);font-weight:600;line-height:1.4;margin-top:7px}
.loc__map{margin-top:9px;font-family:var(--inscr);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:#8a5a2a}
.loc__links{margin-top:11px;display:flex;flex-wrap:wrap;gap:8px 16px;font-family:var(--inscr);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase}
.loc__links a{color:#8a5a2a;border-bottom:1px solid rgba(138,90,42,.32);padding-bottom:2px;transition:color .2s,border-color .2s}
.loc__links a:hover{color:var(--wine);border-color:var(--wine)}
.loc__links a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* Kirchen in der Schweiz: je Dioezese ein Block mit Kopf, darunter die Karten */
/* Kirchen in der Schweiz: je Dioezese ein aufklappbarer Block. Alle drei sind
   gleich gestaltet und anfangs zu, keine Region wird bevorzugt. Die Orte stehen
   schon im geschlossenen Kopf, damit niemand seine Gemeinde suchen muss. */
.lnk-gold{font-weight:600;color:var(--gold-soft);border-bottom:1px solid rgba(233,217,172,.4);padding-bottom:2px}
.lnk-gold:hover{color:#fff;border-color:#fff}
.dio-wahl{margin:clamp(34px,5vw,54px) 0 14px;text-align:center;font-family:var(--inscr);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2)}
.dio{margin-top:14px;border:1px solid rgba(198,163,90,.32);border-radius:16px;background:rgba(198,163,90,.05);transition:border-color .2s,background .2s}
.dio:hover{border-color:rgba(198,163,90,.6)}
.dio[open]{background:rgba(198,163,90,.08);border-color:rgba(198,163,90,.55)}
.dio__sum{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 18px;padding:clamp(18px,2.6vw,26px) clamp(18px,2.8vw,30px);border-radius:16px}
.dio__sum::-webkit-details-marker{display:none}
.dio__sum:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.dio__lab,.dio__t,.dio__s,.dio__orte{grid-column:1}
.dio__lab{font-family:var(--inscr);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.dio__t{font-family:var(--serif);font-size:clamp(1.35rem,2.5vw,1.8rem);font-weight:500;color:var(--on-dark);line-height:1.15}
.dio__s{font-size:.9rem;color:var(--on-dark-dim)}
.dio__orte{margin-top:6px;font-size:.95rem;font-weight:600;color:var(--gold-soft);line-height:1.5}
.dio__cta{grid-column:2;grid-row:1 / span 4;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--sans);font-size:.86rem;font-weight:600;color:var(--ink);background:var(--gold);padding:.62em 1.1em;border-radius:40px;transition:background .2s}
.dio__sum:hover .dio__cta{background:var(--gold2)}
.dio__ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.dio__zu{display:none}
.dio[open] .dio__auf{display:none}
.dio[open] .dio__zu{display:inline}
.dio[open] .dio__ic{transform:rotate(180deg)}
.dio > .loc-grid{margin:0;padding:0 clamp(14px,2.4vw,24px) clamp(16px,2.4vw,24px)}
.dio > .loc-hint{margin:0;padding:0 clamp(18px,2.8vw,30px) clamp(18px,2.6vw,24px)}
@media (max-width:640px){
  .dio__cta{grid-column:1;grid-row:auto;justify-self:start;margin-top:10px}
}
/* Karte der Kirchen: eigenes SVG, keine Kacheln von aussen, keine Besucherdaten an Dritte */
.chmap{margin-top:clamp(40px,6vw,64px);text-align:center}
.chmap__svg{display:block;width:100%;max-width:880px;height:auto;margin:0 auto;direction:ltr}
.chmap__land{fill:rgba(198,163,90,.1);stroke:rgba(198,163,90,.55);stroke-width:1.6;stroke-linejoin:round}
.chmap__lake{fill:rgba(47,82,119,.45);stroke:none}
.mapdot circle{stroke:var(--ink);stroke-width:3;transition:r .2s}
.mapdot text{font-family:var(--sans);font-size:19px;font-weight:600;fill:var(--on-dark);paint-order:stroke;stroke:var(--ink);stroke-width:5px;stroke-linejoin:round}
.mapdot--de circle{fill:var(--gold)}
.mapdot--fr circle{fill:#d98a5f}
.mapdot--ti circle{fill:#8fb3d9}
.mapdot--here circle{stroke:var(--gold-soft);stroke-width:4}
.mapdot:hover circle,.mapdot:focus-visible circle{r:13}
.mapdot:focus-visible{outline:none}
.mapdot:focus-visible text{fill:var(--gold2)}
.chmap__leg{margin:16px auto 0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;font-size:.88rem;color:var(--on-dark-dim)}
.chmap__it{display:inline-flex;align-items:center;gap:8px}
.chmap__k{display:inline-block;flex:none;width:12px;height:12px;border-radius:50%}
.chmap__k--de{background:var(--gold)}.chmap__k--fr{background:#d98a5f}.chmap__k--ti{background:#8fb3d9}
@media (max-width:640px){.mapdot text{font-size:30px;stroke-width:7px}.mapdot circle{r:11}.mapdot--here circle{r:14}}
.chmap__hint{margin:8px 0 0;font-size:.84rem;color:var(--on-dark-faint)}
@keyframes locPing{0%{box-shadow:0 0 0 0 rgba(198,163,90,.9)}100%{box-shadow:0 0 0 18px rgba(198,163,90,0)}}
.loc--ping{animation:locPing 1.1s ease-out 2}
@media (prefers-reduced-motion:reduce){.dio__ic{transition:none}.loc--ping{animation:none}}
.loc-grid--solo{grid-template-columns:repeat(auto-fit,minmax(248px,360px))}
.loc__kontakt{margin:9px 0 0;display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:.84rem;line-height:1.45}
.loc__kontakt dt{font-family:var(--inscr);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:#8a5a2a;padding-top:3px}
.loc__kontakt dd{margin:0;color:var(--on-light);font-weight:500}
.loc__kontakt a{color:var(--wine);text-decoration:none;border-bottom:1px solid rgba(94,33,48,.25);white-space:nowrap}
.loc__kontakt a:hover{border-color:var(--wine)}
.loc-hint{margin:16px 0 0;font-size:.9rem;color:var(--on-dark-dim)}
html[dir="rtl"] .loc__kontakt a{direction:ltr;unicode-bidi:isolate}
/* Adressen sind lateinisch: jede Zeile bestimmt ihre Richtung selbst, sonst wandert die PLZ ans falsche Ende */
html[dir="rtl"] .loc__addr{unicode-bidi:plaintext;text-align:right}
html[lang="ti"] .loc__kontakt dt,html[lang="ti"] .dio__lab,html[lang="ti"] .dio-wahl{letter-spacing:.02em;font-size:.72rem}
.loc--here{background:linear-gradient(160deg,#fbf3e0,#f1e3c6);border-color:rgba(198,163,90,.6)}
.loc-sub{margin:34px 0 13px;font-family:var(--inscr);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2)}
.loc-chips{display:flex;flex-wrap:wrap;gap:10px}
.loc-chip{padding:8px 17px;border-radius:30px;border:1px solid rgba(198,163,90,.3);background:rgba(198,163,90,.07);color:var(--on-dark);font-size:.92rem;font-weight:500}
/* Erster Besuch: vier kurze Kacheln mit Zeichen, darunter eine schmale Kontaktleiste */
.fv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(24px,3.4vw,38px)}
.fv{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;background:rgba(255,255,255,.04);border:1px solid rgba(198,163,90,.22);border-radius:14px;padding:22px 16px 20px}
.fv__ic{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(198,163,90,.14);border:1px solid rgba(198,163,90,.4);margin-bottom:4px}
.fv__ic svg{width:26px;height:26px;fill:none;stroke:var(--gold2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fv h3{font-family:var(--serif);font-size:1.18rem;color:var(--gold2);margin:0;font-weight:500;line-height:1.2}
.fv p{color:var(--on-dark-dim);font-size:.88rem;margin:0;line-height:1.5}
.fv-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px;margin:clamp(20px,3vw,30px) auto 0;max-width:860px;padding:16px 22px;background:rgba(198,163,90,.1);border:1px solid rgba(198,163,90,.32);border-radius:16px}
.fv-contact__lab{font-family:var(--inscr);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);margin:0}
.fv-contact .cta-row{margin:0}
.fv-contact__mehr{font-size:.88rem;font-weight:600;color:var(--gold-soft);border-bottom:1px solid rgba(233,217,172,.35);padding-bottom:1px}
.fv-contact__mehr:hover{color:#fff;border-color:#fff}
@media(max-width:860px){.fv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.fv{padding:18px 12px 16px}.fv h3{font-size:1.05rem}.fv p{font-size:.84rem}.fv-contact{flex-direction:column}.fv-contact .cta-row{width:100%}.fv-contact .btn{width:100%;justify-content:center}}
.give-note{margin-top:26px;color:var(--on-dark-dim);font-style:italic}

/* footer seal + patron */
.foot__seal{width:116px;height:116px;display:block;margin-bottom:18px}
.foot__patron{color:var(--on-dark-dim);font-size:.9rem;line-height:1.55;max-width:34ch;margin:0 0 14px}
.foot__patron b{color:var(--gold2);font-weight:600}

.lager-facts{list-style:none;margin:clamp(28px,4vw,42px) auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:18px 46px;max-width:720px}
.lager-facts li{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.lager-facts b{font-family:var(--inscr);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.lager-facts span{color:var(--on-dark);font-family:var(--serif);font-size:1.35rem;line-height:1.2}

@media(max-width:880px){.give{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}}
@media(max-width:460px){.give-card{grid-template-columns:1fr;justify-items:center;text-align:center}}

/* faith */
.faith{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(34px,5vw,68px);align-items:center}
.faith__art{position:relative;border:1px solid rgba(198,163,90,.4);padding:12px;border-radius:3px;background:linear-gradient(180deg,rgba(198,163,90,.12),rgba(0,0,0,.25))}
.faith__art img{border-radius:2px;width:100%}
.faith__art figcaption{font-family:var(--serif);font-style:italic;font-size:.86rem;color:var(--on-dark-dim);margin-top:12px;text-align:center;line-height:1.4}
.tenets{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;margin-top:6px}
.tenet{padding-left:40px;position:relative}
.tenet .cross{position:absolute;left:0;top:2px;width:24px;height:24px;color:var(--gold)}
.tenet h3{font-size:1.14rem;color:var(--on-dark);margin-bottom:5px}
.tenet p{font-size:.92rem;color:var(--on-dark-dim);margin:0}
.quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.4;color:var(--gold2);text-align:center;max-width:26ch;margin:6px auto 0}
.quote cite{display:block;font-style:normal;font-family:var(--inscr);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--on-dark-dim);margin-top:16px}

/* heritage band */
.herit{position:relative;color:var(--on-dark);background:var(--ink);overflow:hidden}
.herit__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.herit__veil{position:absolute;inset:0;background:linear-gradient(180deg,var(--ink) 1%,rgba(25,14,22,.5) 36%,rgba(25,14,22,.66) 72%,var(--ink) 99%)}
.herit .wrap{position:relative;z-index:2}
.herit__in{max-width:60ch;margin:0 auto;text-align:center}.herit--inset{margin-top:clamp(34px,5vw,60px);border-radius:16px;padding:clamp(96px,15vw,150px) 0;min-height:clamp(360px,46vw,520px);display:flex;align-items:center;border:1px solid rgba(198,163,90,.16)}.herit--inset .herit__img{opacity:.62}.herit--inset .herit__veil{background:linear-gradient(180deg,rgba(25,14,22,.82) 0%,rgba(25,14,22,.34) 42%,rgba(25,14,22,.46) 72%,rgba(25,14,22,.82) 100%)}.herit--inset .herit__in{position:relative;padding:0 24px;margin:0 auto}
.herit h2{color:var(--on-dark)}
.herit p{color:var(--on-dark-dim)}

/* CALENDAR */
.calwrap{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(26px,4vw,50px);align-items:start;margin-top:10px}
.cal{background:var(--parch);border:1px solid var(--parch-line);border-radius:12px;padding:22px 22px 18px;box-shadow:0 34px 70px -44px rgba(0,0,0,.7);box-sizing:border-box;max-width:100%}@media(max-width:374px){.cal{padding:14px 12px 12px}.cal__grid{gap:4px}.cal__day{font-size:.82rem}}
.cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal__title{font-family:var(--serif);font-size:1.5rem;color:var(--on-light);text-transform:capitalize}
.cal__nav{width:38px;height:38px;border-radius:50%;border:1px solid var(--parch-line);background:#fff;color:var(--wine);font-size:1.15rem;line-height:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.cal__nav:hover{background:var(--wine);color:var(--parch);border-color:var(--wine)}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal__dow{margin-bottom:7px}
.cal__dow span{font-family:var(--inscr);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:var(--on-light-dim);text-align:center;padding:3px 0}
.cal__day{aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:9px;font-size:.92rem;color:var(--on-light);position:relative;border:1px solid transparent}
.cal__day.empty{visibility:hidden}
.cal__day .dot{width:5px;height:5px;border-radius:50%;margin-top:3px}
.cal__day--youth{background:rgba(47,82,119,.10);color:var(--blue);border-color:rgba(47,82,119,.28)}
.cal__day--youth .dot{background:var(--blue)}
.cal__day--lit{background:linear-gradient(158deg,var(--gold),#b6913e);color:#241019;font-weight:700;box-shadow:0 9px 20px -9px rgba(198,163,90,.85)}
.cal__day--lit .dot{background:#241019}
.cal__day.today{outline:2px solid var(--wine);outline-offset:1px}
.cal__day--lit.today{outline-color:#241019}
.cal__legend{display:flex;gap:20px;margin-top:15px;padding-top:13px;border-top:1px solid var(--parch-line);flex-wrap:wrap}
.lg{display:flex;align-items:center;gap:8px;font-size:.79rem;color:var(--on-light-dim)}
.lg i{width:14px;height:14px;border-radius:4px;display:inline-block}
.lg--lit i{background:linear-gradient(158deg,var(--gold),#b6913e)}
.lg--youth i{background:rgba(47,82,119,.16);border:1px solid var(--blue)}
/* Festtage sind Termine, aber nachrangig: nur die Goettliche Liturgie ist
   gefuellt. So bleibt die Rangfolge eindeutig - Liturgie, dann uebrige Termine,
   dann das Kirchenjahr als Band und Ecke. */
.cal__day--feast{background:rgba(176,106,67,.12);color:#9c4a24;border-color:rgba(176,106,67,.38);font-weight:600}
.cal__day--feast .dot{background:#b0562b}
.cal__day--camp{background:linear-gradient(158deg,#4f8a76,#33614f);color:#eef7f1;font-weight:700;box-shadow:0 9px 20px -9px rgba(51,97,79,.85)}
.cal__day--camp .dot{background:#eef7f1}
.cal__day--camp.today{outline-color:#241019}
/* Belp: Gottesdienst einer anderen Gemeinde, darum bewusst nur umrandet statt gefuellt */
.cal__day--belp{background:transparent;color:#7a5f6b;border:1px dashed rgba(122,95,107,.65);font-weight:600}
.cal__day--belp .dot{background:#7a5f6b}
.up-item--belp .up-date{background:transparent;border:1px dashed rgba(198,163,90,.45);color:var(--on-dark-dim)}
.up-item--belp .t::after{content:'Belp';font-family:var(--inscr);font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-dim);border:1px dashed rgba(198,163,90,.45);border-radius:100px;padding:2px 8px;margin-inline-start:9px;vertical-align:middle;white-space:nowrap}.cal__day--cancelled{background:rgba(196,58,58,.16);color:#b23a3a;border-color:rgba(196,58,58,.5);text-decoration:line-through;font-weight:700}.cal__day--cancelled .dot{background:#b23a3a}.up-item--cancelled .t{text-decoration:line-through;color:#b23a3a;font-weight:600}.evmTag--cancelled{background:#b23a3a!important;color:#fff!important}
.cal__day.span{box-shadow:none;border-radius:7px}
.cal__day.span--start{border-top-right-radius:3px;border-bottom-right-radius:3px}
.cal__day.span--mid{border-radius:3px}
.cal__day.span--end{border-top-left-radius:3px;border-bottom-left-radius:3px}
.cal__day.span--start{box-shadow:0 9px 20px -9px rgba(51,97,79,.85)}
.cal__day.today.has{animation:pulseToday 2.2s ease-in-out infinite}
@keyframes pulseToday{0%,100%{box-shadow:0 0 0 0 rgba(94,33,48,.55)}50%{box-shadow:0 0 0 7px rgba(94,33,48,0)}}
.lg--feast i{background:linear-gradient(158deg,#c8702f,#9e3b1e)}
.nextcard{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:linear-gradient(150deg,rgba(198,163,90,.17),rgba(94,33,48,.24));border:1px solid rgba(198,163,90,.5);border-radius:14px;padding:22px 26px;margin:4px 0 28px;box-shadow:0 26px 60px -40px rgba(0,0,0,.8)}
.nextcard__badge{display:inline-flex;align-items:center;gap:.55em;font-family:var(--inscr);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#241019;background:var(--gold);padding:5px 14px;border-radius:100px;font-weight:600}
.nextcard__badge.now{background:#d8552f;color:#fff}
.nextcard__badge .pip{width:7px;height:7px;border-radius:50%;background:currentColor;animation:blink 1.5s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.nextcard__title{font-family:var(--serif);font-size:clamp(1.55rem,2.7vw,2.1rem);color:var(--on-dark);line-height:1.1;margin:12px 0 5px}
.nextcard__sub{font-size:.92rem;color:var(--on-dark-dim)}
.nextcard__cd{display:flex;gap:10px}
.cdbox{min-width:64px;text-align:center;background:rgba(16,8,13,.5);border:1px solid rgba(198,163,90,.3);border-radius:10px;padding:11px 8px}
.cdbox .n{font-family:var(--serif);font-size:1.8rem;color:var(--gold2);line-height:1;font-variant-numeric:tabular-nums}
.cdbox .u{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-faint);margin-top:5px}
.nextcard__now{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--gold2);white-space:nowrap}
.up-when{font-family:var(--inscr);font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2);background:rgba(198,163,90,.14);border:1px solid rgba(198,163,90,.3);padding:3px 9px;border-radius:100px;margin-bottom:5px;display:inline-block}
.up-item--now .up-when{color:#fff;background:#d8552f;border-color:transparent}
@media(max-width:560px){.nextcard{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cal__day.today.has,.nextcard__badge .pip{animation:none}}
.up h3.up__t{font-family:var(--inscr);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2);font-weight:500;margin:0 0 8px}
.up__list{display:flex;flex-direction:column}
.up-item{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(198,163,90,.16)}
.up-item:last-child{border-bottom:none}
.up-date{width:56px;height:56px;border-radius:9px;background:rgba(198,163,90,.12);border:1px solid rgba(198,163,90,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold2);flex:none}
.up-date .d{font-family:var(--serif);font-size:1.45rem;line-height:1}
.up-date .mo{font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}
.up-item--lit .up-date{background:linear-gradient(158deg,var(--gold),#b6913e);color:#241019;border-color:transparent}
.up-info .t{font-family:var(--serif);font-size:1.22rem;color:var(--on-dark);line-height:1.2}
.up-info .m{font-size:.85rem;color:var(--on-dark-dim)}

.sched{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:clamp(34px,5vw,56px)}
.card{background:rgba(241,232,216,.05);border:1px solid rgba(198,163,90,.22);border-radius:8px;padding:28px 26px;transition:transform .3s,box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 26px 50px -34px rgba(0,0,0,.7)}
.card--feat{background:linear-gradient(165deg,var(--wine),var(--wine-deep));border-color:rgba(198,163,90,.45)}
.card__tag{font-family:var(--inscr);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2);display:flex;align-items:center;gap:.6em}
.card__tag .cross{width:15px;height:15px}
.card h3{font-size:1.55rem;margin:13px 0 15px;color:var(--on-dark)}
.card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:9px 14px;font-size:.94rem}
.card dt{color:var(--gold2);font-weight:600}
.card dd{margin:0;color:var(--on-dark-dim)}
.card__note{margin:15px 0 0;padding-top:13px;border-top:1px solid rgba(198,163,90,.2);font-size:.87rem;color:var(--gold-soft)}
.feast-note{margin-top:26px;display:flex;gap:.7em;align-items:flex-start;max-width:74ch;font-size:.9rem;color:var(--on-dark-dim)}
.feast-note .cross{width:18px;height:18px;color:var(--gold);flex:none;margin-top:4px}
.timeline{position:relative;max-width:660px;margin:clamp(34px,5vw,54px) auto 0;list-style:none;padding:0}
.timeline::before{content:"";position:absolute;top:18px;bottom:26px;left:43px;width:2px;background:linear-gradient(180deg,var(--gold2),rgba(220,193,132,.12))}
.tl{position:relative;display:grid;grid-template-columns:88px 1fr;gap:26px;align-items:start;padding-bottom:30px}
.tl:last-child{padding-bottom:0}
.tl__time{position:relative;z-index:2;font-family:var(--inscr);font-size:.84rem;font-weight:600;color:#2a1117;background:var(--gold);border-radius:100px;padding:8px 0;width:88px;text-align:center;box-shadow:0 6px 16px -6px rgba(0,0,0,.5)}
.tl__c{padding-top:4px}
.tl__c h3{font-size:1.3rem;color:var(--on-dark);margin-bottom:3px}
.tl__c p{font-size:.94rem;color:var(--on-dark-dim);margin:0;max-width:46ch}
@media(max-width:560px){.timeline::before{left:35px}.tl{grid-template-columns:72px 1fr;gap:16px}.tl__time{width:72px;font-size:.76rem;padding:7px 0}}
.cal__day.clickable{cursor:pointer;transition:transform .15s,box-shadow .2s}
.cal__day.clickable:hover{transform:translateY(-2px)}
.cal__day.clickable:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.up-item.clickable{cursor:pointer;border-radius:8px;transition:background .2s}
.up-item.clickable:hover{background:rgba(198,163,90,.07)}
.up-item.clickable:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.up-topic{font-size:.84rem;color:var(--gold2);margin-top:2px}
.up-topic b{font-weight:600;color:var(--gold-soft)}
.subbar{display:flex;justify-content:center;margin-top:clamp(28px,4vw,42px)}
.btn--line{background:transparent;color:var(--wine);border-color:var(--parch-line)}
.btn--line:hover{border-color:var(--gold);color:var(--terra);transform:translateY(-2px)}
/* hidden muss staerker sein als display-Regeln gleicher Spezifitaet,
   etwa .btn{display:inline-flex} oder .modal{display:flex} */
.modal[hidden],[hidden]{display:none!important}
.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:22px}
.modal__bd{position:absolute;inset:0;background:rgba(10,5,9,.74);backdrop-filter:blur(4px)}
.modal__card{position:relative;z-index:2;width:min(560px,100%);max-height:88vh;overflow:auto;background:var(--parch);border:1px solid var(--parch-line);border-radius:14px;padding:32px 34px;box-shadow:0 40px 90px -30px rgba(0,0,0,.75);animation:popin .3s cubic-bezier(.2,.8,.2,1)}
@keyframes popin{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.modal__x{position:absolute;top:15px;right:15px;width:38px;height:38px;border-radius:50%;border:1px solid var(--parch-line);background:#fff;color:var(--wine);font-size:1.35rem;line-height:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.modal__x:hover{background:var(--wine);color:#fff;border-color:var(--wine)}
.modal__tag{font-family:var(--inscr);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--terra)}
.modal__title{font-family:var(--serif);font-size:1.95rem;color:var(--on-light);margin:6px 0 14px;line-height:1.1;padding-right:30px}
.modal__meta{display:flex;flex-wrap:wrap;gap:7px 18px;font-size:.88rem;color:var(--on-light-dim);padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--parch-line)}
.evm-topic{background:rgba(176,106,67,.1);border:1px solid rgba(176,106,67,.3);border-radius:9px;padding:13px 16px;margin-bottom:18px}
.evm-topic span{display:block;font-family:var(--inscr);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:4px}
.evm-topic b{font-family:var(--serif);font-size:1.22rem;color:var(--on-light)}
.evm-topic i{color:var(--on-light-dim)}
.evm-prog{list-style:none;margin:0;padding:0}
.evm-prog li{display:grid;grid-template-columns:56px 1fr;gap:14px;padding:8px 0;font-size:.95rem;color:var(--on-light);border-bottom:1px solid rgba(221,204,170,.55)}
.evm-prog li:last-child{border-bottom:none}
.evm-prog li i{font-family:var(--inscr);font-size:.78rem;color:var(--terra);font-weight:600;font-style:normal}
.modal__body p{color:var(--on-light-dim);margin:0 0 1em}
.modal__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.sub-url{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;background:#fff;border:1px solid var(--parch-line);border-radius:6px;padding:9px 11px;word-break:break-all;color:var(--wine);margin-top:14px}
.sub-note{font-size:.86rem;color:var(--on-light-dim);background:rgba(198,163,90,.1);border:1px solid var(--parch-line);border-radius:8px;padding:12px 15px;margin-top:18px}

/* agape */
.agape{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,66px);align-items:center}
.agape__t p{color:var(--on-light-dim)}
.ph{border:1.5px dashed rgba(176,106,67,.55);border-radius:8px;background:linear-gradient(170deg,rgba(198,163,90,.08),rgba(176,106,67,.06));aspect-ratio:4/3.1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;color:var(--on-light-dim)}
.agape__photo{margin:0}
.agape__photo img{width:100%;height:auto;display:block;border-radius:10px;box-shadow:0 22px 50px -26px rgba(25,14,22,.55);border:1px solid rgba(176,106,67,.22)}
.agape__photo figcaption{margin-top:.7rem;font-family:var(--serif);font-style:italic;font-size:1.02rem;color:var(--on-light-dim);text-align:center}
.ph .cross{width:40px;height:40px;color:var(--gold);margin-bottom:14px}
.ph b{font-family:var(--serif);font-size:1.35rem;color:var(--terra);font-weight:500}
.ph span{font-size:.86rem;max-width:32ch;margin-top:6px}

/* fathers */
.fathers{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:6px}
.father--local{grid-column:1/-1;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:6px 30px;align-items:baseline}
.father--local .role{grid-column:1;margin-bottom:0;white-space:nowrap}
.father--local h3{grid-column:2;grid-row:1}
.father--local .sub{grid-column:2;margin-bottom:8px}
.father--local p{grid-column:2;margin:0}
@media(max-width:700px){.father--local{grid-template-columns:1fr}.father--local .role,.father--local h3,.father--local .sub,.father--local p{grid-column:1}.father--local .role{margin-bottom:10px}}
.father{background:var(--parch);border:1px solid var(--parch-line);border-radius:9px;padding:34px 32px;text-align:center;transition:transform .3s,box-shadow .3s,border-color .3s}
.father:hover{transform:translateY(-4px);box-shadow:0 26px 52px -34px rgba(60,20,30,.45);border-color:var(--gold)}
.halo{width:138px;height:186px;margin:0 auto 22px;border-radius:13px;overflow:hidden;position:relative;box-shadow:0 0 0 1.5px rgba(198,163,90,.7),0 0 0 7px rgba(198,163,90,.12),0 20px 44px -20px rgba(60,20,30,.6)}
.halo img{width:100%;height:100%;object-fit:cover;display:block}
.halo::after{content:"";position:absolute;inset:0;border-radius:13px;box-shadow:inset 0 0 22px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07);pointer-events:none}
.halo .cross{width:42px;height:42px;color:var(--gold)}
.father .role{font-family:var(--inscr);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.father h3{font-size:1.7rem;margin-bottom:4px;color:var(--on-light)}
.father .sub{font-family:var(--serif);font-style:italic;font-size:1.02rem;color:var(--on-light-dim);margin-bottom:15px}
.father p{font-size:.94rem;color:var(--on-light-dim);margin:0}
.fnote{text-align:center;max-width:62ch;margin:28px auto 0;font-size:.96rem;color:var(--on-light-dim)}

/* venue */
.venue{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(34px,5vw,60px);align-items:stretch}
.venue__media{position:relative;border:1px solid var(--parch-line);padding:10px;border-radius:4px;background:#fff}
.venue__media img{border-radius:2px;width:100%;height:100%;object-fit:cover;min-height:360px}
.venue__media figcaption{position:absolute;left:18px;bottom:18px;background:rgba(18,9,15,.82);color:var(--on-dark);font-size:.73rem;padding:7px 12px;border-radius:3px;border:1px solid rgba(198,163,90,.35);backdrop-filter:blur(4px)}
.venue__info{display:flex;flex-direction:column}
.venue__info p{color:var(--on-light-dim)}
.addr{display:grid;gap:18px;margin:8px 0 4px}
.addr__row{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.addr .ic{width:24px;height:24px;color:var(--gold);margin-top:2px}
.addr .lbl{font-family:var(--inscr);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--on-light-dim)}
.addr .txt{font-size:1.02rem;line-height:1.45}.addr .txt b{font-weight:600}
.map{margin-top:22px;border:1px solid var(--parch-line);border-radius:8px;overflow:hidden;line-height:0;box-shadow:0 18px 44px -30px rgba(60,20,30,.4)}
.map iframe{width:100%;height:300px;border:0;filter:grayscale(.16) sepia(.05)}
.crow{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}

/* footer */
.foot{background:var(--ink);color:var(--on-dark-dim);padding:72px 0 34px;position:relative}
.foot::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.foot__top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(198,163,90,.16)}
.foot .brand{margin:0 0 16px}
.foot__bless{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--gold2);max-width:30ch;margin:0 0 12px}
.foot h4{font-family:var(--inscr);font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin:0 0 15px;font-weight:500}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.foot ul a,.foot__addr{font-size:.9rem;color:var(--on-dark-dim)}
.foot ul a:hover{color:var(--gold2)}
.foot__addr{line-height:1.7}
.foot__next b{color:var(--gold2);font-weight:600}
.foot__bottom{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center;padding-top:24px;font-size:.78rem;color:var(--on-dark-faint)}
.credits{margin-top:16px;font-size:.71rem;color:var(--on-dark-faint);line-height:1.7}
.foot__legal{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:var(--on-dark-faint);text-decoration:underline;text-underline-offset:3px;transition:color .2s;-webkit-tap-highlight-color:transparent}
.foot__legal:hover{color:var(--gold2)}
.credits b{color:var(--on-dark-dim);font-weight:600}
.credits a{text-decoration:underline;text-underline-offset:2px}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

@media(max-width:980px){
  .intro,.faith,.calwrap,.agape,.fathers,.venue,.foot__top{grid-template-columns:1fr}
  .faith__art{max-width:380px;margin:0 auto}
  .tenets{grid-template-columns:1fr 1fr}
  .sched{grid-template-columns:1fr}
  .foot__top{gap:30px}
}
@media(max-width:1000px){
  .nav,.head .btn{display:none}
  .burger{display:flex}
  /* Das fruehere Klappmenue ist dem Vollbild-Sheet weiter unten gewichen */
}
@media(max-width:860px){
  .stats__g{grid-template-columns:1fr}
  .stat{border-left:none;border-top:1px solid rgba(198,163,90,.14)}.stat:first-child{border-top:none}
  .tenets{grid-template-columns:1fr}
}
/* ============================================================
   MOBILE-APP LAYER  (native feel, safe areas, app menu, sheet)
   ============================================================ */
html{scroll-padding-top:var(--kopf)}
.head{padding-top:calc(15px + env(safe-area-inset-top))}
/* Kein scroll-margin mehr: es addiert sich zum scroll-padding der Seite und
   liess jeden Anker 82px zu tief landen. Massgeblich ist allein --kopf. */
#willkommen,#glaube,#gottesdienste,#gemeinschaft,#lager,#vaeter,#schweiz,#finden,#spenden{scroll-margin-top:0}

/* tap feedback: no blue flash + subtle press on touch targets */
a,button,.btn,.fchip,.cal__day,.loc,.copy-row,.modal__x,.cal__nav,.brand,.tab,.burger{-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.97)}
.fchip:active,.cal__nav:active,.modal__x:active,.burger:active{transform:scale(.92)}
.cal__day.clickable:active{transform:scale(.9)}
.loc:active,.copy-row:active{transform:scale(.985)}

/* don't let :hover lifts stick after a tap on touch devices */
@media(hover:none){
  .father:hover,.loc:hover,.give-card:hover{transform:none}
  .nav a:hover::after{width:0}
}

@media(max-width:700px){
  .wrap{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}@media(min-width:375px){.wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}
  body{font-size:17px}
  /* full-screen app menu */
  .nav.open{
    position:fixed;inset:0;top:0;height:100dvh;z-index:95;
    display:flex;flex-direction:column;justify-content:center;gap:0;
    padding:max(92px,calc(74px + env(safe-area-inset-top))) 32px calc(40px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,#1a0d15,#120810);
    backdrop-filter:none;border-top:none;overflow-y:auto;overscroll-behavior:contain;
    animation:menuin .26s ease both
  }
  .nav.open a{font-family:var(--serif);font-size:1.65rem;color:var(--on-dark);padding:13px 0;border-bottom:1px solid rgba(198,163,90,.13);font-weight:500}
  .nav.open a:active{color:var(--gold2)}
  body.menu-open{overflow:hidden}
  /* Die Scroll-Sperre body{overflow:hidden} macht body zum Scroll-Container und
     setzt position:sticky ausser Kraft. Die Kopfzeile waere dann weggescrollt und
     der Schliessen-Knopf ausserhalb des Bildschirms. Solange das Menue offen ist,
     haelt sie sich darum fest statt klebend. */
  body.menu-open .head{position:fixed;top:0;left:0;right:0;z-index:140;background:#160b12;box-shadow:none}.head::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:env(safe-area-inset-top);background:#160b12}
  body.menu-open .brand,body.menu-open .burger{position:relative;z-index:100}
  @keyframes menuin{from{opacity:0}to{opacity:1}}
}

/* event modal becomes a bottom-sheet on phones */
@media(max-width:640px){
  .modal{align-items:flex-end;justify-content:stretch;padding:0}
  .modal__card{
    width:100%;max-width:none;max-height:92dvh;
    border-radius:22px 22px 0 0;padding:32px 22px calc(26px + env(safe-area-inset-bottom));
    animation:sheetup .34s cubic-bezier(.2,.8,.2,1);overscroll-behavior:contain;-webkit-overflow-scrolling:touch
  }
  .modal__card::before{content:"";position:absolute;top:9px;left:50%;transform:translateX(-50%);width:42px;height:4px;border-radius:99px;background:rgba(109,88,98,.45)}
  .modal__title{font-size:1.7rem}
  .modal__actions .btn{flex:1 1 100%;justify-content:center}
  @keyframes sheetup{from{transform:translateY(100%)}to{transform:none}}
}

/* app bottom tab-bar (mobile only) */
.tabbar{display:none}
@media(max-width:700px){
  .tabbar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;
    padding:7px 6px calc(7px + env(safe-area-inset-bottom));
    background:rgba(18,9,15,.93);backdrop-filter:blur(14px) saturate(1.2);
    border-top:1px solid rgba(198,163,90,.22);
    transform:translateY(120%);transition:transform .32s cubic-bezier(.2,.8,.2,1)
  }
  .tabbar.show{transform:none}
  body.menu-open .tabbar{transform:translateY(120%)}
  .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 2px;color:var(--on-dark-faint);text-decoration:none;border-radius:12px}
  .tab svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .tab span{font-family:var(--inscr);font-size:.53rem;letter-spacing:.1em;text-transform:uppercase}
  .tab.active{color:var(--gold2)}
  .foot{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.nav.open,.modal__card{animation:none}}

/* ============================================================
   UNTERSEITEN  (/feiertage/, /kontakt/, /impressum/)
   ============================================================ */
/* clip-path statt clip, und die Groesse bleibt bei null: so kann der Helfer
   keinen Platz beanspruchen und keinen Scroll-Rahmen sprengen */
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;left:0;top:0}
/* Nicht mit left:-9999px parken. Auf den arabischen Seiten (dir="rtl")
   zaehlt ein Ueberhang nach links als Scrollweite: 9999px waagerechter
   Scroll. Darum derselbe Kniff wie bei .vh, ein Pixel plus clip-path. */
.skiplink{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;z-index:400;background:var(--gold);color:#241019;font-weight:700;padding:12px 20px;border-radius:0 0 4px 0}
.skiplink:focus{width:auto;height:auto;overflow:visible;clip-path:none}


.subpage main{display:block}

/* Festliste */
.feasts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(26px,4vw,44px)}
@media(max-width:820px){.feasts{grid-template-columns:1fr}}
.feast{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;padding:22px 24px;border-radius:12px;background:var(--parch);border:1px solid rgba(198,163,90,.24)}
.band-dark .feast{background:rgba(255,255,255,.04);border-color:rgba(198,163,90,.2)}
.feast__date{width:60px;height:60px;border-radius:10px;background:rgba(198,163,90,.14);border:1px solid rgba(198,163,90,.34);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;line-height:1.05}
.feast__d{font-family:var(--serif);font-size:1.34rem;font-weight:600;color:var(--wine)}
.band-dark .feast__d{color:var(--gold2)}
.feast__m{font-family:var(--inscr);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-light-dim);margin-top:2px}
.band-dark .feast__m{color:var(--on-dark-dim)}
.feast h3{font-size:1.14rem;margin:0 0 4px}
.band-dark .feast h3{color:var(--on-dark)}
.feast__when{font-size:.86rem;color:var(--wine);font-weight:600;margin:0 0 7px}
.band-dark .feast__when{color:var(--gold2)}
.feast__txt{font-size:.92rem;color:var(--on-light-dim);margin:0;line-height:1.6}
.band-dark .feast__txt{color:var(--on-dark-dim)}

/* Jahresuebersicht */
.tablewrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:clamp(24px,3vw,38px);border:1px solid rgba(198,163,90,.28);border-radius:12px;background:var(--parch)}
.ftable{width:100%;border-collapse:collapse;font-size:.94rem;min-width:520px}
.ftable caption{text-align:left;padding:16px 20px 0;font-family:var(--inscr);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra)}
.ftable th,.ftable td{padding:11px 16px;text-align:left;border-bottom:1px solid rgba(198,163,90,.18)}
.ftable thead th{font-family:var(--inscr);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-light-dim);font-weight:500;white-space:nowrap}
.ftable tbody th{font-family:var(--serif);font-size:1.06rem;font-weight:600;color:var(--wine);width:1%;white-space:nowrap}
.ftable tbody tr:last-child th,.ftable tbody tr:last-child td{border-bottom:none}
.ftable tbody tr:hover{background:rgba(198,163,90,.07)}
.ftable__now{background:rgba(198,163,90,.13)}
.ftable__dl{white-space:nowrap}
.ftable__dl a{display:inline-block;min-height:24px;padding:4px 7px;border-radius:4px;font-family:var(--inscr);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:#8a5a2a;border:1px solid rgba(138,90,42,.3)}
.ftable__dl a:hover{color:var(--wine);border-color:var(--wine);background:rgba(198,163,90,.1)}
.ftable__dl a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ============================================================
   TOUCH-ZIELE  (WCAG 2.2, mindestens 24px)
   ============================================================ */
.loc__links a{display:inline-block;min-height:24px;padding:3px 0;line-height:18px}
.langsw__b{min-height:24px;padding:6px 10px}
.foot ul li a,.foot__bottom a,.credits a{display:inline-block;min-height:26px;padding:4px 0;line-height:18px}

/* Erklaerung auf der Feiertagsseite: haengt am Hero, nimmt aber keine eigene Buehne ein */
.why-sec{padding-top:0;padding-bottom:clamp(38px,5vw,60px)}
.why{max-width:70ch;margin:0 auto;border-top:1px solid rgba(198,163,90,.22)}
.why summary{list-style:none;cursor:pointer;padding:18px 0 0;display:flex;align-items:center;gap:10px;font-family:var(--inscr);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.why summary::-webkit-details-marker{display:none}
.why summary::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
.why[open] summary::after{transform:rotate(-135deg);margin-top:2px}
.why summary:hover{color:var(--gold)}
.why summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.why__body{padding-top:12px}
.why__body p{font-size:.94rem;line-height:1.7;color:var(--on-dark-dim);margin:0 0 .9em}
.why__body p:last-child{margin-bottom:0}

/* Jahreswahl */
.yearnav{display:flex;gap:7px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:6px 2px 12px;scrollbar-width:thin;scroll-snap-type:x proximity;margin-top:clamp(20px,3vw,32px)}
.yearnav::-webkit-scrollbar{height:6px}
.yearnav::-webkit-scrollbar-thumb{background:rgba(198,163,90,.4);border-radius:99px}
.yearnav a{scroll-snap-align:center;flex:none;min-width:62px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:99px;border:1px solid rgba(198,163,90,.32);background:rgba(198,163,90,.06);color:var(--on-light-dim);font-family:var(--inscr);font-size:.76rem;letter-spacing:.06em;transition:background .18s,color .18s,border-color .18s}
.yearnav a:hover{border-color:rgba(198,163,90,.7);color:var(--wine)}
.yearnav a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.yearnav a.is-on{background:linear-gradient(158deg,var(--gold),#b6913e);border-color:transparent;color:#241019;font-weight:600}

/* Aktionen je Fest */
.feast__act{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.feast__btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1px solid rgba(138,90,42,.3);color:#8a5a2a;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .15s}
.feast__btn:active{transform:scale(.93)}
.feast__ico{width:17px;height:17px;display:block}
.feast__btn:hover{background:rgba(198,163,90,.14);color:var(--wine);border-color:var(--wine)}
.feast__btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.band-dark .feast__btn{color:var(--gold2);border-color:rgba(198,163,90,.34)}
.band-dark .feast__btn:hover{background:rgba(198,163,90,.16);color:var(--on-dark);border-color:var(--gold)}
.feast__copt{color:var(--on-light-dim);font-weight:400}
.band-dark .feast__copt{color:var(--on-dark-faint)}

/* ============================================================
   KIRCHENJAHR im Kalender der Startseite
   Feste und Fastenzeiten sind keine Termine der Gemeinde. Sie bekommen
   darum bewusst eine andere Bildsprache: kein gefuelltes Feld, kein Punkt,
   nicht anklickbar. Nur ein Band am unteren Rand und eine kleine Ecke.
   ============================================================ */
.cal__day{overflow:hidden}
/* Fastenzeiten als ganz leichte Tönung statt als Balken: ein Balken unter jedem
   Tag wirkte wie eine Unterstreichung und war zu laut. Termine behalten ihre
   eigene Fläche, die Tönung greift nur auf sonst leeren Tagen. */
.cal__day--kjfast:not(.cal__day--lit):not(.cal__day--feast):not(.cal__day--youth):not(.cal__day--camp):not(.cal__day--belp):not(.cal__day--cancelled){background:rgba(176,106,67,.075)}
.cal__day--kjfast-start:not(.cal__day--lit):not(.cal__day--feast):not(.cal__day--youth):not(.cal__day--camp):not(.cal__day--belp){box-shadow:inset 3px 0 0 rgba(176,106,67,.45)}
.cal__day--kjfest::after{content:'';position:absolute;top:5px;right:5px;width:5px;height:5px;transform:rotate(45deg);background:var(--gold);box-shadow:0 0 0 1px rgba(255,255,255,.55)}
.cal__day--lit.cal__day--kjfest::after{background:#241019;box-shadow:none}

/* Textzeile unter dem Kalender: nennt das Kirchenjahr des Monats, ohne Termincharakter */
.kj{margin-top:14px;padding-top:13px;border-top:1px solid rgba(198,163,90,.18);font-size:.86rem;line-height:1.7;color:var(--on-light-dim)}
.kj__t{font-family:var(--inscr);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);margin:0 0 5px}
.kj__i{display:inline-block;margin-right:6px}
.kj b{color:var(--on-light);font-weight:600}
.kj__leer{opacity:.65}
.kj__mehr{display:inline-block;margin-top:7px;font-family:var(--inscr);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:#8a5a2a;border-bottom:1px solid rgba(138,90,42,.35);padding-bottom:2px;min-height:24px}
.kj__mehr:hover{color:var(--wine);border-color:var(--wine)}

/* Legende: macht den Unterschied zwischen Termin und Kirchenjahr sichtbar */
.calleg{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:.78rem;color:var(--on-dark-dim);align-items:center}
.calleg span{display:inline-flex;align-items:center;gap:7px}
.calleg i{width:16px;height:16px;border-radius:5px;flex:none;position:relative}
.calleg .lg-ev{background:linear-gradient(158deg,var(--gold),#b6913e)}
.calleg .lg-fast{background:rgba(198,163,90,.1);border:1px solid rgba(198,163,90,.28)}
.calleg .lg-fast{background:rgba(176,106,67,.22);border-color:rgba(176,106,67,.4)}
.calleg .lg-fest{background:rgba(198,163,90,.1);border:1px solid rgba(198,163,90,.28)}
.calleg .lg-fest::after{content:'';position:absolute;top:2px;right:2px;width:5px;height:5px;transform:rotate(45deg);background:var(--gold)}
.cal-filter--kj{margin-top:-4px}
.fchip--kjfest i{background:transparent;border:1px solid rgba(198,163,90,.5);position:relative}
.fchip--kjfest i::after{content:'';position:absolute;inset:2px;transform:rotate(45deg);background:var(--gold)}
.fchip--kjfast i{background:transparent;border:1px solid rgba(176,106,67,.5);position:relative}
.fchip--kjfast i{background:rgba(176,106,67,.4)}
/* Zeile aus Uhrzeit und Ort unter dem Datum */
.hpmeta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.88rem;color:var(--on-dark-dim)}
@media(max-width:560px){.hero__pill{padding:15px 18px 16px;width:100%}.hpdate{font-size:1.28rem}.hpmeta{font-size:.82rem}}
/* Kopfzeile der Hero-Karte: Bezeichnung und wie lange es noch dauert */
.hphead{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.hprel{font-family:var(--inscr);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);background:rgba(198,163,90,.16);border:1px solid rgba(198,163,90,.34);border-radius:100px;padding:4px 10px;white-space:nowrap}
.hprel:empty{display:none}
/* Anklickbare Tage des Kirchenjahres: Hinweis nur beim Zeigen, sonst unveraendert ruhig */
.cal__day--kjklick{cursor:pointer;transition:background .18s}
.cal__day--kjklick:hover{background:rgba(198,163,90,.13)}
.cal__day--kjklick:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.modal__card--kj .modal__tag{color:var(--terra)}
.kjm__hint{margin:20px 0 0;padding-top:14px;border-top:1px solid var(--parch-line);font-size:.84rem;color:var(--on-light-dim)}

/* Kennzeichnung oben im Fenster: Art des Eintrags auf einen Blick */
.tagpill{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:100px;font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:none;margin-right:8px}
.tagpill__i{width:15px;height:15px;flex:none}
.tagpill--termin .tagpill__i{fill:currentColor}
.tagpill--fest .tagpill__i,.tagpill--fasten .tagpill__i{fill:none;stroke:currentColor}
.tagpill--termin{background:rgba(198,163,90,.18);color:#8a6a24;border:1px solid rgba(198,163,90,.45)}
.tagpill--fest{background:rgba(198,163,90,.14);color:#8a6a24;border:1px solid rgba(198,163,90,.4)}
.tagpill--fasten{background:rgba(176,106,67,.14);color:#9c4a24;border:1px solid rgba(176,106,67,.42)}
.tagpill__sub{display:inline-block;font-family:var(--inscr);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--on-light-dim);vertical-align:middle}
.modal__tag{display:flex;flex-wrap:wrap;align-items:center;gap:6px}

/* ============================================================
   FARBE JE ART IM FENSTER
   Ein schmaler Streifen am oberen Rand zeigt, worum es geht,
   ohne die ruhige Gestaltung der Karte zu stoeren.
   ============================================================ */
.modal__card{position:relative;overflow:hidden}
.modal__card::after{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--parch-line)}
.modal__card--lit::after{background:linear-gradient(90deg,var(--gold),#b6913e)}
.modal__card--youth::after{background:var(--blue)}
.modal__card--feast::after{background:linear-gradient(90deg,#c8702f,#9e3b1e)}
.modal__card--camp::after{background:linear-gradient(90deg,#4f8a76,#33614f)}
.modal__card--belp::after{background:repeating-linear-gradient(90deg,#9b8391 0 7px,transparent 7px 13px)}
.modal__card--cancelled::after{background:#b23a3a}
.modal__card--fest::after{background:linear-gradient(90deg,var(--gold),#dcc184)}
.modal__card--fasten::after{background:linear-gradient(90deg,#b06a43,#8a4f2e)}

/* Art des Eintrags auf der Feiertagsseite, mit koptischem Zeichen */
.feast__art{display:inline-flex;align-items:center;gap:7px;font-family:var(--inscr);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);margin:0 0 6px}
.feast__artico{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.feast--fasten .feast__art{color:#9c4a24}
.feast--herrenfest .feast__art{color:#8a6a24}
.feast--fasten .feast__date{background:rgba(176,106,67,.13);border-color:rgba(176,106,67,.34)}
.feast--fasten .feast__d{color:#9c4a24}
/* Inline-Verweise: mindestens 24px hoch, damit sie auf dem Handy treffbar sind */
.lnk{display:inline-block;min-height:24px;padding:2px 0;line-height:20px}

/* ============================================================
   NAVIGATION: EINE KLEBENDE KOPFZEILE, EIN VOLLBILD-MENUE
   Eine untere Leiste hat die Kopfzeile nur verdoppelt und ihre Zeichen
   waren auf schmalen Geraeten angeschnitten. Stattdessen bleibt die
   Kopfzeile stehen und das Menue kommt als Flaeche von oben, wie in
   einer App. Das funktioniert auf jeder Seite und in jeder Sprache.
   ============================================================ */
.head{position:sticky;top:0;z-index:100}
.tabbar{display:none!important}

/* Das Vollbild-Menue der Startseite gilt jetzt auch auf den Unterseiten.
   Es steht weiter oben unter "full-screen app menu" und wird hier nur noch
   fuer Geraete zwischen 701 und 1000 Pixeln ergaenzt. */
@media(max-width:1000px){ .head .btn{display:none} .burger{display:flex} }
@media(min-width:701px) and (max-width:1000px){
  .nav:not(.open){display:none}
}


.subpage a,.subpage button,.subpage .fchip{-webkit-tap-highlight-color:transparent}
.subpage .btn:active,.subpage .feast__btn:active,.subpage .yearnav a:active{transform:scale(.96)}

/* Jahreswahl bleibt beim Blaettern stehen, unter der Kopfzeile */
.yearnav{position:sticky;top:var(--kopf,56px);z-index:40;
  background:linear-gradient(var(--parch) 72%,transparent);
  overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-top:12px}
.tablewrap{overscroll-behavior-x:contain}

@media(prefers-reduced-motion:reduce){
  .subpage .btn:active,.subpage .tab:active,.subpage .feast__btn:active,.subpage .yearnav a:active{transform:none}
  .yearnav{scroll-behavior:auto}
}

/* ============================================================
   KOPFZEILE AUF SCHMALEN GERAETEN
   Der Name brach auf drei Zeilen und die Kopfzeile wurde 94px hoch.
   Hier wird er einzeilig gehalten und die Sprachwahl schmaler gesetzt,
   damit die Kopfzeile rund eine Daumenbreite hoch bleibt.
   ============================================================ */
@media(max-width:600px){
  .head{padding-top:calc(9px + env(safe-area-inset-top))!important;padding-bottom:9px!important}
  .head__in{gap:9px;flex-wrap:nowrap;align-items:center}
  .brand{gap:8px;min-width:0;flex:1 1 auto}
  .brand>span{min-width:0;display:block}
  .brand__c{flex:0 0 auto;width:26px;height:26px}
  .brand__n{display:block;font-size:.56rem;letter-spacing:.035em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand__s{font-size:.45rem;letter-spacing:.16em;margin-top:2px;white-space:nowrap}
  .langsw{flex:0 0 auto;margin:0;padding:2px;gap:0;border-radius:100px}
  .langsw__b{padding:5px 6px;font-size:.58rem;min-height:24px;line-height:1.1}
  [lang="ar"] .langsw__b{font-size:.74rem}
  .burger{flex:0 0 auto;width:32px;height:30px}
}
@media(max-width:380px){
  .brand__n{font-size:.52rem}
  .langsw__b{padding:5px 5px;font-size:.55rem}
}

/* Waagerechte Leisten duerfen die Seite nie schieben */
.yearnav,.tablewrap,.cal,.calwrap,.loc-grid,.feasts{max-width:100%}
.ftable{max-width:none}

@media(max-width:600px){:root{--kopf:calc(50px + env(safe-area-inset-top))}}
html{scroll-padding-top:calc(var(--kopf) + 12px)}
section[id],[id]{scroll-margin-top:0}

/* Der Weichzeichner der gescrollten Kopfzeile erzeugt einen Bezugsrahmen fuer
   feste Elemente. Das Vollbild-Menue liegt im Kopf und wurde dadurch nach dem
   Scrollen ausserhalb des Bildschirms verankert: Menue klicken, nichts passiert.
   Auf Geraeten mit Sheet-Menue also kein backdrop-filter. */
@media(max-width:1000px){
  .head.solid{backdrop-filter:none;-webkit-backdrop-filter:none;background:#160b12}
}

/* Das Vollbild-Menue liegt im Kopfbereich und ist ein Geschwister des Burgers.
   Ohne eigenen Stapelwert legt es sich ueber den Burger, und das Menue liess
   sich nicht mehr schliessen. Burger und Sprachwahl darum darueber. */
.head .burger,.head .langsw{position:relative;z-index:150}

/* Abschlusskarte der Inhaltsseiten (/liturgie/, /koptische-kirche/,
   /erster-besuch/): zwei Wege weiter, auf Pergament abgesetzt. */
.measure>h2{margin-bottom:.35em}
.karte{background:var(--parch2);border:1px solid var(--parch-line);border-radius:14px;padding:clamp(22px,4vw,32px)}
.karte>h2:first-child{margin-top:0}
.karte p{color:var(--on-light-dim);margin:0}
.karte .cta-row{flex-wrap:wrap}

/* ================= Die Kopten in der Schweiz: die Seite als Buch =================
   Pergament als Seite, Kapitel mit roemischer Nummer, Initiale und grossem Bild,
   das abwechselnd links und rechts im Text steht. Oben ein duenner Lesebalken. */
.buch__fortschritt{position:fixed;left:0;right:0;top:var(--kopf);height:3px;z-index:40;pointer-events:none}
.buch__fortschritt span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));transform:scaleX(0);transform-origin:0 50%}
html[dir="rtl"] .buch__fortschritt span{transform-origin:100% 50%}
.buch__titelbild{margin:0;position:relative;background:var(--ink)}
.buch__titelbild img{display:block;width:100%;height:clamp(260px,52vw,620px);object-fit:cover;object-position:50% 16%;opacity:.92}
.buch__titelbild figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 12px;text-align:center;font-size:.8rem;color:var(--on-dark-dim);background:linear-gradient(transparent,rgba(22,11,18,.85))}
.buch__vorwort{background:var(--parch)}
.buch__einleitung{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.55rem);line-height:1.55;color:var(--on-light);text-align:center;margin:0 auto 2.2em;max-width:34em}
.buch__inhalt{border-top:1px solid var(--parch-line);border-bottom:1px solid var(--parch-line);padding:18px 0 10px}
.buch__inhalt-t{margin:0 0 8px;text-align:center;font-family:var(--inscr);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:#8a5a2a}
.buch__inhalt ol{list-style:none;margin:0;padding:0}
.buch__inhalt a{display:flex;align-items:baseline;gap:14px;padding:9px 4px;border-bottom:1px dotted var(--parch-line);color:var(--on-light);text-decoration:none;font-family:var(--serif);font-size:1.18rem;transition:color .2s}
.buch__inhalt li:last-child a{border-bottom:0}
.buch__inhalt a:hover{color:var(--wine)}
.buch__inr{flex:none;width:2.4em;font-family:var(--inscr);font-size:.8rem;color:var(--gold)}
.buch__kap{background:var(--parch);padding:clamp(34px,6vw,70px) 0 clamp(20px,3vw,34px)}
.buch__kap--warte{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.buch__kap--warte.in{opacity:1;transform:none}
.buch__wrap{max-width:1000px}
.buch__kopf{text-align:center;margin:0 auto clamp(20px,3vw,34px);max-width:40ch}
.buch__nr{margin:0 0 .5em;font-family:var(--inscr);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.buch__t{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.08;color:var(--wine);margin:0}
.buch__text{max-width:62ch;margin:0 auto}
.buch__text p{font-family:var(--serif);font-size:clamp(1.14rem,1.6vw,1.26rem);line-height:1.75;color:var(--on-light);margin:0 0 1em;text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.buch__erste::first-letter{float:left;font-family:var(--serif);font-size:4.1em;line-height:.82;padding:.06em .1em 0 0;color:var(--wine);font-weight:600}
html[dir="rtl"] .buch__erste::first-letter,html[lang="ti"] .buch__erste::first-letter{float:none;font-size:inherit;padding:0;color:inherit;font-weight:inherit}
html[dir="rtl"] .buch__text p,html[lang="ti"] .buch__text p{text-align:start}
.buch__bild{margin:0 0 18px;background:var(--parch2);border:1px solid var(--parch-line);padding:10px 10px 8px;box-shadow:0 18px 40px -26px rgba(44,28,36,.55)}
.buch__bild img{display:block;width:100%;height:auto}
.buch__bild figcaption{font-size:.8rem;line-height:1.45;color:var(--on-light-dim);padding:8px 2px 0;font-style:italic}
@media(min-width:900px){
  .buch__text{max-width:none}
  .buch__bild{width:420px;max-width:44%}
  .buch__bild--rechts{float:right;margin:6px 0 18px 34px;transform:rotate(.6deg)}
  .buch__bild--links{float:left;margin:6px 34px 18px 0;transform:rotate(-.6deg)}
  html[dir="rtl"] .buch__bild--rechts{float:left;margin:6px 34px 18px 0}
  html[dir="rtl"] .buch__bild--links{float:right;margin:6px 0 18px 34px}
  .buch__wrap::after{content:"";display:block;clear:both}
}
.buch__zitat{clear:both;margin:clamp(22px,3vw,34px) auto 0;max-width:46ch;text-align:center;padding:18px 10px 0;border-top:1px solid var(--parch-line)}
.buch__zitat p{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.65rem);line-height:1.4;color:var(--wine);margin:0}
.buch__zitat cite{display:block;margin-top:10px;font-family:var(--inscr);font-style:normal;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#8a5a2a}
.buch__trenner{background:var(--parch);display:flex;justify-content:center;padding:4px 0 clamp(18px,3vw,28px)}
.buch__trenner .cross{width:22px;height:22px;color:var(--gold)}
.zeit{list-style:none;margin:28px 0 0;padding:0;position:relative}
.zeit::before{content:"";position:absolute;top:6px;bottom:6px;left:6.2em;width:1px;background:rgba(198,163,90,.45)}
html[dir="rtl"] .zeit::before{left:auto;right:6.2em}
.zeit li{position:relative;display:grid;grid-template-columns:5.4em 1fr;gap:1.6em;padding:10px 0}
.zeit li::before{content:"";position:absolute;left:calc(6.2em - 5px);top:18px;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(198,163,90,.18)}
html[dir="rtl"] .zeit li::before{left:auto;right:calc(6.2em - 5px)}
.zeit__j{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--gold2);text-align:end;line-height:1.3}
.zeit__t{color:var(--on-dark-dim);font-size:.98rem;line-height:1.6}
@media(max-width:560px){.zeit::before{left:4.6em}.zeit li{grid-template-columns:3.9em 1fr;gap:1.4em}.zeit li::before{left:calc(4.6em - 5px)}
  html[dir="rtl"] .zeit::before{right:4.6em}html[dir="rtl"] .zeit li::before{right:calc(4.6em - 5px)}.zeit__j{font-size:1.05rem}}
.buch__quellen{margin:30px auto 0;font-size:.86rem;color:var(--on-light-dim);max-width:56ch}
.buch__nachweis{margin:14px auto 0;font-size:.74rem;line-height:1.6;color:var(--on-light-dim);max-width:70ch}
@media (prefers-reduced-motion:reduce){.buch__kap--warte{opacity:1;transform:none;transition:none}.buch__bild--rechts,.buch__bild--links{transform:none}}
html[lang="ti"] .buch__nr,html[lang="ti"] .buch__inhalt-t,html[lang="ti"] .buch__zitat cite{letter-spacing:.04em;font-size:.76rem}

/* Monatstafel im Kalender-Kapitel und Verweis am Kapitelende */
.buch__monate{clear:both;margin:clamp(20px,3vw,30px) auto 0;max-width:760px;text-align:center}
.buch__monate-t{margin:0 0 12px;font-family:var(--inscr);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:#8a5a2a}
.buch__monate ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.buch__monate li{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px 10px;background:var(--parch2);border:1px solid var(--parch-line);border-radius:10px;font-family:var(--serif);font-size:1.12rem;color:var(--wine)}
.buch__monate li span{font-family:var(--inscr);font-size:.62rem;letter-spacing:.12em;color:var(--gold)}
.buch__monate li.kurz{border-style:dashed;background:transparent}
.buch__mehr{clear:both;text-align:center;margin:clamp(18px,3vw,26px) 0 0;font-size:1rem}
html[lang="ti"] .buch__monate-t{letter-spacing:.04em;font-size:.76rem}

/* Startseite: zwei Bildkarten zu den Buchseiten (Glaube) */
.teaser-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:clamp(26px,4vw,40px) auto 0;max-width:1000px}
.teaser{display:grid;grid-template-columns:minmax(120px,38%) 1fr;background:var(--parch2);border:1px solid var(--parch-line);border-radius:16px;overflow:hidden;color:var(--on-light);text-decoration:none;box-shadow:0 16px 36px -26px rgba(44,28,36,.6);transition:transform .2s,box-shadow .2s,border-color .2s}
.teaser:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 22px 44px -24px rgba(44,28,36,.7)}
.teaser:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.teaser__bild{display:block;background:var(--ink)}
.teaser__bild img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.teaser__txt{display:flex;flex-direction:column;gap:6px;padding:clamp(18px,2.4vw,26px)}
.teaser__lab{font-family:var(--inscr);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#8a5a2a}
.teaser__t{font-family:var(--serif);font-size:clamp(1.35rem,2.2vw,1.65rem);font-weight:500;line-height:1.12;color:var(--wine)}
.teaser__p{font-size:.92rem;line-height:1.55;color:var(--on-light-dim)}
.teaser__mehr{margin-top:auto;padding-top:6px;font-weight:600;font-size:.9rem;color:var(--wine)}
.quote--hell{color:var(--wine);margin-top:clamp(30px,4vw,44px)}
.quote--hell cite{color:#8a5a2a}
@media(max-width:760px){.teaser-grid{grid-template-columns:1fr}}
@media(max-width:420px){.teaser{grid-template-columns:110px 1fr}.teaser__p{font-size:.86rem}}
html[lang="ti"] .teaser__lab{letter-spacing:.04em;font-size:.72rem}

/* Gottesdienste: schmale Leiste statt drei Karten */
.sched-leiste{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:clamp(22px,3vw,32px)}
.sl{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:14px;border:1px solid rgba(198,163,90,.28);background:rgba(255,255,255,.04)}
.sl--lit{background:rgba(198,163,90,.12);border-color:rgba(198,163,90,.5)}
.sl .cross{flex:none;width:18px;height:18px;color:var(--gold);margin-top:4px}
.sl b{display:block;font-family:var(--serif);font-size:1.18rem;font-weight:500;color:var(--on-dark);line-height:1.2}
.sl span{display:block;font-size:.88rem;color:var(--on-dark-dim);margin-top:3px;line-height:1.45}
@media(max-width:860px){.sched-leiste{grid-template-columns:1fr}}

/* Telefon: weniger Luft zwischen den Abschnitten, die Seite wirkte endlos */
@media(max-width:640px){.sec{padding:clamp(44px,12vw,60px) 0}}

/* Wueste als eigenes, randloses Band direkt nach den Kennzahlen.
   Der Verlauf beginnt in --ink und schliesst nahtlos an die dunkle Kennzahlen-Leiste an. */
.herit--band{display:flex;align-items:center;padding:clamp(110px,16vw,190px) 0;min-height:clamp(440px,54vw,660px)}
.herit--band .herit__in{position:relative;z-index:2}
@media(max-width:640px){.herit--band{padding:96px 0;min-height:420px}}
.herit--band .herit__img{opacity:.58}

/* Buchseiten: Zeichen statt Bild (Erster Besuch) und Kacheln (Zeiten der Liturgie) */
.buch__ic{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 14px;border-radius:50%;background:var(--parch2);border:1px solid var(--parch-line);box-shadow:0 10px 24px -18px rgba(44,28,36,.6)}
.buch__ic svg{width:32px;height:32px;fill:none;stroke:var(--wine);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.buch__kacheln{clear:both;list-style:none;margin:clamp(20px,3vw,28px) auto 0;padding:0;max-width:640px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.buch__kacheln li{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;padding:16px 14px 14px;background:var(--parch2);border:1px solid var(--parch-line);border-radius:12px}
.buch__kk{font-family:var(--inscr);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:#8a5a2a}
.buch__kacheln b{font-family:var(--serif);font-size:1.7rem;font-weight:500;color:var(--wine);line-height:1.2}
.buch__kacheln li > span:last-child{font-size:.88rem;color:var(--on-light-dim)}
html[lang="ti"] .buch__kk{letter-spacing:.04em;font-size:.74rem}
/* Kapitel ohne Bild: Satzbreite wie in einem Buch, nicht ueber die ganze Seite */
@media(min-width:900px){.buch__kap:not(:has(.buch__bild)) .buch__text{max-width:64ch}}

/* 404: die Wueste der Startseite als ganzer Bildschirm, die Null als koptisches Kreuz */
.fehler{display:flex;align-items:center;min-height:calc(100svh - var(--kopf));padding:clamp(72px,11vw,130px) 0}
.fehler .herit__img{opacity:.6}
.fehler__zahl{display:inline-flex;align-items:center;gap:.06em;direction:ltr;margin:0 0 .2em;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(6rem,21vw,11.5rem);line-height:.9;letter-spacing:.02em;color:var(--gold2);background:linear-gradient(180deg,var(--gold-soft) 10%,var(--gold) 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fehler__kreuz{width:.7em;height:.7em;color:var(--gold2);filter:drop-shadow(0 0 22px rgba(198,163,90,.4))}
.fehler h1.h{font-size:clamp(2.3rem,5.4vw,3.8rem);color:var(--on-dark);margin-bottom:.35em}
.fehler .lead{max-width:48ch;margin-left:auto;margin-right:auto}
.fehler__wege{justify-content:center;margin-top:32px}
.fehler__zeit{max-width:46ch;margin:34px auto 0;font-size:.92rem;line-height:1.6;color:var(--on-dark-faint)}
