/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --navy:        #2c1c62;
  --navy-mid:    #1f1448;
  --gold:        #ba9823;
  --gold-bright: #d4ae37;
  --violet:      #6B5CDB;
  --violet-dim:  rgba(107,92,219,0.15);
  --cream:       #F5F2EA;
  --cream-dark:  #EDE8DC;
  --warm-grey:   #6B645A;
  --rule:        #D8D3C8;
  --rule-dark:   rgba(245,242,234,0.1);

  --serif: 'Cormorant Infant', Georgia, 'Times New Roman', serif;
  --sans:  'Raleway', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --max:    1100px;
  --text:   680px;
  --narrow: 560px;

  /* Lion mark inlined as a data URL so the page renders correctly when opened with file://. Chrome treats every file:// URL as its own opaque origin and blocks the external SVG used by CSS mask. Identical to lion-mark.svg. */
  --lion-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNy4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSIxMDAwcHgiIGhlaWdodD0iMTAwMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGcgaWQ9Il94MzNfIj4NCgk8Zz4NCgkJPGc+DQoJCQk8Zz4NCgkJCQk8cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik00NDQuNzk3MDYsMjIxLjE0ODQ3DQoJCQkJCWM2LjI1NDgyLTkuNTY0NTMsMTUuOTAzNjMtMjMuODI5OTYsMjYuNjg2OTUtMzUuMTAwMzljNy4zNTQ4My03LjY4NzA3LDE0LjYyNjM0LTE0LjE3NjEyLDIxLjM5ODk2LTE5LjYxDQoJCQkJCWMyLjE0Mjc2LTEuNzE5MTksMS4yNjAwNy01LjE3Njg1LTEuNDQ0NDktNS42NTg4OWMtNy42MDM0Mi0xLjM1NTE4LTE1Ljk4MDIyLTIuNDY1NTUtMjUuMDQxMzgtMy4xMDA2OA0KCQkJCQljLTEwLjI5MTUzLTAuODEzMTYtMjYuMTYwNC0zLjAyODktMjYuMzQ4NjksMTEuMzEzNzRjMC4zMTkxOCwxNS42NTkzNS0wLjc0MDM2LDM0LjU1MzI0LTAuNDIxMDUsNTAuMjEzNDINCgkJCQkJQzQzOS42ODIxLDIyMS44OTEwMiw0NDIuOTg3MywyMjMuMTMzMTIsNDQ0Ljc5NzA2LDIyMS4xNDg0N3oiLz4NCgkJCQk8cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik00NTQuNTIxNTEsMjcxLjY5NTUzDQoJCQkJCWMtNC41MDc5MywyLjg2ODYyLTEwLjI1ODMtMS4xNDk3Mi05LjEwODE1LTYuMzY3NzdjNC4yOTAxLTE5LjQ2MzE1LDE2LjIwNzQ2LTUzLjI1MjE0LDQ5LjE1NzYyLTc0LjE5MjcyDQoJCQkJCWMzMS43MDc4OS0xNy4yMzY5Nyw0OS4xNTgwMi0yMS4wMDU1Miw3NC41NDI3Mi05LjU4Nzg2YzE5LjU2NTkyLDcuMDI0ODEsMjMuOTA3MSwxMC42MzUzOSwzLjkxMzI3LDIzLjA4NzYyDQoJCQkJCWMtMTkuOTQwOTgsMTQuOTI0NzYtMjEuMjk5NjIsMjIuMjUwNzgtMzMuODQ3MjksMzEuODkxNTRjLTE4LjU4NDQ3LDE0LjI3OTAxLTI4LjQxNjU2LDguMDUyMjgtNTkuODY5NTcsMjEuOTEzMDYNCgkJCQkJQzQ2OS40ODAxOSwyNjIuNzcxMjQsNDYxLjE2OTg5LDI2Ny40NjQ4MSw0NTQuNTIxNTEsMjcxLjY5NTUzeiIvPg0KCQkJCTxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTU0Mi44OTM3NCwyNTcuMTMwMzQNCgkJCQkJYy00LjU0NDY4LTEuMTIyOC02LjAyOTM2LTYuODU4MzEtMi41NDU4NC05Ljk4NTUzYzIzLjg3MDMtMjUuNjM3NDUsODAuNTY0NTEtMzYuOTU2NjMsMTE0LjA5MjM1LTE3LjM2MTM0DQoJCQkJCWM3LjMxOTAzLDMuMDM3MjYsOTcuNDg2MzksODMuNDg3NjYsNjUuNjE1MTcsODEuODk4MzljLTIxLjU4MjIxLTYuNjkwMzQtNTkuNjE2NTgtOC4zOTIyMS04MS41OTYxMy0zLjcwNjc5DQoJCQkJCWMtNS45Mzg5LDEuMDIwOS0xMi4wMTI3LTAuOTAxMzEtMTYuMjA2NjctNS4yMjg2NGMtOC44OTUyLTkuMTc4MS0yMS42MDAwNC0yMC4xNjg0OS0zOC42NTk5MS0yOS42MzMxMg0KCQkJCQlDNTY4LjU1MjQ5LDI2NC43NjkyLDU1NC4zNzI5MiwyNTkuOTY2MzQsNTQyLjg5Mzc0LDI1Ny4xMzAzNHoiLz4NCgkJCQk8cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik02MzYuMDc5NDEsMzQ4LjQwMzk2DQoJCQkJCWMzLjYxNzgtMjEuODE4ODIsMjkuMzIwOC0yOC4yMjQ0OSw0Ni43MDk4NC0yNi4zNzYyNWM0OC4yNzQxNywxLjE5MjYzLDkyLjg5Njg1LDU0Ljc3ODU5LDEwMi42MTA5LDEwOS4yNzE5NA0KCQkJCQljMC45MDczNSwzLjg3MzktMy44MDU3Myw2LjUxMjYtNi42NzU2NiwzLjc1NTQzDQoJCQkJCWMtOC43NzYxOC04LjQzMTI3LTIwLjEzNjE3LTE3LjY5NjItMzQuMzg0MjItMjYuMDg0OWMtMjQuMTg1NDItMTQuMjM5NDQtNDcuMTU0My0yMC4zMzg2Mi02My40NjQ2Ni0yMy4xMDIyDQoJCQkJCWMtMTAuNzQ2NCwwLjkwNjU5LDAuMzQ2NSwxMy44MDE2NywzLjIxMzc1LDE5Ljc2MDM1YzIyLjQ1ODYyLDM0Ljk2Njc3LDU1LjEwNzMsMzUuNzkyNTcsODIuNDM4MTcsNjQuMTE1NDINCgkJCQkJYzkuMDM0ODUsOS4zNzY1LDIxLjU2NTM3LDI2LjMxMTg2LDI3LjY4NDQ1LDUxLjI5ODhjLTAuMzM3NjUsMTEuNzUwNjctMS4yNTM5NywyNC42NzUxNy0zLjA3NDQ2LDM4LjU1MTMzDQoJCQkJCWMtMS43MTAxNCw2LjIyODE1LTEuODkwOTMsMzYuOTA1NDYtMTEuNjMwNjgsMjUuNDQ3MTRjLTUuMDcxOTYtMTEuNTc5MjItMTIuMjkzNTItMjUuNTM2NS0yMi41NjYyOC00MC4xNjY4Nw0KCQkJCQlDNzA1LjI3NDY2LDQ3Ni44Nzk2Nyw2MTMuOTAzODcsNDMzLjEwNzczLDYzNi4wNzk0MSwzNDguNDAzOTZ6Ii8+DQoJCQk8L2c+DQoJCQk8cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik01NTYuNzY4MjUsODM3LjQyMTMzDQoJCQkJYy0wLjA5MDgyLDUuMzY1MDUsMS40ODI2LDguNjg1NzMsNi4zMDI2Nyw2Ljg4ODc5YzE5Ljg5NjY3LTcuNDE3NDIsNDMuNjMwMzctMTguMjczNjIsNjguNjM1NDQtMzQuMzM0MzUNCgkJCQljMjYuOTMyMDEtMTguNzg1ODMsNTAuMTM2MzUtMzQuNTYyOTMsNjMuNDA2MzEtNTMuODcyMTNjOC45NDUzMS00NS41Nzk1My00LjU4MDgxLTE0My44NjQ4MS0zMC42MDE2Mi0xODkuMDEzNDkNCgkJCQljNC45MTg1OC0yNS45MzY3Nyw0MC43NDg2LDM0LjgyNzQ1LDQ2LjY0Njk3LDUwLjk1NjkxYzE0LjI0NzI1LDM0Ljc4NTk1LDE0LjE0NzA5LDY3LjIyNjU2LDExLjIyMDg5LDg5LjU3NjE3DQoJCQkJYy0wLjc4MTE5LDUuOTY2OCw2Ljk2NjEzLDguOTM3MDcsMTAuMzYxMDgsMy45Njg0NGMxNS41MTI0NS0yMi4wMzk2NywzMi4yMzMyOC01NS4xODI3NCw0MC40MTM4Mi03OC43ODkzNw0KCQkJCWMwLjU4MDY5LTEuNTk3MTEsMC40MDYxMy0zLjM2NTcyLTAuNDYyMjgtNC44MjY2Yy0yMS41MzE5OC0yOS44MzA4Ny05Ni43MDgwNy0xNzUuNzczMzgtMTYxLjcwNTk5LTE1NC43MTQ5Nw0KCQkJCWMtMjIuNTE1MzIsMTUuMzIyNzItNC4xOTcyLDQ0Ljc1MjgxLDEuODMxMTIsNjMuMDU3OTJjNy40NzI1MywyMi42OTA2NywxMS45NDQyNyw0Ni40NTc1MiwxMS45NjMxMyw3MC4zODk4OQ0KCQkJCWMtMC45NjUyMSwzMi43NTY1OS02LjAwMjUsNjQuODE5OTUtMTYuODQ5MzcsOTUuODMzMjVDNTkxLjQxOTgsNzQ5Ljc1NDQ2LDU2NC44MDMwNCw3ODYuMDkyMSw1NTYuNzY4MjUsODM3LjQyMTMzeiIvPg0KCQkJPHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNNDQ1LjU3MTIzLDg2Ni41MzM4Nw0KCQkJCWMtMy4xOTg2Ny0wLjA2MTUyLTUuNzQwODQtMi42OTk3Ny01LjY4Njc0LTUuODk4NTZjMS45MDI3MS0xODMuMzI5OTYsNTkuOTE0NDktMTUyLjUwNDIxLDEyMi45Mzc2NS0yNzUuOTg0OTkNCgkJCQljMi4wNDU5Ni00LjMxNzQ0LDguMTU1ODgtNC40MTAxNiwxMC4zNTQ4Ni0wLjE2OTU2YzIxLjk2NDE3LDQyLjM1Njg3LDIxLjk5OTk0LDczLjMwMjU1LDE3LjA2Nzg3LDk0LjYxMDc4DQoJCQkJYy0xMC4wMDQ2NCw0My4wNjI5OS03OC4xMTkyNiwxMDYuODk4ODYtOTAuNjY0MTIsMTc4LjkyNTU0QzQ5Ny40NzUwNCw4NjYuODg2MjMsNDUzLjc3MDAyLDg2Ni4yMTYxMyw0NDUuNTcxMjMsODY2LjUzMzg3eiIvPg0KCQkJPHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNNTM2Ljc3Mzg2LDUzNi41NTEyMQ0KCQkJCWMtMjMuODMwMDgtMTEuODYyNTUtNDcuMjM1OTMtMjQuNTQ4NTgtNzAuNDc2Mi0zNy41MjM2MmMtNy4xMjQ4NS0zLjk3NzgxLTExLjg0NzQxLTExLjE2NTI4LTEyLjc1MTY1LTE5LjI3NTEyDQoJCQkJYy0yLjg0MjA0LTIzLjMwMjUyLTIuOTY0NTctNTUuMzU3MjctMC4xMTItNzkuMzUzN2MwLjQ5ODQ0LTQuNTg4OSw0Ljg0MTA2LTcuNzQ1NDIsOS4zNjM0OS02LjgyMTJsMzEuODYyNjEsNi41MTE0Nw0KCQkJCWMyLjE5Mzk3LDAuNDQ4MzYsMy45ODgwMS0xLjc1Mjg0LDMuMTA2MjktMy44MTEyOGwtNi43MTY3MS0xNS42ODA1N2MtMi4zNDA1Mi01LjQ2NDA1LTcuMTE2NTItOS41MDc2Ni0xMi44OTE3OC0xMC45MTQ4Mw0KCQkJCWMtNC4yOTMzMy0xLjA2NjY1LTM0Ljk3MzkxLTguNTA2NzctMzguNDY5OTQtOS4zNzM0MXYtNTIuOTU2NTRjMC0zLjE2ODk4LDEuNzc2MjEtNi4wNzA1OSw0LjU5ODQ1LTcuNTExOTZsNjQuNDM4OTYtMzIuOTEwMjUNCgkJCQljMTAuNzQyNzQtNS4zMDcwMSwyMS42MjQwMi0wLjIzMTYzLDMzLjM4OTEsMS42ODIxOWMxNC40MDY4Niw0LjQyNjA5LDI3LjMxNSw1LjcxMzU2LDM3LjQxMjg0LDE0Ljc0ODA1DQoJCQkJYzcuMDQzODIsMTAuNzA3NCw0Mi4yODMxNCw0MS4zMTk4OSwzOC4yNTY0MSw1MC44NTAwMWMtMi4xNjIwNSw1LjYwMTc4LTIuNDU5NDcsMjMuMDAyMzgtMTIuNzUyOTMsMTguMDI4ODcNCgkJCQljLTcuMjQ3OTItMi4wOTMzOC01Ni40NzE5Mi0zNS43OTEyLTYzLjg1MjYtMjkuODgyMjljMC4wOTc2LDEuMTI0MTUtNDguNjczMTMsMTcuMzIwMDQtNDMuNDk4NzIsMjAuMTg5NzkNCgkJCQljMC4wMDEwMSwwLjAwMTUzLDUwLjE5MjU3LDQ0LjUzMjM4LDUwLjE5MjU3LDQ0LjUzMjM4YzAuMzA2NCwwLjE0NDItMS41NDcyNC0xNy40NjQxNy0xLjQ1MzI1LTE3LjUwOTM3DQoJCQkJYzUuNjc2NywwLjc0NzA3LDQ4LjU2MDczLTkuMTM0ODMsNTEuNzAxNzItMS45ODAyOWMwLjAwMDE4LDAuMDAxNzQsMTUuMzQwNTgsMTkuMjUyNDEsMTUuMzQwNTgsMTkuMjUyNDENCgkJCQljMy41MzQ4NSwyLjU1OTU3LDAuODkxNzIsMjkuMDY2NDEsMS40NzYxNCwzMi45MDU5OGMtMC4wMjAyLDEuNjk2MTctMS42ODU2NywyLjg4MjA4LTMuMjk0OTIsMi4zNDU2N2wtMTEuNzgxOC0zLjkyNzI1DQoJCQkJYy0yLjkyNTc4LTAuNzgwNzksMTAuOTE1MDQsMTcuMzI5OSwxMC40NjM0NCwxNy40OTcxNmMzLjEyODY2LDMuNzA4MDQsMC45NzA0LDE0LjY4ODg3LDEuMjE5NTQsMTkuMDY5MjENCgkJCQljLTAuMTA2OTMsMi44MjM5NC0xLjQzMjU2LDUuNDYzMzItMy42MzQ0LDcuMjM1MjNjLTQuODAwMDUsMi45NDI5Ni0xMy4yMTg5OSwxNC4yMjg3Ni0xOS42MDI0OCw4LjUxNDU2DQoJCQkJYy0xMS44NzM3OC05LjIwNTExLTQyLjY3MDQxLTMyLjk5MDc1LTQyLjY3MDQxLTMyLjA0MzEyYzAsMS4xNzM5MiwyNC42MTM4Myw2My43ODI1OSwyMy42NTQ3Miw2NS4zNDc4MQ0KCQkJCWMtMC42NDMxOSwxLjA0OTY4LTEwLjcwOTk2LDE3LjU4NTYtMTcuMjcxNzksMjguMzY1MDJDNTQ4Ljg1MTIsNTM3LjM1NjM4LDU0Mi4yMjgwMyw1MzkuMjY2MjQsNTM2Ljc3Mzg2LDUzNi41NTEyMSIvPg0KCQkJPHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNNTE4LjQyMTQ1LDM0NS40NTM2Nw0KCQkJCWMtMC4yOTcxMiwxNC43NDM0MSw1MS4xNzI5NywxNC43NDA4OCw1MC44Njk0NS0wLjAwMTI4QzU2OS41ODgwNywzMzAuNzEwMjcsNTE4LjExNzk4LDMzMC43MTI4LDUxOC40MjE0NSwzNDUuNDUzNjd6Ii8+DQoJCQk8cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik00MzkuODgzNjQsNjU5LjEzNTAxDQoJCQkJYzAuMTE0NTktMi40NzY5My0wLjA5ODMzLTEyMS43MzgyOCwwLjAxMzQtMTI0LjE4MDk3YzAuMDE4MzQtMi42NzYyMSwyLjE3NjQyLTQuODM5MDUsNC44NDc5OS00Ljg2MzQ2bDE0Ljg1MTM1LTAuMTM1NzQNCgkJCQljMi45MDQ2Ni0wLjAyNjU1LDUuNzIwNDksMC45ODczLDcuOTM3MjYsMi44NjQ1YzYuNDI5NDEsNS40NDQ1MiwxMy45MzczOCwxMC44MzIwOSwyNC40OTM5LDE2Ljc1MDQ5DQoJCQkJYzkuMjE2LDUuMTY2ODEsMTcuOTQ0NTUsOC44ODk4OSwyNS42MTcyNSwxMS41OTgwMmM0LjA3MjUxLDEuNDM3NDQsNi4wMTg4Niw2LjA3MDk4LDQuMjM0OCwxMC4wMDQwMw0KCQkJCWMtMTUuMjA0MDEsMjkuMzY5NjktNy40Nzg1MiwzNi4yMzk2Mi0zMS4yNDY0NiwxNy42MDg4OWMtMS4wNTQ0MS0wLjc3NTAyLTIuNDg3NzMsMC4yMzk5OS0yLjEwNjI2LDEuNDkxMjcNCgkJCQljLTAuMDU5ODQsMC4zMzE1NCw4Ljg1MzQyLDI4LjAyMDgxLDguNDY4MzgsMjguMzE2NDFjLTAuNTgxOTctMC4wMjcxNi0xNi4xMjYwNywyMS43MzYxNS0xNi45NjYyOCwyMC40OTE1OA0KCQkJCWMtMC4wMDE0LTAuMDAwMTItMTMuNDc1MzQtMjUuMzA0NzUtMTMuNDc1MzQtMjUuMzA0NzVjLTAuNjAwMjItMS4xMjcyLTIuMzA4NzUtMC43MDA2OC0yLjMwODc1LDAuNTc2MzUNCgkJCQljLTEuMDk0MjEsNC45MTEwMSwzLjA2MjgxLDM0LjAxNzI3LTMuNDY2NDYsMzYuMzY1NDJjLTAuMDAxMTYsMC0xOC43ODI3MSwxMS42Mjk4OC0xOC43ODI3MSwxMS42Mjk4OA0KCQkJCUM0MzkuODQ1MzQsNjYzLjM2MDksNDM5LjY3NDg3LDY2MC41ODI2NCw0MzkuODgzNjQsNjU5LjEzNTAxeiIvPg0KCQk8L2c+DQoJCTxnPg0KCQkJPGc+DQoJCQkJDQoJCQkJCTxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ig0KCQkJCQlNNDQ0Ljc5NzA2LDIyMS4xNDg0N2M2LjI1NDgyLTkuNTY0NTMsMTUuOTAzNjMtMjMuODI5OTYsMjYuNjg2OTUtMzUuMTAwMzljNy4zNTQ4My03LjY4NzA3LDE0LjYyNjM0LTE0LjE3NjEyLDIxLjM5ODk2LTE5LjYxDQoJCQkJCWMyLjE0Mjc2LTEuNzE5MTksMS4yNjAwNy01LjE3Njg1LTEuNDQ0NDktNS42NTg4OWMtNy42MDM0Mi0xLjM1NTE4LTE1Ljk4MDIyLTIuNDY1NTUtMjUuMDQxMzgtMy4xMDA2OA0KCQkJCQljLTEwLjI5MTUzLTAuODEzMTYtMjYuMTYwNC0zLjAyODktMjYuMzQ4NjksMTEuMzEzNzRjMC4zMTkxOCwxNS42NTkzNS0wLjc0MDM2LDM0LjU1MzI0LTAuNDIxMDUsNTAuMjEzNDINCgkJCQkJQzQzOS42ODIxLDIyMS44OTEwMiw0NDIuOTg3MywyMjMuMTMzMTIsNDQ0Ljc5NzA2LDIyMS4xNDg0N3oiLz4NCgkJCQkNCgkJCQkJPHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iDQoJCQkJCU00NTQuNTIxNTEsMjcxLjY5NTUzYy00LjUwNzkzLDIuODY4NjItMTAuMjU4My0xLjE0OTcyLTkuMTA4MTUtNi4zNjc3N2M0LjI5MDEtMTkuNDYzMTUsMTYuMjA3NDYtNTMuMjUyMTQsNDkuMTU3NjItNzQuMTkyNzINCgkJCQkJYzMxLjcwNzg5LTE3LjIzNjk3LDQ5LjE1ODAyLTIxLjAwNTUyLDc0LjU0MjcyLTkuNTg3ODZjMTkuNTY1OTIsNy4wMjQ4MSwyMy45MDcxLDEwLjYzNTM5LDMuOTEzMjcsMjMuMDg3NjINCgkJCQkJYy0xOS45NDA5OCwxNC45MjQ3Ni0yMS4yOTk2MiwyMi4yNTA3OC0zMy44NDcyOSwzMS44OTE1NGMtMTguNTg0NDcsMTQuMjc5MDEtMjguNDE2NTYsOC4wNTIyOC01OS44Njk1NywyMS45MTMwNg0KCQkJCQlDNDY5LjQ4MDE5LDI2Mi43NzEyNCw0NjEuMTY5ODksMjY3LjQ2NDgxLDQ1NC41MjE1MSwyNzEuNjk1NTN6Ii8+DQoJCQkJDQoJCQkJCTxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ig0KCQkJCQlNNTQyLjg5Mzc0LDI1Ny4xMzAzNGMtNC41NDQ2OC0xLjEyMjgtNi4wMjkzNi02Ljg1ODMxLTIuNTQ1ODQtOS45ODU1M2MyMy44NzAzLTI1LjYzNzQ1LDgwLjU2NDUxLTM2Ljk1NjYzLDExNC4wOTIzNS0xNy4zNjEzNA0KCQkJCQljNy4zMTkwMywzLjAzNzI2LDk3LjQ4NjM5LDgzLjQ4NzY2LDY1LjYxNTE3LDgxLjg5ODM5Yy0yMS41ODIyMS02LjY5MDM0LTU5LjYxNjU4LTguMzkyMjEtODEuNTk2MTMtMy43MDY3OQ0KCQkJCQljLTUuOTM4OSwxLjAyMDktMTIuMDEyNy0wLjkwMTMxLTE2LjIwNjY3LTUuMjI4NjRjLTguODk1Mi05LjE3ODEtMjEuNjAwMDQtMjAuMTY4NDktMzguNjU5OTEtMjkuNjMzMTINCgkJCQkJQzU2OC41NTI0OSwyNjQuNzY5Miw1NTQuMzcyOTIsMjU5Ljk2NjM0LDU0Mi44OTM3NCwyNTcuMTMwMzR6Ii8+DQoJCQkJDQoJCQkJCTxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ig0KCQkJCQlNNjM2LjA3OTQxLDM0OC40MDM5NmMzLjYxNzgtMjEuODE4ODIsMjkuMzIwOC0yOC4yMjQ0OSw0Ni43MDk4NC0yNi4zNzYyNQ0KCQkJCQljNDguMjc0MTcsMS4xOTI2Myw5Mi44OTY4NSw1NC43Nzg1OSwxMDIuNjEwOSwxMDkuMjcxOTRjMC45MDczNSwzLjg3MzktMy44MDU3Myw2LjUxMjYtNi42NzU2NiwzLjc1NTQzDQoJCQkJCWMtOC43NzYxOC04LjQzMTI3LTIwLjEzNjE3LTE3LjY5NjItMzQuMzg0MjItMjYuMDg0OWMtMjQuMTg1NDItMTQuMjM5NDQtNDcuMTU0My0yMC4zMzg2Mi02My40NjQ2Ni0yMy4xMDIyDQoJCQkJCWMtMTAuNzQ2NCwwLjkwNjU5LDAuMzQ2NSwxMy44MDE2NywzLjIxMzc1LDE5Ljc2MDM1YzIyLjQ1ODYyLDM0Ljk2Njc3LDU1LjEwNzMsMzUuNzkyNTcsODIuNDM4MTcsNjQuMTE1NDINCgkJCQkJYzkuMDM0ODUsOS4zNzY1LDIxLjU2NTM3LDI2LjMxMTg2LDI3LjY4NDQ1LDUxLjI5ODhjLTAuMzM3NjUsMTEuNzUwNjctMS4yNTM5NywyNC42NzUxNy0zLjA3NDQ2LDM4LjU1MTMzDQoJCQkJCWMtMS43MTAxNCw2LjIyODE1LTEuODkwOTMsMzYuOTA1NDYtMTEuNjMwNjgsMjUuNDQ3MTRjLTUuMDcxOTYtMTEuNTc5MjItMTIuMjkzNTItMjUuNTM2NS0yMi41NjYyOC00MC4xNjY4Nw0KCQkJCQlDNzA1LjI3NDY2LDQ3Ni44Nzk2Nyw2MTMuOTAzODcsNDMzLjEwNzczLDYzNi4wNzk0MSwzNDguNDAzOTZ6Ii8+DQoJCQk8L2c+DQoJCQkNCgkJCQk8cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSINCgkJCQlNNTU2Ljc2ODI1LDgzNy40MjEzM2MtMC4wOTA4Miw1LjM2NTA1LDEuNDgyNiw4LjY4NTczLDYuMzAyNjcsNi44ODg3OWMxOS44OTY2Ny03LjQxNzQyLDQzLjYzMDM3LTE4LjI3MzYyLDY4LjYzNTQ0LTM0LjMzNDM1DQoJCQkJYzI2LjkzMjAxLTE4Ljc4NTgzLDUwLjEzNjM1LTM0LjU2MjkzLDYzLjQwNjMxLTUzLjg3MjEzYzguOTQ1MzEtNDUuNTc5NTMtNC41ODA4MS0xNDMuODY0ODEtMzAuNjAxNjItMTg5LjAxMzQ5DQoJCQkJYzQuOTE4NTgtMjUuOTM2NzcsNDAuNzQ4NiwzNC44Mjc0NSw0Ni42NDY5Nyw1MC45NTY5MWMxNC4yNDcyNSwzNC43ODU5NSwxNC4xNDcwOSw2Ny4yMjY1NiwxMS4yMjA4OSw4OS41NzYxNw0KCQkJCWMtMC43ODExOSw1Ljk2NjgsNi45NjYxMyw4LjkzNzA3LDEwLjM2MTA4LDMuOTY4NDRjMTUuNTEyNDUtMjIuMDM5NjcsMzIuMjMzMjgtNTUuMTgyNzQsNDAuNDEzODItNzguNzg5MzcNCgkJCQljMC41ODA2OS0xLjU5NzExLDAuNDA2MTMtMy4zNjU3Mi0wLjQ2MjI4LTQuODI2NmMtMjEuNTMxOTgtMjkuODMwODctOTYuNzA4MDctMTc1Ljc3MzM4LTE2MS43MDU5OS0xNTQuNzE0OTcNCgkJCQljLTIyLjUxNTMyLDE1LjMyMjcyLTQuMTk3Miw0NC43NTI4MSwxLjgzMTEyLDYzLjA1NzkyYzcuNDcyNTMsMjIuNjkwNjcsMTEuOTQ0MjcsNDYuNDU3NTIsMTEuOTYzMTMsNzAuMzg5ODkNCgkJCQljLTAuOTY1MjEsMzIuNzU2NTktNi4wMDI1LDY0LjgxOTk1LTE2Ljg0OTM3LDk1LjgzMzI1QzU5MS40MTk4LDc0OS43NTQ0Niw1NjQuODAzMDQsNzg2LjA5MjEsNTU2Ljc2ODI1LDgzNy40MjEzM3oiLz4NCgkJCQ0KCQkJCTxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ig0KCQkJCU00NDUuNTcxMjMsODY2LjUzMzg3Yy0zLjE5ODY3LTAuMDYxNTItNS43NDA4NC0yLjY5OTc3LTUuNjg2NzQtNS44OTg1Ng0KCQkJCWMxLjkwMjcxLTE4My4zMjk5Niw1OS45MTQ0OS0xNTIuNTA0MjEsMTIyLjkzNzY1LTI3NS45ODQ5OWMyLjA0NTk2LTQuMzE3NDQsOC4xNTU4OC00LjQxMDE2LDEwLjM1NDg2LTAuMTY5NTYNCgkJCQljMjEuOTY0MTcsNDIuMzU2ODcsMjEuOTk5OTQsNzMuMzAyNTUsMTcuMDY3ODcsOTQuNjEwNzhjLTEwLjAwNDY0LDQzLjA2Mjk5LTc4LjExOTI2LDEwNi44OTg4Ni05MC42NjQxMiwxNzguOTI1NTQNCgkJCQlDNDk3LjQ3NTA0LDg2Ni44ODYyMyw0NTMuNzcwMDIsODY2LjIxNjEzLDQ0NS41NzEyMyw4NjYuNTMzODd6Ii8+DQoJCQkNCgkJCQk8cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSINCgkJCQlNNTM2Ljc3Mzg2LDUzNi41NTEyMWMtMjMuODMwMDgtMTEuODYyNTUtNDcuMjM1OTMtMjQuNTQ4NTgtNzAuNDc2Mi0zNy41MjM2Mg0KCQkJCWMtNy4xMjQ4NS0zLjk3NzgxLTExLjg0NzQxLTExLjE2NTI4LTEyLjc1MTY1LTE5LjI3NTEyYy0yLjg0MjA0LTIzLjMwMjUyLTIuOTY0NTctNTUuMzU3MjctMC4xMTItNzkuMzUzNw0KCQkJCWMwLjQ5ODQ0LTQuNTg4OSw0Ljg0MTA2LTcuNzQ1NDIsOS4zNjM0OS02LjgyMTJsMzEuODYyNjEsNi41MTE0N2MyLjE5Mzk3LDAuNDQ4MzYsMy45ODgwMS0xLjc1Mjg0LDMuMTA2MjktMy44MTEyOA0KCQkJCWwtNi43MTY3MS0xNS42ODA1N2MtMi4zNDA1Mi01LjQ2NDA1LTcuMTE2NTItOS41MDc2Ni0xMi44OTE3OC0xMC45MTQ4M2MtNC4yOTMzMy0xLjA2NjY1LTM0Ljk3MzkxLTguNTA2NzctMzguNDY5OTQtOS4zNzM0MQ0KCQkJCXYtNTIuOTU2NTRjMC0zLjE2ODk4LDEuNzc2MjEtNi4wNzA1OSw0LjU5ODQ1LTcuNTExOTZsNjQuNDM4OTYtMzIuOTEwMjVjMTAuNzQyNzQtNS4zMDcwMSwyMS42MjQwMi0wLjIzMTYzLDMzLjM4OTEsMS42ODIxOQ0KCQkJCWMxNC40MDY4Niw0LjQyNjA5LDI3LjMxNSw1LjcxMzU2LDM3LjQxMjg0LDE0Ljc0ODA1YzcuMDQzODIsMTAuNzA3NCw0Mi4yODMxNCw0MS4zMTk4OSwzOC4yNTY0MSw1MC44NTAwMQ0KCQkJCWMtMi4xNjIwNSw1LjYwMTc4LTIuNDU5NDcsMjMuMDAyMzgtMTIuNzUyOTMsMTguMDI4ODdjLTcuMjQ3OTItMi4wOTMzOC01Ni40NzE5Mi0zNS43OTEyLTYzLjg1MjYtMjkuODgyMjkNCgkJCQljMC4wOTc2LDEuMTI0MTUtNDguNjczMTMsMTcuMzIwMDQtNDMuNDk4NzIsMjAuMTg5NzljMC4wMDEwMSwwLjAwMTUzLDUwLjE5MjU3LDQ0LjUzMjM4LDUwLjE5MjU3LDQ0LjUzMjM4DQoJCQkJYzAuMzA2NCwwLjE0NDItMS41NDcyNC0xNy40NjQxNy0xLjQ1MzI1LTE3LjUwOTM3YzUuNjc2NywwLjc0NzA3LDQ4LjU2MDczLTkuMTM0ODMsNTEuNzAxNzItMS45ODAyOQ0KCQkJCWMwLjAwMDE4LDAuMDAxNzQsMTUuMzQwNTgsMTkuMjUyNDEsMTUuMzQwNTgsMTkuMjUyNDFjMy41MzQ4NSwyLjU1OTU3LDAuODkxNzIsMjkuMDY2NDEsMS40NzYxNCwzMi45MDU5OA0KCQkJCWMtMC4wMjAyLDEuNjk2MTctMS42ODU2NywyLjg4MjA4LTMuMjk0OTIsMi4zNDU2N2wtMTEuNzgxOC0zLjkyNzI1Yy0yLjkyNTc4LTAuNzgwNzksMTAuOTE1MDQsMTcuMzI5OSwxMC40NjM0NCwxNy40OTcxNg0KCQkJCWMzLjEyODY2LDMuNzA4MDQsMC45NzA0LDE0LjY4ODg3LDEuMjE5NTQsMTkuMDY5MjFjLTAuMTA2OTMsMi44MjM5NC0xLjQzMjU2LDUuNDYzMzItMy42MzQ0LDcuMjM1MjMNCgkJCQljLTQuODAwMDUsMi45NDI5Ni0xMy4yMTg5OSwxNC4yMjg3Ni0xOS42MDI0OCw4LjUxNDU2Yy0xMS44NzM3OC05LjIwNTExLTQyLjY3MDQxLTMyLjk5MDc1LTQyLjY3MDQxLTMyLjA0MzEyDQoJCQkJYzAsMS4xNzM5MiwyNC42MTM4Myw2My43ODI1OSwyMy42NTQ3Miw2NS4zNDc4MWMtMC42NDMxOSwxLjA0OTY4LTEwLjcwOTk2LDE3LjU4NTYtMTcuMjcxNzksMjguMzY1MDINCgkJCQlDNTQ4Ljg1MTIsNTM3LjM1NjM4LDU0Mi4yMjgwMyw1MzkuMjY2MjQsNTM2Ljc3Mzg2LDUzNi41NTEyMSIvPg0KCQkJDQoJCQkJPHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iDQoJCQkJTTUxOC40MjE0NSwzNDUuNDUzNjdjLTAuMjk3MTIsMTQuNzQzNDEsNTEuMTcyOTcsMTQuNzQwODgsNTAuODY5NDUtMC4wMDEyOA0KCQkJCUM1NjkuNTg4MDcsMzMwLjcxMDI3LDUxOC4xMTc5OCwzMzAuNzEyOCw1MTguNDIxNDUsMzQ1LjQ1MzY3eiIvPg0KCQkJDQoJCQkJPHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iDQoJCQkJTTQzOS44ODM2NCw2NTkuMTM1MDFjMC4xMTQ1OS0yLjQ3NjkzLTAuMDk4MzMtMTIxLjczODI4LDAuMDEzNC0xMjQuMTgwOTdjMC4wMTgzNC0yLjY3NjIxLDIuMTc2NDItNC44MzkwNSw0Ljg0Nzk5LTQuODYzNDYNCgkJCQlsMTQuODUxMzUtMC4xMzU3NGMyLjkwNDY2LTAuMDI2NTUsNS43MjA0OSwwLjk4NzMsNy45MzcyNiwyLjg2NDVjNi40Mjk0MSw1LjQ0NDUyLDEzLjkzNzM4LDEwLjgzMjA5LDI0LjQ5MzksMTYuNzUwNDkNCgkJCQljOS4yMTYsNS4xNjY4MSwxNy45NDQ1NSw4Ljg4OTg5LDI1LjYxNzI1LDExLjU5ODAyYzQuMDcyNTEsMS40Mzc0NCw2LjAxODg2LDYuMDcwOTgsNC4yMzQ4LDEwLjAwNDAzDQoJCQkJYy0xNS4yMDQwMSwyOS4zNjk2OS03LjQ3ODUyLDM2LjIzOTYyLTMxLjI0NjQ2LDE3LjYwODg5Yy0xLjA1NDQxLTAuNzc1MDItMi40ODc3MywwLjIzOTk5LTIuMTA2MjYsMS40OTEyNw0KCQkJCWMtMC4wNTk4NCwwLjMzMTU0LDguODUzNDIsMjguMDIwODEsOC40NjgzOCwyOC4zMTY0MWMtMC41ODE5Ny0wLjAyNzE2LTE2LjEyNjA3LDIxLjczNjE1LTE2Ljk2NjI4LDIwLjQ5MTU4DQoJCQkJYy0wLjAwMTQtMC4wMDAxMi0xMy40NzUzNC0yNS4zMDQ3NS0xMy40NzUzNC0yNS4zMDQ3NWMtMC42MDAyMi0xLjEyNzItMi4zMDg3NS0wLjcwMDY4LTIuMzA4NzUsMC41NzYzNQ0KCQkJCWMtMS4wOTQyMSw0LjkxMTAxLDMuMDYyODEsMzQuMDE3MjctMy40NjY0NiwzNi4zNjU0MmMtMC4wMDExNiwwLTE4Ljc4MjcxLDExLjYyOTg4LTE4Ljc4MjcxLDExLjYyOTg4DQoJCQkJQzQzOS44NDUzNCw2NjMuMzYwOSw0MzkuNjc0ODcsNjYwLjU4MjY0LDQzOS44ODM2NCw2NTkuMTM1MDF6Ii8+DQoJCTwvZz4NCgk8L2c+DQoJPGc+DQoJCTxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMwMi4wNzEyOSwzMzcuNTc2NjNjLTAuMTMwMjIsMC40MzcwMSwwLjE5MjYzLDAuOTIwMjksMS4yMjM2MywxLjM4MjINCgkJCWMxLjQ4MzQ2LDAuNjY0NjEsMy4xNzg5MiwwLjk1MTMyLDQuNzQ1MzYsMS4zNzE1OGMzLjE4MjI1LDAuODUzNzksNi4yOTE1NiwxLjY2MTE5LDkuMjc2NDksMy4wODg5Mw0KCQkJYzMuMjk4NTgsMS41Nzc3Niw2LjM1NzMzLDMuNTk1NjEsOS41MzUyMiw1LjM5MzFjNC4yNjk0NCwyLjQxNDkyLDguNTQ1MTcsNC4wMjcxMywxMy40NjAzNiw0LjM3ODY2DQoJCQljMy45NzI3OCwwLjI4NDE1LDguMDAxODksMC4xNzgxMywxMS44NTM2Ny0wLjkyMTQyYzEuODkwMjMtMC41Mzk1OCwzLjcxODQ0LTEuMjc0NjMsNS40MzYzMS0yLjIwOTk2DQoJCQljMS41NzkzMi0wLjg1OTg5LDQuNDUyODgtMi40ODY0OCw2LjI3NjU1LTEuNTc0OGMxLjQ5NTQ1LDAuNzQ3NTMtMC4yOTk1LTEuNzg0OTQtMC41MzA5MS0yLjEwODQNCgkJCWMtOC45NDA4Ni0xMi40OTU2MS0yNi40OTA1Ny0xNi40MTQ0My00MC45ODIzOS0xNC4xOTQ0NmMtNi4xNDM0LDAuOTQxMS0xMi4yMzY1NywyLjU2MzAyLTE4LjI0Nzg5LDQuMTIyMjUNCgkJCUMzMDMuMDY4NiwzMzYuNTc2NDIsMzAyLjIzMDY1LDMzNy4wNDE4NywzMDIuMDcxMjksMzM3LjU3NjYzeiIvPg0KCQk8cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00MTcuNTAxNTYsODU2LjQ0ODc5Yy0wLjM0NDI0LDAtMC42OTM4NS0wLjA3MjI3LTEuMDI3ODMtMC4yMjI2Ng0KCQkJYy00MC4wMDE5NS0xOC4wNzEyOS03MS4xNzYyNy00MC4yMzI0Mi05NS4zMDQ2OS02Ny43NDkwMmMtMjEuNjg5OTQtMjQuNzM2MzMtMzcuMjQ0NjMtNTMuMzg2NzItNDcuNTUzMjItODcuNTg4ODcNCgkJCWMtMTkuMTcyMzgtNjMuNjEzMjgtMTcuMTI4NDItMTM2LjQ3NDYxLTE0Ljk2NDM2LTIxMy42MTQ3OGMwLjExODE2LTQuMjIyNjYsMC4yMzY4Mi04LjQ1NjA1LDAuMzUyNTQtMTIuNjk4MjQNCgkJCWMwLjAzNzYtMS4zODAzNywxLjIyNzU0LTIuNDY5MjQsMi41NjY4OS0yLjQzMTE1YzEuMzgwMzcsMC4wMzc2LDIuNDY4NzUsMS4xODcwMSwyLjQzMTE1LDIuNTY2ODkNCgkJCWMtMC4xMTU3Miw0LjI0NDE0LTAuMjM0MzgsOC40Nzg1Mi0wLjM1MjU0LDEyLjcwMjY0Yy00LjM3NDUxLDE1NS45MzM2Mi04LjE1MjM2LDI5MC42MDM1NSwxNTQuODgyODEsMzY0LjI1NTg5DQoJCQljMS4yNTgzLDAuNTY4MzYsMS44MTczOCwyLjA0ODgzLDEuMjQ5MDIsMy4zMDc2MkM0MTkuMzYzODYsODU1LjkwMDk0LDQxOC40NTM3LDg1Ni40NDg3OSw0MTcuNTAxNTYsODU2LjQ0ODc5eiIvPg0KCQk8cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMzkuNTg3NDgsMzg1LjgzOTM5Yy0wLjQ3NDEyLDAtMC45NTQxLTAuMTM0NzctMS4zNzg5MS0wLjQxNjk5DQoJCQljLTE3LjA2NDk0LTExLjMxMzQ4LTI4Ljc2OTA0LTI5Ljc3Njg2LTMyLjk1NjA1LTUxLjk4OTc1Yy00LjQ3NzU0LTIzLjc1NjM1LDAuNTYyOTktNDguOTExNjIsMTMuNDg0MzgtNjcuMjkxMDJsMC4xODU1NS0wLjIzMzQNCgkJCWMxOC44NTQ0OS0yMC45NzY1NSw0NC4wMzM3MS00LjkxMzU3LDYyLjQxODk2LDYuODE0NDVjMS45Nzk0OSwxLjI2MjcsMy44OTYsMi40ODUzNSw1LjczNDM4LDMuNjE4MTYNCgkJCWMxLjE3NTI5LDAuNzI0NjEsMS41NDA1MywyLjI2NDY1LDAuODE2NDEsMy40NDA0M2MtMC43MjQxMiwxLjE3NDgtMi4yNjM2NywxLjU0MTk5LTMuNDQwNDMsMC44MTY0MQ0KCQkJYy0xLjg1ODg5LTEuMTQ2LTMuNzk3MzYtMi4zODIzMi01Ljc5OTMyLTMuNjU5NjdjLTE3Ljc3OTc5LTExLjM0MjI5LTM5Ljg5OTkyLTI1LjQ1MDE4LTU1LjkxMjEyLTcuNzk3MzYNCgkJCWMtMTIuMDk2NjgsMTcuMjg3MTEtMTYuNzk2ODgsNDAuOTYxOTEtMTIuNTc0MjIsNjMuMzY1NzJjMy45MzQ1NywyMC44NzUsMTQuODc1LDM4LjE4NzUsMzAuODA1MTgsNDguNzQ5MDINCgkJCWMxLjE1MDg4LDAuNzYyNywxLjQ2NTMzLDIuMzEzOTYsMC43MDIxNSwzLjQ2NDg0QzI0MS4xOTI0NiwzODUuNDQ1ODMsMjQwLjM5NzU0LDM4NS44MzkzOSwyMzkuNTg3NDgsMzg1LjgzOTM5eiIvPg0KCQk8cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yNzAuMjAxNzUsMzUzLjUzMjI2Yy0wLjc3Njg2LDAtMS41NDE5OS0wLjExMDg0LTIuMzAxNzYtMC4zNDQyNA0KCQkJYy0zLjcxOTczLTEuMTQyMDktNi4zNTg0LTUuMDQ4ODMtOC4zMDMyMi0xMi4yOTQ0M2wtMC4wNTUxOC0wLjI2MDc0Yy00LjI5OTMzLTI3LjQyMTg4LDIzLjEyNS00Ny41NTY2NCwzOS44NTU0Ny01Ny4xMTgxNg0KCQkJYzQ1LjkzODk2LTI2LjI1NDg4LDEwNS44MzU5NC0xOC4yOTI5NywxNDIuNDE4OTUsMTguOTM1MDZjMC45Njc3NywwLjk4NDg2LDAuOTU0MSwyLjU2Nzg3LTAuMDMwNzYsMy41MzU2NA0KCQkJYy0wLjk4NDM4LDAuOTY3MjktMi41NjY4OSwwLjk1NTA4LTMuNTM1NjQtMC4wMzA3NmMtMzUuMDE3MDktMzUuNjM0NzctOTIuMzY5NjMtNDMuMjQ1MTItMTM2LjM3MjA3LTE4LjA5OTEyDQoJCQljLTEyLjU0NzM2LDcuMTcxMzktNDEuMjc1ODgsMjYuNTYyOTktMzcuNDE2NSw1MS44NzE1OGMxLjc1MzQyLDYuNDY0ODQsMy42MzQyOCw4LjI5MDUzLDQuOTA2NzQsOC42ODExNQ0KCQkJYzMuMTI2OTUsMC45NjA5NCw5LjIxNjMxLTQuMjk3MzYsMTUuNjU4NjktOS44NjM3N2MxNS42OTgyNC0xMy41NjQ5NCwzOS40MjEzOS0zNC4wNjY0MSw3NC43MTI4OS0yMS4wNzI3NWwwLjE0ODkzLDAuMDYwNTUNCgkJCWM1LjIwODk4LDIuMzA3NjIsMTcuMzc1LDEwLjg0NDczLDI2LjEzMzMsMjYuNjM4NjdjMC42Njk0MywxLjIwNzUyLDAuMjMzNCwyLjcyOS0wLjk3NDEyLDMuMzk4OTMNCgkJCWMtMS4yMDk5NiwwLjY3MDQxLTIuNzI5LDAuMjMyOTEtMy4zOTg5My0wLjk3NDEyYy03LjQ5NDE0LTEzLjUxNDE2LTE4LjI1MzkxLTIyLjAwOTI4LTIzLjcxNDM2LTI0LjQ2MDQ1DQoJCQljLTMyLjQ3ODAzLTExLjkxNTUzLTUzLjk1NTU3LDYuNjQwNjItNjkuNjM4NjcsMjAuMTkyMzhDMjgwLjkyNDQxLDM0OC42OTczLDI3NS4zMjg3LDM1My41MzE3NywyNzAuMjAxNzUsMzUzLjUzMjI2eiIvPg0KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTM5NS45MDA0OCwzNDAuMzM4NDENCgkJCWMtMjkuNTY1MjIsMTUuMjU5ODYtNTUuMjA1ODEsMzcuOTAwMDktNzIuOTk0ODQsNjYuMDk5NDljLTAuMDkyODMsMC4xNDcxNi0wLjMwNTg4LDAuMDM5NDMtMC4yNDkzLTAuMTI1MTINCgkJCWM2LjM3MTctMTguNTI4NjMsNC4xMzAzNy0zMi4wNDk3MS0xMi4yNTE3MS0zNy4zNDk3Yy0yMS4yNzI4Ni00LjM5NTgxLTM1LjY0MzI4LDEyLjE0ODU5LTQwLjA1MjY3LDMxLjQzNzc0DQoJCQljLTguMzA5MTQsMzYuMzQ4NzUsOC4wOTUwMyw3My43MjA2NCwzMC4zNTY0MSwxMDEuODQ1NjdjOS41MjMyMiwxMi4wMzE2NSwyMS43Mjk1OCwyMy43ODg1NCwzNi43NDQwMiwyOC4zODQ0Mw0KCQkJYzEzLjkwNDY5LDQuMjU2MTYsMjguOTQ2MzUtMC4zMDM0Nyw0MC44Njc0OS03Ljg3Mzk2YzI3LjMwMjQ5LTE3LjMzODI5LDQ4Ljg3NTU1LTQ2Ljk4MjA2LDUwLjk5OTU3LTc5Ljk2MTQNCgkJCWMwLjUyNzIyLTguMTg1NzMsMC40MDQyNy0xNi42NzExNy0wLjg2MjYxLTI0Ljc4MTg2Yy0xLjU0ODgzLTkuOTE1NTktNS40ODY4Mi0yNi4yNzY5OC0xOC4wNDU3NS0yNS45NjExMg0KCQkJYy05LjY1MzcyLDAuMjQyNzctMTkuMTg0MzksOC41MTUzOC0yOC45NTUwOCw1LjM1MDI1Yy01LjMyOTYyLTEuNzI2NS02LjIxMDYzLTYuODA1MTgtMy43NzQyMy0xMS4yNjQ3Nw0KCQkJYzQuNDY4Ni04LjE3OTMyLDEyLjU3NzM5LTE0LjAxMjA1LDIxLjUwMTY4LTE2LjQ0MjQ3bDM4LjE5NTI1LTkuOTI4MTMiLz4NCgkJPHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNDQwLjE5Njg3LDY2NC4yMjYxNGMtMC4yNjQ2NSwwLTAuNTMzMi0wLjA0Mjk3LTAuNzk3ODUtMC4xMzE4NA0KCQkJYy0zNS4zNTkzOC0xMS44OTU1MS02My4yNTU4Ni0zNS4zMzAwOC03OC41NTcxMy02NS45OTEyMWMtNy4yNjQxNi0xMi45NTQxLTguODk1MDItMjQuMDc5MS00LjcxNTMzLTMyLjE3MzgzDQoJCQljNC4wMDYzNS03Ljc1ODc5LDEyLjkwMzgxLTEyLjQzMzU5LDI2LjQ0Nzc1LTEzLjg5NTUxYzMuNTYwMDYtMC44MTgzNiw1Ljk5MDIzLTMuOTY2OCw4LjU2MTA0LTcuMjk4ODMNCgkJCWMxLjMyMTI5LTEuNzExOTEsMi42ODc1LTMuNDgyNDIsNC4yNTc4MS00Ljk3OTQ5YzExLjQ3MDctMTAuOTY2OCwyOC40MDQzLTE0Ljc5MDA0LDQ1LjI5MTk5LTEwLjIyNzU0DQoJCQljMS4zMzI1MiwwLjM1OTM4LDIuMTIxMDksMS43MzI0MiwxLjc2MTIzLDMuMDY1NDNjLTAuMzYwODQsMS4zMzIwMy0xLjczMzQzLDIuMTI0MDItMy4wNjU5MiwxLjc2MDc0DQoJCQljLTE1LjE4NDU3LTQuMTAwNTktMzAuMzM2OTEtMC43MzE0NS00MC41MzQ2Nyw5LjAxNzU4Yy0xLjI5Njg4LDEuMjM3My0yLjQ4OTI2LDIuNzgyMjMtMy43NTE5NSw0LjQxODk1DQoJCQljLTIuODk0NTMsMy43NS02LjE3NDgsOC4wMDA5OC0xMS41OTI3Nyw5LjE1ODJsLTAuMjU4NzksMC4wNDE5OWMtMTEuODQ0NzMsMS4yNTY4NC0xOS40NzMxNCw1LjAzNjEzLTIyLjY3Mjg1LDExLjIzMjQyDQoJCQljLTMuMzc2OTUsNi41NDAwNC0xLjc2NDY1LDE2LjA0NDkyLDQuNjYyMTEsMjcuNDg1MzVsMC4wNTc2MiwwLjEwOTM4YzE0LjcwMDY4LDI5LjQ5NTEyLDQxLjU4NjQzLDUyLjA1OTU3LDc1LjcwNDU5LDYzLjUzODA5DQoJCQljMS4zMDg1OSwwLjQzOTQ1LDIuMDEyMjEsMS44NTc0MiwxLjU3MjI3LDMuMTY2MDJDNDQyLjIxNDQ1LDY2My41NjY5Niw0NDEuMjQwODEsNjY0LjIyNjE0LDQ0MC4xOTY4Nyw2NjQuMjI2MTR6Ii8+DQoJPC9nPg0KPC9nPg0KPC9zdmc+DQo=");
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; font-size: 16px; overflow-x: hidden; }

