/* =====================================================================
   ZANGDOK PALRI — shared styles for the redesigned site (Figma "Final")
   Pages: index, light-a-lamp, final-touch, sponsor-statue, gallery
   ===================================================================== */

/* ---------- fonts: self-hosted (were Google Fonts; latin, latin-ext, vietnamese subsets —
   the browser downloads only the subsets a page uses) ---------- */
/* Cormorant Garamond vietnamese */
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/cormorant-garamond-vietnamese-5f8136.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Cormorant Garamond latin-ext */
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/cormorant-garamond-latin-ext-0365c5.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; }
/* Cormorant Garamond latin */
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/cormorant-garamond-latin-fe99e3.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; }
/* Cormorant Garamond vietnamese */
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 500; font-display: swap; src: url(fonts/cormorant-garamond-vietnamese-5f8136.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Cormorant Garamond latin-ext */
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 500; font-display: swap; src: url(fonts/cormorant-garamond-latin-ext-0365c5.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; }
/* Cormorant Garamond latin */
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 500; font-display: swap; src: url(fonts/cormorant-garamond-latin-fe99e3.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; }
/* Cormorant Garamond vietnamese */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/cormorant-garamond-vietnamese-7f5a19.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Cormorant Garamond latin-ext */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/cormorant-garamond-latin-ext-211149.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; }
/* Cormorant Garamond latin */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/cormorant-garamond-latin-e99b45.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; }
/* Cormorant Garamond vietnamese */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/cormorant-garamond-vietnamese-7f5a19.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Cormorant Garamond latin-ext */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/cormorant-garamond-latin-ext-211149.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; }
/* Cormorant Garamond latin */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/cormorant-garamond-latin-e99b45.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; }
/* Cormorant Garamond vietnamese */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/cormorant-garamond-vietnamese-7f5a19.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Cormorant Garamond latin-ext */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/cormorant-garamond-latin-ext-211149.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; }
/* Cormorant Garamond latin */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/cormorant-garamond-latin-e99b45.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; }
/* Gilda Display latin-ext */
@font-face { font-family: 'Gilda Display'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/gilda-display-latin-ext-eead1c.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; }
/* Gilda Display latin */
@font-face { font-family: 'Gilda Display'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/gilda-display-latin-1d175d.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; }
/* Inter vietnamese */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300; font-display: swap; src: url(fonts/inter-vietnamese-fc83e0.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Inter latin-ext */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300; font-display: swap; src: url(fonts/inter-latin-ext-749a30.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; }
/* Inter latin */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300; font-display: swap; src: url(fonts/inter-latin-1ab1ad.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; }
/* Inter vietnamese */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/inter-vietnamese-fc83e0.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Inter latin-ext */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/inter-latin-ext-749a30.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; }
/* Inter latin */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/inter-latin-1ab1ad.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; }
/* Inter vietnamese */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/inter-vietnamese-fc83e0.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Inter latin-ext */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/inter-latin-ext-749a30.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; }
/* Inter latin */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/inter-latin-1ab1ad.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; }
/* Inter vietnamese */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/inter-vietnamese-fc83e0.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Inter latin-ext */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/inter-latin-ext-749a30.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; }
/* Inter latin */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/inter-latin-1ab1ad.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; }
/* Inter vietnamese */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/inter-vietnamese-fc83e0.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Inter latin-ext */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/inter-latin-ext-749a30.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; }
/* Inter latin */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/inter-latin-1ab1ad.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; }
/* Marcellus SC latin-ext */
@font-face { font-family: 'Marcellus SC'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/marcellus-sc-latin-ext-5844d2.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; }
/* Marcellus SC latin */
@font-face { font-family: 'Marcellus SC'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/marcellus-sc-latin-20fd59.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; }
/* Outfit latin-ext */
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 300; font-display: swap; src: url(fonts/outfit-latin-ext-f37fa5.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; }
/* Outfit latin */
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 300; font-display: swap; src: url(fonts/outfit-latin-c8e7a7.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; }
/* Outfit latin-ext */
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/outfit-latin-ext-f37fa5.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; }
/* Outfit latin */
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/outfit-latin-c8e7a7.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; }
/* Outfit latin-ext */
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/outfit-latin-ext-f37fa5.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; }
/* Outfit latin */
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/outfit-latin-c8e7a7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{font-family:'ZP Tibetan';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/tibetan-subset.woff2) format('woff2')} /* only the glyphs of the Tibetan lines on English pages */

/* ---------- tokens ---------- */
:root{
  --m-950:#1A0508; --m-900:#24070C; --m-850:#2B0810; --m-800:#330B12; --m-700:#45111A;
  --m-600:#5E1A1A; --m-500:#6E211C; --wine:#7A2620; --wine-2:#8C3A2E; --verm:#B4462F;
  --gold:#C9A227; --gold-hi:#EBD07E; --gold-lo:#A5811A; --gold-brown:#5C3314;
  --cream:#FAF3E8; --linen:#F2ECE1; --paper:#FFFDF9;
  --ivory:#F8EBD0; --ivory-dim:rgba(248,235,208,.72); --ivory-fade:rgba(248,235,208,.42);
  --body-ink:#3C1A17; --body-soft:#8A4A3E;
  --display:"Cormorant Garamond","Cormorant",Georgia,serif;
  --title:"Gilda Display",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --lead:"Inter",system-ui,sans-serif;
  --caps:"Marcellus SC",Georgia,serif;
  --tib:"ZP Tibetan","Noto Serif Tibetan",serif;
  --max:1240px;
  --gut:clamp(20px,6.9vw,100px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --nav-h:64px;
  --sw-h:32px;
  --outfit:"Outfit","Inter",system-ui,sans-serif;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
html.lenis,html.lenis body{height:auto}
[id]{scroll-margin-top:calc(var(--nav-h) + var(--sw-h) + 16px)}
.lenis.lenis-stopped{overflow:hidden}
body{
  margin:0;background:var(--cream);color:var(--body-ink);
  font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.75;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;
}
img,video{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:500}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
::selection{background:var(--gold);color:var(--m-950)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:300;background:var(--gold);color:var(--m-950);padding:10px 16px;font-weight:600;text-decoration:none;transition:top .3s}
.skip:focus{top:12px}

.wrap{max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.tib{font-family:var(--tib);font-weight:400}

/* ---------- surfaces ---------- */
.s-linen{background:linear-gradient(rgba(247,242,233,.66),rgba(247,242,233,.66)),url("../media/linen-750.jpg") 0 0/750px auto repeat,#F1EADD;color:var(--body-ink)}
.s-cream{background:var(--cream);color:var(--body-ink)}
.s-linen.deep{background:linear-gradient(rgba(236,226,208,.58),rgba(236,226,208,.58)),url("../media/linen-750.jpg") 0 0/750px auto repeat,#ECE2D0}
/* brocade: cloud + endless-knot silk used on the deep bands */
.s-brocade{position:relative;color:var(--ivory);background:#3A0A10 url("../media/brocade.jpg") center/cover}
.s-brocade::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 120% at 50% 50%,transparent 45%,rgba(20,3,6,.55) 100%)}
.s-brocade>*{position:relative}
.s-brocade .eyebrow{color:var(--gold)}
.s-brocade .h-display{color:var(--ivory)}
.s-dark{background:var(--m-800);color:var(--ivory);position:relative}
.s-dark::before{ /* woven cloth texture on dark bands */
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:
    repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);
}
.s-dark>*{position:relative}
.s-deep{background:var(--m-850);color:var(--ivory)}
.sec{padding:clamp(80px,9vw,130px) 0;position:relative}

/* ---------- type ---------- */
.eyebrow{
  display:flex;align-items:center;gap:14px;margin:0 0 22px;
  font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;line-height:1.5;
  color:var(--verm);
}
.eyebrow::before{content:"";width:30px;height:1px;background:currentColor;opacity:.75;flex:0 0 auto}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:"";width:30px;height:1px;background:currentColor;opacity:.75}
.s-dark .eyebrow,.s-deep .eyebrow,.on-dark .eyebrow{color:var(--gold)}
.eyebrow.muted{color:var(--ivory-fade)}
@media(min-width:420px) and (max-width:899px),(min-width:1200px){.eyebrow.muted{white-space:nowrap}}
.eyebrow.muted::before{background:var(--gold)}

.h-display{
  font-family:var(--display);font-weight:600;letter-spacing:-.035em;line-height:1.2;
  font-size:clamp(40px,5.3vw,78px);color:var(--wine);
  font-feature-settings:"liga","dlig";
}
.h-display.xl{font-size:clamp(44px,5.8vw,84px);line-height:1.22}
.h-display.md{font-size:clamp(38px,4.6vw,68px)}
.s-dark .h-display,.s-deep .h-display,.on-dark .h-display{color:var(--ivory)}
.h-display em{font-style:normal}
.c-verm{color:var(--verm) !important}
.c-gold{color:var(--gold) !important}
.c-goldhi{color:var(--gold-hi) !important}
.h-title{font-family:var(--title);font-weight:400;line-height:1.25;letter-spacing:.005em}
.lead-b{font-family:var(--lead);font-weight:600;font-size:clamp(17px,1.35vw,19.5px);line-height:1.85;color:var(--wine)}
.body-soft{color:var(--body-soft);font-size:clamp(16px,1.25vw,18px);line-height:2.05}
.s-dark .body-soft,.s-deep .body-soft{color:var(--ivory-dim)}
.body-lg{font-size:clamp(16px,1.3vw,18.5px);line-height:2.05}

/* two-column section heads (heading left, copy right, copy baseline-aligned) */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,90px);align-items:end}
.split.top{align-items:start}
@media(min-width:901px){.split.narrow{grid-template-columns:minmax(0,.64fr) minmax(0,1fr)}}
.split.mid{align-items:center}
@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr);align-items:start}}

/* ---------- buttons ---------- */
.btn{
  --bh:48px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:var(--bh);padding:0 26px;border:1px solid transparent;cursor:pointer;
  font-family:var(--sans);font-weight:600;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;white-space:nowrap;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),background-color .35s,color .35s,border-color .35s;
  overflow:hidden;isolation:isolate;
}
.btn svg{width:16px;height:16px;flex:0 0 auto;transition:transform .45s var(--ease-out)}
.btn:hover svg.arr{transform:translateX(4px)}
.btn:hover svg.ext{transform:translate(2px,-2px)}
.btn-gold{
  color:#1E0A06;border-color:rgba(165,129,26,.6);
  background:linear-gradient(135deg,#EAD27F 0%,#D9B64A 38%,#C9A227 62%,#B48B1C 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 14px 30px -14px rgba(201,162,39,.75);
}
.btn-gold::after{ /* travelling sheen */
  content:"";position:absolute;inset:-2px;z-index:-1;pointer-events:none;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);
  transform:translateX(-120%);transition:transform .9s var(--ease-out);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 20px 40px -16px rgba(201,162,39,.9)}
