:root{--du1:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%2260%20164%20430%20160%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22%23F5AC1E%22%20d%3D%22M65.79%2C318C66.05%2C317.71%2066.83%2C316.83%2067.38%2C316.26C67.93%2C315.69%2068.51%2C315.14%2069.09%2C314.58C69.67%2C314.02%2070.27%2C313.47%2070.86%2C312.93C71.46%2C312.38%2072.07%2C311.84%2072.68%2C311.29C73.29%2C310.75%2073.91%2C310.21%2074.53%2C309.67C75.16%2C309.13%2075.78%2C308.59%2076.42%2C308.06C77.05%2C307.52%2077.68%2C306.98%2078.32%2C306.44C78.96%2C305.89%2079.6%2C305.35%2080.24%2C304.81C80.88%2C304.26%2081.53%2C303.71%2082.17%2C303.16C82.82%2C302.61%2083.47%2C302.05%2084.12%2C301.49C84.77%2C300.93%2085.42%2C300.37%2086.07%2C299.8C86.72%2C299.23%2087.38%2C298.65%2088.03%2C298.07C88.69%2C297.49%2089.34%2C296.9%2090%2C296.3C90.66%2C295.71%2091.32%2C295.1%2091.98%2C294.49C92.64%2C293.88%2093.3%2C293.27%2093.96%2C292.64C94.62%2C292.02%2095.28%2C291.38%2095.95%2C290.74C96.61%2C290.1%2097.27%2C289.44%2097.95%2C288.79C98.62%2C288.13%2099.3%2C287.48%2099.99%2C286.82C100.69%2C286.16%20101.39%2C285.5%20102.1%2C284.85C102.81%2C284.19%20103.53%2C283.53%20104.26%2C282.88C104.99%2C282.22%20105.72%2C281.56%20106.47%2C280.9C107.22%2C280.25%20107.98%2C279.59%20108.75%2C278.94C109.52%2C278.28%20110.3%2C277.63%20111.09%2C276.97C111.87%2C276.32%20112.67%2C275.66%20113.48%2C275.01C114.29%2C274.36%20115.1%2C273.71%20115.93%2C273.06C116.76%2C272.41%20117.59%2C271.76%20118.44%2C271.11C119.28%2C270.46%20120.14%2C269.81%20121%2C269.16C121.86%2C268.52%20122.74%2C267.87%20123.62%2C267.23C124.5%2C266.58%20125.39%2C265.94%20126.29%2C265.3C127.19%2C264.65%20128.1%2C264.01%20129.02%2C263.37C129.93%2C262.74%20130.86%2C262.1%20131.8%2C261.46C132.73%2C260.83%20133.68%2C260.19%20134.63%2C259.56C135.58%2C258.92%20136.54%2C258.29%20137.51%2C257.66C138.48%2C257.03%20139.46%2C256.4%20140.45%2C255.78C141.44%2C255.15%20142.43%2C254.53%20143.44%2C253.9C144.44%2C253.28%20145.45%2C252.66%20146.47%2C252.04C147.49%2C251.42%20148.52%2C250.8%20149.56%2C250.19C150.59%2C249.57%20151.64%2C248.96%20152.69%2C248.35C153.74%2C247.74%20154.8%2C247.13%20155.87%2C246.52C156.94%2C245.91%20158.02%2C245.31%20159.1%2C244.71C160.18%2C244.11%20161.28%2C243.51%20162.37%2C242.91C163.47%2C242.31%20164.58%2C241.72%20165.69%2C241.12C166.81%2C240.53%20167.93%2C239.94%20169.06%2C239.36C170.19%2C238.77%20171.33%2C238.19%20172.47%2C237.61C173.62%2C237.03%20174.77%2C236.45%20175.93%2C235.88C177.08%2C235.3%20178.25%2C234.73%20179.42%2C234.16C180.59%2C233.59%20181.77%2C233.03%20182.96%2C232.46C184.14%2C231.9%20185.34%2C231.34%20186.54%2C230.78C187.73%2C230.23%20188.94%2C229.67%20190.15%2C229.12C191.36%2C228.57%20192.58%2C228.02%20193.81%2C227.47C195.03%2C226.93%20196.26%2C226.38%20197.5%2C225.84C198.73%2C225.3%20199.98%2C224.76%20201.23%2C224.23C202.47%2C223.7%20203.73%2C223.17%20204.99%2C222.64C206.25%2C222.11%20207.52%2C221.59%20208.79%2C221.07C210.06%2C220.54%20211.34%2C220.03%20212.62%2C219.51C213.9%2C219%20215.19%2C218.48%20216.49%2C217.98C217.78%2C217.47%20219.08%2C216.96%20220.38%2C216.46C221.69%2C215.96%20223%2C215.46%20224.31%2C214.97C225.63%2C214.47%20226.95%2C213.98%20228.27%2C213.5C229.6%2C213.01%20230.93%2C212.52%20232.26%2C212.04C233.59%2C211.56%20234.93%2C211.09%20236.28%2C210.62C237.62%2C210.14%20238.97%2C209.68%20240.32%2C209.21C241.67%2C208.75%20243.03%2C208.29%20244.39%2C207.83C245.76%2C207.38%20247.12%2C206.93%20248.49%2C206.48C249.86%2C206.03%20251.24%2C205.59%20252.62%2C205.15C254%2C204.71%20255.38%2C204.28%20256.77%2C203.85C258.15%2C203.42%20259.54%2C202.99%20260.94%2C202.57C262.33%2C202.15%20263.73%2C201.73%20265.13%2C201.32C266.53%2C200.91%20267.93%2C200.5%20269.34%2C200.09C270.75%2C199.68%20272.16%2C199.28%20273.57%2C198.88C274.99%2C198.49%20276.41%2C198.09%20277.83%2C197.7C279.25%2C197.31%20280.67%2C196.93%20282.09%2C196.55C283.52%2C196.17%20284.95%2C195.79%20286.38%2C195.42C287.81%2C195.05%20289.24%2C194.68%20290.68%2C194.31C292.12%2C193.95%20293.55%2C193.59%20295%2C193.23C296.44%2C192.88%20297.88%2C192.53%20299.32%2C192.18C300.77%2C191.83%20302.22%2C191.49%20303.67%2C191.15C305.11%2C190.81%20306.57%2C190.48%20308.02%2C190.15C309.47%2C189.82%20310.93%2C189.5%20312.38%2C189.18C313.84%2C188.85%20315.29%2C188.54%20316.75%2C188.23C318.21%2C187.91%20319.67%2C187.61%20321.14%2C187.3C322.6%2C187%20324.06%2C186.7%20325.52%2C186.41C326.99%2C186.11%20328.45%2C185.82%20329.92%2C185.54C331.39%2C185.25%20332.85%2C184.97%20334.32%2C184.7C335.79%2C184.42%20337.26%2C184.15%20338.73%2C183.89C340.19%2C183.62%20341.66%2C183.36%20343.13%2C183.1C344.6%2C182.84%20346.08%2C182.59%20347.55%2C182.35C349.02%2C182.1%20350.49%2C181.86%20351.96%2C181.62C353.43%2C181.38%20354.9%2C181.15%20356.37%2C180.92C357.84%2C180.69%20359.32%2C180.46%20360.79%2C180.24C362.26%2C180.02%20363.73%2C179.81%20365.2%2C179.6C366.67%2C179.39%20368.14%2C179.18%20369.6%2C178.98C371.07%2C178.77%20372.54%2C178.57%20374.01%2C178.38C375.48%2C178.18%20376.94%2C177.99%20378.41%2C177.8C379.87%2C177.61%20381.34%2C177.42%20382.8%2C177.24C384.26%2C177.05%20385.72%2C176.87%20387.18%2C176.69C388.64%2C176.51%20390.1%2C176.34%20391.56%2C176.17C393.02%2C175.99%20394.47%2C175.83%20395.93%2C175.66C397.38%2C175.5%20398.84%2C175.34%20400.29%2C175.18C401.74%2C175.03%20403.19%2C174.87%20404.64%2C174.72C406.09%2C174.57%20407.53%2C174.43%20408.98%2C174.29C410.42%2C174.14%20411.86%2C174%20413.3%2C173.87C414.74%2C173.73%20416.18%2C173.6%20417.62%2C173.47C419.05%2C173.34%20420.48%2C173.22%20421.92%2C173.1C423.35%2C172.98%20424.78%2C172.86%20426.2%2C172.75C427.63%2C172.64%20429.05%2C172.54%20430.47%2C172.44C431.89%2C172.34%20433.31%2C172.25%20434.73%2C172.16C436.15%2C172.07%20437.56%2C171.99%20438.97%2C171.92C440.38%2C171.84%20441.79%2C171.77%20443.19%2C171.71C444.59%2C171.64%20446%2C171.58%20447.39%2C171.53C448.79%2C171.48%20450.19%2C171.44%20451.58%2C171.4C452.97%2C171.36%20454.36%2C171.32%20455.74%2C171.3C457.12%2C171.27%20458.5%2C171.25%20459.88%2C171.24C461.26%2C171.23%20462.63%2C171.22%20464%2C171.22C465.37%2C171.22%20466.73%2C171.21%20468.09%2C171.22C469.45%2C171.23%20470.81%2C171.25%20472.16%2C171.28C473.51%2C171.31%20474.86%2C171.35%20476.2%2C171.41C477.54%2C171.46%20478.88%2C171.52%20480.21%2C171.59C481.54%2C171.66%20483.53%2C171.79%20484.19%2C171.83L484.19%2C171.83C483.53%2C171.79%20481.54%2C171.66%20480.21%2C171.59C478.88%2C171.51%20477.54%2C171.43%20476.2%2C171.35C474.86%2C171.28%20473.52%2C171.2%20472.17%2C171.13C470.82%2C171.05%20469.46%2C170.97%20468.1%2C170.89C466.74%2C170.81%20465.38%2C170.73%20464.01%2C170.65C462.64%2C170.58%20461.27%2C170.52%20459.89%2C170.46C458.52%2C170.4%20457.14%2C170.34%20455.75%2C170.29C454.36%2C170.23%20452.97%2C170.18%20451.58%2C170.14C450.19%2C170.09%20448.79%2C170.05%20447.39%2C170.01C445.98%2C169.97%20444.58%2C169.93%20443.17%2C169.9C441.76%2C169.87%20440.35%2C169.85%20438.93%2C169.82C437.51%2C169.8%20436.09%2C169.78%20434.67%2C169.77C433.24%2C169.76%20431.82%2C169.75%20430.38%2C169.74C428.95%2C169.74%20427.52%2C169.74%20426.08%2C169.74C424.64%2C169.75%20423.2%2C169.76%20421.76%2C169.77C420.32%2C169.79%20418.87%2C169.81%20417.42%2C169.83C415.97%2C169.86%20414.52%2C169.89%20413.06%2C169.93C411.61%2C169.97%20410.15%2C170.02%20408.69%2C170.07C407.23%2C170.12%20405.77%2C170.18%20404.31%2C170.25C402.84%2C170.31%20401.38%2C170.38%20399.91%2C170.46C398.44%2C170.54%20396.97%2C170.63%20395.5%2C170.72C394.03%2C170.81%20392.55%2C170.91%20391.08%2C171.01C389.6%2C171.11%20388.12%2C171.22%20386.65%2C171.34C385.17%2C171.46%20383.69%2C171.58%20382.21%2C171.71C380.73%2C171.84%20379.25%2C171.98%20377.76%2C172.12C376.28%2C172.27%20374.8%2C172.42%20373.31%2C172.58C371.83%2C172.73%20370.34%2C172.9%20368.86%2C173.07C367.37%2C173.24%20365.89%2C173.42%20364.4%2C173.6C362.91%2C173.78%20361.42%2C173.97%20359.94%2C174.16C358.45%2C174.36%20356.96%2C174.55%20355.47%2C174.76C353.99%2C174.96%20352.5%2C175.17%20351.01%2C175.38C349.52%2C175.6%20348.03%2C175.81%20346.54%2C176.04C345.06%2C176.26%20343.57%2C176.49%20342.08%2C176.72C340.59%2C176.95%20339.1%2C177.19%20337.62%2C177.43C336.13%2C177.67%20334.64%2C177.92%20333.16%2C178.17C331.67%2C178.42%20330.18%2C178.68%20328.7%2C178.94C327.21%2C179.2%20325.73%2C179.47%20324.25%2C179.74C322.76%2C180.01%20321.28%2C180.28%20319.8%2C180.56C318.32%2C180.84%20316.84%2C181.12%20315.36%2C181.41C313.88%2C181.7%20312.4%2C182%20310.93%2C182.29C309.45%2C182.59%20307.98%2C182.89%20306.5%2C183.2C305.03%2C183.51%20303.56%2C183.82%20302.09%2C184.14C300.62%2C184.46%20299.15%2C184.78%20297.69%2C185.1C296.22%2C185.43%20294.76%2C185.76%20293.3%2C186.09C291.84%2C186.43%20290.38%2C186.77%20288.92%2C187.11C287.46%2C187.45%20286.01%2C187.8%20284.55%2C188.15C283.1%2C188.51%20281.65%2C188.86%20280.2%2C189.22C278.76%2C189.58%20277.31%2C189.95%20275.87%2C190.32C274.43%2C190.69%20272.99%2C191.06%20271.55%2C191.44C270.11%2C191.82%20268.68%2C192.2%20267.25%2C192.58C265.82%2C192.97%20264.39%2C193.36%20262.97%2C193.76C261.54%2C194.15%20260.12%2C194.55%20258.7%2C194.95C257.28%2C195.35%20255.87%2C195.76%20254.46%2C196.17C253.05%2C196.58%20251.64%2C197%20250.24%2C197.42C248.83%2C197.83%20247.43%2C198.26%20246.04%2C198.68C244.64%2C199.11%20243.25%2C199.53%20241.86%2C199.97C240.47%2C200.4%20239.08%2C200.83%20237.7%2C201.27C236.32%2C201.71%20234.94%2C202.15%20233.57%2C202.6C232.2%2C203.04%20230.83%2C203.49%20229.46%2C203.94C228.1%2C204.4%20226.74%2C204.85%20225.38%2C205.31C224.02%2C205.77%20222.67%2C206.23%20221.33%2C206.7C219.98%2C207.17%20218.64%2C207.64%20217.3%2C208.11C215.96%2C208.59%20214.63%2C209.07%20213.3%2C209.55C211.98%2C210.03%20210.65%2C210.51%20209.34%2C211C208.02%2C211.49%20206.71%2C211.98%20205.4%2C212.48C204.1%2C212.97%20202.79%2C213.47%20201.5%2C213.97C200.2%2C214.48%20198.91%2C214.98%20197.63%2C215.49C196.34%2C216%20195.06%2C216.51%20193.79%2C217.03C192.52%2C217.54%20191.25%2C218.06%20189.99%2C218.58C188.73%2C219.11%20187.47%2C219.63%20186.22%2C220.16C184.97%2C220.69%20183.73%2C221.22%20182.49%2C221.76C181.25%2C222.29%20180.02%2C222.83%20178.79%2C223.37C177.57%2C223.91%20176.35%2C224.45%20175.14%2C225C173.92%2C225.55%20172.72%2C226.1%20171.52%2C226.65C170.32%2C227.2%20169.12%2C227.76%20167.93%2C228.32C166.75%2C228.88%20165.57%2C229.44%20164.39%2C230C163.22%2C230.56%20162.05%2C231.13%20160.89%2C231.7C159.73%2C232.27%20158.58%2C232.84%20157.43%2C233.41C156.28%2C233.98%20155.14%2C234.56%20154.01%2C235.13C152.87%2C235.71%20151.75%2C236.29%20150.63%2C236.88C149.51%2C237.46%20148.39%2C238.04%20147.29%2C238.63C146.19%2C239.22%20145.09%2C239.81%20144%2C240.4C142.91%2C241%20141.83%2C241.59%20140.75%2C242.19C139.68%2C242.79%20138.61%2C243.39%20137.55%2C243.99C136.49%2C244.59%20135.44%2C245.2%20134.39%2C245.81C133.35%2C246.41%20132.31%2C247.03%20131.28%2C247.64C130.25%2C248.25%20129.23%2C248.86%20128.22%2C249.48C127.21%2C250.1%20126.2%2C250.72%20125.21%2C251.34C124.21%2C251.96%20123.22%2C252.58%20122.24%2C253.21C121.26%2C253.84%20120.29%2C254.46%20119.33%2C255.09C118.36%2C255.72%20117.41%2C256.36%20116.46%2C256.99C115.51%2C257.62%20114.57%2C258.26%20113.64%2C258.9C112.71%2C259.54%20111.79%2C260.18%20110.88%2C260.82C109.97%2C261.46%20109.06%2C262.1%20108.17%2C262.75C107.27%2C263.4%20106.38%2C264.04%20105.51%2C264.69C104.63%2C265.34%20103.76%2C265.99%20102.9%2C266.65C102.04%2C267.3%20101.19%2C267.96%20100.34%2C268.61C99.5%2C269.27%2098.67%2C269.93%2097.84%2C270.59C97.02%2C271.25%2096.2%2C271.91%2095.4%2C272.58C94.59%2C273.24%2093.79%2C273.91%2093%2C274.57C92.22%2C275.24%2091.44%2C275.91%2090.67%2C276.58C89.9%2C277.26%2089.14%2C277.93%2088.4%2C278.61C87.65%2C279.29%2086.91%2C279.96%2086.2%2C280.66C85.48%2C281.35%2084.78%2C282.05%2084.1%2C282.77C83.43%2C283.48%2082.76%2C284.2%2082.12%2C284.93C81.48%2C285.66%2080.86%2C286.4%2080.25%2C287.15C79.65%2C287.9%2079.07%2C288.65%2078.5%2C289.42C77.93%2C290.18%2077.39%2C290.95%2076.86%2C291.72C76.33%2C292.5%2075.82%2C293.28%2075.33%2C294.07C74.85%2C294.86%2074.38%2C295.65%2073.92%2C296.45C73.47%2C297.24%2073.04%2C298.04%2072.63%2C298.85C72.21%2C299.65%2071.82%2C300.46%2071.44%2C301.27C71.06%2C302.07%2070.71%2C302.89%2070.36%2C303.7C70.02%2C304.51%2069.7%2C305.32%2069.39%2C306.13C69.08%2C306.94%2068.79%2C307.75%2068.52%2C308.55C68.24%2C309.36%2067.98%2C310.17%2067.74%2C310.97C67.49%2C311.77%2067.26%2C312.56%2067.04%2C313.35C66.81%2C314.15%2066.61%2C314.93%2066.4%2C315.71C66.19%2C316.48%2065.89%2C317.62%2065.79%2C318Z%22/%3E%3C/svg%3E")}
@font-face{font-family:'Anton';font-weight:400;font-display:swap;src:url(/fonts/anton-400.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:500;font-display:swap;src:url(/fonts/bcond-500.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(/fonts/bcond-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(/fonts/bcond-700.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:400;font-display:swap;src:url(/fonts/barlow-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:500;font-display:swap;src:url(/fonts/barlow-500.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:600;font-display:swap;src:url(/fonts/barlow-600.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:700;font-display:swap;src:url(/fonts/barlow-700.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:600;font-display:swap;src:url(/fonts/barlow-cyr-600.woff2) format('woff2');unicode-range:U+0400-04FF}
@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(/fonts/bcond-cyr-600.woff2) format('woff2');unicode-range:U+0400-04FF}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .28s ease both}
::view-transition-new(root){animation:vt-in .34s ease both}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0}}
:root{
  --blue:#1A3FC4; --gold:#F5AC1E; --brown:#5F4A36; --navy:#0C1E60;
  --sand:#F8F3EA; --mist:#EDF1FB; --ink:#141B30; --body:#3A4157; --mut:#5D6478;
  --w:1440px; --wnav:1200px; --ease:cubic-bezier(.22,.7,.25,1);
  --page:#FFFFFF; --card:#FFFFFF; --field:#FDFDFE; --line:#E3E7F1; --line-soft:#EEF0F6;
  --sand-bg:#F8F3EA; --mist-bg:#EDF1FB; --head:#0C1E60;
  --hero1:#FFFDF8; --hero2:#F8F3EA; --hero3:#F3ECDD;
}

.only-dark{display:none!important}

/* r47: Apple-clean chrome — flat icon buttons, no circles anywhere in the bar */
.nicobtn{background:none;border:0;padding:0;width:36px;height:36px;cursor:pointer;flex:none;
  display:flex;align-items:center;justify-content:center;color:var(--ink);transition:color .25s,opacity .25s}
.nicobtn:hover{color:var(--gold)}
nav.top.dark .nicobtn{color:#E6EBFC}
nav.top.dark .nicobtn:hover{color:var(--gold)}
#srchBtn svg{width:18px;height:18px}
.nav-donate::after{display:none!important}
/* plain text controls (Members, EN) — same voice as the nav links */
.nplain{font:500 14px 'Barlow';color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer;
  padding:4px 0;position:relative;white-space:nowrap}
.nplain::after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:2.5px;background:var(--gold);border-radius:2px;transition:right .3s var(--ease)}
.nplain:hover::after,.nplain[aria-expanded="true"]::after{right:0}
nav.top.dark .nplain{color:#E6EBFC}
/* r47: THE FLYOUT — one glassy full-width panel under the bar (Our Work,
   language, search share it); the page behind blurs like apple.com */
.fly{position:absolute;top:100%;left:0;right:0;z-index:49;
  background:rgba(252,251,247,.88);backdrop-filter:blur(26px) saturate(1.8);-webkit-backdrop-filter:blur(26px) saturate(1.8);
  box-shadow:0 42px 80px -46px rgba(5,9,28,.35);
  display:grid;grid-template-rows:0fr;
  opacity:0;visibility:hidden;
  transition:grid-template-rows .42s cubic-bezier(.33,.09,.22,1),
             opacity .16s ease .26s,visibility .42s}
/* r51c: apple.com motion, done the way Apple does it — the panel's HEIGHT
   rolls (grid-rows 0fr↔1fr; panels are min-height:0 + overflow:hidden), so
   the glass, blur and shadow all travel with the roll. The close stays fully
   OPAQUE for most of the roll-up (opacity delayed .26s of the .42s), then
   snaps out — no mushy fade-while-rolling. */
.fly.on{grid-template-rows:1fr;opacity:1;visibility:visible;
  transition:grid-template-rows .52s cubic-bezier(.27,.1,.27,1),
             opacity .12s ease,visibility .52s}
.fpanel{min-height:0;overflow:hidden;grid-row:1;grid-column:1}
.fly .fly-grid{opacity:0;transform:translateY(-10px);transition:none}
.fly.on .fly-grid{opacity:1;transform:none;
  transition:transform .5s var(--ease) .05s,opacity .35s ease .05s}
@media (prefers-reduced-motion:reduce){
  .fly,.fly.on,.fly .fly-grid,.fly.on .fly-grid{transition:none}
  .fly .fly-grid{transform:none;opacity:1}
}
nav.top.dark .fly{background:rgba(7,12,34,.92)}
.fly .wrap{display:block;height:auto;padding-top:40px;padding-bottom:52px}
.fpanel{display:none}
.fpanel.on{display:block}
.fly-grid{display:flex;gap:88px;align-items:flex-start}
.fly-kick{font:600 12px 'Barlow Condensed';letter-spacing:.18em;text-transform:uppercase;color:var(--mut);margin-bottom:12px}
.fly-big{font:400 clamp(28px,2.9vw,42px)/1.06 'Anton';text-transform:uppercase;letter-spacing:.012em;
  color:var(--head);text-decoration:none;display:block}
.fly-big:hover{color:var(--blue)}
nav.top.dark .fly-big{color:#fff}
nav.top.dark .fly-big:hover{color:var(--gold)}
.fly-under{margin-top:16px}
.fly-col{display:flex;flex-direction:column;min-width:190px}
.fly-col a{font:600 15px/1.35 'Barlow';color:var(--head);text-decoration:none;padding:6px 0;transition:color .2s}
.fly-col a:hover{color:var(--blue)}
.fly-col a.cur{color:var(--amber)}
nav.top.dark .fly-col a{color:#E6EBFC}
nav.top.dark .fly-col a:hover{color:var(--gold)}
nav.top.dark .fly-col a.cur{color:var(--gold)}
nav.top.dark .fly-kick{color:#8FA0DC}
#pageBlur{position:fixed;inset:0;z-index:48;opacity:0;visibility:hidden;pointer-events:none;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(20,27,48,.16);
  transition:opacity .4s var(--ease),visibility .4s}

#pageBlur.on{opacity:1;visibility:visible;pointer-events:auto}
/* the search panel (desktop flyout + mobile overlay share these pieces) */
.fs-row{display:flex;align-items:center;gap:14px;max-width:820px}
.fs-row>svg{width:22px;height:22px;color:var(--mut);flex:none}
.fs-in{flex:1;min-width:0;border:0;outline:0;background:none;font:600 clamp(20px,2.2vw,26px) 'Barlow';color:var(--head)}
.fs-in::placeholder{color:var(--mut);opacity:.65}
.fs-in::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.fs-in:focus,.fs-in:focus-visible{outline:none!important} /* the field IS the focus, Apple-style */
nav.top.dark .fs-in,#msearch .fs-in{color:var(--head)}
nav.top.dark .fs-in{color:#fff}
.fs-quick{margin-top:34px;max-width:820px}
.fs-qh{font:600 12px 'Barlow Condensed';letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.fs-list{margin-top:10px;display:flex;flex-direction:column}
.fs-list a{display:flex;align-items:center;gap:12px;font:600 15.5px 'Barlow';color:var(--head);
  padding:9px 0;text-decoration:none;transition:color .2s}
.fs-list a .qa{color:var(--mut);font-weight:700;flex:none;transition:transform .25s var(--ease),color .2s}
.fs-list a:hover{color:var(--blue)}
.fs-list a:hover .qa{transform:translateX(4px);color:var(--blue)}
.fs-list a .fs-sn{font:400 13px/1.45 'Barlow';color:var(--mut);display:block;font-weight:400}
.fs-list a .fs-tt{display:flex;flex-direction:column;gap:2px;min-width:0}
.fs-list a .fs-tt b{font-weight:600}
.fs-list a .fs-sn b{color:var(--head)}
nav.top.dark .fs-list a{color:#E6EBFC}
nav.top.dark .fs-list a:hover{color:var(--gold)}
nav.top.dark .fs-qh{color:#8FA0DC}
.fs-res{margin-top:26px;max-width:820px}
/* r89: a result names its page and, after a dot, its section; ↓ ↑ choose a row (it wears the focus ring) */
.fs-t1{display:flex;align-items:baseline;gap:9px;min-width:0}
.fs-t1 b{flex:none;max-width:100%}
.fs-in2{font:500 13.5px/1.35 'Barlow';color:var(--body);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-in2::before{content:'·';margin-right:9px;color:var(--mut)}
nav.top.dark .fs-in2{color:#C9D3F2}
.fs-list a.kb{outline:3px solid var(--focusc);outline-offset:1px;border-radius:6px;color:var(--blue)}
.fs-list a.kb .qa{transform:translateX(4px);color:var(--blue)}
nav.top.dark .fs-list a.kb{color:var(--gold)}nav.top.dark .fs-list a.kb .qa{color:var(--gold)}
/* the words a search result led to (a text fragment): marked in the house gold, not the browser's own color */
::target-text{background:rgba(245,172,30,.4);color:inherit}
/* (the phone's full-page search: every row a finger's height — the pinned ones and the quick links were 38px) */
#msearch .fs-list a{min-height:44px}
/* (there the section stands on its own line under the page's name — no dot leading a wrapped line; and the floating
   buttons leave while the search covers the page: the accessibility button sat on the results) */
#msearch .fs-t1{flex-direction:column;gap:1px}
#msearch .fs-in2{white-space:normal;overflow:visible}
#msearch .fs-in2::before{display:none}
body:has(#msearch.on) #a11yBtn,body:has(#msearch.on) .lasfab,body:has(#msearch.on) #toTop{opacity:0!important;pointer-events:none}
.fs-none{font:400 14.5px 'Barlow';color:var(--mut);padding:10px 0}
/* mobile search overlay — full page, Apple style */
#msearch{position:fixed;inset:0;z-index:82;background:var(--page);padding:20px 22px 40px;overflow:auto;
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s}
#msearch.on{opacity:1;visibility:visible}
#msearch .ms-x{position:absolute;top:14px;right:16px;width:44px;height:44px;background:none;border:0;cursor:pointer;
  color:var(--head);display:flex;align-items:center;justify-content:center}
#msearch .ms-x svg{width:20px;height:20px}
#msearch .fs-row{margin-top:64px}
#msearch .fs-in{font-size:26px}
/* drawer language pop-up (globe icon -> small card opening UPWARD) */
.dlangdd{position:relative;display:flex}
#dlangBtn{width:44px;height:44px;border-radius:999px;border:1.5px solid rgba(255,255,255,.35);background:none;color:#fff;
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .25s,color .25s}
#dlangBtn svg{width:19px;height:19px}
#dlangBtn:hover,#dlangBtn[aria-expanded="true"]{border-color:var(--gold);color:var(--gold)}
.dlang-pop{position:absolute;bottom:calc(100% + 12px);right:0;min-width:176px;background:#0A1128;
  border:1.5px solid rgba(255,255,255,.16);border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:2px;
  box-shadow:0 -18px 50px -18px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
.dlang-pop.on{opacity:1;visibility:visible;transform:none}
.dlang-pop a{font:600 14px 'Barlow';color:#E6EBFC;padding:9px 12px;border-radius:9px;text-decoration:none}
.dlang-pop a:hover{background:rgba(255,255,255,.07);color:#fff}
.dlang-pop a.cur{color:var(--gold);background:rgba(245,172,30,.12)}
.f-lang{display:flex;align-items:center;gap:12px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.12);
  font:600 13px 'Barlow Condensed';letter-spacing:.18em;text-transform:uppercase}
.f-lang svg{width:17px;height:17px;color:var(--gold);flex:none}
.f-lang a{color:#B9C5EE;text-decoration:none;transition:color .25s;padding-block:8px;margin-block:-8px;display:inline-block}
.f-lang a:hover{color:#fff}
.f-lang a.cur{color:var(--gold)}
.f-lang .fld{color:#5A6BA6}
@media (max-width:640px){.f-lang{justify-content:center}}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
/* r65q (Andrew): es/uk pages flag that video audio is English-only */
.vlang,.vlangrow{display:none}
html[lang="es"] .vlang,html[lang="uk"] .vlang{display:inline-flex;align-items:center;
  font:600 10.5px/1 'Barlow Condensed';letter-spacing:.14em;text-transform:uppercase;color:var(--mut);
  border:1px solid var(--line);border-radius:999px;padding:4px 10px;flex:0 0 auto;white-space:nowrap}
html[lang="es"] .vlangrow,html[lang="uk"] .vlangrow{display:flex;justify-content:flex-end;margin-top:10px}
figcaption .vlang{margin-left:auto}
/* r65k: the document itself never scrolls sideways — and with overflow
   clipped at the root, iOS Safari has nothing to prop its layout viewport
   open with at rotation (the 'crooked' post-rotation state) */
html{overflow-x:clip}
@supports not (overflow:clip){html{overflow-x:hidden}}
body{font-family:'Barlow',system-ui,sans-serif;color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased}
img,svg{display:block}
a{color:inherit}
.wrap{max-width:var(--w);margin:0 auto;padding:0 32px}
.eyebrow{font:600 13px 'Barlow Condensed';letter-spacing:.32em;text-transform:uppercase;color:var(--blue)}
h2.big{font:400 clamp(38px,5.4vw,64px)/1.03 'Anton';color:var(--head);text-transform:uppercase;letter-spacing:.012em}
.lede{font:400 17px/1.65 'Barlow';color:var(--body);max-width:62ch}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 15px 'Barlow';padding:14px 26px;border-radius:999px;
  text-decoration:none;border:2px solid transparent;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s, color .25s;cursor:pointer;will-change:transform}
.btn:focus-visible{outline:3px solid var(--focusc);outline-offset:2px}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--blue)}
.btn-gold{background:var(--gold);color:#3A2C05}
.nlinks .btn-gold,nav.top.dark .nlinks .btn-gold{color:#3A2C05}
/* r70d (Andrew, restated): the glow is the DONATE button's alone — no other button lights up.
   r70e: every button still answers the pointer — a 2px lift and a tone shift */
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-gold:hover{background:#FFC23A}
.btn-gold[href*="hcir_donation"]:hover{box-shadow:0 12px 26px rgba(245,172,30,.38)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-line{border-color:var(--line);color:var(--head)}
.btn-line:hover{border-color:var(--blue);color:var(--blue)}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:10px 18px;z-index:99}
.skip:focus{left:12px;top:12px}
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease), transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}
.ann{background:linear-gradient(92deg,var(--navy) 0%,#172B74 55%,#1D3CAB 100%);color:#EAEFFF;font:500 14px 'Barlow';
  position:relative;z-index:30;overflow:hidden;border-bottom:2px solid var(--gold);
  transition:opacity .25s ease}
/* r50b: the strip sits in the flyout's zone — while a glass panel (or the
   mobile search) is open it fades out so it can't glow through the glass */
body:has(#navFly.on) .ann,body:has(#msearch.on) .ann{opacity:0;pointer-events:none}
.ann::before{content:'';position:absolute;top:0;bottom:0;width:130px;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);left:-18%;
  animation:annsweep 7.5s ease-in-out infinite}
@keyframes annsweep{0%,58%{left:-18%}82%{left:112%}100%{left:112%}}
@media (prefers-reduced-motion:reduce){.ann::before{animation:none}}
.ann .wrap{display:flex;align-items:center;gap:14px;padding-top:10px;padding-bottom:10px}
.ann b{background:var(--gold);color:#3A2C05;font:700 12px 'Barlow Condensed';letter-spacing:.14em;text-transform:uppercase;
  padding:4px 11px;border-radius:999px;white-space:nowrap;flex:none}
.ann a{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:700;
  text-decoration:none;padding:4px 13px;border-radius:999px;white-space:nowrap;margin-left:4px;
  transition:background .25s,border-color .25s,transform .25s}
.ann a:hover{background:var(--gold);border-color:var(--gold);color:#3A2C05;transform:translateY(-1px)}
.ann button{margin-left:auto;background:none;border:0;color:#AFC0F2;font-size:17px;cursor:pointer;padding:9px 12px;margin-block:-7px}
.ann button:hover{color:#fff}
/* r82: the strip is ONE line wherever there is room for one — the dot, the date pill, the text (which gives way
   first: the "free to attend" tail goes below 1100px, then the pill, then the text ends in an ellipsis), Register, ×.
   Before this the pill sat on top of the dot and Register dropped to a second line between ~900 and ~1100px.
   Only an upright phone gets the wrapped two-line strip. */
.ann-m{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}
.ann-t{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ann-m>a{flex:none;margin-left:0}
.ann .ann-m .ann-ok{margin-right:0}
@media (max-width:1100px){.ann-3{display:none}}
@media (max-width:820px){.ann b{display:none}}
@media (max-width:640px) and (orientation:portrait){
  .ann-m{display:block}
  .ann-t{white-space:normal;overflow:visible}
  .ann-m>a{margin-left:4px;display:inline-block;margin-top:5px;vertical-align:middle}   /* (Nov 12: the pill sat into the wrapped line above it) */
  .ann .ann-m .ann-ok{margin-right:8px}
}
@media (min-width:481px) and (max-width:640px) and (orientation:portrait){.ann-3{display:inline}}
@media (max-width:480px) and (orientation:portrait){.ann{font-size:13.5px}.ann .wrap{gap:8px}}
/* r77: the strip in the LAS colorway — Deep Pacific, Rescue Orange as the signal */
.ann.ann-las{background:linear-gradient(92deg,#082427 0%,#0B2E33 50%,#136972 100%);color:#F4FAF8;border-bottom-color:#FF5A1F}
.ann.ann-las b{background:#FF5A1F;color:#0B2E33}
.ann.ann-las a{border-color:rgba(167,219,212,.5);color:#F4FAF8}
.ann.ann-las a:hover{background:#FF5A1F;border-color:#FF5A1F;color:#0B2E33}
.ann.ann-las button{color:#A7DBD4}
.ann.ann-las button:hover{color:#F4FAF8}
.ann.ann-las .ann-ok{display:inline-block;width:12px;height:12px;border-radius:50%;background:#FF5A1F;box-shadow:0 0 0 4px rgba(255,90,31,.2);margin-right:10px;vertical-align:-1px;flex:none}
html.a11y-still .ann::before{animation:none}
/* r47: the bar, the Apple way — one compact constant-height glass strip,
   logo hard left, flat controls with clean even gaps */
nav.top{position:sticky;top:0;z-index:50;background:rgba(252,251,247,.85);
  backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);
  box-shadow:0 1px 0 rgba(20,27,48,.07);transition:background .3s,box-shadow .3s}
nav.top.dark{background:rgba(4,8,31,.9)}

nav.top>.wrap{display:flex;align-items:center;gap:22px;height:52px;padding-top:0;padding-bottom:0}
.nbtns{display:flex;align-items:center;gap:20px}
.nav-mark{height:30px;width:auto}
.nbrand{display:flex;align-items:center;flex:none}
.nlinks{display:flex;gap:24px;margin-left:auto;align-items:center}
.nlinks a,.nlinks .navtrig{font:500 14px 'Barlow';text-decoration:none;color:var(--ink);position:relative;padding:4px 0;white-space:nowrap}
.nlinks .navtrig{background:none;border:0;cursor:pointer}
nav.top.dark .nlinks a,nav.top.dark .nlinks .navtrig{color:#E6EBFC}
.nlinks a::after,.nlinks .navtrig::after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:2.5px;background:var(--gold);border-radius:2px;transition:right .3s var(--ease)}
.nlinks a:hover::after,.nlinks a.act::after,.nlinks a[aria-expanded="true"]::after,
.nlinks .navtrig:hover::after,.nlinks .navtrig.act::after,.nlinks .navtrig[aria-expanded="true"]::after{right:0}
.nlinks .btn::before,.nlinks .btn::after{content:none!important}
.nlinks .btn.nav-donate{padding:7px 16px;font:600 13.5px 'Barlow';gap:0}
.nlinks .nav-donate .nico{display:none}
#burger{display:none;background:none;border:0;cursor:pointer;width:40px;height:44px;position:relative;z-index:71;flex:none}
#burger span{position:absolute;left:9px;right:9px;height:2.2px;background:var(--navy);border-radius:2px;transition:.35s var(--ease)}
#burger span:nth-child(1){top:18px}#burger span:nth-child(2){top:25px}
#burger.x span{background:#fff}
#burger.x span:nth-child(1){top:21.5px;transform:rotate(45deg)}
#burger.x span:nth-child(2){top:21.5px;transform:rotate(-45deg)}
nav.top.dark #burger span{background:#fff}
/* while the drawer is open the bar floats above it, stripped to just the x */
body.drawer-open nav.top{z-index:72;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.drawer-open nav.top .nbrand,body.drawer-open nav.top #srchBtn,body.drawer-open nav.top #a11yNav{opacity:0;pointer-events:none;transition:opacity .3s}
.nbrand,#srchBtn,#a11yNav{transition:opacity .3s}
body.drawer-open #a11yBtn{opacity:0;pointer-events:none} /* keep the menu's bottom row clean */
@media (max-width:760px){
  nav.top>.wrap{height:48px;padding-left:16px;padding-right:10px;gap:2px}
  .nav-mark{height:25px}
  #srchBtn{margin-left:auto}
  .nicobtn{width:40px;height:44px}
}
/* back to work pill */
.backpill{display:inline-flex;align-items:center;gap:9px;font:600 12.5px 'Barlow Condensed';letter-spacing:.22em;
  text-transform:uppercase;color:var(--head);border:1.5px solid var(--line);border-radius:999px;padding:9px 18px 9px 15px;
  text-decoration:none;background:var(--card);transition:border-color .25s,color .25s,transform .25s var(--ease)}
.backpill .ba{font-family:'Barlow';font-weight:700;font-size:14px;transition:transform .25s var(--ease)}
.backpill:hover{border-color:var(--gold);color:var(--gold)}
.backpill:hover .ba{transform:translateX(-3px)}
.backpill.ondark{color:#E6EBFC;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.05)}
.backpill.ondark:hover{border-color:var(--gold);color:var(--gold)}
/* r47: the drawer, cleaned — no logo, no numbers, six lines + one compact row */
#drawer .dl>a{opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
#drawer.open .dl>a{opacity:1;transform:none}
#drawer.open .dl>a:nth-of-type(1){transition-delay:.06s}
#drawer.open .dl>a:nth-of-type(2){transition-delay:.10s}
#drawer.open .dl>a:nth-of-type(3){transition-delay:.14s}
#drawer.open .dl>a:nth-of-type(4){transition-delay:.18s}
#drawer.open .dl>a:nth-of-type(5){transition-delay:.22s}
#drawer.open .dl>a:nth-of-type(6){transition-delay:.26s}
#drawer .dfoot{opacity:0;transition:opacity .5s var(--ease) .32s}
#drawer.open .dfoot{opacity:1}
#drawer{position:fixed;inset:0;background:var(--navy);z-index:70;display:flex;flex-direction:column;
  padding:72px 30px 28px;transform:translateY(-102%);visibility:hidden;transition:transform .5s var(--ease),visibility 0s .5s;overflow:auto}
#drawer.open{transform:none;visibility:visible;transition:transform .5s var(--ease)}
#toTop{position:fixed;right:20px;bottom:20px;z-index:58;width:52px;height:52px;border-radius:50%;cursor:pointer;
  background:var(--navy);color:#fff;border:1.5px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 34px -12px rgba(12,30,96,.55);opacity:0;visibility:hidden;transform:translateY(16px);
  transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s,border-color .25s,background .25s}
#toTop.on{opacity:1;visibility:visible;transform:none}
#toTop:hover{border-color:var(--gold);background:var(--blue);transform:translateY(-3px)}
#toTop svg{width:22px;height:auto;transform:rotate(-14deg)}

@media (max-width:560px){#toTop{right:14px;bottom:14px;width:46px;height:46px}}
#drawer .dl{margin:auto 0;display:flex;flex-direction:column;gap:4px}
#drawer .dl a{font:400 clamp(26px,6.4vw,34px) 'Anton';color:#fff;text-decoration:none;text-transform:uppercase;
  letter-spacing:.02em;padding:7px 0;display:block}
#drawer .dl a:hover,#drawer .dl a.act{color:var(--gold)}
/* r47: one clean bottom row — Donate · Members · globe (language pops UP) */
#drawer .dfoot{display:flex;gap:12px;align-items:center}
#drawer .dfoot .btn{padding:11px 22px;font:600 14px 'Barlow'}
#drawer .dfoot .dlangdd{margin-left:auto}
/* page hero (interior pages) */
.phero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--hero1),var(--hero2) 62%,var(--page))} /* r45e: hero melts into the page */
.phero .wrap{padding-top:72px;padding-bottom:64px;position:relative}
.phero.pat-flight{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NjAgNTYwIiB3aWR0aD0iNTYwIiBoZWlnaHQ9IjU2MC4wIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MCw4MCkgcm90YXRlKC04KSBzY2FsZSgwLjUyKSB0cmFuc2xhdGUoLTUwLC0zNSkiIG9wYWNpdHk9IjAuMDUiPjxwYXRoIGZpbGw9IiM1RjRBMzYiIGQ9Ik05MiwzOEM4NiwzMyA3OSwzMCA3MCwzMEM1OCwyNiA0MCwxNCAyOCw0QzMzLDE2IDQ0LDI2IDU2LDMyQzQyLDMzIDI2LDMxIDEyLDI0QzIyLDMzIDM2LDM5IDUwLDQwQzQyLDQ2IDM0LDUwIDI0LDUyQzM0LDUyIDQ0LDUwIDU0LDQ1QzY0LDQ0IDc2LDQyIDkyLDM4WiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MzAsODApIHJvdGF0ZSgtOCkgc2NhbGUoMC41MikgdHJhbnNsYXRlKC01MCwtMzUpIiBvcGFjaXR5PSIwLjA1Ij48cGF0aCBmaWxsPSIjNUY0QTM2IiBkPSJNOTIsMzhDODYsMzMgNzksMzAgNzAsMzBDNTgsMjYgNDAsMTQgMjgsNEMzMywxNiA0NCwyNiA1NiwzMkM0MiwzMyAyNiwzMSAxMiwyNEMyMiwzMyAzNiwzOSA1MCw0MEM0Miw0NiAzNCw1MCAyNCw1MkMzNCw1MiA0NCw1MCA1NCw0NUM2NCw0NCA3Niw0MiA5MiwzOFoiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUwLDQwKSByb3RhdGUoLTEyKSBzY2FsZSgwLjM4KSB0cmFuc2xhdGUoLTUwLC0zNSkiIG9wYWNpdHk9IjAuMDUiPjxwYXRoIGZpbGw9IiM1RjRBMzYiIGQ9Ik04Niw0NkM4MCw0MiA3Myw0MCA2NSw0MEM2MywyOCA1OCwxNCA0OCw0QzQ4LDE4IDUyLDMyIDU0LDQwQzUwLDM2IDQyLDI0IDMyLDEyQzM2LDI2IDQyLDM2IDQ3LDQyQzM4LDQ1IDI4LDQ2IDE4LDQ0QzI4LDUwIDQwLDUxIDUwLDQ5QzYwLDUwIDc0LDQ4IDg2LDQ2WiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNTAsNjAwKSByb3RhdGUoLTEyKSBzY2FsZSgwLjM4KSB0cmFuc2xhdGUoLTUwLC0zNSkiIG9wYWNpdHk9IjAuMDUiPjxwYXRoIGZpbGw9IiM1RjRBMzYiIGQ9Ik04Niw0NkM4MCw0MiA3Myw0MCA2NSw0MEM2MywyOCA1OCwxNCA0OCw0QzQ4LDE4IDUyLDMyIDU0LDQwQzUwLDM2IDQyLDI0IDMyLDEyQzM2LDI2IDQyLDM2IDQ3LDQyQzM4LDQ1IDI4LDQ2IDE4LDQ0QzI4LDUwIDQwLDUxIDUwLDQ5QzYwLDUwIDc0LDQ4IDg2LDQ2WiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MjAsMTEwKSByb3RhdGUoLTQpIHNjYWxlKDAuNTgpIHRyYW5zbGF0ZSgtNTAsLTM1KSIgb3BhY2l0eT0iMC4wNSI+PHBhdGggZmlsbD0iIzVGNEEzNiIgZD0iTTgyLDQ4Qzc3LDQ0IDcwLDQxIDYyLDQxQzYyLDI4IDU4LDEyIDQ4LDJDNDYsMTYgNTAsMzAgNTIsNDFDNDYsMzYgMzQsMjIgMjQsMTBDMjgsMjQgMzYsMzYgNDIsNDRDMzQsNTAgMjYsNTggMjAsNjZDMzAsNjQgNDAsNTggNDgsNTJDNTgsNTIgNzAsNTAgODIsNDhaIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwyNTApIHJvdGF0ZSgtMTApIHNjYWxlKDAuNDIpIHRyYW5zbGF0ZSgtNTAsLTM1KSIgb3BhY2l0eT0iMC4wNSI+PHBhdGggZmlsbD0iIzVGNEEzNiIgZD0iTTg2LDQ2QzgwLDQyIDczLDQwIDY1LDQwQzYzLDI4IDU4LDE0IDQ4LDRDNDgsMTggNTIsMzIgNTQsNDBDNTAsMzYgNDIsMjQgMzIsMTJDMzYsMjYgNDIsMzYgNDcsNDJDMzgsNDUgMjgsNDYgMTgsNDRDMjgsNTAgNDAsNTEgNTAsNDlDNjAsNTAgNzQsNDggODYsNDZaIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMyMCwyMzApIHJvdGF0ZSgtNikgc2NhbGUoMC42MikgdHJhbnNsYXRlKC01MCwtMzUpIiBvcGFjaXR5PSIwLjA1Ij48cGF0aCBmaWxsPSIjNUY0QTM2IiBkPSJNOTIsMzhDODYsMzMgNzksMzAgNzAsMzBDNTgsMjYgNDAsMTQgMjgsNEMzMywxNiA0NCwyNiA1NiwzMkM0MiwzMyAyNiwzMSAxMiwyNEMyMiwzMyAzNiwzOSA1MCw0MEM0Miw0NiAzNCw1MCAyNCw1MkMzNCw1MiA0NCw1MCA1NCw0NUM2NCw0NCA3Niw0MiA5MiwzOFoiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYwLDMwMCkgcm90YXRlKC0xNCkgc2NhbGUoMC4zNikgdHJhbnNsYXRlKC01MCwtMzUpIiBvcGFjaXR5PSIwLjA1Ij48cGF0aCBmaWxsPSIjNUY0QTM2IiBkPSJNODYsNDZDODAsNDIgNzMsNDAgNjUsNDBDNjMsMjggNTgsMTQgNDgsNEM0OCwxOCA1MiwzMiA1NCw0MEM1MCwzNiA0MiwyNCAzMiwxMkMzNiwyNiA0MiwzNiA0Nyw0MkMzOCw0NSAyOCw0NiAxOCw0NEMyOCw1MCA0MCw1MSA1MCw0OUM2MCw1MCA3NCw0OCA4Niw0NloiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAwLDMwMCkgcm90YXRlKC0xNCkgc2NhbGUoMC4zNikgdHJhbnNsYXRlKC01MCwtMzUpIiBvcGFjaXR5PSIwLjA1Ij48cGF0aCBmaWxsPSIjNUY0QTM2IiBkPSJNODYsNDZDODAsNDIgNzMsNDAgNjUsNDBDNjMsMjggNTgsMTQgNDgsNEM0OCwxOCA1MiwzMiA1NCw0MEM1MCwzNiA0MiwyNCAzMiwxMkMzNiwyNiA0MiwzNiA0Nyw0MkMzOCw0NSAyOCw0NiAxOCw0NEMyOCw1MCA0MCw1MSA1MCw0OUM2MCw1MCA3NCw0OCA4Niw0NloiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDAsNDIwKSByb3RhdGUoLTEyKSBzY2FsZSgwLjQpIHRyYW5zbGF0ZSgtNTAsLTM1KSIgb3BhY2l0eT0iMC4wNSI+PHBhdGggZmlsbD0iIzVGNEEzNiIgZD0iTTkyLDM4Qzg2LDMzIDc5LDMwIDcwLDMwQzU4LDI2IDQwLDE0IDI4LDRDMzMsMTYgNDQsMjYgNTYsMzJDNDIsMzMgMjYsMzEgMTIsMjRDMjIsMzMgMzYsMzkgNTAsNDBDNDIsNDYgMzQsNTAgMjQsNTJDMzQsNTIgNDQsNTAgNTQsNDVDNjQsNDQgNzYsNDIgOTIsMzhaIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwMCw0MjApIHJvdGF0ZSgtMTIpIHNjYWxlKDAuNCkgdHJhbnNsYXRlKC01MCwtMzUpIiBvcGFjaXR5PSIwLjA1Ij48cGF0aCBmaWxsPSIjNUY0QTM2IiBkPSJNOTIsMzhDODYsMzMgNzksMzAgNzAsMzBDNTgsMjYgNDAsMTQgMjgsNEMzMywxNiA0NCwyNiA1NiwzMkM0MiwzMyAyNiwzMSAxMiwyNEMyMiwzMyAzNiwzOSA1MCw0MEM0Miw0NiAzNCw1MCAyNCw1MkMzNCw1MiA0NCw1MCA1NCw0NUM2NCw0NCA3Niw0MiA5MiwzOFoiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjMwLDQwMCkgcm90YXRlKC0yKSBzY2FsZSgwLjUyKSB0cmFuc2xhdGUoLTUwLC0zNSkiIG9wYWNpdHk9IjAuMDUiPjxwYXRoIGZpbGw9IiM1RjRBMzYiIGQ9Ik04Miw0OEM3Nyw0NCA3MCw0MSA2Miw0MUM2MiwyOCA1OCwxMiA0OCwyQzQ2LDE2IDUwLDMwIDUyLDQxQzQ2LDM2IDM0LDIyIDI0LDEwQzI4LDI0IDM2LDM2IDQyLDQ0QzM0LDUwIDI2LDU4IDIwLDY2QzMwLDY0IDQwLDU4IDQ4LDUyQzU4LDUyIDcwLDUwIDgyLDQ4WiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MjAsNDcwKSByb3RhdGUoLTgpIHNjYWxlKDAuNDQpIHRyYW5zbGF0ZSgtNTAsLTM1KSIgb3BhY2l0eT0iMC4wNSI+PHBhdGggZmlsbD0iIzVGNEEzNiIgZD0iTTg2LDQ2QzgwLDQyIDczLDQwIDY1LDQwQzYzLDI4IDU4LDE0IDQ4LDRDNDgsMTggNTIsMzIgNTQsNDBDNTAsMzYgNDIsMjQgMzIsMTJDMzYsMjYgNDIsMzYgNDcsNDJDMzgsNDUgMjgsNDYgMTgsNDRDMjgsNTAgNDAsNTEgNTAsNDlDNjAsNTAgNzQsNDggODYsNDZaIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMCw2MCkgcm90YXRlKC0xMCkgc2NhbGUoMC4zKSB0cmFuc2xhdGUoLTUwLC0zNSkiIG9wYWNpdHk9IjAuMDUiPjxwYXRoIGZpbGw9IiM1RjRBMzYiIGQ9Ik05MiwzOEM4NiwzMyA3OSwzMCA3MCwzMEM1OCwyNiA0MCwxNCAyOCw0QzMzLDE2IDQ0LDI2IDU2LDMyQzQyLDMzIDI2LDMxIDEyLDI0QzIyLDMzIDM2LDM5IDUwLDQwQzQyLDQ2IDM0LDUwIDI0LDUyQzM0LDUyIDQ0LDUwIDU0LDQ1QzY0LDQ0IDc2LDQyIDkyLDM4WiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjAsNjIwKSByb3RhdGUoLTEwKSBzY2FsZSgwLjMpIHRyYW5zbGF0ZSgtNTAsLTM1KSIgb3BhY2l0eT0iMC4wNSI+PHBhdGggZmlsbD0iIzVGNEEzNiIgZD0iTTkyLDM4Qzg2LDMzIDc5LDMwIDcwLDMwQzU4LDI2IDQwLDE0IDI4LDRDMzMsMTYgNDQsMjYgNTYsMzJDNDIsMzMgMjYsMzEgMTIsMjRDMjIsMzMgMzYsMzkgNTAsNDBDNDIsNDYgMzQsNTAgMjQsNTJDMzQsNTIgNDQsNTAgNTQsNDVDNjQsNDQgNzYsNDIgOTIsMzhaIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU0MCw2MCkgcm90YXRlKC0xMCkgc2NhbGUoMC4zKSB0cmFuc2xhdGUoLTUwLC0zNSkiIG9wYWNpdHk9IjAuMDUiPjxwYXRoIGZpbGw9IiM1RjRBMzYiIGQ9Ik05MiwzOEM4NiwzMyA3OSwzMCA3MCwzMEM1OCwyNiA0MCwxNCAyOCw0QzMzLDE2IDQ0LDI2IDU2LDMyQzQyLDMzIDI2LDMxIDEyLDI0QzIyLDMzIDM2LDM5IDUwLDQwQzQyLDQ2IDM0LDUwIDI0LDUyQzM0LDUyIDQ0LDUwIDU0LDQ1QzY0LDQ0IDc2LDQyIDkyLDM4WiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NDAsNjIwKSByb3RhdGUoLTEwKSBzY2FsZSgwLjMpIHRyYW5zbGF0ZSgtNTAsLTM1KSIgb3BhY2l0eT0iMC4wNSI+PHBhdGggZmlsbD0iIzVGNEEzNiIgZD0iTTkyLDM4Qzg2LDMzIDc5LDMwIDcwLDMwQzU4LDI2IDQwLDE0IDI4LDRDMzMsMTYgNDQsMjYgNTYsMzJDNDIsMzMgMjYsMzEgMTIsMjRDMjIsMzMgMzYsMzkgNTAsNDBDNDIsNDYgMzQsNTAgMjQsNTJDMzQsNTIgNDQsNTAgNTQsNDVDNjQsNDQgNzYsNDIgOTIsMzhaIi8+PC9nPjwvc3ZnPg==);background-size:560px}
.phero.pat-arches{background-image:url(/assets/p-20a7bd52e1.svg);background-size:520px}
.phero h1.ph{font:400 clamp(44px,6.6vw,84px)/1.0 'Anton';color:var(--head);text-transform:uppercase;letter-spacing:.012em;margin-top:14px}
.phero .lede{margin-top:18px}
.phero .stroke{position:absolute;right:-6%;bottom:-4px;width:52%;max-width:760px;color:var(--gold);opacity:.9}
.crumb{font:600 12px 'Barlow Condensed';letter-spacing:.26em;text-transform:uppercase;color:var(--mut)}
.crumb a{color:var(--brown);text-decoration:none}
.crumb a:hover{color:var(--blue)}
/* dark hero variant */
.phero.dark{background:linear-gradient(180deg,#04081F,#081540 55%,var(--navy))}
.phero.dark h1.ph{color:#fff}
.phero.dark .lede{color:#C9D3F2}
.phero.dark .crumb{color:#8FA0DC}
.phero.dark .crumb a{color:var(--gold)}
/* starfield canvas */
.starwrap{position:relative;overflow:hidden}
.starwrap>canvas{position:absolute;inset:0;width:100%;height:100%}
.starwrap>.wrap{position:relative}
/* marquee */
.mq{background:var(--navy);color:#fff;overflow:hidden;padding:17px 0;position:relative}
.mq .track{display:flex;gap:44px;width:max-content;animation:mq 46s linear infinite;align-items:center}
.mq:hover .track{animation-play-state:paused}
.mq span{font:600 17px 'Barlow',system-ui;letter-spacing:.06em;white-space:nowrap;color:#DDE4FA}
.mq i{display:flex}
.mq-ok{width:9px;color:var(--gold);opacity:.85}
/* language greeting strip — user-scrollable, no auto motion */
.langs{background:var(--navy);color:#fff;padding:30px 0 26px;position:relative;overflow:hidden}
.langs .lhead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.langs .lt{font:600 12.5px 'Barlow Condensed';letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.langs .lt b{color:#fff;font-weight:600}
.langs .lc{font:600 11px 'Barlow Condensed';letter-spacing:.2em;text-transform:uppercase;color:#8FA0DC}
.lang-scroll{display:flex;gap:12px;overflow-x:auto;cursor:grab;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  padding:4px max(32px,calc((100vw - var(--w))/2 + 32px)) 8px;
  scrollbar-width:none;-ms-overflow-style:none}
.lang-scroll.drag{cursor:grabbing;user-select:none}
.lang-scroll::-webkit-scrollbar{display:none}
.lang{flex:none;border:1.5px solid rgba(255,255,255,.14);border-radius:16px;padding:14px 20px 12px;
  background:rgba(255,255,255,.05);transition:border-color .25s,background .25s,transform .25s var(--ease)}
.lang:hover{border-color:var(--gold);background:rgba(245,172,30,.1);transform:translateY(-3px)}
.lang .g{font:600 22px/1.3 'Barlow Condensed',system-ui,sans-serif;color:#fff;white-space:nowrap}
.lang .n{font:600 11px 'Barlow Condensed';letter-spacing:.16em;text-transform:uppercase;color:#8FA0DC;margin-top:4px;white-space:nowrap}
.lang:hover .n{color:var(--gold)}
/* r45e: aloha strip edge fades removed — hard cut, same as every rail */
@media (max-width:700px){.langs .lhead{flex-wrap:wrap}.langs .lc{display:none}}
@keyframes mq{to{transform:translateX(-50%)}}
/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:32px 28px;position:relative;overflow:hidden;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s}
.card:hover{transform:translateY(-7px);box-shadow:0 24px 48px rgba(12,30,96,.10)}
.card.spot::before{content:'';position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .35s;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%), rgba(245,172,30,.13), transparent 65%);pointer-events:none}
.card.spot:hover::before{opacity:1}
.card :is(h2,h3).anton{font:400 25px 'Anton';color:var(--head);text-transform:uppercase;letter-spacing:.02em;margin-bottom:12px}
.card p{font:400 15px/1.66 'Barlow';color:var(--body)}
.card .arc{position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--gold),var(--blue));
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.card:hover .arc{transform:none}
.icon52{height:52px;color:var(--blue);margin-bottom:20px;display:flex;align-items:flex-end}
.icon52 svg{height:100%;width:auto;color:inherit}
/* work cards */
.wtag{font:700 11px 'Barlow Condensed';letter-spacing:.24em;text-transform:uppercase;color:var(--amber)}
.wcard{background:var(--card);border-radius:18px;padding:26px 24px 22px;position:relative;border:1px solid var(--line);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), opacity .4s;cursor:default;overflow:hidden}
.wcard:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(95,74,54,.13)}
.wcard.hid{display:none}
.wcard.feat{border:2px solid rgba(245,172,30,.65);
  background:linear-gradient(135deg,rgba(245,172,30,.10),rgba(245,172,30,0) 52%),var(--card);
  box-shadow:0 16px 40px -18px rgba(245,172,30,.4)}
.wcard.feat:hover{border-color:var(--gold);box-shadow:0 24px 52px -18px rgba(245,172,30,.55)}
.wcard.feat h3{font-size:23px}
.featstar{font:700 11px 'Barlow Condensed';letter-spacing:.16em;text-transform:uppercase;color:#3A2C05;
  background:var(--gold);padding:4px 11px;border-radius:999px;flex:none}
.wcard :is(h2,h3){font:600 21px/1.2 'Barlow Condensed';color:var(--head);margin:10px 0 8px}
.wcard p{font:400 14.5px/1.6 'Barlow';color:var(--body)}
.warr{position:absolute;right:18px;top:20px;width:26px;color:#D8CDBA;transition:color .3s, transform .3s var(--ease)}
.wcard:hover .warr{color:var(--blue);transform:translate(3px,-3px)}
.warr svg{width:100%}
.badge{display:inline-flex;font:700 11px 'Barlow Condensed';letter-spacing:.22em;text-transform:uppercase;
  border-radius:99px;padding:5px 12px}
.badge.done{background:#E8EDF7;color:#44507A}
.badge.now{background:rgba(30,142,62,.12);color:#157A36}
.badge.next{background:rgba(245,172,30,.16);color:#8A5E00}
/* lanes */
.lanes{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 8px}
.lane-btn{font:600 15px 'Barlow';padding:11px 24px;border-radius:999px;border:1.5px solid var(--line);background:transparent;
  color:var(--brown);cursor:pointer;transition:.25s;display:inline-flex;gap:9px;align-items:center}
.lane-btn:hover{border-color:var(--blue);color:var(--blue)}
.lane-btn.on{background:var(--navy);border-color:var(--navy);color:#fff}
.lane-btn .n{font:600 12px 'Barlow Condensed';letter-spacing:.08em;opacity:.75}
.lane{display:none}
.lane.on{display:block;animation:lanein .5s var(--ease)}
@keyframes lanein{from{opacity:0;transform:translateY(16px)}to{opacity:1}}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 26px}
.chip{font:600 13.5px 'Barlow';padding:8px 18px;border-radius:999px;border:1.5px solid var(--line);background:transparent;
  color:var(--brown);cursor:pointer;transition:.25s}
.chip:hover{border-color:var(--blue);color:var(--blue)}
.chip.on{background:var(--brown);border-color:var(--brown);color:#fff}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
/* stats */
.dstat{border-top:3px solid var(--gold);padding-top:18px}
.dstat .n{font:400 46px 'Anton';color:var(--head)}
.dstat p{font:400 14px/1.55 'Barlow';color:var(--body);margin-top:8px}
/* footer */
footer{background:var(--navy);color:#B9C5EE;position:relative;overflow:hidden}
footer .wrap{position:relative;padding-top:34px;padding-bottom:38px}
/* r47: Apple-style "you are here" strip at the top of the footer */
.f-crumb{display:flex;align-items:center;gap:12px;padding:6px 0 20px;margin-bottom:42px;
  border-bottom:1px solid rgba(255,255,255,.12);font:600 13.5px 'Barlow'}
.f-crumb a{color:#B9C5EE;text-decoration:none;transition:color .25s;display:flex;align-items:center}
.f-crumb a:hover{color:#fff}
.f-crumb .fc-mark{height:20px;width:auto}
.f-crumb .fc-sep{color:#5A6BA6;font-weight:700}
.f-crumb .fc-cur{color:#fff}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding-bottom:46px}
.foot-mark{height:62px;width:auto;margin-bottom:20px}
.foot-lockup{height:96px;width:auto;margin-bottom:20px}
.f-grid :is(h2,h4){font:600 12.5px 'Barlow Condensed';letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.f-grid a{display:block;font:400 14.5px/2.1 'Barlow';color:#B9C5EE;text-decoration:none}
.f-grid a:hover{color:#fff}
#dlangBtn{min-width:34px;min-height:34px}
#navLang{padding:9px 8px;margin-block:-9px;margin-inline:-4px}
.f-note{font:400 14.5px/1.7 'Barlow';color:#8FA0DC;max-width:34ch}
.f-bottom{display:flex;align-items:center;gap:20px;padding-top:26px;font:400 13px 'Barlow';color:#7E8DC7;flex-wrap:wrap}
.f-bottom .up{display:inline-flex;align-items:center;gap:9px;background:none;border:1.5px solid rgba(255,255,255,.25);
  color:#fff;font:600 13px 'Barlow';border-radius:999px;padding:9px 18px;cursor:pointer;transition:.25s}
.f-bottom .up:hover{border-color:var(--gold);color:var(--gold)}
.f-bottom .flegal{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap}
.f-bottom .flegal a{color:#7E8DC7;text-decoration:none;transition:color .25s;padding-block:8px;margin-block:-8px;display:inline-block}
.f-bottom .flegal a:hover{color:#fff}
.f-bottom .up svg{width:20px;transform:rotate(-38deg)}
.credit{display:flex;align-items:center;margin-left:auto;padding:2px 0;color:#fff;opacity:.6;
  transition:opacity .3s ease,color .5s ease}
.f-bottom .up{margin-left:28px}
@media (max-width:900px){.credit{flex-basis:100%;justify-content:center;margin-left:0;margin-top:14px;order:9}}
.credit:hover{opacity:.95}
.credit svg{display:block;height:34px;width:auto}
.credit svg a{cursor:pointer;transition:color .25s ease}
.credit svg a.cw{color:inherit}
.credit svg a.cw:hover{color:var(--gold)}
.credit svg a.cig{color:var(--gold)}
.credit svg a.cig:hover{color:#8298E5}
@media (max-width:560px){.credit svg{height:26px}}
@media (max-width:700px){
  .f-bottom{justify-content:center;row-gap:8px}
  .f-bottom>span{flex-basis:100%;text-align:center}
  .f-bottom .fdot{display:none}
  .f-bottom .up{margin:8px auto 0}
}
.f-birds{position:absolute;right:6%;top:48px;display:flex;gap:20px;align-items:flex-end;color:rgba(245,172,30,.85)}
.f-birds svg{width:34px}.f-birds svg:nth-child(2){width:46px}.f-birds svg:nth-child(3){width:26px}
/* sections */
.sec{padding:100px 0}
.sec.tight{padding:76px 0}
/* r45e: colored sections meet their neighbors as smooth ramps — no hard edges */
.sec.sand{background:linear-gradient(180deg,var(--page),var(--sand-bg) 150px,var(--sand-bg) calc(100% - 150px),var(--page))}
.sec.mist{background:linear-gradient(180deg,var(--page),var(--mist-bg) 150px,var(--mist-bg) calc(100% - 150px),var(--page))}
.sec.okina-pat{background-color:var(--mist-bg);background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNjAgMzYwIiB3aWR0aD0iMzYwIiBoZWlnaHQ9IjM2MC4wIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MCw2MCkgcm90YXRlKDYpIHNjYWxlKDAuMzQpIHRyYW5zbGF0ZSgtMzUsLTUwKSIgb3BhY2l0eT0iMC4wMzUiPjxwYXRoIGZpbGw9IiMxQTNGQzQiIGQ9Ik0wIDEwMFY0NS45TDE5LjEgMEg1OC42TDQ2LjMgNDQuMkg3MFYxMDBaIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwxODApIHJvdGF0ZSgtMTApIHNjYWxlKDAuMzQpIHRyYW5zbGF0ZSgtMzUsLTUwKSIgb3BhY2l0eT0iMC4wMzUiPjxwYXRoIGZpbGw9IiMxQTNGQzQiIGQ9Ik0wIDEwMFY0NS45TDE5LjEgMEg1OC42TDQ2LjMgNDQuMkg3MFYxMDBaIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwLDMwMCkgcm90YXRlKDYpIHNjYWxlKDAuMzQpIHRyYW5zbGF0ZSgtMzUsLTUwKSIgb3BhY2l0eT0iMC4wMzUiPjxwYXRoIGZpbGw9IiMxQTNGQzQiIGQ9Ik0wIDEwMFY0NS45TDE5LjEgMEg1OC42TDQ2LjMgNDQuMkg3MFYxMDBaIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCw2MCkgcm90YXRlKC0xMCkgc2NhbGUoMC4zNCkgdHJhbnNsYXRlKC0zNSwtNTApIiBvcGFjaXR5PSIwLjAzNSI+PHBhdGggZmlsbD0iIzFBM0ZDNCIgZD0iTTAgMTAwVjQ1LjlMMTkuMSAwSDU4LjZMNDYuMyA0NC4ySDcwVjEwMFoiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLDE4MCkgcm90YXRlKDYpIHNjYWxlKDAuMzQpIHRyYW5zbGF0ZSgtMzUsLTUwKSIgb3BhY2l0eT0iMC4wMzUiPjxwYXRoIGZpbGw9IiMxQTNGQzQiIGQ9Ik0wIDEwMFY0NS45TDE5LjEgMEg1OC42TDQ2LjMgNDQuMkg3MFYxMDBaIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwzMDApIHJvdGF0ZSgtMTApIHNjYWxlKDAuMzQpIHRyYW5zbGF0ZSgtMzUsLTUwKSIgb3BhY2l0eT0iMC4wMzUiPjxwYXRoIGZpbGw9IiMxQTNGQzQiIGQ9Ik0wIDEwMFY0NS45TDE5LjEgMEg1OC42TDQ2LjMgNDQuMkg3MFYxMDBaIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMCw2MCkgcm90YXRlKDYpIHNjYWxlKDAuMzQpIHRyYW5zbGF0ZSgtMzUsLTUwKSIgb3BhY2l0eT0iMC4wMzUiPjxwYXRoIGZpbGw9IiMxQTNGQzQiIGQ9Ik0wIDEwMFY0NS45TDE5LjEgMEg1OC42TDQ2LjMgNDQuMkg3MFYxMDBaIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMTgwKSByb3RhdGUoLTEwKSBzY2FsZSgwLjM0KSB0cmFuc2xhdGUoLTM1LC01MCkiIG9wYWNpdHk9IjAuMDM1Ij48cGF0aCBmaWxsPSIjMUEzRkM0IiBkPSJNMCAxMDBWNDUuOUwxOS4xIDBINTguNkw0Ni4zIDQ0LjJINzBWMTAwWiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjAsMTgwKSByb3RhdGUoLTEwKSBzY2FsZSgwLjM0KSB0cmFuc2xhdGUoLTM1LC01MCkiIG9wYWNpdHk9IjAuMDM1Ij48cGF0aCBmaWxsPSIjMUEzRkM0IiBkPSJNMCAxMDBWNDUuOUwxOS4xIDBINTguNkw0Ni4zIDQ0LjJINzBWMTAwWiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsMzAwKSByb3RhdGUoNikgc2NhbGUoMC4zNCkgdHJhbnNsYXRlKC0zNSwtNTApIiBvcGFjaXR5PSIwLjAzNSI+PHBhdGggZmlsbD0iIzFBM0ZDNCIgZD0iTTAgMTAwVjQ1LjlMMTkuMSAwSDU4LjZMNDYuMyA0NC4ySDcwVjEwMFoiLz48L2c+PC9zdmc+);background-size:250px}
.sec.navy{background:linear-gradient(175deg,#081540,var(--navy) 55%,#122A80);color:#fff} /* r45f: closing strips are SOLID blocks — no page ramp */
.sec.navy h2.big{color:#fff}
.sec.navy .lede{color:#C9D3F2}
.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px;flex-wrap:wrap}
.morelink{font:600 15px 'Barlow';color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  padding-block:4px;margin-block:-4px} 
 /* dark --blue text sat at 4.38:1 on navy — nudged over AA */
.morelink:hover{gap:12px}
.morelink{transition:gap .25s var(--ease)}
/* responsive */
@media (max-width:1020px){
  .grid3{grid-template-columns:1fr 1fr}
  .f-grid{grid-template-columns:1fr 1fr}
  .f-grid>div:first-child{grid-column:1/-1;text-align:center}
  .f-grid>div:first-child .foot-lockup{margin-left:auto;margin-right:auto}
  .f-grid>div:first-child .f-note{margin-left:auto;margin-right:auto}
}
/* r69: tablets (761–900px) — the full link row never fit here (iPad portrait
   overflowed by 53px in English, 113px in Ukrainian): they get the drawer too */
@media (max-width:900px){.nlinks{display:none}#burger{display:block}#srchBtn{margin-left:auto}}
@media (max-width:760px){
  .nlinks{display:none}
  #burger{display:block}
  .grid3,.grid2{grid-template-columns:1fr}
  .sec{padding:70px 0}
  .f-grid{grid-template-columns:1fr;gap:30px}
  .f-birds{display:none}
  .phero .stroke{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-delay:0s!important;transition-duration:.001s!important}
  .rv{opacity:1;transform:none}
}

/* ============ DS42 — the HCIR design system ============ */
/* r61j (Kowalski pass): amber TEXT on light surfaces measured 2.2–2.9:1 —
   deepened to clear WCAG AA (4.53:1 on white) while staying in the amber
   family. --goldtx is the DISPLAY-gold for accents sitting on LIGHT
   grounds (hero italic words, big numbers): full brand gold reads 1.9:1
   there, this keeps the glow at 3.2–3.4:1 (large-text AA). Dark mode keeps
   the original brighter pair — it always passed on navy. */
:root{--amber:#B26200;--goldtx:#C27400;--focusc:#B26200}

/* --- kicker: Voice A. Display scale, okina mark, no lines, no letterspacing --- */
.eyebrow{font:400 26px/1.15 'Anton';letter-spacing:.03em;text-transform:uppercase;color:var(--amber);
  display:flex;align-items:center;gap:14px}
.eyebrow::before{content:'';flex:none;width:17px;height:24px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2070%20100%22%3E%3Cpath%20fill%3D%22%23F5AC1E%22%20d%3D%22M0%20100V45.9L19.1%200H58.6L46.3%2044.2H70V100Z%22/%3E%3C/svg%3E") no-repeat center/contain}
@media (max-width:640px){.eyebrow{font-size:21px}.eyebrow::before{width:14px;height:20px}}
/* --- MAIN cards (.card.spot): comma corner + one arc + the manu at its end --- */
.card{border-radius:22px 58px 22px 22px;border-color:transparent;
  box-shadow:0 22px 44px -30px rgba(12,30,96,.25)}

.card:hover{transform:translateY(-4px);box-shadow:0 30px 54px -30px rgba(12,30,96,.36)}
.card .arc{display:none}
.card.spot{padding-top:64px}
.card.spot::before{content:'';position:absolute;inset:auto;top:16px;left:0;width:216px;height:26px;opacity:1;
  background:var(--du1) no-repeat left center/100% 100%;transition:transform .6s var(--ease);pointer-events:none}
.card.spot::after{content:'';position:absolute;top:7px;left:199px;width:30px;height:21px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%2070%22%3E%3Cpath%20fill%3D%22%231A3FC4%22%20d%3D%22M92%2C38C86%2C33%2079%2C30%2070%2C30C58%2C26%2040%2C14%2028%2C4C33%2C16%2044%2C26%2056%2C32C42%2C33%2026%2C31%2012%2C24C22%2C33%2036%2C39%2050%2C40C42%2C46%2034%2C50%2024%2C52C34%2C52%2044%2C50%2054%2C45C64%2C44%2076%2C42%2092%2C38Z%22/%3E%3C/svg%3E") no-repeat center/contain;transition:transform .6s var(--ease);pointer-events:none}

.card.spot:hover::before{transform:translateX(14px)}
.card.spot:hover::after{transform:translate(14px,-8px) rotate(-5deg)}
/* --- MINOR cards: comma corner, quiet (no tabs, no bars — r42c) --- */
.wcard{border-radius:16px 36px 16px 16px}
/* --- wide feature cards share the comma silhouette (double-class specificity:
       page-level <style> blocks come later in the document, so plain selectors
       here would lose the cascade). r43: home trio retired for full-bleed bands --- */
.scard.scard,.fcard.fcard{border-radius:18px 44px 18px 18px}
/* --- SMALL: chips + language tiles + stats carry the corner --- */
.chip{border-radius:9px 20px 9px 9px}
.kyr-langs a{border-radius:9px 20px 9px 9px!important}
.s-stat{position:relative;border-radius:12px 26px 12px 12px;background:rgba(255,255,255,.55);
  padding:12px 18px 16px;overflow:hidden}

.s-stat::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:8px;
  background:var(--du1) no-repeat center bottom/100% 100%}
/* --- flight bands (r61h): the strip is a WINDOW on a longer flight — birds
       fade out flying past the right border while others are already fading
       in from the left border mid-flight; the wrap respawn happens entirely
       inside the masked-off margins, so it can never be seen. The engine adds
       .mfx when it takes over — static fallbacks keep full-opacity marks. --- */
.mflight{position:relative;height:128px;margin:4px 0;pointer-events:none}
.mflight.mfx{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 46px,#000 calc(100% - 46px),transparent);
  mask-image:linear-gradient(90deg,transparent,#000 46px,#000 calc(100% - 46px),transparent)}
html.a11y-still .mflight.mfx{-webkit-mask-image:none!important;mask-image:none!important}
/* --- photo unification: comma corner + soft navy veil --- */
figure a{position:relative;display:block;border-radius:16px 44px 16px 16px;overflow:hidden}
figure a::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(12,30,96,0) 55%,rgba(12,30,96,.20))}
figure a img{border-radius:0!important;display:block}
/* --- micro-signatures --- */
::selection{background:var(--gold);color:#3A2C05}
:focus-visible{outline:3px solid var(--focusc);outline-offset:2px;border-radius:4px}
main p a:not(.btn):not(.morelink), main li a:not(.btn):not(.morelink){text-decoration:none;
  background:var(--du1) no-repeat left bottom/0% 5px;transition:background-size .4s var(--ease);
  padding-bottom:3px}
main p a:not(.btn):not(.morelink):hover, main li a:not(.btn):not(.morelink):hover{background-size:100% 5px}
/* --- smooth page transitions (progressive enhancement) --- */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
}
::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}
/* r89: a plate-button opening into its page (the shell's script names both ends "pj-go") — the frame travels and
   grows; inside it the plate and the hero each keep their proportions (cover), the one fading into the other */
::view-transition-group(pj-go){animation-duration:.52s;animation-timing-function:cubic-bezier(.3,.08,.2,1)}
::view-transition-old(pj-go),::view-transition-new(pj-go){width:100%;height:100%;object-fit:cover;object-position:50% 0;overflow:clip}
::view-transition-old(pj-go){animation-duration:.3s}
::view-transition-new(pj-go){animation-duration:.4s;animation-delay:.1s}
@media (prefers-reduced-motion:reduce){
  .card.spot::before,.card.spot::after,.wcard::before{transition:none}
}
/* --- tighter rhythm (r42c — Apple-style density) --- */
.sec{padding:72px 0}
.sec.tight{padding:54px 0}
.sechead{margin-bottom:30px}
.mflight{height:100px}
@media (max-width:760px){.sec{padding:54px 0}.sec.tight{padding:42px 0}}
/* --- r43: sticky program subnav (SODA / FOAM) — sits under the main nav
       (nav.top is sticky top:0 z-50), height fed to --navh by JS --- */
.subnav{position:sticky;top:var(--navh,64px);z-index:40;border-bottom:1px solid var(--line-soft);
  background:var(--page);background:color-mix(in srgb,var(--page) 84%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:box-shadow .3s}
.subnav.stuck{box-shadow:0 12px 28px -20px rgba(20,16,8,.5)}
.sn-in{display:flex;align-items:center;gap:18px;min-height:54px;padding-top:7px;padding-bottom:7px}
.sn-name{font:400 15.5px 'Anton';text-transform:uppercase;letter-spacing:.03em;color:var(--head);white-space:nowrap}
.sn-links{display:flex;gap:18px;margin-left:auto}
.sn-links a{font:600 13.5px 'Barlow';color:var(--body);text-decoration:none;transition:color .25s}
.sn-links a:hover{color:var(--head)}
.subnav .btn{padding:8px 17px;font-size:13px;flex:none}
.subnav .es-en-note{display:none} /* the events-in-English note already lives in hero + sessions */
@media (max-width:560px){.sn-name{font-size:13px}.sn-links{display:none}.subnav .btn{margin-left:auto}}
/* r69: (a) every section anchored from a subnav lands clear of nav + subnav
   (no per-page scroll-margins needed); (b) between phone and desktop the
   link row swipes instead of pushing the page wider — es/uk labels run long */
.subnav ~ section[id],.subnav ~ * section[id]{scroll-margin-top:calc(var(--navh,64px) + 62px)}
.sn-links{min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:4px 0}
.sn-links::-webkit-scrollbar{display:none}
.sn-links a{white-space:nowrap;flex:none}
/* --- r43: quiet morelinks stay readable on dark bands --- */
.sec.navy .morelink{color:#C9D3F2}.sec.navy .morelink:hover{color:#FFFFFF}
.fm-cta-band .morelink{color:#E8D5B5}.fm-cta-band .morelink:hover{color:#FAF0DE}
/* --- r45c: Apple width hierarchy — header/footer family share the NARROW
       container; sections use the wider --w (never touching the borders) --- */
nav.top .wrap,.ann .wrap,footer .wrap,.subnav .wrap{max-width:var(--wnav)}
/* --- r45d: EVERY plate answers the pointer (Apple) — informational boxes too.
       Lifts compose with each family's own motion; reduced-motion kills all
       transitions globally, so these go quiet automatically. --- */
.dstat,.tl-card{transition:opacity .7s var(--ease),transform .45s var(--ease),box-shadow .35s var(--ease)}
.dstat:hover{transform:translateY(-4px)}
.tl-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px -22px rgba(12,30,96,.25)}

.s-stat{transition:transform .35s var(--ease)}
.s-stat:hover{transform:translateY(-3px)}
.fstage{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.fstage:hover{transform:translateY(-4px);box-shadow:0 16px 34px -20px rgba(12,30,96,.28)}
.mahalo{transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.mahalo:hover{transform:translateY(-4px)}
.voice .qok{transition:transform .5s var(--ease)}
.voice:hover .qok{transform:rotate(-6deg) scale(1.05)}
/* ================= r45 — the Apple harvest (all seven patterns approved) ================= */
/* --- P1 bento: "the coalition at a glance" (home) --- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(172px,auto);gap:14px;margin-top:16px;
  grid-template-areas:"big big bills kyr" "big big orgs kyr"}
.bt{position:relative;border-radius:18px 40px 18px 18px;overflow:hidden;padding:22px 24px;display:flex;
  flex-direction:column;text-decoration:none!important;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.bt:hover{transform:translateY(-5px);box-shadow:0 22px 46px -24px rgba(12,30,96,.4)} /* r45d: info tiles respond too */
.bt .lbl{font:600 12px 'Barlow Condensed';letter-spacing:.16em;text-transform:uppercase;line-height:1.5}
.bt .nn{font:400 46px/1 'Anton'}
.bt-269{grid-area:big;background:linear-gradient(160deg,#0C1E60,#122A80 60%,#1A3FC4);color:#fff;justify-content:flex-end}
.bt-269 .arcw{position:absolute;top:16px;left:0;width:64%;height:24px;
  background:var(--du1) no-repeat left center/100% 100%}
.bt-269 .manu{position:absolute;top:7px;left:calc(64% - 12px);width:28px;color:#fff}
.bt-269 .manu svg{width:100%;height:auto;display:block}
.bt-269 .nn{font-size:clamp(56px,7vw,96px);letter-spacing:.01em}
.bt-269 .lbl{color:#AFC0F2;margin-top:8px;max-width:36ch}
.bt-269 .morelink{color:var(--gold);margin-top:12px}
.bt-bills{grid-area:bills;background:linear-gradient(150deg,#F5AC1E,#E9A00C);color:#3A2C05}
.bt-bills .nn{font-size:56px}.bt-bills .lbl{color:#5C440A;margin-top:6px}
.bt-orgs{grid-area:orgs;background:var(--card);border:1px solid var(--line)}
.bt-orgs .nn{color:var(--head);font-size:56px}.bt-orgs .lbl{color:var(--mut);margin-top:6px}
.bt-kyr{grid-area:kyr;background:linear-gradient(135deg,#F2FBF4,#E3F4E9 55%,#CDEBDA)}

.bt-kyr .nn{color:#1F7A4A;font-size:64px}
.bt-kyr .lbl{color:#2E7D4F;margin-top:2px}
.bt-kyr .sub{font:400 13.5px/1.5 'Barlow';color:#3B644D;margin-top:10px}

.bt-kyr .chips{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.bt-kyr .chips i{font:600 11px 'Barlow Condensed';letter-spacing:.08em;text-transform:uppercase;font-style:normal;
  color:#14532D;border:1.3px solid #8FCCA5;border-radius:8px 16px 8px 8px;padding:4px 9px;background:rgba(255,255,255,.55)}

.bt-kyr .btn{margin-top:auto;align-self:flex-start}
@media (max-width:860px){
  .bento{grid-auto-rows:minmax(150px,auto);grid-template-areas:"big big" "big big" "bills orgs" "kyr kyr";grid-template-columns:1fr 1fr}
  .bt-kyr{min-height:250px}
  .bt-kyr .btn{margin-top:16px}
}
/* --- P2 season rail: sessions as posters (SODA + FOAM) ---
   r45c: the rail is a FULL-BLEED scroller (Apple product galleries): the first
   card rests on the section's left grid line, cards run past the right browser
   edge, and while scrolling they travel the full viewport; at the end the last
   card rests on the section's right grid line. Paddles live in their own .wrap
   row so they align with the section grid. */
.seasongroup{margin-bottom:14px}
.seasonwrap{position:relative;margin-top:6px}
.season{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:16px max(32px,calc(50% - var(--w)/2 + 32px)) 60px;margin-bottom:-28px;
  scroll-padding-left:max(32px,calc(50% - var(--w)/2 + 32px));
  scrollbar-width:none;-ms-overflow-style:none} /* hard edge cut — no fades. r45f:
  60px of shadow room (the biggest poster shadow reaches ~48px past the card —
  overflow-x clips Y, so anything less guillotines it into a line), with a
  negative margin giving the layout space back. Momentum is native: slow drags
  stop at the next card, hard flings skip ahead (no scroll-snap-stop). */
.season::-webkit-scrollbar{display:none}
.spost{flex:none;width:320px;min-height:430px;border-radius:18px 44px 18px 18px;scroll-snap-align:start;position:relative;
  padding:24px 24px 22px;display:flex;flex-direction:column;overflow:hidden;text-decoration:none!important;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.spost:hover{transform:translateY(-6px);box-shadow:0 22px 48px -24px rgba(12,30,96,.4)}
.spost .num{font:400 74px/1 'Anton'}
.spost :is(h3,h4){font:400 21px/1.18 'Anton';text-transform:uppercase;margin-top:auto;letter-spacing:.015em}
.spost .pd{font:600 12.5px 'Barlow Condensed';letter-spacing:.14em;text-transform:uppercase;margin-top:8px}
.spost .bdg{position:absolute;top:16px;right:16px;font:600 11px 'Barlow Condensed';letter-spacing:.1em;
  text-transform:uppercase;padding:4px 10px;border-radius:999px;max-width:56%;text-align:right}
.sp-done{background:linear-gradient(170deg,#EDF1FB,#DDE5F7)}
.sp-done .num{color:#93A3D8}.sp-done :is(h3,h4){color:#25336B}.sp-done .pd{color:#5D6478}
.sp-done .bdg{background:rgba(12,30,96,.1);color:#25336B}

.sp-live{background:linear-gradient(170deg,#04081F,#0A1230 45%,#0C1E60);color:#fff;
  box-shadow:0 22px 48px -22px rgba(12,30,96,.55)}
.sp-live .num{color:var(--gold)}.sp-live :is(h3,h4){color:#fff}.sp-live .pd{color:#AFC0F2}
.sp-live .bdg{background:var(--gold);color:#3A2C05}
.sp-soon{background:linear-gradient(170deg,#241208,#3A2010)}
.sp-soon .num{color:#E8A13C}.sp-soon :is(h3,h4){color:#FAF0DE}.sp-soon .pd{color:#CBB08C}
.sp-soon .bdg{background:rgba(250,240,222,.16);color:#FAF0DE}
/* (r45b: card scroll-margins live in the page CSS — 140px clears nav + subnav) */
/* r45f: paddles, the Apple way. Mobile = small row bottom-right of the rail.
   Desktop = round chevrons OVERLAYING the rail sides, auto-appearing: the left
   one only exists once you've scrolled, the right one vanishes at the end. */
.season-nav{display:flex;gap:10px;justify-content:flex-end;
  padding:10px max(32px,calc(50% - var(--w)/2 + 32px)) 0}
.season-nav button{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);
  color:var(--head);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:border-color .25s,transform .25s,opacity .25s,visibility .25s}
.season-nav button:hover:not(:disabled){border-color:var(--gold);transform:translateY(-1px)}
.season-nav button:disabled{opacity:.35;cursor:default}
@media (min-width:861px){
  .season-nav{display:contents}
  .season-nav button{position:absolute;top:calc(50% - 48px);z-index:6;width:46px;height:46px;font-size:18px;
    box-shadow:0 10px 26px -12px rgba(20,16,8,.4);border-color:transparent}
  
  .se-prev,.ch-prev,.kyr-prev{left:calc(max(32px,50% - var(--w)/2 + 32px) - 23px)}
  .se-next,.ch-next,.kyr-next{right:calc(max(32px,50% - var(--w)/2 + 32px) - 23px)}
  .season-nav button:disabled{opacity:0;visibility:hidden;pointer-events:none}
  .season-nav button:hover:not(:disabled){transform:scale(1.06);border-color:transparent}
  /* the KYR ribbon lives inside the green card — chevrons hug the card rail */
  .kyr-rib .kyr-prev{left:-8px}.kyr-rib .kyr-next{right:-8px}
  .kyr-rib .season-nav button{width:40px;height:40px;top:calc(50% - 34px)}
}
.kyr-rib .season-nav{padding:8px 0 0}
@media (max-width:640px){
  /* full posters rest flush left; flings skip cards naturally (native snap) */
  .spost{width:224px;min-height:312px}
  .spost .num{font-size:54px}
  .sp-live .bdg{font-size:11px;letter-spacing:.04em;padding:4px 9px}
}
/* --- P3 icon chapternav: program marks (Our Work) --- */
/* r45e: the chapternav is the SAME rail system as the season — full-bleed,
   grid-aligned start, hard cut, mandatory snapping, native momentum */
.chwrap{position:relative}
.chnav{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:8px max(32px,calc(50% - var(--w)/2 + 32px)) 38px;margin-bottom:-16px;
  scroll-padding-left:max(32px,calc(50% - var(--w)/2 + 32px));
  scrollbar-width:none;-ms-overflow-style:none}
.chwrap .season-nav{padding-top:0}
.chwrap .season-nav button{width:34px;height:34px}
@media (min-width:861px){
  .chwrap .season-nav button{width:42px;height:42px;top:calc(50% - 40px)}
}
.chnav::-webkit-scrollbar{display:none}
.ch{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:9px;
  padding:15px 20px 12px;border-radius:14px 26px 14px 14px;background:var(--card);border:1.5px solid var(--line);
  min-width:108px;text-decoration:none!important;transition:border-color .25s,transform .25s,box-shadow .25s}
/* (r45f: no scroll-snap-stop anywhere — native momentum lets flings skip cards) */
.ch:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 14px 28px -18px rgba(60,48,20,.35)}

.ch .mk{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.ch b{font:600 12.5px 'Barlow Condensed';letter-spacing:.14em;text-transform:uppercase;color:var(--head);white-space:nowrap;font-weight:600}
.ch .mk img{display:block}
.mk-soda{background:linear-gradient(175deg,#FFF9EA,#FDEFC9)}
.mk-soda img{width:27px;height:auto}
.mk-foam{background:#241208}.mk-foam img{width:25px;height:auto;margin-top:2px}
.mk-hiic{background:#4B2173}.mk-hiic svg{width:27px;height:auto;display:block} /* r63 purple not blue · r66c: brand-kit PRIMARY purple ground (on_purple = white ink, which the chip letters already are) */
.mk-las{background:#0B2E33}.mk-las svg{width:26px;height:auto;display:block} /* r68: LAS Deep Pacific + 2-arc beacon (kit: below 48 px) */
.mk-cij{background:#fff;border:1.5px solid #E8E2D6}
.mk-cij img{height:27px;width:auto}
.mk-kyr{background:linear-gradient(135deg,#F2FBF4,#CDEBDA)}.mk-kyr svg{height:22px;color:#1F7A4A;display:block}
.mk-fell{background:var(--mist)}
.mk-fell svg{width:22px;color:var(--blue);display:block}
/* --- P4 disclosure rows (+ opens to gold ×) --- */
.disc details{border-bottom:1px solid var(--line)}
.disc details:first-child{border-top:1px solid var(--line)}
.disc summary{list-style:none;display:flex;align-items:center;gap:16px;padding:16px 4px;cursor:pointer;min-height:48px}
.disc summary::-webkit-details-marker{display:none}
.disc summary h4{font:400 17px 'Anton';color:var(--head);text-transform:uppercase;letter-spacing:.02em}
.disc .plus{margin-left:auto;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);flex:none;
  display:flex;align-items:center;justify-content:center;font:400 19px/1 'Barlow';color:var(--brown);
  transition:transform .35s var(--ease),border-color .25s,background .25s,color .25s}

.disc details[open] .plus{transform:rotate(45deg);background:var(--gold);border-color:var(--gold);color:#3A2C05}
.disc .dbody{padding:0 4px 18px;font:400 14px/1.6 'Barlow';max-width:74ch}
/* --- P5 voices: ʻokina as the quote mark --- */
.voice{display:grid;grid-template-columns:110px 1fr;gap:34px;align-items:start}
.voice .qok{height:92px;color:var(--gold);margin-top:6px}
.voice .qok svg{height:100%;width:auto;display:block}
.voice blockquote{font:400 clamp(21px,2.5vw,29px)/1.4 'Barlow';color:var(--head);margin:0}
.voice blockquote b{font-weight:600;color:var(--amber)}
.voice .who{margin-top:16px;display:flex;align-items:center;gap:12px}
.voice .who .vline{width:44px;height:7px;color:var(--gold)}
.voice .who .vline svg{width:100%;height:100%;display:block}
.voice .who span{font:600 12.5px 'Barlow Condensed';letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
@media (max-width:640px){.voice{grid-template-columns:56px 1fr;gap:16px}.voice .qok{height:48px;margin-top:2px}}
/* r78: the house timeline (moved out of the About page CSS so the CIJ 2026 page can ride it too) */
.tl{position:relative;margin-top:40px}
.tl::before{content:'';position:absolute;left:50%;top:6px;bottom:6px;width:3px;transform:translateX(-50%);
  background:linear-gradient(180deg,var(--gold),var(--blue) 55%,var(--navy));border-radius:3px;opacity:.45}
.tl-item{position:relative;display:grid;grid-template-columns:1fr 96px 1fr;align-items:center;margin-bottom:24px;z-index:1}
.tl-item:hover{z-index:5}
/* r46b: tight spine — alternating cards interleave instead of leaving a full
   empty row on the mirror side (desktop only; expansion keeps flow, no overlap
   on the same side because siblings move with the document flow) */
@media (min-width:861px){
  .tl-item{margin-bottom:0;pointer-events:none}
  .tl-item+.tl-item{margin-top:-76px}
  /* the item's empty mirror column overlaps the neighbor card — let the pointer
     fall through it; only the card and the dot are interactive */
  .tl-item .tl-card,.tl-item .tl-dot{pointer-events:auto}
}
.tl-dot{grid-column:2;grid-row:1;width:54px;height:54px;border-radius:50%;background:var(--card);
  border:2.5px solid var(--gold);margin:0 auto;display:flex;align-items:center;justify-content:center;z-index:2;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.tl-item:hover .tl-dot{transform:scale(1.12);box-shadow:0 10px 26px -8px rgba(245,172,30,.55)}
.tl-dot svg{width:26px;height:auto;color:var(--gold)}
.tl-dot .ok{width:15px}
.tl-card{grid-row:1;background:var(--card);border:1.5px solid var(--line);border-radius:16px 36px 16px 16px;
  padding:22px 26px 18px;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s var(--ease)}
/* r46: the circle and its card animate as ONE — hovering either lights both */
.tl-card:hover,.tl-dot:hover+.tl-card{transform:translateY(-4px);border-color:var(--gold);
  box-shadow:0 18px 44px -18px rgba(95,74,54,.3)}

.tl-item.l .tl-card{grid-column:1}
.tl-item.r .tl-card{grid-column:3}
.tl-year{display:inline-block;font:400 15px 'Anton';letter-spacing:.06em;color:#3A2C05;background:var(--gold);
  border-radius:999px;padding:5px 15px;text-transform:uppercase}
.tl-card :is(h2,h3){font:600 20px/1.25 'Barlow Condensed';color:var(--head);text-transform:uppercase;letter-spacing:.04em;margin-top:10px}
.tl-card p{font:400 14.5px/1.62 'Barlow';color:var(--body);margin-top:7px}
/* r46: Apple-style disclosure — the card grows in place (grid-rows 0fr -> 1fr)
   and pushes the rest of the timeline down; the + rolls to a gold x */
.tl-more{display:grid;grid-template-rows:0fr;opacity:0;
  transition:grid-template-rows .55s var(--ease),opacity .4s ease}
.tl-card.open .tl-more{grid-template-rows:1fr;opacity:1}
.tl-more>div{overflow:hidden;min-height:0}
.tl-more ul{margin:12px 0 2px;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.tl-more li{position:relative;padding-left:20px;font:400 13.5px/1.58 'Barlow';color:var(--body)}
.tl-more li::before{content:'';position:absolute;left:2px;top:.5em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.tl-card{min-width:0} /* r47: a grid item's auto min-width let the fin card's
  footer row push past the viewport on phones — never again */
.tl-foot{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.tl-foot .morelink{margin:0;white-space:normal}
.tl-plus{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);background:transparent;flex:none;
  margin-left:auto;display:flex;align-items:center;justify-content:center;font:400 19px/1 'Barlow';color:var(--brown);
  cursor:pointer;transition:transform .35s var(--ease),border-color .25s,background .25s,color .25s}

.tl-plus:hover{border-color:var(--gold)}
.tl-card.open .tl-plus{transform:rotate(45deg);background:var(--gold);border-color:var(--gold);color:#3A2C05}
.tl-item.fin .tl-card{background:var(--navy);border-color:var(--navy)}
.tl-item.fin .tl-card :is(h2,h3){color:#fff}
.tl-item.fin .tl-card p{color:#C9D3F2}
.tl-item.fin .tl-more li{color:#C9D3F2}
.tl-item.fin .tl-more li::before{background:var(--gold)}
.tl-item.fin .tl-card .morelink{color:var(--gold)}
.tl-item.fin .tl-plus{border-color:rgba(255,255,255,.35);color:var(--gold)}
.tl-item.fin .tl-card.open .tl-plus{color:#3A2C05}
@media (max-width:860px){
  .tl::before{left:26px;transform:none}
  .tl-item{grid-template-columns:64px 1fr;margin-bottom:16px}
  .tl-dot{grid-column:1;width:46px;height:46px;margin:0}
  .tl-item.l .tl-card,.tl-item.r .tl-card{grid-column:2}
}
/* --- r78: the Roadshow islands (CIJ 2026 page + the home Roadshow plate) — county outlines in the CIJ
   ramp, west to east, scaled against each other; the whole island "pings" (no locator point: the
   Roadshow names no venues). Still under reduced motion / a11y-still. --- */
/* r78f: a grid — row 1 the islands (bottom-aligned aspect boxes), row 2 the names; columns in the islands'
   width ratio (Oʻahu .55 · Maui .6 · Hawaiʻi 1.0 → 24 : 26 : 38) with equal gaps */
.isls{display:grid;grid-template-columns:24fr 26fr 38fr;column-gap:7%;align-items:end;padding:6px 0 0}
.isl{grid-row:1;align-self:end;min-width:0}
.isl-box{position:relative;width:100%;height:0}
.isl-svg{position:absolute;left:0;top:0;width:100%;height:100%;display:block;overflow:visible}
.isl-cap{grid-row:2;font:600 12px 'Barlow Condensed';letter-spacing:.2em;text-transform:uppercase;color:#FBF8F1;margin-top:24px;white-space:nowrap;text-align:center}
.isl-land{filter:drop-shadow(0 18px 28px rgba(234,70,58,.28))}
/* r78c: the halo is a STROKE that grows outward (user units; ≤5.5% of the island beyond the coast) — no
   transform, so no transform-origin surprises (Safari slid the scaled copy into the labels) */
.isl-halo{opacity:0;stroke-width:0;animation:isl-ping 4.2s ease-out infinite}
.isl-maui .isl-halo{animation-delay:1.4s}.isl-hawaii .isl-halo{animation-delay:2.8s}
@keyframes isl-ping{0%{opacity:.6;stroke-width:0}65%{opacity:0;stroke-width:11}100%{opacity:0;stroke-width:11}}
@media (prefers-reduced-motion:reduce){.isl-halo{animation:none;opacity:.22;stroke-width:5}}
html.a11y-still .isl-halo{animation:none;opacity:.22;stroke-width:5}
@media (max-width:640px){.isl-cap{font-size:10.5px;letter-spacing:.14em;margin-top:16px}.isls{column-gap:6%}}
/* r88: on the Roadshow page each island leads to its stop (islands_trio(hrefs=…)): the island is the link, its name
   under it a second way in for a pointer (out of the Tab order: one stop per island) */
a.isl{display:block;text-decoration:none;border-radius:8px;transition:transform .45s var(--ease)}
a.isl-cap{text-decoration:none;transition:color .25s}
a.isl:focus-visible{outline:2.5px solid #FDC116;outline-offset:8px}
.isls:has(a.k-oahu:is(:hover,:focus-visible)) a.isl.k-oahu,.isls:has(a.k-maui:is(:hover,:focus-visible)) a.isl.k-maui,.isls:has(a.k-hawaii:is(:hover,:focus-visible)) a.isl.k-hawaii{transform:translateY(-6px)}
.isls:has(a.k-oahu:is(:hover,:focus-visible)) a.isl-cap.k-oahu,.isls:has(a.k-maui:is(:hover,:focus-visible)) a.isl-cap.k-maui,.isls:has(a.k-hawaii:is(:hover,:focus-visible)) a.isl-cap.k-hawaii{color:#FDC116}
@media (prefers-reduced-motion:reduce){a.isl{transition:none}}
html.a11y-still a.isl{transition:none}
/* --- P6 six steps: how change happens --- */
.steps{display:grid;grid-template-columns:repeat(6,1fr);position:relative;margin-top:34px}
.steps::before{content:'';position:absolute;left:5%;right:5%;top:22px;height:2px;
  background:repeating-linear-gradient(90deg,var(--line) 0 10px,transparent 10px 20px)}
.step{position:relative;padding:0 12px;text-align:center}
.step .dotmk{width:46px;height:46px;margin:0 auto;border-radius:50%;background:var(--card);border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
  transition:border-color .25s,transform .25s}
.step:hover .dotmk{border-color:var(--gold);transform:translateY(-3px)}
.step .dotmk svg{height:20px;width:auto;display:block;color:var(--amber)}
.step .sn{font:400 13px 'Anton';color:var(--mut);opacity:.7;letter-spacing:.08em;margin-top:10px}
.step :is(h3,h5){font:400 16.5px 'Anton';color:var(--head);text-transform:uppercase;margin-top:3px}
.step p{font:400 12.5px/1.5 'Barlow';color:var(--mut);margin-top:6px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr 1fr;row-gap:28px}.steps::before{display:none}}
@media (max-width:480px){.steps{grid-template-columns:1fr 1fr}}
/* --- P7 film band: cinematic scroll-zoom photo beat --- */
.filmband{position:relative;height:clamp(320px,52vw,460px);overflow:hidden}
.filmband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 32%;
  transform:scale(1.08);will-change:transform}
.filmband .fveil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,12,40,.42),rgba(6,12,40,.58) 50%,rgba(6,12,40,.72))}
.filmband .fin{position:absolute;inset:0;padding:0 22px;text-align:center;color:#fff;
  display:flex;flex-direction:column;justify-content:center;align-items:center} /* r45b: centered — off the faces */
.filmband .fkick{font:400 clamp(15px,1.8vw,20px) 'Anton';color:var(--gold);text-transform:uppercase;letter-spacing:.04em}
.filmband h3{font:400 clamp(26px,4vw,46px)/1.1 'Anton';text-transform:uppercase;margin-top:8px}
.filmband .fatt{font:600 12.5px 'Barlow Condensed';letter-spacing:.2em;text-transform:uppercase;color:#AFC0F2;margin-top:10px}
@media (prefers-reduced-motion:reduce){.filmband img{transform:scale(1)}}
html.a11y-still .filmband img{transform:scale(1)!important}

img,video{-webkit-user-drag:none}

/* ================================================================ r87 */
/* light mode only (Andrew, Nov 11 2026): the theme button is gone — its corner of the bar is the accessibility button's
   (wider screens; on phones the round button stays in the bottom-left corner and leaves while the page scrolls down) */
#a11yNav{display:none}
#a11yNav svg{width:21px;height:21px}
#a11yNav[aria-expanded="true"]{color:var(--amber)}
@media (min-width:761px){#a11yNav{display:flex}}
/* the bar's links give way to the menu button whenever they do not fit (html.nav-m — the fit check after the bar) */
html.nav-m .nlinks{display:none}html.nav-m #burger{display:block}html.nav-m #srchBtn{margin-left:auto}
/* nothing can push the page sideways: parts waiting to be revealed sit a few px off to the side, and on the HIIC page
   that made the page 31px wider than a 1440px screen until they had all arrived (found by the season test, r87).
   (Nov 12: on laptops only — the mobile site had glitches after r87/r88, and a clipping ancestor over every sticky bar is the one change we cannot test in Safari here; html{overflow-x:clip} already keeps the page from moving sideways.) */
@media (min-width:1024px) and (hover:hover){main{overflow-x:clip}}
/* form fields show the keyboard's focus (they carry outline:none inline) */
main input:focus-visible,main textarea:focus-visible,main select:focus-visible{outline:2.5px solid var(--focusc)!important;outline-offset:2px}
main form.nl:focus-within{outline:2.5px solid var(--focusc);outline-offset:2px}
main form.nl input:focus-visible{outline:none!important}

/* ================================================================ r88 — the section bar */
/* the larger text sizes are a zoom on <body>; --z says how much, for everything that must keep a size ON SCREEN (it lived in
   plates.MENU_CSS until the menus went back to r87 — Nov 12) */
html[data-fs="lg"]{--z:1.12}html[data-fs="xl"]{--z:1.25}
/* (1) the section the visitor is in (set by the shell's script as the page scrolls) — the CIJ bar's mark for the
   current page, on every bar */
.sn-links a[aria-current="true"]{color:var(--head);box-shadow:inset 0 -2px 0 var(--gold);padding-bottom:3px}
/* (2) how far down the page: a thin gold line along the bar's foot */
.sn-prog{position:absolute;left:0;right:0;bottom:-1px;height:2.5px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;pointer-events:none;will-change:transform}
/* (3) the picker — when the bar's links do not fit (a phone, long labels, a larger text size): the page's name, the
   current section under it, the list on a tap. html… .subnav.sn-m is set by the script's fit check; without the
   script a phone keeps the r69 bar (name + button). */
.sn-pick{display:none}
.subnav.sn-m .sn-in{position:relative}
.subnav.sn-m .sn-name,.subnav.sn-m .sn-links{display:none}
.subnav.sn-m .btn{margin-left:auto}
.subnav.sn-m .sn-pick{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;flex:0 1 auto;min-width:0;min-height:40px;
  margin:0;padding:0;border:0;background:none;cursor:pointer;text-align:left;color:var(--head);-webkit-tap-highlight-color:transparent}
.sn-pn{display:block;max-width:100%;font:400 11.5px/1.15 'Anton';letter-spacing:.07em;text-transform:uppercase;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sn-cur{display:flex;align-items:center;gap:7px;max-width:100%;font:600 14.5px/1.2 'Barlow';color:var(--head)}
.sn-cur b{font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sn-cur svg{width:12px;height:12px;flex:none;color:var(--amber);transition:transform .3s var(--ease)}
.subnav.sn-open .sn-cur svg{transform:rotate(180deg)}
.subnav.sn-m.sn-open .sn-links{display:flex;flex-direction:column;gap:0;position:absolute;left:18px;top:100%;width:min(340px,calc(100% - 36px));margin:0;padding:4px 14px 8px;
  background:var(--page);border:1px solid var(--line);border-top:0;border-radius:0 0 16px 16px;box-shadow:0 26px 38px -22px rgba(20,16,8,.5);
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;max-height:calc(100vh - 150px);max-height:calc((100dvh / var(--z,1)) - var(--navh,64px) - 76px);animation:sn-drop .26s var(--ease)}
@keyframes sn-drop{from{opacity:0;transform:translateY(-8px)}}
.subnav.sn-m.sn-open .sn-links a{display:flex;align-items:center;min-height:46px;padding:4px 2px 4px 12px;font-size:15.5px;white-space:normal;border-bottom:1px solid var(--line-soft);box-shadow:none}
.subnav.sn-m.sn-open .sn-links a:last-child{border-bottom:0}
.subnav.sn-m.sn-open .sn-links a[aria-current="true"]{color:var(--head);box-shadow:inset 3px 0 0 var(--gold);padding-bottom:4px}
@media (prefers-reduced-motion:reduce){.subnav.sn-m.sn-open .sn-links{animation:none}.sn-cur svg{transition:none}}
html.a11y-still .subnav.sn-m.sn-open .sn-links{animation:none}html.a11y-still .sn-cur svg{transition:none}
@media print{.sn-prog,.sn-pick{display:none!important}}
/* (4) a floating button the bar runs under fades while the bar is over it (the script sets .sn-dodge) — never while
   its panel is open or it has the focus */
html #a11yBtn{transition:transform .25s var(--ease),background .25s,opacity .25s var(--ease)}
#a11yBtn.sn-dodge:not([aria-expanded="true"]):not(:focus-visible),.lasfab.sn-dodge:not([aria-expanded="true"]):not(:focus-visible){opacity:0!important;pointer-events:none}

/* ================================================================ THE SEASONS (seasons.py) — everything hidden unless html[data-season] */
.szn-arch,.szn-t,.szn-line{display:none}
/* 1. the arch (the overlay copies the stroke's box) */
.phero .szn-arch{position:absolute;right:-6%;bottom:-4px;width:52%;max-width:760px;pointer-events:none}
.szn-arch svg{display:none;width:100%;height:auto;overflow:visible}
html[data-season] .phero .szn-arch{display:block}
html[data-season="lei"] .szn-arch .szn-lei,html[data-season="lights"] .szn-arch .szn-lights{display:block}
@media (max-width:760px){html[data-season] .phero .szn-arch{display:none}} /* (the stroke itself is not shown on phones) */
/* the blossoms */
.sz-f{stroke-linejoin:round}
.sz-f.pl{fill:#FFFDF2;stroke:#DFA13C;stroke-width:.36}
.sz-f.il{fill:#F08A1C;stroke:#C4660A;stroke-width:.3}
.sz-f circle{stroke:none}
.sz-f.pl circle{fill:#F5AC1E}
.sz-f.il circle{fill:#8A4A0C}
/* the lights */
.sz-b .st{stroke:#5F4A36;stroke-width:.55;fill:none}
.sz-b .cp{fill:#5F4A36}
.sz-b.w .bl{fill:#FFDF7E;stroke:#E2A23A;stroke-width:.35}
.sz-b.b .bl{fill:#1A3FC4}
.sz-b.a .bl{fill:#F08A1C}   /* (the halos' fills are attributes on the marks: seasons._bulb) */
.sz-b .hl{opacity:.55;animation:szn-glow 5.6s ease-in-out infinite;animation-delay:calc(var(--i,0) * -.83s)}
@keyframes szn-glow{0%,100%{opacity:.12}50%{opacity:.95}}
/* 2. the flock: the largest bird of a strip tows a short garland */
html[data-season="lei"] .mnl .szn-t.szn-lei,html[data-season="lights"] .mnl .szn-t.szn-lights{display:inline}
.szn-t{transform-box:view-box;transform-origin:24px 52px;animation:szn-sway 2.8s ease-in-out infinite}
.szn-t .th{fill:none;stroke:#5F4A36;stroke-width:.9;opacity:.6}
@keyframes szn-sway{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(3deg)}}
/* 3. the hairline under the top bar: 10px, whole pieces (background-repeat:round), inside the room every bar leaves */
nav.top .szn-line{position:absolute;left:0;right:0;top:100%;height:10px;pointer-events:none;background-repeat:round no-repeat;background-position:0 0;transition:opacity .25s}
/* (Nov 12: not on phones — it ran across the Summit strip's text and the top of a stuck section bar; never over an open menu or the phone's search) */
@media (max-width:760px){html[data-season] nav.top .szn-line{display:none!important}}
body.drawer-open nav.top .szn-line,body:has(#msearch.on) nav.top .szn-line{display:none!important}
.szn-line::before,.szn-line::after{content:'';position:absolute;inset:0;background-repeat:round no-repeat;background-size:72px 10px;display:none}
html[data-season="lei"] nav.top .szn-line{display:block;background-size:48px 10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='10' viewBox='0 0 48 10'%3E%3Cpath d='M0,.6Q12,7.4 24,.6T48,.6' fill='none' stroke='%23C9902F' stroke-width='.8'/%3E%3Ccircle cx='12' cy='4.9' r='2.9' fill='%23FFFEF8' stroke='%23DFA13C' stroke-width='.8'/%3E%3Ccircle cx='12' cy='4.9' r='1' fill='%23F5AC1E'/%3E%3Ccircle cx='36' cy='4.7' r='2.4' fill='%23F08A1C' stroke='%23C4660A' stroke-width='.6'/%3E%3Ccircle cx='36' cy='4.7' r='.8' fill='%238A4A0C'/%3E%3C/svg%3E")}
html[data-season="lights"] nav.top .szn-line{display:block;background-size:72px 10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='10' viewBox='0 0 72 10'%3E%3Cpath d='M0,.6Q12,6 24,.6T48,.6T72,.6' fill='none' stroke='%235F4A36' stroke-width='.7' opacity='.75'/%3E%3Crect x='11' y='3' width='2' height='1.5' rx='.4' fill='%235F4A36'/%3E%3Ccircle cx='12' cy='6.6' r='2.5' fill='%23FFDF7E' stroke='%23E2A23A' stroke-width='.5'/%3E%3Crect x='35' y='3' width='2' height='1.5' rx='.4' fill='%235F4A36'/%3E%3Ccircle cx='36' cy='6.6' r='2.5' fill='%231A3FC4'/%3E%3Crect x='59' y='3' width='2' height='1.5' rx='.4' fill='%235F4A36'/%3E%3Ccircle cx='60' cy='6.6' r='2.5' fill='%23F08A1C'/%3E%3C/svg%3E")}
html[data-season="lights"] .szn-line::before{display:block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='10' viewBox='0 0 72 10'%3E%3Cdefs%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%235E7BFF' stop-opacity='.7'/%3E%3Cstop offset='1' stop-color='%235E7BFF' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='36' cy='6.4' r='5.6' fill='url(%23g)'/%3E%3C/svg%3E");animation:szn-glow 5.2s ease-in-out infinite}
html[data-season="lights"] .szn-line::after{display:block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='10' viewBox='0 0 72 10'%3E%3Cdefs%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%23FF9A3C' stop-opacity='.7'/%3E%3Cstop offset='1' stop-color='%23FF9A3C' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='60' cy='6.4' r='5.6' fill='url(%23g)'/%3E%3C/svg%3E");animation:szn-glow 6.4s ease-in-out -2.6s infinite}
nav.top:has(#navFly.on) .szn-line,body.drawer-open nav.top .szn-line{opacity:0}
@media (prefers-reduced-motion:reduce){.sz-b .hl,.szn-t,.szn-line::before,.szn-line::after{animation:none}}
@media print{.szn-arch,.szn-t,.szn-line{display:none!important}}

/* ================================================================ the programs' plate-buttons (plates.py) */
/* the larger text sizes are a zoom on <body>: a px floor in a plate is divided by it, so the kits' minimum sizes are
   met in SCREEN px at every text size */
html[data-fs="lg"] .pj{--z:1.12}html[data-fs="xl"] .pj{--z:1.25}
/* the link is the plate-button's steady hit area (it never moves); the plate inside it (.pj-in) is what lifts and leans —
   a plate that leaned as its own hit area slid out from under the pointer at its edges and fell back */
.pj{--f:#fff;--ink:#0C1E60;--sub:#4B556F;--u:clamp(calc(1.18px / var(--z,1)),1cqw,calc(1.9px / var(--z,1)));
  display:flex;min-width:0;border-radius:18px 44px 18px 18px;color:var(--ink);text-decoration:none}
.pj-in{position:relative;isolation:isolate;flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;container-type:inline-size;
  border-radius:inherit;background:var(--f);box-shadow:0 22px 38px -28px rgba(12,30,96,.62);transform:translateY(var(--ly,0px));
  transition:transform .32s var(--ease),box-shadow .35s var(--ease)}

@media (hover:hover){.pj:hover .pj-in{--ly:-5px;box-shadow:0 30px 44px -28px rgba(12,30,96,.74)}}
.pj:active .pj-in{--ly:-1px}
.pj:focus-visible{outline:3px solid var(--focusc);outline-offset:3px}
/* depth under the pointer (WORK_JS sets .wk-lean and the four numbers on the link): the plate leans toward the pointer
   and comes a little forward; its art and its mark slide a little apart.
   (The class is .wk-lean — never "tl": that is the house timeline's class, and a first build borrowed its 40px margin
   and its spine.) */
.pj.wk-lean .pj-in{transform:perspective(900px) translateZ(12px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ly,0px))}
.pj-art{position:absolute;inset:0;z-index:-1;pointer-events:none;transform:translate(calc(var(--px,0)*-3px),calc(var(--py,0)*-3px));transition:transform .32s var(--ease)}
.pj-art>i{position:absolute;right:calc(var(--u)*var(--x));top:calc(var(--u)*var(--y));width:calc(var(--u)*var(--d));height:calc(var(--u)*var(--d));
  opacity:var(--o,1);transition:transform .7s var(--ease);animation:pj-bob var(--t,9s) ease-in-out var(--dl,0s) infinite}
@keyframes pj-bob{0%,100%{translate:0 0}50%{translate:0 calc(var(--u)*-2.6)}}
.pj-stage{position:relative;flex:1 0 auto;min-height:calc(var(--u)*62)}
.pj-mark{position:absolute;left:calc(var(--u)*9);bottom:calc(var(--u)*6);display:block;height:auto;max-width:none;
  transform:translate(calc(var(--px,0)*2.5px),calc(var(--py,0)*2.5px));transition:transform .32s var(--ease)}
.pj-mark.pj-tiny{display:none}
.pj-tx{flex:none;display:block;padding:0 calc(var(--u)*9) calc(var(--u)*9.5)}
.pj-tx b{display:block;font:400 calc(var(--u)*11.6)/1.1 'Anton';letter-spacing:.02em;text-transform:uppercase;color:var(--ink);text-wrap:balance;overflow-wrap:break-word}
html[lang="uk"] .pj-fell .pj-tx b{font-size:calc(var(--u)*10.1);letter-spacing:.01em} /* ("Стипендіальна" is one long word) */
.pj-tx i{display:block;margin-top:calc(var(--u)*3);font:500 max(calc(10.5px / var(--z,1)),calc(var(--u)*7.6))/1.28 'Barlow';color:var(--sub);text-wrap:pretty;overflow-wrap:break-word}
/* a plate whose mark already says the acronym carries the full name alone — the program's lockup, in the house type */
.pj-tx i.cap{margin-top:calc(var(--u)*1);font-weight:600;font-size:max(calc(11px / var(--z,1)),calc(var(--u)*8));line-height:1.27}
.pj-tx b.pj-alt{display:none}
@media (hover:hover){.pj:hover .pj-art>i{transform:translateY(calc(var(--u)*var(--h,-5)))}}
.pj:focus-visible .pj-art>i{transform:translateY(calc(var(--u)*var(--h,-5)))}
/* --- SODA: a sunny day, the bubbles rising (Democracy Blue at night) --- */
.pj-soda{--f:radial-gradient(92% 72% at 86% 2%,#FFE28C 0%,rgba(255,226,140,0) 64%),linear-gradient(175deg,#FFF9EA,#FDECC8 60%,#FADC96);--ink:#173A23;--sub:#5E4A1C}

.pj-soda .pj-mark{width:max(calc(90px / var(--z,1)),calc(var(--u)*64))}
.pj-soda .pj-art>i{border-radius:50%;background:radial-gradient(circle closest-side,#FFB10A 0 84%,#B45309 88% 100%)}
.pj-soda .pj-art>i.y{background:radial-gradient(circle closest-side,#FDC93A 0 84%,#B45309 88% 100%)}
/* --- FOAM: Kona Roast, the amber sun, the peaks rising --- */
.pj-foam{--f:radial-gradient(84% 66% at 0% 0%,rgba(232,161,60,.34),rgba(181,84,27,.12) 46%,rgba(181,84,27,0) 72%),linear-gradient(175deg,#1A0D05,#241208 52%,#3A2010);--ink:#FAF0DE;--sub:#E8A13C}
.pj-foam .pj-mark{width:max(calc(120px / var(--z,1)),calc(var(--u)*78));left:min(calc(var(--u)*9),calc((100cqw - 120px / var(--z,1))/2))}
.pj-foam .pj-mark.pj-tiny{width:calc(var(--u)*40);left:calc(var(--u)*9)}
.pj-foam .pj-art>i{height:calc(var(--u)*var(--d)*.9);clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--c,#E8A13C)}
/* --- CIJ 2026: the campaign's paper, its triangle block, the ramp --- */
.pj-cij{--f:linear-gradient(172deg,#FFFDF6,#FBF2DC);--ink:#15171C;--sub:#44403A}

.pj-cij .pj-mark{height:calc(var(--u)*50);width:auto}
.pj-cij .pj-art>i{right:auto;left:calc(var(--u)*var(--x));height:calc(var(--u)*var(--d)*1.7);clip-path:polygon(0 0,100% 0,0 100%);background:var(--c)}
/* --- HIIC 2026: Royal Purple, the mark, the dots --- */
.pj-hiic{--f:linear-gradient(160deg,#55277F,#4B2173 46%,#3B1960);--ink:#FEFEFE;--sub:#E4D7F4}
.pj-hiic .pj-mark{width:calc(var(--u)*54)}
/* (the year beside the mark, one gold head away — as in the HIIC 2026 page's own header) */
.pj-yr{position:absolute;left:calc(var(--u)*71);bottom:calc(var(--u)*5.2);font:700 calc(var(--u)*9.4)/1 'Barlow Condensed';font-style:normal;letter-spacing:.08em;color:#FFB10A;
  transform:translate(calc(var(--px,0)*2.5px),calc(var(--py,0)*2.5px));transition:transform .32s var(--ease)}
.pj-hiic .pj-art>i{border-radius:50%;background:var(--c,#FFB10A)}
/* --- LAS: Deep Pacific, the ripple and its source --- */
.pj-las{--f:linear-gradient(165deg,#0B2E33,#0E3A41 58%,#10474F);--ink:#F4FAF8;--sub:#A7DBD4}
.pj-las .pj-mark{width:max(calc(120px / var(--z,1)),calc(var(--u)*78));left:min(calc(var(--u)*9),calc((100cqw - 120px / var(--z,1))/2))}
.pj-las .pj-mark.pj-tiny{width:auto;height:min(calc(var(--u)*36),calc(44px / var(--z,1)));left:calc(var(--u)*5)} /* (under 48px on screen: the 2-arc beacon's range) */
.pj-las .pj-art{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(var(--u)*44),transparent calc(var(--u)*63));mask-image:linear-gradient(180deg,#000 0,#000 calc(var(--u)*44),transparent calc(var(--u)*63))}
.pj-rip{position:absolute;right:calc(var(--u)*-40);top:calc(var(--u)*-44);width:calc(var(--u)*112);height:calc(var(--u)*112);overflow:visible;
  transition:transform .9s var(--ease);animation:pj-breathe 13s ease-in-out infinite}
.pj-rip .k{fill:none;stroke:#136972;stroke-width:1.6;vector-effect:non-scaling-stroke} /* (Pacific Teal — the kit's texture color) */
.pj-rip .o{fill:#FF5A1F}
@keyframes pj-breathe{0%,100%{scale:1}50%{scale:1.07}}
@media (hover:hover){.pj:hover .pj-rip{transform:scale(1.14)}}
.pj:focus-visible .pj-rip{transform:scale(1.14)}
/* --- Know Your Rights: the cards themselves, and a gold pill --- */
.pj-kyr{--f:linear-gradient(165deg,#F6F8FF,#DFE7FB);--ink:#0C1E60;--sub:#4B556F}

.pj-fan{position:absolute;left:calc(var(--u)*9);bottom:calc(var(--u)*11);width:calc(var(--u)*76);height:calc(var(--u)*42);animation:pj-sway 11s ease-in-out infinite;transform-origin:50% 100%}
.pj-fan img{position:absolute;left:calc(var(--u)*11);bottom:0;width:calc(var(--u)*54);height:auto;display:block;border-radius:calc(var(--u)*2.6);
  box-shadow:0 calc(var(--u)*4) calc(var(--u)*9) calc(var(--u)*-4) rgba(12,30,96,.55);transform-origin:50% 150%;transition:transform .5s var(--ease)}

.pj-fan .a{transform:rotate(-15deg)}.pj-fan .b{transform:rotate(14deg)}.pj-fan .c{transform:rotate(-1deg)}
@keyframes pj-sway{0%,100%{rotate:-1.3deg}50%{rotate:1.3deg}}
@media (hover:hover){.pj:hover .pj-fan .a{transform:rotate(-24deg)}.pj:hover .pj-fan .b{transform:rotate(22deg)}.pj:hover .pj-fan .c{transform:rotate(-1deg) translateY(calc(var(--u)*-3))}}
.pj:focus-visible .pj-fan .a{transform:rotate(-24deg)}.pj:focus-visible .pj-fan .b{transform:rotate(22deg)}.pj:focus-visible .pj-fan .c{transform:rotate(-1deg) translateY(calc(var(--u)*-3))}
.pj-pill{display:inline-block;max-width:100%;margin-top:calc(var(--u)*4.4);padding:calc(var(--u)*2.7) calc(var(--u)*6.4) calc(var(--u)*3);border-radius:calc(var(--u)*9);background:#F5AC1E;color:#0C1E60;
  font:700 max(calc(10.5px / var(--z,1)),calc(var(--u)*7.3))/1.18 'Barlow';text-wrap:balance;transition:background .25s}
@media (hover:hover){.pj:hover .pj-pill{background:#FFC23A}}
/* --- Fellowship: the coalition's own blue, the arch, the flock --- */
.pj-fell{--f:linear-gradient(158deg,#2449CE 0%,#16329E 48%,#0C1E60 100%);--ink:#fff;--sub:#D3DAF2}
.pj-arch{position:absolute;left:calc(var(--u)*4);width:calc(var(--u)*104);top:calc(var(--u)*20);color:#F5AC1E}
.pj-arch svg,.pj-arch img,.pj-b svg{display:block;width:100%;height:auto}
.pj-b{position:absolute;right:calc(var(--u)*var(--x));top:calc(var(--u)*var(--y));width:calc(var(--u)*var(--d));color:#fff;opacity:var(--o,1);
  transition:transform .8s var(--ease);animation:pj-glide var(--t,10s) ease-in-out var(--dl,0s) infinite}
@keyframes pj-glide{0%,100%{translate:0 0}50%{translate:calc(var(--u)*1.6) calc(var(--u)*-2.2)}}
@media (hover:hover){.pj:hover .pj-b{transform:translate(calc(var(--u)*var(--hx,4)),calc(var(--u)*var(--h,-5)))}}
.pj:focus-visible .pj-b{transform:translate(calc(var(--u)*var(--hx,4)),calc(var(--u)*var(--h,-5)))}
/* a plate too narrow for a 120px wordmark (under 140px): that program's small mark — the rail's old icon — with its
   acronym written under it, as the rail had it; fewer moving pieces */
/* (140px on screen = 125 / 112 CSS px at the two larger text sizes) */
@container (max-width:139px){
  html:not([data-fs]) .pj-mark.pj-full{display:none}html:not([data-fs]) .pj-mark.pj-tiny{display:block}
  html:not([data-fs]) .pj-tx b.pj-alt{display:block}
  html:not([data-fs]) .pj-tx b.pj-alt+i.cap{margin-top:calc(var(--u)*3);font-weight:500;font-size:max(calc(10.5px / var(--z,1)),calc(var(--u)*7.6));line-height:1.28}
  html:not([data-fs]) .pj-art>i.x{display:none}
}
@container (max-width:124px){
  html[data-fs="lg"] .pj-mark.pj-full{display:none}html[data-fs="lg"] .pj-mark.pj-tiny{display:block}
  html[data-fs="lg"] .pj-tx b.pj-alt{display:block}
  html[data-fs="lg"] .pj-tx b.pj-alt+i.cap{margin-top:calc(var(--u)*3);font-weight:500;font-size:max(calc(10.5px / var(--z,1)),calc(var(--u)*7.6));line-height:1.28}
  html[data-fs="lg"] .pj-art>i.x{display:none}
}
@container (max-width:111px){
  html[data-fs="xl"] .pj-mark.pj-full{display:none}html[data-fs="xl"] .pj-mark.pj-tiny{display:block}
  html[data-fs="xl"] .pj-tx b.pj-alt{display:block}
  html[data-fs="xl"] .pj-tx b.pj-alt+i.cap{margin-top:calc(var(--u)*3);font-weight:500;font-size:max(calc(10.5px / var(--z,1)),calc(var(--u)*7.6));line-height:1.28}
  html[data-fs="xl"] .pj-art>i.x{display:none}
}

.mnl{position:absolute;display:block;pointer-events:none}
.mnl.mgo{transition:none!important;opacity:1;animation:none!important}
.mnl svg{width:100%;height:auto;display:block;overflow:visible}
.mnl-ov{position:fixed;left:0;top:0;pointer-events:none;z-index:95;will-change:transform,opacity;transform-origin:50% 40%}
.mnl-ov svg{width:100%;height:auto;display:block;overflow:visible}
svg.spk{transition:opacity .14s ease}
.lkb{transition:opacity .14s ease}

.f-home{display:inline-block;line-height:0}
.f-home svg{overflow:visible}