body {
  background: var(--cream);
  color: var(--navy);
  font-family: var(--sans);
  font-weight: 400;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  max-width: 100vw;
}

img { display: block; max-width: 100%; }
a { color: inherit; }

/* ============================================================
   LAYOUT
   ============================================================ */
.wrap {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 56px;
}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s cubic-bezier(0.16,1,0.3,1),
              transform 0.8s cubic-bezier(0.16,1,0.3,1);
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal[data-delay="1"] { transition-delay: 0.12s; }
.reveal[data-delay="2"] { transition-delay: 0.22s; }
.reveal[data-delay="3"] { transition-delay: 0.34s; }
.reveal[data-delay="4"] { transition-delay: 0.46s; }
.reveal[data-delay="5"] { transition-delay: 0.58s; }
.reveal[data-delay="6"] { transition-delay: 0.70s; }

/* ============================================================
   MASTHEAD
   ============================================================ */
.masthead {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 200;
  padding: 22px 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background 0.35s ease, padding 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
  border-bottom: 1px solid transparent;
  will-change: transform;
}
.masthead.is-scrolled {
  background: var(--cream);
  border-bottom-color: var(--rule);
  padding: 14px 56px;
}
.masthead.is-hidden {
  transform: translateY(-100%);
}

.masthead__logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  overflow: hidden;
}
.masthead__lion-mark {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  background-color: var(--navy);
  -webkit-mask: var(--lion-mask) no-repeat center / contain;
          mask: var(--lion-mask) no-repeat center / contain;
}
.masthead__name {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--navy);
}
.masthead__wordmark {
  display: block;
  height: 22px;
  width: auto;
  background: transparent;
}
@media (hover: hover) {
  .masthead__wordmark {
    max-width: 0;
    opacity: 0;
    transform: translateX(-10px);
    clip-path: inset(0 100% 0 0);
    transition: max-width 0.55s cubic-bezier(0.65, 0, 0.2, 1),
                opacity 0.35s ease 0.08s,
                clip-path 0.6s cubic-bezier(0.65, 0, 0.2, 1) 0.05s,
                transform 0.55s cubic-bezier(0.65, 0, 0.2, 1) 0.05s;
  }
  .masthead__logo:hover .masthead__wordmark,
  .masthead__logo:focus-visible .masthead__wordmark {
    max-width: 220px;
    opacity: 1;
    transform: translateX(0);
    clip-path: inset(0 0 0 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .masthead__lion-mark,
  .masthead__wordmark { transition: none !important; }
}
.masthead__meta {
  font-family: var(--sans);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--violet);
}

/* ============================================================
   SCROLLSPY - fixed right-edge rail, desktop only.
   Five dots (one per section). Active dot lights up violet
   and reveals its one-word label.
   ============================================================ */
.scrollspy {
  position: fixed;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 26px;
  padding: 14px 0;
}
.scrollspy::before {
  content: '';
  position: absolute;
  right: 4px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(44, 28, 98, 0.12);
  pointer-events: none;
}
.scrollspy__item {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  cursor: pointer;
  position: relative;
}
.scrollspy__label {
  font-family: var(--sans);
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--navy);
  opacity: 0;
  transform: translateX(6px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  white-space: nowrap;
}
.scrollspy__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(44, 28, 98, 0.28);
  transition: background 0.3s ease, transform 0.3s ease;
  flex-shrink: 0;
}
.scrollspy__item:hover .scrollspy__label {
  opacity: 0.7;
  transform: translateX(0);
}
.scrollspy__item.is-active .scrollspy__label {
  opacity: 1;
  transform: translateX(0);
}
.scrollspy__item.is-active .scrollspy__dot {
  background: var(--violet);
  transform: scale(1.35);
}
/* Dark sections: lighten dot baseline and label color. */
.scrollspy.is-on-dark::before { background: rgba(245, 242, 234, 0.18); }
.scrollspy.is-on-dark .scrollspy__dot { background: rgba(245, 242, 234, 0.35); }
.scrollspy.is-on-dark .scrollspy__label { color: var(--cream); }
.scrollspy.is-on-dark .scrollspy__item.is-active .scrollspy__dot { background: var(--violet); }