.btn-gold:hover::after{transform:translateX(120%)}
.btn-ghost{color:var(--ivory);border-color:rgba(248,235,208,.75);background:rgba(26,5,8,.18)}
.btn-ghost:hover{background:rgba(248,235,208,.1);border-color:var(--gold-hi);color:var(--gold-hi)}
.btn-dark{color:var(--ivory);background:var(--m-900);border-color:rgba(248,235,208,.85)}
.btn-dark:hover{background:var(--m-700)}
.btn-maroon{color:var(--ivory);background:linear-gradient(160deg,#6E211C,#4B0F0D);border-color:rgba(248,235,208,.8)}
.btn-maroon:hover{transform:translateY(-2px);box-shadow:0 18px 34px -18px rgba(75,15,13,.9)}
.btn-line{color:var(--m-900);background:transparent;border-color:var(--wine)}
.btn-line:hover{background:var(--wine);color:var(--ivory)}
.btn-wide{min-width:min(100%,380px)}
.link-u{
  display:inline-flex;align-items:center;gap:10px;padding-bottom:6px;text-decoration:none;
  font-family:var(--sans);font-weight:600;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--m-900);
  background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .5s var(--ease-out),color .3s;
}
.link-u:hover{background-size:40% 1px;color:var(--wine)}
.link-u .tri{font-size:9px;transform:translateY(-1px)}
.on-dark .link-u,.s-dark .link-u{color:var(--ivory)}

/* ---------- nav (matches 2028.zangdokpalriodisha.com: family strip + bar) ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:100;background:linear-gradient(to bottom,rgba(28,6,9,.85),rgba(28,6,9,0));transition:background .5s var(--ease),box-shadow .5s var(--ease)}
.nav.stuck{background:rgba(28,6,9,.96);box-shadow:0 1px 0 rgba(201,162,74,.28)}
.switcher{position:relative;height:var(--sw-h);background:rgba(18,4,6,.55);border-bottom:1px solid rgba(201,162,74,.16)}
.switcher-in{height:100%;display:flex;justify-content:center;align-items:center;gap:clamp(1rem,3vw,2.5rem);white-space:nowrap}
.switcher a{text-decoration:none;font-family:var(--outfit);font-weight:400;font-size:.74rem;letter-spacing:.08em;color:#CDB996;transition:color .3s var(--ease)}
.switcher a:hover{color:#F4E8D2}
.switcher a[aria-current=page]{color:#E2C47E;text-decoration:underline;text-decoration-color:#C9A24A;text-underline-offset:.45em}
.zp-lang{position:absolute;z-index:2;top:0;right:clamp(.5rem,3vw,2.5rem);height:var(--sw-h);font-family:var(--outfit);font-size:.74rem}
.zp-lang summary{display:flex;align-items:center;gap:.4rem;height:var(--sw-h);padding:0 .6rem;color:#CDB996;cursor:pointer;list-style:none;white-space:nowrap}
.zp-lang summary::-webkit-details-marker{display:none}
.zp-lang summary svg{flex:0 0 auto;color:#C9A24A}
.zp-lang summary:hover,.zp-lang[open] summary{color:#F4E8D2}
.zp-lang summary:focus-visible{outline:2px solid #E2C47E;outline-offset:-2px}
.zp-lang ul{position:absolute;top:100%;right:0;min-width:10rem;margin:0;padding:.4rem 0;list-style:none;border:1px solid rgba(201,162,74,.28);background:rgba(28,6,9,.98);box-shadow:0 12px 30px rgba(0,0,0,.4)}
.zp-lang a{display:block;padding:.5rem 1rem;color:#CDB996;font-size:.85rem;text-decoration:none;letter-spacing:normal}
.zp-lang a:hover,.zp-lang a:focus-visible{color:#F4E8D2;background:rgba(201,162,74,.08)}
.zp-lang a[aria-current="page"]{color:#E2C47E}
@media(max-width:860px){.zp-lang{right:0;background:rgba(18,4,6,.9)}}
.nav-in{position:relative;padding:0 clamp(1rem,4vw,3rem);height:var(--nav-h);display:flex;align-items:center;gap:1.5rem}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;margin-right:auto;color:#F4E8D2}
.brand img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.brand-t{font-family:var(--display);font-size:1.2rem;font-weight:600;letter-spacing:.04em;line-height:1.05}
.brand-t small{display:block;font-family:var(--outfit);font-size:.66rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#C9A24A}
.nav-links{display:flex;align-items:center;gap:1.75rem;list-style:none;margin:0;padding:0}
.nav-links>li{position:relative}
.nav-links>li>a{position:relative;display:inline-flex;align-items:center;gap:6px;padding:.4rem 0;text-decoration:none;font-family:var(--outfit);font-weight:400;font-size:.9rem;color:#F4E8D2}
.nav-links>li>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#C9A24A;transform:scaleX(0);transition:transform .5s var(--ease)}
.nav-links>li:hover>a::after,.nav-links>li>a[aria-current="page"]::after{transform:scaleX(1)}
.nav-links .chev{width:9px;height:9px;transition:transform .4s var(--ease-out)}
.nav-links li:hover .chev{transform:rotate(180deg)}
.dd{position:absolute;top:calc(100% + .5rem);left:-.9rem;min-width:15rem;padding:.5rem;margin:0;list-style:none;
  background:rgba(28,6,9,.98);border:1px solid rgba(201,162,74,.28);box-shadow:0 12px 30px rgba(0,0,0,.4);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .3s var(--ease),transform .4s var(--ease-out),visibility .3s}
.dd::before{content:"";position:absolute;left:0;right:0;top:-.6rem;height:.6rem}
.nav-links li:hover>.dd,.nav-links li:focus-within>.dd{opacity:1;visibility:visible;transform:none}
.dd a{display:block;padding:.75rem .9rem;text-decoration:none;font-family:var(--outfit);font-size:.88rem;color:#CDB996;transition:background .3s,color .3s}
.dd a:hover,.dd a[aria-current="page"]{background:rgba(201,162,74,.08);color:#F4E8D2}
.nav-cta{padding:.55rem 1.1rem;border:1px solid rgba(201,162,74,.28);border-radius:999px;font-family:var(--outfit);font-size:.86rem;font-weight:500;letter-spacing:.06em;color:#E2C47E;background:rgba(28,6,9,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-decoration:none;white-space:nowrap;transition:border-color .4s var(--ease),color .4s var(--ease)}
.nav-cta:hover{border-color:#C9A24A;color:#F4E8D2}
.switcher a:focus-visible,.nav-links a:focus-visible,.nav-cta:focus-visible,.burger:focus-visible{outline:2px solid #E2C47E;outline-offset:3px}
.burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;position:relative;z-index:2}
.burger span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--ivory);transition:transform .5s var(--ease-out),opacity .3s}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:27px}
.nav.open .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.open .burger span:nth-child(2){opacity:0}
.nav.open .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:99;background:var(--m-900);padding:calc(var(--nav-h) + var(--sw-h) + 24px) var(--gut) 40px;display:flex;flex-direction:column;overflow:auto;
  clip-path:circle(0% at calc(100% - 42px) 42px);transition:clip-path .8s var(--ease-out);visibility:hidden}
.drawer.open{clip-path:circle(150% at calc(100% - 42px) 42px);visibility:visible}
.drawer a{font-family:var(--display);font-size:clamp(28px,7vw,40px);line-height:1.15;color:var(--ivory);text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(248,235,208,.1)}
.drawer a.sub{font-family:var(--sans);font-size:15px;letter-spacing:.04em;color:var(--ivory-dim);padding:10px 0 10px 18px;border-bottom:0}
.drawer a.btn{margin-top:28px;align-self:flex-start;font-family:var(--sans);font-size:12px;line-height:1;padding:0 22px;border-bottom:1px solid rgba(165,129,26,.6);white-space:normal;text-align:center}
@media(max-width:1100px){.nav-links{display:none}.burger{display:block}}
@media(max-width:860px){.nav-in{gap:.5rem}.brand-t{display:none}.switcher-in{justify-content:flex-start;gap:1.1rem;padding:0 5.5rem 0 1rem;overflow-x:auto;font-size:.7rem}}
@media(max-width:480px){.nav .nav-cta{display:none}}

/* ---------- page transition veil ---------- */
.veil{position:fixed;inset:0;z-index:250;pointer-events:none;background:var(--m-950);transform:scaleY(0);transform-origin:bottom}
.veil-mark{position:fixed;left:50%;top:50%;z-index:251;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;opacity:0;pointer-events:none}

/* ---------- hero (shared) ---------- */
.hero{position:relative;min-height:max(640px,100svh);display:flex;flex-direction:column;background:var(--m-950);color:var(--ivory);overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-media>img,.hero-media>picture>img,.hero-media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media video{opacity:0;transition:opacity 1.4s var(--ease)}
.hero-media video.live{opacity:1}
.hero-scrim{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(40,8,12,.82) 0%,rgba(40,8,12,.58) 30%,rgba(40,8,12,.18) 55%,rgba(26,5,8,0) 72%),
    linear-gradient(180deg,rgba(26,5,8,.55) 0%,transparent 22%,transparent 70%,rgba(26,5,8,.55) 100%)}
.hero-body{flex:1 1 auto;display:flex;align-items:center}
.hero-in{width:100%;max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:calc(var(--nav-h) + var(--sw-h) + 80px) var(--gut) 60px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(28px,4vw,64px)}
@media(min-width:1001px){.hero-side{margin-right:30px;padding-bottom:10px}}
.hero-kick{display:flex;align-items:center;gap:14px;margin:0 0 14px;font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-hi)}
.hero-kick::before{content:"";width:30px;height:1px;background:var(--gold)}
.hero-tib{font-size:clamp(17px,1.6vw,22px);color:#fff;margin:0 0 18px;letter-spacing:.02em;opacity:.95}
.hero h1{font-family:var(--display);font-weight:500;letter-spacing:-.015em;line-height:1.13;font-size:clamp(50px,6.2vw,90px);color:#FFF1D2}
.hero h1 .gilt{
  background:linear-gradient(175deg,#FFF8E6 0%,#FBEBC8 55%,#EFD9A8 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero h1 i{font-style:italic;font-weight:500}
.hero h1 .gold-i{font-style:italic;color:var(--gold);background:linear-gradient(170deg,#F2D57C,#C9A227 60%,#B58E1E);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.hero-rule{height:1px;width:min(520px,100%);background:linear-gradient(90deg,rgba(201,162,39,.8),rgba(201,162,39,.2));margin:26px 0 28px;transform-origin:left}
.hero-sub{font-family:var(--display);font-weight:500;font-size:clamp(17px,1.5vw,21px);letter-spacing:.06em;text-transform:uppercase;line-height:1.1;color:var(--gold-hi);margin:0 0 14px}
.hero-copy{max-width:520px;font-size:clamp(15px,1.1vw,16px);letter-spacing:.03em;line-height:1.8;color:rgba(255,248,236,.86)}
.hero-copy.w{max-width:660px;font-size:clamp(16px,1.2vw,18px);letter-spacing:.005em;color:#fff}
.hero-acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero-side{display:flex;align-items:center;gap:clamp(28px,4vw,66px)}
.hero-side .vline{width:1px;align-self:stretch;min-height:150px;background:linear-gradient(180deg,transparent,rgba(201,162,39,.75),transparent);transform-origin:top}
.hero-side .col{display:flex;flex-direction:column;gap:22px;max-width:390px}
.hero-side .col p{font-size:16.5px;line-height:2.1;color:#fff;margin:0}
.hero-play{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding-bottom:6px;text-decoration:none;border-bottom:1px solid rgba(201,162,39,.6);
  font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,248,236,.9);transition:color .3s,border-color .3s}
.hero-play:hover{color:var(--gold-hi);border-color:var(--gold-hi)}
.hero-play svg{width:9px;height:9px;color:var(--gold)}
.hero-fade{display:none}
.hero+.sec::after{content:"";position:absolute;left:0;right:0;top:0;height:200px;pointer-events:none;background:radial-gradient(55% 100% at 20% 0%,rgba(70,42,28,.2),rgba(70,42,28,.06) 50%,transparent 75%)}
.hero.short{min-height:max(620px,92svh)}
.hero h1.sm{font-size:clamp(46px,5.8vw,84px)}
@media(max-width:1000px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-side{flex-direction:column;align-items:flex-start;gap:24px}
  .hero-side .vline{display:none}
}
@media(max-width:700px){
  /* phones: the text covers the whole video, so use an even, lighter veil than desktop's
     (was .55–.92), lift the footage a little, and give the text its own shadow */
  .hero-scrim{background:linear-gradient(180deg,rgba(26,5,8,.55) 0%,rgba(26,5,8,.42) 30%,rgba(26,5,8,.46) 60%,rgba(32,6,10,.78) 100%)}
  .hero-in{padding-bottom:50px}
  .hero-in>*:not(.hero-acts):not(h1){text-shadow:0 1px 2px rgba(0,0,0,.7),0 2px 16px rgba(0,0,0,.55)}
  .hero h1{filter:drop-shadow(0 2px 10px rgba(0,0,0,.6))}
  /* inner pages (photo heroes): a deeper veil than the homepage video, so text reads on bright photos */
  body:not([data-page="home"]) .hero-scrim{background:linear-gradient(180deg,rgba(26,5,8,.62) 0%,rgba(26,5,8,.52) 35%,rgba(30,6,10,.74) 70%,rgba(32,6,10,.92) 100%)}
  /* the gold italic second line: lighter gold (the dark end vanished into the photo) */
  .hero h1 .gold-i{background:none;color:#F2D47E;-webkit-text-fill-color:#F2D47E}
  /* subtitle: sentence case, smaller, one calm line or two (all-caps ran to 4-5 lines) */
  .hero-sub{font-size:16.5px;line-height:1.45;letter-spacing:.01em;text-transform:none;color:#F3DD97}
  .hero-kick{font-size:11px;letter-spacing:.14em;line-height:1.6}
  .hero-kick::before{width:22px;flex:0 0 22px}
}
}

/* countdown ledge (home) */
.ledge{position:relative;z-index:1;background:rgba(26,5,8,.86);border-top:1px solid rgba(201,162,39,.22);backdrop-filter:blur(8px)}
.ledge-in{max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:22px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ledge-lbl{margin:0;font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(248,235,208,.7);line-height:1.6}
.ledge-lbl b{display:block;margin-top:6px;font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:.02em;text-transform:none;color:#fff}
.cd{display:flex;margin-right:clamp(0px,9vw,140px)}
.cd-u{min-width:94px;padding:0 20px;text-align:center;border-left:1px solid rgba(201,162,39,.25)}
.cd-u:first-child{border-left:0}
.cd-u b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(26px,2.4vw,34px);line-height:1.1;color:var(--gold-hi);font-variant-numeric:tabular-nums}
.cd-u span{font-family:var(--caps);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(248,235,208,.55)}
@media(max-width:640px){.cd{margin:0}.cd-u{min-width:0;padding:0 12px}}

/* ---------- mantra band ---------- */
.mantra{position:relative;overflow:hidden;padding:26px 0;background:linear-gradient(90deg,#1D0509,#4A101A 50%,#1D0509);border-block:1px solid rgba(201,162,39,.12)}
.mantra-track{display:flex;width:max-content;animation:marquee 60s linear infinite}
.mantra-track span{padding:0 clamp(80px,10vw,160px);white-space:nowrap;font-family:var(--caps);font-size:12px;letter-spacing:.22em;color:rgba(248,235,208,.32)}
.mantra.bright .mantra-track span{color:rgba(255,248,236,.85)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- facts row (home) ---------- */
.facts{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:clamp(56px,6vw,90px);border-top:1px solid rgba(122,38,32,.35);border-bottom:1px solid rgba(122,38,32,.35)}
.facts div{padding:26px 12px 26px 12px}
.facts dt{font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--verm);margin-bottom:8px}
.facts dd{margin:0;font-family:var(--title);font-size:17px;line-height:1.35;letter-spacing:.05em;color:#4F2520}
@media(max-width:1100px){.facts{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.facts{grid-template-columns:repeat(2,1fr)}}

/* ---------- mandala / progress (home) ---------- */
.mand-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(30px,6vw,110px);align-items:start;margin-top:clamp(60px,7vw,110px)}
.mand-stage{position:relative;width:min(470px,100%);aspect-ratio:1;margin:0 auto}
.mand-stage .mand-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-mask-image:radial-gradient(circle closest-side,#000 82%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 82%,transparent 100%)}
.mand-glow{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.26),rgba(110,33,28,.18) 45%,transparent 70%);filter:blur(10px)}
.mand-cap{text-align:center;margin-top:44px}
.mission-t{font-size:clamp(30px,3.1vw,46px);line-height:1.18}
.mand-cap p{font-style:italic;font-size:18px;line-height:2.05;color:rgba(255,248,236,.9);max-width:420px;margin:0 auto 34px}
.phases{list-style:none;margin:0;padding:0;border-top:1px solid rgba(201,162,39,.2)}
.phase{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:start;padding:22px 8px;border-bottom:1px solid rgba(201,162,39,.12);cursor:pointer;position:relative;transition:padding .5s var(--ease-out)}
.phase::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#5E3515,#4A2410);opacity:0;transition:opacity .5s var(--ease);z-index:0}
.phase>*{position:relative;z-index:1}
.phase.act::before{opacity:1}
.phase:hover{padding-left:16px}
.phase-n{font-family:var(--title);font-size:17px;color:var(--gold);padding-top:3px}
.phase-t{font-family:var(--title);font-size:clamp(18px,1.5vw,21px);line-height:1.3;color:var(--ivory)}
.phase-t em{display:block;margin-top:8px;font-family:var(--sans);font-style:normal;font-size:13.5px;line-height:1.5;color:rgba(248,235,208,.55);max-width:44ch}
.phase-s{font-weight:600;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding-top:6px;white-space:nowrap}
.s-done{color:var(--gold)}.s-now{color:#E27556}.s-wait{color:rgba(248,235,208,.4)}
@media(max-width:940px){.mand-grid{grid-template-columns:1fr}}
@media(max-width:560px){.phase{grid-template-columns:70px 1fr}.phase-s{grid-column:2}}

/* ---------- offering cards (home) ---------- */
.off-sec{overflow:hidden}
.off-sec .leaf{position:absolute;inset:0;pointer-events:none;background:url("../media/gal-temple-tall-700.webp") -6% 105%/46% auto no-repeat,url("../media/gal-hills-700.webp") 110% 100%/50% auto no-repeat;filter:sepia(1) saturate(.35) contrast(.85) brightness(1.15);opacity:.07;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 35%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 35%,#000 100%)}
.off-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:clamp(56px,6vw,80px)}
.off-halo{position:absolute;left:0;right:0;margin:0 auto;top:-120px;width:min(420px,90vw);height:300px;pointer-events:none;background:radial-gradient(closest-side,rgba(255,236,190,.9),rgba(255,225,160,.35) 45%,transparent);filter:blur(6px);opacity:.8}
.off-halo img{position:absolute;left:0;right:0;margin:0 auto;bottom:40px;width:160px;height:auto;opacity:.55;filter:sepia(.5) brightness(1.2)}
.card-m{
  position:relative;display:flex;flex-direction:column;padding:34px 32px 40px;min-height:390px;
  background:linear-gradient(170deg,#6A1F1B 0%,#58150F 55%,#4A0E0A 100%);color:var(--ivory);
  border:1px solid rgba(201,162,39,.28);overflow:hidden;
  transition:transform .7s var(--ease-out),box-shadow .7s var(--ease-out),border-color .5s;
}
.card-m::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 60% at 50% -10%,rgba(235,208,126,.18),transparent 60%);opacity:0;transition:opacity .6s}
.card-m:hover{transform:translateY(-8px);box-shadow:0 30px 60px -30px rgba(74,14,10,.8);border-color:rgba(235,208,126,.6)}
.card-m:hover::after{opacity:1}
.card-m .ico{width:30px;height:30px;color:var(--gold);margin-bottom:26px}
.card-m h3{font-family:var(--title);font-weight:400;font-size:clamp(22px,1.8vw,26px);line-height:1.35;margin-bottom:18px}
.card-m p{font-weight:300;font-size:15.5px;line-height:1.65;color:rgba(248,235,208,.7);flex:1}
.card-m .go{align-self:flex-start;margin-top:24px;padding-top:18px;border-top:1px solid rgba(201,162,39,.35);min-width:170px;
  font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-decoration:none;display:inline-flex;gap:8px;align-items:center;transition:color .3s,gap .4s var(--ease-out)}
.card-m .go:hover{color:var(--gold-hi);gap:14px}
.card-m .go::after{content:"→"}
.off-cta{display:flex;justify-content:center;margin-top:40px;position:relative}
@media(max-width:1100px){.off-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.off-grid{grid-template-columns:1fr}.card-m{min-height:0}}

/* ---------- three kayas (home) ---------- */
.kayas{position:relative;overflow:hidden;background:var(--m-900);color:var(--ivory);padding-bottom:0}
.kayas-bg{position:absolute;inset:0;background:url("../media/kayas-bg.webp") center/cover;opacity:.22}
.kayas::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--m-900) 0%,rgba(36,7,12,.4) 30%,rgba(36,7,12,.55) 70%,var(--m-900) 100%);pointer-events:none}
.kayas .wrap{position:relative;z-index:1}
.kaya-head{text-align:center;max-width:720px;margin:0 auto clamp(56px,6vw,80px)}
.kaya-head p{margin-top:26px;color:rgba(248,235,208,.7);font-size:clamp(16px,1.3vw,18px);line-height:2.05;text-align:left}
.kaya-stack{display:grid;gap:26px;max-width:1096px;margin:0 auto}
.kaya{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:clamp(18px,3vw,40px);padding:clamp(28px,3vw,44px) clamp(24px,3.5vw,42px) clamp(28px,3vw,44px) 0;border:1px solid rgba(201,162,39,.18);position:relative;overflow:hidden}
.kaya::before{content:"";position:absolute;inset:0;z-index:-1;transition:filter .6s,transform 1.2s var(--ease-out)}
.kaya-3::before{background:linear-gradient(95deg,#6A4A18 0%,#4F2A14 45%,rgba(60,16,20,.9) 100%)}
.kaya-2::before{background:linear-gradient(95deg,#7A2A1F 0%,#5A1C1A 50%,rgba(60,16,20,.9) 100%)}
.kaya-1::before{background:linear-gradient(95deg,#4E1422 0%,#3A0E18 55%,rgba(40,9,14,.95) 100%)}
.kaya:hover::before{filter:brightness(1.15)}
.kaya-tier{text-align:center}
.kaya-tier b{display:block;font-family:var(--title);font-weight:400;font-size:26px;color:var(--gold);line-height:1}
.kaya-tier span{display:block;margin-top:10px;font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(248,235,208,.45)}
.kaya h3{font-family:var(--title);font-weight:400;font-size:clamp(26px,2.4vw,34px);margin-bottom:10px;letter-spacing:.01em}
.kaya p{margin:0;max-width:56ch;font-size:clamp(15px,1.25vw,18px);line-height:2.05;color:rgba(248,235,208,.72)}
.kaya-d{text-align:right}
.kaya-d b{display:block;font-family:var(--title);font-weight:400;font-size:17px;color:var(--ivory)}
.kaya-d span{font-family:var(--caps);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(248,235,208,.35)}
@media(max-width:800px){.kaya{grid-template-columns:1fr;padding:28px 24px}.kaya-tier{text-align:left;display:flex;gap:14px;align-items:baseline}.kaya-tier span{margin:0}.kaya-d{text-align:left}}

/* ---------- doors open (home) ---------- */
.doors{position:relative;overflow:hidden;padding:0 0 clamp(90px,9vw,130px);background:linear-gradient(rgba(247,242,233,.66),rgba(247,242,233,.66)),url("../media/linen-750.jpg") 0 0/750px auto repeat,#F1EADD}
.doors-band{position:absolute;left:0;right:0;top:0;height:230px;background:var(--m-900)}
.doors-roof{position:relative;z-index:3;width:min(690px,78vw);margin:0 auto;padding-top:0;will-change:transform}
.doors-roof img{width:100%;height:auto;filter:drop-shadow(0 6px 8px rgba(40,10,5,.18))}
.door{position:absolute;top:270px;z-index:1;--dh:clamp(720px,73.6vw,1060px);height:var(--dh);width:calc(var(--dh) * .667);will-change:transform}
.door img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(40,10,5,.35))}
.door.l{left:calc(var(--dh) * -.41)}
.door.r{right:calc(var(--dh) * -.41)}
.door.r img{transform:scaleX(-1)}
.doors-shadow{position:absolute;z-index:1;left:0;right:0;margin:0 auto;top:0;width:min(690px,78vw);pointer-events:none}
.doors-shadow svg{display:block;width:100%;height:auto;overflow:visible}
@media(max-width:760px){.doors-shadow{opacity:.7}}
.doors-in{position:relative;z-index:2;max-width:560px;margin:10px auto 0;padding:0 20px;text-align:center}
.doors-date{font-weight:700;font-size:clamp(16px,1.4vw,20px);letter-spacing:.14em;color:#fff;text-shadow:0 1px 2px rgba(122,38,32,.5),0 0 20px rgba(122,38,32,.35);margin-bottom:22px}
.doors-in .lead-b{text-align:left;font-weight:700;margin:26px 0 44px}
.doors-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 26px;text-align:left}
.doors-grid div{border-top:1px solid rgba(180,70,47,.55);padding-top:20px}
.doors-grid b{display:block;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--verm);margin-bottom:6px}
.doors-grid span{font-size:15.5px;line-height:1.65;color:#5A2A22}
.doors-acts{display:flex;flex-direction:column;align-items:center;gap:26px;margin-top:56px}
@media(max-width:760px){.door{display:none}.doors-grid{grid-template-columns:1fr}.doors-band{height:220px}}

/* ---------- vista band ---------- */
.vista{position:relative;height:clamp(520px,58vw,760px);overflow:hidden;color:var(--ivory);background:var(--m-950)}
.vista img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;object-position:center 40%;will-change:transform}
.vista-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(60,20,24,.55) 0%,rgba(60,20,24,.15) 50%,transparent 75%),linear-gradient(180deg,rgba(40,10,14,.45),transparent 30%,transparent 65%,rgba(26,5,8,.6))}
.vista .wrap{position:relative;height:100%;display:flex;align-items:center}
.vista-row{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}
.vista h2{font-family:var(--display);font-weight:500;font-size:clamp(44px,5.4vw,78px);line-height:1.22;letter-spacing:-.015em;max-width:8.4em;text-shadow:0 4px 30px rgba(40,10,14,.55);color:#F6E7D0}
.vista p{max-width:420px;margin-top:22px;font-size:17px;line-height:2.1;color:rgba(255,248,236,.9);text-shadow:0 1px 14px rgba(40,10,14,.6)}
.vista .eyebrow{color:rgba(255,248,236,.85)}
.vista .eyebrow::before{background:var(--gold)}
.vista .vista-meta{max-width:none;text-shadow:none;text-align:right;font-weight:700;font-size:12px;letter-spacing:.18em;line-height:1.5;text-transform:uppercase;color:var(--gold-hi);align-self:center;margin-top:40px}
@media(max-width:760px){
  .vista-row{grid-template-columns:1fr;gap:22px}
  .vista .vista-meta{text-align:left;margin-top:0;font-size:10.5px;line-height:1.6;letter-spacing:.14em;font-weight:600}
  /* phones: smaller, calmer type (it filled the photo) */
  .vista .eyebrow{font-size:10.5px;letter-spacing:.14em;line-height:1.6;margin-bottom:14px}
  .vista h2{font-size:clamp(30px,8.6vw,38px);line-height:1.2}
  .vista p{font-size:15px;line-height:1.75;margin-top:14px;max-width:34ch}
  .vista-veil{background:linear-gradient(180deg,rgba(40,10,14,.55),rgba(40,10,14,.25) 40%,rgba(26,5,8,.65))}
}

/* ---------- lineage letters ---------- */
.pecha{list-style:none;margin:clamp(40px,5vw,60px) 0 0;padding:0;display:grid;gap:16px}
.pecha-item{background:var(--paper);border:1px solid rgba(122,38,32,.18);box-shadow:0 18px 40px -32px rgba(60,20,16,.6);position:relative;transition:box-shadow .5s}
.pecha-item:hover{box-shadow:0 26px 50px -30px rgba(60,20,16,.7)}
.pecha-item::before,.pecha-item::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:rgba(180,70,47,.28)}
.pecha-item::before{left:22px}.pecha-item::after{right:22px}
.pecha-btn{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:22px clamp(44px,5vw,64px);border:0;background:none;text-align:left;cursor:pointer}
.face{width:62px;height:62px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(122,38,32,.35),0 0 0 4px var(--paper),0 0 0 5px rgba(201,162,39,.6);flex:0 0 auto}
.face img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.pecha-btn h3{font-family:var(--title);font-weight:400;font-size:clamp(18px,1.6vw,22px);line-height:1.35;color:var(--wine)}
.pecha-rank{display:block;margin-bottom:6px;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--verm)}
.plus{width:22px;height:22px;position:relative;flex:0 0 auto}
.plus::before,.plus::after{content:"";position:absolute;background:var(--wine);transition:transform .5s var(--ease-out),opacity .3s}
.plus::before{left:0;right:0;top:50%;height:1px}
.plus::after{top:0;bottom:0;left:50%;width:1px}
.open>.pecha-btn .plus::after,.open>.faq-q .plus::after{transform:rotate(90deg);opacity:0}
.acc-panel{height:0;overflow:hidden;transition:height .35s cubic-bezier(.22,.61,.36,1)}
.pecha-inner{padding:0 clamp(44px,5vw,64px) 34px}
.pecha-inner hr{border:0;height:1px;background:rgba(180,70,47,.22);margin:0 0 24px}
.pecha-cols{display:grid;grid-template-columns:1fr minmax(170px,230px);gap:clamp(24px,4vw,48px);align-items:start}
.pecha-inner p{color:#4F2520;line-height:1.95}
.colophon{font-style:italic;font-size:14.5px;color:var(--wine-2);border-left:1px solid rgba(180,70,47,.45);padding-left:16px;margin-top:20px}
.scan{margin:0}
.scan button{display:block;width:100%;padding:0;border:1px solid rgba(122,38,32,.25);background:#fff;cursor:zoom-in;box-shadow:0 14px 30px -20px rgba(60,20,16,.7);transition:transform .5s var(--ease-out)}
.scan button:hover{transform:translateY(-4px) rotate(-.6deg)}
.scan img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top}
.scan figcaption{margin-top:12px;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--verm)}
@media(max-width:760px){.pecha-cols{grid-template-columns:1fr}.pecha-btn{grid-template-columns:auto 1fr;padding:20px 40px}.pecha-btn .plus{display:none}}

/* ---------- home gallery teaser ---------- */
.works{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;gap:24px 24px;margin-top:56px}
.works .w1{grid-column:1/3;aspect-ratio:608/446}
.works .w2{grid-column:3/5;grid-row:1/3}
.works .w3{grid-column:1/2;aspect-ratio:292/244}
.works .w4{grid-column:2/3;aspect-ratio:292/244}
.works .w5{grid-column:1/3;aspect-ratio:608/446}
.works .w6{grid-column:3/5;aspect-ratio:608/446}
.tile{position:relative;display:block;overflow:hidden;background:var(--m-900);border:0;padding:0;cursor:zoom-in;text-align:left;color:var(--ivory)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease-out),filter .8s}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,8,12,.05) 35%,rgba(40,8,12,.82) 100%);transition:opacity .6s}
.tile:hover img{transform:scale(1.06)}
a.tile{cursor:pointer;text-decoration:none}
.tile-cap{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(18px,2vw,26px)}
.tile-cap span{display:block;font-weight:700;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.tile-cap b{display:block;font-family:var(--title);font-weight:400;font-size:clamp(18px,1.7vw,24px);line-height:1.3}
@media(max-width:760px){.works{grid-template-columns:1fr 1fr}.works .w1,.works .w2,.works .w5,.works .w6{grid-column:1/3;grid-row:auto;aspect-ratio:4/3}.works .w3,.works .w4{grid-column:auto}}

/* ---------- FAQ ---------- */
.faq{background:var(--m-850);color:var(--ivory)}
.faq-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(30px,5vw,56px);align-items:start}
.faq-aside{position:sticky;top:120px}
.faq-aside p:not(.eyebrow){margin-top:40px;max-width:360px;font-size:17px;line-height:2.1;color:rgba(248,235,208,.5)}
.faq-list{border-top:1px solid rgba(201,162,39,.22)}
.faq-item{border-bottom:1px solid rgba(201,162,39,.16)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border:0;background:none;cursor:pointer;text-align:left;
  font-family:var(--title);font-size:clamp(18px,1.5vw,21px);line-height:1.4;color:var(--ivory);transition:color .3s,padding .5s var(--ease-out)}
.faq-q:hover{color:var(--gold-hi);padding-left:8px}
.faq-q .chev{width:16px;height:16px;color:var(--gold);flex:0 0 auto;margin-right:90px;transition:transform .6s var(--ease-out)}
.faq-item.open .chev{transform:rotate(180deg)}
.faq-a-in{padding:0 90px 28px 0;color:rgba(248,235,208,.66);font-size:16px;line-height:1.95}
.faq-a-in a{color:var(--gold-hi)}
@media(max-width:900px){.faq-grid{grid-template-columns:1fr}.faq-aside{position:static}.faq-q .chev{margin-right:0}.faq-a-in{padding-right:0}}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,6vw,90px);align-items:start}
.contact-grid .body-lg{max-width:420px;margin-top:32px;color:#2A1210}
.contact-links{margin-top:50px;display:grid;gap:6px}
.contact-links a{color:#2A1210;font-size:16px;text-underline-offset:3px}
.form-card{background:var(--paper);border:1px solid rgba(122,38,32,.2);padding:clamp(24px,2.6vw,32px) clamp(20px,2.4vw,30px) 40px;box-shadow:0 30px 60px -44px rgba(60,20,16,.6)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.f-full{grid-column:1/-1}
.form-card label{display:block;margin-bottom:10px;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--wine)}
.form-card input,.form-card select,.form-card textarea{width:100%;min-height:56px;padding:14px 16px;border:1px solid rgba(122,38,32,.3);background:#fff;font:inherit;font-size:16px;color:#2A1210;transition:border-color .3s,box-shadow .3s;border-radius:0;-webkit-appearance:none;appearance:none}
.form-card select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%237A2620' stroke-width='1.4'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") calc(100% - 18px) 50%/12px no-repeat}
.form-card textarea{min-height:130px;resize:vertical}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:none;border-color:var(--wine);box-shadow:0 0 0 3px rgba(122,38,32,.1)}
.fcheck{display:flex;align-items:center;gap:14px;font-size:16px;color:#5A3A34}
.fcheck input{width:22px;min-height:22px;height:22px;padding:0;flex:0 0 auto;accent-color:var(--wine);-webkit-appearance:auto;appearance:auto}
.fnote{margin-top:22px;font-style:italic;font-size:13px;color:#4F2520}
.fmsg{display:none;margin-top:18px;padding:14px 16px;border:1px solid var(--gold);background:rgba(201,162,39,.1);font-size:15px}
.fmsg.show{display:block}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}

/* ---------- CTA band (subpages) ---------- */
.cta-band{padding:clamp(90px,10vw,140px) 0}
.cta-band .split{align-items:start}
.cta-band p{font-size:clamp(16px,1.3vw,18.5px);line-height:2.05;color:rgba(255,248,236,.92);max-width:600px;margin-bottom:34px}
.cta-band .eyebrow{color:rgba(248,235,208,.6)}
.cta-band .eyebrow::before{background:var(--gold)}

/* ---------- footer ---------- */
.foot{background:#2C0B10;color:rgba(248,235,208,.82);font-family:var(--outfit)}
.foot-in{max-width:calc(1268px + var(--gut)*2);margin:0 auto;padding:clamp(56px,6vw,96px) clamp(20px,6vw,86px) 48px}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,60px)}
.foot-col h4{margin:0 0 18px;font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:.01em;color:#EBC98A}
.foot-col a{display:block;width:max-content;margin-bottom:10px;font-weight:300;font-size:15px;color:rgba(248,235,208,.8);text-decoration:none;transition:color .3s,transform .4s var(--ease-out)}
.foot-col a:hover{color:#F6DCA4;transform:translateX(3px)}
.foot-rule{height:1px;background:rgba(201,162,39,.32);margin:clamp(40px,4vw,56px) 0 34px}
.foot-bot{display:flex;align-items:center;gap:22px}
.foot-bot img{width:62px;height:62px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.foot-bot p{margin:0;font-weight:300;font-size:14.5px;line-height:1.6;color:rgba(248,235,208,.82)}
.foot-reach{display:flex;flex-wrap:wrap;gap:6px 34px;margin-top:8px !important}
.foot-reach a,.foot-reach span{display:inline-flex;align-items:center;gap:10px;color:rgba(248,235,208,.82);text-decoration:none}
.foot-reach span a{display:inline}
.foot-reach a:hover{color:#F6DCA4}
.foot-reach svg{width:16px;height:16px;color:#E1B359;flex:0 0 auto}
@media(max-width:760px){.foot-cols{grid-template-columns:1fr 1fr}.foot-cols .foot-col:last-child{grid-column:1/-1}.foot-bot{align-items:flex-start}}

/* whatsapp bubble */
.wa{position:fixed;right:clamp(16px,2.4vw,28px);bottom:clamp(16px,2.4vw,28px);z-index:90;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#1E0A06;
  background:linear-gradient(150deg,#EAD27F,#C9A227 60%,#A5811A);box-shadow:0 14px 34px -12px rgba(201,162,39,.85);transition:transform .5s var(--ease-out)}
.wa:hover{transform:translateY(-3px) scale(1.06)}
.wa svg{width:24px;height:24px}

/* ---------- lightbox & video modal ---------- */
.lb{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:clamp(16px,4vw,60px);background:rgba(20,4,8,.94);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s}
.lb.open{opacity:1;visibility:visible}
.lb figure{margin:0;max-width:min(1200px,100%);text-align:center}
.lb img{max-width:100%;max-height:80vh;margin:0 auto;object-fit:contain;box-shadow:0 40px 90px -30px #000;transform:scale(.96);transition:transform .6s var(--ease-out)}
.lb.open img{transform:none}
.lb figcaption{margin-top:18px;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.lb-btn{position:absolute;width:48px;height:48px;border:1px solid rgba(201,162,39,.5);background:rgba(26,5,8,.5);color:var(--gold-hi);cursor:pointer;display:grid;place-items:center;transition:background .3s,border-color .3s}
.lb-btn:hover{background:rgba(201,162,39,.16);border-color:var(--gold)}
.lb-btn svg{width:18px;height:18px}
.lb-x{top:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px)}
.lb-prev{left:clamp(10px,2vw,28px);top:50%;margin-top:-24px}
.lb-next{right:clamp(10px,2vw,28px);top:50%;margin-top:-24px}
.lb-count{position:absolute;left:50%;bottom:clamp(14px,3vw,28px);transform:translateX(-50%);font-family:var(--caps);font-size:12px;letter-spacing:.2em;color:rgba(248,235,208,.6)}
.lb.single .lb-prev,.lb.single .lb-next,.lb.single .lb-count{display:none}
.vm-frame{width:min(1100px,92vw);aspect-ratio:16/9;background:#000;box-shadow:0 40px 90px -30px #000}
.vm-frame iframe{width:100%;height:100%;border:0}

/* ---------- light-a-lamp ---------- */
.why-quote{font-family:var(--title);font-size:clamp(22px,2.2vw,31px);line-height:1.6;color:var(--verm)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(50px,5vw,70px);border-top:1px solid rgba(122,38,32,.4);border-bottom:1px solid rgba(122,38,32,.4)}
.pillar{padding:40px 12px 90px;border-left:1px solid rgba(122,38,32,.4)}
.pillar:first-child{border-left:0}
.pillar+.pillar{padding-left:32px}
.pillar svg{width:24px;height:24px;color:var(--verm);margin-bottom:28px}
.pillar small{display:block;font-weight:600;font-size:12px;letter-spacing:.16em;color:var(--verm)}
.pillar h3{font-family:var(--title);font-weight:400;font-size:clamp(26px,2.3vw,34px);letter-spacing:.02em;color:#3A1612;margin:4px 0 8px}
.pillar p{font-size:16px;color:#3A1612}
@media(max-width:820px){.pillars{grid-template-columns:1fr}.pillar,.pillar+.pillar{border-left:0;border-top:1px solid rgba(122,38,32,.3);padding:30px 0 40px}.pillar:first-child{border-top:0}}

.poster{position:relative;display:block;width:min(1081px,100%);margin:clamp(56px,6vw,80px) auto 0;padding:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .33 0 0 0 0 .2 0 0 0 .075 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),#E6D9BF;box-shadow:0 40px 80px -40px rgba(0,0,0,.8);border:0;cursor:pointer}
.poster-in{position:relative;display:block;overflow:hidden}
.poster img{width:100%;transition:transform 1.4s var(--ease-out)}
.poster:hover img{transform:scale(1.025)}
.yt{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;transition:transform .5s var(--ease-out)}
.poster:hover .yt{transform:scale(1.12)}
.yt::before{content:"";position:absolute;inset:-14px;border-radius:18px;border:1px solid rgba(255,255,255,.6);opacity:0;animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%{opacity:.8;transform:scale(.85)}100%{opacity:0;transform:scale(1.35)}}

.checks{list-style:none;margin:36px 0 0;padding:0;max-width:540px}
.checks li{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(180,70,47,.55);font-size:17px;color:#2A1210}
.checks svg{width:24px;height:24px;flex:0 0 auto}
.price-card{position:relative;padding:clamp(34px,4vw,54px);min-height:min(656px,100%);background:linear-gradient(175deg,#6B221E 0%,#4A1215 55%,#2A0508 100%);color:var(--ivory);box-shadow:0 30px 60px -30px rgba(40,6,10,.85);overflow:hidden}
.price-card::after{content:"";position:absolute;right:-30%;top:-30%;width:80%;height:80%;background:radial-gradient(closest-side,rgba(235,208,126,.16),transparent);pointer-events:none}
.price-card .flame{width:34px;height:34px;color:var(--gold-hi)}
.price-card .price-amt{max-width:none;margin-top:60px;font-family:var(--display);font-weight:500;font-size:clamp(64px,6vw,86px);line-height:1;color:var(--gold-hi)}
.price-card h3{margin:14px 0 14px;font-family:var(--title);font-weight:400;font-size:clamp(26px,2.4vw,34px);letter-spacing:.02em}
.price-card p{font-size:17px;line-height:2.05;color:rgba(255,248,236,.9);max-width:520px}
.secure{display:flex;align-items:center;gap:10px;margin-top:20px;font-family:Georgia,serif;font-size:14px;color:rgba(248,235,208,.6)}
.secure svg{width:20px;height:20px}
.quote-band{position:relative;overflow:hidden;padding:clamp(90px,9vw,130px) 0;text-align:center;background:#3A0A10 url("../media/brocade.jpg") center/cover;color:var(--ivory)}
.quote-band::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 140% at 50% 50%,transparent 40%,rgba(20,3,6,.6) 100%)}
.quote-band>*{position:relative;z-index:1}
.quote-band .bg{position:absolute;inset:-10% 0;background-size:cover;background-position:center;opacity:.14;filter:blur(3px) saturate(.8);will-change:transform}
.quote-band blockquote{position:relative;margin:0 auto;max-width:860px;padding:0 20px;font-family:var(--title);font-size:clamp(22px,2.3vw,32px);line-height:1.55;letter-spacing:.02em}
.quote-band .rule{width:98px;height:1px;background:rgba(248,235,208,.6);margin:40px auto 30px}
.quote-band cite{font-family:var(--title);font-style:normal;font-size:clamp(20px,1.8vw,26px);color:rgba(248,235,208,.6)}
.quote-band.grad{background:linear-gradient(180deg,#2B0810,#4A1414 60%,#2B0810)}

/* ---------- final touch / sponsor ---------- */
.includes h4{font-weight:600;font-size:13.5px;letter-spacing:.16em;text-transform:uppercase;color:#1E0A06;padding-bottom:18px;border-bottom:1px solid rgba(180,70,47,.55)}
.inc{display:grid;grid-template-columns:62px 1fr;gap:28px;padding:22px 0 22px 18px;border-bottom:1px solid rgba(180,70,47,.55)}
.inc svg{width:36px;height:36px;color:var(--verm);margin-top:4px}
.inc h3{font-family:var(--title);font-weight:400;font-size:clamp(20px,1.8vw,25px);color:var(--wine);letter-spacing:.01em;margin-bottom:8px}
.inc p{font-size:15.5px;color:#2A1210}
.note-bar{margin-top:28px;padding:6px 0 6px 18px;border-left:3px solid rgba(180,70,47,.7);font-family:var(--lead);font-weight:700;font-size:18px;line-height:1.95;color:var(--wine)}
.amounts{margin-top:36px;border-top:1px solid rgba(180,70,47,.55)}
.amt{display:grid;grid-template-columns:130px 1fr auto;align-items:center;padding:14px 0;border-bottom:1px solid rgba(180,70,47,.55);text-decoration:none;color:inherit;transition:padding .5s var(--ease-out),background .4s}
.amt:hover{padding-left:14px;background:rgba(122,38,32,.05)}
.amt b{font-family:var(--display);font-weight:500;font-size:34px;color:var(--wine)}
.amt span{font-weight:600;font-size:18px;color:#1E0A06}
.amt i{font-style:normal;color:var(--verm);opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .4s var(--ease-out)}
.amt:hover i{opacity:1;transform:none}
.shield-note{display:flex;gap:16px;align-items:flex-start;margin-top:36px;font-size:14px;letter-spacing:.08em;line-height:1.95;color:var(--wine)}
.shield-note svg{width:22px;height:22px;flex:0 0 auto;margin-top:2px;color:var(--wine)}
.dbox{background:#fff;min-height:620px;padding:0;box-shadow:0 30px 60px -44px rgba(60,20,16,.6);display:flex;flex-direction:column}
.dbox-meter{padding:0 0 12px}
.dbox-body{display:flex;justify-content:center;padding:0 12px 24px;flex:1}
.dbox-fallback{margin-top:22px;padding:4px 0 4px 22px;border-left:1px solid rgba(180,70,47,.6)}
.dbox-fallback p{font-size:14px;letter-spacing:.06em;color:var(--wine);margin-bottom:14px}
.dbox-fallback a{font-weight:600;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--verm);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.nums{list-style:none;margin:0;padding:0;counter-reset:n}
.nums li{counter-increment:n;display:flex;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(180,70,47,.45);font-size:17px;color:#2A1210}
.nums li::before{content:counter(n);flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#fff;font-size:14px;font-weight:500}
.nums-h{font-weight:600;font-size:13.5px;letter-spacing:.16em;text-transform:uppercase;color:#1E0A06;margin-bottom:6px}
.memo{margin-top:36px;padding:4px 0 4px 18px;border-left:1px solid rgba(180,70,47,.6)}
.memo b{display:block;font-weight:600;font-size:17px;color:#1E0A06;margin-bottom:10px}
.memo span{font-weight:600;font-size:17px;color:var(--wine)}
.wire{position:relative;padding:clamp(30px,3.6vw,54px);background:linear-gradient(175deg,#6B221E 0%,#4A1215 55%,#2A0508 100%);color:var(--ivory);box-shadow:0 30px 60px -30px rgba(40,6,10,.85)}
.wire-top small{display:block;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(248,235,208,.6)}
.wire-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.wire-top h3{margin-top:22px;font-family:var(--title);font-weight:400;font-size:clamp(26px,2.4vw,34px);letter-spacing:.02em}
.wire-top svg{width:34px;height:34px;color:rgba(248,235,208,.6);flex:0 0 auto}
.wire dl{margin:40px 0 0;border-top:1px solid rgba(248,235,208,.12)}
.wire dl div{display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid rgba(248,235,208,.12)}
.wire dt{font-size:17px;color:rgba(248,235,208,.55)}
.wire dd{margin:0;font-weight:600;font-size:17px}
.copy{border:1px solid rgba(248,235,208,.2);background:none;color:rgba(248,235,208,.6);cursor:pointer;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;opacity:0;transition:opacity .3s,color .3s,border-color .3s}
.wire dl div:hover .copy,.copy:focus-visible,.copy.done{opacity:1}
.copy:hover{color:var(--gold-hi);border-color:var(--gold)}
.copy.done{color:var(--gold-hi);border-color:var(--gold)}
.wire-memo{margin-top:26px;padding:20px 34px;border:1px solid rgba(248,235,208,.2);background:rgba(0,0,0,.12)}
.wire-memo small{display:block;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(248,235,208,.6);margin-bottom:10px}
.wire-memo span{font-size:18px}
.wire-note{display:flex;gap:14px;margin-top:22px;font-family:Georgia,serif;font-size:14px;line-height:1.7;color:rgba(248,235,208,.6)}
.wire-note svg{width:18px;height:18px;flex:0 0 auto;color:var(--verm);margin-top:2px}
.help-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:40px;padding:36px 12px;border-top:1px solid rgba(180,70,47,.55);border-bottom:1px solid rgba(180,70,47,.55)}
.help-row h3{font-family:var(--title);font-weight:400;font-size:clamp(20px,1.9vw,26px);color:var(--verm)}
.help-row p{font-size:16.5px;color:#1E0A06;margin-top:4px}
.help-acts{display:flex;gap:24px;flex-wrap:wrap}
.help-acts .btn{min-width:300px}
@media(max-width:560px){.wire dl div{grid-template-columns:1fr auto}.wire dt{grid-column:1/-1}.help-acts .btn{min-width:0;width:100%}.amt{grid-template-columns:100px 1fr}}

/* ---------- gallery page ---------- */
.chapters{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(40px,4vw,50px);padding:14px 12px;border-top:1px solid rgba(180,70,47,.4);border-bottom:1px solid rgba(180,70,47,.4)}
.chip{min-height:42px;padding:0 20px;font-size:11px !important;border:1px solid var(--wine);background:transparent;cursor:pointer;font-weight:600;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--wine);transition:background .35s,color .35s,transform .4s var(--ease-out)}
.chip:hover{transform:translateY(-2px);background:rgba(122,38,32,.07)}
.chip[aria-pressed="true"]{background:var(--wine);color:var(--ivory)}
.showing{margin-top:40px;font-size:17px;color:var(--body-soft)}
.masonry{margin-top:40px;columns:2;column-gap:22px}
.m-item{break-inside:avoid;margin:0 0 22px;display:block;width:100%;padding:0;border:0;background:#E7DCCB;cursor:zoom-in;overflow:hidden;position:relative}
.m-item img{width:100%;height:auto;transition:transform 1.4s var(--ease-out),filter .8s}
.m-item:hover img{transform:scale(1.04)}
.m-item::after{content:attr(data-label);position:absolute;left:0;right:0;bottom:0;padding:40px 18px 14px;background:linear-gradient(180deg,transparent,rgba(40,8,12,.75));color:var(--ivory);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .6s var(--ease-out)}
.m-item:hover::after{opacity:1;transform:none}
@media(max-width:620px){.masonry{columns:1}}

/* ---------- motion defaults (only when JS animation layer is live) ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}
  html.anim [data-reveal]{opacity:1}
  html.anim [data-img]{clip-path:none}
}
.m-item[hidden]{display:none}

/* ---------- small-screen hardening (Fold cover 280–344, iPhone SE) ---------- */
.mand-grid>*,.contact-grid>*,.faq-grid>*,.hero-grid>*{min-width:0}
@media(max-width:900px){.mand-grid,.contact-grid,.faq-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){
  .btn{white-space:normal;text-align:center;line-height:1.35;padding:12px 20px}
  .btn-wide,.help-acts .btn,.hero-side .col .btn{width:100%;min-width:0 !important}
  .help-acts{width:100%}
  .amt{grid-template-columns:96px minmax(0,1fr)}
  .amt b{font-size:28px}
  .wire{padding:26px 20px}
  .wire-memo{padding:16px 18px}
  .price-card{padding:30px 22px}
  .faq-q{font-size:17px}
}
@media(max-width:380px){
  .cd-u{padding:0 8px;min-width:0}
  .cd-u b{font-size:22px}
  .cd-u span{font-size:8.5px;letter-spacing:.12em}
  .hero h1{font-size:clamp(40px,13vw,54px)}
  .hero h1.sm{font-size:clamp(36px,11.5vw,46px)}
  .h-display,.h-display.xl,.h-display.md{font-size:clamp(34px,11vw,46px)}
  .eyebrow{letter-spacing:.14em}
  .chip{padding:0 14px;letter-spacing:.1em}
}
@media(max-width:760px){.doors-date{color:var(--verm);text-shadow:none}}

/* =====================================================================
   v2 — components for Ceremony, History, Light Offering, Support, Gallery overview
   ===================================================================== */
.s-cream-grad{background:radial-gradient(90% 80% at 20% 0%,#FBF5EA,transparent 60%),linear-gradient(135deg,#F8F0E3,#EFE4D2);color:var(--body-ink)}
.h-plain{font-family:var(--display);font-weight:600;letter-spacing:-.035em;line-height:1.13;color:#3A0F12;font-size:clamp(42px,5.2vw,76px)}
.s-dark .h-plain,.s-brocade .h-plain,.on-dark .h-plain,.register .h-plain,.joinus .h-plain{color:#F8EBD0}
.kick{display:block;margin:0 0 18px;font-family:var(--outfit);font-weight:500;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:#A07D2C}
.on-dark .kick,.s-dark .kick,.s-brocade .kick{color:var(--gold)}
.link-g{display:inline-flex;gap:10px;align-items:center;padding-bottom:6px;text-decoration:none;font-family:var(--outfit);font-weight:400;font-size:15px;color:var(--gold-hi);background:linear-gradient(currentColor,currentColor) 0 100%/34% 1px no-repeat;transition:background-size .5s var(--ease-out)}
.link-g:hover{background-size:100% 1px}
.link-caps{display:inline-flex;gap:10px;align-items:center;padding-bottom:7px;text-decoration:none;font-family:var(--sans);font-weight:600;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-hi);background:linear-gradient(currentColor,currentColor) 0 100%/60% 1px no-repeat;transition:background-size .5s var(--ease-out)}
.link-caps:hover{background-size:100% 1px}
.link-caps.dark{color:var(--wine)}
.btn-frame{color:var(--ivory);background:transparent;border-color:rgba(201,162,39,.75);border-left:3px solid var(--gold)}
.btn-frame:hover{background:rgba(201,162,39,.12)}
.btn-cream{color:#1E0A06;background:linear-gradient(135deg,#F7EEDC,#EADBC0);border-color:var(--wine)}
.btn-cream:hover{transform:translateY(-2px);box-shadow:0 16px 30px -18px rgba(60,20,16,.7)}
.btn-lg{--bh:58px;padding:0 34px;font-size:13.5px}

/* hero variants */
.hero.h-mid{min-height:max(620px,88svh)}
.hero.h-low{min-height:max(560px,74svh)}
.hero .crumb{display:flex;gap:10px;margin:0 0 26px;font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-hi)}
.hero .crumb a{color:inherit;text-decoration:none}
.hero .crumb a:hover{color:#fff}
.hero-date{text-transform:uppercase;font-family:var(--display);font-size:clamp(26px,2.6vw,38px);letter-spacing:.04em;color:var(--gold-hi);margin:14px 0 26px}
.hero-sub2{font-family:var(--title);font-weight:400;font-size:clamp(22px,2.2vw,32px);line-height:1.4;color:var(--gold-hi);margin:6px 0 0}
.hero .hero-copy.lg{max-width:620px;font-size:clamp(16px,1.25vw,18px);line-height:2.05;letter-spacing:.005em;color:#fff}
.scrim-night{background:linear-gradient(90deg,rgba(18,8,30,.82) 0%,rgba(18,8,30,.55) 35%,rgba(18,8,30,.08) 65%,transparent 80%),linear-gradient(180deg,rgba(10,5,18,.35),transparent 30%,transparent 75%,rgba(10,5,18,.45)) !important}
.scrim-dusk{background:linear-gradient(90deg,rgba(26,5,8,.82) 0%,rgba(26,5,8,.5) 45%,rgba(26,5,8,.15) 70%),linear-gradient(180deg,rgba(26,5,8,.5),transparent 25%,transparent 70%,rgba(26,5,8,.85) 100%) !important}

/* countdown big (ceremony) */
.cd-big-wrap{text-align:center;padding:clamp(80px,9vw,130px) 0}
.cd-lede{max-width:460px;margin:0 auto;font-family:var(--display);font-style:italic;font-size:clamp(20px,1.7vw,24px);line-height:1.45;color:var(--wine)}
.cd-big{display:flex;justify-content:center;gap:clamp(24px,6vw,90px);margin:clamp(40px,4vw,60px) 0 30px}
.cd-big div{text-align:center;min-width:clamp(64px,9vw,130px)}
.cd-big b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(56px,6.6vw,96px);line-height:1;color:#3A0F12;font-variant-numeric:tabular-nums}
.cd-big span{display:block;margin-top:18px;font-family:var(--outfit);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:#A07D2C}
.cd-note{max-width:520px;margin:0 auto;font-size:15.5px;line-height:1.75;color:#5A3A34}

/* stats band */
.stats{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,5vw,80px);align-items:center;padding-top:clamp(80px,8vw,110px);padding-bottom:clamp(80px,8vw,110px)}
.stats p{color:rgba(248,235,208,.82);font-size:clamp(16px,1.25vw,18px);line-height:2;max-width:600px}
.stats small{display:block;margin:12px 0 26px;font-size:14px;line-height:1.8;color:rgba(248,235,208,.55);max-width:560px}
.stat{border-left:1px solid rgba(201,162,39,.7);padding:4px 0 6px 28px}
.stat+.stat{margin-top:40px}
.stat b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(56px,6vw,84px);line-height:1;color:#E8C778}
.stat span{display:block;margin-top:12px;font-family:var(--outfit);font-size:16px;letter-spacing:.04em;color:rgba(248,235,208,.82)}
@media(max-width:800px){.stats{grid-template-columns:1fr}}

/* gathering facts */
.figure-wide{margin:clamp(40px,5vw,60px) 0 0;box-shadow:0 30px 60px -36px rgba(40,10,5,.55);overflow:hidden}
.figure-wide img{width:100%;aspect-ratio:1252/500;object-fit:cover}
.gfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,4vw,56px);margin-top:56px}
.gfacts div{border-top:1px solid rgba(58,15,18,.55);padding:26px 0 30px}
.gfacts dt{font-family:var(--outfit);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#3A0F12;margin-bottom:12px}
.gfacts dd{margin:0;font-family:var(--display);font-size:clamp(19px,1.5vw,22px);line-height:1.5;color:#3A0F12}
.gfacts .wide{grid-column:span 2}
@media(max-width:760px){.gfacts{grid-template-columns:1fr}.gfacts .wide{grid-column:auto}}

/* ceremony program */
.cer-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,6vw,90px);align-items:start;padding-top:clamp(70px,7vw,100px);padding-bottom:clamp(90px,8vw,120px)}
.cer-grid>div>p{color:rgba(248,235,208,.82);font-size:clamp(16px,1.25vw,18px);line-height:2.05;margin-top:30px}
.prog-h{margin:46px 0 22px;font-family:var(--display);font-size:clamp(24px,2vw,28px);color:#EBC98A}
.prog{list-style:none;margin:0;padding:0 0 0 28px;border-left:1px solid rgba(201,162,39,.5)}
.prog li{position:relative;padding-bottom:30px}
.prog li::before{content:"";position:absolute;left:-33px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.prog small{display:block;font-family:var(--outfit);font-size:13px;letter-spacing:.16em;color:var(--gold)}
.prog b{display:block;margin-top:4px;font-family:var(--display);font-weight:500;font-size:clamp(19px,1.6vw,22px);line-height:1.4;color:#F8EBD0}
.cer-note{font-family:var(--outfit);font-size:15px;line-height:1.7;color:rgba(248,235,208,.6) !important;margin:6px 0 28px !important;max-width:500px}
.arch{position:relative;border:1px solid rgba(201,162,39,.5);border-radius:999px 999px 0 0;padding:0;overflow:hidden;aspect-ratio:496/740;box-shadow:0 40px 70px -40px #000}
.arch img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
@media(max-width:860px){.cer-grid{grid-template-columns:1fr}.arch{max-width:420px}}

/* pilgrimage cards */
.pil-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:clamp(40px,5vw,60px)}
.pil{position:relative;display:flex;flex-direction:column;min-height:260px;padding:30px 26px;text-decoration:none;color:inherit;background:rgba(255,253,249,.7);border:1px solid rgba(122,38,32,.2);transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out),border-color .4s}
.pil:hover{transform:translateY(-6px);box-shadow:0 30px 50px -36px rgba(60,20,16,.6);border-color:rgba(122,38,32,.5)}
.pil svg{width:30px;height:30px;color:var(--verm);margin-bottom:24px}
.pil h3{font-family:var(--title);font-weight:400;font-size:22px;color:var(--wine);margin-bottom:10px}
.pil p{font-size:15px;line-height:1.7;color:#5A3A34;flex:1}
.pil span{margin-top:20px;font-weight:600;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--verm)}
@media(max-width:1000px){.pil-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pil-grid{grid-template-columns:1fr}}

/* register band */
.register{position:relative;overflow:hidden;text-align:center;padding:clamp(150px,13vw,190px) 20px clamp(160px,14vw,210px);color:var(--ivory);background:radial-gradient(70% 90% at 50% 100%,#6A1E24 0%,#43101A 45%,#260710 100%)}
.register .art{position:absolute;left:0;right:0;margin:0 auto;bottom:-6%;width:min(1300px,150vw);opacity:.8;pointer-events:none;mix-blend-mode:screen}
.register .art img{width:100%}
.register h2{position:relative}
.register p{position:relative;max-width:660px;margin:26px auto 40px;font-size:clamp(16px,1.25vw,18px);line-height:2.05;color:rgba(248,235,208,.82)}
.register .btn{position:relative}
.register small{position:relative;display:block;margin-top:26px;font-family:var(--outfit);font-size:14.5px;color:rgba(248,235,208,.6)}
.register small a{color:var(--gold-hi)}

/* news list */
.news{margin-top:50px;border-top:1px solid rgba(58,15,18,.25)}
.news-row{display:grid;grid-template-columns:170px minmax(0,.9fr) minmax(0,1.1fr) 60px;gap:20px;align-items:start;padding:30px 8px;border-bottom:1px solid rgba(58,15,18,.25);text-decoration:none;color:inherit;transition:background .4s,padding .5s var(--ease-out)}
.news-row:hover{background:rgba(122,38,32,.05);padding-left:18px}
.news-row small{font-family:var(--outfit);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#A07D2C;padding-top:4px}
.news-row b{font-family:var(--display);font-weight:500;font-size:clamp(21px,1.7vw,24px);color:#3A0F12;line-height:1.3}
.news-row p{margin:0;font-family:var(--outfit);font-weight:300;font-size:15.5px;line-height:1.6;color:#4F2520}
.news-row i{font-style:normal;font-family:var(--outfit);font-size:14px;color:var(--wine);text-align:right;padding-top:4px}
@media(max-width:860px){.news-row{grid-template-columns:1fr;gap:6px}.news-row i{text-align:left}}

/* help box */
.helpbox{max-width:800px;margin:0 auto;padding:clamp(40px,5vw,70px) clamp(24px,5vw,70px);text-align:center;background:rgba(26,4,8,.78);border:1px solid rgba(201,162,39,.4);outline:1px solid rgba(201,162,39,.25);outline-offset:10px}
.helpbox img{width:70px;height:70px;border-radius:50%;margin:0 auto 22px}
.helpbox h2{font-family:var(--title);font-weight:400;font-size:clamp(32px,3.4vw,48px);line-height:1.25;color:#F8EBD0}
.helpbox p{margin:22px auto 36px;max-width:640px;font-size:16.5px;line-height:2.05;color:rgba(248,235,208,.8)}
.helpbox .acts{display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap}
.helpbox small{display:block;margin-top:40px;font-family:var(--outfit);font-size:14px;color:rgba(248,235,208,.6)}
.helpbox small a{color:var(--gold-hi)}

/* join band */
.joinus{position:relative;min-height:max(620px,86svh);display:flex;align-items:center;overflow:hidden;color:var(--ivory);background:#1E0508}
.joinus>img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;object-position:62% 55%}
.joinus::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,5,8,.88),rgba(30,5,8,.45) 50%,rgba(30,5,8,.05)),linear-gradient(180deg,#1E0508 0%,transparent 25%,transparent 75%,#1E0508 100%),linear-gradient(rgba(120,28,40,.38),rgba(60,12,30,.3))}
.joinus>img{filter:saturate(.85) contrast(1.05)}
.joinus .wrap{position:relative;z-index:1;width:100%}
.joinus p{max-width:540px;margin:24px 0 18px;font-family:var(--outfit);font-weight:300;font-size:17px;line-height:1.7;color:rgba(248,235,208,.82)}
.joinus small{display:block;margin-bottom:34px;font-family:var(--outfit);font-size:14.5px;letter-spacing:.06em;color:var(--gold-hi)}
.joinus nav{display:flex;gap:28px;margin-top:26px;font-family:var(--outfit);font-size:15px}
.joinus nav a{color:rgba(248,235,208,.8);text-decoration:none}
.joinus nav a:hover{color:var(--gold-hi)}

/* history */
.frame-l{padding:16px;background:url("../media/linen-750.jpg") center/600px;box-shadow:0 26px 50px -34px rgba(40,10,5,.6)}
.frame-l img{width:100%;height:100%;object-fit:cover}
.hist{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(30px,5vw,60px);align-items:center}
.hist.rev{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.hist .num{display:flex;align-items:center;gap:16px;margin:0 0 22px;font-weight:600;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--verm)}
.hist .num i{font-style:normal}
.hist .num::after{content:none}
.hist .num em{width:30px;height:1px;background:currentColor;display:inline-block}
.hist p{font-size:clamp(16px,1.25vw,18px);line-height:2.05;color:#1E0A06;margin-bottom:1.9em}
.hist .sub{font-family:var(--title);font-size:clamp(24px,2.2vw,32px);color:var(--wine);margin:-6px 0 26px}
.hist-btns{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:30px}
.hist-btns .btn{width:min(390px,100%)}
@media(max-width:900px){.hist,.hist.rev{grid-template-columns:1fr}.hist.rev .frame-l{order:-1}}

/* light offering cards */
.lo-cards{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:56px}
.lo-card{display:flex;flex-direction:column;background:#EDE4D2;border:1px solid rgba(122,38,32,.4)}
.lo-card>img{width:100%;aspect-ratio:604/262;object-fit:cover}
.lo-body{display:flex;flex-direction:column;flex:1;padding:30px 30px 40px}
.lo-body small{font-weight:600;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:#C79A2A}
.lo-body h3{margin:6px 0 18px;font-family:var(--title);font-weight:400;font-size:clamp(28px,2.4vw,34px);color:#1E0A06}
.lo-body p{font-size:17px;line-height:2.1;color:#1E0A06}
.days{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:16px 0 18px;margin:4px 0 22px;border-top:1px solid rgba(122,38,32,.3);border-bottom:1px solid rgba(122,38,32,.3);text-align:center}
.days div{display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--outfit);font-weight:500;font-size:14px;color:#1E0A06}
.days svg{width:50px;height:50px;padding:12px;border:1px solid var(--wine);border-radius:50%;color:var(--wine)}
.price-line{margin:auto 0 30px;padding-left:20px;border-left:3px solid rgba(122,38,32,.6)}
.price-line b{display:block;font-family:var(--title);font-weight:400;font-size:26px;color:var(--wine)}
.price-line span{font-size:14.5px;color:#1E0A06}
.lo-body .btn{width:100%}
@media(max-width:900px){.lo-cards{grid-template-columns:1fr}.days{grid-template-columns:repeat(2,1fr)}}
.meaning{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,.95fr);gap:clamp(24px,3vw,44px);align-items:start;padding-top:clamp(100px,9vw,140px);padding-bottom:clamp(100px,9vw,140px)}
.meaning p{font-size:17px;line-height:2.15;color:rgba(255,248,236,.9)}
.meaning p+p{border-left:1px solid rgba(248,235,208,.35);padding-left:clamp(20px,3vw,44px)}
@media(max-width:900px){.meaning{grid-template-columns:1fr}.meaning p+p{border-left:0;padding-left:0}}
.benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:60px;padding-top:44px;border-top:1px solid rgba(122,38,32,.4);text-align:center}
.benefits svg{width:34px;height:34px;color:var(--wine);margin:0 auto 22px}
.benefits h3{font-family:var(--title);font-weight:400;font-size:clamp(21px,1.8vw,26px);line-height:1.35;color:#1E0A06;margin-bottom:14px}
.benefits p{font-size:15.5px;line-height:1.65;color:#1E0A06}
@media(max-width:900px){.benefits{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.benefits{grid-template-columns:1fr}}
.river-quote{margin-top:70px;padding:44px 24px;text-align:center;background:radial-gradient(60% 140% at 50% 50%,#6E211C,#3B0B12 70%,#2A060C);box-shadow:0 20px 40px -24px rgba(40,6,10,.8)}
.river-quote p{margin:0 auto;max-width:720px;font-family:var(--title);font-size:clamp(20px,1.8vw,25px);line-height:1.45;color:#F8EBD0}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:50px}
.step{min-height:310px;padding:40px 30px;background:linear-gradient(180deg,#6B221E,#4A0E0C);color:#F8EBD0}
.step small{font-weight:600;font-size:13px;letter-spacing:.12em;color:#F2D57C}
.step h3{margin:10px 0 14px;font-family:var(--title);font-weight:400;font-size:clamp(24px,2vw,28px)}
.step p{font-size:16px;line-height:1.7;color:rgba(248,235,208,.7)}
.step p b{color:rgba(248,235,208,.82)}
.steps-acts{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:60px}
.steps-acts .btn{min-width:min(400px,100%)}
@media(max-width:900px){.steps{grid-template-columns:1fr}.step{min-height:0}}

/* support */
.vision{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.05fr) minmax(0,.6fr);gap:clamp(24px,3.4vw,48px);align-items:start}
.vision p:not(.eyebrow){font-size:clamp(16px,1.25vw,18px);line-height:2.05;color:#1E0A06}
.frame-c{padding:8px;background:#F4E9D3;border:1px solid rgba(201,162,39,.4);box-shadow:0 30px 50px -30px rgba(40,10,5,.5)}
.frame-c img{width:100%;aspect-ratio:362/550;object-fit:cover}
.uses{list-style:none;margin:150px 0 0;padding:0;border-top:1px solid rgba(122,38,32,.25)}
.uses li{display:flex;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(122,38,32,.25);font-weight:600;font-size:15px;line-height:1.75;color:#1E0A06}
.uses svg{width:22px;height:22px;flex:0 0 auto;color:#C79A2A}
@media(max-width:1000px){.vision{grid-template-columns:1fr 1fr}.uses{margin-top:0;grid-column:1/-1}}
@media(max-width:640px){.vision{grid-template-columns:1fr}}
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:70px;align-items:stretch}
.way{display:flex;flex-direction:column;background:#FAF3E7;border:1px solid rgba(122,38,32,.3);border-top:4px solid var(--c,#C79A2A);padding:34px 28px 40px;box-shadow:0 30px 50px -40px rgba(40,10,5,.6)}
.way header{display:flex;gap:18px;align-items:flex-start;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid rgba(122,38,32,.15)}
.way header svg{width:28px;height:28px;flex:0 0 auto;color:var(--c,#C79A2A);margin-top:6px}
.way h3{font-family:var(--title);font-weight:400;font-size:clamp(24px,2vw,28px);color:var(--c,#8A6A1E)}
.way header small{display:block;margin-top:6px;font-weight:600;font-size:14px;color:#7A6A5E}
.way>p{font-size:16px;line-height:1.65;color:#1E0A06}
.bank{margin:24px 0;padding:10px 20px;background:#F1E7D5}
.bank div{position:relative;display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(122,38,32,.15);font-size:15px}
.bank div:last-child{border-bottom:0}
.bank dt{color:var(--wine)}
.bank dd{margin:0;font-weight:600;color:#1E0A06;word-break:break-all}
.bank .copy{position:absolute;right:0;top:50%;transform:translateY(-50%);opacity:0;color:var(--wine);background:#F1E7D5;border-color:rgba(122,38,32,.3)}
.bank div:hover .copy,.bank .copy:focus-visible{opacity:1}
.bank .copy:hover,.bank .copy.done{opacity:1}
.remark{padding-left:16px;border-left:2px solid #C79A2A;font-size:15px;line-height:1.75;color:#5A4A3E}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(122,38,32,.2);margin:24px 0}
.tabs button{min-height:52px;border:0;border-left:1px solid rgba(122,38,32,.15);background:transparent;cursor:pointer;font-weight:600;font-size:15px;color:#9A8F86;transition:background .3s,color .3s}
.tabs button:first-child{border-left:0}
.tabs button[aria-selected=true]{background:#3D4126;color:#fff}
.tab-panel{text-align:center;padding:24px 0 0;border-top:1px solid rgba(122,38,32,.15)}
.tab-panel[hidden]{display:none}
.tab-panel p{font-size:15px;line-height:1.65;color:#5A4A3E}
.tab-panel .pp{display:block;margin:20px auto 28px;width:200px}
.tab-panel .bank{text-align:left}
.tab-panel .btn,.way .btn{width:100%}
.way>.btn{margin-top:auto}
.way .tab-panel:not([hidden]){display:flex;flex-direction:column;flex:1}
.way .tab-panel .btn{margin-top:auto}
.amounts2{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 30px}
.amounts2 a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:118px;padding:12px 6px;text-align:center;text-decoration:none;background:#F1E4CF;border:1px solid rgba(122,38,32,.12);transition:transform .4s var(--ease-out),border-color .3s,background .3s}
.amounts2 a:hover{transform:translateY(-3px);border-color:var(--wine);background:#F6EAD6}
.amounts2 b{font-family:var(--title);font-weight:400;font-size:24px;color:#A0172B}
.amounts2 span{margin-top:6px;font-weight:600;font-size:12.5px;line-height:1.3;color:#5A4A3E}
@media(max-width:1000px){.ways{grid-template-columns:minmax(0,1fr);max-width:560px;margin-left:auto;margin-right:auto}}
.dedicate{position:relative;overflow:hidden;text-align:center;padding:clamp(70px,7vw,90px) 20px;background:#F7EFE2}
.dedicate .side{position:absolute;top:0;bottom:0;width:36%;background-size:cover;background-position:center}
.dedicate .side.l{left:0;-webkit-mask-image:linear-gradient(90deg,#000 35%,transparent 92%);mask-image:linear-gradient(90deg,#000 35%,transparent 92%)}
.dedicate .side.r{right:0;-webkit-mask-image:linear-gradient(270deg,#000 35%,transparent 92%);mask-image:linear-gradient(270deg,#000 35%,transparent 92%)}
.dedicate>div:last-child{position:relative;max-width:520px;margin:0 auto}
.dedicate p{margin:24px 0 40px;font-size:17px;line-height:2.15;color:#1E0A06}
@media(max-width:860px){
  /* phones: the two photos become a strip above the text (they were stretched behind it, full strength) */
  .dedicate{display:grid;grid-template-columns:1fr 1fr;padding:0 0 clamp(56px,12vw,80px)}
  .dedicate .side{position:relative;width:auto;height:clamp(150px,44vw,240px);opacity:1;grid-row:1;
    -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
  .dedicate .side.l{background-position:30% 40%}
  .dedicate .side.r{background-position:65% 40%}
  .dedicate>div:last-child{grid-column:1/-1;padding:28px 22px 0}
  .dedicate p{margin:18px 0 30px;font-size:16px;line-height:1.85}
}
.closing{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(24px,4vw,40px);align-items:center;padding-top:clamp(80px,8vw,110px);padding-bottom:clamp(80px,8vw,110px)}
.closing blockquote{margin:0;font-family:var(--display);font-style:italic;font-size:clamp(30px,3.4vw,48px);line-height:1.25;color:#FBEFD8}
.closing aside{padding-left:28px;border-left:1px solid rgba(201,162,39,.5)}
.closing h3{font-family:var(--title);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.4;color:#E8C778}
.closing aside p{margin-top:18px;font-size:16px;line-height:1.65;color:rgba(248,235,208,.85)}
@media(max-width:860px){.closing{grid-template-columns:1fr}}

/* gallery overview carousel */
.gal-mode-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:36px}
.gal-mode-bar p{margin:0;font-size:17px;color:var(--body-soft)}
.car-btns{display:flex;gap:16px}
.car-btns button{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--wine);background:transparent;color:var(--wine);cursor:pointer;transition:background .3s,color .3s}
.car-btns button:hover{background:var(--wine);color:var(--ivory)}
.car-btns svg{width:18px;height:18px}
.carousel{scroll-padding-left:var(--gut);display:flex;gap:24px;margin:40px calc(var(--gut) * -1) 0;padding:0 var(--gut) 20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.carousel::-webkit-scrollbar{display:none}
.ch-card{position:relative;flex:0 0 min(420px,82vw);aspect-ratio:420/525;overflow:hidden;scroll-snap-align:start;border:0;padding:0;cursor:pointer;text-align:left;color:var(--ivory);background:#2A0A0E}
.ch-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.ch-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(40,8,12,.05) 35%,rgba(40,8,12,.9) 100%)}
.ch-card::after{content:"";position:absolute;inset:9px;z-index:2;border:1px solid rgba(201,162,39,.75);pointer-events:none;transition:inset .6s var(--ease-out)}
.ch-card:hover img{transform:scale(1.06)}
.ch-card:hover::after{inset:14px}
.ch-card .cap{position:absolute;left:32px;right:24px;bottom:40px;z-index:3}
.ch-card small{display:block;font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:#E8B73C}
.ch-card b{display:block;margin:8px 0 26px;font-family:var(--title);font-weight:400;font-size:clamp(28px,2.4vw,35px);line-height:1.15}
.ch-card i{font-style:normal;display:inline-flex;gap:10px;padding-bottom:6px;border-bottom:1px solid #E8B73C;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#F8EBD0}
.ch-card i::after{content:"→";color:#E8B73C}
.gal-view[hidden]{display:none}
@media(max-width:560px){
  .cd-big{gap:14px}
  .cd-big div{min-width:0}
  .cd-big b{font-size:clamp(34px,11vw,56px)}
  .cd-big span{font-size:10px;letter-spacing:.12em}
  .way{padding:28px 18px 32px}
  .bank{padding:6px 14px}
  .bank div{grid-template-columns:1fr;gap:2px}
  .tabs button{font-size:13px}
  .amounts2 b{font-size:20px}
}
@media(max-width:420px){
  .foot-cols{grid-template-columns:1fr}
  .foot-bot{flex-direction:column}
  .foot-reach{flex-direction:column}
  .cd-big{gap:8px}
}
@media(max-width:560px){.cd-big{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}}

/* ---------- languages (generated /vi /zh-hk /hi /bo /or pages)
 * Each language swaps in fonts that carry its script (loaded only on its own pages).
 * Chinese, Devanagari, Tibetan and Odia have no capitals and tracking breaks their
 * letter shapes, so those pages drop uppercase and letter-spacing. */
:root:lang(vi){--title:"Cormorant Garamond",Georgia,serif;--caps:"Cormorant Garamond",Georgia,serif;--outfit:"Be Vietnam Pro","Inter",system-ui,sans-serif}
:root:lang(zh-Hant-HK){--display:"Cormorant Garamond","Songti TC","Noto Serif CJK TC","PMingLiU",serif;--title:"Gilda Display","Songti TC","Noto Serif CJK TC","PMingLiU",serif;--caps:"Marcellus SC","Songti TC","Noto Serif CJK TC",serif;--sans:"Inter","PingFang HK","PingFang TC","Noto Sans CJK TC","Microsoft JhengHei",sans-serif;--lead:"Inter","PingFang HK","PingFang TC","Noto Sans CJK TC","Microsoft JhengHei",sans-serif;--outfit:"Outfit","PingFang HK","PingFang TC","Noto Sans CJK TC","Microsoft JhengHei",sans-serif}
:root:lang(hi){--display:"Cormorant Garamond","Noto Serif Devanagari",serif;--title:"Gilda Display","Noto Serif Devanagari",serif;--caps:"Marcellus SC","Noto Serif Devanagari",serif;--sans:"Inter","Noto Sans Devanagari","Kohinoor Devanagari",sans-serif;--lead:"Source Sans 3","Noto Sans Devanagari",sans-serif;--outfit:"Outfit","Noto Sans Devanagari",sans-serif}
:root:lang(bo){--display:"Cormorant Garamond","Noto Serif Tibetan",serif;--title:"Gilda Display","Noto Serif Tibetan",serif;--caps:"Marcellus SC","Noto Serif Tibetan",serif;--sans:"Inter","Noto Serif Tibetan",serif;--lead:"Source Sans 3","Noto Serif Tibetan",serif;--outfit:"Outfit","Noto Serif Tibetan",serif}
:root:lang(or){--display:"Cormorant Garamond","Noto Serif Oriya",serif;--title:"Gilda Display","Noto Serif Oriya",serif;--caps:"Marcellus SC","Noto Serif Oriya",serif;--sans:"Inter","Noto Sans Oriya",sans-serif;--lead:"Source Sans 3","Noto Sans Oriya",sans-serif;--outfit:"Outfit","Noto Sans Oriya",sans-serif}
:root:is(:lang(zh-Hant-HK),:lang(hi),:lang(bo),:lang(or)) body :is(*,*::before,*::after){letter-spacing:normal !important;text-transform:none !important}
:root:is(:lang(zh-Hant-HK),:lang(hi),:lang(bo),:lang(or)) body :is(em,i){font-style:normal}
/* Tibetan stacks vowels above and below the line: more leading everywhere. */
:root:lang(bo) body{line-height:1.95}
:root:lang(bo) :is(h1,h2,h3,.h-display){line-height:1.55}
:root:is(:lang(hi),:lang(or)) :is(h1,h2,h3,.h-display){line-height:1.35}

/* ---------- analytics consent banner (same as the 2028 site) ---------- */
.zp-consent{position:fixed;z-index:160;left:clamp(.75rem,3vw,2rem);bottom:clamp(.75rem,3vw,2rem);display:grid;gap:1rem;max-width:26rem;padding:1.25rem 1.4rem;border:1px solid rgba(201,162,74,.28);background:rgba(28,6,9,.97);box-shadow:0 24px 60px -24px rgba(0,0,0,.8);color:#CDB996;font-family:var(--outfit);font-size:.88rem;line-height:1.55}
.zp-consent p{margin:0}
.zp-consent a{color:#E2C47E;border-bottom:1px solid #C9A24A;text-decoration:none}
.zp-consent-acts{display:flex;justify-content:flex-end;gap:.75rem}
.zp-consent button{min-height:2.6rem;padding:.55rem 1.2rem;border-radius:999px;cursor:pointer;font:500 .86rem var(--outfit);border:1px solid rgba(201,162,74,.28);background:transparent;color:#F4E8D2}
.zp-consent button.ok{border-color:#C9A24A;background:#C9A24A;color:#1C0609}
.zp-consent button:focus-visible{outline:2px solid #E2C47E;outline-offset:3px}
@media(max-width:860px){.zp-consent{right:4.75rem;max-width:none}}

/* ---------- phone polish (mobile UX review) ---------- */
@media(max-width:600px){
  /* facts: one row per fact, label left / value right, instead of squeezed columns */
  .facts{grid-template-columns:minmax(0,1fr)!important}
  .facts div{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid rgba(122,38,32,.14)}
  .facts div:last-child{border-bottom:0}
  .facts dt{margin:0;font-size:11px}
  .facts dd{font-size:16px}
  /* long mission heading */
  .mission-t{font-size:26px;line-height:1.25}
  /* timeline: year on its own line above the phase */
  .phase{grid-template-columns:1fr;gap:4px;padding:18px 6px}
  .phase:hover{padding-left:6px}
  .phase-n{white-space:nowrap;font-size:15px;padding-top:0}
  /* letters of blessing: thinner frame, wider text */
  .pecha-item::before{left:10px}.pecha-item::after{right:10px}
  .pecha-btn{padding:18px 22px;gap:14px}
  .pecha-inner{padding:0 22px 26px}
  .pecha-inner p{line-height:1.8}
  /* comfortable tap targets for text links */
  .link-u,.hero-play{min-height:44px;align-items:center}
  /* WhatsApp: smaller on phones, and only after the first screen (it covered the hero buttons) */
  .wa{width:48px;height:48px;right:14px;bottom:14px;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s}
  .wa.on{opacity:1;transform:none;pointer-events:auto}
  .wa svg{width:22px;height:22px}
  .zp-consent{right:14px}
}
/* the mobile menu opens from the burger (below the 32px site strip) */
.drawer{clip-path:circle(0% at calc(100% - 38px) calc(var(--sw-h) + var(--nav-h) / 2))}
.drawer.open{clip-path:circle(150% at calc(100% - 38px) calc(var(--sw-h) + var(--nav-h) / 2))}

/* phones: skip the faint decorative photos behind the offerings (two image downloads for little effect) */
@media(max-width:700px){.off-sec .leaf{display:none}}

/* ---------- motion without a library (zp.js adds .rv to below-the-fold images/cards, .in when seen) ---------- */
.rv{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
.drawer a{opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .45s ease}
.drawer.open a{opacity:1;transform:none}
.drawer.open a:nth-child(n){transition-delay:calc(.12s + var(--i,0) * .04s)}
.lb-stage img{animation:lbIn .5s ease both}
@keyframes lbIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rv,.drawer a{opacity:1;transform:none;transition:none}.lb-stage img{animation:none}.acc-panel{transition:none}}