@media (max-width: 960px) {
  .scrollspy { display: none; }
}

/* ============================================================
   ACT 1 - HERO
   ============================================================ */
.hero {
  display: grid;
  grid-template-columns: 5fr 4fr;
  min-height: 100svh;
}

.hero__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 64px 80px 56px;
  padding-top: 64px;
  max-width: none;
}

.hero__issue {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 40px;
  display: block;
}

.hero__name {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(3.6rem, 6.5vw, 7rem);
  font-weight: 300;
  line-height: 0.93;
  letter-spacing: -0.025em;
  color: var(--navy);
  margin-bottom: 44px;
}
.hero__name em { font-weight: 300; }

.hero__credentials {
  margin-bottom: 44px;
  padding: 20px 0;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
.hero__credential {
  font-family: var(--sans);
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--warm-grey);
  line-height: 2.0;
}
.hero__credential .cred-title {
  color: var(--navy);
  font-weight: 600;
}
.hero__credential .cred-sep {
  color: var(--gold);
  margin: 0 0.4em;
}
.hero__credential .cred-org {
  color: var(--warm-grey);
  font-weight: 400;
}

.hero__tagline {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(1.05rem, 1.5vw, 1.3rem);
  font-weight: 400;
  line-height: 1.6;
  color: var(--navy);
  max-width: 500px;
}

/* Hero portrait: circular frame + faded Dealion lion watermark behind.
   Pattern is uniform across member profiles regardless of source-photo
   resolution - smaller display size keeps lower-res photos crisp. */
.hero__portrait {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cream-dark);
  padding: 48px;
  overflow: hidden;
}
.hero__portrait::before {
  content: '';
  position: absolute;
  top: 50%;
  right: -28%;
  transform: translateY(-50%);
  width: 110%;
  aspect-ratio: 1 / 1;
  background-color: var(--navy);
  opacity: 0.07;
  pointer-events: none;
  -webkit-mask: var(--lion-mask) no-repeat center / contain;
          mask: var(--lion-mask) no-repeat center / contain;
}
.hero__portrait-frame {
  position: relative;
  width: min(64%, 440px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  background: var(--cream);
  /* Subtle violet halo - thin solid edge ring + soft outer glow.
     Ties the portrait to the brand violet accent without shouting. */
  box-shadow:
    0 0 0 1px rgba(107, 92, 219, 0.45),
    0 0 0 9px rgba(107, 92, 219, 0.09),
    0 24px 60px -24px rgba(31, 20, 72, 0.35);
}
.hero__portrait-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  display: block;
}
.hero__portrait-placeholder {
  width: min(64%, 440px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: var(--cream);
  border: 1px solid rgba(186, 152, 35, 0.35);
  position: relative;
  z-index: 1;
}
.hero__portrait-placeholder svg { opacity: 0.2; }
.hero__portrait-placeholder span {
  font-family: var(--sans);
  font-size: 0.6rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--warm-grey);
}

/* ============================================================
   ACT 2 - DIAGNOSTIC
   ============================================================ */
.diagnostic__mobile-carousel,
.diagnostic__mobile-dots { display: none; }

.diagnostic {
  position: relative;
  overflow: hidden;
  background: radial-gradient(ellipse at top left, #3a2578 0%, #2c1c62 45%, #1f1448 100%);
  color: var(--cream);
  padding: 140px 0;
}
.diagnostic__watermark {
  position: absolute;
  top: 50%;
  right: -14%;
  transform: translateY(-50%);
  width: 78vw;
  max-width: 980px;
  aspect-ratio: 1 / 1;
  pointer-events: none;
  background-color: var(--cream);
  opacity: 0.055;
  -webkit-mask: var(--lion-mask) no-repeat center / contain;
          mask: var(--lion-mask) no-repeat center / contain;
}
.diagnostic > .wrap { position: relative; z-index: 1; }

.diagnostic__header {
  margin-bottom: 56px;
  display: flex;
  align-items: baseline;
  gap: 32px;
}
.diagnostic__label {
  font-family: var(--sans);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gold);
  white-space: nowrap;
}
.diagnostic__headline {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(1.6rem, 2.8vw, 2.4rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--cream);
  letter-spacing: -0.01em;
}

.diagnostic__primary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.stat-cell {
  padding: 52px 48px 48px;
  border-right: 1px solid var(--rule-dark);
}
.stat-cell:last-child { border-right: none; }

.stat-cell__number {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-weight: 300;
  line-height: 0.88;
  letter-spacing: -0.035em;
  color: var(--cream);
  display: block;
  margin-bottom: 18px;
}
.stat-cell__number--xl  { font-size: clamp(5rem, 9vw, 10rem); }
.stat-cell__number--lg  { font-size: clamp(4rem, 7vw, 8rem); }
.stat-cell__number--md  { font-size: clamp(3rem, 5vw, 5.5rem); }

.stat-cell__label {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(247,244,236,0.45);
}

.diagnostic__secondary {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--rule-dark);
}

.text-cell {
  padding: 52px 48px;
  border-right: 1px solid var(--rule-dark);
}
.text-cell:last-child { border-right: none; }

.text-cell__label {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 22px;
  display: block;
}
.text-cell__value {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(0.9rem, 1.1vw, 1.05rem);
  font-weight: 400;
  line-height: 1.85;
  color: var(--cream);
}

/* ============================================================
   ACT 3 - THE ANGLE
   ============================================================ */
.origin {
  padding: 160px 0 96px;
}

.origin__header {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 48px;
  align-items: start;
  margin-bottom: 96px;
}
.origin__act-label {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--violet);
  padding-top: 8px;
}
.origin__headline {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(2.4rem, 4vw, 3.75rem);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--navy);
}

/* Act 3 single-column variant: angle paragraph + closing pull quote */
.origin__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 72px;
  align-items: start;
  max-width: 740px;
  margin: 0 auto;
}

.origin__editorial {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.85;
  color: var(--warm-grey);
}
.origin__editorial p + p { margin-top: 1.6em; }
.origin__editorial strong {
  color: var(--navy);
  font-weight: 500;
}

.pull-quote {
  position: relative;
  text-align: center;
  padding-top: 80px;
}
/* Oversized ghost quote mark - single decorative element, low opacity,
   centered above the quote. Replaces literal paired quotation marks. */
.pull-quote::before {
  content: '\201C';
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(7rem, 13vw, 11rem);
  line-height: 1;
  color: var(--navy);
  opacity: 0.10;
  pointer-events: none;
}
.pull-quote blockquote {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(1.4rem, 2.1vw, 1.95rem);
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  color: var(--navy);
  letter-spacing: -0.005em;
  white-space: normal;
}

/* ============================================================
   ACT 4 - THE ROOM
   ============================================================ */
.access {
  padding: 96px 0 72px;
  position: relative;
}
/* Subtle violet hairline marking the seam between Act 3 and Act 4.
   Short, centered - gives the eye an anchor without a heavy rule. */
.access::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 56px;
  height: 1px;
  background: rgba(107, 92, 219, 0.4);
}

.access__header {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 48px;
  align-items: start;
  margin-bottom: 96px;
}
.access__act-label {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--violet);
  padding-top: 8px;
}
.access__headline {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(2.4rem, 4vw, 3.75rem);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--navy);
  margin-bottom: 28px;
}
.access__intro {
  font-family: var(--sans);
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--warm-grey);
  max-width: 540px;
}

.access__list {
  list-style: none;
  max-width: 860px;
  margin-left: auto;
}
.access__item {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 0 32px;
  padding: 24px 0;
  border-top: 1px solid var(--rule);
  align-items: baseline;
}
.access__item:last-child {
  border-bottom: 1px solid var(--rule);
}
.access__num {
  font-family: var(--sans);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--gold);
  padding-top: 2px;
  user-select: none;
}
.access__text {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  font-weight: 400;
  line-height: 1.6;
  color: var(--navy);
}

/* ============================================================
   ACT 5 - CONVERSION
   ============================================================ */
.conversion {
  position: relative;
  overflow: hidden;
  background: radial-gradient(ellipse at bottom right, #3a2578 0%, #2c1c62 45%, #1f1448 100%);
  padding: 160px 0;
}
.conversion__watermark {
  position: absolute;
  top: 50%;
  left: -16%;
  transform: translateY(-50%);
  width: 70vw;
  max-width: 880px;
  aspect-ratio: 1 / 1;
  pointer-events: none;
  background-color: var(--cream);
  opacity: 0.045;
  -webkit-mask: var(--lion-mask) no-repeat center / contain;
          mask: var(--lion-mask) no-repeat center / contain;
}
.conversion > .wrap { position: relative; z-index: 1; }

.highlight {
  background-image: linear-gradient(180deg, transparent 62%, rgba(186, 152, 35, 0.38) 62%);
  padding: 0 0.08em;
}

.conversion .wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: center;
}
.conversion__act-label {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--violet);
  margin-bottom: 44px;
  display: block;
}
.conversion__headline {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--cream);
  margin-bottom: 32px;
}
.conversion__body {
  font-family: var(--sans);
  font-size: 0.9rem;
  line-height: 1.85;
  color: rgba(247,244,236,0.55);
  max-width: 440px;
}

.conversion__refusal {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(1.4rem, 2.1vw, 1.85rem);
  font-weight: 400;
  line-height: 1.6;
  color: var(--cream);
  padding-bottom: 48px;
  margin-bottom: 48px;
  border-bottom: 1px solid rgba(247,244,236,0.12);
}
.conversion__refusal p + p { margin-top: 1.1em; }

/* ============================================================
   BRIDGE - between Act 4 and Act 5
   A soft on-ramp before the strategic refusal: "want to vet him
   first? Look him up on LinkedIn." Quiet, low-commitment, lets
   Act 5 do the heavier ask.
   ============================================================ */
.linkedin-bridge {
  padding: 24px 0 72px;
  background: var(--cream);
}
.linkedin-bridge .wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}
.linkedin-bridge__teaser {
  font-family: var(--serif);
  font-size-adjust: 0.49;
  font-size: clamp(1.3rem, 2.2vw, 1.85rem);
  font-weight: 400;
  line-height: 1.4;
  color: var(--navy);
  white-space: nowrap;
}
/* Editorial chip - top/bottom gold rules, no rounded shape.
   Matches the typographic language of the hero credentials block. */
.linkedin-bridge__link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: var(--sans);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--navy);
  text-decoration: none;
  padding: 18px 8px;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
  transition: color 0.2s ease, border-color 0.2s ease, gap 0.2s ease;
}
.linkedin-bridge__link:hover {
  color: var(--gold);
  border-color: var(--gold-bright);
  gap: 18px;
}
.linkedin-bridge__link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 6px;
}
.linkedin-bridge__link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.conversion__cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
}

.btn-apply {
  display: inline-block;
  font-family: var(--sans);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--navy);
  background: var(--gold);
  padding: 18px 44px;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
}
.btn-apply:hover { background: var(--gold-bright); }
.btn-apply:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

.conversion__footnote {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(247,244,236,0.28);
}

/* ============================================================
   PAGE FOOTER
   ============================================================ */
.page-footer {
  background: var(--navy);
  border-top: 1px solid rgba(247,244,236,0.08);
  padding: 36px 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.page-footer__copy {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  color: rgba(247,244,236,0.25);
}
.page-footer__nav {
  display: flex;
  gap: 32px;
}
.page-footer__nav a {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(247,244,236,0.35);
  transition: color 0.2s;
}
.page-footer__nav a:hover {
  color: rgba(247,244,236,0.7);
}

/* ============================================================
   RESPONSIVE - TABLET
   ============================================================ */
@media (max-width: 960px) {
  .wrap { padding: 0 36px; }
  .masthead { padding: 18px 36px; }
  .masthead.is-scrolled { padding: 12px 36px; }

  .hero { grid-template-columns: 1fr; }
  .hero__portrait { order: -1; padding: 132px 24px 104px; min-height: 0; }
  .hero__portrait-frame { width: min(72vw, 360px); }
  .hero__portrait-placeholder { width: min(72vw, 360px); }
  .hero__text { padding: 32px 0 80px; }

  .diagnostic__primary { grid-template-columns: repeat(2, 1fr); }
  .diagnostic__secondary { grid-template-columns: 1fr; }
  .text-cell { border-right: none; border-top: 1px solid var(--rule-dark); }
  .text-cell:first-child { border-top: 1px solid var(--rule-dark); }

  .origin__header { grid-template-columns: 1fr; gap: 20px; margin-bottom: 64px; }
  .origin__body { gap: 56px; }

  /* Below 960px, allow these one-line desktop elements to wrap so they
     don't overflow narrower viewports. Desktop layout is unchanged. */
  .pull-quote blockquote,
  .linkedin-bridge__teaser {
    white-space: normal;
  }
  .pull-quote blockquote { font-size: clamp(1.3rem, 4.5vw, 1.7rem); }
  .linkedin-bridge__teaser { max-width: 480px; }

  /* Controlled break after "Ask him about:" - only on smaller viewports. */
  .brk-mobile { display: initial; }

  .access__header { grid-template-columns: 1fr; gap: 20px; margin-bottom: 64px; }
  .access__list { margin-left: 0; }

  .conversion .wrap { grid-template-columns: 1fr; gap: 48px; }

  .page-footer { padding: 36px; }
}

/* ============================================================
   MOBILE CAROUSEL - Act 2 stats
   ============================================================ */
@media (max-width: 768px) {
  .diagnostic__track { display: none !important; }
  .diagnostic__dots { display: none; }

  .hero__portrait { padding: 120px 24px 88px; min-height: 0; }
  .hero__portrait-frame { width: min(64vw, 300px); }
  .hero__portrait-placeholder { width: min(64vw, 300px); }
  .hero__text { padding: 24px 24px 48px !important; }

  .diagnostic__header {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 24px;
    padding-bottom: 72px;
    margin-bottom: 40px;
    border-bottom-width: 0;
    position: relative;
  }
  .diagnostic__label { white-space: normal; }
  .diagnostic__headline { text-align: center; }
  .diagnostic__header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 1px;
    background: var(--rule-dark);
  }

  .diagnostic__mobile-carousel {
    display: flex;
    align-items: flex-start;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 6vw;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin: 0 -20px;
    padding: 0 6vw;
    gap: 0;
  }
  .diagnostic__mobile-carousel::-webkit-scrollbar { display: none; }

  .diag-slide {
    flex: 0 0 88vw !important;
    height: auto !important;
    scroll-snap-align: center;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 32px 32px 40px !important;
    box-sizing: border-box;
    text-align: center;
    border: none;
  }

  .diag-slide__num {
    font-family: 'Cormorant Infant', Georgia, serif;
    font-size: clamp(96px, 30vw, 140px);
    font-weight: 400;
    line-height: 0.9;
    color: #F5F2EA;
    letter-spacing: -0.03em;
    display: block;
    margin-bottom: 16px;
  }

  .diag-slide__label {
    font-family: 'Raleway', sans-serif;
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(245, 242, 234, 0.45);
    display: block;
    text-align: center;
  }

  .diag-slide--text {
    justify-content: flex-start !important;
    gap: 16px;
  }
  .diag-slide__label--kicker {
    color: #C9A227;
    margin-bottom: 16px;
    font-size: 0.58rem;
    letter-spacing: 0.24em;
  }
  .diag-slide__markets {
    font-family: 'Cormorant Infant', Georgia, serif;
    font-size: clamp(1rem, 3.5vw, 1.2rem);
    font-weight: 400;
    line-height: 1.8;
    color: #F5F2EA;
    text-align: center;
  }

  .diagnostic__mobile-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    padding: 12px 0 0;
    margin: 0;
  }
  .diagnostic__mobile-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #C9A227;
    opacity: 0.3;
    border: none;
    padding: 0;
    cursor: pointer;
    flex-shrink: 0;
    transition: opacity 0.2s;
  }
  .diagnostic__mobile-dot.is-active {
    opacity: 1;
  }
}

/* ============================================================
   RESPONSIVE - MOBILE
   ============================================================ */
@media (max-width: 600px) {
  .wrap { padding: 0 24px; }
  .masthead { padding: 16px 24px; }
  .masthead.is-scrolled { padding: 12px 24px; }

  .hero__portrait { padding: 108px 20px 72px; min-height: 0; }
  .hero__portrait-frame { width: min(70vw, 280px); }
  .hero__portrait-placeholder { width: min(70vw, 280px); }
  .hero__text { padding: 24px 24px 48px !important; }
  .hero__name { letter-spacing: -0.015em; }

  .diagnostic { padding: 64px 0 48px; }

  .wrap { padding: 0 20px; }

  .origin { padding: 72px 0; }
  .origin__header { margin-bottom: 40px; }
  .origin__body { gap: 36px; }
  .origin__headline { font-size: clamp(2rem, 8vw, 2.6rem); }

  .access { padding: 72px 0; }
  .access__list { margin-left: 0; }
  .access__headline { font-size: clamp(2rem, 8vw, 2.6rem); }
  .access__header { margin-bottom: 40px; }

  .access__item {
    grid-template-columns: 38px 1fr;
    gap: 0 14px;
    padding: 20px 0;
  }

  .conversion { padding: 72px 0; overflow-x: hidden; }
  .conversion .wrap {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 0 20px;
  }
  .conversion__headline {
    font-size: clamp(1.8rem, 7vw, 2.4rem);
    word-break: break-word;
    overflow-wrap: break-word;
  }
  .conversion__body {
    max-width: 100%;
    word-break: break-word;
    overflow-wrap: break-word;
    font-size: 0.875rem;
  }
  .conversion__refusal {
    font-size: clamp(1.1rem, 4.5vw, 1.4rem);
    word-break: break-word;
    overflow-wrap: break-word;
  }
  .conversion__footnote {
    font-size: 0.55rem;
  }

  .page-footer {
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 32px 24px;
  }
}

/* ============================================================
   PAPER GRAIN TEXTURE
   ============================================================ */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.032;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}
